skysight-inc/HackerNews huggingface dataset:
So, it's been about five years since we rolled out extensive use of IPv6 on our internal network, and, I can report, that it just works. OSPF with IPv6 is, well, like OSPF with IPv4. Address Assignment from routers to downstream devices works reliably. After a few years, the address "2001:1868:209:FFFD:0013:50FF:FE12:3456" is pretty much as straightforward to parse as 67.228.107.138 (and, in some ways, is actually much easier to understand and remember)

We now have about 10 million devices happily communicating via IPv6 (mostly using RFC2893s IPv6-in-IPv4 to hop through carrier IPv4 networks) over corporate networks to back office applications - and all the processes we developed for IPv4, such as anycast, and variable-cost route advertisements, carry over just fine to IPv6.

As with any technology - you need to learn some things the hard way (the one that bit us hard was "Do not hard code your IPv6 router the way you did in the IPv4 into your hosts if you use the EUI-64 auto-promotion of router advertisements against the VLAN on your router - either (A) statically assign a 64 bit address to that router interface, or (B) use auto-router detection on your hosts") - but that's probably true of any technology.

My feeling is IPv6 is a pretty straight forward and simple technology, that has been slow to ramp, and won't achieve 100% penetration for quite a while - but has a great, and guaranteed future ahead of it. Looking forward to 6/6!
Ya, there are lots of well reasoned complaints about MongoDB out there. This is...not one of them. It's weird that this is getting voted up.
You're right, all RavenDB indexing operations (including Map/Reduce) are done on background threads. When you query, it returns a flag (as you say) indicating if the index is currently stale or not.
Interesting resources for C/C++ developers
When I code I prefer music without lyrics:

Math rock, dubstep and other energetic electronic music when I want to pump myself up to get through some boring grunt work. Jazz when I am doing a mix of activity. Ambient and classical when I need to focus on delicate or thorny problems.

If I find myself distracted by even sparse ambient or the world is cutting through I will just listen to noise from simplyNoise to block it out.
Good article. A few things:

Use "if" and "present?" instead of "unless" and "blank?". It's much easier to parse mentally, especially for people who didn't write the code. :)

You don't need to use "self" to access latitude, longitude, updated_at, etc. You only need to use it for assignment.

You don't need to call #to_s on the captured exception. When you interpolate an object into a string, Ruby calls #to_s on the supplied object itself, e.g., "I am an #{Object}".

I'd probably also add a "has_posts" scope to Category and use that instead of the #where call in ApplicationController.
That's about me, post-tax for the past two years I think. Would go a lot further if I were single, but we can afford to rent a decent-sized 2-bedroom flat in a nice area without having to pinch pennies.
I can see how this can work, for a stable domestic company that's not reinvesting its profits, but don't both foreign earnings (which affect the stock price but are not taxed by the US) and profit reinvestment defeat that whole idea?
Rackspace hardware failure, all data lost. Oops...
Just a friendly reminder to not put too much trust in "the cloud", it was just our development server and we are rebuilding... but not with Rackspace. The thing is that this is the only message I have received about it. It's pretty much: "yeah, we lost all your data, good luck".

===========================

Hello,

This message is a follow-up to our previous emails. Despite the very best efforts of our engineering and datacenter operations teams, unfortunately the host machine that your cloud server xxxxx resides on was not able to be recovered. At this point, there is complete data loss on the server.

If you have taken a server image, your next step will be to build a new server from the server image. If you require the same IP address, please contact support prior to deleting the failed server from your account and we will assist you in sharing the IP to the new server. If you have not taken a server image, your next step will be to build a new server from a stock image and then upload data from your local backup.

We are extremely sorry for this inconvenience. Our Billing Team is going to process a xxxx credit for the server, equal to the monthly cost.

If you have any further questions, please contact a member of our support team by responding to this ticket, visiting us in live-chat, or by calling xxxxx or xxxxx

Best Regards,
The Rackspace Cloud
US Toll Free: xxxxxxxxx

======================
Couldn't even search for the bug as I saw this: http://source.winehq.org/source/dlls/kernel32/kernel_main.c#...
I now have a product that can be continuously deployed in a matter of seconds, is well tested, and can be scaled easily.

It's not clear from the article that you didn't have that with Play. A lot of people like PHP for the feeling of direct control, but of course that often comes at the expense of the power of higher level abstractions. Unless you use a framework, in which case you're back to the unease of "simply building models and controllers on top of it." Sounds like you were just more comfortable with PHP than Java, which is a perfectly good reason to rewrite.
MongoDB is fine at the conceptual level. The problem is that the architecture and implementation are consistently poor in myriad ways. It is a case study of what can happen when well-meaning individuals with little experience in database architecture and implementation attempt to build a scalable database engine.

That said, a competently engineered RDBMS can do everything NoSQL databases can, particularly limited databases like MongoDB. The caveat is that you have to learn how to use those databases; they are very feature rich and powerful but that flexibility makes them more complicated. PostgreSQL is a very good choice from the open source world and is just as fast as NoSQL du jour in the hands of someone that knows it.

I currently design extreme-scale real-time analytical database engines, so I have no vested interest in any particular solution (we are not really competing with the current market). If I was going to build a large-scale web app today and needed a backing database, I would go with PostgreSQL -- it is very capable and well-engineered.
This is a digression, but do you have experience with z/OS?

When I took an operating systems class a few years back, a comment the professor made about z/OS stuck in my mind. "z/OS is one of the few operating systems that can run a VM of itself with almost no overhead." He went on to mention that he had seen nested VMs on z/OS about twelve steps deep that ran without noticeable delay.

Since he said this, I've always wanted to ask someone with some experience with the OS whether or not this is a valid observation. Additionally, does z/OS act similar to a BSD jail, where the kernel itself is replicated to improve security? I've not been able to find a whole lot of free/open documentation on the operating system.
And they already have relevant patents, in a different arena: http://www.readwriteweb.com/archives/google_could_soon_augme...
Google's Creative Destruction
That was exactly what my thoughts were too: letting the OS do all the memory management, caching, is a strategy many great projects use, among which PostgreSQL and Varnish.

However, I do feel there is something "wrong" about the approach MongoDB is taking. They need to allocate new files in huge buffers, which completely take up all I/O while being filled with zeroes. There is no logical hierarchy in the files, and it just feels a bit weird.

Perhaps they should've taken the approach PostgreSQL did, which is to simply use files and read from them instead of using mmap. The whole reason they went for a global lock instead of more granular lock is because the whole mmap'ed area is one big blob, and it was the most "obvious" approach.
What would at least be better would be to pay the designated rate when he sells, rather than paying the designated rate on a severely deflated valuation of the company, but only after being given the opportunity to sell his shares at a much higher price.

If I understand the situation correctly. He is basically going to be allowed to pay capital gains on $X after selling for something like $10X, making his rate more like 1.5%.
It is illegal to attempt to blow up the bridge. But if you do so when led by an agent of the state, having been convinced by an agent of the state to perform the act, and with the necessary materials provided by the state, then you ought not be convicted of a crime.

The more worrying part of this article is the targeting of certain groups and certain ideologies. Even if this particular case wasn't entrapment, that the FBI is specifically targeting certain groups and egging them on to commit acts of violence, is undemocratic and just plain evil.
What’s the right price for ebooks? It’s probably not 99 cents
An interesting take on the topic. I would tend to agree with it. I've always maintained that it takes a certain something to be a programmer. The specific language is less important if you have a "programmer's mind". I've worked with a bunch of different languages. Once you get over the varied learning curve of the exact syntax and structure, it really just leaves you with the general logic and planning and all the stuff that any app is going to require regardless of the language. These aspects are not as easily learned as things like "always (or never) terminate with a semi-colon" or "white space matters".

But I also struggle a fair amount with remembering all the rules... and exceptions to those rules... and exceptions to those exceptions... when it come to American English. Sometimes I actually have to pause and mentally recite the rules for "its vs. it's" and things like that. I think that comes from there not being a strict compiler for the that. The reader is going to be more forgiving in the sense that even if you misuse its when you should use it's, the reader is going to to understand your overall meaning. Most won't correct you because it doesn't really matter to them. Think about the butchered language that gets used on Twitter to get things into 140 chars. It would be nearly impossible to write an interpreter that would take most tweets and rewrite them in proper English. You have too many variations to make that work. But the reader will probably have less trouble with it.
Miredo should work. Also, parts of U-Verse are already being upgraded to v6 automatically.
Reminds me of Joe Stump's entrepreneur goal- to figure out how to make $30 a month from 1000 people.

The key is having focus and a goal in mind. If one can stick to the plan then they are already ahead of the game.
Optimizing what needs to be optimized by using different tools is exactly what the big companies should do.
Ah. If your target is people who aren't going to be reading docs, I don't think any DB is really preferable. :)

Any more details about the project, or is it under wraps?
Remember when App Engine came out?

> Google: "Run your app on our servers, and you'll scale really well, just like Google."

> Developers: "Sweet! Where do I sign up?"

> Developers: "Wait - my app is actually really slow."

> Google: "Duh! You have to write it exactly like we do to make it scale."
I run a production node.js app and my experience hasn't been bad. My cofounder and I spent more time in the beginning (not much more time, mind you) learning how to deal with multiple outstanding async calls, a good application structure for express, etc. Now it's just as fast for us to go in and add a new API call that does this one query in node as it would be in another system.

The only technical problem I've seen that node is an easier solution is dealing with third party apis concurrently. It wouldn't be very straightforward to have a redis query, a mongo query, a facebook query, and a sendgrid query all open at the same time and managing the results when they all come in (and keeping program flow maintainable) in PHP, Python, Ruby, etc. Probably not a common problem or desired feature, though.

We're 100% Node on heroku with a custom buildpack, using a hosted Mongo service, some Node written cron jobs (which were pretty interesting to write), and redis and we serve 5 digits worth of hits every day at least, and I'm more than happy with performance. I never once look back and regret the decision to use node. I don't necessarily care about sharing code, having frontend developers do everything, etc like some node guys throw around naively, but I am looking forward to bringing somebody on that can grasp adding in a new API route, throw in a Mongoose find, and render a template with some variables. We have EJS templates serverside and clientside for that reason, and that could just as easily be done in PHP or Python.

However, I am enjoying working with node, the node community, and the interesting modules and stuff that are being released. I will say that there's a good bit more active "lets hack this up into a module and open source it over the weekend" kind of people in node than others at the moment.
Good thing I get Facebook messages by email. Even if they're using an email image bug to set the "read" status, I'll just avoid downloading images. Sorry, but when I read your message to me is up to me, and whether or not I read it is private.
Yeah, I'm the author and I know what billable hours are. My hours here weren't being billed out to the client.
>This completely ignores the reality of how people use Facebook

Then people need to use Facebook differently. Seriously. What is hard to understand about Don't friend people you don't want to share info with?

This seems like common sense advice, like "Don't knock on the door of people you don't intend to speak to".
Ask HN: How to make 2000 Euro out of 500 in 4 days?
Next tuesday, the german IRS will seize all my salary so I finally pay my tax of 2000 Euro. Coming from a broken business (I am now in a regular job again where I make about 1800 Euro after taxes+social security), I still have to pay existing debt for the rest of the year. That is why I wasn't able to save the 2000 Euro needed for the taxes. I only have 500 Euro left now. Due to several reasons I cannot ask anybody to help me out of the situation. Any idea to leverage the money really, really fast? So that I can call the IRS on monday that I'll fully pay? They are not willing to make compromises any more, as I was owing them the money for too long.
Pizza Delicious made the same basic mistake we all do.

They chose to advertise to people who don't know them, instead of marketing to people that do.

This is so simple, yet 99% of us don't get it.

To convince someone new to buy from you takes times and money. Lots of it. But what do we do after those customers are made?

We ignore them.

So we spend all that money to win over new people and then ignore them.

If Pizza Delicious had instead focused on getting their current customers to buy again, then their investment would have paid out. In fact, the response ratio would have been higher due to the fact that more people would have responded.

But sadly, big media like facebook promotes their advertising like some sort of fix all. When in fact, it works like advetising on the newspaper. As expensive. As innefective. For most businesses, that is just a waste of resources.

If Pizza Delicious is reading, send me an email. I will build you a marketing system that will not only be cost effective, but will work.

PS. Before using facebook, or adwords ads consider direct marketing. If you don't have an idea, then drop me a line. I'll help you get your business off the ground.
There are fairly straight-forward ways to control memory usage in MongoDB, especially if this is a concern for you. All you need is a bit of OS know-how and it works just fine.

We run both large (multi-shard clusters) and small memory (500MB - 2GB) use instances of MongoDB and have no problems.

It would be good to have developers acknowledge that, perhaps, they may not have all the information instead of declaring that something can't be done.
This sounds like a problem of the people buying the ads understanding how search works, but not understanding how Facebook works. I think this will work itself out in time. Was this a problem with search advertising when most people didn't understand search?

Facebook needs to educate these people if it wants to be more effective, but it seems odd that they should have to. Does this happen in other forms of media? I can't imagine a TV network holding an advertiser's hand as much as some people want Facebook to. Maybe I'm expecting too much of these advertisers, like knowing the medium they plan to advertise on.
So the early investors are treating it like a ponzi scheme. they need to make the valuation ever higher based on speculation of future value of Facebook.
Completely agree! This is the result of the short-sightedness of a liberal, progressive, tax-the-rich policy. California has already seen what happens when you keep raising taxes, now it's happening countrywide. Wouldn't we rather keep Eduardo and his billions in the US to spend and invest here?
Worst VC Firms' Websites
Thanks for the feedback!

I'll keep that in mind for the future; it's a bad habit of mine :D

I actually didn't realise you only needed that for assignment. That's going to neaten up my code somewhat.

I normally don't put .to_s in strings like that, so I'm not entirely sure why I did in that line.

Aye, I'd normally use a scope but I figured I'd write it out more verbosely just for clarity :)
I've got a handful of Samsung devices and I'm sick and tired of touchwiz on all of them. It's not consistent between devices and versions, it duplicates features and software that's already built in, and it's bloated/slow.
Ads or not, I just can't stomach reading long non-paginated articles on mobile. Safari mobile rarely keeps view-state when I come back. Without a decent scroll mechanism, it's a lot of finger flicking to try to remember where I was when reading a long article. Pagination lets me bookmark where I left off on longer articles.
fantasy of violence != violence

former is protected under 1st amendment, latter is a criminal offense.
Ultimate list of Websites you need to promote your new Startup's Web App
You are correct. I sent them a pull request for one of the other themes that has this problem but got no response.

https://github.com/mattgraham/Midnight/pull/1
This is indeed my target market.

Edit: added next comment afyer being downvoted for now obvious reasons.

Could not copy and paste due to phone not having such feature.
Changing Form Field Validation at Run-Time with Dynamic MVC Data Annotations
Why is this on HN? The "after" picture looks as if the guy had just pulled in his belly, to be honest, and calling a diet "radical system-hacking" is quite a stretch, isn't it?
I'm sorry, but I have little sympathy for someone who was able to be convinced to blow up $thing with nothing more than a "Gee, it would be nice to blow up $thing wouldn't it?"

That's not entrapment. Any sane, law abiding person would react viscerally and negative to such a suggestion.

I don't even like Congress, but if you were to suggest that setting a bomb in the building was a sane course of action, I'd ask what you were smoking.
Ask HN: Designing a website to be edited by a non-coder?
What are some suggestions for designing a modern-looking website that where content can easily be developed and deployed by someone without a coding background? The current admin has a heavily text- and table-based website with a navigation frame on the left side (it was designed in the late 1990s). He currently uses a legacy version of Adobe GoLive to make new pages and write up content. His content is basically just text, tables, graphs and weblinks. He also has a blog that is maintained at a separate address, which would be nice to add to his main domain (the blog is hosted on blogspot).

What are some suggestions? The goal here is for him to be able to easily write his content without having to learn a programming language or a difficult software package. I was thinking about maybe just making a CSS that makes the website appear a little more modern based on his common way of aligning pages, but should I consider a web framework like Django or a CMS like Drupal? Are there ways of intuitively editing content with these systems?

Sorry if the question seems inane. I appreciate your support!
I just bought tickets to a show from ticketmaster as it was the only option available. They charge $2.50 to print your ticket at home or if you don't mind waiting 2-4 weeks you can get them mailed to you for free. Every other option was in the 1000-2000% markup on the shipping costs.
Apps to Help You Create Professional HTML5 Animations Without Coding
HTML5 has become even more popular this year and it seems like Adobe has noticed that. Now you can use their newest tool, Adobe Edge to create professional HTML5 and CSS3 animations with ease.
Dave Morin joins the Eventbrite board
I initially had the worry that I had no idea what I was doing with Node.js and MongoDB. Honestly I still don't know what I'm doing. I wanted to learn these technologies eventually so I figured why not fumble through the process of learning and failing now so I'll be better with later project?

Keep in mind that my project isn't time or language sensitive. It's a practice project that could go somewhere with more work, but I can take all the time I need. I highly recommend a project like this if you want to learn these or any other new technology, otherwise you can keep with what you're familiar with.
"My essage to companies building applications on top of MongoDB: assigned smart people to MongoDB and don't leave the database work to people that can hardly spell their name or that can just count to three. Yes, this paragraph is harsh and does not comply with diversity but it is true and reality. The number of people that should not do any database related work, people without reasonable background, people lacking basic skills in understanding databases is extraordinary high."

Isn't that true for any database? What point are you trying to make? That a large MySQL deployment can be flawlessly be maintained by people that can "hardly spell their name"?
MySQL At Facebook
That will better for phone interviews will Google than the "plain" Google Doc (which is just terrible for writing code -and that's normal-).
True-- customers often don't know what they want. This can be frustrating when you are trying to sell them something, but think of a time you had to buy something when you didn't have expertise.

I often think about the time my wife and I did some landscaping. The vendors had to deal with 2 stakeholders who didn't know what they wanted, and didn't have the exact same priorities or budgets. The vendor had to help step us through the decision making process, presenting us with options and trade offs. In many cases, customers aren't ready to implement the whole vision, but may just want to do a phase or 2.

An even more extreme example is the doctor-- they have to deal with situations where there are big consequences for the patient, but the patient has little knowledge. The doctor has other lock-in benefits that most professionals lack, but the basic process is the same.
Well "verifiability" means the ability to show that it is true. Something verifiable is demonstrably true. WP verifiability means something different. 'being cited as true by a trusted source' seems close but you can't blame users for Wikipedia's misuse of a word. Of course that just shifts the focus to what is a trusted source ... presumably the answer is one that is true ...

I can prove it too ... http://en.wiktionary.org/wiki/verify [lol!].
Lolcommits: A snapshot of your face every time you commit
mmap also blows-up the TLB cache by taking up so many page addresses.