Another article fresh out of the oven

I just got word from my editor at Developer.com that my latest article was published yesterday.

The article is called “Writing Facebook Applications with Java EE” and you can find it here.

The amount of information out there on writing Facebook apps with Java is scarce, and what is out there for Java Facebook applications, is often incomplete. I hope the article helps Java Facebook developers start on the right foot.

It was interesting returning to work with Java, even if only for the few weekends during which I wrote this article. I hadn’t developed in Java at all in almost two years. I was surprised I hadn’t forgotten any important details.

I have another article for Amazon Web Services submitted and in the editing pipeline. It should be coming out in the next few weeks

Starting the new year right, three weeks late

I wanted to write this post before 2008 started, but better late than never, huh?

I’ve been working with Ruby on Rails for over 18 months now, and it continues to be a lot of fun. There are still challenges, as projects are never a total walk in the park. There is also new stuff to learn almost every week. The Rails team keeps improving the framework, and the community keeps authoring more plugins. Keeping up is a demanding part of the job, but it adds to the fun factor.

One activity I’ve been doing lately on my own time is learning different programming languages, development environments, and frameworks. The move to Rails from Java seems to have been a good choice career-wise, and I did it by trying to keep current on technology. I want to be ready for the next shift, whatever that may happen to be and whenever it comes into prominence.

After many attempts, I finally had published not just one IT-related article, but three, at IBM DeveloperWorks and Amazon Web Services Developer Portal. The articles were published between late October and late December 2007. They are:

Display Google Calendar events on your PHP Web site with XPath

Don’t Get Caught with Your Instance Down

Using Parameterized Launches to Customize Your AMIs

These articles are just the start of a shift from developing software as one of the faceless multitude of IT geeks, to being somewhat more known among my peers. I hope to turn these and other articles into presentations at software development conferences in 2008. Hopefully this enhanced exposure and networking will lead to great new things in 2008 and beyond.

Just before beginning this post, I updated Wordpress to the latest stable version. I am always amazed by how easy Wordpress upgrades are. Considering how easy it is to write unmaintainable crap in PHP, the Wordpress team deserves a big standing ovation for doing software right in PHP.

The theme I had up for the last year was not compatible with the change to Wordpress 2.3.x, so I picked out a totally different theme this once. It’s really simple and unobtrusive. If I get creative, I may tweak it or pick another theme altogether.

That’s it for now. I’ll try to post more often. Feel free to give me a nudge in the comments if I let posting to the weblog slide again.

Technorati Tags:
, , ,

Much Railing Lately

I’ve been at my new job only four weeks, and my first project is nearly finished. My task these past four weeks has been the re-implementation of the company’s website in Rails. I was to do this from scratch, while keeping the site’s design and existing link structure. Among my requirements is adding support for multiple languages, as the company wants to show it knows how to make websites for a diverse, multi-ethnic audience. Another requirement was, that I was to do this re-implementation by myself. The company only has one other experienced Rails developer, and he is busy doing maintenance work on older non-Rails projects for company customers.

It’s been a pleasure working on this project, and I am very pleased in the progress I’ve made in such a short time. I look forward to going live in another two to three weeks, once the site has been through QA and any changes required.

This coming Wednesday, May 16, I am off to RailsConf 2007, in the lovely city of Portland, Oregon. Portland is great, I have been there twice and I’ve had a great time each trip. I look forward to the visit very much.

Two of my coworkers from the Williams F1 project, Kyle Drake and Nick Wright, are going to be attending RailsConf as well. It’s gonna be great to meet them face-to-face. Daniel Browning, one of my fellow coworkers at my new job, lives just north of Portland. My college buddy Ken Williams lives in the Portland area too. I plan to meet with them at some time during this, my third visit to Portland.

There are so many sessions I want to attend at RailsConf. But interestingly enough, I feel I won’t get any value out of the tutorial sessions, so I didn’t sign up for any of them. That means I’m out of the tutorial-attending n00b league, yeah! :-) We’ll see whether I can hang on to that thought in the other, more advanced sessions. :-D

A few of the sessions sound downright dull. I guess some of the n00bs will find them interesting, since they’re looking for ‘insight’ and whatnot. Whatever. ;-)

What am I looking for from RailsConf? I’m looking for some nitty-gritty I can sink my teeth into, some new tech I can experiment with and learn more from. I’m looking forward to have my brain blown by something cool but complicated that I can learn over the next few months. I want to learn about some new-to-me techniques and plugins or gems that I can master and take my Ruby and Rails to a higher level.

I also look forward to meeting some people face to face. Tim Bray is going to be delivering the keynote on Saturday morning. If you’ve been reading my blog for the last year, you already know what I think of him: he’s the d00d!

The JRuby guys will be presenting one session, and I think their work is of importance for the growth of Rails outside the leading edge. I think JRuby will be the thing to help Rails cross the chasm and be adopted by mainstream.

At OSCON 2005, DHH signed my Agile Web Development With Rails 1st Edition, so I will try to get Robert Martin, Dave Thomas, and Andy Hunt to sign some of my other books that they wrote.

Anyway, I’ll talk to you all later!

Technorati Tags:
, , , , , ,

It’s alive!

After three weeks of development from scratch and four weeks of tuning and debugging, the team of Rubyists I have been working with for the last two months finally launched our last project. At 8:30 a.m. EST on Thursday, April 11, 2007, the Williams UK Formula 1 team’s new website went live!

Full credit where credit is due:

Endemol UK was contracted by Williams F1 to develop the site. After some months of dicking around, Endemol subcontracted Futurecorp to finish the job. Futurecorp is the UK virtual IT shop that hired me and other developers on an hourly basis for this project. We rewrote the full app in seven weeks and went live with it.

Not to be picky, but I wanted to make sure that the above was not left unsaid. :-)

During the last seven weeks, we developed a complete content management system for Williams F1 news reports, event calendar, podcast and video content delivery, and Flash content management. The news, audio, video and event calendar is displayed in a user-friendly manner in a xhtml-strict compliant web front end for sports journalist access. The CMS also produces and manages content for a Flash front end for use by us common folk.

It has been a crazy time, especially the first three 65-plus-hour weeks of horror. I am particularly proud of those three weeks, because we had a fully functional application finished by that time. Rails really is that productive, folks. This was not a small application by any means.

The last four weeks have been more tame, with interminable boring hours of online chit chat BS sessions in Campfire, as developers waited and waited for QA to finish testing and maybe find a few lowly bugs for us developers to squash. The bug count was really low and we developers went home hungry some days. ;-)

Congratulations to all of the people below. I will miss working with all of you, it’s been a great time.

Ruby on Rails Team

Team Lead: Nick Wright, Colorado, USA

Kyle Drake, Minnesota, USA
Mark Selby, UK
Dougal Shearer, Scotland
Steven Holloway, Australia
Yury Kotlyarov, Russia
Brad Bollenbach, Montreal, Canada
and myself, Puerto Rico, USA territory

HTML Team

Team Lead: Dan Whitmarsh, Sweden

Gary Robinson, UK & Ben Miller, UK

Flash Team

Team Lead: Matt Folkard, UK

Tim Cooper, UK & Julian Wilson, L.A., California, USA

Support & Infrastructure Team

Team Lead: Jason Griffiths, UK

Project Leads:

Michael Christenson, Ohio, USA
Williams Project Lead, Futurecorp UK Ltd

Shaun Laughey, UK
Director of Operations, Futurecorp UK Ltd

Management:

Max Haggenmiller, UK
General Manager, Futurecorp UK Ltd

Radha Stirling, UK
Head of Development, Futurecorp UK Ltd

Justin Fanning, UK
Senior Manager, Futurecorp UK Ltd

Eddie Bosticco, UK
Senior Manager, Futurecorp UK Ltd

Technorati Tags:
, ,

More upgrades, more spam, a visit with friends, and a new gig!

I just upgraded to Wordpress 2.1.3. It was another flawless upgrade.

Akismet tells me that it has blocked over 1900 comment spam since March 22, and 3,130 since I installed it. I have only had three or four false negatives. That is, spam that wasn’t caught and ended up in my moderation queue. I made an effort to go through all my caught spam looking for false positives, and found none.

So when they flew me to NYC for lunch, I was very sure this company was interested in hiring me (duh!) I had a great time talking with the company CEO and the president, enjoying their wit and seeing their lifelong friendship at work during our discussions. That was quite interesting. I also had a good conversation with a fellow grunt, Sonny, with whom I will probably be working. I start at the new job on April 16.

They paid for my flight, overnight stay, and lunch. The lunch was really enjoyable, both conversation-wise and food-wise. I don’t remember the name of the family-oriented seafood restaurant where we went. It was within two or three blocks of Broadway and 19th Street. I want to go there again and try more items from their menu.

At the end of the day, I received a job offer, which I accepted. I’ll still be working from home as a Ruby on Rails developer, but I will be a salaried full-timer with benefits, instead of an hourly gun-for-hire. I have had enough of the gun-for-hire lifestyle for now, and this opportunity with this company was too good to pass up.

NYC was a hoot. I saw this guy with a giant inflatable cockroach in front of a building. Turns out he was a paid protester! When some group wants to protest something, they hire this guy, and he prints out some flyers, drives to wherever they ask him to go, gets out the giant inflatable rat and/or the giant inflatable cockroach, gets out his bullhorn, and he has a protest! He is also available for political campaigns, but he prefers hanging out with the cockroach and the rat. I thought that was pretty funny.

Another funny aspect of NYC, is that every block has at least one guy in a small plexiglass shop on wheels hitched to a truck, selling a bagel or donut with coffee for about $3. Each of these vendors has enough coffee, bagels and donuts for a few hours of sales. When they run out, they drive to the bakery where they get their goods, stock up, and drive back to the area they were last at, to continue selling their wares.

I really had a good time in Manhattan, and would like to visit again and do more touristy things.

After my interview in NYC last March, I took a train to Lancaster County, PA, and stayed with my friend the sci-fi writer, her husband and twin 3 year old girls. I rented a car to visit my other college friends and an aunt and her husband in Southeastern PA over the weekend. It was great to see everybody and to see them well. I’m glad they all live within one and a half hours of each other.

I am going to be planning a move to the Philadelphia suburbs over the next six months. I don’t own any furniture, don’t have a wife and kids, so it’s just me, my computers, and game consoles. I’ll probably disassemble the two PC clone towers and ship the parts separately, then reassemble them back in PA.

Wednesday is my last day at the hourly Rails gig. It has been a crazy seven weeks. We’ve been ready to go live for the last two weeks or so, but the client wanted some changes to how a few things worked. And of course that meant new bugs to stomp.

I’ve thrown in a few hints as to what the site is about, specifically mentioning yesterday’s Malaysian Gran Prix in a previous post. I can’t wait to show off what we’ve worked on. It really is a cool site. Latest news is that we go live Wednesday, but I’m taking that with a grain of salt. So don’t hold me to it.

Technorati Tags:
, , , ,

Racing To The Big Apple

I’m flying to NYC this afternoon, for a lunch / interview Thursday. The company interviewing me has been in business for nearly 15 years, with Linux and BSD, Perl and Interchange as their platform (Interchange is a Perl-based e-commerce platform.) They want to build a Ruby on Rails e-commerce platform to support their customers for the next 15 years.

They’ve been in touch with me for the last six weeks. I have had 4 phone interviews with them. This is the final face-to-face interview in their hiring process. If all goes well during and after lunch and we still like each other, they’ll be a job contract to sign when all is said and done.

After the interview, I will have the rest of the week and weekend to spend as I like. I’ll be staying in Southeastern Pennsylvania with my friend the sci-fi author, her husband and twin 3 year old girls. I will visit other friends and family in SE PA over the weekend. It will be great to see them again. Last I saw them was in August of 2005.

It’s been six weeks with the racing-oriented Ruby on Rails custom CMS. The past two weeks have been kind of slow work wise. There’s been very little overtime compared to the first four weeks of the project. Since I last wrote about the project here, I’ve done some on-the-job learning about RJS and the Prototype JavaScript library, and about Capistrano and deploying on Apache clusters.

In these past two weeks, there were short bursts of frantic bug squashing in between quiet hours of chit chat in the project’s Campfire group chat and on Skype. It was difficult to stay awake some evenings, when there was nothing to do but chat, and wait for the customer to QA the latest release.

Speaking of release, the client finally wants to go live, on Monday, April 2nd. This Monday evening, the code was deployed to the live Apache and MySQL cluster where the application will live out its public life.

Just in time for the Malaysian Gran Prix next weekend, don’t you think? ;-)

Technorati Tags:
, ,

I’m still alive here …

I survived the crazy work schedule and lack of sleep from my recent gig. I know there are still a few outstanding bugs, less than 5, but they are not critical. They are so non-critical, our employer is giving us Friday off, and there’s no more overtime until perhaps well into phase 2, which starts later this month.

The Rails app I have been working on should be up already, but it’s out of our hands now. The customer is tasked with deploying it, not us. The first race of the F1 championship starts Sunday March 18. If the site goes up after that, it’s gonna lose impact. But that’s not my responsibility.

I want to show it off already. It’s been a crazy four weeks, and the site looks and runs great. I had nothing to do with the visual aspects. I’m a Rails code monkey, not a graphic designer by any means. Our web designer did a great job on the CMS and press/journalist access site, along with the Flash guys’ tremendous job on the Flash client on the consumer site.

Before this project, I had only worked on Rails with another Rails newcomer, for just six months last summer. But in this project I am working with a few Rails experts. One of them is even a Rails open source contributor. And I learned just how much I didn’t know. I am humbled and acknowledge I am just a junior Rails developer.

So I’m back to the books for more knowledge. I meant to do that earlier, but the overtime kept me away. Since I have the weekend off, I’m gonna study some more Rails stuff, like RJS and RESTful web services.

(Aside: You know you’re a real geek when you have the weekend off from working in front of a computer, and your time off consists of sitting in front of a computer, studying about work-related stuff.)

Also, I’ve already started writing a post about using embedded Ruby templates and ActiveRecord within command-line Ruby scripts. This can be useful to generate templated emails, XML feeds, and all kinds of other formatted output from cron jobs and the like using Ruby. I’m sure that will be of interest to quite a few Ruby fans.

Now if you’ll excuse me, I’m gonna use my free Thursday evening to begin to catch up on some teevee and anime I’ve had to let accumulate in my BitTorrent folder in the last four weeks. I also look forward to IMing with friends tonight for more than a few sentences, without having to divide my attention between work chat discussions and my friends’ conversations.

Talk to you again soon!

Technorati Tags:
, ,

More like rakin’ in da dough …

It’s been two and a half weeks since I started my most recent freelancing software development project. Two and a half weeks of 20 hour days and seven day work weeks. Yep, if this project were to end today, I could weather out the rest of the year before another project came along. I wasn’t born a fool and took advantage of the overtime for precisely this reason. I have aged a year in only three weeks, busting my ass into a nubbin’, but with this in my résumé, this is promising to be the wonderful start of a great year.

This project is huge both in scope and publicity, for our customer and for Rails. And we go live after Monday, March 12! There is still work after that, but next week, you all will get to know what I was working on! That’s cool! I’ve been dying to tell you. In some countries, this is as big as NASCAR.

The project backend is in Rails, and like most systems, it has a data entry component and an end user component. In this project, one data entry system feeds two end user components with more or less the same data, but styled and delivered differently. As I mentioned two weeks ago, this is a project about car racing, and as in any sport, the press and the consumer both need different levels of access to information about the race cars, the racers, and the race information itself.

One of the coolest aspect of this project is working with delivery from the Rails side, of Atom feeds to a Flash client. The Flash client is slick enough, as you will soon see. But the support of XML generation in Rails is sick slick. I would love to write about that in the future, as there are plenty of gotchas to learn about and work around.

I was not responsible for the Flash side of this project, not in the least. It was perfected by one of the masters of the craft, along with two other cool Flash guys. Hats off to them. Next week they get their 5 minutes of fame on this blog, as I will mention all team members by name when all is out in the open and the stupid NDA is moot.

Alright, I have to get going, as I have to eat dinner before I throw myself into the pit of overtime one last time. It’s all smooth sailing after Thursday night.

Technorati Tags:
, , , ,

Bringin’ in da dough, baby!

Last Wednesday, I sent emails and résumés for various job posts, and by that afternoon, I started getting nibbles. It was weird! Whereas I barely got any attention for over a dozen job applications I sent out between September and early February, I suddenly had five companies interested in me in a matter of hours! Maybe companies were waiting for post-holiday economy reports to start hiring? I wonder.

So to cut to the chase, I got a great hourly-pay remote development gig working on a Ruby on Rails project, on a really cool sounding website, for a very-high-profile vehicle racing company in the UK. It’s right down Ken’s alley, but if I’m not mistaken, this sport usually has a definitely more European racing audience. I think American racing fans like Ken, might resent these are not American cars, and just don’t watch. LOL

I cannot disclose any more information because of client confidentiality, but I think I may already have said too much. :-p

I’ll post a link here when the site goes up, at any rate. Only then can we drop all this silly NDA crap. It’s a bummer, because I can’t discuss application architecture specifics that would be of interest to my readers.

But fret not. There’s no rule about my discussing the project’s architecture in general. I just can’t say right out what architecture I’m dealing with on this gig.

I’ll be writing more about Rails in the weeks ahead, but just cuz I write about it, don’t mean it’s got a thing to do with work, you hear? :: rolls eyes ::

Technorati Tags:
, , , , , , , , ,

Continuing the conversation: PS3 Linux & MS XNA

Mateusz, Lenny, thanks for the comments.

Update: Reader Mateusz points out that there is an effort under way to port the XNA frameworks to other platforms using Mono. It’s great to see what the subversive, creative types come up with all on their own. It would be hilarious if PS3 owners could run XNA games by simply booting Linux. Take that, Redmond! Welcome to our social. LMAO!

My own take is that Sony is taking a laissez-faire approach, a la Franklin D. Roosevelt and the economy: let’s provide the tools, and whatever happens, happens. Let the market take it where it may. (I hope I am not embarrassing Mrs. Freite, my history teacher in high school, by mixing my economic strategies and presidents.)

While that is great, I think they could be a bit more proactive. They could encourage garage game development with the PS3 Linux project, by marketing it as such. A program like the old PSX Net Yaroze, but with PS3s and Linux, could attract some great talent. (See? Sony has been thinking about this garage developer thing for quite a long time.)

IBM and Toshiba see this as another marketing venue for the Power processor line, especially the work on the Cell Engine that they did. Toshiba only promotes Cell within its embedded processor market, not putting an oar in to help with the garage developer thing. IBM is a bit more active, but only within their established promotional circles: developerWorks and alphaWorks. And it is hardly a big push.

Microsoft is, of course, going all out, promoting XNA as a garage developer’s haven, especially generating excitement with the possibility of garage developers selling games on XBox Live Marketplace for both PC and XBox360. In my opinion, MS is doing a better job at pushing their ideas.

It’s like IBM and Sony don’t quite see what it is they have to do, having just provided the tools and sitting back to see what develops. While it’s great they’re not stirring the pot too much, the stew is gonna ruin if there’s no cook minding the stove.

OK, that’s enough analogies for today. Thanks for keeping the conversation going, guys. Comment away, and let’s keep talking. Anyone else have any thoughts to share?

Technorati Tags:
, , , , , , , , , ,

Next Page »
Who links to my website?

Bad Behavior has blocked 254 access attempts in the last 7 days.