A Learning Project

Binil and I have decided to study Computer Systems: A Programmer’s Perspective together. We are going to use the first edition because we both already own that and the 2nd edition is damn costly. Binil is in California and I am in Washington, so it is going to be a long distance combined study. We imagine this would take up the rest of this year, and even then it will be a challenging task (because we intend to do the exercises as well).

One of the challenge would be to maintain the interest in the project. I usually lose interest in any book after reading about 100 pages or so and this book is a little over 900 pages. We have decided that one should help the other maintain the momentum, motivation and interest. Another challenge is that (as I mentioned earlier) we are not in the same location. We decided we would communicate through email during the weekdays and have a telecon on the weekends. We should be able to fine tune the process as we go along. We also expect other challenges to show up as we go along but failing halfway would be better than not doing it at all (this pearl of wisdom may not apply to everything, so reader discretion advised).

For the first week, starting today, we will attempt to read the first chapter (there are no exercises in the first chapter).

P.S. One of the reasons for making this blog post is that making our commitments public will give us more motivation and inspiration to complete it or at least stick with it for a longer period than otherwise.

Slow down or pay up

As I was driving to office today I noticed a message on the freeway warning board – “Slow down or pay up”. I find these warnings tasteless. The tone is offensive, just like the more frequently seen “Click It or Ticket”. That tone might works for kids but with adults I can imagine the response to such warnings to be “Fuck You”. In my opinion something more appropriate would “Please slow down for your own safety” or “Please slow down for the sake of everybody”.

P.S. I am not against keeping the speed within limits on the road, I am just saying that the message should be friendly. I could be wrong in my assessment because the “Click It or Ticket” is America’s most successful seat belt enforcement campaign creating a seat belt usage of 83%. On an unrelated note, 58.7% of statistics are made up on the spot.

Starbucks Economics

I am not a big Starbucks fan but today afternoon I was a little bored and I thought I would go for a walk and have a coffee at Starbucks on the way. I had a Chai Tea Latte and including the tip the total came around to $4. I found it a little bit difficult to digest that a cup of tea can cost so much and that quite a lot of people doesn’t seem to mind. From where I come from (India), $4 will buy you about 40 cups of tea (yeah, I know it is not a fair comparison).

Starbucks is not the only place where I find that people are overpaying without complaint. Just drive by any wealthy neighborhood and we find shops and boutiques waiting for their wealthy preys. When I find myself in such circumstances (i.e. goods being sold at a price seemingly more than what it deserves) I usually get a little stressed and angry at the system – “Let us boycott this and teach them a lesson”. But when I thought more about it today (sitting at Starbucks and drinking their latte) I think I was being totally stupid. Nobody should lose any sleep over this.  Such a system can thrive only when a reasonable number of people are willing to buy from them. Otherwise they will have to close down. The simple fact that Starbucks is thriving means that many people think that the coffee (and the environment) is worth the price. Why somebody would pay $4 for coffee is something that I might never understand but I felt a lot more comfortable, a lot more Zen, when it dawned on me that the system is self balancing. No war is required !

P.S. I hate it that Starbucks have a “Small” size but they never advertise it on their menu, I think it is a sleazy tactic.

ClickOnce Installation for Multiple Users

An interesting question came up in one of the internal mailing lists at work about ClickOnce. The person who asked the question had the following scenario for his ClickOnce application.

The application runs in a call center. Assume there are 100 users and 100 computers. Any user can use any machine on a given day. Assuming everyone uses a different machine each day for 100 days then each day they will have to install the application on the machine they are using and by the 100th day each machine will have 100 installations of the app. Clearly not a desirable situation.

How do we go about solving this ?

The quick answer is that you cannot solve it using ClickOnce in a straightforward manner. The reason ? ClickOnce installations are always per user. It is by design and not a side effect or even a configurable option. When you install a ClickOnce application it goes into C:\Users\<User>\AppData\Local\Apps\2.0\<Blah>. Here <Blah> is a set of folders with names that doesn’t make much sense. For example, here is an actual example of the full path to a ClickOnce installation – C:\Users\<User>\AppData\Local\Apps\2.0\8Y7PD2RC.9VE\L1OL139M.4W2. These names would be different on different machines. This makes it very hard to find the location of the installation, so we cannot share the installation between users (assuming that other users have access to this folder). Other users would not get desktop shortcuts and Start->Programs shortcuts. Also AppData is a hidden folder which makes it even harder to find for non-technical users.

So what do we do ?

For the specific scenario here, ClickOnce does not fit the bill as the deployment strategy. MSI is a better choice. XCopy might also work depending on the application requirements.

Raymond Smullyan Books

As I mentioned in my previous post, I made an impulse purchase of 7 books by Raymond Smullyan from Amazon. Six of them arrived today, the remaining one book is not published yet. Here is the list of books that came today:

The remaining book is Set Theory and the Continuum Problem.

Raymond Smullyan is a remarkable man. He is a magician, mathematician, logician, concert pianist, philosopher and world renowned author of over 20 books. Some Interesting Memories: A Paradoxical Life is his autobiography and there is a film about him called This Film Needs No Title created by documentary filmmaker Tao Ruspoli. Smullyan is 90 years old now and lives a “retired life” in the Catskill Mountains in NY.

If you haven’t read any books by Smullyan I recommend that you get a couple of them from the library and give it a try. I am sure you won’t regret it.