Welcome to blog.chinoy.com Sign in | Join

The Collatz Conjecture is a mathematical problem which states that given any number, and following a simple formula, converges to 1.

Take any number and do this:

  • If odd, multiply by 3 and add 1
  • If even, divide by 2
Repeat. You'll get to 1. Every time.

A comment about the latest xkcd comic's reference to the Collatz Conjecture, which I had never heard of before, lead me to create Hailstone sequence; my first Google AppEngine web app.

0 Comments
Notes for Today: March 6, 2010

Back when I started my blog, I would have entries that were simply lists of links that I'd come across and thought worth sharing or brief events during the day.  Never mind "sharing with whom."  The impetus to share, presuming some sort of tenuous permanence seems like a decent rationale for blogging.

Today, one of the tabs open was a Wolfram|Alpha preview search for Academy Award nominations for the recent Star Trek movie (makeup, sound editing, sound mixing, and visual effects).  That lead me to the Star Trek wikipedia page where I read about some of the backstories on casting, etc.  I spent a few hours rewatching that awesome movie.

Saturday's my day to work myself into a little frenzy about savings etc, so I listened to Marketplace Money and called TiVo to follow up on cancelling my subscription from a long while back and that an acceptable refund was issued.  I still sort of want one of the new super cool HD TiVo Premiers because Comcast's DVR is just awful.

Later, I watch the latest episode of Caprica and lamented (privately) that the Facebook fan page for Caprica showed the closing climactic scene of Friday's episode as a preview last week, pretty much making episode 6 literally anticlimactic. I also looked up the word apotheosis that Sister Clarisse likes to say.

I read a recent first hand report of someone who attended Singularity U's executive conference and got to thinking about small-cap biotech ETFs as the next investment bubble.  A bit of Googling came to a decent seekingalpha article that mentioned XBI, BBH, and FBT.  Apparently, the Chinese government's bought $96m worth of Illumina genetic sequencing machines (@ $750k a pop) - the same machines used by personal genomics companies 23andme, decodeme, and counsyl. Will the new phrase be "cheap chinese genomes"?

Back to Singularity U, I watched Dr. Daniel Reda's talk on Biotechnology Fundamentals and wondered if I could memorize the RNA codes for all the amino acids. May be.  It's got to be like learning hex or anything else computational.

Optimization efficacy of evolutionary techniques

Natural selection
  • Slow!
  • Optimized for selecting the best replicators
  • Builds on previous adaptations (doesn't optimize best adaptations)
  • Optimization principle: Just good enough - ie selected for whatever's just good enough to pass on genes, not for any longer (healthy life, etc.)
Human Intelligence
  • Recombinant DNA technology - cut & paste via enzyme restriction endonuclease + ligase
  • DNA printer - writes DNA
  • http://www.bio-era.net/
Recursive AI


 If you haven't seen Harvard's BioVisions animation of the cell, you should.




Protein folding
    Game: http://fold.it/portal/

http://online.wsj.com/article/SB124207326903607931.html

"Killer Apps"
  • Drug metabolism
  • High-risk drugs

0 Comments


Kindle Development Kit for Active Content beta

Business Wire - Amazon Announces Kindle Development Kit - Software Developers Can Now Build Active Content for Kindle - January 21, 2010 12:00 AM Eastern Time

It's about time. First app I'd love to see: folders.

It seems like Amazon will be creating that one first. The revenue incentive and model for Kindle Apps is interesting - free, one time and subscription. The 100mb over the air limit as well as the "no voip" restrictions make for an interesting upcoming interaction between developer, reader and Amazon. A little bit of pruning by Amazon should ensure some standards a la Apple's App Store and be very different from the open Android Market.

Social apps for readers will be really interesting - recommendations, what your friends are reading now, with monetized buy now links? Nice.

"User revenue will be split 70% to the developer and 30% to Amazon net of delivery fees of $0.15 / MB." means that developers will have to eat the $0.15/MB transfer of the app, but can set pricing for the app however they want, including free (see below).

Revenue Share
User revenue will be split 70% to the developer and 30% to Amazon net of delivery fees of $0.15 / MB. Remember that unlike smart phones, the Kindle user does not pay a monthly wireless fee or enter into an annual wireless contract. Kindle active content must be priced to cover the costs of downloads and on-going usage.

Pricing Options
Active content will be available to customers in the Kindle Store later this year. Your active content can be priced three ways:

  • Free - Active content applications that are smaller than 1MB and use less than 100KB/user/month of wireless data may be offered at no charge to customers. Amazon will pay the wireless costs associated with delivery and maintenance.
  • One-time Purchase - Customers will be charged once when purchasing active content. Content must have nominal (less than 100KB/user/month) ongoing wireless usage.
  • Monthly Subscription - Customers will be charged once per month for active content.
Active content applications have an upper size limit of 100MB. Applications larger than 10MB will not be delivered wirelessly but can be downloaded from the Kindle Store to a computer and transferred to the user's Kindle via USB.

Developer Guidelines
Voice over IP functionality, advertising, offensive materials, collection of customer information without express customer knowledge and consent, or usage of the Amazon or Kindle brand in any way are not allowed. In addition, active content must meet all Amazon technical requirements, not be a generic reader, and not contain malicious code.

We will work to refine the above guidelines throughout the beta.

0 Comments
Here's the situation: I've a stateless web app that uses jQuery to hit another application that's just a set of services.  I chose this model because I wanted to separate out the user interaction code from the information interface - the services simply give out data upon request and the UI allows the user to interact with it enough to make calls to the service interface.  Seems rational, simple and clean.

I chose WCF for the service layer and began playing around.  I'm a rather late adopter in learning WCF, primarily because it seemed so heavyweight.  Wrapping all sorts of communications methodologies into one sounded fairly ambitious.  To do a simple thing like return XML or JSON, there're a lot of pieces that need to be put in place: interfaces, somewhat arcane attributes - good practices, mind you with encapsulation of the attributes and the use of interfaces - but this could all be done and simpler with good old asmx's.  Once ASP.NET MVC came along, most of the web-facing usage for WCF is pretty much trumped and made obsolete.  Regardless, I persisted and made a nice front end UI with jQuery that posted json info to the WCF services and received json back.  All's well and good.

The problem comes in putting WCF on IIS7 in what I call development and production modes or, as other people have envisoned using it, in internal and external modes.  Another example scenario is URI aggregation and forwarding for a SOA scenario.  I have external responses on 80, but I want internal service traffic to occur on a different port.

My IIS was configured to respond to dev:80 and dev:8080.  Seems to respond ok when I hit localhost:80 or localhost:8080, but I receive a "This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection.Parameter name: item" error when trying to go to dev:8080.

Looking around, the post "Can't host WCF service in a website with multiple identities" at Microsoft Connect sums it up nicely: Microsoft's aware of this issue posted by a user and closes the issue without a fix, calling the behavior "by design." To be fair, they changed the bug's status to "Closed as Fixed" without providing a fix.  (Like "hotfix" - neither hot nor a fix.)  Eventually in the comments on this bug they state that this issue is fixed in .NET 4.0 beta 2.  Great, that's what, WCF 3.0?  (or 3.0, if .NET 3.5 was 2.0).

Internally, I can run my application quite well, but users outside my network can't access it.  Either I put up two copies of the service (ugh) or I consolidate my service on one port.

I've come away thinking that I want that part of my brain back that is stuffed with knowing anything about WCF.

Here's my cynical opinion about it (aka hating). WCF comes out of Microsoft's "enlightenment, wave 2" attitude, after they'd finally adopted an OO methodology with .NET, where they appeared to be in such a tizzy that they slapped on some skis, got in a pool and proceeded to jump the shark, converting all their grand unification ideas into monolithic pieces (see their much delayed ORM, Entity Framework, and the poorly executed Workflow Foundation) and half-reworks (see SharePoint 2007, CRM 4.0, BizTalk 2006 - only the pieces that were easy to veneer with .NET were done, the rest was done incompletely, leaving them looking like Matt Dillon in There's Something About Mary trying to impress).  Honestly, it works great, you just gotta know where to step.  This is sort of a typical experience I've had with Microsoft products - early adopters evangelize and late ("late 1.0") adopters get bitten - except usually it's their packaged products that suffer this malaise, not libraries so close to the core framework.  "Knowing where to step" is not expert-level services from a software framework, it's rote memorization without logic behind it

No wonder Microsoft has no native SOA offering, preferring to partner with other SOA vendors (HP/Systinet, webMethods/SAP, or SOA Software - all of whom use Java).  The multiple offerings of BizTalk / WF / WCF (in some combination / competition) are these huge elephants in the room of that space.

Phew.  Hating's hard work.

I've more or less resigned myself to consolidating services, but I intend to, immediately afterwards, rewrite the app into ASP.NET MVC which will allow me to consolidate the stateless UI project and the services project into one.
0 Comments

I ordered my Nexus One in the middle of the press conference, just as the http://google.com/phone site went live. It arrived quickly, as expected, overnight. From shipping information (01/05 4:11p) to arrival (01/06 1:12p), less than a day (FedEx 429951121750). The FedEx truck arrives around 1:30p at the local UPS store where I send my delicate goods and was leaving just as I arrived. I saw him put down two items, a flat and a box. That box was mine.




The included apps are great - first the fact that there're included and second because some have additional features from my G1 Android 1.6 versions.

Google Voice, Maps, and Mail are all solid. Google Mail has the ability to handle multiple Google accounts, which is fantastic. Previously, one had to use IMAP on the generic EMail application to connect to Google accounts other than the primary that's needed for the phone. The Google Maps application shows accuracy on the location ("accurate to 5000 meters"). Google Voice can be set up to replace your cell service's voicemail.

The Contacts app is integrated with social media - Facebook, in particular. If you so choose, Contacts will match up Facebook profiles with your Google contacts. You can jump right to a connected contact's Facebook profile and even see an excerpt of their last post. I haven't used the Cliq interface, but this level of integration between different apps is subtle, just useful enough, and not intrusive. Well done.

The Gallery app That's been demoed in the release press conference is also great, what with its connection to Picasaweb and it's ease-of-navigation. There's another app called "Car Home" which has big icons sort of in the style of what you see on car GPS's these days - Voice Search, Navigation, View Map, Contacts, and Search - all geared towards being used while in a vehicle (not driving, of course).


Additionally, there's some haptic feedback when you choose an app - a short buzz before/as the app launches, and that's a nice touch, if you pardon the pun.

The lack of the keyboard was a major concern for me - I've been a keyboard partisan since my Nokia E70 with it's flip out keyboard. Texting, e-mail composition, web browsing, pretty much everything was better with a keyboard. I've used the virtual keyboard on the G1 and found it to be sluggish and slightly inaccurate (not as inaccurate as my iPod Touch's, but still). The virtual keyboard on the Nexus One's still a virtual keyboard, but I've been able to message and compose e-mails on it without too much trouble. My main issue with the virtual keyboard is accuracy and the fact that I have to watch the keyboard to see what I'm typing (and to verify that I pushed the right letter). With a physical keyboard, the layout's familiarity is enhanced by the tactile feedback of the keys themselves. I hear the Droid's keyboard is flat as a Judy Blume character and that'd be pretty disappointing. Of course, new phone means I give it a wide berth. We'll see how it does during the day to day use.

The two touted benefits - speed and graphics - are great and need no mention, really. They're great and it's fantastic to have a first-class device (tech specs). The speed is a huge improvement from the G1 and allows the device to more or less melt into the background. There's no longer a lot of waiting for things to start up. Other reviews state there's a slight but noticeable delay when flipping between home screens, but it's not really that annoying at all. The graphics, with the dynamic wallpaper flare and the zooming, scroll-wrapping app list, are wonderful and really gives me the comfort that I'm using a device that's been built with the user's pleasure in mind. Neither the Cliq or the Droid, with add-on UI interfaces from Motorola, or the initial G1, really had a feel of continuity to them. Google stepping up and making a set of core apps that work well and are consistent is a major boon. This set of comments is what people focus on when they talk about comparing the Nexus One to the iPhone - the consistency and premium device featureset. From that aspect, it's definitely a really good asset to the device market. 

The G1, even with its keyboard, was underpowered and sometimes struggled to run Android and, a year and a half ago, there really weren't a core set of solid Android apps. The Android Market is a phenomenal cornucopia, without a doubt, but without a core set of apps out of the box, it's tough to navigate the wilds of free (and possibly poorly coded) apps when looking for common functions.

Google's added a bunch of videos on YouTube about the Nexus One features. Take a look.


A further nice touch was a set of mp3's that was included from a bunch of artists, all but one I'd never heard of: 17 Candle, Ali Spagnola, Amanda Blank, Brett Dennen, Jackie Tohn, Lissy Trullie, Marcus Miller, Miike Snow, Mos Def, Really Addictive Sound, White Denim, William Fitzsimmons, Zack Borer.
0 Comments
Background

Project dashboarding - viewing the progress of a software development project from different viewpoints - has been an interest of mine ever since I started developing software. After one particularly difficult project involving issues with requirements, development and operations deployment and environmental difficulties, with no shortage of fingerpointing going on, I thought it would be good to step back and see the project from a linear timeline perspective and gain some objectivity. Additionally and especially for long running projects, viewing time linearly helps us as humans see the scope of events.

Simile Timeline + Google Calendar

I'd already had a calendar that was a great repository of significant events, which meetings I'd scheduled, etc. in Google Calendar. The data originally came from the corporate Outlook, synced up to Google Calendar with the Google Calendar Sync application. Using the Simile Timeline Javascript widget, I wrote a quick export from Google Calendar using the Google Calendar Data API to format the calendar events into the Simile Timeline json format. Since the events were hand coded Client Requirements (grey), Impediment (red) and Success (green), viewing the events linearly helped clear up the discussion around where the issues were in deploying the application. This quick web application was very well received and project managers in both development and operations, as well as other non-project related developers and managers, were able to see the timeline of events that occurred for this particular project. I hadn't fully automated the import from Google Calendar to the Project Timeline page, and that's what led to the next step.

Dynamic Timeline Generation

The timeline view of the project was very useful and I thought it'd be a great perspective for other projects. Most of the projects at the organization use codeBeamer by Intland as an issue tracker and document repository. CodeBeamer has a much richer ability to code tasks / tracker items with statuses as well as start dates, end dates, and changed dates. Being able to dynamically pull project info via tracker lists and view them in a linear timeline looked to be a great start for a project dashboard.

The Timeline Builder was constructed with two picklists, one that displayed the lists of projects available and the second picklist that was contextual to the project's actual tracker lists. The codeBeamer repository is organized such that every project has multiple "tracker lists" such as Business Requirements, Change Requests, Production Releases, and Defects. Project administrators can also add tracker lists as needed. When a project is selected from the first picklist, an AJAX call is made to the codeBeamer services, returning the project-specific tracker lists. When a user selects a tracker list, the application issues an AJAX query and retrieves the list of tracker events and then displays them as a timeline. The timeline has three horizontally scrollable bands: a weekly view, a monthly view and a yearly view. Each of them can be dragged left or right and the display of events will be synchronized. The display is "coded" by status: tems with a status of "closed" are represented as a solid blue ribbon, individual events have a circle icon, "in progress" events are a slightly transparent blue ribbon, "open" items are represented by a slightly transparent red ribbon with a solid red circle icon. Selecting a timeline event yields a link to the original codeBeamer tracker item as well as a short description along with the open and closed/last updated information. Below the timeline is a tabular representation of all the event data.

Technology Decisions

The organization uses .NET predominantly so I decided on using WCF and the codeBeamer .NET SDK to serve up the Simile Timeline JSON and ASP.NET (without WebForms) and jQuery to make AJAX requests to the WCF codeBeamer services. Additionally, the organization is standardized on Windows 2003 and IIS6, so I passed on using ASP.NET MVC on IIS6. Each Codebeamer project can have multiple task trackers ("tracker lists"), so there were three total JSON services: GetAllProjects, GetTrackerListsForProject, and the last, GetTimelineForTrackerList, which retrieved all tracker items for a particular tracker list as Simile JSON events. Additionally, I used two jQuery plugins - jTemplates to populate portions of the page, and flexigrid to show the same events in a table below the timeline.

Findings and Stumblings

Looking at the variety of projects that we have in a linear format brought some interesting insights, the first of which is that almost no two projects use Tracker lists the same way. Not every project uses codeBeamer the same way, even though we have default tracker lists for Business Requirements, Change Requests, Production Releases, and Defects. Not every Task Lead uses the default statuses the same way - some close all tracker items only when a project has deployed, and create a separate status - "development complete" - for developers to use. Tracker items stay open throughout the iteration. For long-running, multi-year projects, cyclicality was shown quite well in a linear timeline - periods of project activity were clearly mapped to variety of business cycles.

With the differences in usage of codeBeamer trackers, the high level of ability to customize tracker item templates, and the variability in conforming to the SDLC in the organization, comparing project-to-project is difficult in general, not just with a linear timeline.

The decision to use .NET WCF and a jQuery-driven front-end separated the codeBeamer Tracker List JSON generation service from the UI application, creating two projects which may or may not have been a good idea - although service-oriented, it's two distinct codebases to maintain. Another interesting challenge was the codeBeamer API documentation for .NET - there isn't really any, for either Hessian C# or the codeBeamer Remote API. Using Reflector and referring to the codeBeamer Java SDK Javadocs did help, but a Sandcastle generated documentation set would've been useful. Thankfully, the Java and .NET API's are extremely similar, so it wasn't a problem interpreting what should've happened.

Project Next Steps / Directions

For the current iteration of this timeline builder I have a few minor technical issues I'd like to address. I'm planning on having better integration between the flexigrid table of events and the simile timeline so that when you select an item from the table, it scrolls the timeline to the relevant event. Another enhancement would be to allow stacking timelines of multiple projects for juxtaposition.

The organization also uses VersionOne's on-line agile project tracking application which has similar data to codeBeamer. A future rev to this application may include pulling from VersionOne project data dynamically in a similar manner (choose a project, see a timeline). Similar "coding" issues occur with VersionOne as with codeBeamer use, but since VersionOne is more focused on an agile project management lifecycle, I expect representing the variety of task types to be somewhat easier. A first version is pictured below (using jstree to visualize the project hierarchy, at the left). Coding (designating the display of open, closed, in progress, etc.) is a bigger issue, and relates more to the choice of software project management structure - agile, etc. - but is something that's greatly needed to get a consistent level of display. Other project tracking software, which I'm familiar with from a user standpoint, that may be usable include Redmine and Assembla/Trac.

From the technical framework, I may experiment with ASP.NET MVC next (which would remove the need for a separate WCF project) and then GWT (with the codeBeamer Java SDK) to see which one is more code-efficient.

0 Comments

I had all my Google Analytics accounts deleted (not all, just my personal ones, not the ones for a client or two). Very devastating. There's no direct e-mail for analytics support (just if you've forgotten your login).

Google directs you to their forums, where there're a few reports of people suddenly losing their analytics accounts without reason. From what I can tell, either they've "drunk deleted" (they deleted, but can't remember they did), or there's an actual glitch. I don't drink, so who knows.

Their recommendation is to restart and rebuild. I've sent an e-mail to their "I can't remember my login" support (via a form) and have been promised a response within "usually one business day."

I had about 22 sites and subsites being tracked so that's a lot of data (for me, at least). The bigger thing is the difficulty about support around this. It may be an edge condition (possibly the only way to have something deleted is by an actual deletion), but a few posts on the support forum doesn't leave me satisfied as a recourse.

I'm reconstructing my tracking items by looking through my sites and determining which sites were tracked. This time, I'm segmenting out my tracked sites - personal, business, clients - into separate Analytics accounts (UA-*'s) to (hopefully) minimize the impact of whatever caused this issue. (A stab in the dark, I know.)

It does make me wonder, tangentially, about mission-critical cloud data, though. Is there a backup for marketing/ad companies using Analytics? Google, oddly, doesn't back up the accounts and once an account is deleted it can't be recovered - all data is lost. There is a Google Analytics Data Export API, so I guess that's an option. My experience with Google APIs tells me that this one'd be pretty easy to use, but I can't fathom wanting to back up the tracking data for the "unknown unknown" use case of accounts just disappearing.

To be fair, Microsoft SQL Azure doesn't offer backups, either. Their strategy is "resiliency" - with 3 copies of each database underneath their fabric. They expose almost everything in SQL Server 2008 with the addition of the Sync Framework. Backups, they claim, aren't needed but, if you desperately want backups, use the apis and make your own. (Why not also in the cloud, they suggest?) Maybe on Amazon?

On a different note, there's a new async tracking script so the code can be placed at different spots on the page rather than just the recommended bottom.

Other posts of mine referring to Analytics and tracking

0 Comments

In honor of my upcoming TOGAF 9 certification, I've put together a Timeline of Enterprise Architectures - Zachman FEA, TOGAF, Gartner EA, from 1987 to today.

0 Comments

IIS7, right, the savior?

All I ever got, on my fresh new install, was "HTTP Error 503. The service is unavailable." I did everything (firewalls, apppools, debugging).

Turns out it was this deal:

Reserved URL : http://+:80/ User: Frak\G. Hussain Chinoy Listen: Yes Delegate: No SDDL: D:(A;;GX;;;S-1-5-21-563782757-1295803840-1578193986-1001)

Yeah, netsh http show urlacl showed that something was blocking 80. At this point, I don't even care who was reserving it (me, apparently), I just wanted it gone.

netsh http delete urlacl url=http://+:80/
... cleared that right up.

Next, my WCF issues. Cleared up instantaneously (compared to the 503 issues) via http://iweb.adefwebserver.com/Default.aspx?tabid=57&EntryID=34.

0 Comments

B&N eReader has over the Kindle for PC...
  • Ability to read in a two page layout, as if it were a book

Kindle for the PC is missing...
  • Search
  • Text-to-Speech

Kindle for the PC has, over the regular Kindle
  • Ability to see Notes and Marks at the same time as the text
  • Color thumbnail view of book covers
  • Buttons to easily sort by Most Recent, Title and Author
  • Buttons to easily switch between Home and Archived Items

Add your own converted content to the Kindle for PC documents directory, "My Kindle Content"
Kindle for PC documents are located (Vista/W7): C:\Users\you\Documents\My Kindle Content

Kindle for PC syncs only the Amazon-downloaded content between PCs.

Free Kindle books on Amazon: sorted by price and more free books

B&N eReader
Kindle for PC
0 Comments
The day was cold, brisk and windless.  He'd just stepped outside his house, onto the unadorned concrete slab that passed for a porch in the subdivision to look out at the other houses.  As he did every morning, he liked to look at the day, see what sort of hustle and bustle was going on, and use that to juxtapose the tenor of his sedentary stretch of office to come.  In truth, the office was quite busy with being late to meetings, or conversing at cube thresholds with coworkers, but it wasn't looking out at an open space vista framed by a few houses in the cul-de-sac.

The neighborhood he lived in was quiet in the early am, busy around 8 or 9 as people left, unless it was the weekend when the elementary school aged kids and their parents would block off the cul-de-sac with kids-at-play flags and hover as children sped around on trikes, bikes, or just running with abandon.  His cats would peer curiously out the front windows on weekends.

On the really nice weekends, he'd let the cats out in the back yard and sit on his pressed wood deck and listen to the weekend days open like a pop up book.

----

... And then I allowed myself to be distracted. Thanks to Google Doc's "Word Count" feature, 2,000 words is going to take 10x as long.

Counts Selection Document
Words:  -  216
Characters (no spaces):  -  932
Characters (with spaces):  -  1146
Paragraphs:  -  4
Sentences:  -  8
Pages (approximate):  -  2
Readability Selection Document
Average sentences per paragraph:  -  2.00
Average words per sentence:  -  27.00
Average characters per word:  -  4.31
Average words per page:  -  108.00
Flesch Reading Ease: [?]  -  67.41
Flesch-Kincaid Grade Level: [?]  -  11.00
Automated Readability Index: [?]  -  13.00

0 Comments

So, yesterday, someone released a beta of what was supposedly a Google Chrome OS build. The twittersphere was all twitterpated. I downloaded this .deb file and stood up an Ubuntu 9.04 vm (VirtualBox) to see what it really was.

The Google Chrome OS, as announced in July, is a lightweight linux-based OS with the Chrome browser as its centerpiece.

Turns out, it's a Chromium build (4.0.222.6) with a compact navigation bar and a Google-icon menu on the top, left side. Clicking said icon brings up Google's Short Links.

Here're some pictures:


Starting it up


It's chromium++: note compact top bar with Google menu icon on left, clock bar on right


From ChromeOS


Compact nav bar


Clicking the google icon maximizes the browser and directs you to Short Links, but underlying OS's top bar is still visible.


Short Links info, "?" icon button

There's also this anomalous download of a SUSE vm with Chrome+OpenOffice, etc. Which is not the Chrome OS.

Google's planning on a Chrome OS announcement tonight, so hopefully there'll be an official release and more info other than just these previews.

I, for one, welcome the singularity.

Edit (10/16/2009):
I built the latest Chromium version (4.0.223.1 29191) and the leaked version is pretty different, as the latest browser does not have the compact navigation or the Google icon.

"This is actually just a small recruiting event and we won't be talking about Chrome OS at all," the spokesperson told Betanews moments ago, "just one engineer talking about UI design for Google Chrome (the browser)." The implication that Chrome OS was the subject was chocked up as a "false alarm." - betanews
0 Comments

All you need in this life is ignorance and confidence, and then success is sure.
- Mark Twain

Letter to Mrs Foote, Dec. 2, 1887

Feel free to apply to coworkers, consultants, management, work, politicians, etc.

0 Comments

10:09 AM Ed: How do you suggest I get this woman to shut up
me: Lol
Ed: She has interupted everyone for 2hrs straight
me: Where are you?
Ed: I'm gonna stab her in the neck with a pen
10:10 AM In meeting
me: Sounds like you need to write a meeting haiku involving a pen and her neck

[I couldn't help myself...]

10:11 AM
interrupting bitch
my pen would fit in your neck
let speech flow freely

0 Comments

I haven't announced my issues with the G1 hardware I've had, primarily because they've been due to my stupidity, but, of late, I've had to hard reset my Android phone a few times in the last year or so. It always takes me a while to figure out what I had on there and then go through the painful addition of those apps. So here's a list:
Amazon Mobile
Google Finance
CompareEverywhere
Shop savvy
Twidgit Lite
Google Sky Map
Astrid
Last.fm
Shazam
Layar
ConnectBot - ssh
Movies by Flixter
PicSay
Google Voice
Weather forecast widget v2, Francois DESLANDES
Digital Clock Widget, Maize
FBReaderJ - an epub reader


Amazon

Astrid

Compare Anywhere

Google Finance

Google Sky Map

Layar

0 Comments