Windows 8 Looks Great on Retina Display

March 27th, 2013

I recently got a 15″ Retina Macbook Pro. Of course I installed Windows 8 in Bootcamp (accessible via VMWare Fusion) and I was blown away by how beautiful it looked. The fonts are a little smaller at 150% than they are on Mac OS X, but still completely viewable.

Most applications handle the super high 2880-by-1800 resolution and large fonts fine. Mac OS X probably has a higher ratio of apps that look nice versus those that are a little odd looking, and it degrades better, but it is still a fabulous experience. Bumping the font size up to 200% makes matters worse though.

If you want the full resolution even when you are in VMWare (it defaults to the scaled resolution) there is an option to enable that too.

Boot Camp Display - Full Retina

The fast SSD, RAM and Quad Core i7 are nice too.

Advanced Transfers with Android

November 9th, 2011

Thanks to everyone who attended this session at AnDevCon II in San Francisco and Dessert Code Camp in Phoenix. Here are the updated slides (a PDF) and code samples from this session. Please leave a comment if you have any questions and I’d be happy to clarify things, or point you in the right direction.

You can also get the HTTP Telnet script I used in that session.

Hacking the ADB USB Driver for Acer A500

October 27th, 2011
; ACER Iconia Tab A500
%SingleAdbInterface%        = USB_Install, USB\VID_0502&PID_3325
%CompositeAdbInterface%     = USB_Install, USB\VID_0502&PID_3325&MI_01

I wanted to access my Acer A500 via ADB (Android Debug Bridge). When I connected it I was able to access it as a USB Mass Storage device, but ADB didn’t see it as a device. I found a page describing how to install the USB ADB drivers, but Windows said the drivers were not valid for my hardware.

I looked in the android_winusb.inf file and it lists a number of individual supported devices, but the Acer A500 wasn’t there. One of the reasons I picked the A500 was that it runs straight up Android, and not a modified version. So in theory the stock driver should work fine (yes, it is a hardware driver, but I figured what the heck.) It is possible that Acer has a download for this too, but 3rd parties tend to bundle extra junk, so I thought I would try the stock driver.

In theory this should work just as well for other Android devices. Proceed at your own risk.

1. So I went into Device Manager and found the tablet under Unknown Devices:

Other Devices

2. To get the Hardware ID’s for right click and select Properties, Details tab, then select Hardware Ids from the Property drop down:

ACER Iconia Tab A500 Properties - No Driver

3. In the android_winusb.inf file I added the following in the [Google.NTamd64] section.

; ACER Iconia Tab A500
%SingleAdbInterface%        = USB_Install, USB\VID_0502&PID_3325
%CompositeAdbInterface%     = USB_Install, USB\VID_0502&PID_3325&MI_01

The line with the semicolon prefix is a comment. You will see that the other lines match with these.  The ID’s come from the Hardware Ids in device manager (compare to screen shot.) If you are trying a different tablet then yours may be different.

4. Tell Windows to Update Driver (driver tab) then browse to that folder. My folder was “C:\Dev\android-sdk-windows\extras\google\usb_driver\” but if you installed the SDK in a different path then yours may be different. It will warn you that it can’t verify the publisher of the driver. I clicked “Install Anyway”.

Now Device Manager shows it as an Android Composite ADB Interface under Android Devices, and it shows that a driver is loaded.

Android Composite ADB Interface PropertiesI could further edit the inf file to change the name that is displayed, but now it works with ADB for deploying and debugging my Android projects.

Update: Acer does have a USB driver for download, but it doesn’t provide an ADB driver.

Web Based IDE’s

March 28th, 2011

I started a computer club at my son’s middle school. One of the limitations is that no software can be installed, and there are no development tools on the computers. So I set out to find web based IDE’s where we can write and run code via the web browser. This is what I found.

I started with, which is a favorite reference site of mine that contains tutorials on pretty much every web technology imaginable, including HTML, JavaScript, SQL, CSS, PHP, XML, SOAP, etc.

For the client side technologies they have a great “try it yourself” functionality where you can enter JavaScript, etc. and have it display the output for you.

The process is to edit in the window on the left, then click the “Edit and Click Me” button to view the output on the right. There is no debugging or error reports, you just see what comes out. Makes it really hard to track down JavaScript typos.

It would appear some of w3schools content isn’t completely accurate, so use with caution.

If you are developing with HTML/CSS & JavaScript and one of the common public frameworks then check out JSFiddle. It offers a resizable split view where you can edit your HTML, JavaScript and CSS all independently, and then see the combined result. Additionally it offers the option to save, share and reload “fiddles”.

Other nice features include:

  • Syntax highlighting
  • TidyUp code formatting
  • JSLint validation
  • Access to a wide selection of JavaScript frameworks
  • Discussion and forks of public fiddles

It is currently in Alpha with a limited number of public alpha accounts available

IDEone.comIdeone com thumb

This is an honest to goodness web based IDE and compiler. Type the code with syntax highlighting, compile it, provide input,

What is ideone?
Ideone is something more than a pastebin; it’s an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages, including Pascal.

How to use ideone?
Choose a programming language, enter your source code and input data into text boxes. Then check or uncheck run code (whether to execute your program) and private (whether not to list your code in the recent codes page) checkboxes, click the submit button and watch your snippet being executed.

Jsbin com thumb

JS Bin is an open source collaborative JavaScript debugging tool.
Similar it offers HTML and JavaScript editing and previewing. It has a nice and clean user interface and also includes common JavaScript frameworks.

Error checking is provided by the JSHint project. Like JSLint with the addition of an API.

JSBin is completely open source, so you can download it and implement it on your own server.

Snipt is your collection of frequently used commands or code snippets.

Because even Subversion gurus forget the ‘svn merge’ syntax sometimes.

It’s good for storing small pieces of code or commands that you use rather frequently, and will probably forget.

Not really an IDE. No running or debugging. It will syntax highlight the code you upload though.

pastie.orgPastie org thumb

Pastie is a lot like Snipit. You can paste in bits of code and it will provide syntax highlighting and the ability to share it with others.

Pastie syntax highlights a number of different languages, but offers no execution, debugging, etc. Useful for sharing code. You can also search, but it is a plain text search and you don’t specific which language you are searching for, nor is there any useful meta information like description, title, etc.

A few others that I didn’t look to closely at include:

  • – Similar to jsbin and jsfiddle, except focused on HTML and CSS.
  • – JavaScript focused. Requires a sign up for a 30 day trial.
  • I had high hopes, but it didn’t work in most browsers I tested it in. This one supports development in Silverlight, C#, PHP, ASP.NET and a number of other technologies, with syntax highlighting, debugging, etc. Will keep my eye on this one.

Careful with your Keyboard

October 12th, 2010

One day I was leaving the office and there was one other developer left. He was a much older guy (like in his 70′s – great C++ developer) and he was cleaning his keyboard, having many of the keys already removed. Unfortunately he had a chat window focused with one of our remote developers at the time, so there was all these random keystrokes sent as chat messages over the last few minutes. He hadn’t noticed that the other developer was frantically asking if he was OK, or if he should call the paramedics. Since the keyboard was missing keys he couldn’t respond, so I went back to my desk and explained things to this remote developer. It was quite funny after the fact.

That is why I always make sure I have notepad focused when I clean my keyboard.

SQL Resources

March 18th, 2009

My session on Intermediate SQL as part of DataRage is scheduled for today - Wednesday, March 18, 2009 – 3:30pm – 4:15pm PDT.  It is categorized as Interbase, but is really just a general SQL session.  The rest of my sessions are categorized as Delphi, but are also general.  

I’ve put up a SQL resources page with more resources coming soon.  I’ll have enhanced “interactive” versions of my session up there eventually as well.  

Delayed Exception Handling

December 3rd, 2008

My Delayed Exception Handling session is up next for CodeRage III.  You can get the code now and follow along.  Download the video.

WordPress and MediaWiki Integration

August 31st, 2008

Found some great instructions on how to get MediaWiki and WordPress to share login credentials.  I manually hacked something like that a long time ago, and it was a pain because everytime there was an update I had to re-hack it.  Jon Davis‘ solution is a plugin so it should work with new versions.

McAfee ScanAlert FAIL

August 20th, 2008

I was on and clicked their McAfee Secure Badge to see what McAfee was reporting on them and got the following FAIL. Inspires confidence in McAfee’s ability to secure anything, especially online.

My First PodCast

August 18th, 2008

I posted my first PodCast for The PodCast at this morning. So far the feedback has been really positive. I am really excited about doing a podcast on Delphi, I just hope I get faster at making the episodes as I go. This episode is 18 and a half minutes long, and it took me over 10 hours to produce.

Be sure to Digg my podcast.