skysight-inc/HackerNews huggingface dataset:
Exactly. We need more information. There is a utility pole that is clearly on my property, but I'm not allowed to cut it down or use it for anything, because technically it belongs to the utility company, not me.

So when the cops put a camera on the pole in question, did they have to get the permission of the utility company? I can't imagine that going over well without a warrant, if for no other reason than they don't want some third party disrupting their power or communication lines.
That's the idea of a Trusted Platform Module, which many machines have had for some time. TPM provides a per-device hardware environment for signing and storing keys in a tamper-resistant manner.

HTML5 can't access TPM directly, but in ChromeOS, you can create or import a client certificate as a 'hardware-backed' certificate, which is then wrapped by the device's TPM.

At this point (if properly configured) an attacker can't exfiltrate client certificates from the device even with root-level access to the machine. Plus, in theory, extracting key material from the TPM should be made difficult by its manufacturer by means of various physical protections.

Obviously this is a very niche edge-case, but it is possible :)
Another Reason Mondays Are the Worst
How to Create SBS 3D MKV Video
Good. OpenStack deserves more competition, especially from projects that actually deliver.

Also, I suspect Mesos can run VMs if that's what customers want. Building a full EC2-style IaaS on Mesos would be a lot of work, but I suspect customers who adopt Mesos are more likely to be "cloud native" and thus less interested in IaaS-style machine-like abstractions.
10fastfingers.com. I was pretty proud of that run because I was 4/120,000 (I normally average about 142 wpm though). I think my Typeracer record is like 150-155 wpm but I don't play that as often.
I'm constantly bewildered by this notion that writing by hand is slow and thus bad, and that typing is fast and consequently good.

In my daily routine work as a programmer I find most of my work consists of thinking rather than writing. Or to twist the words a little: I don't think my typing impairs my creative ability, because the hard part of my job is thinking out the right solution. If you can't hold that thought in your head without typing the solution into your program quick enough to run and test it, perhaps you're not seeing patterns clearly.

As I work I constantly scribble notes on paper as I find it helps me think. When debugging a concrete problem, I find myself jotting down elements of the stack trace on paper so I can more easily retrace my steps. Concurrently I write down interesting things I come across that needs checking which I can return to when I'm done with my current line of thought.

Yet I'm fully aware I'm moving against the tide. I occasionally write longer pieces by hand several times a week, such as theories and findings. This helps me internalise patterns, solutions, and conclusions to interesting problems. Occasionally there are patterns and I can correlate good solutions to a problem to one I've solved in the past. But foremost it helps me _think_ better about the types of problems I'm trying to solve.

Programming is a creative discipline and not always about reapplying the same old patterns others have used before you. It's about craftsmanship and about learning the trade; about recognising those patterns and seeing new opportunity.

More to the point, my limitation isn't the speed at which I type things into my computer. The limitation is my brain not thinking fast enough.
Oh noes! An 83KB download, which is probably already in the browser's cache, on your site that is 1MB per request.
these sources indicate otherwise. Saudi Arabia started the current trend:
businessweek.com/articles/2014-10-23/oil-saudi-arabias-risky-price-play

bloomberg.com/news/2014-10-16/saudi-arabia-oil-stance-seen-targeting-opec-output-discipline.html

wsj.com/articles/saudi-oil-price-cut-upends-market-1415063053
> from a purely theoretical point of view. But the real world doesn't always work this way.

I have implemented practical running systems that work like that so it is practical not just academic papers.

> But the real world doesn't always work this way.

Sure, sometimes you don't have choice. You get a 3rd party library/service/db that will shit the bed if something pulls the plug on the machine. You can try to identify those parts and eliminate them or mitigate it as much as possible. But sometimes you can't. Then try to characterise their behavior. Maybe have some external cleanup logic if you care to ensure data doesn't get corrupted. And live with it.

> Not every software in the world has the amount of testing for hard kills as an ACID compliant RDBMS - I'd say all the contrary.

Well but it is something to strive for. If you write the software it benefits to understand what happens to the data. Knowing a bit about file syncing, what kernel does with dirty pages, how/if/when to use O_DIRECT, using append-only modes, a write-ahead log. Think about using checksums in your persistent data, take advantage of atomic file system operations (renames), etc.

Well I certainly saw the benefit and the return from running a better, well tested, well designed service that operates that way.

> Let processes cleanup after themselves,

Think about that statement for a bit. How do you guarnatee processes "cleanup up after themselves". Say a junior tech trips over the power cord of the server, how does the process "clean up after itself"?
I'll try.

My client was mad I was trying to charge him an extra $6000 for the time I spend to get the stuff I write to work across different browsers and asked me to use jQuery instead.
Ask HN: How to politely decline an NDA?
I am a freelancer. A prospective client wants me to sign an NDA before doing some work for him. I know that ideas are a dime a dozen, and it's the execution that actually matters. I don't know if he thinks us programmers are just sitting around thinking, "Man, if only I had something cool to build I could put all this algorithm stuff to work on!" but of course as everyone here knows, we don't need to steal people's ideas we don't even have enough time to implement all of our own ideas that we think are great.

How best to decline signing the NDA in a way that will leave me with the best chance of getting the job? (Assuming the guy is just misguided/ignorant about the value of NDAs from his attorney but is otherwise a nice guy to do work for, which I think is the case)

We did discuss things at a "high level" (I told him to avoid any specifics that might make him uncomfortable), and I learned enough about the project to know that, of course, nothing is new under the sun and there's definitely nothing about this project that is worth protecting with a legal document. It's just a mobile game thingy.
Cause and Effect: The Revolutionary New Statistical Test To Tease Them Apart
Backups are good. Backups are important. But who are these guys who want you to trust them with your data?

They're at 2522 Chambers Road Suite 100, Tustin, CA 92780. This is "Irvine Ranch Executive Suites" which advertises "Private Offices From: $ 375 to $1000 / Per Month, Identity Package (Phone and/or Mail Only) From: $ 65 / Per Month".

SSDNodes, Inc. (their parent company) is a Delaware corporation at that address. The agent for service of process is MATTHEW GEORGE CONNOR. He's on LinkedIn: https://www.linkedin.com/profile/view?id=166917144 and has another business, "Xerq.io". It's a social network (at https://xerq.io/hotness) which has a big banner ad for Jarvys.

There are terms of service (https://my.jarvys.io/JARVYS_TOS.pdf) but no sign of a service level agreement.

The pricing goes up by a factor of 10 after the first three months. $240/year for 150GB. That's more than 3x more expensive than iDrive, which supports Linux. Jarvys isn't cheap.

Not seeing a good case for using this service.
> It only takes one small group within one species to generate a self-replicating probe

And what would that probe look like?

For it to be a useful to the sending civilization, it needs to go out, replicate, and send information back.

The first two are easy. Send out lots of meteorites with bacteria on them.

The third is not so easy. Creating a self-replicating machine which can then transmit back across interstellar distances or store information in its replication program and then send more of itself out is hard.

Or, you help life evolve and then wait for the results to reach the point where they can send out their own probes and signals...
How Whites Took Over America [animated]
As an absolute beginner, I actually feel qualified to contribute to a Hacker News thread. Pardon my excitement! As to the question at hand, I have found Zed A. Shaw's "Learn Python the Hard Way" e-book to be extremely helpful. As far as I remember, it assumes no prior knowledge of programming and gets you started right away on tutorials, opting to explain everything after you have the given code up and running. It certainly helps to burn the syntax of a given language into your brain through repetition and has ample amounts of humor peppered throughout.

You'll find this book, as well as a number of other books in the series, all freely available at the site: http://learnpythonthehardway.org/book/
What's the value add of this service vs other free ones? I can think of two really complete, and really free services: Product Advertising API[1] and ISBNdb[2]. In fact with Product Advertising API from AWS you can make money. Display all of the details from AWS on your page/app and then provide a handy link (with or without pictures) to buy the book.

The best I can see is that the product might reduce bandwidth usage because you're providing scant information per request. At the same time, that's increasing HTTP requests and all of their headers, so maybe it's a wash?

[1]- http://docs.aws.amazon.com/AWSECommerceService/latest/DG/CHA...
[2]- http://isbndb.com/api/v2/docs
Show HN: Paperless.IO: prototype to create bootstrap grids by dragging the mouse
This is a new project. I'm curious if others find in interesting and have ideas on where to take it.
Shouldn't the brown-eyed people kill themselves on day 101? Or are they supposed to reason that they, and they alone might have some other coloured eyes.
It almost seems like they do it intentionally to improve tracking and desensitize users. Only a terrible engineer would think needing to know if the phone is ringing needs a permission, let alone one that provides unique IDs plus the phone numbers on phone calls.

It's one more reason I've gone from loving Google to actively avoiding them. (Also, they've very aggressive in getting people to turn on location info and history. They use dark UI patterns to trick people into activating stuff.)
I definitely think more freely with pen and paper than when I'm sitting at a keyboard. I have no idea if this is innate, or because I grew up in the 70's and 80's and learned to write by hand. I do feel fortunate to have learned to write by hand at an early age, but also to feel totally at home in front of a keyboard.

I'm just about to finish writing my first book, and it's been really interesting to see which mode I use the most. I'd love to be able to write my initial draft at the keyboard, because it would make my work a lot easier. But often times I need to put my computer aside, take a stack of blank paper, and write out my initial draft by hand. I kept a journal for many years, including the year I spent living on a bicycle. I slept in a tent every night, and wrote in a journal by headlamp or candlelight every night for a year. I don't know if that's what cemented my dependence on writing by hand to express my thoughts clearly, or if it's human nature to think more clearly when writing by hand.

The same holds true for revising and editing. I do my best revision work by printing out a copy of what I'm working on, and marking it up with a pen and then entering those revisions. I can't edit well working on a screen.

This article was really interesting to me because I have a son who'll be four soon. I'd been assuming that I need to write by hand because that's how I learned to put my thoughts into writing. This article makes me want to teach him handwriting so he'll be able to choose between the two modes as well.
There is /dev/null as a service: http://devnull-as-a-service.com/
While I don't necessarily question their ability to run the service, I think backups are one of those things where you DON'T want designers, leaders or hustlers trying to market a product rather than having a solid engineering base.

For that kind of stuff, I want neckbeards that can install linux on a dead badger.

The same reason why you wouldn't want to have your surgeon be a guy that manufactures scalpels.

This is supposed to send, receive and store data for LONG periods of time without any accidents. It's "boring". Just as boring as safety belts and breaks on elevators, but just as important.
Phasing out cursive in favor of typing reflects an unfortunate reality in which the ability to bang out TPS reports is more important than writing a nice card to Grandma. But while I spend most waking hours at the keyboard, any creative process that involves translating thoughts into symbols is unsatisfying to me if keyboard is my _only_ input device.

I am excited about the shift to mobile computing partly because it forces us to come up with input paradigms that are more appropriate to the digital medium. My pipe dream is for inking on phones and tables to become ubiquitous. Between Samsung and Microsoft hardware, we are slowly inching in that direction. Now if I could only get off my ass and port Xournal to Android (I find myself living in a bizarro world where I fire up Linux mostly to take handwritten notes.)
For me, it's not that handwriting is a bottleneck in getting my work done; it's that it's psychologically annoying.

For instance, I also get severely annoyed sitting at red lights or driving behind someone going 10 mph under the speed limit (I joke with people that the only thing that ever makes me angry is having a green light turn red right before I get to it). Is it really going to make that much of a difference in getting where I'm going? No, maybe 1-2 minutes top. But the mental anguish it causes is quite bothersome to me, and it's the same way with writing by hand.
Why would that be certain? The only reason Bitcoin is more valuable than the seanflyonCoin that I just invented is that people trust it. If people stopped trusting Bitcoin its value would go to near 0 and stay there.
Maybe they are bundled together like "read phone status and identity" and Pocket has no way around it.

They aren't.
This is all awesome feedback, thanks!

Follow up question: what is it like building products for acquisition by such organizations? Is this anything like building B2B or B2C enterprise software? What common requirements do orgs put on software or services they want to acquire?
Browsers know this is s common downside to corp environments and excuse them if the proxy cert is installed. Arbitrary apps don't have to follow that.
agreed, we did some number crunching against crunchbase to look for the right investor profiles, making that into a usable product is much more involved
> Any idea why it is that much better than LMDB?

Yes, for exactly the reasons you'd expect:

mdb_stat /tmp/leveldbtest-1000/dbbench_mdb-6/
Status of Main DB
Tree depth: 4
Branch pages: 204
Leaf pages: 31250
Overflow pages: 0
Entries: 1000000

As you said, MDBM can find any record in 2 seeks; for this database the LMDB tree height is 4 so any random access takes 4 seeks. 2x perf difference.

On a larger DB we would expect MDBM's random read perf advantage to get larger as well, until the DB exceeds the size of RAM. I've tried to duplicate my http://symas.com/mdb/ondisk/ tests with MDBM but it makes XFS lose its mind by the time the DB gets to 2x the size of RAM. First I had to increase the MDBM page size from my default of 4KB to 128KB, otherwise I'd see a lot of this in the output:

2014/12/16-13:13:29 ... thread 0: (200000,12200000) ops and (3436.0,8072.2) ops/second in (58.206750,1511.358831) seconds
3:54903002:dc057:00864 mdbm.c:1809 MDBM cannot grow to 33554432 pages, max=16777216

but on this VM with 32GB RAM, every time the DB hit 60GB in size the kernel log would start getting spammed with

Dec 16 22:19:19 localhost kernel: XFS: possible memory allocation deadlock in kmem_alloc (mode:0x250)
Dec 16 22:19:21 localhost kernel: XFS: possible memory allocation deadlock in kmem_alloc (mode:0x250)
Dec 16 22:19:23 localhost kernel: XFS: possible memory allocation deadlock in kmem_alloc (mode:0x250)

So thus far I've been unable to load the 160GB DB to reproduce the test. But this underscores the basically uncacheable nature of hashes - once the directory gets too big to fit in RAM, your "2 seeks per access" goes out the window because the kernel is thrashing itself trying to keep the whole directory in-memory while finding the requested data pages.

B+tree performance degrades gracefully as data volumes increase. Hash performance falls off a cliff once you cross the in-memory threshold.
As long as they're local I guess, like a handmade `finally` clause. It's like mutation in functional programming languages, they're allowed as long as they don't leak. IIRC Zed Shaw's Learn C the Hard Way has some nice `goto` examples..
Scientists all carry around laboratory notebooks that they write in by hand.

Sure, but certainly not in cursive.
Eventually when no one will accept fiat currencies anymore it will be worth infinite [pick your fiat currency]
This is true - it depends on whether they know there are exactly 2 different eye colours on the island. I should clarify that!
Thanks for sharing!

What is it like competing for such RFPs? Sounds like it's not for the faint of heart. Have you managed to make a pleasant/sustainable career out of this sort of work?
Somewhere (maybe the linked article) that it was 500 subscriptions for $400 a month meaning a little of 2M in annual revenue. 27 mouths to feed is a lot with that revenue.
The social network offers a good example . . .
http://www.youtube.com/watch?v=sPlzlVegfbA

I'd recommend having a lawyer review all your contracts, vesting documents, etc initially and any future documents you are asked to sign.

Keep in mind not many startups are a home run or a rocket ship so usually it won't matter but you don't want to be on the outside looking in if it does take off.

Good luck in 2015.
Can you elaborate or point me to where I can find more info on how this is done?

Thanks in advance
Considering the Veronica Mars movie[1] hit 5MUSD funding, I wonder what it would take for a subscriber-only Dr. Dobbs journal to hit 3M with the premier tier being a one year subscription? At 10 USD/month, that's 25 000 backers?

[1] https://www.kickstarter.com/projects/559914737/the-veronica-...

[Edit: I forgot a big thank you! I still remember reading the article on red-black trees in my teens. Took me many years to realize the significance - but we learn best by streching up, to that which is just out of reach.]
Wouldn't our ability to learn about more than the atmosphere of Venus be extremely impaired from an airship? If one of the goals is ultimately colonization, how would we harvest materials beyond those available in the atmosphere? Even robots would have great difficulty doing this task for us due to Venus' hellish conditions on the ground, assuming they could get the materials back up to the sky city or airship.
They're usually used for an error clean-up section at the bottom.

Zed Shaw introduces some debug macros here which make use of a goto:

http://c.learncodethehardway.org/book/ex20.html

From that point on in the book, pretty much every function written has an "error:" label at the bottom where stuff gets cleaned up and memory freed. You can see his example code for it there.

Pretty useful macros, really. Context for the "goto considered harmful" always seems lost on young coders these days, unaware of the kind of spaghetti code that overuse of goto had caused.
I've started charging for them. I don't decline, ever, I just make it really expensive...and I make it slow down the process. (Get up from the table, "okay I'll take this to my lawyer and get back to you in the next few weeks").

Almost everyone will say "oh, I didn't want to derail the project, let's just move on without it". Some people would rather pay, and I'll gladly take their money.
Thanks for that! I always went through chrome's preferences which is like navigating a maze.
I was a founder, with Bob Albrecht, of the People's Computer Company and was the creator of Dr. Dobb's Journal. It is very sad to learn of the "sunset" of DDJ. I take some solace that DDJ survived longer than most of the other serious personal computing journals and continues to be relevant today. I am proud of the impact DDJ and PCC have had on our society. I am grateful for the contributions of the many DDJ authors and editors. Jim Warren, the first DDJ editor deserves special recognition, as does Bob Albrecht whose vision and insight guided PCC.

Dennis Allison
This is because Linux Kernel source code is not representative of what usual software should look like.
And also because C is terrible ;)
Methane gas discovery on Mars may hint at some form of life on the planet
If EVA isn't even an option, what exactly is this manned mission supposed to accomplish that an entirely robotic one can't? It seems like a manned mission purely for the sake of being a manned mission.
The Joys and Hype of Software Called Hadoop
Dr. Dobb's, you will missed.

Much of my career was built on knowledge gleaned from the magazine and website. Even now, I'm working through articles on CUDA programming with the same joy that many years ago I spent with the articles on Forth.

So long. Your influence will be felt for decades.

Raymond
> We encrypt data in motion, but not at rest (yet).

What does this even mean? When is data in motion or at rest? I hope your servers never see a single unencrypted byte. Just imagine lots of services using your backup system. That will make you a very very valuable target for hacking. You don't need to hack N services anymore, you only need to hack one.

Also what encryption algorithms are used? What key lengths? How are the keys generated?

And even if you do proper encryption, how can the authenticity of your software be verified? What if you where hacked and the hacker manipulated your software and thus installs back doors on all your customers through your software install/update method? Can a customer see the source of what is running on their server?

> By default it backs up everything except /proc and /sys

I guess you don't include the encryption keys in the backup, so there has to be something more excluded. Also what about /tmp?
Data Visualization and D3.js Newsletter Issue 109
You can also get a nice tabular view for the domain you're on by going to "Resources" from dev tools and navigating to the "Cookies" subsection.
Thank you.

After we announced the 2nd seed round the interest in us increased and we ended up raising more, and then when Brad Feld (at Foundry Group) offered to do the FG Angels syndicate on AngelList I figured "why not?" and I was curious to see the internal mechanics of doing one of those. So basically we raised because we've always be fans of "take money when you can".

By this point we had a ton of momentum in sales, had clarified our vision a ton in our month-long company retreat in August, and were not in a position of desperation for once. I felt like I should take heed of the old advice that "the best time to raise is when you don't need the money" so we did some analysis, had some coffees, and picked 6 firms to pitch. We committed to testing the market again.

This time, it worked.

This stuff is just messy.
Improving Infinite Loop Detection on CodePen
Glass door claims $98k for SDE1 and $113k for SDE21]. How much do you expect?

[1]: http://www.glassdoor.com/Salary/Amazon-com-Salaries-E6036.ht...