Collecting information about our surroundings, analyzing it to make conclusions, and then performing actions based on those conclusions is the definition of life itself. Organisms generally care most about their food source, dangerous strangers nearby, environmental changes, and family planning. For example, the rabbit pays attention to nearby gardens, the closest rival warren, any nearby foxes, human constructions, and potential lover rabbits*. The human was concerned with roughly the same things for years immeasurable, but since the Bronze Age, as we spread out globally and invented neat technologies, things became a bit more complex.
Turning 32 may not seem like a very exciting birthday, but it is! In fact, it is the most momentous birthday of all, because it’s the first time in your life that you can’t show your age on a single hand.
Counting in binary.
First, a refresher. Binary, (popularly known as the number system of computers which think in terms of ons and offs, as represented by ones and zeros) is base-2, whereas good old decimal is base-10.
This means that in the decimal system, we have:
Whereas in the binary system, we have:
Or, why I built a cathode ray tube in a wine bottle.
I was leisurely reading Linus Pauling’s textbook, General Chemistry, the other day, and I found the history he threw in there with the science to be thrilling. For instance, I learned quickly that the Greek word for amber, elekton, forms the base of our word electricity, so named by William Gilbert in the late 1500s because the ancient Greeks knew that rubbing amber with wool would attract feathers and stuff. As a nuclear engineer whose job it is to make electricity, this was a fun revelation. Pauling continues to mix physical realities with the experiments used to prove them, and doing so, he quickly arrives at the cathode ray tube. After reading and thinking about it, I had another revelation. It turns out, I realized, that some large fraction of modernity, from the world order to modern health, the environment, politics, and the media passed through a cathode ray tube. Here’s how.
So with all the recent revelations about everyone spying on everyone, I decided to look into what it would take to get fairly secure communications capabilities so my stuff wasn’t just in the open. I became a cryptography dilettante, and it is pretty fun. I have explained what I’ve learned to a few people so I figured I’d just write it all down here. It’s surprisingly easy and free to do.
Writing secure emails or transferring files securely
One basic thing you should be able to do securely is to send an email or file to someone that only they can open. To do this, you can use a free technology called Pretty Good Privacy, or PGP. Some nice free software that uses this is called the Gnu Privacy Guard. Go to GnuPG.org and download the relevant files. If you’re on Windows, get gpg4win (be sure to install GPA when it asks), Mac users can use GPGTools, and Linux users can just get GPG and GPA (Gnu Privacy Assistant) from the repos. Step 1 now is to generate your public/private key pair. These are basically just really large numbers that are intimately tied together in a way that if someone encrypts an email or file against your public key (which you will give to them), then only he/she who possesses the private key can decrypt it. So you publish your public key far and wide (here’s mine) and keep your private key very secret and safe (and backed up on a USB stored in your safe). Anyway, just go into the GPA program and click Keys->New Key. This will generate your keypair. Protect your private key with a strong password (10+ characters, no dictionary words. And don’t do capital letter + lower case letters + numbers + symbols in that order. Everyone does that!)
Now that you have a keypair, just right click it and say export key. This will export your public key to a file. Email the file or publish it online or whatever to anyone and everyone. When they send you an email or file, they will encrypt to this public key. Meanwhile, have your friends do the same and then import their keys that they send to you (keys->import key).
To actually encrypt, just go to Windows->clipboard and type some juicy secret. Then click encrypt and choose who you want to encrypt it to. Finally, just email them the ciphertext. It’s best to use a text-mode email by the way, so do that (it’s an option in gmail, etc.). They will get it and they can copy and paste it into their GPA and click decrypt, enter their secret password (which unlocks their private key), and they’re off. Phenomenal. Files can go the same way, just choose window->file manager instead of clipboard.
Alright! Super easy. If you use Thunderbird to read your email, you can use the Enigmail plugin that seamlessly encrypts for you. Nice! If you want a web-based email account that has tightly integrated PGP and no ads, try out hushmail.
There are a bunch of other cool things you can do with PGP like electronically sign your messages. This is something that you put at the end of an unencrypted (or encrypted) message that someone can “verify” against your public key. If no one has tampered with the message and you wrote it, then this verification proves that it was you who wrote the message. So cool.
Chatting and browsing the web anonymously and securely
So, great. Now, what if you’d like to chat with someone online and not have it be read? That’s your right. One pretty easy way to do it is through something called cryptocat. This is a Firefox extension that allows you to very easily have fairly secure chats. You COULD just click the link and install it, but you should really use The Onion Router too, which anonymizes your web traffic as well. That way, whatever you do online cannot be traced back to you because it hops through a secure set of encrypted layers on different volunteer servers first. So, FIRST go to https://www.torproject.org/ and install Tor and the Tor browser (there’s an android version too!). Then, open up the Tor Browser (which will automatically connect you to the Tor network), and then go to cryptocat and install the extension. Now you can open up a chat room and have a nice time chatting securely and anonymously. Excellent! You can use the Tor browser for anything else too.
Besides using Tor, you might want to stop using Google for many things. I started using DuckDuckGo, which doesn’t save your search history for hackers or rouge employees (or anyone else) to steal later. It’s not as good as google really, but it’s the principle that counts.
Security on your phone
If you have an Android phone, you can get these three cool apps that help with security. First is TextSecure, which allows you to exchange encrypted texts with anyone else who has TextSecure. It also stores your texts on your phone in an encrypted database, so if you lose your phone, no one’s reading your stuff. The same company makes RedPhone, which allows you to speak with anyone securely who has RedPhone. That’s totally sweet. I will admit that the voice quality in the case I used it in so far was mediocre. Finally, there’s Orbot, which is Tor for your phone, anonymizing your web traffic. Fun times.
Securely store files
If you want to keep a USB stick or a part of your hard drive that is encrypted (in case it gets stolen or something), the TrueCrypt tool is fantastic. It can even make a Hidden volume, where if you type a dummy password, dummy files show up but if you type the real password, the real files show up. And no one can prove the real files exist. That gives you what’s known as plausible deniability, a term coined by the CIA.
Encrypting with Truecrypt is different than with PGP because to send the file, the recipient would need to know the password. But how can you send the password securely? With PGP. So might as well just use PGP for the whole transfer.
If you’re a friend of mine who wants to try any of these technologies out with someone, just drop me a line and I’ll play along. I got a lot of this info from a reddit AMA, which you can read here.
Privacy is important, even if you have nothing to hide. Ok have a nice day!
Update: There’s a great collection of related information at this page.
The USA is divided in many ways. There are strongly-held dichotomies in all arenas, from politics to sports. People identify with liberals, conservatives, city people, country people, whites, blacks, red sox fans, yankees fans, geeks, jocks, the rich, the poor, kids, adults, skinny people, fat people, fashionistas, involved people, apathetic people, 420-friendly people, 420-unfriendly people, singles, couples, etc. And many of these identity distinctions are somewhat surprisingly dear to those who hold them, often associated with instantaneous judgment of any opposing groups. Liberal city people don’t respectfully disagree with their opposition, they truly think that they are pure idiots! Particular religious people don’t turn the other cheek, they declare war on contraception! And it’s most obvious of all in sports. “Those a**holes on the other team are so evil and horrible that I just can’t stand it!” I actually know people who pack extra cans of gas when they drive through Ohio so as to not “support their economy” for this reason. (Don’t even mention the ref when he makes a call against my team! Complete imbecile!)
Within these groups, confirmation bias runs rampant. People surround themselves with like-minded peers, further pushing productive discourse into a neglected and forgotten corner. “You’re either with us, or you’re against us! And there’s no in-between,” we say.
I was having a typical conversation at work, discussing life after the next apocalyptic event. It occurred to me as we discussed our plans that the first few days after rule of law falls would be the scariest. People rioting through the streets, looking everything in sight, killing on a whim to get a pretzel or something; every man for himself. During this time, I plan to just hunker down with some PB&J and wait out the craziness. But after a few days, somewhat structured neighborhood alliances would form, enabling me to have a bit of trust in those around me. Instead of every man for himself, it’s now us vs. them. And in that situation, I’m feeling much safer. I can cooperate with people again and defend against the neighboring block when they decide to invade again, and so on. Hooray.
Snapping out of this dark fantasy, and thinking instead about our less dire identity complexes, I came up with the following hypothesis.
Humans need safety to survive, by definition. Community groups have historically offered a bit of safety against the roving hoards. As old structures (such as neighborhoods, small towns, and churches) decrease in dominance in the modern US, there is an equal and opposite force diminishing community. Naturally, we have a subconscious urge to regain some community, so we do it the old way, but in lieu of “real” danger, we fabricate enemies through fairly trivial mechanisms (think sports) and in doing so, recreate the good old feeling of being part of “us” where they, those bastards, are part of “them.”
If this is the case, then the natural antidote to cure our fabricated identity wars is to bring community back. Things like Facebook show how much we want it, but they are still pretty empty in terms of how well they satisfy our instinctual quest for safety. Everybody knows there’s something ridiculous about how pigeon-holed we have made ourselves, but we’re all in a kind of daze as to figuring out what to do with our ceaseless and unproductive arguing.
Others have argued similar points, but not quite for this reason. A book review I read in New Scientist of this book explained that this author claims that secular society needs religious institutions to be happy. There may be some truth to that, but trying to promote these ideas coming from an atheist group is just fanning the flames. It’d be nice to get some easy community going that is inclusive to both religious people and secular people. Maybe after cookies-and-punch hour we could all get together on Sunday afternoons and have community members give little talks about things they’re good at, or a news story they’ve been following closely. There could be like 10 rooms, and you can go from one to the other depending on your interests. The mechanics could host a “learn to change your own tire day.” If we could somehow institutionalize these kinds of gatherings, thereby giving people a little community, I think the ridiculous arguing would slow down, and we might feel better about ourselves.
It’s unclear who assassinated Iranian nuclear scientist Mostafa Roshan by driving by his car on a motorcycle, placing a magnetized explosive designed to damage the inside of the car but not the outside, and then speeding off through the packed traffic by lane-splitting. Some Iranians have their opinions:
Thousands of mourners chanted “Death to Israel” and “Death to America” on Friday during the funeral of a slain nuclear expert whom Iranian officials accuse the two nations of killing in a bomb blast this week as part of a secret operation to stop Iran’s nuclear program.
Even some western experts have claimed that it must be Israel:
“If you look at the choice of target, it really could only be Israel,” says Robert Baer, a former CIA agent in the Middle East.
On the other hand, some suspect that certain factions of the Iranian state could have done it due to their suspicious of disloyalty and involvement with western institutions. And in that case, the following message is basically irrelevant.
Perspective: I’m a run-of-the-mill US nuclear scientist working on advanced nuclear reactors to help mankind get energy to improve quality of life.
If Israel and/or other western-like states did this, shame on them. Covertly killing scientists is nothing but counter-productive towards any imaginable goal. The enraged Iranians will likely place a more pressing national priority on developing nuclear weapons, and make it even more secret. In this case, you’re not scaring people from going into the industry, but instead you’re inspiring them to become national heroes. You’re not causing meaningful set-backs in terms of Iranian expertise, the industrial knowledge to manufacture weapons is somewhat well-known. All you’re doing is justifying their quest for nuclear weapons (who would risk losing a major city for one botched assassination attempt?) and making them more angry with the oppressively powerful west.
Countries with nuclear weapons are acting like overgrown bullies on the playground who got held back a few grades. When some less powerful country tries to pick up a stick, the bully smashes it out of his hands and says: only bullies can have sticks. The non-proliferation treaty was meant to prevent the spread of nuclear weapons AND to reduce the nuclear capabilities of the nuclear states to minimal levels. The latter has not happened (as is thoroughly detailed in this wonderful book). I fully understand and support non-proliferation, and accordingly I would like to see more reasonable attempts at stopping the spread. Until we live in a world where all nations can be comfortable in their sovereignty, the non-nuclear states will try to get nuclear weapons. The posturing we’re seeing now, and this and other similar assassinations will only lead to more people trying to get nuclear weapons, in any possible aftermath. These are the most horribly destructive weapons known to man, and indirectly promoting their spread by bickering about minutia and/or invading countries for minor reasons is an extreme disservice to mankind. You’re nourishing seeds that will last for generations telling people that they aren’t safe until they have nuclear weapons.
This is like my favorite rant. You know how legislation is targeting renewable energy? Well that’s a bad idea. Back in my day, people used the word “sustainable” to describe energy sources and lifestyles that were just that — they could continue for a very long time without us running out of resources, killing everyone, etc. Well now renewable has gained favor and is the obvious way to go for everyone who doesn’t know any better. At first glance, most renewable things seem sustainable. But that’s not necessarily the case! Wind and Solar are renewable, but are we considering the quantity of rare earths needed to get the current technologies up to significant levels? Not necessarily. (BTW, solar thermal is way better than solar photovoltaics (solar panels)). And just to make the point more clear, consider the following renewable energy sources:
- Whale Blubber
Not very sustainable, either of those.
Another beef is that people use renewable to exclude nuclear power. Well you can’t do that anymore.
Nuclear Energy is now Renewable
Typically nuclear is not considered renewable. But the Japanese have recently demonstrated that they can pull Uranium from the sea for something like $100/kg. And guess what? Lowell Wood has recently pointed out that plate tectonics move the earth’s crust at a rate that replenishes the uranium in sea water faster than we could ever use it. So that means Uranium is now renewable. So HA.
Keep in mind that renewable doesn’t mean sustainable. In typical reactors only 5% or so of the uranium is burned. We’ll have to do better. Consider high burnup reactors like fast breeders, TWRs, LFTRs, etc.
Marriages should expire after 5 years. If you want to renew your marriage, you should have to fill out huge amounts of pain-in-the-ass paperwork. It shouldn’t be the other way around.
Want to stay married?
Haha. It’s genius. They only last 7 years on average anyway. Why keep people unnecessarily miserable?
And the paperwork could be stuff like, what’s their birthday? What do you think they think is the most annoying thing about you? It could be therapeutic to go through anyway.
So I went to Washington D.C. for the Nuclear Engineering Student Delegation, right? And it was extremely interesting and enlightening and fun. One thing that really struck me during our private tour of the Capitol building was that the appropriations process in the USA is messed up. 30 people on the appropriations committee get together in this small room and decide the fate of over $1 trillion. That’s an unfathomable amount of money, and there’s no way, NO WAY, that those 30 people have any idea of where it’s going. The tour guide was an ex representative from New York. He said that if you think learning how a hot dog is made is bad, wait till you see how an appropriations bill is made…
Talk about a bottleneck! So I got to thinking. Say, you know when computer people first experienced a server offering a single file to way too many clients, like when a new version of Ubuntu came out or whatever? And the whole system slowed down for everybody? And then someone invented bittorrent where all the clients then serve bits and pieces of the file that they’ve already downloaded so that the more people who try to get the file, the faster everyone else gets it? This decentralization is an infinitely smarter way to distribute the workload and use everyones computer power and network bandwidth perfectly. So what’s the analogy to a congressional appropriations bill? How can we decentralize things? Then the thought occurred to me: what if the founding fathers had the internet? They’d be able to easily poll everyone in the country! They’d still want representatives to filter out all the noise, but I don’t think they would just totally forget about the internet.
Imagine a government where Congresspeople propose a bunch of programs, etc. And the IRS tells everyone how much they owe in taxes. And Congress tells people that 70% of what they owe has to go to these specific mandatory programs (like medicare, social security, portions of defense, etc.). Shouldn’t be difficult to imagine because this is basically how it goes now. But then imagine that the final 30% of what you owe can go to whatever program you choose. You just go on down to a computer at the library (or in your home) and fill in percentages in all the optional programs that you’d like to fund. Then, at the end of it, programs take a look at what they got and go forth with their allotted budget. The implications of this are huge. All the stupid mindless arguments about the few controversial issues would be much less important; if you don’t want to fund universal health care with abortion then you don’t fund the abortion part. If you don’t want more F-22 fighter jets then you fund something else instead. If you don’t want to take the time to nit pick everything, you just vote “along party lines” with a representative of your choice.
This kind of thing would engage the masses. People care about what they spend money on. When they’re told to pay up or go to jail they pay. But if they’re given a choice, I think we’d see a huge increase in attention of where it’s going to. Special interest groups leave DC and focus on joe shmoe. Representatives don’t worry about controversial topics during election year because its out of their hands. The trillion dollars would be appropriated by 300 million people instead of 30. I think it’s a cool idea.
Of course, there are problems. Not everyone has a computer, hackers can hack, this puts too much power in the rich people. But all these have solutions (give rich people smaller optional percentages, for instance. We could call it a “graduated tax”…)
Anyway. The internet and computer have changed everything. Why not apply them to the inefficient government?
The electronic direct democracy work that is done seems to focus on voting on particular representatives or particular bills. This might fall victim to old concerns listed in Madison’s Federalist 10 worrying about fads swaying government. But to set the budget this way is totally different.
There’s a gaping hole in the internet. It’s an unfathomable network allowing communication between almost every person in the developed countries. But in our cities, where tens of thousands of people live within a half mile of each other, sense of community seems to be declining. Seems like the internet could bring back that lost sense of community somehow.
The internet has made several attempts at community relations. On one hand we have craigslist, connecting local strangers anonymously for housing, buying/selling stuff, finding soccer teams in new places, etc. On the other hand we have facebook connecting people who have already met to share photos, statuses, messages, and other fun info. But there’s still something missing. That something is called neighborcasting. Or so I just named it.
Imagine a service where you signed up for a profile and were presented with a map. On the map, you draw an area that represents where you live. This could be a circle around a building, a block, a neighborhood, or a whole city, depending on how comfortable you are with disclosing your whereabouts. Then, a bunch of other circles or squares show up on the map in your area. There is a list of filters that you can choose to sort through all the information — among them:
- Events going on within x hours from now (with many sub-categories like music, hiking, volunteering, etc. )
- Item share (sugar, USB cables, a special tool, a tent)
- Restaurants and stores (with many sub-categories)
- Random musings (what people are thinking about)
- For sale
- Looking for a date
- Going to the park with dogs
- Ride share to x location (you choose x on a second map)
- many more
You see, other people would put out neighborcasts, specifying which category it fits in, where it is located, and how long of a range it has. For instance, if someone’s looking for some baking goods from someone in their close vicinity, they can set their cast so that only people within a few blocks can see it, thus eliminating clutter. In your filters, you can even ask to “show me neighborcasts in my area that have a range that is less than 10 blocks,” so you don’t have to see advertisements or other spam (which will be banned out of the commercial filter).
This concept would bring opportunities to interact with the community back, especially to heavily populated areas. If you were feeling like meeting some people who are also interested in jogging, or also wanted to let their dog interact with some other dogs, all you’d have to do it to put out a neighborcast about it and interested neighbors could reply right then. You could get graphical maps of what’s going on around you right now in a way unlike anything humans have ever had access to. The internet makes it possible!
Neighbors aside, if companies casted about their happy hour or about a speaker who’s coming soon, or about some deal, people would have instant access to the information. Users could hold up their iPhones or Android phones and spin them around 360 while watching the list of things to do in that direction go flying by until they found one they liked. Then they’d just start walking in that direction! How awesome is that?!
The biggest concern with this is obviously privacy. The embodiment of this concept would have to treat this issue very carefully. Since users would all have profiles (unlike on craigslist where anonymous posting is allowed), there would be a rating system, where if someone made someone else feel uncomfortable, they’d be able to let others know. Mechanisms would have to be in place to keep people with bad reviews from just getting a new account. If someone gets a black mark or whatever, there’d have to be a process for them to alleviate that somehow, so they wouldn’t be social outcasts for the rest of their lives as the world moves on around neighborcasating.
Since users aren’t supposed to say exactly where they live, just which general vicinity they live in, I’m not too worried about the location-based creepiness that much.
Hopefully you get the idea. I think this kind of thing would be revolutionary, and I’d LOVE to use it. If only I could get my roommate to develop it…
Here’s a very basic concept drawing on a google map:
So, I have to tell you about the hot tub project. It’s been going on for a few weeks now and we just basically finished it. I (with some help from Jesse) have set up a microcontroller to control and monitor the hot tub. We have a temperature sensor mounted on the heating element tube and we wired in a relay to control when the heater turn on. Then we wrote code to allow it to interface with email, the internet, and even text messages! For real. Look:
Haha! Here are some more gems:
So here’s what’s going on. Firstly, there’s an arduino connected to a USB port of the computer in the basement. Here’s a pic:
One of the digital pins on the Arduino is connected to a OneWire bus with three temperature sensors hooked up to it with a pull-down resistor connecting the bus to the 5V line. That’s the green wire. The ground is white ground. The three sensors are hooked up (in parasite power mode) to 30 feet of indoor/outdoor CAT-5 wire from Home Depot. I surrounded each temperature sensor with a piece of 3/8″ O.D. copper tubing (which is miraculously already corroding) and pinched them down and sealed them up with Silicone. Here’s a pic of the outdoor sensor.
Anyway, yeah. The last sensor, the one on the tub, is wrapped in lots of insulation from the hardware store to try to keep the outdoor temperature from affecting the hot tub readings.
On another digital pin (the orange wire), we have a relay circuit that we can turn on and off easily. In the hot tub, it connects the wire that connects the coil of the main heater relay. So it’s a relay for a relay, effectively. We just set the temperature dial very high and use the Arduino to cut it off when we want. We got the circuit from here. Here’s a copy of that:
Nice. I used a relay that can handle up to 30A, 240V, with a 12V coil. I got the 12V by splicing off of the hard drive power cable inside the computer (blue wire, with white blue as ground. That’s the same ground, but we didn’t want to tap into the fragile cat5 wire again). That’s unfortunate because it requires the computer be on to have the heater on. A better design would not rely on the computer to maintain control of the hot tub.
The rest of it is just software. I’m using the pySerial module to read and write to the USB tty device in 32-bit Ubuntu 8.10 Linux. The code that I compiled on the Arduino chip simply accepts simple characters through the serial port and does as asked. It knows how to turn heater on, off, read temperatures, and tell whether or not the heater is on. I’ll build some safety logic in soon. Right now, all the control logic and communication is done in Python on the computer. I have an Arduino class that abstracts the commands the Arduino knows. Then there’s the hottubController class that checks the sensors and turns the heat on and off accordingly. It calls the communication class, that checks for commands in an IMAP email account, submits temperature information to a MySQL database on my server, and sends command responses via SMTP. The text messaging functionality works simply because you can easily use the text-to-email gateways used by many major phone companies. The MySQL stuff is done with the MySQLdb python module, which is fairly simple.
Still to come: predictive hot tub times. Since the heating is very linear, it’s possible to extrapolate the time at which the tub will reach a given temperature. You’ll get a text that says: “the hot tub will be ready at 10:37PM” How cool will that be at the bar?
With all the copper, casings, arduino, sensors, relays, silicone, insulation, and various other tools I bought during this, it’s up to about $100, not including the computer. Not bad!
In case you’re wondering or debugging the hot tub controller, here are some more details.
Out at the hot tub, you’ll see a silver toggle switch. Under normal operation, this should be in the center position. To shut down special features and go back to plain-old hot tub, put the switch in the up position. This gives control of the hot tub back to its internal thermostat. It also disables the 10 second heater delay relay.