skysight-inc/HackerNews huggingface dataset:
I agree that document-oriented databases will probably not replace relational databases in the near future. In my opinion though, the schemaless design of MongoDB paired with its ease of use and its native support of JSON data makes it a perfect choice for prototyping and (in some cases) a viable option for use in production.

What you also have to consider when comparing document-oriented to relational databases is that the former is still a very young technology: MongoDB has been founded in 2007, whereas Postgres has been around since 1986! So given what the MongoDB team has achieved in such a short time span, I expect to see some huge improvements in this technology over the next decade, especially given the large amount of funding that 10gen received.

In addition, the root cause for most complaints ("it doesn't scale!", "it loses my data!", "it's not consistent!") is that people try to apply design patterns from relational databases to MongoDB, which often is just a horrible idea. Document databases and relational databases are very different beasts and need to be handled very differently: Most design patterns for relational databases (data normalization, using joins to group data, using flat data structures, scaling vertically instead of horizontally) are actually anti-patterns in the non-relational world. If you take this into account I think MongoDB can be an awesome tool.
These are not Fallows' opinions. All of these statements are attributed to others and presented "as told to James Fallows."
A big win for me was separating my "todo list" (a list of lists that covers all my responsibilities) from my "agenda" (a non-negotiable contract with myself regarding today, and only today). If my agenda has more than 3 things on it, I consider that a red flag, e.g. I'm playing catchup or overestimating what I'll accomplish in one day.

Todo lists are important as reference documents. But my agenda is what I use to set and keep focus and maintain 'now' productivity (as opposed to 'when I get organized' productivity, which is what a giant todo list promises).

FWIW I use Trello for todo list(s) and TeuxDeux (as a pinned Fluid app) for my agenda.
I would argue if you don't know how your data is going to be used then you should use the most flexible option - a normalised relational database.

This gives you the most flexibility when querying, whereas with a denormalised database you need to know how you're going to query it ahead of time. Unless you want to abandon any semblance of performance.
apenwarr also did an implementation of redo.

https://github.com/apenwarr/redo

It might be interesting to see if the two of you interpreted DJB's documentation in the same ways.
Amazon workers in Germany strike
Why is it impossible to trust someone?

With sufficient transparency and checks/balances, wouldn't a partially centralized internet be acceptable?

It's not an easy solution by any stretch of the imagination. If you can come up with a realistic solution then please let us know and we will help implement it.

Nothing is stopping you from hosting servers at your home or place of business (except maybe specific ISPs), isn't this how the internet was originally?
I feel like I was just Rick-rolled.
Tor may be forced to cut back capacity after Heartbleed bug
Thank you for sharing this. It's effective and straightforward.
It's a lot more socially acceptable to commit suicide for the elderly and terminally ill these days.
Ukraine Crisis in Maps
Far fewer people are dying from gun violence than from drug use according to those charts.
What if you want to have several tiny boxes? For example, if you want to host a mail server as a separate box for security, that's another $20/month. Or what if you need to use a different Linux distro for something? Another $20/month. A few examples like that add up fast.
The concept of a to-do isn't necessarily bad, but not having a personal workflow of reviewing and prioritizing stuff at a regular interval (consider it a personal scrum meeting) renders it useless.

I prefer the concept of Monday (sometimes Sunday night) for planning and prioritizing my week. And a Friday review (or postmortem for the week).

There's some good stuff over at Scott Hanselmans's blog [1]

Also, this concept of three items and a flow is discussed in the following, "Getting Results the Agile Way" book [2]

[1] http://www.hanselman.com/blog/ScottHanselmansCompleteListOfP...

[2] http://www.amazon.com/Getting-Results-Agile-Way-Personal/dp/...
Usually by sudden panic: Wait, what date is it? Did I pay already? When's the deadline? Is it tomorrow? Shit, I'd better pay for the extra fast transfer.

At least, that's how my VAT payment went this year.
I think static site generators aren't really "new" technology. Originally, the whole web was based on serving static pages. In a sense, it's the oldest web tech there is. And you're simplifying your stack on the deployment platform.

But Wordpress does add a whole bunch of features that you might need.
Did they ever try expanding into foreign territory? I haven't seen them even in Germany in the lsat 10-15 years.
Static Code Analysis with FindBugs, Checkstyle, PMD, Coverity and SonarQube
Browser extension to check if site you're visiting is affected by Heartbleed
Too late to edit: last mention of 'independent variable' should be 'dependent'.
No MySQL won many years ago. Every shared hosting provider uses the LAMP stack. And PostgreSQL has a pretty average scalability story. It lacks the simplicity of MongoDB or the flexibility of Cassandra or HBase. It needs a lot of work.
That seems to be around the age that people start feeling like they've 'missed the boat' if they aren't married, or didn't achieve their childhood ambitions.
Thanks for spelling that out, I see that it can be a useful exploration tool.

For me though, the act of thinking about a problem in terms of data and relationships helps a lot in exploring and understanding what I'm dealing with. Even more so in an agile setting, where things can and will be changed often - the schema is no exception, it can be changed. No need to cast in stone the first schema you came up with.

But that's just my preferred way of approaching the problem :-)
Yes, markets should be allowed to fail. It is part of a very natural and successful process that has brought us to where we are. The same goes for governments. It's a trial and error process that goes back to the beginning of life. There is an anaology I really enjoy which relates the idea of saving economy and markets from the natural process of failing:

"In the 1970s the US developed a policy of forestry that espoused 100% prevention of forest fires; let’s call it “fire is not an option”. This policy resulted in the systemic suppression of small fires and eventually into very unbalanced forest ecosystems where fire is now not just an option, but a certainty of disaster. We now know that fire is a natural part of a forest’s life-cycle. Without fire, the forest floor gets overgrown, making it a source for bigger and hotter fires. When fires break out in a “managed” forest where fires have been suppressed for years, they burn so hot they turn the ground to glass. Fires that were survivable by trees are now so destructive that they denude hills and wipe out the entire ecosystem. Our financial system has become much like a poorly managed forest, harboring within it the increasing probability of a systemic and destructive conflagration."

Just as no single person knows how to create a pencil, no single person, or group of powerful individuals, have any idea of the complexities that exist when deciding how to guide an economy. It's naive to think otherwise.

From: http://antonopoulos.com/2014/03/02/failure-is-an-option/
But don't minimize your sun exposure too much or you may end up depressed and kill yourself. Maybe the lesson is one of moderation (but not for smoking!).
Seznam.cz started very early (in Lycos/Alta/Yahoo era) and there's also difference in the strategy. For Google, Czech republic is just another market area, for Seznam, it's the main area.
Webseitenoptimierung – SEO Beratung – Stuttgart
On the contrary, coming from the world of mature SQL systems (like SQL Server), I was horrified to learn that MySQL supports neither transactional DDL nor online schema updates. These are taken for granted in premium SQL databases, and to a lesser extent in good free ones like PostgreSQL. (Raise your hand if you've seen the polite suggestion from the Django (South?) team to use a "real" database when your migrate command fails...)

Put simply: MySQL was written by and for people whose time isn't valuable. I.e. the assumption is that it's cheaper to throw low-grade people and brainpower at workarounds (OpEx) than to pay to have the problems avoided in the first place (CapEx). There's a reason people shell out the money for big-iron databases: the math can be easy when you factor in the costs saved (both the direct costs and the opportunity costs).
They mentioned ORM so they don't need a DBA!

Jokes aside, I still think profiling is a great idea here. Even if you're not responsible for writing the database portion, it's important to see how much time those calls are taking.
Kim Dotcom wins back cars and cash seized in Megaupload raid
JXcore isn't on my radar until it is open sourced with a permissive license.
I use a tiny VPS provider that is actually $20/yr. For sites that get a couple thousand hits per month it is perfect. Although I do not see it as a requirement in this price range, the uptime has been on par with the big names (I have known of one 5 hour outage in the 3 years I have been using it). Even DO's $5/mo now seems a bit steep now for the "I just had a random idea" type thing.
In my experience, the teams that run the best are full of generalizing specialists. So you have three people that are quite handy with the DB: One is the best of the lot, and is mostly doing DB work. The others are good at it, but they bring unique strengths in other areas. In the same way, you have a guy that is pretty strong at Unix administration, a language lawyer, some people that are big into UIs and such.

So while people will probably dedicate 80% of a week to a given kind of task, they can, and do, play multiple roles, depending on how much their specific expertise is needed that week.

For instance, I am the number one choice on UIs, but I also play support managing Postgres, because I did a whole lot of that in a past life, and we don't need a full time DBA. I am also leveling up in our scheduling system, all Akka actors.

At my previous job, the team had all the Database experience it needed, but domain knowledge was weak, so I spent much of my work working with users trying to figure out what they needed, and why they were unhappy with the product. They hired me for my UI strength, but reality said that I would be more useful doing customer facing activities half the time, so I did.
Yes, but AFAIK only to Slovakia.
Bluefin-21 joins MH370 search
Ask HN: How to take the lead on a project after the head leaves?
I have been working with a senior developer on a project, but now he is leaving and someone has to take the lead. Most likely another senior dev will come on board with me. I would like to take the lead of the project because I know it better (actually the only one who will know it) but I am concerned that it is not enough since I am still a junior. What chances do I have?
My point is that MySQL/Postgres aren't difficult and this is a pretty low-hanging fruit example of a decision that doesn't need to be made and shouldn't be made with short-term thinking. Maybe it's necessary at times, but you can go too far with that excuse. Code is much, much easier to change/fix than a data store.
Just Amazing and So Creative
Codepen now has VIM keybindings
I don't think you'll be able to access these. My university uses Piazza as well and you need a university .edu email address to get access to the Piazza boards.

Fortunately, if the way MIT uses Piazza is anything like the way my school does you aren't missing much. Usually people just use Piazza to clarify something that was glossed over in lecture or to get help on some aspect of the homework.
Free markets don't care about which company or approach scales better they just react to price. So, it's a greedy algorithm.

That said we free markets are extremely uncommon and decisions are often made based on information other than price.
5c a month savings is worth keeping your Linode on old hardware with 512MB of ram?!??!?
I'm actually a little unhappy, it looks like they reduced the CPU count for my $20/mo instance. At this point there's basically no reason to stay with them now.
You are placing a lot of merit on Java. Most of it should be directed to the JVM.

There's nothing inherently great about Java, other than the fact that it constrains programmers so much, that the damage a bad programmer can inflict is greatly reduced. At the same time, so is productivity. This can be mitigated up to a point by having more bodies, which is a thing that bigcorp can afford but startups cannot.

Replace Java with anything else running on the JVM and you'll reap most of the benefits (libraries, application servers, deployment, etc), without many of the constraints.
Anyone have a demo?
Life itself is a greedy algorithm.
One reason Linode doesn't offer "tiny boxes" is that they, like other companies, are worried about running out of IPv4 addresses.
Seeing this cycle is tiring. People became obsessed with to-do apps (still not sure why, I guess as a demo for trying different styles of app development), then they all tried to be the most polished to-do app, now comes the to-do backlash where people decide to-do apps were unnecessary to begin with. Jeesh.
He should have used the analogy of Alice making an automated wait staff (e.g. waiter drones) for the restaurant. Not an amazing electrical system. I wonder how that kind of story would fair in his scenario.
I meant to say Angular is starting to get widely used. Typing snafu. (Post makes no sense otherwise.)
I do not understand the difference between outbound bandwidth vs the transfer. Can you explain a bit please?
> Well the URLs are provided by SoundCloud and jQuery so there's nothing that I can do (other than hosting it myself).

Drop the scheme [0], the browser will be smart enough to know whether to use http or https.

[0] https://stackoverflow.com/questions/550038/is-it-valid-to-re...
Data migrations are rarely just about adding or removing a few columns. It also involves data manipulation. Schema doesn't help you with this. So at some point you have to write data migration code. In which case (and if you are using an ORM) why not do the schema change at the same time.

And sorry but it is complete nonsense to suggest that data migrations are almost impossible on schema less systems. I've done countless myself and people are doing it every day.
WebRTC Signalling: Here Be Dragons
The Switch from Designer to Manager
Or just take Vitamin D to sidestep this rather terribly "designed" body mechanism.
Because every task has a deadline, and you should only look at the task on the day that it must be finished.
1.) Yes, ad-hoc querying is usually easier to do and more powerful on relational databases (although the trend in NoSQL databases seems to go in that direction as well, ArangoDB being one example).

2.) The document based approach doesn't say anything about the degree of data normalization - you can have your data as normalized or denormalized as you want, just as in relational databases. Each row can correspond to one document, the containing table usually corresponds to a 'type' property on the document. Following this approach, building views / queries is about as powerful as it can be in a RDBMS, the trade-off is rather between strictness in forbidding/allowing slow algorithms vs. ease of implementing a first working version.
The biggest performance issues I think that some people run into with Go involve reflection which seems to be slow. Something that does a lot of JSON parsing for example maybe could be much slower in Go than in Java, Python or JavaScript I think. I don't have any data, but I've known people to complain about it that work with Go. I wonder if a JIT or AOT compiler might help.
Cool news, but their website now has the same lame design as DigitalOcean. I liked the old site layout better.
Higher specs sound really nice, but on HN I see people commenting on the ease of DO's admin tools. How does Linode's compare?
I have more faith in freedom than faith in a group of humans with the same greedy intentions as any other human, but with regulatory power over everyone else in the market.

You were effective at using big words and quoting an economist, but not at providing any counterargument to the essay.
As much as I believe in free markets, I think zoning is useful thing. I live in South Florida and we have a couple of areas with very little zoning. They are funky and great to live in now, but eventually they will gentrify. On the other hand, there are heavily zoned areas don't have the sort of quirk I love and never will. The sweet spot is hard to achieve with or without zoning.

I think that if zoning was pulled completely from San Francisco it would turn into a glass and metal city within 20 years - something as (to me) monstrous as Canary Wharf in London. I'd hate to see that happen.

For what it's worth, I used to be rather libertarian until I realized that ultimately there's a market in governance too: http://en.wikipedia.org/wiki/Schr%C3%B6dinger's_Cat_Trilogy#...

It's nice when there's enough diversity for people to pick the sort of place they want to live in, zoned or not zoned.
I would encourage you to run a benchmark before deciding that 2 vCPUs is necessarily worse than 8 vCPUs running in a different architecture.
Care to share the provider you are using?
Jobs rejoined Apple in 1997. OSX and the iPod came out in 2001.

So, Jobs was an outlier. But the eulogizing is starting to get out of hand.
I don't think so. I'm a fan of Python and Postgres. Rationale: there's nothing special about type errors in the code. They're just ordinary errors; you fix the code and move on. But if bad data gets into your database, it's too late to just fix the code. By the time you discover the problem, you're already set up for a very bad day, or long sequence thereof. The database has to be treated as sacred.
It took Jobs a while to turn Apple around. He was brought back on in 1997 and profits were relatively minimal for almost a decade. It wasn't until the release of the iPhone that they really started to soar.

I can think of a few faster turnarounds: Lee Iacocca at Chrysler or Gerstner at IBM. Howard Schulz is another example of a founder returning to the company to turn it around.

Some of these have done a better job than others of lasting through the turnaround CEO (and others it's too soon to tell).
Your eye has long-ish depth of field. Your brain also compensates for focus. So you perceive an in-focus area several inches to many feet deep.

With an f1.2 lens, I can put objects just a few millimeters in the foreground and background of a subject out of focus.

Photographers, consciously or otherwise, use a language of optics effects to suggest ways of seeing, but they never work the same way as your vision system, which also lacks the ability to introspectively show you the raw data from your eye. So the saying that "your eye is a camera" is true, but the camera image is not directly accessible to your own mind.

So, somewhat ironically, this faux DoF effect might work more like your eye, putting a whole foreground object in sharp focus, and making the background uniformly "blurry."
Black males die at such a higher rate from AIDS. Are they having that much more unprotected sex, taking that many more drugs from dirty needles, or getting that much inferior treatment than the general population?
The stuff I have there (mostly lightly-trafficked PHP sites) is not memory-intensive. Why rent a 3000 sq ft office when I only need a 1500 (or even 750) sq ft one? And yes, if I could halve ($20 -> $10) my monthly cost, it would most definitely be welcome.
There's similar and then there's alike. I guess it makes comparison easy, but imitation certainly must be the sincerest form of flattery:

Compare the look and feel of https://www.linode.com/pricing/ and https://www.digitalocean.com/pricing/
tl;dr: If you had 40 VMs on 8 cores before, you have 10 on 2 cores now. It is the same ratio of VMs:Cores but with stronger processors.

Long version:
"If you take the upgrade, you inherit the new plan specs, vcpus and all.

We’ve greatly reduced the contention on these new machines compared to our old structure, and in testing this new arrangement provides much more consistent CPU time with less potential for steal. We think it’s great and totally worth the move, otherwise we wouldn’t have done it. These machines are incredibly fast, faster procs, SSDs, the network is incredible, etc."

From Caker's comment on the blog. It seems that this was done to reduce fighting over core and provided more consistent fair availability of processing power when they tested it b/t VMs.
Why isn't the first thing I see on the Animatron website an animation made in their own app? http://animatron.com/

Webflow did this with yesterday's post: http://interactions.webflow.com/
So, let's drastically reduce our productivity so that they'll hire more of us?

Sounds great! Except now you are a drop in an ocean of developers, which are all working on crappy tech with low productivity, each providing very little value to the business.

Enjoy your new, much reduced, salary.
> and you can already do this today.

Well many can, but far from all in the context of hosting from home. If you are stuck behind NAT at home then you can't without paying for server resource externally and that is going to be more of a problem over the coming years as IPv4 increasingly becomes a problem and IPv6 (despite recent acceleration) taking a fair long time to become ubiquitous.

> In my case, I host my own dns, ..., locally on my home connection.

What do you do for secondary DNS? Some services respond differently to "address found from name, but server not responding" than they do to "couldn't lookup name".

One particular problem I've seen reported relatively recently is bounced mail when the senders ISP replaces "could not contact DNS server to lookup address" to "I know, I'll show them my own error/adverts web page": of course the user's MTA doesn't know anything about web pages and tries to connect to the host address provided to send mail and is told to go away (either no mail service found or there is one but it refuses mail for that recipient). If you had a secondary then the lookup would pass to there so the right (but currently non-functioning) address would be given to the MTA, it would fail to connect and drop the message back into the queue for a later retry.

It is rare it makes any difference these days (many agents that were sensitive to this, such as mail servers, no longer are because it is quite common for small arrangement not to have secondary DNS and for ISPs to break DNS in the name of making an extra penny here or there) but it is still worth having an externally hosted secondary DNS host even if everything else is a single point of failure for all (hosted on one box on one link). For a small home concern it needn't cost more than ten or fifteen $/year either to run your own bind instance in a inexpensive VPS or to use a specialist DNS service.

I run most things from home too, but have external resources (a backup location and a web service that occasionally needs more bandwidth then the outgoing link at home can comfortably provide) so my secondary services sit out there with them.
Some indicators I've witnessed as a student:
They started programming at an early age because they thought it was fun/interesting rather than thinking about a getting a job or making money.
Have impressive side projects.
Have competed and done well in algorithm competitions.
Have full time software development experiences before starting university.
High grades at an elite highschool.
IQ above the rest.
Educated and/or supportive parents or teachers.