Desktop Apps Be Damned

Posted by Double Compile. Monday, June 6. 2011, 10:49 AM in Java

As a side project, a couple of friends and I for a long time have been working on the Elysium role-playing game. I had an idea yesterday for a character generator and campaign builder. I remember from years past when I used to play Dungeons and Dragons that there was a free software character generator called PCGen. I took a look at it to see how easily I could develop plug-ins or data sets that applied to our game system. I didn't get a warm fuzzy about this looking at the PCGen docs.

Jonathan Hawk's Rule of Programming #0 states that you will try to extend or reuse something, but find out it sucks and end up doing it yourself anyway. I'm not saying that PCGen sucks by any stretch, but I don't think our non-d20 game system will be easily implementable there. Time to roll our own.

I toyed with the idea of implementing it using Eclipse RCP, even going so far as to downloading the RCP environment and doing a tutorial. I was pretty impressed how easy it was to get a simple app going with Eclipse RCP. It was at this point that a few sudden realizations hit me.

  1. I hate Java. I do it all day at work and with each keystroke, a little bit of my soul is stolen.
  2. I run Linux. If we wanted to distribute this cross-platform, I would have to do some leg work to get it built on Windows and Mac OS X machines.
  3. I gave thought to recent trends in computing of late: mobile and distributed applications. Nothing new and exciting is happening with native desktop programs anymore.

I decided to abandon the idea that this application needs to be locally-installed on a person's computer, instead realizing that with HTML 5, I can create an app that runs across different devices (including phones and tablets) and would allow people to store their created characters and game information both locally on their device and remotely.

To the ☁! Desktop Apps Be Damned!

Defined tags for this entry: , ,

Thinking Beyond

Posted by Double Compile. Wednesday, February 9. 2011, 03:29 PM in Hardware

On June 5, 2009 — the day before the Palm Pre released, I decided that I would pick one up on a whim, having read the news and hype about it in the preceding months. I got up early that Saturday and was at my local Sprint store by 6:30am, being one of the first 10 in line.

I put the Palm Pre in my hands and never looked back. I was floored by its looks, its ease of use, and its multitasking. Later, I was courted by Palm's warm feeling for their developer community. When HP announced their purchase of Palm, I was wary at first, hoping they wouldn't bury this phone platform I came to love. (I'm not a fanboy, I'm an enthusiast!)

After watching the coverage of the Think Beyond event today, I can safely say that HP gave me the warm fuzzies thanks to all we've been waiting for: new hardware!

  • Pre3 – What I'm doing with my summer vacation. 1.4 GHz. 3.5″ 480×800 WVGA. 512MB RAM. 802.11a/b/g/n. Autofocus 5MP HP 720p Camera. Front-facing VGA Camera.
  • Veer – This thing is adorable. 800MHz. 2.5″ 320×400. 5MP Camera. I think this is their answer to the Kin.
  • TouchPadDaddy Like. Dual Core Snapdragon 1.2GHz. 9.7″ 1024×768 XGA. 1GB RAM. 802.11b/g/n. 1.3MP Front-facing Camera.

The Touch to Share concept and SMS/call forwarding from the Pre3 to the TouchPad look absolutely sick.

The phone's availability is "this summer". I can only hope that Sprint decides to get off its ass and carry more webOS hardware.

The event ended with an enigmatic reference to HP's plans to bring webOS to the Personal Computer. How exactly will that work?

Defined tags for this entry: , , , ,

Number of the beast

Posted by Double Compile. Thursday, January 6. 2011, 01:23 PM in PHP

As it turns out, the Number of the Beast isn't 666.

… it's 2.2250738585072011e-308

Defined tags for this entry: , ,

Extreme malcontent

Posted by Double Compile. Wednesday, December 22. 2010, 03:00 PM in Databases

SQLSTATE[HY000]: General error: 1007 Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

I hate you so much, Microsoft SQL Server.

Defined tags for this entry: , , ,

SharePoint sucks like a bad relationship

Posted by Double Compile. Tuesday, October 12. 2010, 04:14 PM

Much of this clever metaphor came from a lunch conversation I had with two gentlemen at OSCON this year.

The only people I have heard saying good things about SharePoint are the ones who are about to install it.

Your guy pals have all heard about this exciting and fun girl, Sharon Point, from one of her friends. They decide to fix you up with her.

You do what any responsible person would do in a new relationship. You Google her. On your first date, you discover she seems like a nice, talented, and well-organized lady. She's apparently pretty popular! Your guy pals congratulate themselves for finding you such a great girl.

This is when the ice weasels come. You find out Sharon Point isn't like other girls.

  • She takes you home to meet her crazy parents.
  • You mysteriously end up being forced to spend more time with her friends, and not yours. You liked your friends just fine, but she says your friends make her feel uncomfortable.
  • When you started dating, you knew she was fluent in French, so you learned French. After all that, it seems she speaks an obscure dialect of French and you often spend hours trying to say the right thing. Most of the time she is just mad at you and refuses to do what you think you've asked. Sometimes you find there just isn't a word in her dialect for what you're asking.
  • She's stubborn and hates diverting from her routine. As long as your guy pals don't want her do anything out of her comfort zone, she is more or less alright to be around, but she refuses to behave a little differently if asked.
  • You heard that she had a ton of skills. Seemingly, she's pretty mediocre at most of them. You could have met a girl who was better at blogging, or one who knew her way around a wiki.
  • Her grammar is horrible. At first you didn't notice, but now you're embarrassed to take her out in public.

In a fit of desperation, you get in contact with one of her old boyfriends for any wisdom he can offer. When you meet, you find him a drained husk of a man, shivering and muttering to himself. He insists your relationship will never work. You should run for the hills.

If only your guy pals knew what horror she can be. They seem to have a good time with her, but when the two of you are alone, she's a vile demoness, confusing and frustrating you to no end. At this point, you probably start dreaming about dumping her.

Fortunately, I'm neither a SharePoint developer nor an administrator. At times, I'm a begrudging user. Hopefully this brought a smile to your face, you poor, poor SharePoint person.

Defined tags for this entry: , ,

Musopen aims to free classical music

Posted by Double Compile. Monday, September 13. 2010, 05:33 PM

While the sheet music for many classical music pieces are in the public domain, recordings of these pieces are not. Enter Musopen: a nonprofit charity that hosts an online repository of public domain classical music recordings. Content authors ranging from indie filmmakers to the Mythbusters production staff have utilized Musopen's collection.

Just recently the founder of Musopen, Aaron Dunn, has started an initiative to raise funding to record a bunch of music and release it under the CC0 license.

We want your help to hire an internationally renowned orchestra to record and release the rights to: the Beethoven, Brahms, Sibelius, and Tchaikovsky symphonies. We have price quotes from several orchestras and are ready to hire one, pending the funds.

With coverage on Slashdot and Ars Technica, the project has received a lot of attention and smashed through the goal of $10,000 (at the time of writing, they've raised over $40,000).

Being a huge proponent of liberated content, I actually donated $75 to the project, and I think the rewards are notably worth it. Not only will everyone benefit from the unencumbered music, but I personally get the following:

  • Early access to the music online before it's released publicly
  • A master copy of the CD before it's released to the public
  • The entire Musopen library on DVD (lossless quality)
  • A Musopen Pro account for 1 year
  • A Musopen t-shirt
With 29 hours to go, it will be interesting to see how much the project ends up raising. Think about donating or spreading the word!
Defined tags for this entry: , , ,

Microsoft wants feedback on Azure? Tell them to Open Source it.

Posted by Double Compile. Monday, August 30. 2010, 05:04 PM in Open Source

One gentlemen whose talks I always enjoy watching is Simon Wardley, a noted cloud personality and all around knowledgeable guy. He posted a message on Twitter earlier today about a suggestion he added to Microsoft's Azure feedback site.

Here's the blurb at the top of the Azure site:

Hi I’m Mike Wickstrand, Senior Director of Product Planning for Windows Azure. If you have something you need from Windows Azure, please tell us what it is and vote for other's[sic] ideas. I put a few things on the list just to get you started, but feel free to add your own! We want to better understand what you need from Windows Azure and to build plans around how we make the things that "bubble to the top" a reality for our customers in the future.

The release of OpenStack really backs up the call for truly open cloud platforms. Here's our chance to tell Microsoft exactly what we want: Azure to be Open Source software. Let's tell them to get their head out of the clouds.

Defined tags for this entry: , , ,

Spring + Hibernate Search 3.1.0 = ArrayStoreException

Posted by Double Compile. Tuesday, January 19. 2010, 11:30 AM in Java

I'm using Spring Framework version 3.0.0 (although, I'll bet the same problem would happen with 2.x). I'm using Hibernate Search 3.1.0 (That's what's in Maven. I wonder why there's no 3.1.1).

Trying to use the configuration as follows inside of a Spring configuration document.

<property name="eventListeners">
<map>
<entry key="post-update" value-ref="fullTextEventListener" />
<entry key="post-delete" value-ref="fullTextEventListener" />
<entry key="post-insert" value-ref="fullTextEventListener" />
<entry key="flush">
<list>
<bean class="org.hibernate.event.def.DefaultFlushEventListener" />
<ref local="fullTextEventListener" />
</list>
</entry>
</map>
</property>

Upon running some unit tests, I get a nasty Exception stack, with the following at the root.

Caused by: java.lang.ArrayStoreException
	at java.lang.System.arraycopy(Native Method)
	at java.util.ArrayList.toArray(ArrayList.java:306)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:759)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398)
	... 57 more

The root cause of the problem (and I needed to debug the Spring/Hibernate internals to figure this out) is that FullTextIndexEventListener does not implement the FlushEventListener interface in version 3.1.0, but it does in 3.1.1.

Solution: upgrade (if you're using Maven, try the JBoss repository which has the latest stuff) or omit the "flush" event from the configuration.

ColdFusion is Painful. Stop Using It.

Posted by Double Compile. Tuesday, November 17. 2009, 11:28 AM

I'm a software engineer with 10 years under my belt, and my specialty is web-based applications. I have used a number of platforms to author applications of all sizes. PHP is very near-and-dear to my heart (Stop laughing. I'll save my defense of PHP for a separate post). I have used Java EE. I have used ASP.Net. I have also used ColdFusion. (To a lesser extent, I have used Perl and Python, but only once each and it's been years). I am comfortable saying I have enough experience with those platforms to give ups and downs.

The purpose of this article is to lay out the downs of ColdFusion, for in my opinion, it has few ups. To quote a comment in this blog post, "Coldfusion indeed sucks major spidermonkey testicles." This post is not a reasonless rant; I have many reasons listed below that ColdFusion should be avoided and they're pretty good. This is not another "ColdFusion is a dead language" post. Far from it, I know ColdFusion is still alive and kicking, and that is a sad truth.

Continue reading "ColdFusion is Painful. Stop Using It."

Defined tags for this entry: , , , ,

GRUB error 24 in Ubuntu Karmic and the fix

Posted by Double Compile. Thursday, November 12. 2009, 11:59 AM in GNU/Linux

I applied a bunch of updates to my installation of Ubuntu 9.10 Karmic Koala this morning. Let it be known that I upgraded to Karmic from a clean install of Jaunty, and my root partition was once an ext3 file system turned into ext4. I returned from taking a shower to find the system had completely locked up, so I rebooted. Anyway, I got just past GRUB and received the following error:

24 : Attempt to access block outside partition
ohhaybadnewz

As it turns out, the GRUB Manual gives the following as a possible reason.

"This error is returned if a linear block address is outside of the disk partition. This generally happens because of a corrupt filesystem on the disk

So I inserted the Live CD and ran fsck.ext4 -f on the device in question, and no errors were found. Peculiar.

Some Google searching turned up this Launchpad issue, which in turn pointed me to a blog post called "Grub voodoo error no 13/24 and how do i fixed it" for a possible fix.

Allow me to quote from that post (thanks so much, Marius) the correct procedure to fix this beast in case anyone else runs into this little problem. Fill in /dev/sda with the correct device name for your disk containing the root partition.

$ sudo su
$ mount /dev/sda1 /mnt
$ mount --bind /dev /mnt/dev
$ mount --bind /dev/pts /mnt/dev/pts
$ mount --bind /dev/shm /mnt/dev/shm
$ mount -t proc none /mnt/proc
$ mount -t sysfs none /mnt/sys
$ grub-install /dev/sda --root-directory=/ --recheck

I rebooted and everything was fine; crisis averted.

Defined tags for this entry: , , , , ,

So long, Geocities!

Posted by Double Compile. Monday, October 26. 2009, 04:59 PM

Well, GeoCities, you had a very long run. A small part of me is sad to see you go. Another part of me is getting intoxicated in celebration.

GeoCities can be explained as a writhing and shrieking cesspool of tag soup within which, once one managed to dredge through the utterly purposeless, gaudy, and pulsing adornments, one could find minuscule amounts of useful information.

I remember your competitors way back when: Tripod, Angelfire, and even Crosswinds. You made it easy for the first generation of Web neophytes to express themselves in a hideous and grotesque manner as illustrated by Bruce Lawson (coincidentally, in reference to the intoxication comment above, I met Bruce at OSCON and exchanged pleasantries over alcohol).

So here's to you o harbinger of pedestrian drivel! Don't let the door hit you on the animated .gif ass on your way out.
Defined tags for this entry: , ,

The VARCHAR controversy

Posted by Double Compile. Tuesday, September 1. 2009, 05:32 PM in Databases

Today's exchange originated from a short-lived discussion on Twitter.  Everyone familiar with the acronym VARCHAR? It's short for variable character, which is a SQL data type.

Since it's short for variable character, one would think the correct pronunciation is /ˈvær.ˈkʰæɹ/.  (For those of you who don't read IPA, that's var—rhymes with bare—and char—also rhymes with bare).

It drives me up a wall when I hear someone pronounce it like it rhymes with "Far Car", or worse still, soften the "Ch" like in Charbroiled.

Anyway, these are my favorite tweets in regards to the matter:

  • @RealBigDannyT: VARCHAR STARE!!!
  • @rizza: I, too, char varry much about how people pronounce this.

Now, don't even get me started on how you should pronounce "SQL".

Defined tags for this entry: , , ,

On the road to Xen

Posted by Double Compile. Sunday, July 12. 2009, 09:41 AM

So I put an extra gigabyte of RAM in my modest development server and installed Xen to do some playing around.  Amongst the many new experiences, I saw this message which made me chuckle.

clocksource/0: Time went backwards: ret=343f6d032989 delta=-17674760 shadow=343f4cbff272 offset=21530354

It looks as though I inadvertently created a DeLorean DMC-12.

Defined tags for this entry: ,

Furthering Ubuntu

Posted by Double Compile. Wednesday, April 29. 2009, 11:13 AM in GNU/Linux

In recent months, I've taken to spreading the love that is Ubuntu. 

For Christmas, I gifted it to my parents and installed it on their PCs.  My dad uses the Internet and checks his e-mail, my mom does some more power user things, like scanning documents, syncing music to her iPod Nano, and managing her photos (I even got her dated Windows Pocket PC syncing correctly).  They both enjoyed not having to pay to renew their security packages.

When Jaunty Jackalope came out, I made sure my friend Dustin got it installed—who had more malware infections on his Windows XP laptop than I've ever seen.  He was blown away by how simple the software installation process is, and he's now considering marriage with Compiz Fusion.  Alas, I couldn't get Planescape Torment working for him under Wine.

Deidre, one of the players in my tabletop roleplaying group, has requested a Live CD to try it out—soon she too will be one of us.

Not too long ago, I set up my friend Serge with a dual boot of Ubuntu on top of pre-existing Vista.  The only reason he even agreed to keep Vista there was because his Intel graphics chipset did not play well with WoW on Wine.

Serge's wife Cristi has been declaring that she's fed up with her Windows XP laptop and just today mentioned it's now unusable thanks to malware infections.  We have plans to get together soon to get her hooked up as well.  The best part—her direct words were: "I would like to destroy Windows forever with the IRON FIST OF UBUNTU JUSTICE!!"

Defined tags for this entry: , ,

Jack Thompson Disbarred! RIAA lost its $222K verdict!

Posted by Double Compile. Thursday, September 25. 2008, 04:25 PM in Law

The Florida Supreme Court has approved Judge Dava Tunis' recommendations for the permanent disbarment of John B. "Jack" Thompson, forever and ever, amen.  They're also slapping him with $43,675.35 in disciplinary costs (facial!).

Basically, he's got 30 days to appeal or it's GAME OVER.  Of course, appealing will be very difficult because he needs another attorney in good standing with the bar to file the motion (so he can't do it himself).

This comes on the heels of the news that the RIAA lost its $222K verdict against Jammy Thomas! ZDNet writes:

U.S. District Court Judge Michael Davis dismissed the verdict, saying it was based on the faulty "making available" theory of distribution. Thomas will face a new trial, in which the RIAA will have to prove actual distribution.

The decision means the RIAA now has zero wins at trial, Wired notes.

Apparently, Thursday is a good day for law. 

Defined tags for this entry: , , ,
Deprecated: Function split() is deprecated in /vhosts/d/devweblog.org/htdocs/include/db/postgres.inc.php on line 103 cronjob