skysight-inc/HackerNews huggingface dataset:
OK, I guess that was kind of long and rambling. It boils down to:

1. It's a pain, both in terms of what it provides and what it doesn't provide, compared to every alternative I've used

2. Despite being an ISO standard, it's a different pain everywhere

3. Even libraries which exist only to make it more consistent and less painful don't help beyond fairly trivial tasks on the 1 or 2 most popular free implementations

If any other language had this property, I would not use it; SQL is no different.
Hahaha... Reg, it's like you wrote this in response to the recent article on Monkeypatching floating around here... Thanks! I enjoyed your writing as much as always... and it's especially timely today.

(http://news.ycombinator.com/item?id=123071 if you don't know to which I am referring.)
I don't think the problem is developers being afraid of SQL. There are still lots of Perl and PHP programmers who don't use ORMs. Instead, ORMs have been sold on the idea of database abstraction, and programmers have been made to feel that using raw SQL is bad practice.
The post? Or the quoted snippet of code?

;-)
how about here: www.thepiratebay.org

I hear their prices are very accomodating...
Weeeel...

The truth is, I wrote the idea behind this a while back using String#to_proc to compare the way Ruby (roll your own) and Python (Guido decides) evolve. But considering I have no Python experience, I never published the post.

Then today, for some reason, I was thinking about Open Classes again :-)
Are these two substitutes? From my limited experience at http://www.this11.com , Flex is for client side thecnology. Whereas ColdFusion is a server side beast.
Anyone want to explain that code to someone who doesn't know Ruby?
Ebooks.com has ... ebooks.

I thought http://safari.oreilly.com/ was the place to be.
Woohoo! I'm an entrepreneur...mainly because I can't live in normal society.

Hmm, maybe there's some causation going on here...
I use my own hacked version of GTD, albeit very simplified, partly because, well, I guess I don't have that much to do :D. GTD still has a cult following and has several sites that cover it a lot (http://www.43folders.com and http://www.lifehacker.com among several)...

There have been several discussions regarding GTD at YCNews (http://news.ycombinator.com/item?id=15450) and I am sure these should answer your question.

My approach has been explained well at lifehacker (http://lifehacker.com/software/feature/practicing-simplified...). I came across another article (http://www.emaginacion.com.ar/cym/get-organized-with-hipster...) and currently trying to build that into my system.

If you were to use searchYC.com you will find several discussions regarding GTD (http://www.searchyc.com/GTD)

At the end of the day, GTD is merely another tool that aids in keeping track of everything you do. But its __effectiveness__ lies in your ability/dedication to sticking to the system. Although over time my simplified system has served me well, I do occasionally find myself slipping. A little tweak here, a little tweak there, wash, rinse, repeat...

Hope this helps.
I think the problem is as you say... the SQL standard is too small and hence anything outside the standard (but actually useful) is implemented differently on every platform.

However, two points. First, the diffs aren't that huge (the underlying idea is generally the same, with some caveats, it's just the syntax that must be juggled). Second, most places I know usually pick one or two database systems and then make a very long commitment to them. There is no reason the developer shouldn't be able to pick up whatever SQL flavor his shop is using.

My original point is that any developer worth his salt should be able to pick up new languages fairly quickly, and since SQL is like a mini-language, it should be learnable in mini-fairly-quickly time.
How to Become A Stereotype
knowfree.net
I'm not a ruby programmer and it's not immediately obvious what the result would be.

I know a pretty large number of languages to the point where, unless it's LISP, I can look at code in any language and have some idea of what it does. When a languages gets "so cool" that it's cryptic than I no longer see the benefit.
I don't think those two ideas are mutually exclusive.
Not sleeping for awhile does it for me. Suddenly I understand the universe.
useit.com - user interface design experts
Sums the first 100 integers. You are basically injecting a function (plus in this case) between each element and evaluating it (to describe in very non-technical sense).
I don't get why people make such a big deal about financial freedom (living off of interest). As far as I can tell, it can easily be achieved with about 5 years and a decent job.

http://www.thewavemag.com/pagegen.php?pagename=article&a...

Of course, maybe I'm totally missing something.
Since I don't use ruby either...I tried a web based interpreter.

>> (1..100).inject(&:+)
TypeError: wrong argument type Symbol (expected Proc)
from (irb):1

I also am not a fan of doing things a thousand different obscure ways. I like doing things one way, and having that way highly optimized. Typing 10 characters or 20 characters doesn't impact my programming speed, I spend far more time thinking about how to do things the right way.

edit:

Ok, did his monkeypatch and it worked. You get 5050. So it is equiv to sum(range(101)) in python, and much less readable. I fail to see why this is a good thing.
Would (1..100).fold(&:+) be more obvious? How about (1..100).reduce(&:+)? If either one of those makes sense, perhaps it is a question of Matz choosing Smalltalk's names for methods (collect, select, detect, reject, inject).

Please let me know if changing the name of the method doesn't help.
Do not learn how to use a pen and paper. The paper will get under your skin, especially if you give yourself paper cuts. You'll be able to bend and twist C++ code in ways you never dreamed of, like into a paper airplane. You'll miss all the intricate quirks and nuances, like how your pen stops writing when you use it upside down.

In short, if you wish to keep your sanity, do not learn how to use a pen and paper.
It won't work unless your web-based interpreter runs Ruby 1.9, or you also paste in his monkeypatch to the Symbol class.
He almost says so at the very end.
Sintresting.

Wouldn't it be cool if there were a program that could turn your hums and tappings into musical instruments? Everyone could be a musical maestro!
Partially Wrong. It all depends where you go in europe. I know plenty of European cities, that are pretty lively and almost chaotic. They seem to be in places where there is warmer weather. These quiter places, are more in north europe.
I refuse to be blamed for Symbol#to_proc, it's a part of Rails and also Ruby Facets.
Opendns.com does what you want and a lot more.
To me it is still a good idea to learn Perl, for the following reasons (different from the article):

You figure out why Python and Ruby were invented

It'll help you can figure out how to port existing Perl programs (that no one in your company wants to touch) to either Python or Ruby

You can more easily write code so hard to read that it virtually offers lifetime job security

(to be fair, without Perl I don't think the Internet would have had as much success in the very beginning since it was easier to put up a site with it. not to mention many of the major sites I still go to were built on it)
Got "Down Town" by Emma Bunton on the first try. Didn't get "Exit music for a film", by Radiohead.
As a committedly multilingual prgrammer, I'm not sure what you mean by saying I think in Blub (and yes, I'm familiar with that article). Is it because I failed to note that Lisp is in many ways far more powerful than Ruby?

I don't think it makes a particularly good case for AOP myself. AOP is just another, slightly more structured, form of the same thing - a structured COME FROM (see INTERCAL), if you will. The ability to globally append to or modify arbitrary functions in existing code is no substitute for a) limited extension within the scope where the extension is actually used and b) actually coding classes with well-documented extension points, whether Emacs-style "hooks" or some other mechanism.
RIP Windows: 2008
I would agree that morality outside of religion is nonsensical, but I would also say that religion is nonsensical . I can't say "most atheists" think morality is a religious idea, but Dawkins certainly does not think that it is. At least in The God Delusion and in his lectures, he maintains that it isn't. So...
Saw this years back, tried it again just now to see if they got it to work by now.

It thought the VU's "Sunday Morning" was Guardiani Del Destino's "Rhapsody" (and their "Rock & Roll" was Sonata Arctica's "Weballergy"), the head of Coltrane's "Giant Steps" was Shakira's "Whenever Wherevr", CSN's "Suite: Judy Blue Eyes" was "A New York Fairytale", Jethro Tull's "Aqualung" was "If Ever I Would Leave You", The Clash's "Atom Tan" was Mental as Anything's "Live it Up", and The Police's "De Do Do Do, De Da Da Da" was Toquinho's "Aquarela". FAIL.
Steve Jobs, maybe not now, extolled the creativity and clarity gained from LSD usage.
I find the best way to get things done is to write them on a notepad (Moleskine highly recommended) and do them. My weakness is procrastination (which I am doing now) and I the only advice I will give is don't even think about trying to get over procrastination, just do what ever you need to do.
The VB.NET equivalent is Enumerable.Range(1, 100).Sum, which seems clearer to me. Why is this so impressive? If Visual Basic comes close to your beloved code snippet, it's probably not that big of a deal.

In real life, the answer is to know some math and realize that 1 + ... + n = n(n+1)/2, so the entire thing is pointless anyway.

(And if you want to add methods to a given class ad-hoc, you can do it statically with extension methods; Sum is an extension method.)
"I fail to see why this is a good thing."

Why what is a good thing? Why that line of code is a good thing? maybe it isn't, maybe arrays need a sum method, maybe you could just write:

(1..100).inject { |acc, n| acc + n }

...and get the same result. But the article has nothing to do with why that line of code is a good thing, it is about the fact that being able to modify the Symbol class in this manner is what makes a langauge like Ruby evolve from the bottom up.

So... do you think that is a good thing? Or a bad thing?
Harvard’s Kit for Sharpening Your Startup Skills
The same code in k:

+/!100
4950

Or if you insist on 1-indexing:

+/1+!100
5050
The article does not claim that this is a good thing! It claims that the line of code says a lot about Ruby the language.
That it's obsessed with obfuscatory, slow language constructs?
The obituary is a bit premature methinks...
I think that style of code is rather hard to read and really doesn't add any functionality that couldn't be done in a much more readable way in the same number of characters.

So I am wondering why the author thinks its so fantastic.

As for developing the language, I am usually for flexibility and allowing anything to be modified, however this type of change strikes me as not very useful.
Needs more Bowie! Didn't get "Modern Love"
Let me ask you a question: you arrived at the top of the article with a preconceived idea about Ruby. Did reading the article give you any insight, did you learn something about Ruby or about yourself by reading the post?

If not, please downmod it, I have failed.
Age is a number but social constraints are real.

He's describing things that people of older age usually have. Kids, family, mortgage, car payments, college savings, taxes. Let's not kid ourselves at thinking when you turn 30, 40, 50, or 60, you have the equal same amount of spark and vitality as you did when you're 20.

There's a reason why it's called risky.
Is this one of those Internet "memes" making the rounds?

http://webmat.wordpress.com/2008/02/20/do-not-learn-ruby/
"I am usually for flexibility and allowing anything to be modified, however this type of change strikes me as not very useful."

That's entirely the point. If you are in favour of flexibility, you have to accept that people will use it for all sorts of things, not just ones you like.
Yeah I didn't mean to blame you... I actually like it, so consider it a complement, but it was just the easiest way to describe what patch I was talking about, since you had it in your article.

Any idea who specifically wrote it initially?
Good thing I started at 25, I am now 26 and still doing the start up thing so I guess that is a good sign.

I get there is less risk before having a family and such, but I think it is pretty hard all the time, and always a good idea if it is really well suited to who you are.
A Flex Haiku I wrote:

it's more than just flash

enterprise level big apps

not just eye candy

Without knowing more about why they are moving from ColdFusion (and I assume CFML) to Flex, I have to ask if they have a business driver. Flex will give their application a new look (you can't beat the sexy look of vectorized graphics)

AS3 is basically ECMAScript4, which is much better than AS2. The IDE is ok - it's not going to make you rave about it. The compiler time will drive you nuts (sometimes). The debugger is good. We don't really use the UI builder as it does not fit our requirements. There is a lot of programming through (m)xml. There are many little gotchas in AS3/MXML programming that consume free time while you figure them out. We had to code several tools to generate mediator-type objects for AS3 to Java.
Instead of saying the cost of failure is zero, I think the author should have put it in terms of risk tolerance. In general, people younger in age have less to risk, thus 100% risk while younger < 100% risk when you're older.
A little explanation in your article would've been fine. The non-ruby people in the crowd have no clue what "&:+" does, so you lost us really early on when you neglected to explain your fancy one-liner.

'inject' makes sense (in retrospect), but until it was explained, I had no clue why injecting symbol soup into a range of integers was interesting.
Yes, I've used it for years. I think it's pretty good. Here's the biggest problems with it, by my observation:

1. It's easy for your "next action list" to keep growing and growing and... until your head explodes and you fall off the system. I guess the only way to avoid this is to be ludicrously conservative about what you commit yourself to do.

2. You have a deadline on a project that is falling behind, so what you decide to do is postpone all your other todos and just work on this one thing for a few days. In this time, you're not really "on the system" and it again falls apart.

3. You're in a lazy period and just plain don't care about the system and it falls apart.

If you can avoid those three problems, it may work for you.

In terms of technology, I recommend you sit down with Y combinator startup appjet.com and write your own implementation- that's what I did... If you don't customize it to your own quirks it doesn't work as well, from my experience.
So we get what, another proprietary software stack, this time from adobe, to be the new new replacement "OS" of the future.

The king is dead, long live the king?
"I had no clue why injecting symbol soup into a range of integers was interesting."

Lisp flavours?

"A little explanation in your article would've been fine."

Done, thank you.
Actionscript isn't a server-side language. It runs in the browser. So they are seriously mistaken if they think they can replace Coldfusion with Flex/AS. (And I'd question if I really wanted to work for a company that didn't know this.)

What about Flex/AS3? The more time I spent with it, the more I keep saying, "Whoa, this is a well-designed language/toolkit." Flex Builder, the editor, is also well-designed.

You will struggle a bit to get over the learning curve, but if you appreciate elegance in UI, you'll grow to really like it. Actionscript is not my first choice in a programming language, but it is fully featured and plenty robust.
Once I figured out when to use MXML (it's great for setting up layouts) and when to use Actionscript (I try to use AS for most everything else), I was happy with it: it gets the job done fast, it's object-oriented enough for my purposes, and it's far easier for me to understand than the Flash timeline. Being able to quickly produce AIR apps is another nice use for Flex.

I'd recommend starting with Flex Builder (based on Eclipse) which was much easier to get setup than the commandline tools.
i do think with my body when it comes to women.
Ask YC: Where else do you spend your time (online)?
Besides news.yc, what other communities / sites / webapps do you use the most? If you have a regular (non-web) app that consumes an inordinate amount of time, include that too.
I'll second the debugger, it's very nice to have. Is there any kind of interactive console you can use to query specific attributes while in debug mode? I hate having to walk down an object's hierarchy to find stuff.
"I think the hardest part of breaking out of a paradigm is to realize that you're in one."

Perhaps the single most useful insight I've heard thus far. The best part of this observation is that we have many examples that are readily available to illustrate it for us, yet we somehow fall back into thinking that is governed by preconceived notions.

Maybe the more interesting question is:

Why do we default to thinking that is driven by prevailing paradigms?
What does '/' mean? Also, why does '+' seem to do different things in the first and second expressions? I suppose '!n' means "array of integers ending at n" which seems like an odd choice since it's neither 'not' nor factorial.
Why do we default to thinking that is driven by prevailing paradigms?

They're what you think in.
Python and Ruby have most of the fundamental advantages of Perl. I don't really miss Perl itself all that much when using them. CPAN on the other hand is damned hard habit to kick. It's addicting having a massive collection of (often) battle hardened code available for virtually any task.
Actually he is wrong about Java: people did add features to it without changing Java itself, for example AspectJ, and CLIB (I think is the name) that generates Java Code on the fly. Hibernate uses it, for example, to change the behaviour of the mapped Objects behind the scene.
It seems as if the author is looking at the attempted Yahoo! acquisition as a pure business/user play. BG said it himself-it's the engineers he's after, not the market share.
Fairly useless article for anyone who hacks. I'd ask the author to get another half-dozen languages under his belt before he bellows about what is right or wrong about this or that language.

PHP is an accessible language. It's on every Linux installation. Name a page .php and it just works. (What other language "just works"?) Open the page and with a little fiddling even a novice can create results.
Also http://www.esnips.com

For instance: Common Lisp

http://www.esnips.com/_t_/common+lisp?q=common+lisp
I usually just jump down through the rabbit-hole and drill down through the object hierarchy in 'Variables', but you can add expressions (e.g. _myFooVar) to watch, in the debugger IDE.
What does the &: do in Ruby?
This inadvertant leak could be in Sun's favour because they've already got faster chips shipping.
Do you run ColdFusion on the server side? If not, what are you using on the backend?
Mobile applications, RIP
Our secret sauce
You would be amazed what people will do to Java. Just the other day I was reading something here about writing Java code using an Excel spread sheet. I'm pretty sure that wasn't in any of the JSRs.
The tide is starting to turn in favour of online journalism. The layoffs at the NYT last week are just the beginning, to really take off, a set of 'standards' needs to be developed. Perhaps some sort of open-source peer review of blog/online articles could replace the traditional editorial oversight of large papers.
Actually, it's &(:+) not &:(+). The & takes its argument and converts from a Proc to a block. :+ is a symbol that implements the method #to_proc to give you a block that sums its receiver and its argument.
You'll see

Dictionary someDic = new Dictionary();

And dream of

%someDic = ()

Seeing that has me dreaming of:

someDic = {}
Yes but Top Gun was made on a budget of $17 million. The focus then was on low-budget, high-concept movies, based on a good story, NOT spending lots of money. Unfortunately, people now think of high-concept as meaning big budget, when that's not the case.
Not to get too deep into philosophy, but I imagine it has to do with observed cause and effect. For example, you may not realize it, but you think in a paradigm where 2 + 2 = 4. There is no good reason why 2+2=4 has to be true; we only believe it is true because we observe 4 objects every time we aggregate 2 and 2. Every time.

We break out of a paradigm when we push it to the extremes and notice effects that hadn't been observed before. For example, in quantum dynamics when something can pop up out of nothingness and 2 + 2 can sometimes equal 5.

The difficult part of escaping our paradigms is that we can't just assume any random thing in our current paradigm is false. (e.g., My sky is not blue.) You need to find the key ingredient in order to come up with a new paradigm that is actually useful.
Tokens beginning with a colon are literal Ruby symbols.

Prepending an ampersand before the last argument of a method call means that argument should be converted into a Proc and sent as a callback block to that method.
To some degree, using open classes is just how you write functions in Ruby.

Say there exists a class called Errors in some Ruby library. It doesn't have an each() method, but I'd like it to. Nobody would complain if I wrote a function each_error() which took an Errors object as an argument. Reopening the Errors class and giving it an each() method is the way you do that in Ruby, and it's not really any more dangerous.
can we use it? or is it private?
One favourite resource of mine regarding creativity is Originality in Design by Nick Pugh (http://thegnomonworkshop.com/dvds/npu01.html), where he describes his process of coming up with original design, as applied to drawing. One interesting thing he brings up is that sometimes, if you know less about something you become more free in your thinking about that subject. So experts face a real danger of becoming stuck in their way of thinking. There is a lot more in there and it is worth checking out for the discussions alone, even if you aren't into drawing.
Sun is shipping faster chips than Nehalem?
Replace + in the Ruby with multiplication, or division, or boolean and, or even exponentiation, and show me the VB equivalent.

A digital-typewriter user will laugh at a PC user if all he sees the PC user doing is word processing.
So would I be more efficient with one of those treadmill/computer terminal contraptions?
Chip design is hard. Measure twice, cut once.
As a novice programmer, I indent my code rather anally and find it very helpful. Even with html/css it's a life saver.

That said, the last thing I need is more debugging due to a missed indentation somewhere. One of the things I've enjoyed most about Ruby (as opposed to PHP, C++, etc.) is the reduced number of dumb errors like that. There's nothing worse, in my mind, than searching for a bug to find it was a missing semi-colon or some other such triviality, because it feels like time totally wasted.

A logical bug is at least something I learn from. It shows me the error in my original thinking, which means I won't make the mistake again. Its challenging, enlightening and, on some level even fun.

The only lesson I'll get from digging through code to find a bug caused by an improper character, though, is that I should have chosen a better language.
What bug/time tracking software do you use ?
What bug/time tracking software do you use ?