Ahh, good question! 3 college credits for ~250 hours. That's the incentive. One did it just for the experience, and regretted it.
HN user
tnovelli
Volunteering is something you do for a charity.
Second that. We had unpaid interns at my last job, and their work consisted of telemarketing, harvesting email addresses, web form spamming, data entry. It wouldn't be cost effective if their earned even $5/hr. What did they get out of it... cynicism?
What happened to paying your way through college with paying jobs? Kids need to put their bottom line first, just like employers do.
"Web development sucks."
Yes. It's so practical compared to old-school GUI development, and so it pulls you in and mushrooms into a scaling/integration/maintenance fiasco unless you can say "no no no!" to every non-essential feature. Things like Django, JQuery, HTML5 are app-level improvements but we're still asking too much of our feeble software infrastructure.
Step back, ask what we're trying to do with the web (decentralized computing?), and come up with a system that solves the basic UI/OS/protocol/language needs "once and for all". Implement it as a kludge on top of the web; use and refine; discard the web; discard the old OSes. It's a pretty tall order :-)
"Sorry, I don't know much about that. I'm just a programmer!"
Interesting... I hadn't heard of Siek's work before. A link: http://ecee.colorado.edu/~siek/gradualtyping.html
I'd want all of them on my team, but #4 makes the big bucks. (Looks like I'll never get rich :-)
I've seen some nice articles in LWN, but I'm not interested in Linux news per se. I'd suggest they drop the subscription model and narrow the focus, or move on to other things.
It's not just LWN that needs to change; the big question is how do writers get paid when 'information' is free?
> So, suddenly it all came together for me.
He seems new to this stuff. Nothing really advanced here, but he brings up a big unresolved issue in language design in a way that probably makes sense to a Java-educated college student.
BTW, Hindley said the concept predates computers; there's been a lot of refinement before and after 1969. (http://www.cis.upenn.edu/~bcpierce/types/archives/1988/msg00...)
Too much information, that's the problem.
Just wait until people are actively spamming the surveillance system :-)
...using the Java Virtual Machine
I've done things like this in Scheme - not robustly, but it's worth pursuing IMHO. I can't stand math formulas in SEXP notation. Array/slice/hash lookup notation would be nice too.
Lisp gets it right by excluding sugar from the language kernel, but a "batteries-included Lisp" should include it in a standard library.
Umm... what's this scheme_make_pair(car,cdr) function in plt/src/mzscheme/src/list.c? That's a wart (the crisis is in my mind :-)
It doesn't have to be that way: Clojure has abstract sequence types, with cons/car/cdr wrappers in case you want them.
Heh... I know a guy who thinks he's too dumb to program in anything except Lisp (ALGOL syntax is hard! It's like math! :-)
He rambles a lot, but he's right about the need for a new Lisp, and refers to the ILC'05 presentations by Dussud, Baker, and McCarthy on "Re-inventing Lisp". Those are some pretty radical proposals. (Summaries: http://www.findinglisp.com/blog/2005/06/ilc-2005-wednesday-r...).
I think the trouble with Lisp (and Scheme) is that there's so much cruft and inconsistency beneath the veneer of simplicity (see http://tnovelli.blogspot.com/2009/08/lisp-crisis.html). Lisp is a great language to study; I just wish it was more practical and popular. It sucks having to choose between awkward (Lisp) and inflexible (everything else). :-(
Right on - H1B is akin to indentured servitude. It's hard for the rest of us to compete with a captive work force.
Everyone is passing the buck... what's the connection between your investment and a productive enterprise somewhere? A long chain of financial games. Decisions are based on statistics and third-hand information, not on the merits of the end investment. Result: a crapload of bad investments and an unstable economy.
[Edit:] "Capitalism" gets blamed for this mess caused by the dilution of responsibility, which sounds pretty socialistic to me. You might call it "emergent socialism".
Thanks for depressing me ;-) -- by and large we're in the same sorry situation 9 years later, aren't we?
Oh yeah, software state machines are silly, considering that microprocessors are very efficient state machines. It's funny how algorithms that make perfect sense in Assembler can become so slow and convoluted in an HLL. Coroutines, continuations, and GOTOs are some remedies for this high/low-level disconnect.
I wonder, are software FSMs ever really necessary?
I tend to agree with Alaric here, but reading this inspired me to take a look at design patterns, ironically.
I've never studied design patterns per se in my two decades of programming (mostly lone hacking) and I think it's about time I took a brief tour of 25+ patterns I'm likely to stumble upon or reinvent anyway, and learn names for them. Then I'll question everything and use my own judgement, as usual. (Is there a good non-dogmatic book on the subject, or does http://en.wikipedia.org/wiki/Design_pattern_(computer_scienc... do it justice?)
Interesting how so much money/power/responsibility is diluted and reconcentrated over and over in mutual funds, pensions, insurance companies, governments, etc. -- much like those subprime mortgage tranches. And we call this capitalism?!