Cover photo
Nathan Hourt
Worked at BitShares
372 followers|139,762 views


Nathan Hourt

Shared publicly  - 
I should add that one million miles in space is almost trivial. At the speeds used forty years ago, that’s only 38.5 hours of travel.

Wow... that puts things in perspective.
Space travel can be accomplished with forty-year-old technology. So why haven't we gone back to space? There are several ways to answer this question.
Nathan Hourt's profile photoStephen Loftus-Mercer's profile photo
I keep hoping for terraforming tech that would let us engineer the moon somehow. So far, no one can manufacture an atmosphere. Shucks.
Add a comment...

Nathan Hourt

Shared publicly  - 
"Just comply, and you won't be shot" they said. But the evidence shows that, if you're a political enemy, if you attempt to comply or communicate, you will be shot at to avoid a peaceful resolution.
Add a comment...

Nathan Hourt

Shared publicly  - 
Non Acquiescit: I do not consent.

The difference between good and evil is simply this: Did the affected party consent?

Consent is the difference between sex and rape. Rape (and other evils) cannot be justified by how much third parties might be helped. The ends do not justify the means. Two wrongs do not make a right.

We don't just "question" authority. We deny the legitimacy of its very existence. And we do not consent to illegitimate authority, to being ruled in the absence of our explicit, affirmative consent.

We repudiate implied consent. Being born or living in a territory is not any sort of consent to be ruled by anyone. Doing business with one's neighbors is not any sort of consent to be ruled by those neighbors, whether directly or indirectly by way of democratic elections.

We're starting a world-wide movement to deny consent to the #PowersThatShouldNotBe .

Join us!
View original post
Add a comment...

Nathan Hourt

Shared publicly  - 
+Google Chrome Developers I know it's scary when a site with HSTS enabled gives back a self-signed cert, but I know what I'm doing. Stop being so paternalistic, and let me ignore the bloody warning somehow. sigh

Context: I hate that my company's wordpress wigs out (read: breaks completely) when I try to move it to another domain. But it does. So if I want to test an update to the site, I can point the domain to a staging server via my hosts file so I'm not testing on the live server. This is a bit of a pain, but it works.

The trouble is then being certain that I'm working on the staging server (i.e. some DNS didn't get cached somewhere) without changing the content being served to indicate that it's the staging site, which would defeat the purpose of testing these updates in an environment as similar to the live server as possible. I decided to use a self-signed cert on the staging server so it would be clear which server I was using, without changing the content served.

Unfortunately, chrome freaks out and shuts me down because the live server has HSTS enabled. The only solution to this is to add my self-signed cert as a trusted CA in chrome, but that's annoying (for the obvious reasons as well as) because chrome then shows everything as peachy. I want the red-slashed-https telling me I'm using a self-signed cert, dangit.

I know what I'm doing is ridiculous, and I feel like I've turned into LongTimeUser4 (ref: xkcd 1172), but I'm no devops expert, and I have to work with this annoying wordpress because the marketing guys love it. I welcome suggestions for better ways to test wordpress updates (updates regularly break the site, so I had to come up with some way to test them before applying them live) in a staging environment on the same domain as the live site.
The Wrath of Kahn's profile photo
Add a comment...

Nathan Hourt

Shared publicly  - 
Interesting news. I wonder if this can be generalized to text recognition in a blurry image as well...?
This is a very interesting technical challenge. Pixelation blurring is a traditional way to conceal people's identities in photos, and it works well because it interferes with the mechanisms our brains use to recognize faces -- spotting the points of the eyes, nose, mouth, and so on.[1]

Like any other recognition system, natural or artificial, this is based on the system seeing a bunch of these things and learning which features differentiate one thing from another. If you were to start a recognizer by showing it faces both blurred and unblurred, and telling it which were the same, then it would learn a very different set of features to look at than our brains normally use -- say, patterns of light and dark. And it turns out that these patterns are pretty good at identifying faces, too. They aren't as good as the ones our brains use for telling each other apart, but what they are good at is recognizing someone even when they've been blurred.

The practical upshot of this is that it's surprisingly easy to train a computer to recognize faces that have been blurred.

From a security perspective, this is very important, because we often rely on these kinds of obfuscation to conceal data -- even life-or-death data, when concealing the identities of people like confidential informants or political dissidents.

But we shouldn't focus too much on this one special case. Instead, we should look at this as a special case of a much broader phenomenon. In theory, things which look similar can be distinguished in all sorts of ways. I'll bet that the pattern of pores on the back of your hand is unique, for example. Whenever we use some kind of "blurring" -- that is, systematic information loss -- to eliminate information, the right way to analyze it is not whether people can still extract the original information, but by truly information-theoretic approaches: does enough information exist anywhere to recover that data?

For example, if you're trying to conceal identities: There are under seven billion humans on the planet, which means that in theory 33 bits of information is enough to uniquely identify anybody. In practice, a lot of information is noisy, but if you reduce an image of a person down to 64 bits, there's probably enough information there that somebody (either now or in the future) could reverse the process and figure out who it was.

This kind of validation -- of using mathematical approaches to validate that enough information has been destroyed to make something unrecoverable -- is similar to the ways in which cryptography is validated. There, you're trying to show that a certain minimum amount of computation would be needed to recover the plaintext; here, you're trying to show that no computation can recover the original.

Various practical versions of this have been coming up. Recently, a Russian company started releasing a program which took pictures of people and searched over the Internet to find other pictures of them and figure out who they are. While it was billed as helping people spot celebrities, its primary use seems to be in identifying sex workers and similar people, and then either outing or blackmailing them. Why does it work? Because it's suddenly possible to tie a picture taken today to a picture taken a decade ago, and show that it's the same person, something which wasn't easy to do a few years ago.

Today, I sometimes see news outlets cropping people's heads in an effort to anonymize them. (Especially for victims of crimes, etc.) This feels like an example of the same mistake: bodies are just as distinctive as faces, it's just that we don't normally look at them that way. But it would be almost surprising if nobody could figure out a way to identify you by a picture of your torso.

And there will always be subtleties that you didn't think of, unless you are literally attacking it from the perspective of "are there enough bits of information?" For example, if you were to completely remove a person from a picture and replace them with a region of perfect black, would the reflections off their skin on other objects in the picture be enough to figure out who they are? Certainly not to a human eye, but I wouldn't rule it out in general without some serious computation. Likewise, your camera captures a lot more information than you see -- by which I'm not talking about location metadata, but about different colors of light and pixel variation which is only in the RAW file, not in the jpg's that normally circulate.

The moral of this story isn't an easy one. It's not "ban people from recognizing things," because in general, people will. Instead, it's a combined moral about treating information destruction with the same sort of seriousness which we do cryptography, and about recognizing that just because something is secure today doesn't mean it will be secure forever.

More research needed, as they say.

[1] The human brain has an extraordinary fraction of its volume dedicated to nothing but face recognition, which is why we're generally so much better at it than computers. This system trains during our youth, which is why people tend to be significantly better at remembering and distinguishing faces similar to the ones they've seen in early childhood. (Thus the "All X look alike" effect) It's also helpful for distinguishing things that look sort of like human faces, such as dogs' faces, but we aren't nearly as good at that -- and we're downright terrible at telling jellyfish apart. Only they know the difference.
86 comments on original post
Add a comment...

Nathan Hourt

Shared publicly  - 
h/t +Alan Lovejoy, who said:
When it comes to alcoholic beverages, you need to know your limits :-)
Add a comment...

Nathan Hourt

Shared publicly  - 
Jury nullification in progress. :)

The article is a bit dated now, but the point is still fully relevant.
Add a comment...

Nathan Hourt

Shared publicly  - 
Attempting to build Capn Proto on windows, and microsoft's compiler gives the following error:

c:\users\ieuser\documents\capnproto\c++\src\kj\parse\common.h(316): fatal error
C1001: An internal error has occurred in the compiler. [C:\Users\IEUser\Docume
(compiler file 'f:\dd\vctools\compiler\cxxfe\sl\p1\c\outdname.c', line 4869)
To work around this problem, try simplifying or changing the program near th
e locations listed above.

Seriously, microsoft? Your advice is "Try shotgun debugging [1] your already-correct program. Our compiler can't understand standards-compliant C++, so just make random changes until it compiles, and that'll probably work great." Fix your crappy compiler!

Add a comment...

Nathan Hourt

Shared publicly  - 
Proponents of Java like to claim java is "Write once, works everywhere." In all my years, I have consistently found java to be "Write once, works nowhere." Java programs never work out of the box, but only after many hours of tinkering, sometimes they'll actually start just long enough to tell you that they're just not going to work... because java.

java.lang.ClassNotFoundException: org.netbeans.lib.awtextra.AbsoluteLayout
Brian Boring's profile photoNathan Hourt's profile photo
C has its advantages, but I do appreciate not having to write my own vtables. :)
Add a comment...

Nathan Hourt

Shared publicly  - 
Words worth resharing
If your problem with 'illegal immigration' is that the government is stealing your money and giving it to them via welfare, then your problem isn't immigration, it's government stealing your money.

You're welcome. 
1 comment on original post
Stephen Loftus-Mercer's profile photo
Government can't steal your money. It's their money. They printed it, back it, regulate it. If your problem is the way they manipulate their money, vote a different government.
Add a comment...

Nathan Hourt

Shared publicly  - 
Single father blogs about teaching himself programming

This single father of one 8 year old girl decided to teach himself to program in the language python, and blog about the lessons and experience. The first lesson is hot off the presses, having been posted just 5 hours ago, is easily approachable, and has so far earned a little over $3 on Steem, where he also blogs under the moniker 'tee-em' about topics ranging from fatherhood to photography to philosophy.

The first lesson is at:

Here's where he'll post all the lessons:

And his full blog:
Add a comment...
Nathan is dedicated to creating applications which empower individuals to shape a better world for themselves and others.
Christian, Linux guru, programmer, all around geek.
Basic Information
Looking for
Friends, Networking
I am a servant of Truth. My work is to empower all individuals to be free by helping them find Truth.
  • BitShares
    Software Developer, 2013 - 2014
    Frontend, Backend and Middleware developer for the bitshares toolkit
  • Follow My Vote
    CTO, 2014 - present
    I oversee development of open source, end-to-end verifiable online voting software, for everything from proxy voting to customer polling to political elections. This work is my effort to create tools to enable voluntary societies to thrive.
Contact Information
Nathan Hourt's +1's are the things they like, agree with, or want to recommend.
A quote by Confucius

The beginning of wisdom is to call things by their proper name.

Don't Tap The White Tile

According to reviews of our players, our game is much better than other "white tiles". If you feel so too, write your review and recommend i

Link Bubble Pro

Link Bubble Pro unlocks the full feature set of Link Bubble. Upgrades include: • Infinite number of tabs (free version is limited to just on

The Stress Of Being A Computer Programmer Is Literally Driving Many Of T...

Being a software programmer is one of the best jobs these days for your pocketbook, but it can be incredibly bad for your mental health.

Grand St.

Grand St. is a new market and community for well-crafted creative technology.

Icebreaker Merino

There's nothing more natural to wear in nature. New Zealand Merino #Wool Clothing for Outdoor and Performance Sports


Haggle Price Comparison - where every links leads to price.

The Health Benefits of Tears

For over 20 years as physician, I've witnessed time and again the healing power of tears. Tears are your body's release valve for stress, sa


A place for Android fans everywhere to meet, share and get the latest on all things Android.


Truly great coffee, in your kitchen, without much fuss.


Discover the Web's Best Kept Secret for Consumer Electronics


tools for efficient living


JuiceSSH - SSH Client for Android

Google Play services

Google Play services is used to update Google apps and apps from Google Play. This component gives you access to Google Settings and helps a

The Clymb

Member pricing on the planet's most sought-after outdoor brands

Nice, quiet shop. The guy was very friendly and helpful. The place was clean and well organized. Would happily go again.
Public - 4 months ago
reviewed 4 months ago
Good, friendly and helpful service at an entirety reasonable price.
Quality: ExcellentAppeal: ExcellentService: Excellent
Public - 4 years ago
reviewed 4 years ago
7 reviews
I came with a couple friends and had a burger. The food was great, the waitress was good and I liked the ambiance. I particularly appreciated that the table had grinders for the salt and pepper instead of shakers. Fresh ground pepper is just so much better, hahaha.
Food: ExcellentDecor: ExcellentService: Excellent
Public - 4 years ago
reviewed 4 years ago