skysight-inc/HackerNews huggingface dataset:
I'm not a fan of this particular design choice; I think the site would be better if it was backed by SQL.
I can't tell you how excited my 11 year old was this morning to show me his latest world right after he'd installed a new texture pack that worked with the old red-blue 3D glasses. I tried to explore around a really felt like an old geezer when I accidentally busted a hole in his wall when I was trying to climb a ladder. "I don't understand these new-fangled games."
Well, here's some good reasons, your OS doesn't want you to store tons of small pieces of data in many different files. If you're storing a 100 byte record in a file you're doing it wrong because:

1. Your FS has a minimum blocksize, often somewhere around 4k, you'll waste disk space with small files

2. Your OS MMAPs/FS caches pages with its page size, ~4-8k, you'll waste ram with small files. (MongoDB also makes this mistake)

3. Reading/writing data from files directly requires syscalls, a DB can cache a lot in memory and minimize syscalls.

4. Atomic transactions are hard, even with a database. Are you actually sure you know how fsync works? (see the famous ext4 fsync issue: http://blogs.gnome.org/alexl/2009/03/16/ext4-vs-fsync-my-tak...)

5. Distributed operation is hard, take a look at a databases like couchbase, elasticsearch or S3, where data is replicated across machines and datacenters in a highly reliable way

6. Consistent backups on a live app are hard. Using postgres or another MVCC DB? Just perform a dump, it will be a true snapshot.

7. Do you need to coordinate writes across multiple app instances (E.G. every web-app ever), you'll have to figure out your own record locking system. Need a high-performance counter atomically incrementable from multiple clients? Easy in SQL (UPDATE foo SET counter=counter+1 WHERE id=1), try doing that in a simple way with plain-text files.

The list just goes on and on and on. The kicker is even if you understand these issues, it's hard enough building a non-buggy implementation of these basics. Oh, and lastly, even if you do build your own mediocre DB, future devs will have to learn your crazy system rather than leveraging all the existing SQL knowledge they currently have.
When you think about it, Minecraft is this generation's LEGO. Kudos to Notch!
Wow, that missed the mark.

I always thought big media invented the harlem shake, because they failed to see Gangnam Style rising for several months.
Excellent, thanks for letting know. I was blind :)
Well, to enter and grow so fast in such a competitive space, you've to differentiate yourself from your competition.

Our differentiators are:
1. A beautiful UX/design
2. The ability to message everyone through hike/SMS

#1 works everywhere and has driven growth for us globally.
#2 combined with #1 gives us a compelling proposition for Indian users, the first market we intend to dominate. It's very powerful for a market like India where more than 80% mobile users have yet to experience data.

The unit economics in the long term are quite favorable and we expect to have a positive average LTV across the user base.

It's going to be tough, but we're betting we can do it. Just wait and watch. ;)
Frankly I was amazed that majority lost as few as it did. If you need atomic writes, MongoDB is not the place for you.
It would really help if you'd voice your opinion in by also commenting why you feel one way or another.

I don't see Glass creepy in anyway, they look kind a goofy, but that's their only bad feature I've seen this far. I'm not saying that Glasses are super useful, but they are in same boat with tablets, they are cool, but not necessary.
Oddly enough, a lot of Microsoft staff got hired by Google....
>A functor takes a function, and applies it to the inside of a context, but all of a sudden now a functor can't take a function and apply it to the inside of a context.

Where you're getting mixed up is in the distinction between Functors and Applicative Functors. You can think of an Applicative Functor as one which allows you to apply its contents to other things. One function which must be defined for all Applicative Functors is:

(<*>) :: f (a -> b) -> f a -> f b

Looking at the type signature, this is a function of two arguments. The first argument is an Applicative Functor containing a function. The second argument is the same functor containing a value to which that function may be applied. What does this function do? It simply applies the function and returns the result, wrapped in the same Functor. Thus:

Just (+5) <*> Just 4
>>> Just 9

This is very much analogous to typical function application:

(+5) 4
>>> 9

Which is why the function (<*>) is usually pronounced "ap" or "applied over".
Show HN: Conway's Game of Life JS implementation
All credit goes to https://twitter.com/WiseAndy
Can I be in the partition with patio11 and tokenadult, please?
I haven't found a single Google Reader replacement so far.

Sure, there are many alternatives for a subset of Google Reader's feature set but there is not a single full alternative so far. Google Reader is - soon was – not only a web GUI to subscribe to and read RSS feeds, it was also a search engine, an API for apps and until recently a social network.
This is techcrunch blog spam of the actual story in the sunday times.

actual story: http://www.thesundaytimes.co.uk/sto/news/uk_news/National/ar...

previous discussion: https://news.ycombinator.com/item?id=5730861
> ...This is interesting point. It is coming from "everyhour". What difficulties you think we could face?

IANAL but... If it's coming from "every hour" then go with that. You reference the Evernote inspiration in your description above, the tagline on the site is "Evernote for time", etc. Saying 'it's evernote for time' is great for elevator pitches, less so for product wording. But because the product is called "Everhour", I'd either a) start looking for a new name or b) pretend (at least in public) that I never even heard of Evernote. If not, at best you'd be labeled as a copycat, at worst, face some legal issues for encroaching on their trademark[1].

[1] http://evernote.com/trademark/
You are awesome :)

edit: if/when I have kids, I had been thinking of giving them a Linux box and a prepaid debit card, telling them, "you can do, install, buy, or do whatever you want with this machine, the internet connection, and the money, as long as it's legal". This fits in nicely with the kind of thoughts and attitudes I'd like to instill.
\d less efficient than [0-9]
> Wouldn't it make sense to just teach the children that many people accept these words as bad, and leave it at that?

I'm pretty sure kids don't think about the way other people perceive things until much older than 8-9.
Tried to signup, then:

We're sorry, but something went wrong.

Twice.
How is the hardware/driver support for NetBSD in comparison with FreeBSD or Linux?

Is it better, worse, or about the same? I'm considering using a Mac Mini G4 as a server, and was wondering whether to put FreeBSD, NetBSD, or Linux on it.

I know all of them will have drivers for the G4, but if I wanted to put any on a newer computer, how would the hardware support be?
I regularly wipe my .history.
Sorry.
Obligatory XKCD reference

http://xkcd.com/977/
@antr Looking into that right now. Thanks for pointing this out.
I suggest having a close look at jqMobi (Intel App Framework). It's basically a streamlined version of jQuery plus a lightweight mobile specific framework (2 core js files). Together, these files let you build mobile websites or native mobile apps +PhoneGap for iPhone, Android, Windows Phone, Blackberry. I'm personally using it and so far, i'm very impressed. http://app-framework-software.intel.com/
That's essentially saying that one needs to know alternate history, which is obviously impossible. So, any mention of 'undervalued' can be counterbalanced with 'overvalued' absent facts.
Google: America's third political party
You make a good point. Though this particular friend might well stick to it - €1600 tends to focus the mind.

But to be honest, I'm asking primarily for myself and my family. I'm not sure anyone can really be sure there is no malware on their browser (via Flash zero days or what have you), especially if several members of the family use the computer. This gets much worse with teenage kids.

So gambling the entire contents of my bank account on the assumption I'm malware free isn't quite doing it for me.

That's why I'm thinking that a straightforward setup is appealing: "When I bank, I use the OS on this USB key and don't use it for anything else".

But I also wanted to know what people around here do. Simply assume their machine is clean or take further steps?
I wonder how much shares he has. Two days ago he tweeted that:

https://twitter.com/marcoarment/status/335483318311194624

> @ericf @jsnell 1) I was technically an employee, not a founder. 2) My shares were from the first funding round, before any further dilution.

How much shares would a (number 2?) employee typically get? And does it mean his shares were diluted or not?
This is what I ended up doing. I've been using Cloudfront for a while now, but Cloudflare is free, and people seem to indicate it is just as fast if not faster.

I have my static assets on a sub-domain, so I just set cloudflare to cache everything on that subdomain (and left it off on everything else).
My dad picked me up and chucked me behind his first computer when I was 3 (24 years ago) to play Paratrooper with a joystick. Supposedly it didn't take too long before I could start the thing up, switch floppy disks, a: and start up the game(s). Not too long later my parents put me behind the PC whenever there was a new game so I could figure it out.
A perspective: developers vs Microsoft
And without consideration of inflation.
Overture?
There was a great short talk by (I think) Richard Hipp - or possibly Ted T'so? about mistakes people make trying to 'just save your data to disk'. I can't find the one I remember but this does cover a lot of the same material (in a less snappy way):
https://www.youtube.com/watch?v=TxXROT_nHqo

The meat, on the implmentation of ACID in sqlite3, is around 14:20 in. More complexity than you want to think about is the answer. You could do the same without a db-as-such of course.

Anyone remember the talk I mean? It would have been around the same time - 2009ish.
It really depends on your structure I think. In the days of PHP3 I saw a lot of developers that built .txt-backed websites, with complicated parsing that would break when you looked at it.

In my opinion, they would have been better of with a database, or a more clever design like yours probably is.

A lot of my first work was rewriting PHP3 sites that used text-files to PHP4 with MySQL. Some of them had 200mb articles in text-files, and for every request they parsed this file, and didn't know why it was slow.
Thanks again for great advice and valuable reference. We will have a look and make sure we do not violate any rights.
Maybe having a viable business model should be a top priority from the start. The only way this approach to starting companies makes sense is if you're aiming to get acquired from the very start.
I think I'm going to go with CloudFront, but I'm pretty upset about not being able to use a naked domain.
It really depends on the problem. Using a DH well also requires some expertise.

I'm writing a small web app where users have a spaiic list of items. I started with a db but it's so much more complex than a simple file per user. Beside you have single big indexes for all the user data while there is a clear split of information between user. I didn't know how to handle hat efficiently. It turned back to one file per user with the content loaded and cached in memory.
I'm thinking about moving some of my data out of my postgres database, and into S3 objects. I think for "documents" that will only accessed by a single user (so record locking etc. doesn't matter), it will help things scale more easily. The web app will be hosted on AWS, so I wouldn't think the S3 retrieval time should be too bad. Anyone have some good guidelines on this?
18 secrets to giving a presentation like Steve Jobs
It certainly sounds like an over reaction by the school and police, but instead of jumping on the police hating bandwagon I'd encourage everyone to realize that this article only tells one side of the story, like so many other of these internet stories.
I would like to add that recursive calls can be nicer than loops, when multiple conditions or branching are possible in the loop body.

An equivalent implementation with while loops, if conditions, continues, and breaks are usually harder to design correctly than a good recursive function.

Functional programming encourages use of small simple datatypes. Tuples instead of small structs. Lists instead of more complex container types. First-class functions instead of classes.

However, IMO 'purity' is a bit of a buzzword when applied to functional programming. You may disagree, but that's how I feel about it..
Coming from a law enforcement family, it's really hard to see things like this. It becomes very hard to tell people their negative preconceptions about police are unjustified in the face of apparently stupid and violent things like this.

It's just like anything else: Most cops are not bad or stupid people, but sometimes bad or stupid people are cops. Unfortunately, when bad or stupid people are cops, it's a bigger problem than in most other occupations.
I'll take a gander, thanks.
You're right. That's a much better headline. I wish I could change it.
This works for me in zsh on OSX

history \
| sed "s/^[0-9 ]//" \
| perl -pe 's/ \| */\n/g' \
| gawk '{counts[$1] += 1}
END { for (x in counts) { print counts[x],x}}' OFS="\t" \
| column -t \
| sort -k 1,1nr \
| head -100

Ok not sure how to format this on HN
https://gist.github.com/nyxwulf/5608955#file-gistfile1-sh
On #7: ACID is a concept that matters just as much now as it used to, but I think a lot of people that thought ACID was important realize that it might not be so. I wouldn't say a RDBMS is uniformly better than text files, but in some applications, I wouldn't have it any other way.

When dealing with crucial data where robustness and correctness are paramount, an RDBMS may not be a bad fit. I cringe at the thought of an insurance claims system being done in NoSQL or JSON instead of a more robust system. Things are probably different in the startup world, but I'd rather take a huge hit to performance than a multi-million fine and audit for losing records from my DB.
A strange form of crypsis in butterflies
If you are introducing bugs that will at some point need to be addressed while "working fast", that'll cut away at a lot of the added value.
Who do they need a social network ? are people going to move from Facebook or Twitter to Tumblr? No. They need a good an new idea , an innovative product that will draw attention. and a consistent strategy . People are fed up with social networks ( i.e. Google+ ).

Tumblr is not valuable at all for advertisers , unless you are selling porn...

What's Yahoo mobile strategy ?
What's Yahoo's cloud strategy ?
ect ...

I see no strategy , only buzz ...

I'm sure plenty of engineers at Yahoo have great ideas ,it's just feel like what's really broken is Yahoo's management. Why would they pay that much for Tumblr, really ?
If true, that's very interesting. Source?
I'm highly doubtful that anyone in Japan could/would use such flawless English, especially online and in code comments. The Englishisms might be a sign of a paranoid American trying to obfuscate his writing, but I'd put my money on Satoshi being English, attributing any Americanisms to the fact that the internet is largely dominated by American English, so it's easy for anyone to pick it up without even realizing.
Nothing is wrong with tables! Tables actually make things easier, no floats etc..
Yes, because there is a shortage of X workers until wages hit the federally mandated minimum.
I think this has due to an expansion of entry level jobs. ie. Code/App Academy, people learning Ruby on Rails and going to entry level jobs. Since tools are getting better and better, there is an expansion on the lower level of engineering. They should have been measuring people with the same level of experience (e.g. 5 years or experience), and see how they stack up.

My personal experience, and from what I have seen around for experienced devs, expect a 5%-6% increases annually (few percentage points above inflation). It is never linear though. You usually you might see this increase as a modest early 3%-4% on your current job, and then if you switch jobs every 3 years or so, get another 10% or sometimes more from your new employer. This is for experienced engineers (5+ years). If you are very early in your career you probably will see higher jumps on your early years.
Recursion? The "function" is not calling itself at all. I'm quite sure that is not recursion, neither in the mathematical nor computer science sense.
You're missing the point, which is that the current limitations of the system may not be the limitations in the future.
One question: Why I'll gonna use this, instead Google Analytics?
In my experience the Youtube/gaming videos default is not kid-friendly. If that's the case, then your kid will be getting less quality content for what I believe is basically no fair reason.
I love when someone wants to use the word "scam" and "immoral" when talking about "technically" avoiding taxes. It's either legal or it ain't - and there's nothing that shows it was illegal.
Well here's one good reason: If your data cannot all fit in memory at once, you cannot simply serialize and deserialize it from disk. You will have to create some kind of indexed solution involving reading and writing to files piecemeal and by doing so you'll have created an impromptu database by default.

Other problems including loosing data if your application crashes and isn't able save it's data, performance on very large datasets, lack of concurrent access, etc

Generally, flat files are fine for low availability applications with small datasets. As your application grows however, you generally need to find more robust methods of persisting your application. Picking a persistence engine/database which matches you application will be essential at some point. It need not be a RDBMs, as 'NoSQL' databases and object databases may fit your application better.

One more thought: A lot of the fuss about 'NoSQL' vs RDBMs come from people trying to treat RDBMs strictly as persistence engines. That is, they start with an application that run well in memory and then realize that they need to deal with one or more of the issues I raised above. They pull out a RDBM and are annoyed that they now have map the data from the perfectly fine datastructures they were already using to a normalized tabular structure.

The reason this happens is because RDBMs were created to solve a different class of problems than simple persistence. They are for when you are starting out with data that needs to be housed and organized, as opposed to an application that simply needs to save its data.
Is Chris Pirillo Business Insight worth the money?
He lost me here:

function g(h) {
return function(y) {
return h(h(y));
};
}

81 === g(function(x) {
return x * x;
})(3);

Specifically, why is this allowed and where can I go read about it?

return h(h(y));
Reading through the comments on DocG's link, it looks like there MAY be a lot more to this scenario that might even warrant the behavior of the police and the school. Some speculation is saying the balloons may have been full of bleach, for example, which turns the game from harmless fun to actual danger.

That said, this, again, is an instance, as other people have said here, of only telling one side of the story. Honestly, we're not going to hear a complete instance of the other side of the story. Police officer's aren't Spock, and won't produce a perfect replication of the events either. And honestly, in some circles, if the police are called in to something, their mission is to de-escalate the situation as quickly as possible, and that means rather emotionlessly immobilizing anyone who might be seen as a threat. Assuming this was just a harmless water balloon fight, the police shouldn't have needed to have been called in, and then this wouldn't have happened.

That said, police are still humans, and at some level, their mind and emotions do need to come into play; so, if this was a harmless water balloon fight, they could have come in and seen it as such, and handled it differently.

But we don't know the whole story, and so on and so on. We need more information.

Edit: Okay, I also saw the video now. That brief bit of the video, it looks more like the results of being banged against concrete. It doesn't take much to get some pretty substantial scrapes from concrete. I can't tell intensity of force from that brief video, though; nor can I tell if the detained kid was struggling to the point that handcuffing was difficult or impossible.

I do wonder why the man witnessing the altercation was charged with trespassing, though. I liken it to a person coming up to a house on fire as police and firefighters are doing their job. I suppose if they were getting in the way of the police doing their job, they would get a similar charge. We need more information here, too. So much more information..
We do have a lot of ideas in mind, but in a space like this, you can start looking at monetization only after you've hit a certain critical mass in terms of user base.

Ultimately, it's going to be a "content and connections" play, but the initial focus has to be on growth, otherwise you're just putting the cart before the horse. :)
To my knowledge, you can safely assume all BSD variants run behind Linux in terms of driver support for new hardware.
Whistleblowers pointing fingers in the wrong direction. What they're doing is most certainly legal. What should be looked as is the legislation enabling it. Or rather if it's even a bad thing in the first place.
Mike L, founder of Research In Motion (now BlackBerry) dropper out with two months left in graduation (from a world-renowned electrical engineering degree). So did, I think, Robert Downy Jr.

"preserving the bridge" only makes sense to an outside observer. It may never be a practical option for the OP. In fact, it may be something that may taint OP's identity for the future in that he/she may always be stereotyped as a doctor. It'll be contested every time he meets someone new. It's nothing short of an identity crisis. It's the loss of freedom to do what he wants.

People like this usually try to live life in accordance with self-defined principles rather than those defined by the social structure. They think different.
Database is a sophisticated form of compression. Text compression is not so good after all. Database allows you to only keep indexes, and directly access those. Text compression is naive and inefficient, database software guide programmers to optimize their data types themselves. It's either that or storing everything in binary files.

We use database because they allow us to organize a binary file. It's a standard, but it's only relevant if you need to use those kind of data patterns.

You also have to understand regex doesn't scale at all.
"future devs will have to learn your crazy system rather than leveraging all the existing SQL knowledge they currently have."

Super important point that sometimes trumps everything else when considering any new technology that people often forget. Some of the first servers that I purchased were SGI running Irix. Turns out that the person who advised that didn't consider the fact that while the Sun's weren't "as good" he also didn't consider that there were so many more packages available on Sun's as well as sysadmin's as well as information (at that time) on the net.

What I've found over time is that unless there is a compelling reason to do otherwise you go with the ubiquitous solution to a problem.

Back in the day: Or the solution that there was an O'Reilly book on or a row of books on the bookshelf explaining (when that is essentially the knowledge base).