Archive for the 'IDE' Category

Microsoft DreamSpark

Even thought I am a Windows user, I am no where near a Microsoft lackey but recently I learned that Microsoft is giving away a ton of professional grade software to students. Through the Microsoft DreamSpark program, students can get access to Visual Studio 2008 Professional, Windows Server 2003 Standard Edition, Microsoft Expression Studio, XNA Studio, XNA Creators Club, SQL Server 2005, as well as other free software such as their express edition software. That is well over $1,500 of free software. I am typically not a Microsoft fanboy but I do have to give credit to Microsoft for making its development tools free of charge to students across the world. Now I wish Adobe would do the same.

Technorati Tags: , , , , , , ,

Eclipse Tool Tip #7: Resource and Class Type Find

It is hard to keep track of all class files you may need to edit in large project, much less the package those classes reside in. When I need to lookup and inspect a class I use the Ctrl+Shirt+T to open the Open Type dialog. This dialog allows you to enter the class name, or a regular expression of the class name, and will list all classes available to your project that match your query. One good feature about the Open Type dialog is that for each class type that it does match, it will display the package, jar, and location where it found the type.

Eclipse Open Type

If you don’t want to open the the type in the default editor you can instead use the Ctrl+Shirt+H shortcut to open the selected type in the hierarchy view.

Instead of a class, if you need to quickly lookup a XML, JSP, Properties or other resource files you can use the Ctrl+Shirt+R shortcut key combination to launch the Open Resource dialog. You can pretty much query lookup all resources with the Open Resource.

Find this tool tip helpful, try the additional Eclipse Tool Tips.

Technorati Tags: , , , , , , ,

iPhone and iPod Touch SDK

At a press conference earlier today, Apple released the much anticipated native SDK for the iPhone.

iPhone applications will be created using Cocoa. To develop native applications for the iPhone, developer will be using the XCode IDE and the newly released iPhone SDK and iPhone simulator. Third party applications will be made available through an iPhone App Store. The applications developed on the iPhone SDK also work on the iPod Touch.

The App Store is the exclusive distribution channel to deliver applications to the iPhone. From the press conference, it is reported that the developer picks the price of the application and get to keep 70% of the sales. The developer can release applications for free to the end user, Apple will not put charge fee for free applications.

The SDK is available right now, but the App Store might not be released to end users until sometime after June, perhaps in the next upgrade release of the iPhone kernel and software.

The iPhone SDK is free but Apple has a iPhone Developer Program starting at $99. At this point it is not entirely clear what you get from the iPhone Developer Program, but I imagine that you need to be in the program for you to actually sell your applications on the App Store.

At the press conference, John Doerr of the Kleiner Perkins Caufield & Byers venture capital firm said, “best way to predict the future is to invent it. At Kleiner, we say the second best way is to fund it.” Doerr announced a $100 million iFund to fund companies and ventures developing application for the iPhone and iPod touch.

Apple had a few demos at hand at the press conference, which all seemed to make use of the iPhone’s great touch ui, touch gestures, and accelerometer.

Back in July of last year, I was at the iPhone Dev Camp where I had a small part in developing Tilt, perhaps the first iPhone motioned controlled game for the iPhone. Having full access to the accelerometer and location data will open the possibilities for a wide array of new applications.

Prior to the SDK being freely available, the only option for custom applications for the iPhone was web development.

Technorati Tags: , , , , , , , ,

Debugging Users and Invisible Characters

As a developer working for a startup with live software in the field, I often have to problem solve some interesting and out of the box bugs. One recent bug was related to changes to the Daylight Standard Time and Sun’s Java Timezone Updater, which is far from the control of my code. The Timezone Updater is a simple Java application that can be run as follows.

"c:Program FilesJavajre1.5.0_10binjava" -jar tzupdater.jar -f -bc

After documenting, testing, and validating the process of running the Timezone Updater from the command prompt we had our sales engineer upgrade the all of our clients’ JRE with the current timezone data. After some time we had reports that some clients had a problem running the above command, they where getting the following Java error.

Exception in thread "main" java.lang.NoClassDefFoundError: ûjar

It seemed that Java could not find a class named ujar (notice that funny hat over the u). Our sales engineer, with the aid of a software engineer, spent all day going back and forth with the client. As you might have guessed, updating the timezone data worked for our engineers but at the client site they consistently got the above error. After a long email thread full of instructions, screen shots, and frustration I was pull in.

I too was unable to reproduce the error until I considered the error. The only clue in the above error is the funny character u. After some time it occurred to me that the -jar had been corrupted into ujar. But what would distort the dash? Word. The instructions to run the Java Timezone Updater where written and sent in Outlook and cut and pasted from Outlook. Outlook uses Word as the default mail editor and Word has the awful tendency of distorting plain old ASCII text into special characters at will, try typing :) in Word.

This bug was not obvious to our client’s IT personnel, our front line sales engineer, and an experienced software engineer. Having code working on the developer’s machine is not a valid solution, software needs to work at the client’s site too!

One lesson that most developers don’t learn is to debug outside the debugger. As an engineer there are times you need to trouble shoot, problem solve, and debug not just your software from the comforts of your favorite IDE but the whole software stack, network, hardware, user’s environment, and even the user himself.

Every problem, issue, and bug experienced by the end user directly and indirectly with your software eventually needs to be implicitly and explicitly dealt with by your software development team. Bugs that are on the fringes of the code base are the most difficult to solve, that is why each member a software development team needs to take full ownership of the whole code base, and every known issue.

Technorati Tags: , , , , , ,

EclipseWebEnabler Review

Have you ever been on the road or away from the office when you are struck by an idea for a new features and wanted to debug or prototype your application but found yourself without access to the code base? What if you where able to connect to the Eclipse running on your work desktop from anywhere in the world using a browser? Well, now you don’t have to wonder. EclipseWebEnabler is a Eclipse plugin from IBM AlphaWorks that allows you to connect, interact, and manipulate an instance of the Eclipse IDE via FireFox. Basically, the plugin converts the Eclipse SWT-based UI to XUL which can then be delivered to a browser via the Jetty server.

For EclipseWebEnabler to work you do need an instance of Eclipse to be running on your desktop. Once the Jetty server embedded with the EclipseWebEnabler plugin has started you can point your browser to it, any change you do in browser will be reflected in Eclipse, and vice versa. You can edit Java code files in FireFox and the new edits will be reflected in Eclipse, in near real time.

EclipseWebEnabler Plugin

Even though I think that the EclipseWebEnabler plugin is innovative, I soon discovered that it doesn’t enable completely or well. EclipseWebEnabler, as of this writing, is lacking a lot of fundamental features. Closing source files from FireFox is not implemented. The ia no code syntax coloring or highlighting at all. You can’t resize views. There is too much flickering when moving between source files. And there is no security whatsoever.

Even with it’s obvious shortcomings, I think that the EclipseWebEnabler plugin take the price for Most Outrageously Innovative Idea 2007 award. I haven’t seen an application features this thought provoking since GWT took the price in 2006.

Once the kinks are worked out, it might be possible to write a fat client application using the Eclipse RCP and then have the EclipseWebEnabler generate a web version for said application.

Technorati Tags: , , , , , , , ,

Top Technology Podcasts

In no particular order here is the list of of technology related podcasts that I frequently listen to.

  • Cranky Geeks - Not cranky enough, but John C. Dvorak and guest rant on latest technology news.
  • Diggnation - A weekly tech/web culture show based on the top stories on Digg.
  • Drunk and Retired - They are not as drunk as one would hope, but they do tend to go off on Rails, software development, and zombies.
  • Google Developer Podcast - Googlers talking about the latest Google APIs.
  • The Java Posse - The seminal Java podcast put out by Google, Sun, and Apple engineers, just hope they never have to pronounce your name.
  • .Net Rocks! - A weekly talk show for anyone interested in programming on the Microsoft .NET platform.
  • Railscasts - Free, and most importantly frequent, Ruby on Rails screencasts ranging from 5 to 10 minutes covering testing, migrations, controllers, and more.
  • WebDevRadio - This podcast covers web development news with the occasional interview with engineers working on projects with .NET, MySQL, PHP, etc.
  • Polymorphic Podcast - Insight into software development in the .NET platform along with interviews with industry luminaries.
  • Code Sermon - The podast somewhat preaches to the choir. This is a somewhat semi-weekly sermon on the virtues of software development best practices.
  • Killer Innovation - A podcast about creativity, innovation, and idea generation. This podcast will present ideas to think outside the box, or IDE.
  • Grails Podcast - Keeps you up to date about the latest Grails developments.
  • NetBeans Podcast - Hosted by Roman Strobl of Sun, this podcast has the occasional interview with NetBeans developers like Tor Norbye and Geertjan Wielenga.
  • Ask A Ninja - Every programmer needs a break between hacking sessions.
  • Rails Podcast - News and interviews about the Ruby language and the Rails framework.
  • Entrepreneurial Thought Leaders - This podcast is put out by the Stanford business school. It usually has business leader share their experience.
  • Floss Weekly - Free/Libre Open Source Software might be free, but it is not timely.
  • Late Night Cocoa Podcast - Usually has hacking cocoa and API discussions and Cocoa practitioners, currently on summer hiatus.
  • TWiT - Leo Laporte and gang talk technology, unless they are reminiscing about their TechTV days or how to monetize ‘netcasts’.
  • Scoble Show - Robert Scoble talks with geeks, technologists, and developers.
  • GigaOm Show - Om Malik and Joyce Kim talk with entrepreneurs in the valley and run down some of the latest tech news.

If you feel I missed any other developer noteworthy podcast please let me know in the comments.

Technorati Tags: , , , , , , , , , , , ,

Next Page »