April 27th, 2010
Computers are crap at figuring out what I want to read. Half the reason I subscribe to blogs and follow people on Twitter is to discover new things that I would otherwise never find. This list of trusted subscriptions/follows has been built over time, lovingly maintained and brutally culled to distill what I consider to be the highest quality hyperlinks from a sea of unworthy impostors. There is nothing special about this, everyone I have met that understands how this stuff works has some similar index of people they trust to provide grade-A content for daily consumption. We are in effect selecting editors for our own personal web digest.
Several very smart people and many smart companies (Google included) have been trying to build an engine capable of discerning the quality of digital content. At it’s heart this is what Google’s search engine does. It identifies content that is of the highest quality in relation to a specific set of keywords (your search query). As I’ve written in the past, knowing how to search is a real skill and one that must be taught. Google probably has the perfect answer to your question but you have to be able to phrase it right and Google has to have it indexed right. Clearly this does not always work out and it is the reason sites like Mahalo exist. Mahalo attempts to throw humans at the problem (and does a pretty good job of it) but you still need to know what you’re looking for. Discovery is difficult on sites like Mahalo and damned near impossible on Google.
Which brings me to the App Store and Apple’s recent hire: Matt Casamassina (IGN’s veteran Nintendo editor). His role is to manage the editorial content on the App Store. I gather this amounts to drawing your attention to the gems that are otherwise buried at the bottom of the pile. As anyone who has tried to use the App Store to discover content will tell you, it’s like searching for a needle in a haystack. Having an editor whose job it is to review and rate games with a presumably unbiased and highly trained eye is exactly what the App Store needs. But is it any different for the web at large?
I consider an unedited App Store to be analogous to sites like Digg and Reddit. The App Store (and Amazon as well) has a rating system that roughly equates to the voting system on Digg and Reddit, ditto for the comments. The point is it’s democratic, so every idiot on the internet has the same say. What we need is to be able to pull over our editors from Twitter/Facebook/RSS and only see votes from them. What we need is a reputation bias that skews all these votes and comments so I only see the ones that I (or people I know) care about. It effectively edits the web and adds a new dimension to relevance. Oddly enough I think Google is the most likely place for something like this to work. Google already knows who your friends are and what pages/feeds you are reading. Getting more data is only a couple of Twitter API/Facebook Connect calls away. We could have search results that tell you if your friends/follows clicked on any of the links on the page, or better yet only show you links that they interacted with.
Imagine the live feed on that thing. That’s the real social web.
Tags: apple, editor, facebook, Google, ign, social, twitter
Posted in Interwebs, Opinion | Leave a Comment »
February 14th, 2010
I’ve been to the German Bakery with old friends many times over the course of my time in Pune. I haven’t been there recently but I drive past it virtually every day. Yesterday terrorists planted a bomb there and it killed (at last count) 8 people, and injured several more. So, this is terrorism close to home. Reactions from the social networks (which always have the drama dialed up a couple of notches) are along the lines of “I can’t believe this would happen in my city” or “The cops failed miserably”.
Really? This is the reality of living in the world today. While you’re not so likely to be killed by, oh I don’t know, the Bubonic Plague, you could be attacked by a terrorist. If you expect the police to catch every terror plot that some sick mind dreams up, you would live in a police state. You would lose the freedoms you hold dear and the same people clamoring for the police to do more would be the ones screaming that they have too much power. The balance between security and freedom is precarious and swings both ways. I think we (India) do a pretty good job of balancing those two ideals. The cops were there quickly and seem to be far better prepared than we give them credit for. The government has moved swiftly and clearly the lessons of the Taj have not been forgotten. I call that progress.
Any place in the world worth living in is a place worth targeting. The reason these places are worth living in is because they value an individual’s freedoms. Removing those freedoms makes the people sad and hands victory to the terrorists.
The other prevalent sentiment in everything I have read on the TwitBook (or Faceter, if you prefer) is one of helplessness. “Is there anything we can do besides post empty words on social networks?”. Yeah, you could go out and celebrate Valentine’s Day. If you genuinely want to help defeat terror and terrorism the answer is simple. Don’t get terrorized. For a terrorist to succeed, he must deliver terror. If you don’t get scared he is impotent. By being afraid we are all willing contributors to terrorism.
The likelihood of dying (especially in Pune) from a road accident is several orders of magnitude higher than getting blown up by a bomb. One could even argue that a few bus drivers have malicious intent. Yet we don’t call them terrorists, because we don’t get terrorized. The unfortunate truth is that if you’re unlucky enough to be there when this sort of thing happens, you will die. Is your need for safety greater than your need to enjoy your life?
A life you don’t live is still lost.
Tags: 13/2, india, police, pune, terror
Posted in Opinion | Leave a Comment »
December 13th, 2009
After a couple of years without a dedicated Windows box (I used my previous MacBook Pro for everything) I got a new PC when Microsoft released the public Windows 7 release candidate ultimate evaluation download version thingamabob doohickey. The rig was built primarily so I could catch up on all the games I missed out on during my self-imposed sabbatical from the platform (thanks, in no small part, to the terrors of Windows Vista). Secondary applications include it being my .NET development environment which barely sees any use any more and more recently it has also morphed into a file-server/RAID. For the next couple of months the days were full of work on the new MacBook Pro and the nights were a flurry of Fallout 3, Mass Effect and Team Fortress 2.
I have had to run OS X and Windows side by side and shuffle between them before. It is jarring when I switch from one to the other: things are in the wrong place, I keep trying to trigger Expose or get to the desktop by using Active Screen Corners, finding applications in the goddamn Start menu takes an age, I stare blankly at the Control Panel trying to figure out what the hell the icons mean (they renamed Add/Remove Programs for God’s sake), the hideous system tray stretching out to infinity chills my very soul. You get the point.
What I realized during this heavy-duty play is that much of this annoying nonsense that Windows XP humbly began and Windows Vista took to unfathomable depths was magically fixed in Windows 7. In my view the last good operating system out of Redmond, WA was Windows 2000. That is until, they switched back to actual version numbers.
Microsoft, true to form, fixed Vista by flat out copying OS X. Now, contrary to the traditional Mac fanboy’s reaction to this, I am a a firm believer in stealing everything you can get away with. After all, Apple is no stranger to this sort of “borrowing” of ideas. Remember when they ripped the still-beating heart out of Xerox PARC and sold it as Mac OS back in 1984?
So the new Taskbar in Windows 7 looks more like the Mac OS Dock than the old Taskbar. You can even rearrange the icons while the program is running ala OS X. I don’t use the Start menu any more, and even then I’ve taken to using it like I do Spotlight on the Mac. Even the system tray has monochrome icons now, I wonder which other OS uses monochrome icons in the tray? And look! moving your mouse into the bottom right corner shows the desktop just like Active Corners! You don’t quite get Expose but hovering over an application icon in the Taskbar allows you to see the windows that are open in the app. It’s a nice touch (that Snow Leopard promptly copied, by the way).
It is also stable. Sure apps crash and I’ve seen a couple of blue screens, but really I’ve seen about the same number of grey screens on my Mac. Compatibility with older apps hasn’t been much of a problem for me. Games have all worked really well. I can’t remember having downloaded any drivers other than the usual video card stuff. UAC is still a little annoying but it seems to behave itself and doesn’t constantly ask you incredibly stupid questions. In other words, Windows 7 is what Windows Vista should have been in the first place.
It is the first time since Windows 2000 that I have enjoyed using a Microsoft OS. And that boys and girls, is what a good operating system is all about. Making your computer fun to use by being easy, intuitive and responsive. I’m not giving up my Mac any time soon but at least I don’t cringe if I have to work in Windows any more.
Tags: 7, microsoft, Windows, windows vs. macos
Posted in Opinion, Windows | Leave a Comment »
September 17th, 2009
Everywhere I looked people were recommending the use of either Handbrake, VisualHub or iSquint to make videos iTunes compatible. They all work but require fiddling with settings, iTunes hackery and obviously aren’t from Apple. One would be forgiven for thinking that Apple didn’t approve of this sort of importing given that these tools existed for this very purpose. Little did I know QuickTime has been exporting to iTunes forever, making it possible to convert downloaded movies into iTunes compatible formats so you can load them onto your favorite Apple device. However, this export option has always required the Pro license of QuickTime. At least that was the case until Snow Leopard and QuickTime X.
In Snow Leopard the plain old QuickTime Player has a Share menu which lets you export any video that QuickTime can read into iTunes formats for iPod/iPhone, Apple TV and “Computer”. The shared videos are added to your media library and can then be synced with whatever device you choose.
Three easy steps:
- Open the video you downloaded in QuickTime X
- Click on the Share menu and select iTunes…

- Choose the output format of your choice, keep in mind QuickTime will not scale your movie up, so your choices are limited based on the current resolution of the movie. You’ll find that only True HD movies (1080p+) can be exported to Computer format. Don’t worry about it, just choose the best option it gives you.

That’s it! Nice and easy.
For those interested in the actual output resolutions, the answer is it depends on the source resolution. By and large the iPhone/iPod size will try to constrain the width to 640 pixels. Apple TV will attempt to get close to 720p and Computer will attempt to get close to 1080p.
Tags: apple, downloaded, export, import, itunes, quicktime, share, snow leopard, videos
Posted in Mac | Leave a Comment »
September 15th, 2009
Somehow this slipped under my radar. Apparently both Mozilla and Webkit have gained experimental support for WebGL. WebGL is going to expose OpenGL ES 2.0 (the same version of OpenGL you find in an iPhone) in JavaScript to be rendered inside a canvas tag. This is without a doubt, the most exciting thing to happen for web-based games ever. It ends up being a standards based, platform agnostic, hardware accelerated rendering method bundled as an extension to JavaScript, using a tag that is already part of the HTML 5 standard.
This is a huge piece of the puzzle that is going to allow the creation of web-based 3D games that can take advantage of hardware acceleration. So which pieces are missing? Not too many as it turns out. New implementations of JavaScript in both Firefox and Safari are very fast, making render loops and input capture entirely possible within the browser window. Video and audio have both got standards support in HTML 5. The only thing I can think of that’s missing is server initiated communication and peer to peer networking that would be necessary for real-time multiplayer games. Yeah you can poll a server making it possible to have multiplayer turn-based games or even real-time games where latency isn’t an issue. For 3D shooters and MMOs however, I would wager the networking piece is still mighty important.
Can’t wait to get my hands dirty with this stuff.
Tags: canvas, Games, html 5, javascript, opengl, webgl
Posted in Code, Games, Interwebs | Leave a Comment »
September 9th, 2009
I’m posting this so I don’t need to go hunting on Google (which was surprisingly tight-lipped about the right solution) the next time I have to do this. If you want to convert a certificate issued in the .crt & .key formats for Apache to the .p12 format favored by IIS you need to run this command in linux:
openssl pkcs12 -export -out iis.p12 -inkey apache.key -in apache.crt
Replace IIS / Apache with the appropriate filenames and you’re done. The .p12 file can be directly imported into the Certificates MMC Snap-In on Windows for use in IIS. The command works on any system that can run openssl, including Mac OS X.
Tags: apache, certificate, iis, openssl, ssl
Posted in Code, Interwebs, Tips | Leave a Comment »
August 23rd, 2009
Internet Explorer 8 comes with two different rendering engines. “Standards Mode” (they use the term loosely) and “Compatibility Mode”. I’m not going to debate the reasoning behind their choice to ship the browser in this form, smarter people than I have already beaten that horse to death. The problem I have with it is that by default IE ships with a setting that makes anything on your LAN show up in compatibility mode. The button to switch to standards mode isn’t displayed, and worst of all, there is nothing that tells you it is IN compatibility mode.
I recently discovered this when, after carefully testing a site in Internet Explorers 6, 7 and 8, I committed the release to the SVN repo and published it to the staging server. A quick test showed IE8 issues that weren’t there on my local version. Turns out the problem was this default compatibility mode setting. You can turn it off by going to “Tools > Compatibility View Settings” and unchecking the “Display intranet sites in Compatibility View” option. They did this to ensure old intranets are compatible with IE8 out the box, but in the process put every web designer in the awkward position of not knowing their site is broken until they upload.
Internet Explorer 8 isn’t all that bad. It does a pretty good job of fixing the (not so) little things that drove us crazy in previous incarnations, but it’s far from perfect. In the very likely event that you need to code some IE8 specific styles I recommend using conditional comments. In this case I needed one set of modifications for IE6, 7 and compatibility mode 8 (which mostly behaves like IE7) and another for IE8 specifically. To achieve this I used the following code:
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="css/ie.css" /><![endif]-->
<!--[if IE 8]><link rel="stylesheet" type="text/css" href="css/ie8.css" /><![endif]-->
It uses one stylesheet for everything less than 7 and another for IE8 specifically. Works like a charm, hopefully until IE9 comes along.
Tags: compatibility, conditional comments, css, html, IE, internet explorer, standards, stupid
Posted in Code, Interwebs | Leave a Comment »
August 20th, 2009
I can’t count the number of times I’ve had to explain to clients that their beloved logo font simply cannot be used on the web. I explain that if the visitor doesn’t have the font you want to use installed then they can’t see it. Most of the time they are shocked that this is the case. And they should be shocked. It’s absolutely horrible that we have to deal with these limitations.
Technically it has been possible to use any font you choose through several existing techniques (plain old images or Flash/JavaScript/Canvas trickery like sIFR and Cufón). They all have limitations of varying degrees and body font choices are still limited to the usual suspects. So why is it so hard to use fonts on the web?
Copyright
The main issue is one of font copyright. Fonts are expensive. Making a font takes lot of time, dedication and talent. Font designers deserve to be paid for their incredible work. If you send the font over the internet when you visit a website it doesn’t take long to figure out what’s going to happen.
Font Delivery
The copyright issue had stopped the development of viable alternatives to Microsoft’s (ancient and proprietary) EOT format. Finally however, both Webkit and Mozilla (Safari/Chrome and Firefox) support the @font-face CSS attribute. Making it possible to create an all-browser encompassing font delivery mechanism.
Enter Typekit
The clever peeps at Typekit have managed to fix both problems in one fell swoop. By working with the type foundries directly, they have managed to gain licenses to distribute fonts over the web. They’ve also taken great pains to obfuscate the fonts they are distributing. More importantly for us lowly web designers, they’ve made this stuff ridiculously easy. Choose the fonts you want (236 options as of right now), get a snippet of JS and Bob’s your uncle. All the fonts are compatible with Firefox 3.5+, Safari 3.1+ and IE 5+ (!).
I just got my beta invite and am going to be reworking both this site and ActivElement to use my newly acquired library. Can’t wait to get my font on.
Tags: design, fonts, html, typekit
Posted in Code, Interwebs | Leave a Comment »
July 15th, 2009
We had a fair bit of data piled up at our virtual server on The Rackspace Cloud’s Cloud Sites system (previously known as Mosso). When we decided to move off Cloud Sites and on to Amazon EC2 moving that data quickly became extremely important. MySQL offers several methods of transporting data from the database and mirroring/replication seemed to be the ideal fit since we’d get our data synchronized in real time with the old database. Unfortunately, because of the way Cloud Sites are configured we can’t use mirroring at all (it’s already being used internally by Rackspace for scaling).
Since, we were using Cloud Sites we didn’t have SSH access to our box. Rackspace recommended we use mysqldump on another server and connect to our MySQL instance to grab the data directly over the internet. Two problems with that:
- Moving 15GB. of data on a single connection sequentially would take forever. (We were getting only ~200Kb/sec)
- The data would not be compressed, so we’d have to move the full 15GB.
Our solution:
- Setup a virtual Cloud Server on Rackspace Cloud with enough space for the data.
- Use mysqldump on this new server to connect to Cloud Sites and grab the data. Since they’re in the same server farm you get much much higher transfer rates.
- Compress using gzip and place in a web server document directory.
- On the Amazon server use aget to download the newly compressed gz file. We used 10 parts and got about 1800Kb/sec.
- Unzip and execute the SQL.
This reduced the amount of time needed to manageable proportions and therefore caused a minimal service outage.
Tags: amazon, cloud, download, ec2, mosso, mysql, mysqldump, rackspace, transfer
Posted in Code, Interwebs | 2 Comments »
July 8th, 2009
Details are sketchy but Google is finally throwing their huge sombrero into the Operating System ring. After years of surveying the competition and developing online versions of all the popular office applications, Google is now going to tackle the foundation of the PC platform. We know it will be a new windowing system that will run on a Linux kernel. It will also be completely open source (the GPL wins again).
There are several obvious things that will happen here. Google is going to put it’s considerable marketing muscle behind getting Netbooks to use Chrome as the default instead of various other flavors of Linux. Microsoft is going to push these same vendors to use Windows 7 instead. Google is going to price this thing rock bottom, in all likelihood it will be a free download. Couple that with Snow Leopard’s ridiculously low upgrade price and it becomes clear that this OS cycle consumers are going to be the big winners.
I have long maintained that the only thing stopping Linux from becoming a viable desktop OS is that design (UI/UX or otherwise) doesn’t work by committee. But the community is perhaps the single most important part of the open source movement. By putting Google designers in charge of figuring out the windowing system Chrome is probably going to be the first linux flavor to be genuinely polished from a UI perspective (Even though Doug Bowman might disagree).
There is one big problem though. I can’t use it. Not as my primary OS anyway.
Google say the only way developers will build applications for it is through web technologies, taking a page out of Apple’s iPhone 1.0 marketing spiel. Given enough bandwidth you might be able to get away without access to the internals of the PC but as long as there is a need to run compiled code for applications/games like Photoshop or Fallout 3 this is not going to be my OS of choice. It will however be perfect for any number of people that just want a computer that does their email and web stuff. Throw in the occasional flash game for good luck.
Cower in fear Microsoft, this is the moment Balmer has been sweating for years (literally). Maybe Microsoft should sue Google for monopolistic tactics. After all, you can’t install a competing web browser when the OS is the web browser.
Tags: chrome, desktop, linux, operating systems
Posted in Google, Interwebs, Opinion | Leave a Comment »