skysight-inc/HackerNews huggingface dataset:
I know it's a nitpick, but there are three dragon books. Yes, the red and purple books are only different editions, but with 20 years and an extra author between them I tend to consider them different books.

I'm suspicious of anyone who claims to be an awesome coder. That's an honour that others bestow on you. Instead, strive to be a better coder than you are now.
It's rather sick, especially if you are going on a suicide mission, there is nothing to be avenged there, and there is nothing 'unbeatable' about dad.
Fr Friday: It is now Safe to Enable File Upload
Fix the crack, not the window
Ask HN: Good place to find design gigs?
I was wondering, since there are a few designers on HN and people posting design gigs, what's a good place to find design gigs?

I myself am a designer and have found HN a great resource for clients/partners(if you'd like to see my badass work, shoot me an email at hajrice@gmail.com)
There are two things that Ruby has that Python doesn't have a good syntax for. One is blocks; in Ruby, I can write:

foo { |x| puts x }

Whilst in Python, I need to write:

def tmp(x): print x
foo(tmp)

It's not really very nice.

The other thing is that Python has no concept of context. In Ruby, I can type:

foo(x)

And it will execute foo(x) for the containing object. In Python, the closest equivalent would be:

self.foo(x)

This syntax difference may seem trivial, but it allows you to do some very interesting things to classes. For instance:

class Foo
def self.property(name)
define_method(name) do
instance_variable_get(name)
end
end
end

class Bar < Foo
property :x
end

Now the class Bar has a method called "x", without us needing to explicitly define it.

Ruby's instance_eval method extends this further, allowing you to execute a block of code in the context of any object you wish.
I'm not pg but I don't really understand this website. What does it do? I signed in and saw a map of my location. Tried to change my location, but no luck.

The name sounds like it's a list of something that's currently hot/cool or something like that, but it seems like a check-in thing (according to the interface)

Also, the font you are using in cufon doesn't have any foreign characters, so my name is displayed as:

Arnr Heiar Sigursson

when in fact it is:

Arnór Heiðar Sigurðsson
Pro: I like the interaction between multi-touch used for multiple players; this could be very interesting. Geek is full on. I wonder how it differentiates between the pieces on the iPad.

Con: One night of playing risk or monopoly on a touch surface with kids or drunken geeks, and it will be ruined.
A fair point. Maybe 'optimum' would be a more useful concept here than 'centre'... I see Python's position on the dynamicity (ugh) spectrum is in line with it's philosophy on readability.

(On a side note - your definition of 'extreme' rather depends on what outliers you have. I do love it when the US media refers to the Democrats as 'left of center' ;)
I always thought the Jobsian reality distortion field was more inspirational. It turns on and engineers start thinking along the lines of, "Yeah, I guess we can pack a mobo into a single square inch."

What he described sounded like vanilla intimidation. I could feel the guy squirming in his seat.
Mel Brooks and the Bankers
Japanese Internet Marketing Strategy pt.2
Six things I wish mom told me about SSH
Quick and useful tips for SSH that you probably haven't used so far.
It's actually a Usenet post on comp.lang.python. You sound old-skool enough to still have access to a NNTP server ;-)
More ideas also creates more failures (learning experiences) and problems (source for more ideas and potential revenue streams).

This is probably why there are so many project management/bug tracking tools in existence.
Well, 100k is better than 40k
No, my property right is not like owning all copies of the software. It's like owning the exclusive right to give a copy of it to someone else.

Saying that piracy protects me against open source software is silly. Suppose that X people are buying my software, Y are pirating it and Z are using an open source alternative. Now magically all Y people decide they don't want to pirate anymore. That probably means that some of them are going to go with the open source software and some of them are going to pay. Yes, fewer people are using my software, but I'm getting more money so who cares?

Pirating software is very similar to not respecting open source licenses, for example closing down a modification of GPL'ed code. Why?

Because when you put a GPL license on software you are saying "you can have this software but you have to do something I want in return: if you make a modification you have to make that open source so I and others can use it (among other things)". When I charge for software I'm saying "you can have this software but you have to do something I want in return: pay me $x money". In the first case you are asking people to `pay you back` in work, in the second case you are asking people to `pay you back` with money.

> work on the problem space of making money in the assumption of infinitely copied software

Yeah, I'd like to work on solving nuclear fission too. This is just not feasible with certain kinds of software.
The whole thing emphasizes the appearance of hard work rather than actual results, which is an attitude I hate.
Taking Devil's advocate: tell me what, specifically, you get from the Kansas City Tribune's warmed over regurgitation of a wire service report that you don't get from Associated Content here?

Darn it guys, paying marginally literate people who know almost nothing to scrape together a few words and throw ads against them was our business model. Go get your own!
From http://ycombinator.com/newsguidelines.html :

In Submissions

... If you submit a link to a video or pdf,
please warn us by appending [video] or [pdf]
to the title.

I've just had to hunt through 50 tabs in 3 browser windows on 2 desktops to find the auto-starting video. Please warn us.

Thanks.
Ah, you are right. Thank you for correcting.
Facebook | Dritan Bita
A black hat SEO once described the field as "finding out what search engines want and giving it to them until they bleed."
Four signs of a mediocre blog post:

1) The title contains the number of points the blog post is going to make.

2) Each paragraph is separated by big text, bold text, or an irrelevant cat picture.

3) The actual text, excluding the big bold text, reads like it's the last 200 words of a fifth grader's first 500-word essay.

4) Each point is so generic as to be applicable to any person or situation.
I think we agree on almost everything.

I was just theorizing that the magical force behind Germany's constant industrial success is having rationality deeply rooted in their culture.

I probably just misunderstood your comment.
I think you lost the typical user at "whoever wants to download the source". Facebook users don't want to do that

Typical facebook users are not early adopters. None of these projects are even close to targeting typical facebook users yet.
You are right to be suspicious of anyone making claims of awesomeness. Most of my signs were metrics that I use to evaluate coders, improve myself on, and encourage others in my organization to do. (Also, blatant abuse of the word awesome is common to my character)
So, there are two ways to do things, an easy way and a hard way. Once you've done it the easy way, it's probably a lot easier to cover up the traces and make it look like you did it the hard way.

And a guy who is famous both for being incredibly clever and for being rather arrogant and insecure told all his competitors that they were incompetent if they didn't do it the hard way.

Programming is a form of mathematics. Maths papers are terse and beautiful and look as though they have sprung fully armed from the head of Zeus.

But you don't see the days of hacking through examples and crazy leaps of intuition (that are almost always wrong) in the finished paper, because the mathematician removes them from the story in order to leave an argument that is easy to verify.

I am not saying that Dijkstra couldn't do things the hard way. I would be amazed if his best stuff was done the hard way.
Then give me open protocols and endpoints so that I can write C# code to talk to it.
Whilst technically impressive, it reminds me of the 'NASA spent millions developing a pen that writes in space vs Russians used a pencil'.

Googles competing pdf reader just renders pdfs into images which also have selectable text.
Massage and Health
I think an awful lot of the code run on Android will be native wrapped in some JIT-ed API calls. I think the parts of the browser that do the heavy lifting are all native so this might not be the best example to use.

For the differences in responsiveness between iOS and Android look elsewhere.
NoScript is a specific Firefox extension, not general advice to turn off Javascript. NoScript lets you whitelist trusted Javascript, so when you visit that spam site, its Javascript doesn't run. Meanwhile, when you visit omg-animated-lolcats-yay.com, you notice that the lolcats aren't omg-animated, so you click one button to whitelist the Javascript, and then you get your omg-animated-lolcats forever. Yay!
Global Warming Political Enemies List
It's not that doing rounded rects would be hard, but that doing them really fast would be hard.
Man, for some reason a mobo in a single square inch sounds like a great idea.

Must… resist… RDF…
>> "so you click one button to whitelist the Javascript"

It's amazing how quickly 'click one button to be able to view this website' would irritate the hell out of anyone.

It's certainly an option for geeks or security freakouts, but not really an option for normal people.

Also how would a 'normal' person decide if a website is 'safe' to enable js or not? If you're the kind of person fooled into clicking for 'hot bartenders' and filling out a survey to get access, you're probably not able to decide if you should enable js or not.

The solution isn't to shift responsibility to users, it's to fix the browser flaws that allow clickjacking to happen.

The example given here should be a textbook easy to fix bug in browsers. It's a browser issue which should be high priority.

An iframe which isn't visible to the user, should not be able to receive input from the user.
I would guess they use rear wheel sliding locks [1]. Here in Amsterdam they are really popular.

[1] http://austinontwowheels.org/2008/08/06/review-axa-defender-...
It looks like Appleseed has at least being doing the "Release early, release often" thing, which is very important.

I really can't say that Diaspora has been doing that better. Or at all.
Leaked Screenshot Shows a Cleaner, Simpler IE9
If it's so easy to fix, fix it?
I agree to an extent; I see fundamental attributes common to people who do anything awesome.

One could map (and make the general case) the signs of being an awesome human being: passion for learning, enjoys honing a craft not just for a paycheck, has a sense of beauty, open mindedness.

The art of determining awesomeness or potential awesomeness is to figure out what questions to ask someone that will reveal the nature of their character.

People can be as awesome as they want, but they have to sell it.
Thanks, its something I knocked up in a day.

The plan is to make a Natural Language Engine, giving you all sorts of interesting facts about your block of text.

I didn't think of doing a history of all text, thats actually a really cool idea! I'll have a bit of a think about how to implement this in a nice way.

What you see is the first step to hopefully something that I can grow over time.
That teachbook thing is almost a foregone conclusion unless they have a very large amount of money in the bank or get a big sponsor.

If I were them - and I'm not a wuss - I'd change names pronto. You pick your battles, and in a case like this the downside is considerable for very little upside, already 'teachbook.com' has had a bunch of free publicity, more than they could hope to get otherwise.

If a steamroller the size of FB aims for you and you're not 100% in the clear (and I really don't see how they could make the case that they came up with the name independently and were not aware of the facebook brand and website) then you fold.

The person behind facecombinator.com is a wuss too, because they registered the name through an anonymizer, that speaks of 'bad faith' to me. If you've got nothing to hide and you're above board, don't hide.
Ron appears to have got what he wanted, starting from a very bad position!
My thought pattern was more along the line of urban areas have plenty of apartments available off campus. Rent fluctuates according to the local market: my own city is a steal for students right now. Some markets are always ridiculously high, e.g. NYC and Boston. In less urban areas where land is available, universities can easily build dormitories. Of course, I haven't seen more than a handful of universities so I'll admit to a small sample size.
And thus, benefits from trade.
Are there more blogs like this?
... and wait for the computer to reboot every time you screw up ...

It can be a slow process with less 'instant gratification' than web programming.
So, basically they have just reverse engineered the already very simple Luhn-10 algorithm, and labelled it as a "new algorithm" to generate tokens which get validated by Luhn-10.

How many lines of code was that? I would be surprised if the guys have written more than 10 lines.
Given that the switch-case construct doesn't exist at all in Python, I'm pretty sure he was talking about character case.
Apple-Centric Observers Get the Facts Wrong: H.264 Still Ain’t Free
I don't think it's technically hard to fix at all. I think the more likely issue is that it may break badly coded websites that do stupid stuff. Chrome+Firefox should definitely do it though.

You can't really just cop-out that if something is open source then it's not fair game for criticism. Firefox has some big bugs open for months before they get worked on.

To prevent the example cited from working would likely take 10-20 lines of code in webkit/firefox. But it'd likely take a week or so to get up to speed with the project to be able to know where to insert those lines of code. Fixing other methods of hiding an iframe would likely take a bit more thought, but it's hardly rocket science.

I have enough to do without fixing browsers ;)
I do own it. By law. And they cannot legally copy and distribute it. Read up on copyright law.

> If you think commercial programmers are getting paid for the value they provide, you don't understand the market or economics. (Hint: if software cost that much, no one would buy it.)

So are you saying that nobody is buying software? Software does cost "that much" and people are buying it.
Yes, in this case, that's exactly what I do.

But the point is that I shouldn't rely on group of volunteers to preserve compatibility. For Lucasfilm games it works, for others it doesn't (other "classic game", Diablo II, has PPC/Classic installer and PPC/Carbon update. It is uninstallable on current Macs). It is not just about games either - how many people were satisfied with Photoshop 7 (PPC/Classic), but they had to purchase newer version just to be compatible with their platform? Specifically Apple had quite a lot of ABI breaks in their history.

But back to the article - it claimed, that architecture specific binaries are not a problem. I think, and many people agree, that having architecture independent binary is a good thing and provides real benefits not just to developers (fewer builds and reduced support), but to end-users too - compatibility with wide array of devices. You can develop for Snapdragon/Hummingbird (ARM) device and the same binary will run on Moorestown (IA32) or some random Freescale (PPC) too.
I prefer end pinning. Puts the trash in a predictable place. Also, it doesn’t look horrible if you also do:

defaults write com.apple.dock no-glass -bool YES
Bochs isn't particularly slow to boot :)
The bikes are locked but not fastened to something.
So the butlers simple lift the bikes, locked and all, and put them in the right place.
Get with cloud or get fired: Microsoft
I saw a PBS documentary sometime in the early 90's about the Labor Movement in the US. Just after getting the 40 hour work week, they pushed for 32 hours because it was found to be optimal. Industrialists fought harder against that one so Congress felt it was a worthy compromise to leave at 40. I'd love to find the study the Labor Movement based its conclusion on.

My own experience is that I'm maximally focused for 6 hours each day but it's split into 2-3 hour bursts.
How did non US citizen founders funded by YC get allowed to work in the US?
Hi, first time posting here.

I've been thinking about applying to YC but the thing is that I am not a US citizen. I know I can travel to the US to do busines (attending meetings and such) done so fo my current employer. But how about starting a company and writing code?

I've read somewhere that YC has funded startups with non US citizen founders so it should be possible somehow. If there are any YC funded startups founded by non US citizens reading this (or anyone else that knows anything about this), how did you do it?

Note that I do not have a green card or visa or anything like that.

Cheers
The greatest of all modern minds.
@derefr

It is compared to QEMU :)
Hackers accidentally give Microsoft their code
Not these days it isn't. People like this guy and Linus had nothing like that when they were working, though.
When Value Judgments Masquerade as Science
Considering of course, you should try to keep the ego in check, I would say "too late".
On interviews, I like to ask a couple questions from Programming Pearls. I know it's old, but I love that book.

For estimation, "how many gallons a day flow out of the Mississippi River?" Most people say "I don't know" and won't even try to answer. But when you see someone come up with an estimate and rationalize it, that's a good sign. I don't know what I'd do now if someone actually went to Wolfram Alpha, Wikipedia, etc. and looked it up.

I like to see coders answer things like: you're building a 40' fence with 5' fence sections. How many fence posts are there? It seems trivial, but I'm amazed how many people get it wrong at first ("8. No, wait, 9. Yeah, 9.") and really amazed by how many never realize that 8 is wrong.
VLC media player 1.1.4, fixing the DLL Hijacking issue
Filling in the blanks. Part I
which has nothing to do with tuition fees.
Yes, that was one of the main problems when I was busy with this. I had a guitar footpedal switch wired to the reset button so I didn't have to dive under the desk all the time.

This was before the age of virtual machines on PCs. Getting it to become self hosting took about 6 months or so.
We do a real-time communication and relationship management (CRM) software and currently thinking of this RFS but would like to hear some feedback first.

First - our system lets businesses to invite their customers and prospects to the joint workspace (target customers are B2B companies. Facebook-like system - see screenshots here: http://blog.smartupz.com/2010/08/summary-of-key-elements-of-... ).

If the sales cycle is longer you have a lot of email chaos (both on sales team end and customer team end) and we help those teams to avoid that, build stronger relationship and maintain their own business social network. We also automatically track sales cycle progress based on the communication that is going on in the system.

And yes - we are using this right now and people prefer this to an email. It really works (because every action you make in the system sends an email notification it's not really such a huge workflow change).

Anyway - we see that Instant Personalization could improve shared customer workspace a lot:
- customer could see "social proof" - who else in his social network did business with that company? And instantly ask for the reference.
- auto avatar and contact info
- Sales team could have instant info on what current customer likes (i.e. food, hobby etc.). This is a bit creepy but could speed up the sales cycle.

What do you think?
Firefox has some big bugs open for months before they get worked on.

I have enough to do without fixing browsers.

You explained your own observation.

You can't really just cop-out that if something is open source then it's not fair game for criticism.

Open Source is certainly "fair game for criticism". But you aren't going to get anything out of criticism, because criticism cannot write any code. Open Source is all about people seeing a problem, fixing the problem, and sharing the fix. Nothing more. And it certainly has no obligation to a user who is quick to criticize but slow to fix.

It's the software engineering equivalent of yelling at the TV when the news makes you mad. It's pointless and makes you look insane.
> It's amazing how quickly 'click one button to be able to view this website' would irritate the hell out of anyone.

Back when I experimented with manually authorizing cookies on all websites I visited, it was surprising how quickly the number of cookie prompts dropped to near-zero. There really aren't that many websites that you visit.
Just because they are ARM, does not mean they are the same.

When taking iPhones into account, you must build for ARM6 and ARM7. On Android and native code, situation is the same: G1/myTouch is CPU-wise another ARM than Nexus One, which is different than Galaxy S.

The bytecode solves nicely this problem now, as in You Needed It Yesterday Already.
Fighting Second Stage Compromises
Somehow I had been hoping that that kind of thing would become part of the browsers, giving me more control over the kind of data to give away. Isn't Mozilla working on something like that?

Still, of course everything has to live in the cloud, in case I switch my computer. So I guess Facebook simply took that market...

I wonder what would be a good way to give people their own private cloud? Perhaps CouchDB?
Mashups of the Mona Lisa
The problem with semi-supervised learning (or rather the way it's used here) is that, if you don't label the low-confidence samples yourself, but just leave it alone instead, it might diverge and start producing worse and worse results as it thinks it knows it guessed correctly, but in fact didn't.

Basically, the problem is that you can't make a closed system learn from itself, without any outside feedback. The information has to come from somewhere.

It's a bit like someone giving you two Chinese phrases and their translation (without you knowing any Chinese beforehand), and then leaving you to translate a whole book. You will start guessing, based on what you already know, and by the end you'll have arrived to a (totally incorrect) interpretation of what you think each ideogram means.
CouchDB has a feature for attaching binary attachments to records.
Does Your Language Shape How You Think?
Text is winning.
Many apps and libraries are ported, not written from scratch. You may not have an option to "conform to the NSCoding protocol", because you already have existing code, written before Apple Era.
And this guy (or the people he bombed) didn't have to die.
For fun, here's a classifier that judges whether text is stupid or clever.
Really? They did ARM7 builds at the time?
It's not possible to do unless you fully understand the problem you're trying to solve. When you're exploring the problem you need a "scratch area". In modern times, the scratch area is your programming environment rather than paper and chalkboard.
There is a lot of nonsense in this piece, even though it is an entertaining read. For instance (to pick out one instance) the Tunguska event is generally assumed to have been caused by a comet or a meteorite, not by Nikola Tesla.

He's now also the patron saint of crank science, unfortunately, the kooks seem to have adopted him as their example in their own image. This is really sad because Tesla did plenty (in spite of his many quirks) to further science and the kooks only detract.