Syncing Windows client to Ubuntu Linux Server in Unison

 Unison is an excellent cross-platform file synchronization utility.

  1. My brother and I were syncing large binary files, so version control systems are out of the picture.
  2. We also wanted updates to come from either his or my desktop without having to place the desired files on the server for a uni-directional synchronization like rsync.
  3. It needed to be a cross-platform utility.

Amazon MP3 Downloader in 64-bit Ubuntu

So I recently made the switch to 64-bit Kubuntu. So far the experience has been relatively painless. Graphics card, audio, and peripheral drivers have all worked 100%. I hit one snag today attempting to install the Amazon MP3 Downloader. It threw an error message about requiring an i386 architecture.

Consuming Exchange Web Services with Java using Glassfish and Metro: Creating an email message with MessageType

Moving in the “slowly but surely” spirit of my Exchange Web Services article series, my fourth article will address the most common task in messaging: creating an email message. My example below is mostly a translation of the C# example in an MSDN article titled Creating an Exchange Web Services Client Application.

Consuming Exchange Web Services with Java using Glassfish and Metro: Creating an ItemType Data Access Object

In my previous article, Consuming Exchange Web Services with Java using Glassfish and Metro: Using ExchangeServicePortType with Authentication Credentials, I went through cleaning up the creation of Exchange Web Service stubs. Then we put our generated code to good use and created an authenticator to return an ExchangeServicePortType with authentication credentials. This ExchangeServicePortType will serve the the base for all future SOAP requests. Each method of ExchangeServicePortType generates the corresponding SOAP request and returns Java objects populated by the SOAP response.

However, due to the xsi:nil error mentioned last article, we will be overloading each method of the ExchangeServicePortType. There may be other techniques out there, please comment and share them with me. This is the most straightforward way I've found to do it though.

At the end of this article we will create a data access object which returns a List of ItemType objects representing the items in your Inbox.

Consuming Exchange Web Services with Java using Glassfish and Metro: Using ExchangeServicePortType with Authentication Credentials

In my first article, Consuming Exchange Web Services with Java using Glassfish and Metro: Creating the Web Service Client, we left off having created a corrected exchange.wsdl, messages.xsd, and types.xsd files. From those files, we generated the web service client and copied the .java source files from the build into our project's source directory. In this article you will clean up a few loose ends from the generation of the Exchange Web Service stubs and create a method to return an ExchangeServicePortType bound with authentication credentials.

Consuming Exchange Web Services with Java using Glassfish and Metro: Creating the Web Service Client

Recently I was given the opportunity to write an online email client at my job. Throughout the application, at key points of contact, we will integrate message creation for students to seamlessly contact instructors, advisors, classmates, fellow club members, etc. Also, we wanted a full email client worked into the application. My point is, there are good reasons for writing the email client. This is not just some pipe dream.

Technology Background

Here's the technology background for this work:

Email Server: Exchange 2007 SP1 (with Exchange Web Services enabled)
Programming Language: Java 1.5 or later
Application Server: Oracle Application Server 10g (production)
  Glassfish v2 (local development)
Web Service Stack: Glassfish Metro (guide for deployment on OC4J later)
Development IDE: NetBeans 6.1 (guide for Eclipse 3.4 later)

I've installed Drupal Code Filter

I had been looking for a code coloring/formatting module for Drupal for a while. It hasn't been a concerted effort on my part. I casually Googled for it every once and a while... never stumbled upon one before. Apparently tonight's search terms did the trick :)

"Code Filter" is the name of the plug-in, and after installing it you just wrap your text in <code> tags and it will escape all the code for you so it looks like a good geek's blog.

System.out.println("Check out my sweet code filter... huzzah!");

Upgraded to Drupal 6

I upgraded the site to Drupal 6.3 today. I lagged a little behind but I was waiting for all my modules to be at least development releases and preferred that a majority be stable releases. So far the only one I've had trouble with is my Flickr module which was at alpha1 when I installed it. Hopefully I can get it back up and running soon. I rather enjoyed it.

One feature I know I will enjoy, hope works out and stops some comment spam I've had to administer, and I hope the occasional commenter I have will enjoy is the addition of a CAPTCHA module. Comments can now be posted without my administrative approval (the way I had set it up previously). So it should allow more direct feedback to those who post comments.

Jake 2 is Quake 2 engine ported to Java

So maybe I'm behind the times, as would be suggested by the latest release of Jake 2 (May 8, 2006), but this is the first I'd heard of it, and I was pleasantly surprised. Anyway, I thought it was cool.

So I downloaded the installer, dusted off my old Quake 2 disc and gave it a whirl. Everything ran smoothly (graphics were 100% smooth for me) except sound was not working.

I am running Kubuntu 8.04 currently. I was getting the error "open /dev/[sound/]dsp: Device or resource busy". After a bit of Googling it seems artsd has a hold on OpenAL, the sound library that Jake 2 was using. So I ran the following command to kill the arts daemon:

sudo killall artsd

My Graduation Countdown

I graduate on Saturday, May 17, 2008 at 2:00pm from the University of St. Thomas with a degree in Quantitative Methods and Computer Science, and a minor in Journalism and Mass Communication. Each day I remind my co-workers of the number of days till my graduation. They joked that I should have a millisecond countdown. So running through May 17, I will have a graduation countdown in the right hand column of my blog. Here's to you, Web and Media Services:

 

db4o is pretty cool. I think I may stay for a while.

I've vented before on this blog regarding my frustrations with Hibernate as an ORM solution... and I'm not so sure I like ORM altogether. It's like trying to screw in a phillips screw (relational DB) with a flathead screwdriver (object-oriented language). You know it's not the correct tool, but you really don't wanna switch screwdrivers and go grab something new. With enough fiddling you'll probably be able to screw in the philips screw in, but it takes an incredible amount of finess, frustration, and patience to get the job done. Then taking the screw out later is a big pain in the ass since you stripped it putting it in with the wrong tool.

Wubi - It works. It's easy. It's Ubuntu Linux.

I am a big Ubuntu fanboy. The Ubuntu (and other *buntu flavors) developers really got the distribution right. I have 3-4 different Ubuntu-related RSS feeds in my reader. One of them told me about Issue 8 of Full Circle Magazine, a free Ubuntu magazine. Inside there was an article on an interesting new project, Wubi, an Ubuntu installer for Windows.

 

Pause.

 

Excellent article on using data source connection pooling in Java

Before you go and try and use Connection Pooling without reading anything on it... like the idiot I was... check out this article from Java World. It's a nice write up on the principles behind connection pools and how to properly write a connection using them.

Running Drupal cron jobs on GoDaddy hosting

05/31/2010 Update: Between the time I originally posted this article and now, Drupal has continued to grow in popularity and GoDaddy's drop-in applications are super-easy. Although the article is still valid for those who've done their own installations, if you're starting from scratch then using the drop-in applications may be easiest.

Running Drupal's cron.php in GoDaddyI [heart] Drupal. And for those of you interested in aggregating content, you know that Drupal needs a regular cron job (a scheduled task) to update your aggregated items. The easiest way to do this is schedule a curl http://www.yoursite.com/cron.php All Drupal sites have that cron.php file by default and when you run it, any cron jobs configured in your Drupal project will be run.

Null Pointer exception when adding content to DSpace

The Problem

My coworker and I were installing a fresh setup of DSpace on an existing Oracle 10g installation. First of all, deploying the application via the Oracle Application Server was not working at all. Eventually we decided to make an exception for DSpace (from our normal deployment procedures in my office). We set up Apache Tomcat on RedHat Enterprise Linux 5 and the application finally deployed.

Syndicate content