Posts Tagged ‘OpenSource’

iTerm Screencast

Tuesday, February 17th, 2009

I’m a big fan of iTerm as a replacement for Terminal.app for developers. It offers a host of productivity boosts. To name a few:

  1. Named tabs
  2. Favorite location bookmarks
  3. Window, font, and background colors per-bookmark
  4. Transparency levels and blur of the underlying windows
  5. Middle click copy and paste
  6. URL launching from any URL recognized text

I’ve put together a quick screencast to show off a number of these features and how to configure them.



iTerm Developer Tips from Matthew McCullough on Vimeo.

RESTful Java Web Services must not return void to iPhone HTTP Services

Tuesday, February 17th, 2009

After many sessions of debugging and even memory inspection not yielding fruit, I’ve finally discovered what caused my previous RESTful demo apps to have sporadic behavior, in addition to the memory leak of the synchronous call.

Today’s problem solving summary:

  1. XCode projects cannot have commas anywhere in the path up to the location where they are stored or else you’ll get an error message of:
    ld: -filelist file not found: <Project Path>
  2. All RESTful web services called via the NSURLConnection APIs must return a non-null payload.

    This bit me because my “Add Contestant” function was adding the contestant and returning void. I now return a string of “Success” to satisfy this requirement. The observable failure is very quiet, which made it so hard to debug; every other web service call appears valid, but never actually makes a call across the wire. This was proven via TCPDump. All the web service call callbacks are properly called in the Objective C side of the program. It just silently failed and passed back a null payload in the response data structure.

All the code for this project is available on GitHub and will be updated with the results of the adjustments based on the above findings by tomorrow.

Clean your Git up to Pull successfully

Saturday, February 14th, 2009

Here’s a quick Git pulling & merging tip for those of you learning this awesome Distributed Version Control System.

Git Pull’s Double Duty

As you may be aware, the git pull command actually does two things under the covers. It does a git fetch to freshen your tracked remote branch and it does a git merge to merge it into the linked local branch. Sometimes this can go awry if you’ve been experimenting with files locally and forgot to return them to a checked-in state. Git errors out nicely, saying “I don’t know what you want me to do, but I’m going to be cautious here and just let you tell me exactly how to handle this.”

Error Message

One of the possible error messages you’ll see is:

error: Entry 'myapp/src/main/resources/scripts/launchapp.bat' not uptodate

Solutions

If your local changes are unimportant to you and you just want to get back in alignment with the remote branch, you have two options to apply depending on the state of your local files. First, you can reset any tracked files to their last committed state via the following command. This discards any local changes to any tracked files.

git reset --hard

Second, you can discard any untracked local files via the git clean command, in the case that they are colliding with files that the remote branch has actually added and is now tracking. You can purge your repository’s current branch of untracked local files by typing:

git clean -f

And in case you are paranoid about what this will remove, you can get a safe preview of what it would do by typing:

git clean -n

Which outputs a preview list like so:

[~/Documents/Code/myproj.git]: git clean -n
Would remove morecruft.java
Would remove unwatedfile.txt

Bespin, the Mozilla Web Based Editor

Thursday, February 12th, 2009

200902122259.jpg Mozilla has just released a web based programmer’s editor that runs entirely in your browser. It is aptly named Bespin, because it runs entirely in the cloud. Skeptics beware, this has the potential to blow your mind. A quick review of the screencast shows of the power and possibilities that a web based editor is strategically poised to execute. Collaborative editing. Collaborative code review. Plugins. Borrowing someone else’s setup of plugins. A developer’s mind quickly pants with excitement for this to move from alpha to beta as soon as possible. Go Dion!

Open Source – 5 Big Reasons

Thursday, January 15th, 2009

I was asked to write a few paragraphs for a client on why they should primarily chose open source software in the current state of our industry. In addition to a few articles supporting these positions, many have posited that we should even use government incentives to further boost OSS as a spark to re-ignite the industry. Leave your feedback on what your feelings are on OSS and I’ll look into using some of the responses in my next presentation…

Open source is gaining momentum like never before in the most respected of institutions and enterprises. Originally, the choice to use open source was made only by smaller companies for strictly financial reasons. Those reasons still hold, but are now joined by a chorus of other great points in the current intellectual property, commercial vendor, and economic state that the business world is currently in.

Interoperability is strongest in the Open Source realm. Open Source enjoys the absence of financial motivations to close data inputs, and the existence of desire to have adopters join in and migrate from other open and closed platforms. You’ll find that there are numerous import & migration tools for your existing data, and you’ll discover that your data is stored in highly interoperable formats for future migration to any platform your business needs dictate.

Cost continues to be a factor leading towards Open Source in today’s economic climate. Open Source wins every time on initial acquisition cost, but also on maintenance expenses over time. You can budget for well known project costs without yearly surprise increases in maintenance just because a commercial vendor raises renewal prices.

Quality is also a strong point of Open Source. This can be surprising to teams who think that well funded commercial products would have higher quality due to all the talent on such teams. But Open Source also sports excellent talent, as well as the hidden weapon of breadth of automated unit tests, constantly guarding the product’s quality at each and every release.

In this uncertain economic climate, it can actually make more sense to know you perpetually have the full source code to your product. This removes the dangerous dependency on the continued solvency of a particular vendor. Open Source allows you to control and know your software destiny beyond any outside economic influences.

In sum, Open Source presents an attractive package in terms of cost, sustainability, and quality that are a perfect fit for the current business conditions of 2009 and beyond.

Sean Kelly’s Web Application Framework Comparison Presentation Video

Saturday, January 10th, 2009

Sean Kelly of NOAA and JPL does a head to head comparison of TurboGears, Zope, J2EE, Ruby On Rails and Django. It’s articular, fun, fast, and well presented. It’s worth your time to listen to expand your horizons.

JMeter & Plugins

Friday, December 26th, 2008

I noticed a post on JMeter EJB plugin. It is a short but well written example. My ears are a bit more attuned to Apache JMeter these days after I wrote the first OSS Groovy plugin for JMeter last month. One of my clients is now using it for scalability testing of a JEE application. I highly suggest you take a look and consider contributing ideas or code to the project. I’d be glad to have other contributors.

JCP Executive Commitee Results

Tuesday, November 18th, 2008

I applied this year to the EC elections of the JCP for a seat on the Java SE board. I got 15.8% of the vote, but alas, did not win a seat. The PR release for this can be read here.

Standard / Enterprise Edition Executive Committee
Number of eligible voters: 948
Percent voting members casting votes: 26.9%

The top two members have been elected and will serve for the next three years.

Intel Corp. 46.4%
Keil, Werner 24.9%
McCullough, Matthew 15.8%
Tiwari, Shashank 12.7%

Other NFJS Denver Reviews

Tuesday, November 18th, 2008

Several other attendees, namely Tim Berglund and Mike Brevoort took some excellent notes on the specific sessions they attended at No Fluff Just Stuff. If you want a recap of the sessions so you can best choose what to attend when NFJS hits your city, take a moment to read their summaries.

No Fluff Just Stuff and Open Source in the Enterprise

Monday, November 17th, 2008

My attendance this weekend of the NFJS tour in Denver, CO proved once again to be as valuable as ever. With a heavy penchant for Open Source and its rapid innovation, the speakers showcased technologies that weren’t even on people’s vocabulary lists just last year. And take note, these are not just technologies for the sake of technology. The speakers such as Ken Sipe, Venkat Sumbramaniam, Stu Halloway, Neal Ford, and more served out a steady stream of reasons why each new technology is a game-changer in its given space.

A quick top 5 list of the best presentations (that I attended):

  • Hacking, The Dark Arts by Ken Sipe
  • Towards an Evolutionary Design by Venkat Subramaniam
  • Git by Stu Halloway
  • Failing with 100% Test Coverage by Stu Halloway
  • Mylin by Brian Sam-Bodden

If you have an opportunity to get your employer to purchase a seat for you to attend a stop on the NFJS tour, do it. If you are self employed, then don’t even think about not going. This is one of the best ROI’s of any conference going today. As Ken Sipe said in his keynote address, you must increase your networking, you must increase your knowledge portfolio, and you must continue to constantly change and improve as we IT professionals work in literally one of the most dynamic industry verticals in the world.

A very interesting article from InformationWeek also touches on the impact of Open Source, like TerraCotta in the Enterprise. With so much Open Source presented at NFJS, one can’t help but imagine the NFJS attendees are the drivers of this migration.