There was someone on Kuro5hin some years ago who called k an Excel replacement. The more I use kona (which isn't very much), the more I believe he was right.
It seems like a really nice little language. Much more agile than a "desktop spreadsheet program".
If they, i.e. the rest of the company outside of the IT department, don't know how much better things could be with something smaller and faster, then it really does not matter.
Oracle has had companies locked in for decades. And they have developers locked in. They are like Microsoft.
Maybe Github and more open source visibility is the beginning of a change.
It is exposing what Java really is: to some observers it is a bloated mess.
When we have internal corporate use cases of Java being made public like this, more comparisons of doing these tasks in other languages can be performed by people outside the company, and I have no doubt we will see some benchmarks done. And we may see that Java is slower than other alternatives.
Peer review, via putting things in an open repository, might be a powerful force for improvement in software.
But if I were Oracle, Microsoft or another company that tries to lock in business customers, which only promotes its own software and does little to advance the state of the art (or even actively inhibits it, e.g. killing OpenSolaris) I would not be too happy with this trend.
Whether you work as a fry cook or not. Education is worth it. It has value, to you and to society, apart from its utility as a factor in filtering people for job positions.
No one wants to see the US become even more uneducated.
If you want to get cynical about the job market, try thinking of it this way. No doubt most have heard the old adage, "You need to sell yourself." Another way to think of this is that "jobs" are really a question of convincing someone else to pay you. That could be an elaborate process involving educational degrees and past accomplishments, or, in today's world, it might be something like the startups discussed here on HN: You announce a bit of software and a website, and the thundering herd starts clicking. Some of the herd is willing to pay. If that percentage is large enough, you have a runaway success, something like Dropbox.
Those who are paying you are not asking to see your resume. The only people who cared that you graduated from MIT were the VC and their clients who funded you. That is, if you were funded. Don't kid yourself. The most important people you convinced to pay you werenot the investors. They were the customers.
Now, maybe you become wealthy overnight. But that does not reduce the long term value of your degree from MIT. The degree is not necessarily the cause of your success. Wealth can be made with or without education. (That has always been true, otherwise small business, which is the majority of business in the US, would cease to exist.) Technology allows this to happen now in a way never before seen in history.
But...
Education has value to you and to society because education will make your life more interesting and an educated society is better than an uneducated one.
These are tough times. But things go in cycles. If you skip education, and then years from now things get better, you may regret it. Get an education as early as possible (i.e. if you have the money, do it). It will benefit everyone in the long term.
Here's a stupid analogy that always comes to mind.
Imagine a LEGO set or a similar toy that was comprised of small simple pieces, building blocks, that the child was to assemble. Most of us probably have experience with these type of toys. The ones where some imagination is required.
If I recall correctly they sometimes included special pieces in addition to the basic pieces/building blocks. These special pieces had certain complexity "built-in" (e.g. curved shapes or even moving parts), the purpose being that you could create something that would otherwise be nearly impossible to create using only the basic pieces, and you could do this just by attaching the special piece. Tack on the special piece and voila, you had added some special design or functionality to your LEGO construction project that was otherwise limited by what you could possibly build using only the basic LEGO pieces.
If none of that triggered any images from your childhood then you might as well stop reading. My memory might be failing.
The stupid analogy to the LEGO set that I see in software development is that the more we have moved toward easy to use "special pieces" with built-in complexity, the more we have moved away from the basic pieces, and hence the more we have inhibited creativity. What do I mean when I say inhibted creativity?
With special pieces, the child can build more functional and complex things with less effort, and faster. No doubt. But his creativity is also effectively reduced. This is because there are only so many combinations he can create with the special pieces.
The special pieces make the child more "productive" but at the same time reduce the number of possible project ideas and design choices. The child's creativity comes from using the basic pieces. The only limits as to what he might try to build from the basic pieces are the child's imagination. Who knows, maybe he'll build a dot matrix printer (Is there a picture of that somewhere?)
In today's computing environment, when you want work on low-level stuff, when you want to use "basic pieces", unless that is your trade, unless you work with low level stuff for a living, you are almost always going against the grain. Everything, an entire world of programming, is steering you the other way. "Do not go there. You do not need to know how this works. Learn [some scripting language]." There are certainly exceptions, but just look at how difficult it is to even get something like Raspberry Pi off the ground. It should be easy!
(Not to mention the Raspberyy Pi people want to steer kids into using a scripting language on the Pi, right from the get-go. Skip that useless low level stuff. What long-term effect does that have on learning about systems programming?)
And so returning to the LEGO analogy, the LEGO set that todays children are given seems to be all special LEGO pieces with built-in functionality. (Libraries?) Convenient, but no imagination required. If we never give children LEGO sets with the basic pieces, how can we expect creativity to flourish? An intelligent child will quickly become bored with just "special pieces" and the severely limited number of possible things it allows him to build. Should anyone be surprised when he starts prying the special pieces open to see what's inside? (Jailbreak!)
End of stupid analogy.
"Limitation breeds creativity."
An observation from the real world: the more state of the art, powerful tools you give research scientists (which they demand to keep pace with their peers), the less innovation they may actually produce.
Oops. I think I meant remembering reading the NYTimes piece in 2003. 9 years later and I'm still waiting for my thinking cap. Maybe Snyder needs VC funding?
I think you might be right that he was an early player of a patent filing game that has grown to become rather controversial in some spheres, namely software. The only way to know, besides being alive at that time, is to do the historical research.
Can you recommend any primary sources to learn more about this history (besides the patents themelves)? It sounds like you have read some?
On the bright side, not everyone took the Edison approach. Are you familiar with the history of Hans Bessemer and his approach to patents?
It's because some people really do like complexity.
They like writing 200 pages of documentation. And some like reading it. They want complexity. Keep adding stuff.
I remember reading one of the Windows programmers' hero's writing about some massive document of several hundred pages he wrote while on the Excel team at Microsoft and being overjoyed when he learned Bill Gates had actually looked at it.
I remember reading a post by some programmer on Sitepoint boasting about his program that was so complex it would make your eyes burn, or something like that. He was bragging about this.
I recall all the people in mailing lists and forums who get annoyed when anyone talks about conserving memory or disk space. The reason? Because these resources are so plentiful we can afford to waste them. That is a truly great reason. Brilliant.
I once had a colleague who said software is like a gas. It expands to fill space.
There are a great majority of prorammers who are not only OK with this state of affairs but they seek to preserve it. They get defensive when confronted with spending effort to simplify something.
There's a lot of discussion of simplicity that is just lip service. The truth is, simplicity is not easy. It is not a matter of adding more stuff. And we know programmers are lazy. Simplicity, real simplicity - removing stuff, would make many programmers uncomfortable. It would remove them from their comfort zone.
Simplicity is not burying things under five layers of abstraction so that it fits someone's preferred way to model a solution.
Simplicity is taking away things that are not essential until nothing further can be taken out.
It is cutting things down to size.
Achieveing simplicity means reducing someone's 200 pages documentation or their dizzyingly complex program whose source "will make your eyes burn". It may include using compact symbols instead of someridiculouslylongfunctionname. It means some stuff that someone spent time producing must get cut out.
The creators of complexity are not going to be happy with this. Because they like complexity. They like verbosity. It's comforting. They detest what appears to be cryptic.
That is the price of simplicity. To achieve it in today's programming environment involves offending some people. As such, we avoid it. We discuss it, but we really just dance around it much of the time. Let the complexity continue. We can pretend more abstraction equals more simplicity. Be happy, be productive and have fun.
Meanwhile the connoiseurs of simplicity are marginalised, often leaving them to write occasional blog posts like this one and to work on their simple projects in relative isolation. Embedded programmers know the feeling. Those who appreciate simplicity, and really do trim things down to size, are not the majority.
Keep posting those articles on Forth, hoping someday people might catch on.
I just ran across No Execute on your blog. I can't believe I never found that before (I've chased up all the Plan 9 stuff before).
I've also been an Atlast user for a few years. Can't believe I never heard about your fork of it. John Walker's writeup on Atlast should be required reading for all programmers.
I'm going to try 9atom. I have a newer Eee with no CD drive. With BSD I can convert iso to img, add boot code and be up and running quick. But I guess it won't be so simple with 9atom? If this works, I'll be very happy.
Your blog says you have an EeePC and run Plan 9. So does Plan 9 run on the Eee? If yes, which Eee model do you have?
As for the article, it's been a while since I looked at Inferno. Thanks for redirecting attention to it again. It seems like it would make a great mobile OS.
I am going to try running Inferno on an EeePC. Will it only run on Linux? How about BSD?
The part about the colleagues only putting in a few productive hours each day is spot on. They are riding on the company's coattails. It is a sort of corporate-sponsored welfare that no one notices until the company stops performing. Then the dead weight is cut loose. Look at Yahoo.
Maybe some people don't find sitting in meetings all day to be all that satisifying. But they are stuck in it due to family expenses. Maybe they would prefer something more stimulating, if they could have the chance.
The default state of the startup should be: _fun_.
More fun than you would have by being required to show up and remain for eight or more hours each day at a corporate campus where you can clearly see people are not getting much done, but are relying on their position as a source of corporate-sponsored welfare.
To work on a startup should be a privilege for anyone who has worked in a corporate setting for any length of time.
Riding on the success of a large corporation is easy. In many cases all you need to do is show up. But that doesn't always mean you were "a success" or a part of the reason for the company's success. You may have come along after they had already succeeded, looking for an easy payout. Some people make a career out of this. They never join early stage companies. Again, there are family expenses and these motivate people's decisions.
Working on a startup is a way to be able to take full credit for whatever happens. It might be credit for failure. It might be for success. But at least you know you were responsible, and not riding on someone else's coattails.
I'd love to see some of the search engines who are catering to more sophisticated searchers just tell us the BOSS, or whatever cache they are licensing, API functions and then indicate which ones they are supporting.
For all we know several of these search engines are all accessing the same cache and they are simply choosing to focus on different options that the cache license offers and making different arbitrary CGI decisions like slash bang whatever.
It makes sense to hide details behind "magic" if the users are unsophisticated. But it seems like there's really little reason to do this for sophisticated searchers.
Maybe there is and I am just not seeing the competitive advantage or value addition.
At the same time, I feel like we may have different search engines all using the same licensed cache source and trying to differentiate themselves on multiple implementations of idiosyncratic ways to access the same cache API, instead of focusing on more basic factors, like speed and privacy.
Maybe searchers just want to access that licensed cache which is too expensive for them to subscribe to. Maybe it's not so important all the fancy things one can do with CGI. Maybe the fancy things are important. Maybe they just crave "features". I don't know.
But my guess is the BOSS cache is probably not that hard to work with and that most searchers could get their searches done easily enough, in simple fashion, if they had their own BOSS subscriptions, without the need for lots of customisations (which equate to the exotic features of these search engines).
It seems like a really nice little language. Much more agile than a "desktop spreadsheet program".