skysight-inc/HackerNews huggingface dataset:
To give you some thoughts:

I've never really heard of anything like this.

I think the trickiest part is going to be defining the "experience" of a restaurant, not the least of which because different people experience different restaurants differently. Pandora has an advantage in that the number of other people listening to a song has little bearing on the sound of the song, but the number of other people eating at restaurant (as well as their loudness, fashion, etc) can have a significant impact on the experience of a restaurant.

I have actually kind of wished for something like this before though. I was trying to search by the absence of a particular feature on Urbanspoon (namely family friendliness; it seems every restaurant in the town I was looking in is entirely filled with youth soccer teams) and found I could not do it.

This also leads to my next question. Urbanspoon doesn't have an API. Yelp is no match for Urbanspoon. Where are you getting your data, if you wouldn't mind divulging?

I'd love to know how things are progressing. Do you have a blog or something going where I can follow your progress?
Poll:  Have you lost interest in programming?
As I have grown older, I have started to see programming only as a means to an end. As a way to express my creativity.

The process of programming isn't really enjoyable for me anymore. If I could get other people to do it for me, I would.

Have you lost interest in programming over time?
HOW TO: Create and Deploy Your Own QR Codes
Huge Game of Life
You may also be interested to see how the Readme evolved over time as I implemented what I had specified.

http://github.com/github/gollum/commits/master/README.md

Writing your Readme first doesn't mean you should never change it. It should grow and become even more refined, comprehensive, and accurate as you write the code.
I did non-linear video editing on my PC in the late 90s. There were certainly some limitations since the AVI format was stupid (used a signed integer for an index limiting you to 2GB file size), but my machine then was a 133MHz pentium with probably 32 or 64MB of RAM. Granted I was only working with half-height VHS (640x240), but it worked.

I haven't tried a lot of video editing software today (since I no longer pirate software like I used to), but what I have used is not huge progress from what I did in the late 90s. The only big step is that you can work with compressed streams directly, which is nice, but expected since even a modest machine today is expected to be able to decompress the latest MPEG spec in realtime.
I'm a huge fan of good man pages. A good man page contains a short overview, some detailed reference documentation, and (if you're lucky) some useful examples.

A good README, on the other hand, explains why the accompanying program is useful, shows some examples of how to use it, and points the user towards detailed documentation.

Now, perhaps the _ideal_ man page would also serve as a perfectly good README. But if you do a survey of merely _good_ manpages, and use them as a standard for writing READMEs, then you're probably going to get mediocre READMEs. Typical Unix and Linux manpages, even the good ones, don't spend enough time on high-level overviews and examples.
The point is that writing one is valuable -- it tests your ability to articulate an understanding of your own work from a high level, which is not always obvious when our focus is frequently at the code level.
This is very nice, but one additional aspect of Clojure's multimethods that is not mentioned is the role of ad-hoc hierarchies. That is, if we define a multimethod `say` as follows:

(defmulti say :whatiz)

(defmethod say ::feline [_] (println "MEOW"))

(say {:whatiz ::feline})
; MEOW

We would expect that nothing would happen if we then call it with the following:

(say {:whatiz ::lion})
; No method in multimethod 'say' for dispatch value: :user/lion

But we can define a hierarchy on the fly with the following:

(derive ::lion ::feline)

And now we have a whimpy lion:

(say {:whatiz ::lion})
; MEOW

This is good for simulating derived behaviors without the baggage of explicitly grouping those behaviors with the type. The multimethod dispatch and the hierarchical dispatch are completely open for extension. This is really cool.
I've often considered open source voting software and hardware as a possible startup idea, but frankly I don't have the balls to go through with it. I'm not an entrepreneur, and it is a legal minefield besides, so I stay away. Still, I have some neat (IMHO) ideas, so maybe I should find a venue in which to express them.
Depends on what you consider "programming". Myself, I consider myself doing programming even if I delegate a lot of stuff to others.

That way, I get to do the interesting bits, while my minions do the monkey-work.

That way, I can't ever imagine myself losing interest.
Why trust Facebook with the future’s past?
I actually had a similar reason for switching to das, a layout optimized for the finnish language. I was starting to get wrist pain while typing, started to take notice of my posture and switched to typing with das.

Typing feels more natural and I can notice a huge difference to typing with qwerty (which I can still almost touch type).

Again, I can't really say anything definite about the cause and effect but I can recommend giving a better keyboard layout a try.
>when group cohesion was essential to fight off abrupt attacks from stampeding _wildebeests_

I couldn't help but to laugh at the mental picture.
Wishful thinking, it sounds like one of Balmer's pronouncements over the years. You don't see Apple trash-talking potential competitors (well not until the antenna thing) in the run up to a product launch, they just quietly polish up a better product than everyone else, and people buy it. Maybe another company could try that.
The error in this argument is that often 1 hour of programmer time saved can easily translate into thousands of hours of wasted user time.
Internet Explorer private browsing is fantastic (the only technical advantage over competition left IMHO). Starting new private windows doesn't close the existing tabs. One can have many private windows, each with separate cookies. So logging in say google mail (or HN) with 15 different accounts at the same time is not a problem.
That's actually what happened to Nokia in the European market: They refused to brand their phones the way the carriers wanted and the carriers simply stopped selling subsidized Nokia devices.
I think the policy is stupid, but I have a soft spot in my heart for Objective-C. It may be a product of the 80s but it remains very relevant, especially in its 2.0 form.
Do you consider projects like http://erector.rubyforge.org/, http://pivotal.github.com/jasmine/user-guide.html, or http://github.com/pivotal/cedar to have good documentation?
Until you try to search through your history for everywhere you upgraded something...

I write my fair share of terrible commit messages, too. It always bites me in the ass eventually.
Stimulus spending is nonsense and political poison?

So Honda shouldn't borrow money to build a new plant but should save up until they can pay cash? Borrowing now to build productivity and cash flow later is a delicate move on such a large scale, to be sure, but that's a far cry from it being bunk science.

p.s. the gold standard didn't work.
like the name blurryroulette
With tweet-marketing contests, everyone loses
I agree the need to explicity upcast has been annoying. I'm hoping they will do a compiler optimzation to fix that in a future release. Also, hopefully they will bring in the co/contra variance features that are now in C# for lists and apply them to Tuple as well. (Does Don Syme read HN?)
Testing R's limitations - parallelism and big data
Interesting you said that programming in Emacs helps reducing RSI.

When I was a heavy Emacs user, my left hand outer-side wrist is in constant pain because of always reaching the Control button.
No, it was pretty spontaneous, as the particular individual who typically works with me on that project and I were having a conversation about Idiocracy just hours prior to that.
I would guess that this kind of laws mainly does one thing: create the job of the agent. I wouldn't be surprised if agents are not bound by these laws? After all, they are not hiring. They only suggest people to hire to other companies.

Also, while I sympathize with the goals, I sympathize with the plight of the small business owner more. Yet another law == yet another rabbit hole to stumble into. In effect, more costs for hiring lawyers.
Character Sets and Encodings in MySQL
All Google Apps certified business Applications in 1 click
This is similar to groupon, with a twist. Also try looking into issues they've had. I recall business owners complaining and pulling out of Groupon due to network effect negative impacts on their businesses - along the lines of "now they only come when I have coupons and I can't afford to do that"
Lean Principles #1 - Eliminate Waste
The first-generation interstate highway system wasn't designed for commuters, but everything added or upgraded in the past 40 years has been.
Many new luxury cars already come with limited computer driving, in the form of adaptive cruise control. The capital investment is small and rapidly dropping, and just that one innovation could deliver a major reduction in traffic congestion.
http://www.springerlink.com/content/p56714553g82r2h7/
I recently used this approach to reinvigorate the development of an existing project that has flattened out. Writing out how stuff worked then gave indications of where we needed to improve our API and document our corner cases.

In the end the README didn't represent the status quo but instead became what we were aiming for. For the most part this succeeded, the main challenge I had was persuading my collaborator to actually review what i'd written.
Agreed, but note that at high scale, stress-testing isn't as easy as it sounds.

For example, at an ad-serving company I worked with, stress-testing the ad servers required a botnet of hundreds of machines in order to approximate the load of millions of real users.

The hardware required to run a stress test can easily be 25% or 50% the hardware required to run your production environment. It's not just a workstation with JMeter.
I like this line: "The rising stature of statisticians, who can earn $125,000 at top companies in their first year after getting a doctorate, is a byproduct of the recent explosion of digital data."

So... someone who majored in math/physics/hard sciences, got the grades and test scores to gain admission to a top university, and goes through a program with a high attrition rate that you're doing well to complete in 6 years can earn a bit less than a JD (half the time) or MBA (1/3 the time).

Like Right Said Fred Said:
I'm too sexy for this field,
too sexy for this field,
holds no ap-peal...

(ok, I'm a data geek, and this sort of thing actually sounds like far more fun than corporate law, and $125k starting is decent... but still, let's still recognize that the reward to effort ration is still not quite comparable with the professions, and the journey is quite a bit harder).
Argh. Don't put a period at the end of a commit message; it's like an email subject line.
Couple things looked strange in this article:

"generally accepted 5% to 10% conversion rate" - where did he come up with that? I was under the impression most successful freemium products (Evernote, DropBox, more I can't remember right now) were doing more like 1%?

Also, was Ning really freemium before this shift? I thought they were closer to just being free, period. Could be wrong on that.

I was surprised to see them shift all the way to the other direction of 100% paid. A true freemium model (free plan limited by hits, users, whatever to keep them small) seems like it would have been better.
I most certainly do object to Philly's high taxes. I was merely making the point that you can't even point to decent city services as a positive for enduring high taxes (something you most definitely can do in some other high-tax areas).
I think the issue is the difficulty of auditing electronic votes. Computers and databases have made it so easy to forge data--just look at Bernie Madoff.

The best way to ameliorate these discomforts is to ensure that a list of eligible voters is made available every year (already available under the current system), as well as a list and sum total of those eligible that voted. We would need to assign every voter a UUID every time he votes, and provide the voter a printed receipt of the UUID and selected choices (if desired) on security paper (controlled stock of security paper with its own unique identifier to be accounted for), and publish all election results with the selected choices matched to a UUID on a website every year in CSV and HTML formats.

I'm sure there will always be ways to tamper the system. The key is that if every one is able to watch the system (like open source code auditing), the risk of discrepancies or error is minimized. The UUID will allow the voter to confirm that his choices match the recorded results.

If this system were implemented, it would be better than the status quo. The current system may seem better, but it's prone to human error (Scantrons not being scanned by an optical reader; hanging chads; etc).
It's an option, but entirely dependent on who you work for. I would imagine this would be easy for creative type jobs and not so much for business type jobs.
the thing you're missing is that these single writes can be a "bulk" write of a large number of documents. More over, the single threaded (semantically) writing is an artifact of having append only writing to the db.

there are 2 majors wins when you have this approach to a db.

1) append only memory allocation is FAST. If we were talking about writing to ram, its as simple as allocating the interval from i to i + (amount of memory needed), where i is the heap pointer

2) you don't have to deal with locks! Locks are not bad per se, but in many cases lock based data structures can lead to pain later on (just look at home much work has been done on python and linux over time in this matter).

Also, I believe that in the case that here aren't conflicting versions of the same doc in two couchdb nodes, replication is essentially bandwidth rate limited.

take the time to read up on couchdb. it may not be perfect or appropriate for everything, but it is a very very nice piece of software. And whats really awesome is that as a consequence of the append only semantics, the data loss bug they recently had was totally recoverable for those who hadn't compacted their db's! (how many db's can say that for their data loss bugs?)
Sure. The documentation for those projects looks great!
The End of Moore’s Law: A Love Story
Naturally, Github showcases the README on the main project page and strongly encourages you to write one. I agree that it's a fantastic place to start.
this is an excellent post and quite relevant. i have found this kind of epiphany as well while writing a python based framework at my company. i would extend the README driven approach to even suggest a developer blog driven design methodology, since it allows for a more dynamic way to clarify points and also add diary entries for 'thinking aloud' while you are building complicated libraries.
That's the point though. Apple doesn't include NASCAR or Need for Speed, so it doesn't matter that they control the phone more. There's no need to go through and delete stuff when you get the phone, you just get it and start using it.
It's also fairly easy for us techies to grasp the hacking of computer systems. But we often forget how insecure and error prone paper systems can also be:

http://www.youtube.com/watch?v=sJfj9ySYg0Q

Massive voter fraud could be happening every election - it's pretty easy to vote fraudulently and there is almost no way to find out after the fact (I've done it unintentionally). For whatever reason, we are insanely afraid of hackers pushing an election over the edge, and yet we don't even ask for photo ID at the voting booth.
In the US most large suburban and exurban traffic areas have traffic jams. Those are also places where public transit is impractical for most people. Or at least people aren't willing to make the sacrifices in time and money to make public transit work. People like to be able to go wherever they want whenever they want without waiting in the rain for a bus that never comes.

The problem with personal automobiles right now is that they are dangerous, slow, expensive, and have a huge carbon impact. We can find technical solutions to all those problems without restricting everyone's freedom of movement by forcing them into public transit.
And yet the $70 a month you spent was funding shows like Mad Men. Advertising is such a small part of revenues but since it's the only side the consumer sees (well, DVD sales) we see these things as game changers. The real problem to solve here is that of affiliate fees[1]. Without cable fees it's a pretty safe bet that quality programming like Mad Men wouldn't be around. Maybe we're moving that way anyway where all that's available are cheap web series, but it'd be a bummer in my opinion.

[1]http://abovethecrowd.com/2010/04/28/affiliate-fees-make-the-...
Philly now has a 2% sales tax as well. The hits just keep on comin!
What surprises you most about humankind?
I've been using emacs, so the tooling is equally compelling. ;)

The nicest surprises so far have been:

- I can code in a fully dynamically typed manner for the parts of my code where it's more convenient. (To do this in O'Caml requires manual wrappers and/or some camlp4 magic.)

- A nice set of sequence comprehensions and syntax for it, built-in.

The big downside is that there's no attempt whatsoever to unify the .NET-centric OO language model and the O'Caml functional language model: You're stuck alternating between writing code in C#-with-some-type-inference or in O'Caml.

(If you want that unified model: Look at scala.)
The Computer for the Room
You made a stupid statement. Stop standing by it.

Borrow some balls, drop your massive ego, and admit you said something stupid and wrong.

Or keep arguing and make it clear that nobody with a brain should ever trust a single thing you say, due to your inability to recognize your own errors.

The choice is yours... but I'm guessing you're going to keep proving that you're a proudly, stubbornly ignorant asshole.
Who Moved My Cheese? Building the Next-Gen Incubator
This is used extensively in the SF bay area.
...where retiring rich is defined as spending $300,000 annually.

I'd personally move somewhere cheaper once my income no longer depended on my location.
Protein that destroys HIV discovered
So that's what rebase is for! Thanks.
Or, and here's an idea, don't spend $200k a year. When you were creating that startup, you lived on a lot less.
At least two obvious ways to hack your proposed system. Hackers could just add phony UUID/vote pairs to the totals. Activists could claim their vote was stolen if their preferred candidate loses.

(We already saw a variant of the latter in 2000. Remember "I couldn't follow the arrow and accidentally voted buchanan"?).

Further, if a person's vote is verifiable, it also opens the door to paying people for their votes.
Actually, my first thought was "Man, that would be a great spot for a virus." If other code can get in there, why not?
I would be interested in hearing more about how you've done this with online ads.
That gets to the idea at the bottom of the piece: "You can live rich, or you can retire early. But don't think you can do both."
I think the 'retire' desire is more of something that first-timers or non-wealthy (at some level) most aspire too. I've realized that it's more about getting comfortable to the point of being able to do things that you're passionate about, and being able to say no to the opposite, that's most important.
Ruby and Python aren't suitable for "algorithmic code"? Is there any other kind?
I'd love to see a port to linux.
I thought this sort of thing was common knowledge? Searching and sorting a certain number of items under a threshold is fastest through brute force. The problem is figuring out what that threshold might be and then have the sorting and searching programs make use of it.

I remember this topic being discussed back in undergrad.
The submarine is normally docked right outside my window.
What's old is still old: Abandonware and your Mac
What version of IE are you talking about?
You raise some excellent points. Our software is mainly showing providers and payers how to minimize waste, fraud, and abuse of the system so it requires a huge amount of customization because of each organizations use of coding. The clinical analytics comes in where they can analyze historical data and tell them "you could have saved X amount of money by coding this procedure differently" or "there is no medical reason to do procedure X if you've already done procedures Y and Z, thereby saving XX money." To analyze this data not only requires a statistician's grasp of math, but it requires medical knowledge and organizational knowledge as well.

If you were smart enough to be a data/stats geek and also had an MD, plus years of experience working as a doctor in a hospital, I'm sure you are worth your weight in gold as this skill set is very rare.
I think I could get by on $30,000 a year and working on my own ISV in a nice Latin American country. Is anyone doing that here?
Yep. Unfortunately.
I do not. As long as the hardware has been in possession of untrusted parties (and polling place workers do not count as trusted) any software solution can be compromised.
I think this can be done the same in Chrome. How is IE's private browsing different?
Keep your build scripts and deployment scripts separate
I've been doing startups since I was 31 (22 years ago), and figured that out quickly. And I've been at successful startups (IPO, acquisitions).

Much more realistic to aim for being employed (you do love working for startups, right?), but having your kids' college paid for, buying nice vacations, taking long unpaid leaves, buying nice toys for yourself and your family, having retirement (in your 50s or 60s) taken care of, and so on.

Also, for someone who really does love startups (technology, business side, whatever), "retirement" probably means doing the same thing you've been doing, but at a more leisurely pace, and that will probably earn something.
I don't think stock options have "zero" value. For a lot of people working on a salary it's hard to save money, so when a startup sells and an employee gets a sizable chunk of money from the sale, it's huge relative to their cash-flow perspective.
I feel like a better approach for that sort of solution would be to use a hash-tag based (#) tagging system. English has so many tenses and people mis-spell things anyways that basing your search purely off of the text of the commit message is always going to be tricky. Anyways, the point of the commit message is that it be human readable, not machine readable.

Personally, I like clever commit messages. They remind me that the project was written by humans for humans.
As someone who just witnessed two non-founders of a startup that had a recent IPO become wealthy enough to retire -- B.S. You can do it with stock options (even without an IPO). Tony seems to be making a binary argument: it's not guaranteed, so you may as well give up on the idea.

Of course I'm doing it for the money. I'm also doing it for other reasons. Did someone die and tell Tony Wright that the world is only comprised of on/off states?