skysight-inc/HackerNews huggingface dataset:
I'm clueless about ruby. Never learned it. But this makes me cringe (obviously I'm coming from a different context, but is this really a good idea? And who wants to have a table like this?) ..

>The length of an identifier determines its scope. Use one-letter variables for short block/method parameters, according to this scheme:

a,b,c: any object
d: directory names
e: elements of an Enumerable
ex: rescued exceptions
f: files and file names
i,j: indexes
k: the key part of a hash entry
m: methods
o: any object
r: return values of short methods
s: strings
v: any value
v: the value part of a hash entry
x,y,z: numbers
That's a truly bizarre definition of honorable. If that's actually what being honorable actually means to people, then I no longer want to be there.

In my book, you don't get any points for merely thinking you're right. You only get points for actually being right.
>>> A science education includes absolutely no training in finance, management, organization, public speaking, etc.

So? Scientists often tackle problems that they don't have training in.

There seems to be 2 parts to the myth:

1) Scientists aren't suitable for business. I think this is crap. Mathematicians can do engineering and financial stuff, just not the final sign-off (which requires a licensed professional). Ecologists can analyse a company's strategic position, based on stuff like competition, symbiosis, and other buzz words that they actually understand. Psychologists could work in marketing. This is true for many pure research areas. It's may not be so true for applied research, like biochemistry - a lot of that could be very domain specific, but the tools they use could be applied elsewhere (if the number of graduates and number of research jobs doesn't match).

2) Scientists are doing more valuable work, they just aren't being rewarded. This is sometimes true, but sometimes not.
Ah, I was using the term incorrectly. I meant that one must renounce their citizenship in their birth country to be completely free of taxation. Expatriation can be hard. Renouncing birth citizenship extremely difficult if not impossible in some situations (catch-22s, etc)
Mobile Unit Testing
It probably does, but doubt anyone has bothered to check.
Japan Machinery Orders Fall 8.2% On Month
I don’t understand. Are you a physicist? Why does being pessimistic about fusion give you more free time?
Here's a link for convenience.

http://www.dailychomp.com
Of Colombiana, Contagion, and Miracles...
This sort of activity needs a return on investment - a key part of the note-taking is being able to return three months later (or whenever is appropriate) to those notes and the actions that feel out of the meeting and document what return you got from them.

I worked at one company where off-sites (I don't like that term either, and I now run them fairly often!) were quarterly and basically involved drinking for two days (with some 'activities' and the occasional strategy discussion, which was usually two hours of the two days). Most staff were on below average salaries because the business wasn't consistently profitable.

They really needed to examine the ROI on these retreats - I think they could have done away with them entirely with no change to future growth, and a lot more available cash to bump up a few salaries. Or (more importantly), invested that cash in having someone external (ie, with experience doing them properly) to come in and show them how to run the two days - delivering a healthy ROI that would have made everyone happier.
all activities, or activities with associated revenue streams?
Kevin Mitnick Answers Slashdot questions
Show HN: Made 2 iPhone Apps at the Same Time To Save Time or Make Time Fly
.net Awards 2011: top 10 developers of the year
As a Safari user, I actually totally agree, and it was a hard choice to leave it out of the first iteration. The reason was that this was made for the 10K Apart contest (10k.aneventapart.com) and I was really, really struggling to get the code in under 10k. Having the extra functionality pushed me over the edge. I will definitely be making it support more browsers over time, and adding more options. Or, you could always fork it on github and add it yourself. (https://github.com/nwtn/alphapun.ch) :)
I'm a heavy Ruby user and I've never seen or heard of this until now. The rest of the document is pretty close to what I follow, but this one is theirs and theirs alone.
There aren't enough good programmers. Period. In fact there also aren't enough programmers, period.
Most content is not "translated", it just needs to be differently collated. If you have a company directory, you have the names of every user in the company in a table, and you need to display that information in a collation based on the locale of the viewing user. Having to have a new table for every language that contains the same data as the main table is just pointless overhead. Also, while you can choose the collation at query time, the point of per-column collation is to let you have an index over that collation. Can you please demonstrate how the use case of "company directory" would be cleanly and efficiently implemented using per-column collation?

EDIT: I've been looking more into this COLLATE keyword that they have added, and I'm actually somewhat curious to see if I can make this work (where the optimizer manages to choose the right index) by something like the following, in which case I'm going to be seriously happy... ;P.

CREATE TABLE my_table (a text);
CREATE INDEX my_index ON my_table ((a COLLATE "en_US"));
CREATE INDEX my_index ON my_table ((a COLLATE "de_DE"));
SELECT * FROM my_table ORDER BY a COLLATE "de_DE";
IBM's futuristic storage aims for speed, density
Best quote from article:

"Can you imagine the hedlines if Darth Vader sued George Lucas?"
I think "like it or leave it" isn't really a useful response, and it takes the discussion into the realm of politics. I'm not going to debate the politics, but since I did "leave it", I thought it might be enlightening to share a bit of my experience. (Leaving the USA had nothing to do with unemployment insurance.)

It is not difficult to find first world situations that don't involve burdensome taxes or regulations. One strategy would be to domicile your business in a country that doesn't tax worldwide corporate income, only local income. Believe it or not, most countries meet this criteria. Banking in a second country and living in a third, where the latter doesn't tax your worldwide income (like the USA does, but again, the US is the exception rather than the rule) would result in you effectively living tax free. (A US citizen, owing for their worldwide income would have to pay taxes on the amount earned above the living-aboard exemption.)

Further, even if we decided that we wanted to bring our business back into the USA, the USA does not want us to be located here... because at some of our founders are not US citizens and the hassle and cost of importing a foreign entrepreneur to the USA is much higher than it is for many other competitive countries.[1] There are first world countries that, believe it or not, are welcoming to entrepreneurs who want to relocate there.

So, while I'm not going to go into specifics because if I did, the possible combinations are more than could be discussed here, I can say with first hand experience that there are many, many options for doing this.

[1] Just coming in for a short term stay was more ordeal than I like to put up with, and more than we've experienced with any other country.
KNN indexing!
And I hope they spend some resources in making MongoDB a first class citizen for Django / Rails projects. Like a complete drop in replacement for MySQL. It's already pretty close. Life would be so good if you could use MongoDB as the default for any project and all gems/apps would just work with it. Goodbye migrations, hello autosharding.
It's pretty easy to document poor performance. Any McJob employer can swing it and their margins are almost certainly lower than anything involving knowledge workers.

I understand that no-one likes to do the business-overhead side of things in small businesses. But either the costs of paying (undue) unemployment aren't that big of a problem, or the employer has no-one to blame but themselves for not documenting cause.
Performance is a valid concern, but so far in the tests I've run I haven't hit any real problems. If you encounter any slow downs or real performance issues, I'd love to hear about them (and hopefully eliminate them!)

Thanks!
> Prefer map over collect, find over detect, find_all over select, size over length. This is not a hard requirement, though - if the use of the alias enhances readability - it's ok to use it.

Not too sure about that... I prefer collect/detect/select/reject...

> Keep existing comments up-to-date - no comment is better than an outdated comment.

Ambiguous sentence warning!
I don't think people are being careful about the terminology here. Firing could mean terminating employment because someone is no longer needed (what you are calling 'laid off') but it can also mean terminating employment because they broke some rules or laws (i.e. didn't show up for work, harrased co-workers, etc).

If you are fired "with cause" (i.e. you did something wrong) you aren't eligible for unemployment. If you quit you are not eligible for unemployment. Only if you are fired "without cause" are you eligible for unemployment payments.
"You can fix the game of declaring profit, but you can't fix the game of revenue."

If there's money to be made in fixing the game of revenue, it will be. For instance, you could simply have a different company, say Foo Distribution, Inc., which actually collects money from the theatres, then charges a whole bunch of "distribution costs", then sends the net proceeds as "revenue" to the film investors. This could, for instance, reduce the film investors revenue to near zero. Of course, the production company, or its owners, could be sure to be the controlling shareholders of Foo Distribution, Inc.

In the end, it's not a revenue vs. profit game. It's a power game, wherein those with more power (legal, financial, political) take money from those with less power. The one with the most power will win.

I'll tell you what these guys see in "crowdsourcing". A big fat profit opportunity. A load of suckers that can be conned. In short, the same way financial professionals look at common equity investors, pension fund contributors, mutual fund shareholders. You're going to get taken advantage of because there's loads of money to be made, you don't have the power, and they do. Calling it "crowdsourcing" or whatever newfound appellation you care to toss around isn't going to alter this basic fact.

Startup investment is bad enough on the accredited investor side. I'd hate to see what it's like for crowdsourcing participants.
MongoDB 2.0 Released
Yeah, different people have different experiences.

I find adulthood to be very free. I mean, I'm sure it would be different if I had children, and maybe even if my spouse couldn't support herself, but as is? I pretty much do whatever I feel like doing. I mean, there are tradeoffs, and I have to live with the consequences of my mistakes, and I do need to work a certain amount every few days to avoid destroying the lifestyle I've set up, but beyond that? I can make my world be what I want it to be. I can easily work more and have a larger company, money for cool gadgets or future time off, or alternately, I can work less. Heck, my employee is good enough now that if I really want to I could almost completely stop work (or get a regular full-time job and have lots of money for gadgets.) and let things coast until he gets sick of it and leaves.

If I find a particular task tiresome or unpleasant, I can, generally speaking, pay a small fee and have someone else deal with it, or I can organize my life such that it doesn't have to be done. I go to sleep when I feel like it, and I wake up when I want to.

Nobody is riding me to learn skills that are both difficult and useless. Really, nobody is riding me to learn anything; When I feel like it, I can go learn new things that I find interesting and/or useful. I can challenge myself as much as I like, or I can stay home for a few days and read Asimov's complete foundation series. Heck, if I want structure, I can build my own, or ask others to impose it on me. This is one of my current projects; designing and then implementing some structure in areas where I think structure will make me happier.

But, I value this freedom highly, and I'm willing to pay for it; I jumped from highschool to overpaid programmer/sysadmin gigs in '97, and have put a large part of the difference between the upper middle class salary paid to someone with my skills and the amount of money someone like me actually needs to live towards starting my own business (or rather, towards mistakes I made while starting my own business.) I mean, even now, with my business going fairly well, I'm earning slightly less than the nationwide median per-capita income while living in an area where the local median per-capita income is about twice that, so I've made some sacrifices for that freedom. But it was my choice, and really, I'm pretty happy with how it has turned out. Over the last year or so I've been rather less productive, and I'm focusing on ramping up my productivity for the next year or two. I've made some pretty good progress this month, which is satisfying. but again, this is my choice.

Being an adult is wonderful.
> I'm hoping for a future where you get paid what you are worth and can travel around the world working from wherever you want.

If you're a competent programmer, you're already living in that future. Remote work is pretty easy to get these days, especially if you freelance and do either web dev or iOS/android. I don't do either and I've still managed to live on three continents in the last year or so.
http://en.wikipedia.org/wiki/Cogito_ergo_sum

We create the whole of our reality (the sum of our existance).
BTW, I have a write-up about it here: http://davidnewton.ca/introducing-alphapunch
Motorola Droid BIONIC Review
Startups: 5 things that you need to be doing
In the end is about just starting up, don't wait for it to be perfect before you start... just start.
When you get to know Python, you don't need to "move into" Ruby or (shudder) PHP. It's much easier to learn a web programming framework in Python and how to deploy it, rather than to learn how your second programming language differs from Python.

The sad state of client-side programming is that you need to learn a lot about the messy world of HTML, CSS and JavaScript. Come to think of it, CoffeeScript might be a good language to start with today?
2011 Beauty Festival
I agree with untog and snowtiger. On top of that, it seems that the "queue" is completely artificial most of the time, which makes it feel doubly scummy.

(There was a service advertised here a while back during the first wave of the social-queue-jumping fad - it said you could either get in immediately, or wait seven days. There was no way in heck the queue was that long; I ditched it and found something else.)
That's wonderful. What does your site do?? :-/
Thanks! Now if you do need it, you'll have options. :)
How I Would Do SEO for Hipmunk.com
You could use Jumpcut: http://jumpcut.sourceforge.net/
I think it is a salient point that one of the reasons these "voluntary transactions" are not happening in the rest of the country is because the government has already stepped in.

I would be an angel investor, if the SEC would let me. It is silly that I could blow $20k on a bad stock investment, but can't put it into a tiny startup.

The regulatory burden and the prohibition on "non accredited investors" quells a lot of support the entreprenurial community could use.

Interestingly, you sometimes read stories about immigrants who came to the USA, built small businesses, and then helped later immigrants with investments and loans... resulting in thriving communities (the korean grocer community in LA is an example I heard about.) They wouldn't have been able to do this if they had been following SEC rules!
Pros & Cons of Working with Virtual Teams
"2. If I fire an employee, a portion of the cost of that person's unemployment claims is charged back to me."

Can you elaborate on this? It's something I've long heard and failed to grok. How can an employer, as normal business practice, have to still pay a fired employee any amount?
I don't really think that's desirable. Trying to make a document database pretend it's a relational database may work "ok" for simple things, but when you have code that expects to do things that practical in SQL (think: joins, etc) it'll all end in tears.
This Ruby style guide is based on https://github.com/chneukirchen/styleguide/blob/master/RUBY-... , as stated in the introductory paragraph. That style guide also contains these conventions for one-letter variable names.

Many others have forked this guide and made modifications according to their tastes.
It lets you upload a transparent PNG or GIF and will trace the opaque parts. It then spits out some HTML/CSS/JS that you can put on your site that allows you to click through the transparent parts of the image.
On day one you would only be getting 2.5% not 10% so 8,250$. However, if you have 4x the average senority then you would get 33k x (.75 x 4 + .25) = 107k which would be much harder to walk away from.
Impending Launch Of Amazon Kindle Tablet
Your 4yo knows scratch? I'm trying to get my son interested in programming but it's been frustrating for both of us. He is a lefty in house of righties so the mouse never works the way he wants it to.

If he doesn't make a good programmer he'll be a master mechanic. I've given him a precision screw driver set and he's gotten quite good at taking things apart.

I'll give scratch another try in a year or so.
Reddit never gave me a T-shirt
Yes, Money , Swag , and Beta releases out the yang.
I'm imagining the full text search of the archive to be a factor, but then again I don't know much about search.
Cogito ergo sum - "I think, therefore I am"
git-tfs
Hi schiptsov. Not far from the truth, actually! I just finished watching the online video lectures on the MIT OpenCourseWare page. I already knew about infinite lists and streams from Haskell, but their lectures inspired me to make a Javascript port. Their examples are quite nice too. Your comment made me think I should add a link to their book, so that's now included in the 'Tribute' section. Thanks! :)
In the end is about just starting up, don't wait for it to be perfect before you start... just start.
Novice code isn't necessarily imbecilic code, you're conflating the two. If I'm otherwise proficient and have a grasp of hardware conceptually, my iOS code isn't likely to do those things you stated.

(signout from subthread)
Dilon, glad you liked stream.js. There's actually a plan to support Iterators and Generators in one of the upcoming versions of Javascript: https://developer.mozilla.org/en/JavaScript/Guide/Iterators_...
How do you guys make money from being in the deal aggregating business.
For US citizens, to renounce you need to prove that you've paid all income taxes over the previous 5 years, pay an excise taxes on all assets being taken out of the country (which I think is %1-2%) and -- here's the kicker-- get permission of the federal government to be allowed to renounce your citizenship. If they think your earning power is significant enough, they can deny you by claiming your "renouncing to avoid taxes".

However, if you live outside the USA full time, I believe that the personal exemption on income is around $80,000. So even if you're making millions, if you pay yourself $80k or less, you can avoid income taxes in the US on your worldwide income.

Thus, holding stock in a startup that is appreciating avoids taxation, however, if you ever sell that stock, then you'd be realizing the gain and run into the issue.

PS - of course you're right that some countries simply won't allow you to renounce, and that might even end up being the case for some US citizens. I'm just giving the information I've been able to gather on this topic, not really disagreeing with you.
Personally, I think there are plenty of good programmers.

Unfortunately there are a lot of problems which people like to solve over and over again...
Feature request: drop curated. Way too pompous.
In the past, I've used naming methods like this, and at first, it seemed really intuitive. But it becomes unnecessarily dense over time, and often results in awkward readability.

I've moved instead to simply using reasonably descriptive variable names where the type is easily inferred. The extra type information isn't missed.

sZipCode = "90210"

really isn't necessary. Instead:

zipCode = "90210"

works just fine. And leaving out the type information for a variable with no repercussions is 95% of use cases for variables.
Running Earphones
We built these because we love iOS, but also because we're running a number of product and marketing-based experiments, which we'll be happy to share once we've compiled all the data, if anyone is interested of course.

We're also in the process of working on a few other iOS apps: http://bit.ly/EvoApps

As always, we'd LOVE to hear any feedback, both positive and soul-crushingly negative. Thanks fellow HNers!
edit typo

Nice twist on not collecting email addresses into some bucket that will sit dormant for 2 years - pretty clever of you to poke twitter & facebook instead (which, I imagine, would result in more 'OMGVIRALZ' too).

I had actually had a very similar idea to this myself, but never got around to implementing it.

The design looks clean and very appealing, but why did you create it with a hashbang link approach? It doesn't appear to gain anything by doing that (click on the 'about' link)
Interestingly enough, some of the entries in this list are the conventions I tend to use for "short block level params."

If you're not used to Ruby, here's an example of what he's referring to:

To work with the keys and values of a hash (dictionary / associative array) I use the .each method on the hash itself. The .each method gives me access to the key and value of each entry in the hash.

hash = {"name => "Homer", "age" => 42}
hash.each{|k, v| puts k + " " + v}

Where 'k' is key, and 'v' is value.

I never really gave much thought to "standardizing" this.
There's a big difference between McJob and software development. If someone doesn't handle N customers, fails to show up on time, or has several documented customer relationship issues: it is clear cut. You have to give the employee several opportunities, etc.

If you have an equivalent recipe for a marginally performing software developer that doesn't cost more to implement than just paying the unemployment : I'd love to hear it.

Also consider team morale. Waiting for several phases of failure to "document" your case is a great way to lose your top performers and lose a customer. I think it's less expensive just to fire -- ideally /w severance in exchange for unemployment, if your state permits it.
There are precedents for it being all activities. Particularly anything you're doing that would be in line with your usual profession, whether you're getting paid for it or not.

The rules vary by state, though.
LG didn’t sue and they are also not selling the phone anymore. It’s irrelevant.

I’m disgusted by what Apple is doing but this is not an argument.
It's fundamental in possibly less than 5% of careers. Don't inflate it to something it isn't.