|
XKCD had an interesting comic up yesterday - it wasn't a comic at all, but a visualization of the distribution of wealth. There's lots of interesting things to be gleaned from the visualization, but I want to focus specifically on megaprojects. The one megaproject I was expecting to see listed there but didn't was the Internet itself. I'm guessing that the cost of building the Internet is probably greater than most, if not all, of the other projects listed there.
The reason I bring this up is, of course, SOPA. For those of you who have been living under a rock, the Stop Online Piracy Act being pushed by the recording industries effectively destroys the Internet as we know it. It's pretty ridiculous when you think about the amount of time, money, and engineering effort that has gone into building the Internet, and how quickly it could be thrown out the window by a bunch of lobbyists.
There have been a number of blog posts recently about how SOPA is evil, so I'm not going to go into that. Some of these bloggers claim SOPA's true purpose is to control/destroy the Internet, but I prefer not to attribute to malice that which can be attributed to stupidity. I think the recording industry is flailing about and trying pretty much anything they think has a chance of stopping piracy. That just makes it even more of a shame that one of these things is the destruction of the Internet.
While stopping SOPA is good and all, I think we need more. We need to ensure that random industries flailing about like this don't have the ability to wipe out one of the greatest human inventions, and what has become one of the largest pieces of global infrastructure.
There are probably lots of different tools we can use to do this, and the one that comes to my mind is to first acknowledge that the Internet is actually an engineering project, not some sort of playground for politicians. Requiring the approval of the IETF on any major changes of this nature should be a requirement. Anything short of that should be illegal, since the practice of engineering is restricted to licensed professionals in the US. As engineers, we're a long way from being able to do something like this, simply because formal practice of engineering isn't as highly valued within the software/computer industry. That really should change, if only to be able to try and stop things like SOPA.
(Yes, yes. When I have a hammer, everything looks like a nail.)
[ 0 Comments... ]
Over the last couple of years I've noticed an interesting phenomenon - my list of books to read seems to be growing almost exponentially. I find that every book I read leads to me adding a few more books to my list because they branch off into interesting related areas from what I just read.
In my head I visualize this as a graph where you start at some node (i.e. a subject area) and traverse outwards to connected nodes (other subject areas). What's interesting is that in the frontier of nodes that you have not yet visited (i.e. the subject areas most related to what you already know), the likelihood of you visiting a node (reading up on a subject) increases with the edges that connect it to your already visited nodes (how much it interacts with things you already know).
The main consequence of this, and what is resulting in my exploding reading list, is this: the more you read and learn, the more interesting new things become. You end up being able to relate the new subject areas to things you already know, and the more you know, the more this happens.
Another thing that's interesting about this process is that if you start at a subject area that you're passionate about, you have an intrinsic motivation to learn about related subject areas. This means you visit frontier nodes more efficiently, and reach the point of "everything is interesting" sooner. (This is defined to be when your reading list consists of every book you haven't already read.)
In contrast, if you are forced into the graph at a particular node (say by taking university courses you have no interest in), then you have no motivation to reach out to other adjacent nodes. This effectively kills your desire to learn, unless you are able to start over from another node that you do have an interest in. Unfortunately that seems to happen pretty rarely.
There are of course scenarios in between these two extremes as well - it may be that the area of the knowledge graph you're in is fairly sparse and so your visited nodes don't connect to a lot of other nodes. In this case you might have a harder time finding related areas that interest you. In that case you could just pick the thing that seems most interesting, or even just pick randomly, and hope for the best. As you visit more nodes, you're bound to hit a denser part of the graph sooner or later.
[ 2 Comments... ]
You may have heard of Convergence, an SSL-replacement which replaces the centralized CA-chain architecture with a more decentralized notary-based architecture. You can specify which notary servers you want to use, and those servers are used to verify that the SSL certs your browser loads aren't being tampered with.
There are a number of things that I find particularly cool about this. The most obvious is the decentralized architecture, which should come as a surprise to nobody reading this blog. The first thing I did was get my own notary server up and running, which turned out to be pretty easy using an EC2 instance. If you want to use it, here is a link to the notary file.
The next think I like about it is that it comes with an SSL fingerprint cache on the client side, which by itself could eliminate spoofing on sites you visit frequently, since you'll have the fingerprint cached and can detect if the SSL cert you're getting doesn't match.
And finally, I like how simple to use it is. Assuming you're using Firefox, anyway. Just download the add-on and that's pretty much it. If you understand the architecture of the system, all the configuration options are intuitive and what you'd expect.
Anyway, I recommend you give it a whirl. I've only found one problem with it so far (I can't access my router via SSL while it's enabled) but that seems to be a bug in the router's SSL implementation that I'm trying to track down.
[ 7 Comments... ]
It occurs to me that very rarely do people go out and find a new kind of food in nature. I assume this used to happen fairly regularly in the paleolithic era when human were hunter-gatherers, but not so much now that we have agriculture. However, it is not uncommon for people to stop eating a particular kind of food. This could happen for any number of reasons - a particular food becomes socially unacceptable, it becomes extinct, etc.
What this means is that the set of foods that humans (all across the world) eat is gradually dwindling - we stop eating certain foods and don't really start eating other, new foods. Working backwards from this hypothesis, it seems like in the past, humans must have had a much larger variety of food that they ate. Perhaps they even included things like flowers as a regular part of their diet. It makes me wonder if scientists/anthropologists take this sort of stuff into account when trying to determine the diet of early humans.
[ 3 Comments... ]
I've spent a bunch of time over the last few weeks walking and biking around downtown Toronto, and it seems to me that the whole "right-turns-only is more efficient" argument doesn't apply here. Whenever cars want to make a right turn in Toronto, they end up having to wait an absurdly long time for pedestrians to finish crossing. Also the right lanes on most streets are filled with all manner of parked cars and service vehicles, so anybody wanting to stay in the right lane needs to keep merging in and out of the left lane to avoid these obstacles.
Given the gridlike arrangement of the streets, it seems to me that the most efficient route between any two points would involve exactly one turn, which would ideally be a left turn at an intersection with an advance green. In practice you'd probably need multiple turns to avoid going down one-way streets the wrong way. Also avoiding streets which have streetcars but not a dedicated streetcar lane is a good idea, since cars have to stop for streetcars that are loading/unloading passengers, and this causes traffic to back up.
I wonder if UPS/FedEx take these things into account when they plan their delivery routes...
[ 0 Comments... ]
If you're in the software industry, the contents of this article are something you should definitely think about. I, for one, agree with the main points he makes - I think that for software to get better, developers have to be held liable for the software they produce. Today, software is everywhere, and we rely on it running almost every aspect of our lives. Buggy software can have a disastrous effect, much more so than a collapsed building. As a software developer, I don't like the idea of liability, because it constrains what I can do. As a consumer, though, I love it, because it helps levels the playing field between those in power (software developers) and those without (average users).
If you're a software professional reading this, chances are you graduated from the SE program at UW, which as I'm sure you recall, is PEO-accredited. I encourage you to get the ball rolling on that front, and try to earn a Professional Engineer license. I see it as one of the possible first steps towards fundamentally improving the software industry. I sent in my application a couple of months ago, and plan to take the PPE in December. Finding a mentor and getting the required amount of work experience is going to be harder, since there aren't very many practicing licensed software engineers out there. The sooner you sign up, the sooner you can get licensed, and the sooner you can mentor others in getting their licenses. Exponential growth in licenses for the win! Get started.
[ 0 Comments... ]
Same disclaimer and meta-information applies to this post as my previous post (Nutrition 101).
Fats
Fats are more complicated than sugars. There are lots of different kinds of fats and fatty acids, so I'm going to only cover the basics here.
First, saturated-ness of fats. Fats can be classified as saturated, or unsaturated (specifically mono-unsaturated or poly-unsaturated, which I'm going to group together), based on their chemical structure. Unsaturated fats are more unstable, and can go rancid easily. In fact, a lot of vegetable oils in stores are basically rancid unsaturated fats, and can be toxic in the same way that free radicals are. Even if they aren't rancid when you buy them, they will go rancid quickly if you cook with them. Saturated fats, on the other hand, are stable, and do not have this problem. Unsaturated fats are also usually in the form of vegetable oils, which require a lot of processing to extract from vegetables, making it much less "natural" that saturated fats.
Unsaturated fats can be further classified as cis-fats or trans-fats. Trans fats rarely occur in nature, and are usually created in food processing industries. Trans fats are generally accepted to be very bad for you, and have been linked to heart disease. Note also that trans fats and saturated fats are both generally solid at room temperature, and a lot of previous studies mixed the two together. This is why people used to think saturated fats were bad, because it was really the bad trans fats doing the damage. More recent studies have shown that saturated fats are not bad for you but trans fats are.
Finally, some types of polyunsaturated fats are "essential" fats that you need to eat, because your body cannot produce them by itself. Omega-6 and omega-3 are two types of these essential fats. Omega-3 fats are anti-inflammatory, but omega-6 fats are inflammatory. When you consume these, they should be in about a 1:1 ratio, so that their side-effects cancel each other out. Unfortunately, modern/processed foods have ridiculously high omega-6 content, and the ratio of omega-6 to omega-3 is often something like 30:1 or 40:1. Even ratios of 5:1 are considered "healthy" and would help a lot with reducing inflammation throughout your body. Fish and grass-fed meats have more omega-3 fats, whereas vegetable oils and corn-fed meats have more omega-6 fats.
So, to summarize, cook with and eat saturated fats (e.g. butter, coconut oil) and only eat unsaturated fats that are found naturally (i.e. eat nuts rather than corn oil). Also, prefer grass-fed meat to corn-fed meat, and eat fish if possible.
See also: Nutrition 103.
[ 0 Comments... ]
I've been reading a bunch about proper nutrition lately, and I wanted to write a summary of the main points I've come across. The main reason for this is just so it forces me to think about this better and make sure it all makes sense in my head. A secondary reason is to record what I think about this now, as I'm sure it'll change over time.
Also, a fair number of the statements below are controversial in that there are studies that agree and disagree with them. However, I'm not going to cite any sources for my statements because (1) I'm too lazy and (2) it helps eliminate bias because instead of just following my link and believing me, you're forced to research it for yourself and come to your own conclusions. And I do strongly recommend that you try to research any statement you feel is wrong or that you have a hard time believing, and post your comments below.
Finally, I'm going to try and keep this as simple as possible, to make it readable by the widest audience possible. This means avoiding the use of technical terms as much as possible, even if means sacrificing precision.
Sugar
Sugars (aka carbs) are generally bad for you. There are a few reasons for this.
1) When your body burns sugar for energy, the chemical reactions produce free radicals. Free radicals cause lots of damage because they destroy other molecules in your body. In particular, they cause proteins in your body to cross-link, which makes the proteins useless. This is why balancing any sugars you eat with antioxidants (which neutralize free radicals) is a good thing.
2) Eating sugar triggers your body's insulin response. The insulin's job is to store the sugar as fat in your body. After it's done putting away the sugar, it still sticks around for a while, until your body stops producing it. This extra insulin leads to cravings/hunger, even though your body doesn't really need food. Overloading your body with sugar will also, over time, decrease the amount of insulin your body produces, resulting in diabetes. This is why people who are diabetic need to take insulin with sugar - this is basically the same as having to take the antidote along with the poison.
(Update 2011-08-08: It was correctly pointed out to me that it's not the amount of insulin production that decreases, but rather your body becomes more resistant to the insulin, so the same amount of insulin has less effect. This insulin resistance is what causes Type 2 diabetes.)
3) Some of the sugar you eat gets stored as glycogen (a quick-burning energy source that your body uses for quick bursts of activity). However, each gram of sugar that gets converted to glycogen also requires 2-3 grams of water. Therefore, this has a dehydrating effect on your body. This water also gets released when the glycogen is burnt, and is the "water weight" that people lose when starting to exercise after a long time.
There are different kinds of sugars that you encounter in everyday foods. Some of these (e.g. glucose) are not as bad because they can be burnt by every cell in the body. Others (e.g. fructose) are really bad because they can only be broken down by the liver. Therefore, eating a particular amount of fructose stresses the liver far more than the same amount of glucose. Note that table sugar (sucrose) is 50% fructose, and pretty much any other sugar additive (e.g. high-fructose corn syrup, agave syrup) is just as bad.
Foods with refined sugars enter your bloodstream much faster, and so the negative effects from eating those foods are much sharper, and stresses your body more. The glycemic index of a food is a measure of how fast the sugar hits your bloodstream; foods with a higher glycemic index are worse. Foods containing a lot of fibre will slow down the sugar, and therefore help your body in dealing with the incoming sugar.
Overall, the amount of sugar you consume should be just enough to replenish your body's stores of glycogen (less than 100 grams per day for most people). You should drink plenty of water with sugar consumption to avoid dehydration when this happens. If you consume more sugar than this, burning it off before the insulin gets a chance to store it as fat is a good idea (unless, of course, you're trying to become obese). Finally, make sure to get enough antioxidants along with your sugar to neutralize those free radicals.
See also: Nutrition 102, Nutrition 103.
[ 4 Comments... ]
There's a really really long review of Mac OS X Lion on Ars Technica. The changes Apple has made blown my mind. Completely.
Here's a company that has a winning formula in the Mac, and do what no other company would dare: radically change large pieces of the UI. Mostly for the better, but it's a huge risk. Take switching scrolling direction. Now, if you do the two-finger swipe down, instead of going down in the document, you're going to go up. It effectively changes from you controlling the viewport to you dragging the document. Why change scrolling behavior that's been around for decades? Because it was done wrong the first time. As iOS showed, dragging the document allows you to get rid of scrollbars and is more intuitive for the user. On the desktop it doesn't make much difference either way, but if you look at the sum of the experience across platforms, document-dragging is strictly superior. So, for consistency, they decided to change it on the desktop too, despite the fact that it breaks with how things have been done for decades.
The Ars article is full of these sorts of examples, and I'm astounded and excited that Apple had the guts to do some of these things. I'm also glad they implemented the permission-based file access idea I described nearly 4 years ago. Although I'm not really happy with how they just pulled in the permissions/entitlement model from mobile platforms wholesale. More on that later though.
[ 7 Comments... ]
It's been exactly a year (plus/minus a couple of hours), since I left RIM. RIM has fallen quite far behind its competitors in the last 12 months - much more than I thought would happen. There was a letter published today on BGR.com today by a "senior RIM exec" basically ranting about the state of affairs at RIM. The letter is interesting, not because it contains anything new, but because it doesn't contain anything new. That letter would have been just as true when I left a year ago as it is today. Unfortunately, the letter itself isn't going to help, because RIM senior management already know all the issues they're facing. The only thing the letter will do is affect public perception of RIM unfavourably.
I remember when I started working at RIM, I loved it. I was proud to be part of that company, part of the team that built the BlackBerry. I knew that my work was going to be used by millions of people. That motivated me tremendously, to the point where I'd go in and write code late at night or on weekends sometimes even though there was no looming deadline or real need for it. When I left, the total opposite was true - there was a drive to get people to work evenings and weekends to get things done, but I consciously chose not to, because I felt it was a waste of my time. Somewhere along the way I lost the pride I had in RIM and my work, and once I realized that, the only reasonable option left for me was to leave RIM. And so I did.
I think one of the reasons I lost the pride I had in RIM is that they stopped having a mission statement. They used to have one - I don't remember exactly what it was, but it was something to the effect of providing the best value to their users. I do know that when I first heard it, I was impressed. I also know that when I tried to find the mission statement a year ago to try and regain some of my pride and sense of purpose, I wasn't able to. It wasn't on their website, wasn't anywhere to be found in the intranet hellhole called LiveLink, and wasn't posted in the lunch rooms like I remember it used to me (although to be fair I'm not sure if I'm misremembering that one).
I don't know what RIM can do to pull itself out of its current death spiral. I'm not sure if there is anything it can do. There's just so much wrong on the inside. But that's not necessarily a bad thing. As I've said before, everything comes to an end, and that includes products and companies. Maybe RIM falling apart will create some space for a new company that better fills the need people have.
[ 1 Comment... ]
|