Saturday, November 14, 2009

Possibly the best (worst) poker beat I have ever seen

I have always thought that a Poker is a nice simplistic model of our reality, but this one beat is just plain awesome!

Tuesday, October 27, 2009

Prices of eBooks

The eBook reader market is on the rise. I have just got a brand new Sony Reader 600, and the Nook from Barnes & Noble, due in November, also looks fantastic. The prices of eBooks however, are still way to high, and for no apparent reason. After all, conventional logic shows that if you do not have to print, ship and store the book, it should make it much cheaper for the publishers. You can sell any amount of books and never run out of stock. You also don't take the risk of getting stuck with shelves of unsold books nobody wants. You do not need to rent a store, pay the cleaning lady and the clerk and the driver and the supervisor. Doesn't all this amount to something?

In order to understand why the prices are so high, I had to undertake a little investigation (read few blogs and do few searches). I have found several "logical" explanations why an eBook should cost 9.90 (as they mostly do) and why not printing the book does not really affect the cost too much. Some of the authors go to great length and provide some interesting numbers.

This guy, for example, shows a detailed breakdown of a book cost. He argues that this shows that printing is actually a minor part of expenses. And he is not alone. Here is another guy who is wrong and another. Let's take a look at this and see what is wrong with this picture.

"Based on a list price of $27.95

$3.55 - Pre-production - This amount covers editors, graphic designers, and the like
$2.83 - Printing - Ink, glue, paper, etc
$2.00 - Marketing - Book tour, NYT Book Review ad, printing and shipping galleys to journalists
$2.80 - Wholesaler - The take of the middlemen who handle distribution for publishers
$4.19 - Author Royalties - A bestseller like (John) Grisham will net about 15% in royalties, lesser known authors get less. Also the author will be paying a slice of this pie piece to his agent, publicist, etc.

This leaves $12.58, Money magazine calls this the profit margin for the retailer, however, when was the last time you saw a bestselling novel sold at its cover price."

He then suggests to count the costs from zero up, and suggesting that pre production, marketing and author fees are essentially the same, 9.90 is actually pretty cheap even for an electronic edition.

Everybody got that? Now let's see why this should clearly not be the case. In order to illustrate the point I will take Malcolm Gladwell as an author, and his three books, "The Tipping Point", "Blink" and "Outliers", last one published in 2009 and has a list price on Amazon of 27.99

First let's take a look at marketing. I first saw Malcolm at TED for free. Cause you see, where I live, there are no book tours, no New York Times and no New Yorker. So all that money spent on that advertising, for me, is money wasted. Now let's note, that Malcolm Gladwells first book sold about 2.5 million copies, which according to the above breakdown should amount to 5 million bucks in ads alone.

If this sounds strange, check this out. According to the above logic of breaking the book cost down to it's components, the cover editors and graphic designers of the above book earned little under 9 million dollars. Wow, I must be in the wrong business. Not to mention the author, who (once again according to the above calculation) got 10 million dollars in royalties.

All this leads me to the conclusion that the above breakdown, is a little bit problematic. The costs of producing, storing and selling books online, are close to nothing, taking into consideration the advantages of online distribution such as:
  • Instant access to any book (30 seconds from seeing Malcolm on TED to buying his book on Amazon).
  • No need to wait for delivery, start reading immediately.
  • No forests are hurt in the process
  • Availability of recommendation engines save marketing costs.
  • Vast worldwide markets, not covered by paper book distribution.
So to conclude, since there are almost no necessary costs, save for author royalties, a fair price for an average eBook is 1.99$ US. What should be understood that in a modern networked world there should be an author and a reader and everything in between is irrelevant and not interesting. Period.

Wednesday, October 21, 2009

New Apple Mouse Looks Amazing

If you had not already go to apple.com and marvel the new Magic Mouse. What they basically did is put their superior mouse pad that was used in laptops on a regular mouse thus creating an all touch interface that supports gestures in combination with a regular convenient point and click experience.

The "wow" effect is guaranteed and it looks really slick and amazing.

PS: Just to balance things, they did a much poorer job on the new Apple Remote.

Tuesday, October 20, 2009

Michael Moore Movies Free Online

I have seen some interviews with Michael Moore on YouTube recently. I have heard about him before but only recently due to his Capitalism movie I have taken the time to study his work more closely.

The very first thing that struck me is why are not all of his movies available for direct download online and for free, I mean if he is such a democrat. After all, he has made a lot of money from those movies already, covering his costs many times over. What's the matter? Maybe he is greedy too? Does he really want to spread his ideas or just make some more bucks on the other part of our fears, the ones that has not been yet exploited by the government.

The only thing I found immediately is his movie "Slacker Uprising" and it was only available for download after you supply and email (what for?) and for citizens of US and Canada.

Well I guess it is much easier to talk about democracy and freedom than really practicing it.

Monday, July 27, 2009

Windows 7 Annoyances: Aero Peek

Are you annoyed by the Windows 7 Alt + Tab hiding your windows and behaving weirdly, want to go back to the old way, go to System Properties -> Advanced -> Performance Options and disable "Aero Peek" option. Downside, this will also disable full window preview from of multiple windows from the taskbar. Make your choice.

Friday, May 29, 2009

Great Presentation on Positive Psychology and Happiness

During my recent searches I have stumbled upon some lectures by Tal Ben Shahar, a psychology professor from Harvard, who represents a movement called "Positive Psychology" and human happiness in general. Besides the general interestingness of the topic itself, I mean, who wouldn't want to be happy, these lectures are good because they are both scientific and very well presented.

As you know, I treasure great presentations and presenters and this is by all means a great example of such. So whether you want to be happier or just improve your presentation skills, enjoy!

http://forum.wgbh.org/lecture/positive-psychology-science-happiness

http://in.truveo.com/positive-psychology-lecture-1-tal-benshahar/id/2472580271

Data Preservation Instinct

If you would sit down to write something meaningful, personal and long lasting, not real memoirs, but something you would definitely want to review some time later, where would you write it. From one side you would definitely want it to be organized, structured and searchable, in other words digital, but on the other hand you would not want it to be on that hard drive that just failed or that nice site that closed recently or that network storage provider who went under and took all your precious data with you.

And what editor would you launch? I use a Mac now, so I have launched the Omni Outliner Pro, the only software I have bought out of sense of gratitude to its creators. However, I will only use it for editing the immediate stuff and initial organizing. I will not be able to store my materials here indefinitely, because it is not portable enough, so I can not use it if I move to another operating system like Linux or Windows. I can not count on it for sustaining over several (or many) years. I will not provide enough organization for large amounts of materials etc. etc.

The same is true for almost any other commercial editor, Word or whatever. Their file formats are very problematic, usually combining both form and content together and having a few years life span. Yes you would be able to open older ones (in most cases) but you will usually have to upgrade and convert your older files, especially if you have used some formatting. And if, god forbid, you would want to change to another environment then you will have real problems on your hands.

You would really want it to be there when you need it in three or five years. Editable, with the structure, the keywords and the formatting. But achieving this, seemingly obvious, goal with current technology is very difficult and required vast technological expertise. You can not really count on anything, these days, not even file dates can be reliably preserved over time. Not to mention any other metadata. Say you invested the time to add some comments to a file in Spotlight, copy it to another machine via a FAT partitioned drive, they are gone, this is just an example.

Even though, it costs absolutely nothing to copy digital data, the fact that saddens some content publishers, the volatility of such data is so high that preserving it usually costs much more in the long run, especially if you really care about it. This is another in the long list of reasons, why most of the existing models of digital data consumption are obsolete. You could have a few thousand dollars worth of music on your iPod only to loose it in a second to a toilet bowl. But wait, the music is still available there on iTiunes and you already paid for it once, so why can't you get it back. At least with software you pay for the license and then can always get the software itself even if the original disks got damaged. What did you really buy when you paid for those thousands of songs?

Fast forward to a perfect world of tomorrow, an international standard for a database backed file system with secure and transparent distributed backup and universal encoding is available and all the problems described above are history. What would it take to get there short of a miracle.

Recently I had a conversation with a friend, about the state of user data backup today. In fact the only OS coming with any decent usable tool for this purpose is the latest OS X, Leopard which has a reasonably easy to use utility called Time Machine. My friend told me that most of the users did not need any such backup, since they did not actually produce any substantial materials on a regular basis, at least not till the development of the personal digital photography. So till fairly recently, there was not real need for sophisticated backup and data structuring systems, at least not at the demand level that would justify the creation of one. Even today, when hard drives are very cheap, I keep seeing people loosing their entire collections of irreplaceable family photos in a second.

Well, I think that now, as our creativity in the digital world rises and more people produce their own digital artifacts we must think of keeping our creations in the digital world at least as safe as they would be in the real one, and even safer.

Friday, February 27, 2009

Spotlight Tip

Ever wondered how to get from the list of results in Spotlight to their actual location in Finder. Turns out holding 'Command' down and clicking it does the trick.

Tuesday, February 24, 2009

Untitled

Windows 7 is so ugly, that I often go to "Adjust for best appearance" setting to make sure it is still on.

Sunday, February 8, 2009

We are the Borg

Just started playing with Python, after C++ and Java it looks... refreshing. Anyway, it's a nice thing to see how most design patterns become obsolete with little use of Python wizardry. Once thing I particularly liked is the "Borg" pattern, which replaces our good old Singleton. Read here for details, very cool.

Wednesday, January 21, 2009

Fudge

An interesting site I would like to explore is Fudge, a social network for programmers.

Good thinking

Here is an interesting presentation about philosophy and programming from the Ruby guys http://rubyconf2008.confreaks.com/aristotle-and-the-art-of-software-development.html

Starts a little funky but the patience is worth it.

Tuesday, January 20, 2009

The Rise of A Social Programmer

Last month, I saw a presentation by Ohad Barzilay, a Ph.D. student at the Tel Aviv University who is conducting a very interesting research. As part of the research, he has joined several professional programmers at their place of work, and observed the set of activities they perform during a regular working day. One such activity that clearly stood out, in terms of frequency, was looking for examples, either in their own code base or on the web, and integrating them into their own code. Using the examples turned out to be much more effective for completing the specific task at hand then reading an available API documentation. Although this might seem pretty obvious to anyone engaged in professional software development, Ohad discovered that this activity was not defined, described or facilitated by existing software tools.

Three days ago, I was working on the implementation of an eclipse plug in for my studies. I wanted to add a new marker view, and found a great blog post on the subject which explained exactly what I had to do by providing a detailed example I have copied to my code and modified to fit the application requirements. It did not work at first, and I have posted a comment on that blog asking what could be the problem. Even though the post was written in November , I have received a reply in twelve minutes with a solution. It still did not work but it helped to focus my search and after a while I have realized where the problem was and posted a comment with a solution.

Software development have always been a highly collaborative process. Communicating design and implementation ideas across the R&D team was always one of the greatest difficulties encountered by organizations. No documentation could ever be complete enough or updated enough to achieve this challenge. People who wrote the code are rarely around long enough to be of any help and large code base is usually hard to mine for examples and solutions.

All this is changing today thanks to open source code and the abundance of social networks. Open source community provides a very large repository of live and working code for a large variety of applications in all imaginable languages. Social networks use this information to create instant conversations around the topics of interest. A magic mix of those two ingredient produces a 'social programmer'.

Programming forums and discussion groups were here for a long time. Today there are many blogs dedicated to programming topics and people realize the power of wiki for knowledge sharing and collaborative documentation. But this is just the beginning. Software guru Joel Spolsky, has established an open site called "Stack Overflow" for programming questions where you can vote for good answers. There are code snippet repositories, annotated with social tagging like DZone, Snipplr and many others. There are many programmers on twitter, and there is probably a place for a more capable client, something between the twitter and the late pownce, to enable fast sharing of code examples.

Large repositories of open code together with the fast evolving swarm of social networks make software development a much more 'social' experience. Availability of experienced and responsible example providers will improve the overall quality of the code together with programmer productivity. To conclude, here is a small cheat sheet to reiterate the basic steps:

Join -> Talk -> Copy -> Modify -> Compile -> Run.

And don't forget to publish your best results :)

Thursday, January 1, 2009

Creating empty file of specific size in Windows

Sometimes you need to create a file of specific size, just of testing. You could, this would never happen to me, but just in case you do, here is a way to do this in windows (I found it here after downloading several miserable utilities that claimed to do the trick but did not work).

Go to the directory you need the file in with your shell and run this (size is in bytes)

fsutil file createnew FileName Size