skysight-inc/HackerNews huggingface dataset:
The trouble with interest rates is that there are effectively two infinite dimensions worth of possible units a given rate can be in. In order to be completely accurate, you have to say "A return of X% over Y time periods, compounded Z times per period" and many of the different available options for Y and Z actually get used. For example corporate bonds are often Y = 1 year, Z = 6 months. In a business class, if you were to find the interest rate implied by the cash flows of the bond, you would probably solve for Y = 6 months Z = 6 months. Then the answer might be required to be in Y = 1 year, Z = 1 year or Y = 1 year, Z = 6 months depending on the question. It also doesn't help that for certain values of Y and Z you have ambiguous names like effective annual yield, nominal yield, yield to maturity, annual percentage rate, annual percentage yield, etc. So you take this somewhat nasty unit conversion problem, pretend it doesn't exist, and then mix in a heaping helping of undergraduate marketing students or average joes doing personal finance and you get a recipe for confusion.
There's the rub: measuring production time needs to take into account maintenance time!
Seconded. If you really want a 100-year language, then your chief concern is getting it widely-adopted, and a permissive license like MIT is just the ticket.
A common misconception with SBCL is that it cannot handle threading on OSX. The feature has been there for quite some time and even though it's marked as experimental, don't let that stop you. It should work just fine, especially for development.

If you're curious about how to turn on threading you can see a post I wrote on my blog a little while ago (or you can just read the INSTALL file SBCL comes with).

http://blog.offbytwo.com/2007/12/03/installing-sbcl-with-thr...
So on an every decent sized project in one of those languages most of the code is boilerplate code you didn't even write but which wastes your time and brain cycles when you tinker with the code.

Another interesting statistics that has been researched throughly is that productivity in LOC/hour is pretty much constant for programmers in all languages, which pretty much translates into higher productivity with more condensed languages.

Check out these links for some real data:
http://norvig.com/java-lisp.html
http://wwwipd.ira.uka.de/~prechelt/Biblio/jccpprtTR.pdf
http://www.flownet.com/gat/papers/lisp-java.pdf

And this research was on a toy problem, not a real world project, on those the differences greatly intensify.
I think the key to success for any FutureLisp is to not call itself a Lisp dialect. Unfortunately the word itself has developed a negative connotation for most people.
nope, it works like a charm, with access to local files as a bonus. I'm just waiting for AIR supporting OS menu and fixing some quirks in their webkit engine on Mac (bad key event handling mostly, weird it works on Win..).

[http://www.april-child.com/blog/2007/06/06/amy-editor-standa...]
The Myth of Creativity
Well, most of the code isn't boilerplate code. the LOC/hour statistic would interest me, is there a reference?

Also, the condensed style of scripting languages might waste more brain cycles than more verbose code when trying to understand it? I enjoy the condensed style and clever things you can do with it. But clever things have a tendency to also require cleverness when trying to understand what they do.
Nevertheless, PHP seems to be by far the most successful programming language for web applications. I also don't think that maintenance time was ever measured for typical production time studies.
Nah. We're waiting to download the windows msi file, which optionally installs a Visual Studio integration doodad and an eclipse plugin.

At least, that's what the people who want to become lisp programmers want. It's probably not what the current lisp programmers want. Hey ho. Just don't make emacs the default development environment.
Well PHP was written by someone, too, and that improved productivity over what came before (CGI/C++?). Django and Rails aren't really central to my argument - they can be replaced with any language/library/framework that boosts productivity.

Careful about saying 'least abstracting' though - if it really is faster (not my experience, but assuming it is), then although it might not appear to be a powerful abstraction, it actually is, at least in some way.

Your abstractions (done well) are exactly what I'm talking about - long term productivity. Given 100 minutes you may well be well behind (if you've even started actually coding), but will that still be true 100 days later if the other guy is writing it in straight, hackish PHP?
Mar 19, 2004?

Here are some more recent articles on Simonyi's Intentional Programming thing.

- http://www.technologyreview.com/printer_friendly_article.asp...

- http://www.technologyreview.com/printer_friendly_article.asp...

- http://ramchel.blogspot.com/2007/09/threat-to-hardcore-progr...
I tried "search.sbf5.com anything" and it just took me to a domain squatter page.
Just curious, what language is it written in?
And the tutorial: Arc in 40 days and 40 nights.
IIRC, Scheme.
Well, it is a hard question. And the best person to answer it are you. I like simple licenses (BSD[1], MIT[2]...), but only if you don't mind people making closed version of it.

Being Arc a language, I think you would like to remain the head of its development, so maybe the Artistic License [3][4]would be right. Like Perl does.

It's far more complicated than the simple ones, but it would make easier to differentiate between the Vanilla Arc and the Straciatella Arc.

For the GPL[5], I think it is better suited for programs than for languages.

[0] http://www.opensource.org/licenses/category

[1] http://www.opensource.org/licenses/bsd-license.php

[2] http://www.opensource.org/licenses/mit-license.php

[3] http://www.opensource.org/licenses/artistic-license.php

[4] http://www.opensource.org/licenses/artistic-license-2.0.php

[5] http://www.opensource.org/licenses/gpl-license.php
One of their first investments was into time travel technologies. It's the CIA, they can do that.
If you use the GPL you will want to add a lisp-specific preamble such as is found in the LLGPL (http://opensource.franz.com/preamble.html).
But I think his point was that those people who can't solve those problems in infinite time are at such a low end of productivity that almost every decent programmer is some coefficient c better than the one that can't do it, where c >> 10.

There are tough problems in programming, but unless you are breaking ground in p-np complete type proofs, are there really any day to day problems in almost any development setting that a decent programmer can't attack?
On some regular expressions I tend to agree that there is such a thing as too condensed, but mostly I am a minimalist.

The reference was somewhere in the PDFs I linked to, and its not that far from the truth from my experience.
I'd much rather have the last option - being an employee is less stressful and feels like a smaller responsibility than being a founder. And to top it off, I would get paid more.
I see your point. So the question is actually whether a language designer can only care his "types"---those who have similar thinking habit and thus has less difficulty to understand the code---or should target at larger audiences.

Ultimately that's the choice of the designer; not all languages need to address to the broad range of programmers.
Question of the Day: Salaries or Equity, what's worth more?
Well, I'm impressed. It worked without fuss for my, hardly known photography blog (photub). I thought maybe there was just a list of aliases, but that can't be the case... are you just relying on a common url pattern of search/?q=<query> or are you actually a reader of my blog?
Yeah this question is very complex, but actually to be perfectionist in the design stage is sign of lameness, but in a particular way: good design is the fruit of sacrifice of given things in favor of other things, some kind of engineer-alike-thinking want to get everything at the same time ending with a complex project that's hard to get right.

On the other hand good programmers are perfectionists when they actually are writing code.

Another sign of smart programmers related to this aspect is that often I saw this good programmers open accepting probabilistic solutions that are good enough even if not perfect if for the kind of problem they are trying to solve this is enough and will work.

Less experienced programmers fear this kind of approach because they don't think about the actual result and are not secure enough of their ideas I guess. What is interesting is that there are a lot of times where doing things good enough in algorithms will make it O(N) instead of O(N^2), or in the other hand it can make the code simpler by a factor 10, so this ability is very important.
Startup Developers: Telling Schmucks from Superstars (5 min quiz)
Analyzing the AI Bot Library from the Quake 3 Source Code
Just trying to go with the flow ;-)
Six Things That Could Derail the Apple Cart
The Early Bird Gets the Bad Grade
Monkey brain signals used to make a robot walk
Ask YC: What if you would have classifieds site with 6K visits daily?
Guys, if you would have classifieds (abroad topics,not niche) site with 6K visits daily what other site would you build for these users to keep them in your sandbox?? What kind of site could be interesting for them? I'm really sorry, they are going elsewhere ...
Release early and often eh ;)
Big Brain Theory: Have Cosmologists Lost Theirs?
More info on this strange stuff: http://cosmicvariance.com/2006/08/01/boltzmanns-anthropic-br... http://cosmicvariance.com/2008/01/14/boltzmanns-universe/
http://yubnub.org/ ?
I have it integrated to my address bar, works like a dream.
mzscheme (PLT)

http://news.ycombinator.com/item?id=11994
Bust Your Butt for a 4% Raise or Coast for 3%?
An example of a missed opportunity to attract new customers
A simple example: The things we do aren't important. Our customers don't want the things we have to offer, they want the things they can do or achieve with the things we offer. Food for thought.
The amputee wasn't barred from the olympics. This particular set of prosthetics was banned.

That guy can still run in the olympics with any other set of prosthetic legs but this one. It was just deemed that these gave him too much of an unfair advantage.
Can you provide more detail? What sort of classifieds? Where are they going?
Security Guru: Leave Your Wi-Fi Unsecured Because It's Polite
Bruce Schneier, a well known security expert, says he leaves his home Wi-Fi network unsecured as a courtesy to friends and neighbors. And he thinks security isn't an issue as long as everyone that uses open networks is "polite."
Emacs won't be default. pg uses vi. He highlights code segments and drags&drops them to repl.
That's like saying falling on the ice is by far the most successful ice-skating technique.
I wonder why Google doesn't pursue search verticals more aggressively (Google Base seems to be some meager attempt). Judging from the techtalks coming out of Google, they research a lot of things like uncovering structure from text.
Mahalo Pricing Plan Revealed; "Cheap Hotels City Name" Pays Best
you need to validate the input more. Not including a site gave me an ugly error message.
Although I thought the article was very perceptive, it's a wierd feeling to think about google being given a run for their money. Currently the popular perspective (which, of course, does not necessarily translate to "accurate perspective") is that google is a bastion impervious to seige. The points made are valid, though. Google is absolutely a general-purpose search, and when looking for something specific one is probably more likely to achieve effecient results with a more specialized tool. I don't expect Google to be blind to this fact, though. The author of the article (or at least his prime interview, VC Gus Tai) believes that Google would drown if they tried to enter the specialization arena, but I think the possibility is there for an entrance by the search-giant. What if they were to extract context from the keywords entered and offer an option to narrow search results to one of a set of more "vertical" flavours?
Why Engine Yard, Rubinius and Merb matter
Great Ruby and Rails books
Do you know what kind of animal will be on the Oreilly cover?
Don't do it. GPL means unnecessary issues with some of the enterprise companies trying to adopt your product.
It doesn't pursue verticals because it can't compete in niche markets.

Large companies dominate the share of the whole market, small companies dominate niche markets.
successful != popular ?
There are definately some programmers who are 20X better than others, but I think the authors point was that the 20X difference is between programmers who are 3X above average and programmers who are multi-X BELOW average. The myth is that there are some super-coders who are 20x better than your average decent programmer, and I think that would be difficult to substantiate.
Would be an easy change... just add the nick onto the front of the sentence before processing each statement. Then you could lol exactly once! Better save it for a special occasion...
That's what the Long tail concept is all about - ability to build big companies that automatically serve a broad range of niches. It is also one of the big changes internet brought to business.
"Dignity is deadly." - Paul Graham
Some cool name like ... Arc? I can't help but think that pg noticed that the name Lisp definitely has baggage.
Why not put the same logic into a plugin for your chat client and have it warn you if you are about to send a duplicate phrase. Obviously it wouldn't catch everything ever said if you weren't always online, but if you were on a lot it would at least catch some cases, allowing you to avoid punishment.

Of course, this probably spirals out of control quickly. I'm surprised no one has joined with a war script tailored specifically to this type of moderator. Just give a bot a large corpus of blog entries, have it join late at night when no one is awake, then say every sentence it has in the channel... the table of things-that-have-been-said would fill up with all these bogus phrases. Might need a while to be effective, but it would be a fun experiment in moderator bombing.
lengthening the school day would help "close the achievement gap between disadvantaged students and their better-off peers."

Well, nothing else worked. Might as well try something completely stupid.
You could dual-license Arc, like Gambit Scheme does. I believe Gambit uses Apache 2.0 and LGPL 2.1. I hope that the open-sourcing of the language won't cause it to become too stable and end its evolution, like what happened with Java. I think languages should have a breaking-reverse-compatibility release scheduled every five years.

I guess this announcement puts an end to my plan to read everything PG has written about Arc and then write my own implementation.
Most of the recently hyped web applications are written in PHP, for example Facebook. Wasn't there a list recently with the 10 most successful startups (by whatever criterion), and 7 out of 10 were based on PHP?
Interesting, didn't know about that, but it looks cool. It looks like it just uses a list of aliases though, while I default to treating the keyword as the domain name itself and extracting the form from the HTML of the page.
Yes, that is where www.anything.com goes. Try, perhaps, "ebay anything"?
Some people really need to lay off the downmod button. Not being able to detect sarcasm from plaintext is not a reason to get downmodded. Remind me not to post what I consider helpful information in the future.
When a software company says "shipping this Summer", for example, that usually means the very last before the autumnal equinox.

So, if Arc is available for download at UTC 5:48am on March 20, pg will have met his goal. :)

http://en.wikipedia.org/wiki/Equinox
Making any kind of assumptions like this is retarded. The coder umbrella covers too much. Assembly line coders in a large corp are completely different than a freelancer etc. Different skills, different motivators, just plain different. Comparing the two is like comparing two completely different fields... because they really are different fields.

Like comparing automotive designers and mechanics.

Coder is just too big of a blanket. Articles like this are irrelevant.
Python Vs Haskell
It depends on being optimist/pessimist.

I'm realist, so I predict: this spring (to be clear: there's only one in 2008).
Old iPod, New Tricks
There are two different markets.

One is turned off by stuffiness (as proxied via "business-speak" and "dignity") and one is turned off by, I don't know, "unreliability" (as proxied by profanity, not sure what else).

You can serve one or other, but not both (unless you have two separate brands and learn to fake the one you're not sufficiently well).

(I'd say that 'professionalism' in itself doesn't turn anyone off. Except that lots of people would have different definitions, including only the qualities they care about, so that's kind of a null statement.)
Python Vs Php
The Absolute Best of CES 2008
Erlang: What the Cool Kids Are Doing
Python & Java: Side by Side Comparison
What about the WTFPL license?

"Do What The Fuck You Want To Public License"

It's actually not a joke: http://sam.zoy.org/wtfpl/
I look at profanity in business the same way Groucho Marx looked at it in comedy. Comics resort to it because they're desperate; they can't get laughs any other way.

If you need to use profanity to get your point across in business, maybe you should pause and take a good hard look at your message.

This has nothing to do with "professionalism" vs. "passion". You could (and should) do both.

It has everything to do with how you treat other people (whether you know them or not). Shouldn't be so hard to do it all: be yourself, have passion, treat others well, be professional, and succeed like crazy.
This is like nuclear war vs. guerilla warfare. It's awfully hard, maybe impossible, to be good at both. The Afghans would be crazy to engage the U.S. in nuclear war, but no one knows their caves like they do. Same thing in search. How could Google possibly know all the nuances of 30,000 different industries? There's plenty of business for everyone. The guerillas will just have to choose their niche; that's about the only way they can compete now.
Ask 37signals: When do I launch?
Seth Levine's VC Adventure: CEO Reviews
> There are no namespaces, so functions often have prefixes to denote their source

Can somebody tell me, how namespaces work?

Say, without namespaces you would do it like this:

function isBig($Number)
{
return ($Number>1000);
}

if (isBig(50)) echo '50 is big';

How would this look like when namespaces are used?
I knew about list comprehensions, but generator expressions add some new tricks. And I also now have a clearer idea of what constraint propagation means.

Thanks for the link!
"The largest number is about 45 billion" [video]
I know that videos aren't normal fare on Hacker News, but I thought that this one was rather apropos.
VCs sink big money into spammy Facebook games
First comment? Welcome to YC Hacker News!
I thought the cool kids had already moved on to Scala...
Live from Macworld 2008 - unleash your inner fanboyism
But Google does let you search for jobs within a given radius:
http://www.google.com/base/s2?hl=en&gl=us&a_n0=jobs&...

edit:
And Google lets you narrow your search by industry, etc.

As with other "hidden" features of Google, I found it by simply "telling" Google what I was looking for: "jobs"
Isn't it sweet? Mascots in Modern Web Design
That's not because PHP is especially great, today, but because there weren't any decent alternatives in 2004.

Rails is three-and-a-half years old, as a public project. The alternative frameworks are about the same age. There are programmers with ten years of PHP experience; there is nobody on Earth with so much as three years of Django experience. Give the newbs some time to settle in before you declare PHP's long-term victory. PHP has had a long headstart.

To have a successful startup that makes a 2007 list, you have to start learning programming before 2007. Back in 2003, PHP was pretty much the name of the game, unless you enjoyed being married to Microsoft or wanted to construct vast mountains of overdesigned, stateful, undeployable Java middleware. Or unless you were writing your own framework from scratch in an alternative language, like DHH, or the Django folks, or the Redditers.
Real-time updates from Jobs' keynote at Macworld 2008
Archaeopteryx - The First Bird

http://en.wikipedia.org/wiki/Archaeopteryx
It's not exactly a looker.
And who cares about apples?

I prefer bananas!
25 Supposedly Beautiful & Minimal Wesite Designs
Tambien en espanol: http://es.engadget.com/2008/01/15/en-vivo-desde-la-conferenc...
You're right Google can't know the nuances of every business, but exactly because they are so good at generic search, they can leverage their technology to deliver better results in niches too.

Here is an example: MSDN library search versus Google site search on MSDN library site. Google is better, presumably because they take into account all external sites linking to MSDN. Never mind they don't know specifics about site format or contents.
Part of performing a task is redefining it.
I had a discussion on this topic last night at the St. Louis Ruby Users Group. The consensus we came to was that code is not an asset; it is a liability. Features are assets. The fewer lines of code you have to write, test, and maintain, the fewer bugs you will have, and the less effort you need to expend on things like refactoring and maintenance.

Boilerplate is a sickness. Even if your IDE is generating it for you, you still have to read, interface, and interact with it in your daily operations. Any higher level abstraction which allows you to remove boilerplate and redundancy leads to greater robustness and flexibility in your software.

I'm not saying that playing golf with your code and turning it into line noise is a solution. That merely results in higher level of complexity rather than a higher level of abstraction. It becomes brittle. But when you can apply more powerful concepts to the solution of a problem, fundamentally complex operations can be expressed in a simple manner.

New abstractions definitely have a learning curve. I believe that this is a separate effect from mere cleverness or an obfuscating complexity. The advantage of this learning curve is that once the concepts are understood, future effort is eased and the new principles become natural expressions of solutions. A professor of mine once told me that Mathematics is driven by the creation of new, more powerful notations. Being able to describe an idea in a more succinct way leads to the ability to reason about a problem space and discover the underlying fundamental principles of its operation.

It may well be the case that it takes a more dedicated, talented, or skillful person to write code at higher levels of abstraction. The innate curiosity and insight needed to pursue the greater goals of software excellence can be distressingly uncommon. I believe that the balance of the issue is offset by the force-multiplying effect of powerful languages, designs, and abstractions as well as the social effects of being able to accomplish more with fewer people. Reducing the social and management overhead of a project results in greater individual productivity, improved group cohesion, and more effective communication.

Any approach which can eliminate the extraneous details from the expression of the solution to a problem and which allows us to work with the raw core of its nature enables us as computer scientists and software engineers to deliver more robust, effective, and elegant software solutions.

And you might even find yourself to be happier while doing it.
10 Considerations for the Startup planning to offer to the Enterprise (and why many will fail)
Something like this:

namespace yo
{
function isBig($number) {
return ($number>1000);
}
}

if (yo::isBig(50)) echo '50 is big';