No Tuesday post, but I did spend time working on a longer post that just isn't quite ready yet. Sleep is more important...
I did update my bookshelf the other night though. Eventually I'll better separate it into a recommendation section, what I've read, and my current queue of books awaiting reading. I often have bigger eyes purchasing books than I do reading, so I always have a long backlog.
Wednesday, November 17, 2010
Monday, November 15, 2010
Stumbleupon is neat
A coworker recently told me he finds some really cool stuff using Stumbleupon. Now, I had heard of Stumbleupon before, but I had never tried it. I'm not sure why. The concept is cool.
I gave it a spin today, and here's my experience so far. Account sign up? Fairly easy, though it did kind of nag me to use a facebook account and import some friends or something. Once that was setup, it was fairly straightforward.
So far I've found a couple of really cool links, after telling it I liked ~35 things, and disliked 5, and skipping a few.
I gave it a spin today, and here's my experience so far. Account sign up? Fairly easy, though it did kind of nag me to use a facebook account and import some friends or something. Once that was setup, it was fairly straightforward.
So far I've found a couple of really cool links, after telling it I liked ~35 things, and disliked 5, and skipping a few.
- 28 Rich Data Visualization Tools - some really cool graph and chart tools
- UX Movement - a great site about user experience. I'm already learning some useful things, like better ways of presenting form data and search buttons.
Sunday, November 14, 2010
November month in Writing: Week 2 summary
I was able to broadly stick to my writing plan last week, as well as converted a couple of my drafts into finished posts. I read just shy of the first 50 pages of "Release It!", and I am enjoying it so far. Every weekday post was scheduled for 8:00AM. This doesn't appear to make a difference when you have no readership :) I need to write some meatier posts that I can submit to Dzone - that does makes a difference.
I failed at pursuing a Hudson / Opera issue that has plagued me. I'll restate the goal for this week... I just need to go through history, merge some modifications to prototype.js into prototype 1.6, then create a patch file and see if anyone is willing to take my patch for a spin (as well as stage it in my environment for a while).
As for general week's news:
Oracle and Apple Announce OpenJDK Project for Mac OS X - the future of Java on OS X seems assured now. Cool.
Mozilla released Firefox 4 Beta 7 - this added JIT to their Javascript engine, and it's now faster than everything except Opera 11 alpha at Javascript. Woot - I was beginning to think IE9 would be faster, but I am glad to see Firefox 4 gain some serious speed. Competition is good, and it is my #2 browser.
Gold Nanoparticles Could Transform Trees Into Street Lights - this is just amazing. I spotted this on twitter and then later on engadget...
No specific ideas for topics this week yet...we'll see what happens.
I failed at pursuing a Hudson / Opera issue that has plagued me. I'll restate the goal for this week... I just need to go through history, merge some modifications to prototype.js into prototype 1.6, then create a patch file and see if anyone is willing to take my patch for a spin (as well as stage it in my environment for a while).
As for general week's news:
Oracle and Apple Announce OpenJDK Project for Mac OS X - the future of Java on OS X seems assured now. Cool.
Mozilla released Firefox 4 Beta 7 - this added JIT to their Javascript engine, and it's now faster than everything except Opera 11 alpha at Javascript. Woot - I was beginning to think IE9 would be faster, but I am glad to see Firefox 4 gain some serious speed. Competition is good, and it is my #2 browser.
Gold Nanoparticles Could Transform Trees Into Street Lights - this is just amazing. I spotted this on twitter and then later on engadget...
No specific ideas for topics this week yet...we'll see what happens.
Saturday, November 13, 2010
muCommander - the ultimate cross platform utility
Despite NTFS supporting very long path names, Windows frequently has issues with long filepaths. Sometimes you need to bring in another tool for the job.
My favorite tool for dealing with long filepaths is muCommander. It is a Java app that mimics the traditional "Norton Commander" user interface. Java uses the API in Windows that supports longer filepaths, so muCommander has no trouble dealing with extra long file paths. It's not just for Windows, though - it's available on a lot of platforms.
muCommander is much more than a better file explorer, too. It has built in support for loads of protocols:
It can even open and edit zip files in-place.
My favorite tool for dealing with long filepaths is muCommander. It is a Java app that mimics the traditional "Norton Commander" user interface. Java uses the API in Windows that supports longer filepaths, so muCommander has no trouble dealing with extra long file paths. It's not just for Windows, though - it's available on a lot of platforms.
muCommander is much more than a better file explorer, too. It has built in support for loads of protocols:
Virtual filesystem with support for local volumes, FTP, SFTP, SMB, NFS, HTTP, Amazon S3, Hadoop HDFS and BonjourYou mean I can have my local filesystem on one side, and an SFTP session on the other? Awesome.
It can even open and edit zip files in-place.
Plus - it has a sweet logo.
muCommander is an awesome utility to keep in your toolbox.
Friday, November 12, 2010
Replacing Notepad with Notepad2
I've been using Notepad2 as a light-weight replacement for the notepad.exe that comes with Windows for several years. Let's face it, the original notepad.exe falls short on many levels - no auto-tab, no multi-line tabbing/untabbing, poor line endings support to start... I've always felt it was inferior to even the old MS-DOS EDIT, which is a pretty sad statement. In comes Notepad2, fixing all of its shortcomings while remaining lightweight, and adding some other nice features as well.
It's always been somewhat of a pain to perform the replacement to Notepad2, since notepad.exe is considered a protected operating system file in XP and Windows 7. Fortunately, Kai Liu wrote an installer that does this for you automatically! I just learned about this this week and figured I would share.
To download the installer, just go to http://code.kliu.org/misc/notepad2/ and scroll to the bottom, "Custom Notepad2 Builds", for both 32-bit and 64-bit machines.
It's always been somewhat of a pain to perform the replacement to Notepad2, since notepad.exe is considered a protected operating system file in XP and Windows 7. Fortunately, Kai Liu wrote an installer that does this for you automatically! I just learned about this this week and figured I would share.
To download the installer, just go to http://code.kliu.org/misc/notepad2/ and scroll to the bottom, "Custom Notepad2 Builds", for both 32-bit and 64-bit machines.
Thursday, November 11, 2010
Desktop Java Apps - to bundle or not to bundle a JRE?
First - here is my definition of bundling the JRE. Shipping your application with a JRE, such that it is the one used by default from your application startup scripts, regardless of the environment on the target system. The bundled JRE is not registered with the system, so it should not affect other applications on the system.
There are probably some good reasons not to bundle a JRE. Taking a moment to ponder, I can think of at least the following:
On to some reasons for bundling a JRE:
For instance, in the 1.5 days, I recall one release that had very misbehaved tabbing through components in a UI. In the era of Windows 7 - you need a minimum of 1.6.0 Update 18 - or you have missing icons in Open/Save File Dialogs. It is not acceptable to have a UI defect like that in a shipping app - any less, and you don't have full Windows 7 support. Except on 64-bit systems Update 18 has a bad habit of crashing the JVM a lot...so you need a more recent update. Then there's the Swing/AWT changes in Update 12 that alter behavior. Then I'm pretty sure depending on the version, applets load differently, if that's a factor (in one of our cases, integration with another process - it is).
You can avoid all that by picking a version you know works for your required situations. This means less to QA. Less potential headaches. The trade-off is losing faster security updates, increased application size (which believe it or not - still matters even in the age of 3TB hard drives), and portability. If you are in a Windows-only market, as I have seen several applications be, then portability isn't affected. Even if there are other target platforms - it's just a matter of repackaging for other platforms.
I believe there are some good reasons to bundle a JRE - on Windows, anyway.
There are probably some good reasons not to bundle a JRE. Taking a moment to ponder, I can think of at least the following:
- Bloat
- No automatic security updates
- Less portable
On to some reasons for bundling a JRE:
- Control over major Java version (1.4,1.5, 1.6) - this is less of an issue today, since 1.5 has reached its end-of-life and 1.4 is far behind that. Thank goodness for that.
- Control over the exact version (i.e. 1.6 Update 20) - to ensure mandatory functionality works properly
- So the end users don't need to install something additional
- So your program is not influenced by the system environment
- So your program does not influence other applications in the environment
- Less variables for when customers report bugs
- No automatic updates - which could break functionality
- Less to test
For instance, in the 1.5 days, I recall one release that had very misbehaved tabbing through components in a UI. In the era of Windows 7 - you need a minimum of 1.6.0 Update 18 - or you have missing icons in Open/Save File Dialogs. It is not acceptable to have a UI defect like that in a shipping app - any less, and you don't have full Windows 7 support. Except on 64-bit systems Update 18 has a bad habit of crashing the JVM a lot...so you need a more recent update. Then there's the Swing/AWT changes in Update 12 that alter behavior. Then I'm pretty sure depending on the version, applets load differently, if that's a factor (in one of our cases, integration with another process - it is).
You can avoid all that by picking a version you know works for your required situations. This means less to QA. Less potential headaches. The trade-off is losing faster security updates, increased application size (which believe it or not - still matters even in the age of 3TB hard drives), and portability. If you are in a Windows-only market, as I have seen several applications be, then portability isn't affected. Even if there are other target platforms - it's just a matter of repackaging for other platforms.
I believe there are some good reasons to bundle a JRE - on Windows, anyway.
Wednesday, November 10, 2010
Usability Fail - Confirm Then Swipe
I consider a fundamental goal of software, and technology in general, to make people's lives easier. To simplify, automate, and perform useful functions. When the above holds true, technology is a success. When technology gets in the way, is a hassle to use, or does not otherwise improve an existing process - it is a failing and does not have purpose.
First, a success story. Trader Joe's is a very pleasant place to shop, all the way through. The checkout process is one reason for this great experience. The first time I went to one was several years ago, and I was pleasantly surprised during checkout.
The Card Swipe device:
Imagine my surprise when my local Market Basket got new card swipe devices a year or two ago, and they did not share this amazing feature. On the contrary - it required the exact opposite. Enter the "Confirm Then Swipe", a giant usability fail.
Here is a basic rundown of the Bad Card Swipe Device (TM):
What went wrong for a device with such a basic purpose to have been made this way? Is it short-sightedness of the developer? Is it due to the other vendor holding software patents? (more on software patents another day...) Whatever the cause - it really bums me out. How many wasted words are there on a daily basis, just to explain to the customers that they must confirm first? (plus the time that could have been saved if the swiping process was completed while items were still being scanned) How much time is lost by the patrons due to this every day? Per Year? This should not be the case, but sadly it is.
First, a success story. Trader Joe's is a very pleasant place to shop, all the way through. The checkout process is one reason for this great experience. The first time I went to one was several years ago, and I was pleasantly surprised during checkout.
The Card Swipe device:
- Made it immediately obvious that I could swipe my card at any time
- Allowed me to enter DEBIT, PIN, Cashback options, all before the cashier had even finished scanning my items
- Provided a final confirmation once all items were scanned
Imagine my surprise when my local Market Basket got new card swipe devices a year or two ago, and they did not share this amazing feature. On the contrary - it required the exact opposite. Enter the "Confirm Then Swipe", a giant usability fail.
Here is a basic rundown of the Bad Card Swipe Device (TM):
- You must wait until the cashier has scanned the final item
- The cashier then usually asks credit or debit.
- The cashier reminds you to "Confirm then swipe"
- You confirm the amount
- You can then swipe your card
- Debit PIN
- Oops - you got your PIN wrong, try it again
- Final confirmation (?)
What went wrong for a device with such a basic purpose to have been made this way? Is it short-sightedness of the developer? Is it due to the other vendor holding software patents? (more on software patents another day...) Whatever the cause - it really bums me out. How many wasted words are there on a daily basis, just to explain to the customers that they must confirm first? (plus the time that could have been saved if the swiping process was completed while items were still being scanned) How much time is lost by the patrons due to this every day? Per Year? This should not be the case, but sadly it is.
Subscribe to:
Posts (Atom)