Nov 30, 2007

Windows PowerShell overkill

Sometimes OO paradigm is an overhead, not a savior. Especially when it comes to simple manipulations such that are typical to shell scripting tasks. I mean, what appears more to the point and is faster to implement? This:

ipconfig | findstr "Address"

Or this:

ifconfig | grep "Address"

The latter is more flexible, you can search for pretty much anything. And once you get regex involved -- opportunities are endless.

As usual, instead of conforming to POSIX, Microsoft invents its own incompatible way of doing scripting. Sure, anything would seem to be better after horrors of COMMAND.COM and CMD.EXE. But it did not have to be that bad.

Maybe (quite certainly) I am biased, having spent years in a warm comfort of bash and tcsh. But maybe I am right and PShell is just another failed MSFT experiment at "borrowing" ideas from others...

Nov 27, 2007

OLPC threat for Intel, Microsoft

When I am reading an article like this one in WSJ that talks about how Intel and Microsoft have found themselves threatened by Negroponte's OLPC, I can't stop but shudder at utter stupidity and pervasive greed that totally obscures any understanding of what OLPC project means.

I do not work for OLPC, I have no affiliation to the project other than occasional contribution to the UI translation effort.  What has been refreshingly awesome in the idea of this little machine was not the price tag.  It was not even the idea of providing it to so many children in impoverished countries.  It was the fact that it can help so many people (children) understand what computing, information, technology are about.

All that Intel and Microsoft seem to be able to see there is competition — Intel because OLPC uses AMD chip, while Microsoft, naturally, because OLPC doe not run Windows.

Bot these companies, as well as a number of governments that are hesitant to jump the OLPC bandwagon, are missing the whole point of why it is done that way. Why offering a striped-down Windows XP or Vista that can run on a similar machine (be it Classmate PC or EEE PC or any other entrant into low-cost/small form factor laptop market) is not the same by a long mile as what Sugar provides a kid with on OLPC.

What a child gets when handed the "$100 laptop" is not just hardware and OS. He gets a whole slew of little applications that allow him or her to start learning things right there and then. He or she can be creative and doodle or can access any number of web sites and find useful information to put onto a class report (and he also is safeguarded with a number of options there not to end up on a warez or porno sites). The great EToys environment that comes with Squeak that is included on OLPC allow a child to learn what programming is about in a long-forgotten way that. It all comes tuned and made for a child not in a generically heartless and usability poor Redmond way.

An old analogy comes to mind:

Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.

What Intel and Microsoft are doing is the former — they are very much eager to give (or more like sell) lots of fish, while OLPC project addresses the latter — it teaches how fish, meat, veggies and anything else can be made.


This is just great: a Nigerian company (but it happens to be based in US) has filed a suit in Lagos claiming that XO infringes on LANCOR's patents. Can anyone trace this back to Redmond, I wonder?

A good /. comment on the same.

Nov 26, 2007

Leopard — a very personal view

Not that it matters, but:
  • I like new Dock. It's more or less always hidden, hence it's reflections are lost on me, the small dot looks more or less the same (so far) as the black one.
  • Transparent menu bar — very much the same, I use a solid color background and end up nearly unaffected by transparency thing. I did notice, however, that while menus are rounded now, menu bar screen corners are not any longer. The soft rounded rectangle look of Mac is gone...
  • Finder Cover Flow view comes out handy at times.
  • Unified look takes a little getting used to, but over all is not bad.
  • Network preferences pane re-arrangement is a good thing.
  • Stacks are probably cool, but I have not built them into a usage pattern yet.
  • Spaces — don't work as I used to use them in FVWM. But it's the same with a number of products offered for Windows, hence there may be also a hint on getting that crowd over (however small that is).
  • I do not like new Finder folder icons.
I think that just about does it for this moment.

Things that Apple is *really* good at

There were numerous referenced posted on a variety of social bookmarking sites about smart hackers going for a re-implementation of this or that feature of Apple's latest Leopard release of Mac OS X. And this is über cool that you can now hack your N800 to scroll like iPhone or to show a keyboard just like in iPhone (with just a few hundred lines of Python!) or that you can now pretty much as easily back things up on a Linux box as on a shiny MacBook with Time Machine.

What is missed in all of that is that all of what was no redone after it's been released by Apple has been around for ages, yet it was not wrapped right, or was not working quite the same, or was the last worry on the mind of dominant forces... Then comes Apple picks an idea up, does a magic something to it — bang, you have an iPhone/Time Machine/etc. Then everyone and his brother says "Look — I can also do it and could really do it for ages!"

Oct 26, 2007

WIndows XP on OLPC??

Picked up over at Reddit, MSFT is really trying to compete with OLPC:
Microsoft Corp (MSFT.O) has made progress in getting its Windows software to work on a low-cost laptop computer for poor children that currently runs on rival Linux software, an executive said on Thursday.

And I find it preposterous. And they're getting it wrong, again. Redmond does not seem to understand, that this is about children and education, not about how to milk everyone of the last penny.

The sole purpose of a $100 laptop project (now One Laptop Per Child) is to bring education and to empower children. To help them learn things and do that in the most adventerous way. With all due respect, Redmond cannot produce any of that, because they can't see a classroom behind their greed.

Wake up, Bill, Steve. This is not what you think its about, although you are right — this can well make you history.

Oct 19, 2007

C-fonts from Microsoft

There's an article over at Slashdot referencing a blog post at hunlock about new Microsoft "core" fonts. The post is a bit dated, from April this year, but /. has just picked it up.

I saw a link to hunlock back in April, most certainly over at Reddit. I have tried and installed the C-fonts on both a Windows PC and a Mac. The process did require a download of PowerPoint 2007 viewer, as there's no other legal way to download these fonts.

I found Cpnsolas to be a nice replacement for Andale Mono and Courrier New (but not the original Courrier). The rest of the fonts I played around with and concluded that I seem to *not* like most of them.

For one, Microsoft seems to prefer small sizes, regardless of what usability experts say. These fonts are tiny, at 12pt they feel just about as big as "old" core fonts at 10. I also find them to be too thin -- which maybe a reflection of the battle of "readability vs. correctness" debacle between Apple and Microsft on font rendering.

Oct 17, 2007

The 300+ changes in Leopard

I have been going through the Apple‘s 300+ New Features page and quite a few made me feel excited and much more eagerly waiting for Leopard than before. Here‘s a quick run-down of what I like on that list:

AppleScript: Full Unicode Support for AppleScript.
Finally. With the rest of Mac OS being so much pro-Unicode, Applescript‘s (and its editor‘s) disabilities in that area, the need to hack a Unicode string to be processed and/or displayed correctly... The only thing better than that in AS would be better/stronger dictionaries into iTunes and iWork apps!
Automator: UI Recording and Playback
This is what should theoretically be possible in AppleScript (but I have never ever been able to record anything), would be a great pluas for Automator, maybe it would finally help it to become a much more useful tool.
Dictionary: Wikipedia in Dictionary
Very handy, I suppose.
DVD Player: Chapter Thumbnails
Nice addition, as I‘ve been more frequently using VLC lately, due to it‘s ability to skip all the legal crap front matter. This is not the same – but at least a nice addition.
Finder: Back to My Mac
I still need to see exactly how this will work. And a bit concerned of (potential) security issues around this.
Imaging: Network Scanning Support
I‘ve got this HP PSC (printer/scanner/copier) device that is hooked to AirPort Express for printing. But I can't use it as a scanner this way. I wonder it this feature would allow me to?
International: Russian Localization
I wonder if that, coupled with "New Fonts" feature will finally give me a few more fonts to choose from and a bit better appearance of Cyrillic pages in Safari? Or does this only cover translations of interface elements?
Mail: To Do and Notes
Very nice productivity enhancement.
Safari: Movable Tabs and Merge All Windows
Ok, for these I don‘t have to wait till Leopard – I can have them no in Safari 3.0 and these are cool and useful. The former I can do in FireFox, but the latter is, actually, much more useful.
A whole host of features there that look quite promising.
Terminal: Improved International Support, Tabs, Workspaces
Borrowing from iTerm and screen(1) :)

Oct 1, 2007


There're many versions of GNU Emacs to choose from when it comes to MacOS. There's a standard console-only Emacs that comes with the system. There's Carbon Emacs that (as the name implies) uses Carbon libs. There's an Aquamacs — again, the name is telling. But what I found to be a very nice addition to this group is — a Cocoa-based Emacs version.

It is still in development and shows a few rough edges here and there — but I find it a lot more responsive (and a lot less pretentious) than Aquamacs, while being a proper Cocoa application (as much as it can be said about Emacs). Moreover, its code base is a lot more current than either of the alternatives, hence you get a few added whistles, like code checking in most popular languages (e.g. Perl).

To be fair — there more Emacsen to choose from, see this page on EmacsWiki.

XML::Simple oversimplification

Perl's XML::Simple module is an easy way to get your application to talk some basic XML. it uses expat to parse data, so there the leverage is good. But where things tend to go awry is with consistency of reading and writing back.


Let us take the following sample XML document:

  <survey key="123">
    <description>A survey with a description.</description>
    <qa key="1" type="radio" text="Only one valid option in answers">
      <a key="1">Enie</a>
      <a key="2">Menie</a>
      <a key="3">Be</a>
    <qa key="2" type="text" limit="255" text="A long comment field, with a set length limit (default to 500 characters)">
      <a />

Once read in and dumped through Data::Dumper, it is represented thusly (keeproot option of XML::Simple was set to 0):

$VAR1 = {
  'survey' => {
      'qa' => {
          '1' => {
                   'a' => {
                            '1' => {
                                     'content' => 'Enie'
                            '3' => {
                                     'content' => 'Be'
                            '2' => {
                                     'content' => 'Menie'
                   'text' => 'Only one valid option in answers:',
                   'type' => 'radio'
          '2' => {
                   'a' => {},
                   'text' => 'A long comment field, with a set length limit (default to 500 characters)',
                   'type' => 'text',
                   'limit' => '255'
      'description' => 'Second survey with a much longer description.',
      'key' => '123'

However, writing out with XMLout does not produce XML file one has just read in:

  <survey key="123" description="Second survey with a much longer description.">
    <qa name="1" text="Only one valid option in answers:" type="radio">
      <a name="1">Enie</a>
      <a name="2">Menie</a>
      <a name="3">Be</a>
    <qa name="2" limit="255" text="A long comment field, with a set length limit (default to 500 characters)" type="text">

XML::Simple is unable to distinguish from the nested Perl hash whether an item is an element attribute or a tag — see how <description> has become an attribute? Forcing array out put helps, but causes, for instance, the same <description> tag content to be wrapped into a single element array.

Perl code to do reading and writing of the above:

#!/usr/bin/perl -w
use XML::Simple;
use Data::Dumper;
$xmlDoc =<
  <survey key="123">
    <description>A survey with a description.</description>
    <qa key="1" type="radio" text="Only one valid option in answers">
      <a key="1">Enie</a>
      <a key="2">Menie</a>
      <a key="3">Be</a>
    <qa key="2" type="text" limit="255" text="A long comment field, with a set length limit (default to 500 characters)">
      <a />
$xs = new XML::Simple (forcearray => 0,
                       keeproot => 0);
$xRef = $xs->XMLin($xmlDoc);
print Dumper($xRef);
print XMLout($xRef);

Sep 29, 2007

iNewton or iPad next year?

There are more rumors around the net about a possibility that Apple will introduce a "new Newton." This bides well with what I mentioned in my post on iPod Touch being "origami Mac".

Mike Elgan's article in Computerworld is very interesting in that respect.

Events in the past 30 days lead me to conclude something unthinkable just one month ago: Apple -- yeah, I said it -- Apple! will ship the first ever successful small computer. Call it the Newton on Crack (or, more accurately, on Mac).

What he mentions is that there are moves into the "small computer" market being made by several companies (Palm, Nokia, UMPC makers), but that only Apple seems to have the right experience and a good feature mix in the iPhone/iPod Touch lineup that can allow to essentially dominate this newly established market.

If Apple ships an iPod Touch, but with good PIM (personal information manager) functionality, an optional wireless keyboard and good battery life for under $1,000, they win.

iPad (or iNewton?) would be a nice addition to Apple's line-up, will also do one-up against both Palm (that is selling itself off to Redmond like there's no tomorrow) and UMPC offerings (that have been unable to deliver anything worth while since the platform has been introduced). And judging by a few other patent application and pieces of news that were surfacing in the past 2-3 years, an Apple handheld may combine some features of Windows tablet (like synching with a desktop once near) and generic PDA (storing your PIM data, providing email/web browsing capabilities).

Much of it is already in iPod Touch, the only few things missing are a larger size for more comfortable operation and a few distinct features that make iPad similar yet different from the rest of i* family.

Stay tuned.

Sep 22, 2007

Common Lisp tutorial

Common Lisp tutorial
If you also think Lisp might be better served if PCL was at least one of the results returned to a would-be Lisper searching for a Lisp tutorial you can help out: if you have a web page where it would be reasonable to do so, consider linking to the url with a link text of “lisp tutorial” or “common lisp tutorial”. Yes, I’m asking you to participate in a Google bombing. But it’s for a good cause. Think of the children.

The cause is certainly a good one and I really wish Peter Seibel's Practical Common LISP tops the scores of Google for both "lisp book" and "lisp tutorial."

Sep 15, 2007

Eureka moments

I am pretty sure that this won't be an eye-opener for many, but I just had my eureka moment with XPath. I have been playing with XML config file for a light-weight survey module for our intranet and has been banging my head against Perl XML::Simple module. After a lot of sweat and tears, mismatches between hash and array return values I thought of XPath (probably thanks to SteveY's post) -- and I was amazed how much simpler things became!

Instead of custom-building querying logic, all I now need to do to fetch a survey question or any of survey answers is:

use XML::XPath;
use XML::XPath::XMLParser;
my $xp = XML::XPath->new(filename => 'survey.xml');
# first survey description
# second question of the third survey
# fourth answer to that

I am sure that XML::Simple has its uses as well -- but certainly for querying data XML::XPath just soooo much easier!

Sep 10, 2007

Rubbish day

Early Friday night over at The Leicester Arms pub was slowly getting crowded and noisy. Being close to Piccadilly Circus and Regent Street is a guarantee for high traffic — tourists, business people on the run from nearby offices, buddies striking a quick one to start the evening before going off to clubs or restaurants. We were just that sort of traffic — get there, get a beer, drink it and get out.

We took turns for getting beers at the bar, then exchanging a few stories and discussing a bunch of little office related gossips and rumors. It was my turn to fetch a couple the beers.

‘Two pints Guiness, please, mate.’

‘Is Guiness any good in London?’ — asked a blond woman next to me waiting for the bartender to total up her purchase. An office worker — white blouse and pants, a big purse on a shoulder, blond hair in a pony-tail. Eyes totally sad, voice lost and unsure.

‘I don’t think it’s bad’ — replied I.

‘Guiness is good only over in Ireland. It hates being transported.’

‘Well, I’d love to be over in Ireland right now, but it’s hardly possible, I think’ — replied I. ‘That does not look like much of a drink, by the way’ — I pointed at a tall glass full of ice, a slice of lime and some transparent liquid at the bottom of it.

‘That’s vodka. Pathetic, isn’t it? It has been a rubbish day and a rubbish week.‘

‘There is not much left of it,’ tried to cheer I, ‘And there will be a new day and a new week.’

‘It will all be just same rubbish.’

‘Well, you’re right, it’ll be the same rubbish, but at least a day will be different.’

‘I’m sorry,’ she said, ‘Have a good evening.’ And left to sit alone at a corner of already occupied table with a bunch of youngsters cheering and drinking beer.

I watched her sit and consume the drink, which she has diluted with some water or coda. Still transparent and looking very cold and sad, just like her. A small island of total isolation and pity in the middle of a crowded bar.

She drank and left, hurrying up to the tube station, to live through the rest of a rubbish evening, not looking much for the rubbish weekend ahead, followed by another set of rubbish-full workdays... Ad infinitum...

And I sat there and thought, why have I not walked over and really tried to cheer her, instead of stupidly rephrasing a “same shit, different day” saying.

Sep 9, 2007

iPod touch – an Origami Mac?

Here's just a quick thought: Apple's new iPod touch is Apple's measured response to Microsoft's UMPC, a.k.a. Origami PCs. A similar sentiment seems to be ringing over at C|Net — although their post is a speculation before the iPod event of Sep. 5.

True, the primary purpose of iPod touch is still music playing. It will do that nicely, just as well as Classic, Nano and Shuffle varieties from the same family. But with WiFi and pretty much full power of Mac OSX behind it (and assuming that current iPhone hacks still work) it can be made to be much more than a music player/portable web browser.

A small totally non-scientific Apples to oran^H^H^H^H oops HTC Advantage comparison:

iPod touch HTC Advantage
Screen 3.5", 480x320 5", 800x600
Memory 16GB 8GB + Mini-SD
Weight 120g 359g
Battery 22h audio / 5h video 5-6h talk time, 300h standby

Conclusion: iPod is three times lighter and can likely be made to be able to handle many things HTC Advantage does.

Ok, that part above is a troll, sure. But the point is that as before, by making a few measured steps, Apple may well be entering Microsoft's turf — and it'll likely be able to bit it there, if it sees a potential.

Aug 29, 2007

Doing 'IT' for a bank -- that bad?

I came across the argument following Reddit link, here's a good quote to start:

... I am going to highlight the one thing that you should NOT do. I am hoping and praying that you are a lucky person and don't get sucked into the awful quagmire that I am about to outline below. ... If you are really, really unlucky, like most of us, you will leave school and 'go do IT for a bank'.

There's quite a bit of truth in much that Cron has written -- indeed, like in pretty much any other corporation that is not concerned with IT as a primary business area, there's little clarity of what and why to do this or that type of IT. Sure, just like in any larger organization, especially entrusted with a rather serious business of keeping other people's savings, technology choices tend to be rather "safe" ones.

Yet on the other side, there is an important aspect to banking that drives a lot of activity in some IT areas that are unlikely to be paid enough attention to in many other businesses.

Take, for instance, security, encryption, digital identity. Banks are the first organizations that have to be looking at that simply due to the nature of their businesses. So, if you're interested in *that* type of IT, and are not very much inclined in 'doing IT' for NSA or FSB (ex-KGB) -- banks are a much more peaceful place of employment that can still allow you doing enough research and technology development.

Or take the 24x7 resilience and uptime/on-line. Sure, you'd have to do the same for the military, medical, NASA. But a bank might be just another good place to try and do the same.

Or maybe mainframes is your thing. Maybe you were always fascinated with wonders of COBOL. Again, banks are the only few enclaves left where you can apply that skill and itch that urge.

So, to put it another way -- it is about what *you want to do*, not about how bad banks' IT is.

That said, there's a lot of mediocrity in banking IT, that is true. Things tend to be done by the book, in a very conservative way. So, if you know that you can't cope with any of that at all -- no, by all means, don't go do IT for the bank.

Aug 26, 2007

Numbers for the rest of us

Ever since Apple released Keynote rumors were circulating all over the fan sites as to when a full truly Mac office suit would be released. This was addressed bit-by-bit. First, Keynote was joined by Pages. Then both Keynote and Pages have received a small table management face-lift. Finally, this year Numbers has been released.

There's been many reviews of Numbers. Since I've been working with numbers most of my professional life, I felt the urge to give it a go and see how Numbers cuts numbers for me.

First great departure for many long-time Lotus 1-2-3 and MS Excel users is disappearance of work sheets. Sheets are still there, but they really refer to sections of your work book -- sort of like virtual pages in the file that may or may not fit a single A4 piece of paper.

At the same time you're getting the immense flexibility as to where and how you want to lay out your data. You would not notice this if all you need is a plain data listing (but then you may not be using the right tool), but if you, say, need to have details table and several summaries and maybe a chart or two to go along -- Numbers will really start shining for you.

Instead of providing you with a preset grid, you get just a page into which you can place as many individual tables as you like. This is the case of OLE finally done right, if you wish. And yet you can cross-link data in all these tables (since they act similar to worksheets of a traditional workbook).

This means that no longer do you need to play with column widths, merge cells or stretch your fields over expanses to achieve something like desired layout. And you get lots of samples of more or less typical spreadsheets to start using/learning/building.

Numbers also understands and interoperates with quite a few external sources/data formats. Excel is generally not a problem to import and integration with Address Book application lands a sweet spot for those who need to create simple lists/phone directories/etc.

That said, at this point it is very weak in the formulas support department covering only about 150 most frequently used ones. It lacks support for such "popular" data analysis tools like Excel Pivot Tables and filtering data is a bit of a bitch, since dynamic filters a-la Excel are also not available. Last but not least -- it is not blazing fast, especially once you start copying your formulas and/or data across the columns and rows.

Another bit of a problem and seemingly an oversight is the fact that you can't build a formula with keyboard only -- you *must* use a mouse or else key in cells and range names by hand.

It would seem that Apple could do much better following in the steps of KHTML to WebKit and back experience that allowed them to build a very good and standards-compliant browser quickly. I am pretty sure that both KSpread and Gnumeric could provide a great spreadsheet engine that already covers much more mathematical ground (especially Gnumeric).

Last note is on file format. When looked at on a console it is apparent that it is neither OOXML or ODF, but rather an XML dump of NSMutableArray Objective-C data. While this may have been done to speed the development and implementation, this will likely be a holding factor for going any further -- Apple would have to tackle on the interoperability issue with other spreadsheet vendors -- be it OOo, MSFT, KOffice or Gnumeric.

Aug 1, 2007

Взгляд: Россия нашла замену Microsoft

«Для нас важно, чтобы параллельно с устранением пиратства развивались программы с открытым кодом»
Давно пора. Хочется надеяться, только, что ето не попытка выторговать лучшую цену из Редмонда.

Jul 28, 2007

Fixing Russian track names in iTunes

Here's a situation: you have a bunch of MP3s of Russian (or Cyrillic in general) songs that you decided to drag-and-drop add to your iTunes library. No problem with that, except every once in awhile you end up with songs/artists/albums named using "birds language" instead of proper Cyrillic letters.

I have once in the past stumbled onto a small AppleScript solution that fixed that, but I was unable to trace it down again. I have, therefore, decided to "scratch this particular itch" and build one myself.

Here's a fruit of that labor.

A few caveats:

  • It worked on a sample of songs I had, can't promise it would work always.
  • At this point it only fixes Russian letters, not Cyrillic ones at large.
  • The change is irreversible: you cannot undo the action!

Jul 22, 2007

One month after upgrade: BlackBerry 8800 impressions

Just about a month ago I have upgraded my BlackBerry from an old 7290 to a shiny 8800. What's below is a quick summation of my impressions.

Look and feel

It certainly feels lighter and slimmer. Although it is a bit longer than 7290, it has no bulge — it is a plain candy-bar slab. Gone is the scroll wheel on a side, cause of many thumb injuries of real crackberry addicts. Its replacement is a small trackball that on one hand helps to navigate cursor in any direction (no need to hold Alt anymore to move horizontally), but also leads to constant smudges of the screen. The latter is a clear improvement over 7290 -- has great colors and better resolution.


It generally provides the same assortment of apps, some slightly more upgraded, some identical to the 7290 times. 8800 includes a GPS and BlackBerry Maps is also there. It's fun to use it every once in a while, although inside the city it has trouble locking onto satellites, unless you're standing on a square or in a park. It also has a few media-centric apps (like audio player, video player, improved picture browser).


Keyboard has been changed from the 8700 series (where it became smaller, yet the keys were all flat, resulting in much harder typing experience) — keys are not flat, they have a slightly curved ridge, serving as support for the fingers while typing. Trackball is very nice and does help to navigate texts much better. One great addition is ability to type (not only read) multilingual text. While the way switching is done could certainly be improved, as well as ability to restrict the number of choices in the "Change Language" dialogue, the feature in itself is really great.
The way that names and addresses are looked up has been improved a great deal — that happens straight from a to/cc/bcc field (less clicking and scrolling around). In most other respects there is little change.
Views certainly look better with a higher resolution and true color display. It would have been nice to be able to reduce the size of a header font a little. In fact, this same problem manifests itself in a number of other places.
Web browser
What RIM should look at is WebKit-based browser in Nokia S60-based cell phones (e.g. N80, N95). The way pages are rendered (both in terms of typefaces and structurally), support for JavaScript and CSS — all of these leave quite a bit to be desired in case of 8800.
Nice toy, with somewhat questionable value, see above reception issues. Also, at least in case of Russia/Moscow street names seem to have been taken from the maps at least 15-20 years old. Which, naturally, leads me to conclude that correctness of a map may well be in the same range... And (again, font problem/higher resolution problem) — dashboard could really use 30% less vertical space.

Jul 21, 2007

iPhone fonts choices — why so limited?

John Gruber writes about a limited set of iPhone fonts, commenting that "...but worse than that the list is so short is that some of the fonts Apple did include are so ugly." I think that the reason for that is to keep as wide a character coverage as possible, while saving memory. Most (although not all) of the fonts that iPhone does have are either Unicode or have many more character sets than Latin-1/Latin-2. At the same time the list pretty much covers CSS selectors for serif/san-serif/fixed/cursive/fantasy. Very pragmatic, although probably not as pretty as it could be.

Jun 20, 2007

Minimized Windows™

The Land of Wind, Ghosts and Minimised Windows
Windows can't, you see, just blithely stop drawing a program's window when it's minimised. I think that's because you can't count on programs to redraw themselves correctly, or because they may freak out if one or more of their various window-drawing strategies is not correctly bit-bucketed.
WinNT and its descendants - possibly even Vista, though I'm not sure - move minimised windows to the undisplayable location -32000, -32000. Way up there, eight to ten metres above and to the left of your monitor(s), all of your "minimised" windows are hanging in the air.

This is just seperb!

May 29, 2007

Belkin Wireless G + MIMO router

I bought one of these a short while ago -- I felt the need to try and improve wireless reception. My good-old LinkSys WRT54G has rarely produced a signal stronger than 60% percent and I could well feel the difference in speed between direct plug and wireless access to internet. Looking at the reviews of the product I assumed that it is the rigth thing for me, and on one of my trips to London I picked it up at Dixons or similar outlet for about GBP 60. After using it for a little while I can tell you that just like the force -- it has the bright side and a number of let downs.

The good

Signal quality is indeed higher. I am consistently getting in 70% or above range, sometimes close to 90%. Configuration is also very easy -- there are only 4-5 options to chose from that probably cover most use-cases.

The bad

Let me tell you that my provider does not like making its clients life easy. I am connected through what is called here as "local network" -- I get a 10.* address from a DHCP server and can browse the 'hood from there -- but to get out into wider 'Net I need to lginto a PPTP VPN, get another address assigned to me and only then would it work. WRT with OpenWRT running instead of the stock firmware had no trouble getting this setup -- the only issue was that my brain-dead provider has gone over 20 machines resolving to vpn server (I guess they did not want to do proper load balancing there) and uClib has started choking on that. I had to switch to opening VPN connection from my desktop machine, which is suboptimal, but works for now. Belkin device is incapale of such a feat. It can open up a PPTP connection, but not in the perverted manner required by my provider. Subsequently it is impossibe to do any such thing as setting time (router is stuck in 1970), properly upgrading firmware, etc. Not only that, but with WRT I am used to being able to assign IP addresses to client machines based on their wirelss MACs -- no such thing in G+MIMO either.


Belkin G+MIMO Router is a good thing for an average buyer -- the one that would not need to do any intermediate or advanced tweaking. It may also work out ok as either a plain AP or a wirelss net repeater -- although it's probably a bit pricey for the latter.

May 20, 2007

Chicken and Rice

One of the things I like to do to take my mind away from the daily grind is cook. I don't like it being a routine affair -- that'd kill the whole feel of it. What I like about it is that on one hand you have a recipe -- which a rule set that you have to follow. On the other hand, you can try and do things differently -- and end up with something totally differnt (good, bad or ugly) from what original had in mind. Such was tonight, I felt ;ike doing a stuffed chicken and I had rice in mind as a stuffing medium. A quick search on Google has not returned anything of great interest aside from roast chicken stuffed with rice and vegetables, from which I took the inspiration for the followin recipe.


1             whole cicken, washed and patted dry
1 cup         uncooked rice -- I had some Indian (not Basmati) rice
1 cup         water
1 pinch       safran
1/2 cup       raisins
1/2 cup       pine nuts
1/2 cup       sliced carrot
1             medium onion, chopped
2 tbsp        vegetable oil
2 cloves      garlic, sliced
1 tbsp        melted butter
salt, spices  to taste


  1. Heat the stove to 230C. Heat water in a pot, once it starts to boil add rice and a pinch of safran. Steer, cover, reduce the heat to low and set to simmer for 10 minutes or until all water has been absorbed.
  2. In the meantime, heat oil in a frying pan on a medium heat and. Add onion and fry until translucent (3-5 minutes). Add carrots to onions and continue to fry steering ocassionally for another 3-5 minutes. Turn off heat. Once rice has absorbed all water, add carrots and onions along with nuts and raisiins to rice. Mix well and let it cool a little.
  3. Pack stuffing into the chickens cavity. Close the cavity with a toothpick, tie legs with a kitchen string. Brush chicken over with melted butter and rub with salt and spices. Put any remaining stuffing into a waterproof container, cover and set aside.
  4. Place the chicken in the oven, uncovered. After about 10 minutes lower the heat to 180C. The chicken should take 45-50 minutes to cook from that point. 30 minutes before chicken is ready, put rice in the oven.
  5. Once chicken is ready, take it out of an oven, cover and let cool a little. Cut the bird up, take stuffing out and mix it up with the rest of rice. Serve.

Apr 17, 2007

X/HTML5 vs. XHTML2: a dilettante's view

There has been a number of different views on the matter of new markup language spec for the web in the past few weeks. As a hobbyist, I certainly cannot provide a solid foundation for my views, other than that some things feel right, and some don't. In this case, a lot of X/HTML5's "backward compatible" features are plain 1996 déjà vu. Unquoted attributes. Mixed cases for tags. The I, B, and FONT tags -- all of that in the name of what? A brain-damaged Microsoft HTML parser that is till unable to handle application/html+xml Content-Type?? XHTML2 might be have a few mis-designed features (an href for any element?), but X/HTML5's built-in class names are simply moronic!

Feb 10, 2007

DRM, Apple, Microsoft

Steve Jobs' recent Thoughts on Music have been around the blogs, news sites and general media. There's been a nice article in Economist, a long thread on Slashdot. Why did he say what he said? This position does not seem to match many of the past actions by Apple?

I think that the story is relatively simple. Besides the fact that putting all the blame for not providing non-DRM'ed content on ITMS on the shoulders of "teh big four" is easy, does Steve speak his heart hear or has some other, much less altruistic motivations?

I think it is a mixture of both. As Economist puts it, while his argument "... is transparently self-serving. It also happens to be right." But I think that he also does a preemprive strike against Redmond empire. You see, with Vista having such a strong DRM/TC underpinning, it would not be a big surprise to see a completely "safe" (from RIAA point of view) DRM solution, much more than what Apple agreed to yield to. It would not be a big surprise to see Zune + Vista + MSN Music offering a complete and total lock-in of content, with you not even being able to burn purchased music on a CD, preventing you re-ripping it DRM-free.

This will be the beginning of a very difficult battle for Apple to win over recording companies. As Jobs rightly says: recording industry has a very little share of profits coming from on-line stores. They won't even notice ITMS going down, and will be able to afford for ZuneSpace take over.

So, what Jobs is doiung now is stirring up the debate, trying to free music in order to contain status quo of ITMS and iPod. Very selfish and very proper. We should all help him.