Saturday, August 04, 2012

In Mountain Lion "invert colors" shortcut not working

I upgraded my shiny new macbookpro to Mountain Lion and the keyboard shortcut for "Invert Colors" (ctl-alt-command-8) stopped working. To re-enable this, go to "Preferences/Keyboard/Keyboard Shortcuts/Accessibility" and check "Invert Colors". (Apparently too many Windows users were visiting Apple stores and turning on the "Invert Colors" for all the machines)

Monday, July 09, 2012

Pictures from at Austin .Net Users Group, July 9, 2012

Gabriel Schenker spoke to 45 people at the Austin .Net User's Group tonight about Command-Query Responsibility Segregation (CQRS) and Event Sourcing (ES). Here's a few photos, in case you wonder what an ADNUG meeting looks like:
A few of my notes:
  1. polyglotprogrammers.org are meeting the 2nd and 4th Thursdays of the month, 6:00 - 9:00 pm to code and learn new languages here in Austin. Meeting at Headspring's new headquarters now.
  2. www.aspconf.net will be live screencast with big names.
  3. Gabriel Schenker wrote a book on NHibernate, but is using no database on his current project.
  4. Using CQRS with ES can be taken to the max and yield not an Object Oriented system but a Functional design.
  5. Look Ma, no database. In his example, data was stored as JSON objects in plain system files using Google Protocol Buffer serialization. A GUID was embedded in the filename with an object name prefix, recipe-7c9e6679-7425-40de-944b-e07fc1f90ae7.txt
  6. Since some files systems (cough, cough, Windows ...) get slow with over 10,000 files, the files are distributed over many directories with a hash of the filename indicating the directory.
  7. Gabriel's point of view is that it's simpler to write your own document store database, and Inversion of Control container than to incur the cost and overhead of using something like RavenDB if you don't need all the features.

Tuesday, July 03, 2012

Importing Cableone email into a new Gmail account

When a friend was physically moving and needed to retire their Cableone.com account and move to a GMail account, I thought it would be quite easy. After an hour I realized, not so much. Here's the tricky part, Cableone.com mail accounts are already hosted by Google, so the pop account questions asked during GMail import are not what you would expect. In Gmail select "Accounts and Import", then "Import mail and contacts"
Email address is really "myemail@cableone.net", the ".net" threw me.
Pop server is "pop.gmail.com"
Port is "995", select "edit" and select "SSL".

Thursday, June 21, 2012

Pictures from Paul Hammant at Austin IEEE, June 20, 2012 "Client Side MVC"

Paul Hammant, co-developer of Selenium, from ThoughtWorks, spoke to Austin's IEEE chapter June 20th, 2012 on the topic of "Client Side MVC". Here is a summary of my jumbled notes:
  • Lots of job openings are available in Austin.
  • Developers using ClientSide Model-View-Controller frameworks are more productive.
  • The original framework, backbone.js, has lots of competitors.
  • Paul liked AngularJS (made by Google employees in their 20% time) for open source projects and Knockout (made by Microsofties in their off-time) for Microsoft environments.
  • DoubleClick uses AngularJS for their commercial site.
  • http://addyosmani.github.com/todomvc/ has demos of the ClientSide MVC frameworks.
  • CSMVC allow for rapid prototyping.
  • CSMVC offers massive code reduction.
  • Paul thinks Knockout will be an official component in the Microsoft toolbox in the future.
  • "Java and .Net developers need to get involved with JavaScript or get left behind like COBOL programmers."
  • JSON is the Browser Lingua Franca now.
  • JSFiddle.com offers a good tool.
The drumbeat of JavaScript is starting to be deafening. Update: Slides are here.

Tuesday, May 29, 2012

Canoscan 8800F Scanner and Vertical Streaks

I've spent hours trying to remove vertical streaks and stripes from scanned images from my Canoscan 8800F Scanner. In an effort to save others my time, here's the problem and solution.
The problem image:

The solution image:

Canon email help was somewhat helpful, although they never solved the problem. To fix the vertical artifacts I had to lie to the scanner and tell it these were "Color Photos" instead of "Black and White Photos". Then everything worked fine. Must be some bug in the Black and White image processing algorithm.

Monday, May 28, 2012

Move over 1080p, 4K is on the way

Just when you were getting smug with your 3D 1080p video display, the International Telecommunications Union (ITU) just adopted specs for the next generation of video called "Ultra High Definition Television", UHDT.

The new spec comes in two flavors, 4K and 8K. 4K means the pixel count is 3,840 x 2,160 giving 8 megapixels per screen, instead of today's 1,080 x 1920 pixels which has 2 Megapixels. The 8K version packs 32 megapixels. This will be wonderful.

Already Peter Jackson and others are shooting in this new format. Get ready to re-buy all your favorite movies - again and start saving up for that new 4K screen.

But where will the madness end? I'll tell you. 576 megapixels. That's the estimated resolution of what the eye can really detect. Doing a little math for a 16x9 ration screen, [(16x)(9x) = 576Megapixels, solving for x gives us 2Megapixels] yields a screen 32Meg by 18Meg.

But, ultimately we will use individual glasses where an image is directly written to each retina by a tiny laser giving us crisp perfect 3D pictures. Yeah, lasers writing to our eye balls, creepy, but get over it - it's the future.

Wednesday, May 23, 2012

Google - u so awesome

I was trying to bring up the Chrome browser using "Launchy" (which is a must for Windows systems), but my right hand was over one letter to the right, so although I tried to type "chrome", it came out "cjrp,e" instead. Launchy didn't understand "cjrp,e" so it forwarded me to Google, which much to my delight, actually understood and showed results for "chrome". Amazing. Thank you Google - u so awesome. (Curious, I asked bing and it showed me a page for CJRP, a French-language Canadian radio station.)