2015-01-01 »
"Assume all your co-workers are making smart decisions, just for reasons you don't understand" is not actually a strategy that works. Sometimes if it looks like a bad idea, that's because it's a bad idea.
2015-01-06 »
Tested my new wifi autochannel algorithm on 2.4 GHz in a noisy office. Most of the routers in the room were on channels 1, 6, or 11, but there were at least a couple of outliers on every single channel (this is New York after all).
Anyway, my algorithm picked channel 2. Conventional wisdom is that this is exactly wrong, because it is a partial overlap with channel 1. Sadly, I double checked the math, and it checks out. It may have actually made the right decision for a very complex situation, assuming my algorithm makes sense at all.
I'm pretty sure this is how it will feel when the machines take over.
Meanwhile, I guess I should just do a speedtest on every single channel and do this objectively.
2015-01-07 »
I like this idea of so-called "gradual typing":
http://lwn.net/SubscriberLink/627418/a09d6081e42b3bc0/
Sometimes in python, you can fix a lot of error-proneness (and make your code a bit more self-documenting) with just a little bit of type checking in a few places. It doesn't mean you need an entirely statically typed language, but not wanting to declare all your types also doesn't mean all type declarations are bad.
Of course, the danger of an approach like this is that someone would end up writing a new python style guide that looks like the javascript style guide, with type annotations everywhere, missing the point entirely.
2015-01-15 »
"At the end of the day, I wasn't stressed out or completely drained like at most call centers. I felt energized and productive."
– call center employee survey
2015-01-16 »
After my wifi presentation, someone asked if I wanted a tour of the Institute for Quantum Computing (at the University of Waterloo). Well, yes, obviously.
So, we did that today. If I were to summarize our discussion, I would summarize it thusly:
"Hmm, all that radio wave stuff you're doing just sounds like second year physics to me. Look, here's the quantum entanglement machine I built. We're going to put a balloon with a receiver into low earth orbit and then beam QUANTUM ENTANGLED LASERS INTO SPACE."
Yeah, okay, you win this round.
On that topic, if there's anybody in MTV who wants someone to come down and do a tech talk about beaming QUANTUM ENTANGLED LASERS INTO SPACE, I have a contact for you.
Seriously though, it's a real thing. There's this sandwich of two crystals, and one photon ends up split into two half-powered photons of slightly different frequencies based on which crystal, and the two have opposite polarity (but the distribution of polarities is random), and then there's a passive splitter based on frequency, and yadda yadda, off you go!
It's called QKD, quantum key distribution. The idea is you end up with a random bitstream encoded as the polarity of the stream of photons. There are exactly two copies of this stream (with opposite polarities) and discovering the polarity destroys the beam, so you know if someone has intercepted it. Once you have the random data, you can use that to power conventional symmetric encryption, which unlike RSA, is not yet theoretically defeated by quantum computing.
Apparently the bitrate is something around gigabits at ~1km range. As distances get longer, bit rate decreases. But you only need enough bits to generate useful symmetric keys, which is not much.
2015-01-18 »
Hold on. Someone thought this "declarative syntax" thingy would not be slow?
http://www.rationaljava.com/2015/01/java8-sorting-performance-pitfall.html
2015-01-19 »
Yeah, I'm late to the party. This is my first gigabit speedtest. But what a party it is! (In the lab in Mountain View. Wired, of course.)
2015-01-29 »
QotD: "So many strawmen being slain up in here its like a strawlocaust."
– Cory
That is certainly the best word I will learn this year.
Why would you follow me on twitter? Use RSS.