Thursday, December 18, 2008

HTTP Builder - Home

HTTP Builder - Home

I have found HTTPBuilder to be incredibly useful in Groovy. Shouldn't it be named HttpBuilder?

Anyhow, I used it to script calling an HTTP service. I was having a few issues with the get method until I started using 'params' instead of 'query' as the Google example is doing. The documentation is sparse so likely I was misusing this facility.

Thursday, December 11, 2008

Lacie Lightscribe with Toast


Getting the following error with DL DVD's. :(

Thursday, December 4, 2008

boxee blog » boxee: Netflix and Apple TV

boxee blog » boxee

I am elated someone is doing this. It is putting new life into the Apple TV in my opinion. Netflix support seems like a must-have. After that can someone (Apple) provide a way to use Safari and a keyboard with my Apple TV? Thanks.

Sunday, November 30, 2008

essential tools for developing Firefox extensions

I have been learning the process of writing extensions for Firefox for a few weeks now and thought I would jot down some of the tools I have found essential. I am using a Mac.

  1. TextMate. Not required of course but I find I open lots and lots of files all over the place that don't - xul, js, xml, etc.
  2. XULBooster I've been using Eclipse to organize the entire project and XULBooster provides a nice way to generate a skeleton project that for the most part works.
  3. XULExplorer I have been unable to get XULBooster to preview my XUL layouts but XULExplorer can. XULExplorer certainly has many more features than preview but it is all I am using it for at this stage.
  4. Not really a tool but I found it essential to code/test/debug to set a file in the extensions folder that points directly to my project root folder. That way I can code and test without creating an xpi file each time.
  5. Extension Developer add-on. The ability to reload Chrome without restarting FF is essential. Also, the interactive JavaScript console was a big help to me when I was trying to debug my first XPCOM component without having to worry about having a XUL/Javascript shell to deal with.

Thursday, November 20, 2008

About Migratr | Calling Shotgun

About Migratr | Calling Shotgun

It is .Net I think.

A nice idea indeed and I plan to use it to move my stuff to Picasa as well. I learned about it from this post.

Monday, November 10, 2008

Wednesday, October 29, 2008

Integration with WTP - Maven Integration for Eclipse - Codehaus

Integration with WTP - Maven Integration for Eclipse - Codehaus

I am stil working on this issue. I still want to be able to cleanly integrate Maven + WTP + Tomcat 6.

Tuesday, October 28, 2008

Alistair’s cakeBlog » OS X Leopard exposes Axis2 bug

Alistair’s cakeBlog » OS X Leopard exposes Axis2 bug: "Axis2"

I suffered over this one for a few hours yesterday. I've removed the proxy settings from my ethernet settings for now. I'll report back if I note any bonjour issues as a result of removing the settings.

Monday, October 27, 2008

Wednesday, October 22, 2008

all my OS X Applications


Address Book.app Max-0.8.1
Adium.app Microsoft AutoUpdate.app
Adobe Acrobat 8 Professional Microsoft Messenger.app
Adobe Bridge CS3 Microsoft Office 2004
Adobe Device Central CS3 Mozilla.app
Adobe Dreamweaver CS3 MySQL Tools
Adobe Extension Manager Neverwinter Nights 2
Adobe Flash CS3 Notes.app
Adobe Flash CS3 Video Encoder OpenLink
Adobe Help Viewer 1.0.app Parallels
Adobe Help Viewer 1.1.app Picasa Web Albums Uploader.app
Adobe Illustrator CS3 Preview.app
Adobe InDesign CS3 Prism.app
Adobe Lightroom 2.app QuickTime Player.app
Adobe Lightroom.app Quicksilver.app
Adobe Photoshop CS3 RealPlayer.app
Adobe Reader 8 Remote Desktop Connection.app
Adobe Stock Photos CS3 SQLDeveloper.app
AppleScript Safari.app
ArgoUML.app SecureClient
Automator.app Sherlock.app
CSSEdit.app Skype.app
Calculator.app SmartReview.app
Camino.app Sprint Activation Utility.app
Check Point VPN-1 SecureClient StarExpense.app
Chess.app Stickies.app
Chicken of the VNC.app StuffIt 12
Cyberduck.app SuperDuper!.app
DVD Player.app System Preferences.app
Dashboard.app TeamViewer.app
Dictionary.app TeleScope Folder
FileZilla.app TextEdit.app
Firefox.app TextMate.app
Flickr Uploadr.app TheNotePad.app
Flip4Mac Utilities
Font Book.app VLC.app
Font Reserve Client VMware Fusion.app
GarageBand.app VirusScan.app
Google Earth.app Wacom Tablet.localized
Google Updater.app Webmail.app
GoogleAppEngineLauncher.app Wii Transfer.app
HandBrake.app eclipse
HoudahGeo.app iCal.app
Image Capture.app iChat.app
IntelliJ IDEA 7.0.4.app iDVD.app
Internet Connect.app iMovie.app
JarInspector.app iODBC
Journler.app iPhoto.app
MacPorts iSync.app
MacPython 2.5 iTunes.app
Mail.app iWeb.app

Apple Tutorial: Developing with MacRuby - The Unofficial Apple Weblog (TUAW)

saving this one for later

Apple Tutorial: Developing with MacRuby - The Unofficial Apple Weblog (TUAW)

Thursday, October 16, 2008

using google-glog with XPCOM

I added google-glog into an XPCOM library I have been working with and it seems to work okay for debugging. Instead of writing a file into the /tmp folder, I ended up with output into the system log on OS X. This is acceptable for debugging but probably with some configuration it could write into its own file.

compiling google-glog in XCode

google-glog - Google Code

I decided to take google-glog for a test spin by compiling a simple "Hello, World" program using XCode. Being a little new to XCode it was a good exercise in figuring out how to configure my project to find the headers and the dylib to l ink with. Here are my notes.

1. Building and installing google-glog of course results in the libraries and headers ending up in /usr/local. For me XCode did not pick up anything in /usr/local by default so I added these paths under Project Settings: Library Search Paths and User Headers Search Paths.

2. After that I added libglog.dylib to Targets | Link Binary with Libraries.

3. By default google-glog places the log files into /tmp. The docs explain how to configure log file location, etc.

My next step is to see if I can link and use google-glog with an XPCOM project I am working on to aid in debugging.

Sunday, October 12, 2008

linking XPCOM on OS X

I had a difficult time linking my first XPCOM object on OS X. After searching around and reading various posts I wound up with the following setup for the linker:



g++ -dynamiclib -o mylibrary.dylib whatever.o -L$(GECKO_SDK)/lib \
-L$(XULRUNNER) -Wl,-executable_path,$(XULRUNNER) \
-lxpcomglue_s -lxpcom -lnspr4 -lplc4


Thursday, October 2, 2008

Getting started with XULRunner - "Couldn't parse application.ini"

Getting started with XULRunner - MDC

So after working through this example for a bit on OS X I kept receiving "Couldn't parse application.ini" after attempting to use xulrunner-bin with my application.ini.

It turns out I was using a relative path:


/Library/Frameworks/XUL.framework/xulrunner-bin ./application.ini


thus causes the error, but:


/Library/Frameworks/XUL.framework/xulrunner-bin ~/Documents/Xul/myapp/application.ini

succeeds.

Friday, September 19, 2008

Code Like a Pythonista: Idiomatic Python

Code Like a Pythonista: Idiomatic Python

A very good Python tutorial to have around.

Setting up XDMCP for Mac - david winter

Setting up XDMCP for Mac - david winter

I haven't tried creating the keyboard mapping file yet. The solution I use is to go into the International settings in System Preferences and enable showing of the keyboard input type on the menu bar. From there I select the US and US Extended. Toggling between the two usually does the trick.

Thursday, September 18, 2008

Posting HTML or XML markup on Blogger

Finally getting around to this but this tool is essential. Nicely done.

Character Shifting Algorithm

Here's a simple character shifting algorithm. It gives me a chance to test out google-code-prettify JavaScript/css I just added to my blog.



public class CharacterShift {

/**
* @param args
*/
public static void main(String[] args) {
char[] word = "iphone".toCharArray();
int shift = 3;
char[] result = new char[word.length];

for (int k = 0; k < word.length; k++) {
int p = (k + shift) % word.length;

result[p] = word[k];
}

System.out.println(String.valueOf(word) + " shifted by " + shift + " becomes " + String.valueOf(result));
}

}

Tuesday, September 2, 2008

Google Chrome

http://googleblog.blogspot.com/2008/09/google-chrome-now-live.html

My prediction? This represents a new paragraph or maybe chapter in Internet history.

Friday, August 15, 2008

Maven + Eclipse 3.4 + WTP

For me this replaces MyEclipse on my Mac.

The step I have been missing is the maven-eclipse-plugin.


<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpversion>2.0</wtpversion>
</configuration>
</plugin>

Thursday, July 10, 2008

myitunespurchases goes OpenSocial.

I'm in the process of adding to my existing app to provide OpenSocial support. So far I've built out a basic tabbed gadget. This is a different approach than I took on Facebook and I think I like it better. It gives the option of editing the feed url. I have the tab support built and a mechanism for the dynamic content. The next step is to add the JSON support.

Tuesday, July 8, 2008

adding JSON support

Earlier this morning I started adding JSON support to myitunespurchases. This should prove to be straightforward since the core processing of the iTunes feed is a simple block of code right now. Once I have JSON support setup then it will be a simple matter of adding an XML gadget file for OpenSocial support.

protobuf - Google Code

protobuf - Google Code

Could be handy for a small, simple site.

Thursday, July 3, 2008

Facebook | My iTunes Purchases

Facebook | My iTunes Purchases

Okay so I'm officially in beta testing with my Facebok app. I have more features in mind and I know the layout needs some cleanup for the Profile page. There's more to follow.

Wednesday, June 25, 2008

Monday, June 23, 2008

PyFacebook frustration

So currently I'm just a little frustrated with using PyFacebook on Google App Engine. The problem is that I'm not really using Django and I'm struggling to figure out how to use the library for support for things like adding FBML to the profile page.

Saturday, June 14, 2008

Facebook application on Google App Engine

I've been working on a Facebook application using Python and Google App Engine for a few days now. It is called My iTunes Purchases.

I'm currently doing a little testing of the app and thinking over some design changes.

The first thing I want to change is go back to plain iframe/HTML instead of FBML. The ability to not use Javascript with FBML is a drawback and I feel like it limits what I can do with templates and testing of the application.

One stumbling block for me was to figure out how to manage the application in different states. My first attempt was to try and use multiple templates for this but then I ran into problems trying to forward to my various templates after a form post, etc.

Finally, I'm in the process of trying to figure out how to add items to the mini feed when a user of the application purchases something. Ideally I'd like to be able to add items to the feed even if the user doesn't login to Facebook.

Friday, June 13, 2008

Google I/O content online

Slides and videos

It is like being there but having the opportunity to attend EVERY session.

Friday, May 30, 2008

hibernate3-maven-plugin and hbm2ddl

I've wrestled with this quite a bit in the past few days. I had a difficult time figuring out some of the settings from the plugin site. Here's what I finally ended up with that works properly.


<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>
jpaconfiguration
</implementation>
</component>
</components>
<componentProperties>
<drop>true</drop>
<jdk5>true</jdk5>
<outputfilename>schema.ddl</outputfilename>
<persistenceunit>Developer</persistenceunit>
<propertyfile>target/classes/jdbc.properties</propertyfile>
<skip>${maven.test.skip}</skip>
</componentProperties>
</configuration>
<dependencies>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.7</version>
</dependency>
</dependencies>
</plugin>

Thursday, May 29, 2008

Google App Engine

Now that Google has opened up Google App Engine, I finally have an account. I never received one during the initial releases. I've been working on a simple Python application intended to manage teams. Essentially the type of team I'm intending the site to manage are youth sports teams.


iTeam


For now though I basically have the classic file maintenance pattern as I like to think of it. Essentially it is a form with a list of inserted records below the form on the same page. Very simple. However, I've been coding this same pattern in various formats for my entire career it seems. This go-around though it is in Python using Google's version of Django which I have been learning. The real power though is the ability to define a data model within Python code and then let the app engine manage the physical representation and deployment of the data. That's a lot of work off-loaded.

My goal is to integrate the site with other Google services so that a coach could create a team and then allow families to join the team in order to view the team schedule, contact list, share photos, etc. There's lots more to do.

Tuesday, April 29, 2008

High Performance Web Sites :: Cuzillion

High Performance Web Sites :: Cuzillion

This is a major time savings for testing and site optimization.

Monday, April 28, 2008

waiting on account

I've written my first mini-app in Python for Google App Engine and now I'm just waiting on an account. After so many years of Java, Python feels strange and awkward. I'll need quite a bit more time with the language before it feels more comfortable.

Wednesday, April 23, 2008

Google App Engine and Python

I'm setting out to learn Python and Django in order to make some use of Google App Engine. I spent an hour yesterday working through the helloworld sample that results in a reasonable guest book application. I don't want to sound like an ad for Google but there are many compleing reasons to give this technology a try. The specific reason that interests me at this stage is the ability to take an idea for a site and actually have someplace to host it for free. Maybe there are other offerings similar to this?

The only feedback I have so far is that editing just an html template does not cause the page to be reloaded by the Python server. At least this is the case for me on OS X 10.4. Maybe it works differently on Leopard? Instead making a change to the .py class file does cause the html to be refreshed.

Also, I don't know any Python yet! Java clouds my vision for now.

Friday, January 18, 2008

thoughts on iPhone

I switched to an iPhone this week after my trusty Treo 680 stopped working. That is for some reason the sound and voice microphone stopped working. I thought the Treo was the best phone I have ever owned and that was true then. The iPhone is even better.

One thing about the iPhone I find interesting is the design choice to not have drop down menus. I know this greatly simplifies the UI but the Treo had the concept of a button that would trigger a drop down menu to appear at the top of the screen. I found this intuitive and a good way of hiding the menu to gain more screen real estate. I find that the iPhone has to put buttons at the top of the screen for save, exit, etc since it lacks a menu system. It is a tradeoff. Since the iPhone only has a single home button for simplicity sake I can understand how the hidden drop down menu was not included in the UI design.

Thursday, January 17, 2008

Garmin adds more Mac support

Hooray

Garmin Bobcat

This lets me cut just one more cord to my PC.

Wednesday, January 16, 2008

Thinking in Google

I've found it interesting lately how if I come across a topic that I need to research or find more information then my brain automatically begins to think in keywords for a Google search.

This leads me to think back as to what it was like before Google existed. As a software engineer, it used to be far more difficult to obtain useful samples or information for issues with code. One tended to rely on everything provided by a vendor for documentation and if a topic was not covered or not covered well, then it was highly difficult to obtain good information. This goes back to the days of CompuServe forums for me.