Thanks for the perspective. All of us greatly needed your two cents as guidance.
Travels the world taking photos... whoop-de-doo. That's been going on for decades, and only because technology has only recently made it possible.
Post again when she does something original, like traveling the galaxy taking photos. Only then will whatever follows your first two sentences be read.
Good thing you guys aren't a Canadian company, lest you be fined into non-existence. Seriously, folks, call your employees what they are. Programmers, DBAs, Sysadmins.
I personally appreciate the work that Heroku has done with PostgreSQL, but I'm ate up when I see technology companies (whom are employers of the previously listed titles) refer to their employees as 'engineers'.
This is really backwards thinking. The regulation of 'Engineer' has not grown to support the concept of the modern world. The laws in Canada were enacted as a result non-qualified people designing bridges and buildings that fell over. At the time almost all 'Engineering' actively had a life safety component, the same is far from true today.
Those fields that still life safety components are of course regulated, primarily through PE licensing but there certain is no reason not to properly use the term 'Engineer' when its due.
For what its worth my degree is in electrical engineering and have never even considered getting a PE license, its not applicable in the fields I work in.
My job title is Software Engineer where I work (well that's what it says on my desk), and honestly I find it to be a little silly. Maybe because of what I grew up associating "engineer" with; my father is an engineer / manager for a power plant, which feels like 180 degrees away from what I do. But in the end it's just words, I couldn't care less what you call me as long as I'm being paid to code!
I have a degree in Computer Engineering, but I've never got a PE license either. The important thing is that I don't ever call myself an Engineer. I am a programmer, or developer, or whatever; calling myself an Engineer would be dishonest.
I don't think it's backwards thinking so much as an important distinction between how Canada uses the word "Engineer" and how much of the rest of the (English speaking) world does.
I don't see how calling yourself an 'Engineer' is dishonest, adding 'Professional Engineer' or 'PE' to your title would be dishonest as those terms have regulatory meaning.
'Engineering is the discipline, art, skill and profession of acquiring and applying scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives of people.'
Regardless of the formal designation of 'PE' or other designation many people do fit the term 'Engineer'.
The real issue is that some limited jurisdictions have decided that 'Engineer' must equal 'PE'. That doesn't make the use of the term 'Engineer' improper outside those jurisdictions nor does it make the choice to equate the two concepts universally correct.
Though I understand and largely agree with your argument, the reason why I don't call myself an Engineer is that I know that people may not understand the distinction.
I legally cannot call myself a "Professional Engineer". In order to prevent unintentionally misleading people, I stay as far from the word "Engineer" as possible.
I suppose it's not really dishonest. I depends more on the individual's intentions.
Yes, many companies are guilty of it. It comes down to ego inflation. "Engineer" lends an air of prestige and esteem, but it's a title that's undeserved by most who use it in modern times.
Of course, this gets severely down-voted because many people on HN and similar sites think of themselves in this fashion, and their ego takes a hit when they run across a comment such as mine.
I don't think it has anything to do with ego inflation.
To me "engineer" evoques a specific methodology and state of mind that is shared by all engineers, whether they build bridges, sewer systems or software. It emphasizes that your job is to create solutions to real-world problems - and that writing software is just one part of that job.
I think it's more of a cultural difference. "Engineer" just doesn't mean the same thing south of the border; it means more like "developer", or perhaps "technical employee".
"And we, the users, play along, pretending our machine is a video terminal presenting a grid of ASCII characters in all of 256 colours. This is ridiculous."
Not everybody uses their terminal to churn out HTML pages and add 'Nyan mode' to our 'newly discovered' emacs program. For those who do that, just buy a Macintosh or whatever is this week's hip flavor of Best Buy PC. Otherwise, use a language that doesn't require >256 different colors to be represented meaningfully.
"Typography is the future"? Thank goodness X.org/XFree86 has supported custom fonts since the 1990's.
"Opening a man page would scroll gently to the top of the page, letting you scroll down and read, or search through it as you would any text"
See: MANPAGER.
"We then add syntax highlighting and hyperlinks, so you can easily navigate between man pages"
Many terminals and shells support these features already.
"Finally we add visualisations so you can view plots of lines of code, etc., without having to context-switch."
Huh? I read that as 'code folding' and clang compilation.
I think the main takeaway here is that most of his "ideas" can be easily achieved within the current ecosystem of available programs, most of which are stock on modern UNIX-like OS distributions. I do think he misfiled this article under "Ideas"; it's more akin to a polite rant.
edit: colours/color killed due to conflict with reality (and irrelevance anyway).
No downvote, but I believe its worth thinking about ways to advance power-user use beyond the emulation of teletype machines (first deployed in 1910). It may be that they are the optimal power-user text interface, but it may also be that they simply occupy a local optima and we need to keep searching.
You don't seem able to see the forest for the trees... Taking quotes out of context and dismissing them is not sufficient to dismiss the entire article.
All quotes save for one-liners are out of context. The points you make stand on their own.
I don't dismiss the entire article; I appreciate thought and innovation in the space of the terminal, but I disagree with your ideas. Thanks for putting them out there to begin with.
I see the context-switch as one between text and graphics.
If I'm working on the command line, then most times I have no need to have X11 running. I'm working exclusively with text.
I can boot to a command line and start working. No X11 is needed.
But when a need arises for graphics, e.g., to read a PDF composed of scanned images (not pure Postscript), then I have to "context-switch" to the X11 context.
I find that switching back and forth between these two contexts is not smooth and can easily lead to instability.
There is often a presumption, as in Plan9, that we will just switch once: to the graphical environment. And not return to the original console.
To me, neither an X11 terminal emulator nor the Plan9 environment is "the console". It's another layer of abstraction on top of the console.
That is a lot of overhead I do not need if I'm just working with text.
Sort of. But you have to keep X11 running on another vt. Stopping and restarting X many times in a session is a different story. At least for me.
And even in the case I keep X11 running on another vt, I've found that when using no wm, or a simple one like evilwm, switching back and forth from console (on one vt) to X11 (on another vt) many times does not work well. Eventually it fails.
This is on {Net,Free,Open}BSD.
I don't think that Plan9 has vt's as such. It's more like what the article envisions, with graphics capabilities seemingly woven into the terminal. But you're pretty much stuck in an X11 type environment. Plan9 experts correct me if I'm wrong.
I've always found this "context switch" from console to graphics is like a one-way street. You're not really expected to keep shutting down the graphics and going back to the console. At least I've never found anyone who does that.
I'm a NetBSD user that uses a tiling window manager (i3 - not ion3, it's different). ALT+1 and ALT+2 are where I keep my urxvts, ALT+3 my web browser, etc. The switch happens instantaneously.
Am I mistaken in my understanding of your issue, or is this helpful?
Every single time I see news about window managers, I'm surprised that i3 (i3wm.org) isn't mentioned. i3 is the supreme tiling window manager. It's mature, fast, feature-ful and it's BSD-licensed. This looks like an advert, but I'm just a pleased user that's been on the i3 train since 2009.
You subverted your argument by including the term 'low-level'. Of course, that's all written freshly in C to this day.
Assuming that you meant only 'non-trivial': aside from the embedded space, C and GCC still represent the first-tapped resource in many companies. C is terse, well-known, fast and predictable.
I'd go marginally further and claim that, done correctly, gmake and a proper directory hierarchy remain the most effective way of organizing and maintaining a large software project.
My suspicion is that this is not a C programmer at all. Claiming that you've "written loads of it" certainly lends the author a cloak of credibility, but I don't buy it.
"This one, you really can't tell."
A competent C programmer can absolutely discern what is happening... more importantly, though, is that the two examples don't do the same thing.
Upon hitting his website, you were one single click away (the "software" link, next to "about") from learning that he's the co-maintainer of Guile, a C implementation of Scheme.
I think that the GNU+Linux attribution is accurate and deserved. The author of this page thought it fair to use SLOC as his unit of measurement; I think that "fundamentality" is a far fairer unit.
Anyone that thinks that "GNU" should be dropped from the "GNU/LINUX" should be using alternate cp, rm, ln, etc. Or just use NetBSD (do this anyway).
The biggest GNU contributions are gcc, gdb and emacs.
Command line stuff is trivial. GNU made them for free first, but if they hadn't, someone else would have. The same cannot be said for gcc, gdb and emacs.
> GNU made them for free first, but if they hadn't, someone else would have.
Chnage that to "GNU re-packaged or re-wrote versions of utilities that had existed for quite a while in the BSD world, but if they hadn't, someone would have just used the BSD version" and you would be closer to reality. GCC is really the only lingering semi-dependency and as clang improves to the point where it takes fewer patches to build around GCC-specific bits of the kernel the remaining contributions will become nice to have but not essential.
Where are the moving parts?