skysight-inc/HackerNews huggingface dataset:
(1) Depends on how different the source language is from the semantics of JS. JS is a high-level language and doesn't have e.g. goto which would make it easy to implement different execution models. If you don't want to create your own interpreter in JS (which would be an alternative to code generation), you have to be manage with functions (and exceptions). If the source language require more powerful constructs like goto or continuations, you are out of luck. (Theoretically you could gain some power by compiling to a continuation-passing style, but since JS engines doesnt have TCO, I dont think this would work in reality.

The scoping rules combined with the distinction between expressions and statements means that it is harder to generate composable snippets. For example you cannot just generate a small "context free" code snippet with a local variable - the scope of a variable is always the function, so you need either to mangle the name to create a unique variable, or create an inline function and call it - but that changes the semantics of return, which again is a hindrance to composability.

I would definitely prefer something like scheme as a compilation target, but it could be a lot worse. Imagine compiling to VBScript :-)

For my particular project which compiles ES5/Harmony to JavaScript it works quite well, but those languages are based on JavaScript anyway, so that is almost cheating.

(2) AFAIK the working group are a aware of the interest in JS a compilation target, but are not at the time considering adding features specifically to make it more suitable for that purpose.
Exactly. For those times that you really need them, I added a #return: method that you can use explicitly:

self return: [:ret | .... ret value: foo ...].

But you only pay the cost of the try/catch/throw when you actually use it.

FWIW, I've found that the lack of explicit returns really isn't a problem, at least in the code I've written and ported so far.
C.A.R. Hoare wrote a whole book on CSP

http://www.usingcsp.com/
Or you can do 4 one-hour interviews, but have each interviewer assess something different; personality fit, ability to code, domain knowledge, and... well, maybe you only need 3 interviews, if those are the three axes.

4 people asking the same kinds of questions is silly. But it's hard to override the "this candidate can't write bubble sort" veto.
I think Joel and Google are right on this one. Letting a bad one through is much worse than missing a good one. Having half a dozen interviews, rather than three, may seem tedious, but is probably worth it. Also, companies already do five-minute interviews. It's called a phone screen.
Wow, I hadn't heard that Randi has cancer. I can't seem to find any more detail than is in the article, but this is obviously very bad news.
The Most Effective Treatment For Diabetes Type 2
I don't get it. At the beginning of the article he talks about the dangers of locking IPC (inter-process communication) calls, then to prevent this, he describes a lock-free mechanism using the CAS primitive, which can be used only in-process, not between processess.

The TransferString function he proposes seems overly complex to me, using locks would make it more simple and even faster. It would almost make the code look like "lock(); memcpy(); unlock();" which is not prone to deadlocking.

I even downloaded the source code to the article, but he uses threads to test it. Anyone care to explain this thing to me?
I'm sure someone around here could whip up a Python script to do this fairly easily (at least on a nix system with a dictionary file).

Or a Perl script that looks like an ASCII telephone.

Or a Ruby DSL.

...

Go!
Algorithmatic: A global repository for algorithms from all fields
What you're calling a "gimmick account" may well be a way to shield oneself from the negative karma associated with asking questions that go against the downvote capacity of the unwashed masses. The parent is clearly making a statement that goes against what the recent wave of HN users seem to be upvoting.

I have been a long-time lurker here, but felt compelled to create an account to post in support of the parent. There has been too many submissions lately where there is a low barrier to entry, inane discussion, and no connection to hacking.
Not that I'm condoning the behaviour of the Twestival organisers, but I find it hard to sympathise with the venue, given that they continued reserving the date for 'months' with no contract and no deposit paid. They took a risk on a clearly flakey client, and it didn't pay off.
I already have Derek's blog in my rss-reader (and I like it), so it seems a little weird and confusing that his posts reappear oh HN regularly and that often. I feel it somehow makes him less cool. Doesn't anyone feel this way too? Let's just all add his blog to our readers finally and not repost anything here.
Exactly. This is one of the posts where the blog commenters would be all over him, if he had comments enabled. He throws decades of industry expertise out the window. The dead give-away is that he tries to pass off a five-minute interview as a new idea, when there's a common and less-expensive practice called The Phone Screen.
I'm the author.

1) Another poster has already responded to your Gmail comment; as he pointed out, I was forwarding mail, not deleting it, so the company still had all my mail.

2) Regarding the use of IM at the hospital: This would be a sensible explanation if the hospital also blocked all other unencrypted communication. They do not. Here is the senselessness of this policy: They allow people to use Gmail but disable the chat portion of Gmail; the only reason for this is to stop them from goofing off.
I think you're wrong on this one. I think the OP is on target and your joke is an example of its validity. I also think your posting of typical responses is you establishing your position in the HN hierarchy. Since you can list all of those typical responses, obviously you have been here longer and since you've been here longer, you're the man dogg.

You also belittle the OP calling it stupid. It's not stupid. It's the result of perhaps many years of research by people who are patient and observant.

The article echoes the feeling many, including myself, have had when making a joke in front of a superior and gotten that stern look of someone who feels their power being subverted. "I want people to feel my wrath and you are cracking jokes..." It's a subtle show of disrespect of the social order.

It's also poignant because we've probably all been in situations where we were compelled to laugh at a joke that wasn't funny to show our allegiance to the joke teller. This happens a lot when someone is making a joke at another's expense. If everyone laughs, then all is okay, the leader is still in charge. But if someone doesn't laugh, then everyone knows who is really on the side of right. Laughing at bad jokes shows loyalty and disregard for honesty at the gain of social credibility.
It depends on your goals. For me, it's not so much about difficult to implement as whether the generated JS is idiomatic enough for the various optimizing JS implementations (V8, SquirrelFish, TraceMonkey) to handle it. With Clamato, we've shied away from implementing language features until we could see how to do them in a way that wouldn't hurt optimization (the only exception I can think of is the Smalltalk cascade syntax, which is implemented naively and slowly for now, but it's obvious that with a bit more work it could be sped up).
Plato:

Then, as I was saying, our youth should be trained from the first in a stricter system, for if amusements become lawless, and the youths themselves become lawless, they can never grow up into well-conducted and virtuous citizens [...] I mean such things as these:--when the young are to be silent before their elders; how they are to show respect to them by standing and making them sit; what honour is due to parents; what garments or shoes are to be worn; the mode of dressing the hair; deportment and manners in general. You would agree with me?
Sorry, it's easier to copy&paste the <h1> than the actual <title>
Absolutely. He was reported saying: "A hacker's strength flows from Lisp."
The Limbo programming on the Inferno OS makes great use of co-routines.
http://www.vitanuova.com/inferno/
My favorite example of that are "protothreads", stackless "threads" in C introduced by Adam Dunkel, and related with the contiki project.

An implementation of the paper can be done in a 130 lines big header, and they conveniently replace state machines with straightforward sequential code.

http://www.sics.se/~adam/pt/
... that does indeed makes me want nothing else but to run over such lovely road companions.

Your automobile is not a toy, it is a multi-ton industrial machine.

Killing people with it is not a joke.

If you find that driving so aggravates you as to leave you feeling a desire to run bicyclists over, you need to reevaluate the amount of time you spend driving.
Combined with this graph, I think that's a pretty reasonable argument:

http://www.indeed.com/jobtrends?q=php%2C+java%2C+ruby%2C+per...

Those languages are growing, but none of them are making significant gains in terms of marketshare.
An example of a solution looking for a problem.
It's very similar to OpenGL actually. I can't defend their choice of syntax, but at least they're consistant.
Agreed, it made me want this visualization tool not just for the C64 but for x86 linux.
Save modifies the method in the current environment. Commit does an HTTP PUT back to the webserver (which, on clamato.net, is not configured to accept PUTs, so that will always error). You end up with .st files you can manage in git or anything else.

You should be able to just ignore the commit errors and keep going through the tutorial, I think? But to get rid of them, just search for the "save" method, and remove the line that says "self commit", and then save it.
The problem is actually, more or less, building up the search index - this is only an issue the first time you do a particular kind of search, and it's fast after that. This involves parsing all the source code, which is a recursive process, which FF doesn't optimize (whereas Safari and Chrome zip through it much faster).
I'm sorry, but to me the notion that an idea for a website site is something you can steal sounds absolutely ridiculous. Did Larry & Sergey steal the idea of a search engine? Did Hacker News steal the idea of a news site where stories are rated by recency + popularity? Did Etsy steal the idea of an online marketplace? I can't believe that on a site like hacker news, where virtually everybody is trying to do what somebody else has done only a bit better, people would be whining about the notion that one can own idea that others could steal through better execution.
Yeah. Sometimes you try to avoid having to do business the way everyone else does, and sometimes it costs you, which sucks.
1. Why does my country have the right to be occupying Iraq?

2. Why should my country not support an international court of justice?

3. Is my country not strong enough to achieve its aims fairly?

4. When the leaders of a country cause it to do terrible things, what is the best way to restore the honor of that country?

5. Is it possible for potential new leaders to raise questions about their country's possible guilt, without committing political suicide?

6. Do I deserve retribution from aggrieved people whose lives have been ruined by actions that my leaders have taken without my consent?

7. How can I best help set in motion a process by which reparations are made to people who have been harmed by unjust deeds of my country?

8. If day after day goes by with nobody discussing uncomfortable questions like these, won't the good people of my country be guilty of making things worse?

Alas, I cannot think of a satisfactory answer to any of these questions. I believe the answer to number 6 is still no; yet I fear that a yes answer is continually becoming more and more appropriate, as month upon month goes by without any significant change to the status quo.
I don't give a shit about using my real account to speak my mind, I have no idea why people on HN are afraid of that.

If I had my way the names seth godin, tim ferriss, derek sivers, or any number of these quack bloggers would never show up in HN. I come here for business and technology, not bullshit self-help articles on agenda-having auto-promotional blogs.
I was there when this was taken. I'm pretty sure it was 2006. It was a small plane, and we were told ahead of time that it was coming, although this is cropped too small to see the fun stuff people did to prepare, like build a huge model of a cylon raider in a nearby field.
The client was doing for charity. Which, as I'm sure many people know from experience, gives them carte blanche to be arseholes.
> Let's face it: scientists, engineers, hackers are the tip of the spear, the guys taking all the bullets and all the risks

I used to think this until I started running a business. Business people take the risks. There's nothing stopping a hacker from being a business person and often times there is great overlap, but let's be clear about the semantics here: someone puts up the money for an engineer to do his job, and that's the business person.

Business people fail constantly and with no fanfare. You may not realize this because you're a hacker that's only worked for successful businesses where the management has tricked you into thinking you are responsible for the success of the business, but I assure you that is naive and you are being manipulated successfully because your business people are smarter than you.
I usually ask that question too.

I have a kind of half-formed theory that despite the fact that so many people like art based on the "wow, it looks so real" factor - it's actually the extent to which it DOESN'T look real, but still references reality that it's impressive.

In this particular work, there's kind of a glowing, excruciating detail that you don't get from photos, or from looking at those kinds of objects normally. Artwork would have to be pretty boring to really "look real."
Fix: Logging out during a noprocrast timeout should be disabled.

Couldn't you just delete your cookies to get around that? And, if PG implemented something that tied a login to an IP, then you'd run into issues with people behind NAT routers.

A better fix would be to block any actions on the site (loading any pages, disallowing logins, etc.) when your noprocrast timeout expires. If that was done server side, then you could browse the site anonymously to get around noprocrast but you wouldn't be able to login and do anything until the "work period" expired.
Turing completeness is actually 1. easy to achieve (even accidentally) and 2. undesirable in many circumstances (it makes code hard to analyse and process by machines and the semantics, what you really meant, get lost in the noise).

There's a reason there's no way to express loops and varibles in HTML, for example. That's the principle (or rule) of least power at work:

http://www.w3.org/2001/tag/doc/leastPower.html

Also see:

http://en.wikipedia.org/wiki/Turing_tarpit
This could explain why I and my colleagues have more laughter and fun when the boss and one or two of the most senior people are out of the room.
So you recommend the switch?

What would happen if you didn't switch? Would you be allowed to use the next service pack?
http://en.wikipedia.org/wiki/Jamie_Zawinski
You can use the CAS primitive between processes. It is guaranteed to be atomic, which is why semaphores are usually built on top of CAS.

He essentially packs 4 byte strings into integers (assuming 32 bit integers) in an atomic manner. In the strictest sense there are no locks here, but at the end of the day he treats each memory location as its own lock. He also does some busy waiting, which is just a good old spin lock:

while(!InsertAt(data,insertedAt));

Interesting concept but nothing too new. I would also caution against using this code without understanding it first. I don't see much error checking in there.
Agreed, from what I've witnessed, humour is usually used in a form of empathising with peers or a form of group-initiation (new people tend to get poked fun of to see if they're good natured vis a vis a good fit in the group). I tell the joke about how I set a boiling pan of water alight (it's true, and I'm not sure how) because I'm a far better cook than most of my friends; I use the joke to actually reduce any social imbalance because I make it at my own expense. I could easily make a joke at my friend's expense, but then we likely wouldn't be friends for very long.

There is a very big difference between being fun and making fun. The OP IMO is way off, perhaps this is the social norm in Germany, but in Anglo-culture most jokes are self-deprecating. It's rare that aggressive (belittling or demeaning) jokes are made and go over well, people in senior positions using this type of humour are at risk, in fact it's one of the main reasons employers get sued because it frequently creates a hostile work environment. If you think your joke is so funny that you want to get sued over it, well I believe it's still a self-depreciating joke, because either way the joke ended up on you, but it depreciated your bank account too.

The few exceptions when aggressive jokes are allowed and found funny is usually between close friends or family and it's usually classed as a roasting joke where the entire point is that they're respected more for showing their good nature.

Comedy on TV is very different from comedy in real life. The reason why most doctors don't crack jokes is because they're insured to work, if they start insulting their subordinates with aggressive jokes, their insurance goes up and the same is with almost any antisocial behaviour, because the insurance company is thinking "How long until this idiot calls an obese patient a tub of lard and we have to fork out a hundred-thousand dollars to shut the patient up".
Philip Greenspun’s Why I’m Not a Writer and Hacker News
Oh I agree. When a company has such a long storied history like Lucent then there can be many butterfly effects. It's just lately (past 2 years), the financial picture for Alcatel-Lucent has gotten really bad.

Another factor for such a huge decline was it was at a speculative peak in the 2000s. Investors figured that as the internet switched from text to rich media (video, voip, etc), there would be huge bandwidth demands. A little new gadget called the cell phone was also on the rise. The telecommunications infrastructure would have to be laid reaping huge profits for ALU, they all figured. The stock price got pumped up and when, the company could not deliver...
My guess is that the value of the assets traded by Jane Street is much smaller than their bankroll. If the assets are something like 80% of the size of their bankroll I'd suggest doing a sanity check after every trade.
Developing ideas take so long because of the present academic ownership of research. Is there a reason why research is a monopoly of academic bureaucrats called PhDs? There is no reason for this. The best reasearchers do research for the love of it not for career. Best researchers are independent.

Freeing the research from academic domination will lead to immense advance in our knowledge. Wikipedia showed that freeing the organization of the known knowledge from the monopoly of the academic middlemen is a good thing. Let's do the same for the unknown knowledge. A research factory employing a huge number of unskilled workers trained to do one thing well (instead of an unnecessary and long academic education) will solve research problems faster and cheaper. Let's eliminate the middlemen in research.

I wrote about this research factory here.

http://zeynel1.wordpress.com/2009/08/29/research-factory/
"Having said the above, I'll partly take it back. JS isn't completely object code in the sense that you can generate it and forget about it. You need to be able to debug it in the web browser, and that means you need to be able to read it. In that sense, it's not really object code."

I'm pretty sure it must be possible to 1. preserve the "semantic trace" of compilation from high-level Lisp to low-level JS and then 2. write a high-level debugger that, given a piece of object-code that went wrong, points to the high-level code that generated it.

A complete solution might be intractable but even a partial solution could greatly help debugging.
Geller's probably right about the promotional aspect of skeptics.
http://www.wikihow.com/Quit-Facebook

wikiHow - The How-to Manual That You Can Edit
http://www.wikihow.com/Special:Randomizer
Their website still lists DNA Lounge as the venue...

http://sanfrancisco.twestival.com/
A page with Q & A such as these should automatically have a visible timestamp on the bottom.
Awesome, adding it in the email is a lovely touch.
Well, that's all the better in that case. You've got two radically different computer programs, and you only blow up if both of them go wrong. I'd feel much safer with that scheme than a scheme where the computer programs are similar because then they might both share the same flaw.
Once I was interviewing someone with a Ph.D in some vaguely IT-related field. She seemed kind of flaky but I assumed it was because she was a lot smarter than I was. I pressed on, and an hour later discovered that she didn't know what a typical size for a C pointer was. She was actually quite indignant when this occurred, saying in so many words that this was beneath her. Anyway I'm glad she was not hired, and didn't end up managing me. Our team worked on a project where data structures and storage were paramount concerns.

The moral of the story is, it takes a lot more than 5 minutes to figure out whether someone is hirable, and often a lot less than a month.
Thanks for depressing me ;-) -- by and large we're in the same sorry situation 9 years later, aren't we?
Neat. Is there a class hierarchy browser?
I'm going to project a lot of personal interpretation on this one - but it sounds like the CEO was an "idea man" who tried to create a clone of another software package because making software is easy, right?

My buddy who knows how to program will be the project manager and he can tell me if the developers are trying to snow me - because project management is just doing some spreadsheets and talking to the techies, right?

Then we hire a bunch of inexperienced (and easy to bully) developers to build out the idea - no need to pay top wages for a bunch of typists in t-shirts, right?

They had neither methodology nor experience in design, implementation, and QA. No one should have been shocked when the project failed, or by the price tag. Pumping money into a project is no assurance of quality.

At least the developers got to feed their families during the debacle.
This is a fascinating article. Since it's a book review, the author isn't really taking any responsibility for the information presented. I find myself wondering how much of this is actually true.
A fix for broken TextMate arrow keys in Snow Leopard
An excellent paper on coroutines is "Revisiting Coroutines" by Ana Lucia de Moura and Roberto Ierusalimschy (http://www.inf.puc-rio.br/~roberto/docs/MCC15-04.pdf).

Lua has had excellent support for co-routines for a couple years, and, since its implementation is "stackless" (in the same sense as Stackless Python), its coroutines don't have the limitations as standard Python's. (It doesn't have a GIL either...) There are a couple papers about coroutines in Lua, but "Revisiting Coroutines" is the best overview. They're surprisingly versatile.

The paper shows how to efficiently implement one-shot continuations on asymmetric coroutines. (There is also a small C patch by Mike Pall that adds a coroutine.copy function to the VM, making multi-shot continuations possible: http://lua-users.org/lists/lua-l/2006-01/msg00652.html, and note the fix in his follow-up post.) Implementing continuations in terms of coroutines rather than the reverse (as is commonly done in Scheme) often leads to clearer code, IMHO.