skysight-inc/HackerNews huggingface dataset:
Any attempt to throw away SQL is misguided. If you are going to do server side development, you must know SQL. Thinking in sets is hard work, but you must learn it. For the most part fancy ORM's just get in the way. The solution is not less SQL; it's more SQL. Stored procedures are your friends. When I write a complex query, I develop and test it entirely in SQL, before I write a line of procedural code. It's way easier.

The thing about query optimization is that the optimizer stops when it thinks going on will take longer to perfect it than executing what it has. If you have a query that takes too long look at the query plan. Break up the query into smaller queries and use temporary tables. Give it hints.

Dates are often poorly handle in language libraries. Store them as UTC in the database and pound them into shape in code.

Apologies for the counter rant.
I've gotta say, I'm really curious how you're getting your rate. :)
Ask HN: matrix multiplication within PHP?
I am implementing a PHP-based web site that includes a simple recommender system. The key numerical calculation is a matrix multiplication. I am worried that doing this in PHP might be painfully slow. Does anyone else have experience doing numerical computations in PHP? I looked at writing my own PHP extension ( http://www.tuxradar.com/practicalphp/20/0/0 ) to implement matrix computations in C, ... but then it struck me someone else must have already encountered and solved this problem.

Any recommendations?
Reminds me of the old Mercedes. Somehow they managed to be at the cutting edge and cautiously conservative all at the same time.

David Pogue's strategy is similar.
Ways to Use Serendipity to Increase Your Success
Bad form? Nah.

How do make money with such a low rate?
This is an aspect of education policy discussion that gets too little play in the United States: bang for the buck. I've been concerned about this since living in Taiwan in the early 1980s, back before Taiwan had officially "graduated" from the Third World into the newly industrialized world. I observed a poor country, a country in which the great majority of schoolchildren were not native speakers of the sole language of instruction in the country's schools, and where class sizes were typically sixty pupils per classroom, produce a lot of smart, capable young people. They could mostly run rings around me in math and science, and they were a good bit more knowledgeable about Western history and geography than most Westerners are about Asian history and geography. And, yeah, they did all that while being instructed in school in a second language, and then learning a foreign language (which happened to be English) beginning in secondary education. That was quite remarkable. A lot of the excuses I see in the United States for poor performance of the school system have been unconvincing to me since those days.
The recession was caused by netbook manufacturers and price-cutters?
If you need this for jvm based languages you can always use excelsior jet. It's awesome.
A link the the project README, which will tell you what you want to know since the github description is almost useless.

http://github.com/chergert/iris/blob/00ba89e06cf457ec5b8f241...
So is the real service the ability to receive responses?
Can't you send SMS messages via email for free already?
I guess the ability to send messages without knowing the carrier is pretty useful.

I've used sources like this in the past to send SMS messages: http://www.livejournal.com/tools/textmessage.bml?mode=detail...
I'd be frightened of stepping on something sharp and slicing my foot open.
You can burn hydrogen in a normal car engine the issue is the fuel tank. Pound per Pound Hydrogen has a higher energy density than gas, but high pressure tanks are costly and take up a lot of space.

Fuel cells have a higher efficiency which let's you store less fuel, but they are even more costly. You can even make a hybrid, fuel cell, hydrogen car like the FCHV-adv, but few people are going to want to pay the full cost of such a beast. Ok, they could do a small production run like the Bugatti Veyron http://en.wikipedia.org/wiki/Bugatti_Veyron at a loss.

PS: Toyota, is getting people to road test their prototype, but don't think this is any where near being cost effective in mass production.
I agree, you can't go wrong with CSS Mastery. It's also concise and very well written.
My convention is to quote the submitted article with quotation marks, like this:

"SQL was invented in the 70s for business analysts to write reports without having to go bug the programmers."

And then I quote the parent comment with the HN convention of preceding and following the quoted text with asterisks to italicize it, like this:

Please quote with '>', not by indenting.

But, yeah, definitely not by indenting.
> It's not like they'd be dumb enough to set price $y without a contract forbidding the manufacturer from dropping it on anything other than a netbook.

I'm no lawyer, so I'd love to have a lawyer wade in on this. But seeing as you asked, I'll take a stab: such a contract could be perceived as being anti-competitive, and MSFT are super sensitive to being perceived to be anti-competitive. A product that is demonstrably less good can be sold for less. But to sell the identical product at two different price points to the same company, that sounds to me (as a consumer) unfair, and anti-competition law is intended ultimately to protect consumers. (aside: MSFT had a nice solution before Win7: keep selling XP under certain netbook restrictions because it is a different product to vista, and a product that is better for netbooks/ULCPCs (and a liked product). I'm guessing they wont have as much luck selling Vista on special netbook /ULCPC only terms once Win 7 is out.. )
You need to drop a little bit of money and get this going over SSL. I (and neither should anyone else) give out my email, real name, phone number, username and password over a non-SSL site. I'm really interested in checking out your service but this is a show-stopper.
Us and Them
> just three months to write "a fully compliant Wi-Fi transmitter

That seems like a long time. But I don't know how hard a fully compliant "Wi-Fi" transmitter is.
There was an intelligent designer for the framework, sure, but not for the intelligence in the neural net. That was just the product of a feedback loop organized by simple rules. Mistaking order (like a fractal, for instance) for intelligent design is one item I was addressing.

>> I think we should first nail down the theory on why we sleep. You are aware that scientists still can't fully explain the most common mental process that takes up 30% of our lifetime?

>> The human brain will never be perfectly replicated in this lifetime or any lifetime

The other item I was addressing with the example is your implication that we can't create something until we understand every aspect of it.

And finally, adding an intelligent designer can't do more than push the argument back a step and leave you saying "who created him?"
The extent of the infrastructure vulnerabilities that Perens talks about (not to mention the recent US power grid attacks) really highlights how unprepared civil government is in the face of dedicated attackers. Its all fine and dandy when your servers are the latest hardened SELinux, but when someone cuts your cables, you're really on the out. (You could try communicating via RFC 1149).
I suspect that "disaster management" today really means wait for the military to come and take over...
How cost-effective is it to make pantry staples from scratch?
If you're going to be "ramen profitable", you might as well put the extra effort in and enjoy yourself. =)
Is this the level of discourse to which Hacker News has now sunk? I expected better.
Here's a basic example: http://jspdf.googlecode.com/svn/trunk/examples/basic.htm
"C++ templates and their touring [sic] completeness"? I think you may be mistaken, sir.
Sounds like the ideal target for the spatial composition of Haskell's "lava" ( http://raintown.org/lava/ ).
Improved Persistent Login Cookie Best Practice
I dunno who Rudy is, but I use an editor (vim) for all languages.
import xmlrpclib
s = xmlrpclib.ServerProxy('http://api.pennysms.com/xmlrpc')
s.send(key_txt, email_txt, phone_txt, "hello")

That gets me "S:M:hello" on my phone... but good enough for my purposes (server notifications, etc, backed up by a more reliable method already in place..).

Thanks!
The DAL should go all the way to UI
I just have to say that 'bacontrepreneur' is the best word I've ever heard.

Though it might not work quite the same with some pronunciations :(
What's more worrisome is that the API key is sent out over http on each call...
Malcolm Gladwell: Designs for Working (2000)
A query returns a relation

Actually it doesn't. That's one of the problems with SQL and part of the reason SQL databases aren't truly relational databases.
This page is beautiful. It is like nice vintage clothing, or a pleasing piece of old furniture.
IIRC the seaforth chips were designed to have blocking reactive IO at ports on each processor, so there was no need to waste cycles waiting on IO or explicitly driving peripherals, you just coded as if the stream was continuous.
That's really impressive. The syntax seems very similar to FPDF, which is great.
Netbeans 6.5 for large PHP projects, vim for quick fixes and Gedit + plugins for small/medium projects.
Any attempt to throw away SQL is misguided.

Maybe not throw away, but why should we have only 1 relational language? Functional programmers can choose between scheme, ocaml and haskell. Why should we be stuck with what is in so many ways the COBOL of relational languages as our only option?
The README is displayed on the linked page.
This is pretty freaking awesome. Unfortunately when I click "Run Code" on the demo, it doesn't open/properly save, using Firefox.
Um, they already have variable pricing for XP on netbooks.

http://www.winmatrix.com/forums/index.php?showtopic=23795
http://www.crn.com/software/212902058

(not the best sources, but they were the first hits. wsj reported it, too)
Precisely what makes you think that a group of people who dismiss a concept as simple and transparent as natural selection will accept a collection of--probably significantly more complex--"reductionist principles upon which our consciousness operates"?

Similarly (and in opposition to many of the opinions in the other responses), if faced with artificial consciousnesses, why do you expect them not to ascribe to them the same "soul" substance that they allow themselves (ultimately, anyway--early resistance is likely to be universal)? After all, it is immediately evident that people can perform an action that creates an entity with an independent consciousness; if humanity develops another such creation method, how would that contradict their theology?
More generally, it can be said that academia has a well documented history of basing claims on some sort of social or political assumption or agenda. Increasingly, those have come to include liberal agendas like feminism and racial equality. The solution is not increased political consciousness (all that accomplishes is exchanging one political bias for another) but rather better application of the scientific principles we already have.
When you weigh the costs by per capita purchasing power parity, the results are somewhat different. This approximation is crude as well, but I think it is much more meaningful.

Italy 248
Portugal 221
Austria 180
Denmark 178
France 168
Switzerland 165
United States 165
Belgium 155
Japan 153
Iceland 150
Sweden 148
Spain 146
Australia 141
Canada 133
Norway 131
Korea 131
Germany 130
Finland 129
Mexico 129
Poland 129
Hungary 125
Netherlands 119
Greece 113
Czech Republic 92
Ireland 91
Slovak Republic 63
I was all prepared to rant about how wrong he was, but he convinced me.

I've had all kinds of problems with PostgreSQL because its planner would choose a poor query plan in certain situations. Specifically, we don't have a good way of estimating random page fetches for index scans on multi-column indexes.

I also had this weird problem suddenly occur. When one of my tables got to a certain size (about 40 million rows), Postgres started giving a completely different query plan that it thought was faster. The query execution time went from a few minutes to many hours. It took me all day to debug this problem because you simply don't expect the query plan to suddenly change like that.

To tell Postgres that you want the query to run in a different way, you must turn off certain things, like disabling sequential table scans or bitmap scans. You can't tell it specifically how you want it to execute. The reason is pretty simple: SQL is a declarative language. You declare want results you want, and the server figures out how it'll get you there.

I think the author is right. We need a simple language where we can tell the server exactly how we want to get the result. This is essential, because, like the author said, finding the optimal query plan is NP-hard. In practice, most programs run only a few queries. It'd be worth the time invested to try out a few query plans and find out which one is the best and stick with that over having the SQL server replan the query almost every time you submit it.

There could even be third party planners where it could take SQL input and return the resulting executable s-expr if you want to retain that functionality. This way, the development of planners remains separate from the development of the database.
When I was a young hacker (I presume readers of Hacker News will understand my meaning of this term), I had a reputation for finding out how to crash any system--a useful skill when building fault-tolerant real-time distributed systems.

The president of the software company I was at suggested that "no doubt you could break into our new secure file system and down, but please don't." I told him that if I really, really needed to bring down his fancy new server, I would go get the fire axe, break down the door, and kick the server over.

Everyone focuses on securing the bits, but no one worries about the wires. It's disturbing hearing about this kind of attack.
if you want to suggest a better alternative

How about an RDBMS that exposes a relational algebra api and then people can experiment with developing alternative languages/interfaces instead of having a single designed by committee string-eval based atrocity.
Raymond is a no-nonsense sort of guy. Microsoft wouldn't have gotten where they are today without his insight and talent.
Actually it doesn't.

Can you elaborate on what you mean? The presence of duplicates is orthogonal, if that's what you're referring to.

The point is that the output of a query can be consumed by another query (either via views or subqueries), which enables query composition and logical data independence.

SQL databases aren't truly relational databases.

People who get hot and bothered about that are almost invariably cranks, in my experience.
Statistically, wouldn't one expect to find oneself in a many-observer universe (assuming that those universes weren't vastly rarer than the single-observer ones)?
i know who chromatic is, you'll excuse me for assuming that an account created in the middle of the night for the obvious purpose of picking a bone with me (by someone who gives every indication of being a long time HN user) was merely an homage. if that's actually the chromatic of the 5.8 test suite talking then i take back my remark about the shell account.
"Email from others in your office should continue to operate."

We use hosted Exchange where I currently work. Sounds good until you actually want to do anything useful. Today, I got in a battle with their support because I wanted to forward email from one email address to another -- which they wouldn't let me do because I wasn't an "administrator" of one of the domains from which I wanted to forward email, even though I am the network infrastructure manager for the entire company.

So, having this service out in the cloud turned what would have been a two minute job if I'd had a local Exchange server into a five-hour battle with tech support (which I eventually lost because I gave up). In my limited experience so far, cloud computing is ok until you actually need to do something useful.
I think you mean Eric Meyer and the book Cascading Style Sheets, The Definitive Guide (http://meyerweb.com/eric/books/css-tdg/). I really like this book and highly recommmend it.

It hasn't converted me into a CSS fanatic, but it has helped me learn the tech and write better CSS when needed.
Mastering Erlang part 2 - Sequential programming
More than anything, it saddens me how corporations have assumed so much control over our lives -- or that we've ceded it to them.

I am no anti-capitalist, but I want some kind of balance that's definitely tilted in the wrong direction.

And the music industry suing their own customers? Talk about making me pirate just to punish them. Hell, I'll even download Winger now -- just because I can.
I recently made a GUI for a search utility which is filled in, and then it builds an SQL query from the GUI, and then displays the results of the query in another GUI.

My point is that you can map a search to whatever language you like - whichever is best for that utility.

Plus a friend told me about Linq, which is an interesting evolution from SQL. It lets you break up queries over several cores (though that's just because it's iterative in nature).
I'm not sure I understand your argument about stack traces and functions doing nothing. With TCE (tail-call elimination) the problem with stack traces are thus:

* with self-recursive functions it is no longer possible to see how many times the function has called itself (since the stack trace is collapsed to a single entry for the function rather than a proper trace of each call). This is a non-issue in my opinion - unless you have a language that also lets you know what your function call parameters were for each stack frame (if not then you are left with 'manually' working out where the recursion went wrong). As for debugging - it makes no difference since every self-recursive call made has no further effect on the computation.

* with ordinary tail-calls the issue could be a whole lot more noticeable as it means that given an error the stack trace will no longer contain any information on how you got from A (where you started making a series of tail-calls) to B. This one bears more thought (and I'd be interested in how Scheme implementations deal with this).

You further say "You don't record every function call even though that would be very useful for debugging" and I don't agree. Every debugger I've used records every function call on the stack (effectively the path to the current node in the call graph). If you meant that it doesn't record every function called in the history of the execution of the application - I agree that is useful and can easily be handled with a good logging infrastructure (and I'm sure that at least a few good debuggers would support such a log feature too). In fact, such a logging approach would possibly be an adequate solution to the tail-call problem. However that solution would need some extra "assistance" in order to be a valid approach in a "pure" functional language.
It’s Official: MySpace CEO Chris DeWolfe Steps Down
I find this post by a language designer perplexing.

The fool-proof way of getting proper tail recursion is transformation of the program into a form in which all control flow is expressed in the form of function calls in tail position, including the returns. The standard target is continuation passing style. In this form, the stack-building constructions appear directly in the code. The ones that are merely administrative (bookkeeping the stack without real utility) can be eliminated at compile-time. Those administrative constructs include the ones that would make tail-calls use "stack space".

Guido refers to how every "stack frame" is heap allocated so they can't be reused. That's a design choice in the compiler's closure conversion mechanism.

Guido also refers to stack traces and exceptions, but these would be explicitly represented in the all-tail-call form of the program as well. What he means is that the language has no tail positions because there is always implicit work to be done in the language as he defines the semantics. That seems like an odd thing to brag about, but that's what he's doing.

But then I'm one of the programmers who has been permanently warped by learning about CPS, and I thoroughly rely on tail recursion being available and implemented efficiently.
The presence of duplicates is orthogonal, if that's what you're referring to.

Yes. How is it orthogonal?
OK, I sent them to the guy. I'll let you know if I hear back.
wow, very impressive. What about images and such?
Yeah, I didn't mean to really enforce '>' so much as to discourage the indenting (which is causing annoying horizontal scrolling on my side of things).
No data caps, no DOCSIS 3.0? TWC's math doesn't add up
Starting a business is still a little risky and a little hard, but it isn't "zomg I must log 60 hours a week or it will not go anywhere" hard. Trust me. (The notion that hours translates into work is a pernicious lie that we need to eradicate.)

I am essentially a single DINK, earning two good livings for a twentysomething central Japan. The first is as a Japanese salaryman. The hours are roughly similar to what people think an entrepreneur should put in. The second is running a software business in my free time, which I do not really have that much of (see job #1). RescueTime says that I'm averaging about 5 hours a week on it.

As for competition: bah, who cares about competition. Seriously, I have never understood the whole startup "Oh my God, if there are two people in one market its like a cagefight to the death" mentality. There are billions of dollars being spent out there, today. Hundreds of millions in your city. Tens of thousands on many popular search result pages. All you have to do is go out to that vast, flowing river of cash and figure out how to nibble a sliver off a corner off a fraction. Then you work on increasing the size of your sliver, which is quite possible to do without ruining one's life.

For what it's worth, I had no business plan, MBA, or experience personally running a business.
or you just use a so-called turbo sim card that tricks the phone permanently into thinking it's on the ATT network. then you don't need to do any software hacks later on (or be shut down by future updates from apple): http://arstechnica.com/apple/news/2007/08/turbo-sim-add-on-a...
Seconded. Instead of the usual dry "Chapter n: Divs, Chapter n+1: Links" etc, Zen of CSS looks at a number of stunning designs in turn, explaining how each was achieved.

Beautiful book.
This story makes me want to go get my ham radio certification. I've taken the training courses but just not taken the test. I need to get on that.
It was caused by people who were more interested in turning a profit then producing a quality product. What do you think toxic assets are? They're just the financial equivalent of a netbook...3-5 years out and they start falling to pieces. The computer manufacturers are just smart enough not to guarantee them for that long!
Ask HN: Is Google I/O worth $300 and two days off?
http://code.google.com/events/io/about.html

$300 if register by 5/1/2009

$400 after...
It's fairly involved:

http://standards.ieee.org/getieee802/download/802.11g-2003.p...
Did you know? 2.0
var putImages = function() {
// TODO
}

Doesn't look like it supports images yet.