Font Size: A A A   Layout: Left | Right

58bits - Tech

Six bits short of sixty four...

# Tuesday, August 26, 2008
Tuesday, August 26, 2008 12:27:42 PM (SE Asia Standard Time, UTC+07:00) (Utilities)

I spotted this post on Scott Watermasysk's site the other day. I've been looking for something like PureText for ages.

I almost never want to take the source formatting of text I copy from documents, or the web and almost always want the pasted text to assume the format of the target document. In Office - with some complicated maneuvering you can use Paste Special... and choose unformatted text - but it's a real hassle and gets in the way of quick document assembly.

I smile now every time I hear the PureText sound as I happily past plain text into whatever I'm working on, from wherever I've copied. :-) Nice one Steve Miller and thanks a bunch...


Comments [0] | | #  
# Monday, August 25, 2008
Monday, August 25, 2008 4:07:33 PM (SE Asia Standard Time, UTC+07:00) (Other Tech)

UPDATE:  20 Oct 2008 - have spent some time playing with both handsets, and even more time looking at Windows Mobile as a whole. Since I travel a lot, and will not be buying a handset as part of a plan or contract, I'll be buying an unlocked, full retail price device - and have decided to wait a little longer before taking the plunge.

The HTC Diamond Pro suffers from Windows Mobile's clunkiness once you get beneath 'touch flow'. And I can't get past the dialler problem (which not only Nokia solves, but so do both Samsung and Sony Ericsson, each with copy or send to dialer options).

As for the Nokia N96 - they have taken the N81 (and other) style handset, made it wider and thicker for the N96 - and it just doesn't work - feels flimsy and cheap - and definitely not right for the price tag. Nokia really needs to lift their design game, or another player is going to knock them from their number 1 spot. In fact the Samsung INNOV8 (i8510) is already a viable alternative to the N96, and the future of Android based handsets looks very interesting indeed.

UPDATE: 09 Sept 2008 - saw a demo model of the Nokia N96 today - not a working model - just one of the mock-ups they use to show size, design etc. in the shops. Not looking good for the Nokia. The aluminium ring surrounding the front bezel looked very cheap and lightweight. Will wait of course until the real-deal is in the shops.. but it looks like they've produced yet another design that is not consistent with the price tag... we'll see - may have just been the mock-up.

 

Original post...

Getting close to that time again where I'll be in the market for a new mobile device.

About a year ago I dropped back to a POT (plain old telephone) mobile handset - a very basic Nokia 3110c. I had decided to reign in my gadget attachment disorder and wait another generation or two before moving back into the world of multifunction/media/pda/smart phones.

My previous experience wasn't great. A couple of years ago I bought an HTC Wizard - the Qtek 9100 version. Initially I was impressed - and really liked the QWERTY keyboard. But after a couple of very bumpy ROM updates, major disappointment with the Windows Mobile dialer (which continues to this day) and big problems with screen calibration as well as using the touch screen in hot weather - I gave up. Windows Mobile 5 wasn't there yet - just didn't feel right; that combined with my first HTC experience and I figured waiting it out a generation or two was a better idea.

Fast forward to August 2008 - and my choice has narrowed (I think) to the Nokia N96 vs.the HTC Touch Pro.

As an aside - the Apple iPhone is definitely a game changing phone - a very cool device, and I would love to put my hands on one.  But I just can't understand why they don't sell both unlocked versions, and the freedom to choose any media player I like. I refuse to use iTunes, and as Jeff Atwood has remarked - Apple hardware is in reality just a dongle for all your software. Really - I'm especially confused by the locking issue and wonder why trading standards bodies haven't intervened.

Anyway - back to the shootout.

There are - broadly speaking - two groups of mobile device users. Those who want phones with some extra bits including a PDA, and those who want a PDA with a phone. I'm definitely in the "give me a phone that works" camp, and then I'll  look at the extras bits second. The Nokia N96 is in the 'phone first' category as far as I'm concerned, while the HTC Touch Pro has more of a PDA lineage.

On the Nokia side, one thing that has really impressed me is the huge improvements they've made in PC client and synchronization software over the years. The Nokia PC Suite just gets better and better. They've adopted a universal client application strategy which makes a lot of sense. Just one download for all your Nokia phones (your own and your friends' should they want to connect to your PC to transfer files, photos etc). Very easy to install, configure and use and it's worked well for me in terms of synching my contacts and diary with Outlook - which at the moment is about the limit of my PDA needs (although this could change when I finish studies and head back into full-time employment).

The Nokia OS  - both the 'Nokia OS' and Symbian versions - have always been stable and easy to use. The general consensus seems to be that Nokia's operating systems have been more stable and less power hungry when compared to Windows Mobile devices - although the gap in this respect is narrowing no doubt.

To me the only downside to Nokia has been the consistency which which they seem to produce flimsy, ugly, and generally very poor designs. On many of their models I find the buttons and plastic components feel rather cheap and certainly not as firm or positive as I think they should be in the more expensive models - especially the number pads. I was VERY close to taking the plunge on an N95 - but then heard about the N95 8GB and decided to wait. In terms of design at least the N95 8GB was a big disappointment and a step back from the N95. Very flimsy button action, a crowded central button panel and certainly not the look and feel of a 400 GBP, or 650+ USD mobile device. What a shame.

n96 Enter the N96 - I've yet to put my hands on one - but it looks great - and if the design improvements and positive reviews so far live up to expectations this looks set to be a brilliant device. 16GB storage, quad-band, WiFi, micro-SD, GPS and lots else. I've wanted to play with a GPS system for a while as well, although not sure yet whether this will just be the "toy in the phone", or something useful.

 

 

 

htcpro Enter the HTC Touch Pro. I took a quick look at the HTC Touch Diamond while I was in Hong Kong a month ago - and it looked and felt pretty good. I also remember how cool it was having a good QWERTY keyboard in a mobile device during my early days with the HTC Wizard. The HTC Touch Pro has a full five row QWERTY keyboard so typing numbers will be much easier. Windows Mobile 6.1 Pro, Quad-band, WiFi, GPS and an FM radio plus lots more. I'm really looking forward to putting my hands on one of these as well to see if the build quality, keyboard, UI etc. live up to the price tag. That said, and as crazy as this sounds - the Windows Mobile dialer may still be the show stopper. I blogged before on this topic. The problem is that there isn't a way to take a telephone number from a contact, load it into the dialer, and make ad-hoc changes to the number before you dial (like dialing prefixes, dial out extensions, calling cards etc). This is a standard feature on all Nokia devices - the 'Use Number' option. On the other hand - developing software for WM is reportedly easier than for the Symbian OS - so maybe writing a custom dialer will be my first WM dev exercise. 

Another deciding factor between the two is the choice in application software. Since I'm still in the 'phone first' camp - this isn't a critical area for me although I do want good support for mail, IM, VoIP and even a decent Twitter client. Initially I was concerned about Symbian support in this area - but having found both Gizmo  (a very cool universal SIP based IM and VoIP client), as well as  Fring (another very cool universal IM client with Twitter support) I think I'll be ok if I decide to go with the Nokia.

In either case these are both Q3, Q4 devices in this part of the world - so it will be interesting to watch the reviews shape up and see how the two fare before making a final decision.

In the longer term (and unless projects like OpenMoko and the Neo Freerunner really start to gain market share) - I'll almost certainly be headed over to Windows Mobile Android. Either I or MS will fix the dialer, and the opportunity to easily build client apps that fit nicely into LOB and other connected systems will make Windows Mobile hard to resist as a development platform for much longer.


Comments [0] | | #  
# Monday, August 18, 2008
Monday, August 18, 2008 9:16:17 AM (SE Asia Standard Time, UTC+07:00) (SQL Server | Utilities)

A recent tweet led me to an Alt.Net Canada video - which was discussing the build process, build skill-sets and the complexity of maintaining a large build scripts. In the middle of the video - a guy with a ThoughtWorks t-shirt on mentioned a toolset that amongst other things, helps with database change management (from development, to testing, to release). The project is called Tarantino Database change management and it looks really good. I LOVE the solution statement... 

  • Each developer using their own local database to do their development work.
  • Each environment using it's own database. i.e. Development, Testing, Staging, Production
  • Each developer maintains his changes locally. When the database changes are ready to commit along side the application source code, the developer follows these steps:
    • Create a change script that wraps all of the database changes into a single transactional change script. A Tool like Red Gate SQL Compare makes this a 30 second operation.
    • Save the change script in to a folder in your source tree call Update.
    • Commit the change script along with the source code that corresponds to the change.
  • The continuous integration server detects changes to the source control repository than it:
    • It builds the application code.
    • It executes the applications unit tests.
    • Executes the database create task to create a new database with all of the changes that are in source control.
    • Executes the projects integration (data access) tests.
    • Marks the builds a success when all the tests pass.
  • Each developer runs the build script locally after receiving new schema changes scripts from the source code repository.
  • The testers, developers, change management managers execute the script using the Database Update (windows form) tool to run the database scripts against the Dev, Test, and staging environments when the environments receive their next update of the source code. 

About 7 years ago - (and still to this day), one of the most useful on-the-spot mentoring exercises I've ever had, was in database change management. A co-worker showed me the process they'd come up with at their previous employer for giving each developer a local database to develop against, using local work files to maintain their changes (SQL scripts) and then a consolidated SQL release script for combining individual changes, all numbered and versioned against the DB which was matched (and backed-up) against the release version of the application (and all under source control).

I've worked this way every since and I've always been able to track schema changes against releases. That said - not too long ago I was in an office where I was actually accused of 'working dangerously' because I refused to use the 'shared' dev database that all the other devs were using. Ok - so if NOT breaking other developers' build environments, and being able to track and even rollback on schema changes  is a dangerous practice - then feel free to call me Danger Man.

Looking forward to taking a closer look at the Tarantino bits...


Comments [0] | | #  
# Wednesday, August 06, 2008
CBC
Wednesday, August 06, 2008 3:24:50 AM (SE Asia Standard Time, UTC+07:00) (CSS/XHTML)

I got all nostalgic and Canadian this evening - after I took my first good look at the Canadian Broadcasting Corporation's web site. A fantastic site - I was totally blown away. Easily as good as the BBC site if not better and a top level example of brilliant design, XHTML, CSS and JavaScript (including jQuery).

cbc


Comments [0] | | #  
# Sunday, August 03, 2008
Sunday, August 03, 2008 3:34:28 PM (SE Asia Standard Time, UTC+07:00) (Other Tech)

Ok - well I'll at least give Microsoft credit for posting this... but argh....... I tried in vane to find an option from within Media Player for about 20 minutes before Googling. Now that I'm using Ultramon - I want WMP to minimise to the taskbar for the screen it's currently playing on- and not on the main taskbar in mini player mode. Grrrrrr....


Comments [0] | | #  
# Saturday, August 02, 2008
Saturday, August 02, 2008 2:08:07 AM (SE Asia Standard Time, UTC+07:00) (Other Tech)

Having spotted a tweet on Pandora.com - and then of course discovering that Pandora.com is not available outside the U.S., I was inspired to take a proper look at Last.fm. Incredible. Download the desktop app, and the appropriate plug-in for your media player - and Last.fm will "scrobble" whatever you listen to, building up a recommended playlist; similar artists, genres etc. I wonder how Peter Gabriel's venture over at We7 will fare in the same space.


Comments [0] | | #  
# Thursday, July 31, 2008
Thursday, July 31, 2008 12:07:46 PM (SE Asia Standard Time, UTC+07:00) (WPF)

Just like Josh Smith I was looking around for some pre-rolled themes for WPF, and wondered why there was so little activity in this area. I would have thought the ability to take a professional looking UI (adjusted to match an organization's in-house style) would be a popular approach for building new business applications.

wpftheme Although there's quite a bit of work involved in creating a complete set of control templates (for all the required controls; textboxes, dropdowns, checkboxes, tab controls, lists, splitters, scrollers etc.) it can  be done (and it's a great way to learn WPF - even if you only override a few). Included here is a screen shot from my 'learning' WPF application in which I created a nearly complete control template set from scratch - including a custom toolbar strip, and dropdown/context menu system. What's more I give the user some options on basic color themes and backgrounds - just like Windows Live Writer does.

Commercially available themes must surely be on the way. Maybe they're just waiting for WPF adoption to reach higher levels, or perhaps visual designer support to improve. I'd estimate that it would take about 20 person days to complete a full theme set - and that's with a good graphic designer working with a good WPF developer together to assemble the theme.


Comments [3] | | #  
# Friday, July 18, 2008
Friday, July 18, 2008 5:18:34 PM (SE Asia Standard Time, UTC+07:00) (Books)

IMG_2179_02_s You know sometimes I wish I'd been a plumber...

Not all of these are cover-to-cover magnifying glass reads, and this is only a small part of my library - however these are currently at the top of the pile.

Linq in Action has so far been a brilliant book - and it will be a cover to cover careful read. CLR via C# is a must read for anyone that's been programming in .Net for more than a year or two (I'm thumbing through it for the 2nd time in my spare time). C# 3.0 in a Nutshell has so far proved to be an invaluable desktop reference and Joseph Albahari is a brilliant author.  What I particularly like about this book are the examples and gotchas included with every entry; much more than just MSDN in print and much better than an "I feel lucky" Google attempt. With ASP.Net 3.5  I was worried (like a lot of people) that this 1626 page tomb would be just the docs... in printed form; however it is a good combination of reference material and author input. Head First Design Patterns is really a fun read. I've opened other design patterns books, including the famous GoF Design Patterns and various C# flavors - but the format of the Head First series is just fantastic - humorous and educational.

The rest are a mixture of things I'm interested in, things I need to read to try and stay ahead of the avalanche, and things I'll need to read for my course.

Security Engineering (now in second edition) is a classic for anyone interested in computer security and should really be read in combination with Secrets and Lies from the very famous Bruce Schneier.


Comments [0] | | #  
# Wednesday, July 16, 2008
Wednesday, July 16, 2008 8:31:47 PM (SE Asia Standard Time, UTC+07:00) (C# | Visual Studio)

Yet another tool I've been late coming to - JetBrains ReSharper.

While working though Link in Action I was experimenting with ReSharper 4.0. So cool and extremely helpful when looking at delegates and lambdas.

Here's a delegate assignment..

Predicate<DateTime> isMinimum = delegate(DateTime input) { return (input == DateTime.MinValue); };

And here's the equivalent as a lambda..

Predicate<DateTime> isMinimum = input => (input == DateTime.MinValue);

And here's the ReSharper magic that converts from lambdas to delegates and back again...

resharper4


Comments [0] | | #  
# Monday, July 14, 2008
Monday, July 14, 2008 2:16:15 AM (SE Asia Standard Time, UTC+07:00) (Utilities)

Well - I admit it - apart from some installation batch files I wrote when I was a junior helpdesk guy a long time ago - I'm a bit of a late bloomer to the command line.

cmdI've got some time off over the summer before heading back to school in October - and so I've been working through a backlog of to-do items and small projects; the most important of which was finally getting up-to-speed with automated builds, testing and deployment using NAnt, MSBuild and the very cool WiX - which of course leads to the command line and editing build and batch files.

I know Notepad2 and Notepad++ are popular replacements for notepad in the hacking community - but I've become rather attached to EditPadPro - so that will do for now. I've renamed the .exe to ep.exe - and added the path to EditPadPro to my system wide path environment setting.

I also love this post from Scott - Prompt(s) along with PushD and PopD and the very cool prompt tip...

$P$_$+$G Which, when I set it via either the prompt command or the PROMPT environment variable, gives me a command line that looks like this:
C:\data\Projects\flexwiki\FlexWikiCore
++>

TAB AutoCompletion is hot too - and I honestly didn't know it was there. :-(

Last on my list of productivity improvements is a replacement for Windows Vista Explorer - and I'll be trying both Total Commander and [xplorer²] - because Windows Vista Explorer is driving me nuts.

Back to the command line and build scripts... :-)


Comments [0] | | #