Category Archives: Brain Dumps

iPad vs Kindle? … You’re missing the point!

People love hyped-up controversies, show downs, epic battles, clashes of titans (but not the movie :-p). In today’s world with thousands upon thousands of blogs, it seems that those with the most explosive titles win. So, people often do not hesitate to manufacture show downs where none exist.

Nowadays you can’t open any news reader without being bombarded with iPad vs Kindle comparisons. True, it would seem to be that these two devices are targeting an overlapping market segment. But i do not think there is a show down. The real money maker in the e-books market (where the said show down is located) is in book sales and distribution. Ultimately, that is the real money maker for outlet stores like Amazon and Apple Bookstore (/iTunes/iBooks/whatever it’s called).

But if Amazon can release a Kindle application for the iPad, as it already has for the iPhone, then where is the beef? Those who are loyal to Amazon will still drift to Amazon and those who are not will go to Apple’s distribution center. Now, the real show down is perhaps not in the physical device itself but in the deals with publishing houses. Amazon and iBooks have different business models and might be courting different exclusive publishing deals. That is far more important than what device you use to read those e-Books, because it will ultimately determine where is the content available and for how much.

Just my thoughts on this topic that has been clobbering my Google News reader for months now.

Why I Like Linux

…. Or, Re: Mhd Badi Latest Mac Post.

Apple fanboys are annoying. This is a mouthful to say for a guy who really hates generalizing. Yes, I hate generalization and I hate blind prejudice, but I’ll talk about that in a later post.

This ranting post was triggered by Mohammad Badi‘s recent post, however it is directed at all Apple fanboys (and girls). I don’t mean to pick on Mohammad, he is a really nice guy and I enjoy his blog (he actually did say that an OS is a matter of personal choice, and I agree with him).

For the record, I have used Windows, Mac, and Linux. Right now, I use Linux. More specifically, I use openSuSE Linux and I have been using it as my main OS for the past 4.5 years. Also, to be more upfront about this, I am a computer science graduate student. That means that I write code and documents by profession. Before anybody accuses me of such, I am not a hacker. Repeat: I am not a hacker. Not by a long shot. I have not written kernel code and I do not plan to do that anytime in the near future (unless my advisor forces me to :-D). However, I am a power user. That is, I like (and prefer) to use the command line shell, I automate many things, I mess with and write configuration files, and I have repeatedly messed with drivers and configs to crash (and sometimes even recover) my machine. I also like nice aesthetics . I like my operating system to look good. Actually, I initially only switched to Linux because it looks good. I use a persona on my firefox, and a theme on my Google chrome.

Again, I am replying to Badi’s post here, but I think this applies in general.

Alright, done with the prelude. Onto the main event:

Mohammad,

Almost every time I open your blog you have a different theme. It has gotten to the point that today I opened your blog to find a theme different than yesterday’s, then when I left a comment the theme changed again! Pick a theme man! Every time I come to your blog I have to check if I am at the right site because it looks different. And these are not small or subtle changes, when you change theme you change big! All the power to you, I like change, it’s the spice of life. But everything within limits, create a distinct look for your blog that let’s people recognize it. However, for the record, I admire your passion for customization.

What does your blog theme have to do with Mac? For a man who really likes to continuously customize his theme, isn’t it a bit odd that you so madly love an operating system that does not even let you customize it beyond what saint Jobs has decreed? Tell me, how many options do you have for changing the windows decoration (title bar and such) in Mac? two? Even crummy old Win95 allowed you to choose any colors you want. What about that menu bar at the top, can you remove it? How many coloring options do you have for that? two? three? Praise Jebus! (and here).

You said that Windows is not that powerful. Excuse me, was there something you wanted to do there that it didn’t allow you to? Have you encountered the elusive “oops, that is beyond my power” error message? I already know what you are going to say next: freezes, crashes, bsod, blah blah blah. Here is the truth. Windows does crash (more specifically, the versions of Windows that i tried do crash). But more than 90% of the time it is not because of Windows but because of faulty (nay, shitty) drivers. Here is the thing, Windows runs on other people’s machines. Each of these machines will use a different set of drivers. Microsoft says, ok, if you want to run Windows on your machine, you should write a driver that tells Windows how to use your proprietary hardware. People write these drivers, but don’t write them well, and that causes the machine to crash. But why can a driver crash the machine? Easy! Because they have to run in kernel mode, so they can do pretty much whatever they want. Apple on the other hand controls everything. They sell you the machine and the software running on it. Thus they have a limited number of hardware vendors and drivers to deal with. As you can see, this allows them to centrally reject shitty drivers. Each approach has its advantages, but I personally prefer openness because I believe in choice & competition.

I don’t deny that Apple makes fine products. No doubt about that. They pay attention to details and the hardware is generally of great quality. But it is important here to distinguish between software and hardware. It is also important to distinguish between the Operating System, the hardware, and the rest of the software application stack that runs on your computer.

You say that Linux’s design is poor. I assume you are talking about the graphical aspects right? If so I challenge you to see one of the well polished distros. Check out KDE on openSuSE or Gnome one LinuxMint. Here is one the main things I love about Linux: It gives me choice. If I wake up today feeling like using KDE, I do that. If I feel like Gnome, that’s fine. If I want to geek-it-out and use Fluxbox or Rat-poison, that’s fine too. Not only that, but I love that it is highly customizable. It tries as much as it can to fit you rather than the other way around. In Linux there are a million ways to do anything. In Mac OS or Windows there is only one way. Their way or the high way. For example, on my machine I have at least 3 file managers. I use which ever I feel like. I can customize my system just the way I like it. I can have as many (or as little) panels floating on my desktop as I want. I can have my kickoff menu be where ever I want it to be. On my desktop I can show the files of any folder that I want, or any combination of folders (not just the files from the “Desktop” folder). On my Linux machine I can customize any shortcut for anything I want and I do mean anything. I bet when you switched to Mac you had to learn their shortcuts for doing things, right? For example, AFAIK, you have to use a different shortcut to switch between windows of different applications than that for the same application. What if I want a shortcut to maximize a window vertically only? or horizontally only? or move a window to a certain area with just key press? Can i do that? While we’re at it, If i want to truly customize my Mac and get rid of the menu bar on top, can i do that?  No!

Notice that all my examples above were only about superficial user interface issues. At the core, I think all three OSes are superb. However, here is the point Mohammad, I think machines have to adapt to us, and not us adapting to machines. I feel Linux has that mentality. The default settings in Linux are merely a suggestion, but everybody customizes it the way they want. That is why people race to post screenshots of their Linux desktops, and that is why you have so many linux distributions.

In this rant I have defended Microsoft, praised Apple, and explained why I love and use Linux. Personally, I think all 3 of these operating systems are fine, and each has its own strengths and weaknesses. After all, (and this is something that I totally agree with you on), this is a matter of personal choice. You think Mac is superior, I respectfully disagree and think that Linux is a better option.

Update: Just to drive home the point that Linux has nice GUI, check out this video introducing KDE 4.3 (a Linux desktop environment):

Fun with Simulators and Thought Experiments

Computer simulation and modeling are amazing disciplines. They are used all over the place. Examples include predicting weather (weather models & earth simulations), testing engineering designs (simulating the design and operations), simulating physical phenomena (testing physical, chemical, and biological models before running experiments), and simulating networks to test things such as computer networks or even human networks to study the spread of  diseases (e.g. how will a new flu outbreak spread through the world). In short, simulation is awesome.

So here is the thing, I argue that if you build a big enough model, a big enough computer, and a good enough simulator, you can probably simulate the universe in its entirety. I think this is possible because I currently think that there is no fundamental random process in the universe (i.e. if you can account for everything, you can predict anything). Actually, there is still argument amongst physicists of whether properties in quantum mechanics appear random because of unknown hidden variables (i.e. randomness does not exist) or because there exists something that is fundamentally random in the universe. .. but let’s skip this for now.

Anyway, let’s get to the cool part.

Imagine that we can build a *huge* simulator that can account for everything and predict (read: compute) anything.  This simulator would be able to replay everything from the moment of the big bang, to the formation of Earth, to the rise of human beings, to the conversations you have with your friends, to me typing this post now. Surely this is an amazing simulator.

Now imagine that you have access to this simulator. Not only that, but being the curious person you are, you use it to fast-forward and play events in the future. So the simulator will tell you what events will happen in the future. So you look at the simulator and it will tell you what I will eat tomorrow, what will life look like in the future, where will your children, .. everything. It will tell you everything. Again, this is an awesome possum simulator.

Now the mind-bending part.

If you look at that simulator to see you future, will your future moves happen because you want to do them or because the simulator told you to do them? For example, if the simulator told me to eat pizza tomorrow, will I eat pizza tomorrow because I want to, or because the simulator told me to? Remember, I can’t trick that program because it would have already accounted for me trying to trick it. So the minute you look at your future you don’t know whether you would have acted that way because you wanted to or because the program told you to.

For example, assume you have been a good person all your life, but the simulator told you that you will become a thief. Would that happen because you would have “naturally” became a thief, or because the simulator told you so?

Luckily (and unfortunately) it currently doesn’t look like we can ever build such a simulator because it has to also account for itself as part of the universe, so it has to be as big as itself plus the universe in which it resides (you see the problem).

For the computer scientists in the crowd, would such a simulator be able to solve the halting problem?