All Files Up To Date

Wow, it’s really been quite awhile since I’ve wrote much regularly, and I hope to start reversing that trend. Ever since I f’ed up the WordPress theme I did from scratch I’ve been pretty unmotivated to do much at this blog. I’ve looked through a zillion themes and found pretty glaring flaws in all of them, and didn’t want to do one from scratch again. I was browsing around at random over the weekend and came across the new theme you see now, Carrington, at Crowd Favorite (which is local to me). Next thing you know, I’ve upgraded all of my blogs to the latest version of WordPress, and even made this one look good again. It still needs a little work, but I’m happy so far. Hats off to Alex King and team at Crowd Favorite by producing a theme good enough to get me interested in my blog again.

At the same time I’m now working at BT working on high-end video teleconferencing solutions which has proved to be a really interesting situation for me– the business knowledge needed to work in the domain itself is more challenging than becoming fluent in a new programming language. Coming from a background of working on mostly scalable services meant for website and enterprise consumption, working in a rapidly growing and changing area of telecom has proved to be a welcome new challenge. We have a lot of really cool stuff rolling around, and I can honestly say some of the stuff I’m working on actually changes peoples lives all across the world in a significant way which is a first for me, and a rare experience as a Software Engineer.

That said, I haven’t had many burning topics on my mind in the software space since I’ve had my brain wrapped around learning how telecom and video conferencing works for the past several months. I have a couple of personal pet projects I’m working on in my spare time, and if/as they progress, they will provide some fodder for more technical blog posts.

Anyhow, thanks for reading and keeping me in your RSS feeds– hopefully this will start getting a little more regular again soon.

Posted in Culture, Site News | Tagged , , , | Leave a comment

An Alternative To Waiting In Line for the iPhone 3G

I’ve been on the fence quite awhile about the iPhone. It’s not cheap, it’s grossly over-hyped by a very fanatic fan base who seem to overlook it’s flaws, and while I’m not a terribly flashy person, there seems to be a stigma about those who own one. Those things aside, I finally decided that I’ve pretty much bought into the Mac platform and OS X workflow, and it only makes sense to extend that by replacing my Samsung Blackjack with an iPhone. iPhone 3G Stock in Colorado The addition of 3G network support, ActiveSync, and GPS pretty much sealed the deal for me, though the price still makes me reel a bit. One of the advantages I saw with owning one is that I would most likely not need to take my laptop with me any longer on non-business trips, which is a pretty big win for me.

If you weren’t willing to camp-out for the new iPhone 3G and want one ASAP, it’s likely you’re in a similar position as me– calling local Apple Stores and AT&T stores everyday to check to see if any have came in. It sounds like at many Apple Store locations, as soon as a shipment comes in, a big line forms and if you’re lucky you might be able to get one. The way that Apple and AT&T have handled this situation is truly awful and unprofessional– none of the people working the floor know when shipments are coming-in, nor is there a way to order an iPhone online, etc.

One option I ended-up opting for was ordering a new iPhone 3G at my local AT&T store through their “direct fulfillment” program. Basically this boils down to you having a direct order from Apple which will eventually arrive at your local AT&T Store, and you don’t get charged for it until it ships. You get a tracking number and a way to check the status, though so far the results don’t look terribly promising. When I ordered mine the wait time before shipment told to me was 5-10 business days, and lately from what I’ve read the current quotes are now at 10-20 business days.

I honestly don’t know how this is going to end-up considering the HUGE thread about this program happening at the AT&T Forums at the moment, but it is keeping me from being obsessed about trying to snag a phone at the retail locations.

One other tip, if you do opt to go this route, you can use this site to get an idea about when your order will arrive based on other orders at the same store. All that you do is enter order ID’s close to the last 5 digits of your Order ID and the zip code of store you ordered from, and browse through the orders at your store to see if other people at your AT&T store have got their orders. It’s kind of hard to describe unless you’ve went through the order process itself, but you can find out more in in this thread.

Posted in Culture, Tech News | Tagged , , , , , , , | 3 Comments

A Regular Expression To Proxy Basic ColdFusion Requests

(Note: I'm cleaning up some old drafts which have been sitting around for awhile.)

A couple of years ago while setting-up a new J2EE server cluster using the Implementing Multitier Hardware Load Balancing with ColdFusion MX for J2EE or JRun article, I needed to setup a proxy filter for ColdFusion requests. Given that the application I was setting up used a context root of /, the proxy rule listed in that article would not work. Instead, thanks to my former co-worker Rod, I now have a regular expression which will redirect all basic requests for ColdFusion:

  1. ^((?:\S*.cfml?\S*)|\S*/(?:\?\S+)?)$

This regexp works for the following combinations:

  1. hello.cfm?hello=2
  2. hello/
  3. sadfa/
  4. dasd/?hello=231
  5. xo.cfm/hello
  6. hello/dookie.cfm
  7. dookie/hello.cfm?thisvar=dookie
  8. /

And the following requests are not proxied:

  1. /hello.html
  2. hello.html
  3. hello/hello.html

Obviously these are just basic test cases, but it should leave all CSS, image, JavaScript, etc. type requests to the webserver, and pass on everything else to the app servers. You would also need to change it to include direct requests for .cfc files if you're doing anything like Flash Remoting, Web Services, etc directly to CFC's.

Posted in Languages, Tips, Hacks, & Tricks | Tagged , , , , , , , | Leave a comment

How To Fix Sound Problems In Ubuntu 7.10 Gutsy on Dell Computers

Currently, my main workstation at home is a Dell Dimension E520 which primarily runs Ubuntu 7.10, but I also dual boot into Windows XP for my photography hobby. One problem I had after upgrading to Ubuntu 7.10 from the default Ubuntu install which the E520 shipped with was getting sound to work. After trying several solutions in this forum thread, I finally got it working again.

Posted in Operating Systems, Tips, Hacks, & Tricks | Tagged , , , , , , , , , | 6 Comments

Getting Behind Python: Sun Hires Python & Jython Developers

As both a fan and user of the great technologies Python, and the Sun JVM (primarily via Java), jython.png I was very happy to come across this eWeek article which says that Sun announced the hiring of two key Python engineers. You can read more about the hiring of Ted Leung and Frank Wierzbicki at their respective blogs.

I had pretty much written off Jython as being dead quite some time ago, but luckily it has had a lot of recent activity and is starting to catch back up with C-Python. By both hiring key JRuby and Jython developers, it looks like Sun is making sure the JVM stays relevant beyond Java and continues to evolve as what in my opinion is the best option for cross-platform applications.

Having a long background in ColdFusion (an Adobe language which compiles down to Java bytecode and runs on the JVM), I've seen first hand the benefits of moving a language to the JVM, and I look forward to seeing more progress on both JRuby and Jython on the JVM.

Posted in Culture, Frameworks, Languages, Tech News | Tagged , , , , , , | 1 Comment

How To Display Which Processes Are Using What Ports

This is just a quick entry on how to see which software is using which ports. This comes in handy when trying to install an application server, web server, etc, and are getting errors like "port is in use".

Basically in any Unix type derivative such as Linux such (Ubuntu, RedHat, SuSe, etc.), as well as Mac OS X, all that you need to type this at the command line:

  1. lsof -i

I remember there being a couple of commands in Windows which you could do this with, but it's been so long since I've used Windows on a regular basis I honestly don't remember how to do it. I do know you can use TCPView to accomplish the same thing, however.

Posted in Culture, Databases, Operating Systems, Servers, Tips, Hacks, & Tricks | Tagged , , , , , , , , , , , , | 3 Comments

Aaannnddd… We’re Back

Oof. The site was offline for a good 30 hours or so. I attempted to add a Ruby On Rails install to FastCGI for a family related project I've been working on and my server totally exploded.. even the file system became unreadable. It reminded me a lot of a 'buildworld' upgrade gone awry on FreeBSD. I think the Debian VPS image was so out of date that it ate itself trying to process all of the updates. Since that happened I decided to move to a shiny new Futurehosting Ubuntu VPS which is bigger/better/faster (1 GB of RAM now, previously 512 MB) and I can already tell that this machine is much faster than the past.

After having to learn a lot of MySQL DBA magic to repair some very broken databases in my backup, get DNS, Apache, MySQL, and all of that other sort of junk setup again, the site is finally back up with no data loss much to my surprise.

I'll be working on getting my other sites back online as well as upgrading/updating everything, and hardening this server a bit more, so if you see any blips over the next few days that's why.

Posted in Culture, Site News | Tagged , , , , , , , , | Leave a comment

Maven: Including Axis2 Artifacts into EAR’s

I'm going to skip over a rant about how much Axis2 sucks in order to pass a tip on how to include Axis2 artifacts (AAR's, MAR's, etc) into an EAR file using the Maven plugin to package EAR files, maven-ear-plugin. It's a pretty obvious solution but if you're in a hurry like I've been to convert a project from a single WAR to one with several EJB's, a WAR, etc, there are a lot of new things to learn all at the same time (how classloading works with EAR's in JBoss, how to share the same Hibernate transactions between your web app and EJB's, etc), and this was one of those little things which wasn't immediately obvious. If you're seeing exceptions like these when trying to package an EAR in Maven:

  1. [INFO]
  2. ------------------------------------------------------------------------
  4. [INFO]
  5. ------------------------------------------------------------------------
  6. [INFO] Failed to initialize ear modules
  8. Embedded error: Unknown artifact type[mar]
  9. [INFO]
  10. ------------------------------------------------------------------------
  11. [DEBUG] Trace

... you've came to the right place. :)

There are many ways to setup your package structure under Maven2 to build EAR's, but essentially what I do is create a root level project which packages a given application into an EAR, and nothing more. Once you have the maven-ear-plugin setup for the most part, all that you need to do is to tell the Maven EAR Plugin to treat the various Axis2 pieces of shit packages like JAR's:

  1. <plugin>
  2.                 <artifactid>maven-ear-plugin</artifactid>
  3.                 <configuration>
  4.                     <archive>
  5.                         <manifest>
  6.                             <addclasspath>true</addclasspath>
  7.                         </manifest>
  8.                     </archive>
  9.                     <artifacttypemappings>
  10.                         <artifacttypemapping type="mar" mapping="jar"/>
  11.                         <artifacttypemapping type="aar" mapping="jar"/>
  12.                     </artifacttypemappings>
  13.                 </configuration>
  14.             </plugin>

This is just one of many gotcha's I learned about while working on an aforementioned project. In fact it's really pretty hard to find any comprehensive documentation on getting EJB3, Spring, and Hibernate working together on JBoss with a typical Java web application, especially while using Maven. I have a sample project I used to work through some of the integration issues with this, and will hopefully be able to wrap it up and add it to Google Code in the next few weeks to provide an example of getting all of these technologies to play together.

Posted in Culture, Frameworks, Languages, Servers, Tips, Hacks, & Tricks, Tools | Tagged , , , , , , , , , , , , | 7 Comments

News Flash: Apple Finally Released Java 6 for MacOS X!

UPDATE: I was up too late, and didn't notice that it's update 6 for Java, not Java 6. This is just another update for Java 5... *sigh*

I've been up pretty late doing a little work and tying-up some last minute Christmas shopping, and out of the blue this Apple update window popped-up:

Java 6 for MacOS X is here!

I'm super glad to finally see an Apple release of Java 6! I've been developing with SoyLatte lately and was going to write a quick tutorial on how to get it up and running on MacOS X, so I guess I don't necessarily need to do that now. Although given Apple's secrecy about Java releases and the future of Java on MacOS X, it certainly doesn't hurt to have an alternative around.

I'm still on Tiger-- I assume Leopard users are seeing this update too?

Posted in Culture, Languages, Operating Systems, Tech News | Tagged , , , , , , , , , , | 25 Comments