skysight-inc/HackerNews huggingface dataset:
This is a really good point that doesn't bring up any direct slams against a particular tool; +1 to the author for that.

I've found using Mongo as a stop-gap for consuming JSON APIs extremely useful. You could probably s/Mongo/{nosqldb} there since it's nothing earth shattering.

However, as the only tech guy in our startup I'm always looking harder at Redis than Mongo for most of the problems for which a NoSQL solution might be tempting. I've recently had a lot of success with JSON in Postgres and knowing HStore is always there if I need it has firmly cemented my opinion that I don't need a separate NoSQL solution (yet). (Of course I am merely persisting data in JSON format- not querying on it).
Can't help but be reminded of a novel I read in university - Faith of the Fallen (Sword of Truth series). It wrote of similar theme (with a more focus on faith/religion), of how one must serve the greater good, humanity and the whim of his fellow men. Going down further, you go into the philosophical territory of individualism vs collectivism, how do you decide and balance your own moral ground, your 'selfish' needs and the needs of your neighbours.
I think his point was more "Why you shouldn't try to run two different DBMS in production"
Zorin is really good. Personally, I grew tired of little bugs with their window manager switching stuff.

Also, worth trying is crunchbang(debian w/ openbox) and pinguyos(ubuntu w/ gnome2).
well most countries do have breaks for start ups ans at least the Uk doesn't have the perverse taxing of options that the USA has which can lead to options that are under water and worthless costing 100,000's
What's the difference between this and just running git init in a Dropbox folder?
Resharper 7 (with the 75% off), Day One, Transmit FTP for OSX.
8 Books---All by D. Knuth, The 4 on algorithms and the 4 on Typesetting. Not to forget the article on DDJ long ago that started it all for me.
Perfect 10? Never Mind That. Ask Her for Her Credit Score.
That is why good typing tests, online or not, do allow for either one or two spaces after the end of a sentence. There are a lot of people used to just one, just are there a lot of people used to two.
My number one book on a list like this would be Accelerated C++ by Andrew Koenig and Barbara Moo. The book is targeted at beginners, but is challenging and very intelligent. Koenig is concerned with teaching good practices and overall design. It was one of the first programming books I ever read and I struggled through it at first. By doing every exercise and persisting, I think it played a significant role in the kind of programmer I am today. To me the book is in a similar space as SICP. Sadly it's now out of date, but at least was written using the STL.
How up-to-date is that list? I mean, in terms of removing entries that no longer apply. Some date from 2009 to 2011. Are these systems still in place, and actively being used today?

I've heard of or directly witnessed enough situations where somebody with influence, but maybe not much actual technical experience, pushes for the use of a NoSQL database of some sort. Yes, the project is implemented and often does end up in production for at least some amount of time. But it doesn't survive long. Problems arise, and the system is either discarded, or moved to a more traditional relational database system. That's why I'm curious about that list, and how many of the entires are still valid, as we approach the beginning of 2013.
Erm… I meant FreeBSD and Mac OS X have slower mutexes than Linux. Not sure how that sentence slipped by me.
I'm watching the last season now. Yes there are many questions that are never answered and the timelines never get explained, but I'm still enjoying it. I found the many, multi-faceted characters to be very easy to relate to and interesting to follow.
Maybe it should be titled...

"Why MongoDB Never Worked Out Two Years Ago When We Tried to Run It For Our First Time For One Feature, And Beside Another Database Which We Really Considered Production."

I've seen and used MongoDB on multiple projects, big and small, and it's fine. It's a database that stores data. Use it for that purpose and you will be ok.
It is a support services company. I am still not sure why a company would pay just based on years of experience as opposed to performance, but thanks for your input.
I certainly don't mean that you can or should respond to every request.

I mean that you can do the same amount of work, and depending on how you present yourself, you can be seen as the accommodating doormat (and consequently, treated like shit) or the guy who can get things done (and be treated well, trusted with more important stuff, etc.)
On Jaron Lanier: Is our Reality Binary?
How does a SSD compare?
تحميل الواتس للبلاك بيري
Maya 2013, anti-virus, os x upgrade
Mark Cuban Answers a Few Questions about Business, Life, and Sharktank
Cuban gives some solid advice in various topics from education to business and of course Sharktank
Gosexy/db, Go package for SQL and NoSQL databases
These are so Latin-1 centric fonts, I doubt they are useful for the rest of the world.
Well any figures would be old and from the UK (where I am) but I remember £100K in lifetime earnings being banded around (bear in mind that education is cheaper here and the debt is less of an issue since you only have to pay it when you are earning above a threshold).

In my experience in the UK it really depends on what you are applying for, here the biggest companies tend to pay the best salaries and the biggest companies don't tend to like (for example) self taught developers.

If you look at job listings here for programmers a degree will be a requirement for more than 50% and they won't waive this because you have an impressive github.

Another big plus for having a degree is that it makes getting a VISA easier thus giving more options. Also there is also the advantage that by being in college/uni you will meet people who have the "right background" which can help in job search.

For example the father of one student in our CS class asked his son to tell him who the best 10 programmers in that year were and more or less hired them on the spot at graduation.

What I am saying in essence though is not "get a degree" vs "don't get a degree" but rather that saying "don't get a degree because you will be $X richer in 4 years time" seems like a rather weak argument.
Actualités et news d'Essaouira avec Palazzo
"Les actualités de la culture à Essaouira et sa région dans la revue du Palazzo, des informations d'art et de Culture en ligne."
Yeah, I had the same thought. In fact, in the interview, the author actually picks up a copy of K&R C and looks through the index for "threading" and finds nothing, whereas Go was designed with concurrency in mind.

On the other hand, as the author said, C is over 40 years old. Many consider that a weakness, but he considers it a strength, given the large number of C libraries available, whereas you don't have the same number of libraries with native Go bindings. Ultimately, of course, it comes down to using the right tool for the job. That may be C, that may be Go, that may be a higher-level language like Python, Ruby, etc.
Oh look, another "We thought Mongo was a silver bullet and found out that was wrong" post.
Whenever I see articles come up like this one mentioning MongoDB, I wonder not why people decided to go with Mongo, but why they didn't go with some of the alternatives out there? For my part, we use Couchbase to great success and it fixes many of the complaints against MongoDB. Then there's Riak and countless others with well established quality installations. To me MongoDB seems the buzzword NoSQL engine that gets used for 'play' projects, but not much in the way of real-world implementations. Thoughts?
Sublime Text 2
TextMate
GitHub
I just had a call from someone conducting an IT survey. I asked the person, "What's in it for me?, I'm at work, time is money." They were confused and I responded, "I'll do your survey if there's a gift card or lunch involved. You are not a client, nor a friend. Time is money."
Modern C++ is just as safe as any language. Unfortunately, you need to find a good tutorial that doesn't go low level before you need it.
Most of the production deployments I find on the internet are around 3-5 nodes. Are there any production clusters that are running 500-600+ nodes?
I would also add Refactoring to Patterns by Joshua Kerievsky.
Did you read the article? His main reason had nothing to do with Mongo itself.
How Start Being A Web Developer (Quickly)
Ask HN: Laptop Suggestions?
Hey Hacker News,
I am in the market for a new laptop and have a few ideas but want to hear your guys suggestions or forewarnings about whats out there. I'd like to keep it in the $500 range but a little more (if it's worth it) is ok.

It's main use will be for all my dev work and a little graphic design here and there. I won't be doing a whole lot of gaming and will most likely be putting a Linux OS (in addition to whatever it comes pre-installed with) on it a somepoint.

Any suggestions?
Thanks and Happy Holidays!
مسلسل على مر الزمان الحلقة 141
New Technology Is Making Us More Like the Amish
The only people in a new york investment bank making $80k/yr are the janitors.
Yes, yes I did. My question is why it was selected in the first place, rather than a period of exploration of the benefits and drawbacks of the different NoSQL solutions (which perhaps might have stopped this particular test-case from being a failure). The article doesn't mention those details though.

Also, we DO implement a two DB setup... Couchbase and MySQL. They both have their place.
There are a couple of non profit organisation looking for good coders. One of them is Campus Party Europe: http://www.campus-party.eu/2012/index.html.
As far as I know the next Campus Party Europe event will be in the Bay Area / California. And they always looking for volunteers.
Learn That New Programming Language The Startup Way: For Intermediate Devs
I think a lot of the differences in lethality can be attributed to the military's inability to use anything other than ball or jacketed ammunition.
A good part of contention's cost can be the time you wait for the thread scheduler. When the lock-holding thread releases, your thread is moved from 'sleeping' to 'ready', and then it's gotta wait for a CPU. This is usually fast, but the tail can be awful.
Sounds like exactly the kind of spammy business people use these blackhole addresses to avoid!

> Our business values e-mail destinations where we can actually incite the signed up user with interesting offers

I get several hundred of these "interesting offers" every day.
Neat little implementation. A couple quick thoughts:

* Identity maps aren't a panacea -- If you're just getting started, and you don't yet know that you "want" an identity map, you don't necessarily need one. There are a bunch of situations where having the ability to model multiple versions of the same resource is useful. For example, an "editing" version of the resource with changes that may or may not be applied to the canonical version ... or a "conflict" version of the resource that has been changed on the server, that you can reconcile with the local version.

* Backbone Collections already maintain a map of id-to-model information for you, and you can rely on them as an identity map ... if you don't use "new". Instead, something like this:

Backbone.Collection.prototype.lookup = function(id) {
return this.get(id) || new this.model({id: id});
};

// Then later, instead of `new` or `get`:

Accounts.lookup(id);

... would provide a simple implementation of the same behavior, without having to change the semantics of "new", or maintain an external id-to-object mapping that makes it harder for garbage collection to work later.

There's also a version of the above function that you can add that does "lookup or fetch from the server" -- another alternative is "lookup locally, fetch from the server, or create on the server". Whatever you need for your app.
The UK must be fairly unique in this regard, because in North America companies are just happy to hire anyone who can open a text editor for programming jobs. Not even Google, who once was quite vocal about hiring only graduates of top universities, can concern themselves about your education anymore. There are just not enough people to even start to be choosy.

Since I am not familiar with the employment landscape in the UK, I am going to have to take your word for the satiation there. However, since this article is US-based, I do not feel that your picture paints the employment situation in the US in the proper light. Formal education does not have that kind of relevance on the western side of the pond.
Well, again, my point was not that you're a clown for not growing your own food, my point was that you're a clown for regularly attending (and participating in) the farmers forum, having a shed full of farming implements, etc., and then complaining about the bad cucumbers at the store.

As I said, Joe 6 pack has an excuse (just like Joe Startup has an excuse not to be cultivating his own heirloom seeds).

And yes, I'm aware that email as a whole is just a mess, and that running my own mail server does nothing to combat a global observer that can just intercept all traffic anyway... but the big, big win is that my entire existing email history cannot be extracted by any LEA in the country (and possibly foreign) without my even knowing about it. The local sheriff cannot subpoena my entire email history. They have to come to me.

Another huge win is that you can communicate with others that share your mailserver without the email leaving the system - which thwarts even a global observer. It may interest you to know that no piece of rsync.net intra-company email has ever traversed any network.
I was somewhat surprised to see "Patterns of Enterprise Application Architecture".

I thought DHH hated people talking about "enterprise" and "patterns"
Quoting Shakespeare won't get you very far at lunchtime.
I'm using it for the analytics suite at my company (large ecommerce multinational).

Its weird at first, coming from a background of Access then SQLite then MySQL/PHPMyAdmin but you get used to it. I essentially treat it like a gigantic python dictionary object.

The sharding is too much of a ball-ache to set up so I've created an optimal way of distributing/mapping files across our cluster to make use of all machines.

Data integration is nice. Making sure there's no temptation to output each integrated line to the terminal, pymongo and its C extensions can integrate a ~500 byte record in ~0.0001 seconds.

Basically the main advantage is not having a schema whatsoever - you can just add random attributes to documents whenever the hell you want. But later you have to be careful with exception handling since documents might not have the attributes you expect.
These days I won't even consider a language for serious work unless it has a reasonable set of built-in datastructures and algorithms. I'm just not interested in shopping around for a basic vector or hash or tree container or for a compatible set of elementary searching and sorting algorithms.

I know you can find implementations of all of these in C but this is the kind of thing that really needs to be built in to any modern language. C is fine for writing device drivers etc where you can't really assume anything about your environment but for anything else it seems too bike-sheddish.
A Beautiful Equation Explained: Euler's Identity (Ignite Bristol)
Our code will absolutely be open source, and relies on established open source crypto libraries for the actual crypto. Thanks so much for the encouragement peterhost, and please tell your friends about Parley!
Why does the article link have facebook parameters? Is this an attack?

fb_action_ids:4017015587920
fb_action_types:og.likes
fb_source:timeline_og
action_object_map:{"4017015587920":403518526395777}
action_type_map:{"4017015587920":"og.likes"}
action_ref_map:[]
You don't need extensions to bring back the menu bar, you can just enable it from the view menu.

I don't really know what to say about the performance issues though, as I don't have any. Also, Firefox uses far less RAM than Chrome on my PC. I don't understand why people worry about RAM use so much anyway. If it's not it use, it might as well not be there.
> today’s programmer can even go so far as to question the usage of malloc

In old school or new school C, there's every reason to minimize the use of malloc and it's easy to avoid.
What do you mean by "attack"?
Yeah, but someone actually had to discover that at some point in the past ;)
>John Gruber's argument of "better customers" is classic Gruber rhetoric, because that's what he wants to believe. There is no difference between a Samsung Galaxy S3 customer and an iPhone 5 customer.

If the Internet has taught me anything iPhone owners are Luddite sheep while android devices are only bought by the techno elite.
Likely an autopilot bug. It's almost second nature for a lot of coders to do this when making a list of strings.

strlist = 'one, two, three, four, five'.split(", ")

That habit probably just kicked in a little when putting in that example.
I don't think you read it very carefully; the second sentence links to the earlier article where they list the reasons they chose that tech over others.

> I wrote about what I was thinking at the time here [1]

[1] http://codeascraft.etsy.com/2010/05/19/mongodb-at-etsy/
>> Has this realization somehow been lost over time with the rise of languages like Java, PHP, JavaScript and Ruby, even though the major implementations of those languages are themselves built using C and/or C++?

This feels like an oversimplification. There are surely very good reasons to choose [insert language other than C] for production / prototyping / development purposes. The fact that [language] was built in and / or relies on C libraries is at that point not central to the discussion.
Do give the top 5 list of such reasons.
It's a romantic notion, but caring about friends, community and society at large needs to factor in somewhere.
Didn't everybody else know about this in college? In Washington, it was Crab Boats and Canneries in Alaska that people would disappear off to for the summer and come back $40k richer. In the South, I had heard it was Oil Rigs.

But the story is the same: Trade a few months of your life (along with a non-trivial chance that you'd also trade life itself) for a healthy pile of cash and the kind of 20 hr/day suffering that only an 18 year old can withstand.

Plenty of guys did it, and everybody I knew was aware that it was an option. Nobody, however, at least in my circle, considered even for a second trying to turn that sort of hell into a career.

Reading the article, I don't see that having changed. Sure there are people willing to do such work full time. But chances are they're not the same folks for whom university was ever a serious option.
WRT InterfaceBuilder/ProjectBuilder: It was like a pricy IDE which they made free for folks

Certainly was not free at least initially, NeXT workstations cost thousands of dollars (in 1980-1990 dollars) and NEXTSTEP software updates were not free either (I think I paid ~$600 to upgrade from NEXTSTEP 2.1 to 3.something).

I guess in the sense that all these tools were included with the system it was still a good deal compared to other alternatives at the time, when dev tools were typically purchased separately from the OS.
You can't currently change only a single field in couchbase (ex:increment this field) in neither couchbase nor riak.

Range sharding (for saas,shard by client_id).

No sorting by value on couchbase indexes? And many other small features.

On the other hand i love about couchbase: no mongos,all servers equal.
Show HN: Solving a very old problem — passwords
I see nothing in what you said other than subjective anecdotes.

>> How exactly have their decisions "paid off"?

The main complaint over the last year and a half against ubuntu esp in 11.* days was Unity. At this stage in its life can anyone with a straight face claim that Unity on 12.04 is a substandard experience? I highly doubt it, and if there is that person is most likely still holding on to the bitterness of their initial experience with it rather than any substantial criticism against how it is currently.

>> Clearly, the growth isn't there. Android has become the most popular Linux distribution around. DistroWatch shows more interest in Linux Mint, and a declining interest in Ubuntu. The general sentiment when following discussion online is that people are unhappy with Ubuntu, and trying alternatives, including Windows and OS X.

Saying that Android is the most popular Linux distro out there is grasping for straws, our discussion here is obviously in context of desktop OSs, bringing up Android is a non-sequitur and like comparing apples and oranges.

>> The same goes for Firefox and GNOME. The sentiment within the existing user communities is not pleasant. The only "positive" (more like non-negative) articles are coming from the leadership of these projects, and they often read much more like advertising or propaganda than informative articles. Much of the user-generated discussion is some expression of displeasure.

Once again this is all anecdotes. It's funny you mention Firefox, I use both Chrome and Firefox but the strongest criticism I see against Firefox is something as trivial as version numbers. In pretty much every Firefox related thread there is atleast one person complaining about the rate at which new versions are being churned out all the while not appreciating the irony of being a Chrome user and making that complaint. I read an article today with some guy ranting and leaving Ubuntu for Windows after his web-cam stopped working in a newer release, I consider this kind of trivial criticism to be irrelevant and sadly that's the kind of criticism that is directed at these projects these days.
"being indispensable because you solve unsolvable problems is another."

More likely, in most non-technical companies, indispensable IT people are good people to replace at the earliest opportunity because they are "non-core" and could become problematic later. Non-technical companies want good, replaceable cogs using technology that are supported by many consulting companies.
As with the other article from 1922 [1], this article is just so much better written and conveys a far more widely useful point than the articles you see in the media today. Feels a bit like journalism in general has gone backwards enormously.

I think this because journalism is now ranked by 'page views', when in 1922, journalism was ranked by professional editors. For journalism, page views = ad views = revenue, so optimizing for anything else is folly. A short article with eye catching headlines and sensationalism is always going to outdo a great article like the OP. Any way to reverse this trend? Even pay-for journalism today is still plagued by 'page views', as no follow up article is going to be written if the views are low. Back in 1922, nobody really knew the page views and they could only be badly estimated with a reader's survey.

[1] https://news.ycombinator.com/item?id=4969041

EDIT: I've actually changed my mind - journalism of this standard is definitely alive and well, you just have to look to lesser known bloggers now instead of big media. This is probably the true death-knell of big media if I ever saw it - loss of quality content. I present the following blog post from this year as evidence:

http://www.lindsredding.com/2012/03/11/a-overdue-lesson-in-p...

The way writing styles have changed in general in 100 years is also interesting!
Truism, yet not true!

The first two are backwards. If you doubt me, think about what happens in a divorce.

Disclaimer, I've been married over 20 years and never divorced. My kids come first. I'm fairly sure that my wife puts our kids first as well.