iPhone Emoji in Adium

Have you enabled Emoji on your iPhone to use emoticon-like characters like 13 year-old Japanese girls? Well if you have, you've noticed that sending those characters in e-mail and IM to non-iPhone users ends up in little boxes of unreadable gibberish if you're lucky or whitespace. Most people understand the concept of Unicode if you're a geek. Someone like my mom doesn't always remember that Emoji being sent over IM, while she's on her own iPhone, isn't going to be readable when I'm on my Mac. ...

March 7, 2011 · 2 min · Aaron

Mac OS X - Adding a loopback alias

I do a lot of local web development on my MacBook Pro. Frequently I had multiple tiers of servers running - a Jetty instance running the web tier and a JBoss/EJB server doing the business tier behind it. The problem is JBoss opens up so many ports on a particular network adapter and trying to get JBoss and Jetty to share a single IP is a nightmare. So the easier way is to just create a new IP or alias your localhost (127.0.0.1) into something like 127.0.0.2. When you start up Jetty, you pass in the binding IP of .2 and then JBoss and Jetty place nice with each other. ...

February 4, 2011 · 2 min · Aaron

How Evernote Won My Time Warner Battle

If you don't know what Evernote is, I'll quickly summarize it for you. Evernote is a cloud-based service that is accessible through the means of a web site, mobile and computer application and various other APIs. The point of Evernote is that if you ever find something you want to remember - a piece of text, web page, a PDF, an image, recipe, sound bite, anything, you put it into Evernote. Their service indexes it to make it searchable and then you forget about it until you want to find it later in life. It's more than that but you have to discover how it's useful to you. ...

January 13, 2011 · 3 min · Aaron

CDMA / Verizon iPhone

There has been quite a bit of press about the upcoming Verizon / CDMA iPhone. I'm happy to hear that AT&T will finally lose the monopoly on the iPhone in the United States, but I'm disappointed that nothing has come out yet about T-Mobile carrying the GMS version of the phone. AT&T needs the competition to spread out the massive amount of users onto another network because frankly, they can't handle the amount of growth they've experienced. The iPhone is a great device, and I've had nothing but a positive experience for the most part with AT&T. ...

January 9, 2011 · 2 min · Aaron

Hibernate 3.6.0.Final + PostgreSQL + CLOBs

I recently upgraded a project I'm working on to Hibernate 3.6.0.Final from 3.5.6 and realized that one of my entities that had a CLOB (character large object) was pooping out. I was getting an exception stack track similar to: Caused by: org.postgresql.util.PSQLException: Bad value for type long : <table border="0" cellspacing="0" cellpadding="0" id="productDetailLineItems"><thead><tr><td rowspan="2"><input type="hidden" name="productGroupId" id="productGroupId" value="101111"/>Item Number</td><td rowspan="2">Motor HP</td><td rowspan="2">Price</td></tr></thead><tbody><tr><form method="post" id="4581000" name="4581000" action><td>4581000</td><td><span style="fraction"><sup>1</sup>/<sub>2</sub></span></td><td><input type="button" onclick="javascript:addToCart('4581000');" value="$prc4581000" /></td></form></tr></tbody></table>at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2690) [:]at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:1995) [:]at org.postgresql.jdbc3.Jdbc3ResultSet.getClob(Jdbc3ResultSet.java:44) [:]at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getClob(AbstractJdbc2ResultSet.java:373) [:]at org.jboss.resource.adapter.jdbc.WrappedResultSet.getClob(WrappedResultSet.java:516) [:6.0.0.Final]at org.hibernate.type.descriptor.sql.ClobTypeDescriptor$2.doExtract(ClobTypeDescriptor.java:70) [:3.6.0.Final]at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64) [:3.6.0.Final]at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:253) [:3.6.0.Final]at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:249) [:3.6.0.Final]at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:229) [:3.6.0.Final]at org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:330) [:3.6.0.Final]at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2265) [:3.6.0.Final]at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1527) [:3.6.0.Final]at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1455) [:3.6.0.Final]at org.hibernate.loader.Loader.getRow(Loader.java:1355) [:3.6.0.Final]at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:611) [:3.6.0.Final]at org.hibernate.loader.Loader.doQuery(Loader.java:829) [:3.6.0.Final]at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274) [:3.6.0.Final]at org.hibernate.loader.Loader.loadEntity(Loader.java:2037) [:3.6.0.Final]... 167 more ...

January 6, 2011 · 2 min · Aaron

Installing MySQL 5.5.8 on Mac OS X Snow Leopard

Installing MySQL should be a no brainer on any operating system, especially with how mature of a product it is. Apparently that assumption is incorrect. I tried installing the most recent GA release of MySQL on my new Snow Leopard machine, and found I couldn't start the blasted server. I've become lazy the older I get - I don't want to screw around with shell scripts, hacking this tweaking that. If I'm provided a Mac-based installer I WANT IT TO WORK. So, if you're like me and are frustrated as all hell with not being able to get MySQL to start via System Preferences after installing the 64-bit version (maybe 32-bit as well), do the following: ...

December 21, 2010 · 1 min · Aaron

Flush THIS Hibernate!

I've been working with Hibernate 3.3.2 and Hibernate Search 3.1 for the past few months. We finally got to a point in our project where we are sucking in mass amounts of data into our application from a large business application via JMS. Suddenly, I'm getting the following errors during persistence: org.hibernate.AssertionFailure: collection [ class name here ] was not processed by flush() I tried changing the owning side of the collection, made a join table, and nothing helped. The error started when I added an @IndexEmbedded annotation to the collection, and I discovered I was missing the @ContainedIn annotation in the collection entity. That didn't fix it. After weeks of doing little tweaks, breaking, fixing, breaking, fixing, I finally discovered the problem. I was using an older manual for Hibernate Search (3.0 specifically) and I had the following configuration parameter pushed into my SessionFactory: ...

June 12, 2010 · 1 min · Aaron

Eclipse & Properties Files / ResourceBundles Editor

The current project I'm on is pretty heavy into internationalization aka i18n. I found a pretty decent resource bundle editor for Eclipse that makes creating synchronized files across all languages much simpler. http://sourceforge.net/projects/eclipse-rbe It installs in a snap and provides a simple, yet powerful, interface for a bundle.

June 8, 2010 · 1 min · Aaron

Mac Screen Sharing (VNC) & White Screen

I've had problems connecting to my Ubuntu 9.10 server via Mac OS' built-in VNC client, "Screen Sharing". Frequently when I connect, I get a white screen with no indication that the connection is working. If I type characters or click the mouse, it does actually send those events to the remote side. My only option was to use Chicken of the VNC (which sucks) to connect to my server. Finally, I did some digging and found the solution/workaround. ...

May 2, 2010 · 1 min · Aaron

Spring 3.0 + Hibernate 3.3.2 + JBoss Cache 2 + JTA = Fail

I've spent the past two days trying to get a distributed secondary Hibernate cache working with a Spring 3 application. The application is web-based running on JBoss 5.1 so I figured the best approach would be to use JBoss Cache, since it's automatically configured and available in JNDI when you use the "all" configuration. Hibernate 3.3.2 is configured inside of Spring using the Annotation-based session factory bean. Because I'm using JTA to manage transactions and Hibernate's current session, I need to make sure that the secondary cache, whatever I choose, is aware of the transaction manager. I originally had EHCache 2.0.1 hooked into Hibernate via Hibernate configuration parameters passed into Spring's bean. I was not setting the cache factory parameter on this bean. Everything works fine in this configuration and it recognizes the JTA transactions. ...

April 14, 2010 · 3 min · Aaron
")):(e.dataset.theme="dark",localStorage.setItem("pref-theme","dark"))})