Gearing up for an exciting 2007

In the months ahead, I will be making use of this weblog to discuss software development technologies and processes I’ve learned to use in my ten-year career. I will most likely be writing about web technologies and web services, and open source technologies rather than proprietary ones.

I am more likely to cover Ruby on Rails and Ruby as a language and cross-platform development technology versus other open source technologies, as this is what I now prefer. But you may also see posts on C and C++, Java Enterprise Edition technologies, Python, Mozilla technologies such as XUL and XULRunner, and software development ideas in general. I may cover C# and .Net, but only because you can develop cross-platform applications with them using Mono.

My article proposals for “the secret online geekly articles site” are most likely to be accepted if they are about Java technologies. As I research my articles, I am bound to write about Java subjects here. But I’ll try to make the weblog posts more general than the articles. If the article proposals get turned down after a few rewritings and retries, I will publish the subject here or try to get them published somewhere else, like InfoQ and The Server Side.com. (BTW, that should be a hint that those two sites aren’t “the secret online geekly articles site.”)

I will also cover some Unix administration topics. For example, I feel I ought to cover the details of pjtrix’s Subversion configuration, as I found the online manual a bit wanting in specifics. Other like-minded geeks, the very people I’d like to bring to my weblog, might welcome a more direct approach. There are also more ssh tricks I haven’t begun to cover.

All of this writing will hopefully be bringing new readers to my humble weblog and other parts of the website. Armed with this hope, I continue to get pjtrix.com ready for 2007.

Tuesday night, I signed up to Google Analytics and Tools for Webmasters, and added to the WordPress and Trac templates the bits of JavaScript that report to Google where you all come from. The reports Google provides are nice and pretty, but I find Google’s solution wanting, specially in their support of blogging and citizen media. The tools are more geared towards “website” traffic analysis. That’s just lame.

Not everyone that will come here will do so with a JavaScript-powered browser. Feed readers and podcast clients, for instance, only speak HTTP and RSS or Atom. They will leave no trace in Google Analytics’ logs.

To complement Google Analytics, I’ve installed the Webalizer Apache log analysis tool, which will help me study my web server logs in more detail without my being swamped in hundreds of megabytes of raw text.

I also installed the Popularity Contest WordPress plugin. This should help direct search-passers-by to what’s hot on this site, or just make it more clear sooner that they got to the wrong place. :-)

Hopefully, the combination of Google Analytics, Webalizer, and Popularity Contest, will together help me learn who my audience is, learn what is “my voice,” and learn how to make this weblog more valuable to my readers.

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

Posted in cross.platform, hacks, open.source, pjtrix.site, rails, ruby, software.development, ssh, web.architecture, weblogs | Comments Off on Gearing up for an exciting 2007

New theme? Maybe yes, maybe no…

Google’s cache and two browser tabs will probably help you figure it out. 😀
Continue reading

Posted in pjtrix.site | 2 Comments

Which Superhero am I?

Everybody seems to be doing these.

Your results:

You are Spider-Man

Spider-Man
100%
Superman
75%
The Flash
75%
Supergirl
72%
Robin
70%
Hulk
70%
Green Lantern
65%
Iron Man
60%
Catwoman
55%
Batman
55%
Wonder Woman
47%
You are intelligent, witty,
a bit geeky and have great
power and responsibility.

Click here to take the Superhero Personality Test

Posted in sillyness | Comments Off on Which Superhero am I?

Which Supervillain am I, you ask?

Your results:
You are Dr. Doom



































Dr. Doom
72%
The Joker
65%
Apocalypse
65%
Lex Luthor
63%
Dark Phoenix
63%
Green Goblin
63%
Juggernaut
55%
Riddler
50%
Poison Ivy
50%
Mr. Freeze
48%
Magneto
46%
Kingpin
38%
Catwoman
36%
Mystique
35%
Venom
33%
Two-Face
27%
Blessed with smarts and power but burdened by vanity.


Click here to take the Supervillain Personality Quiz

Posted in sillyness | Comments Off on Which Supervillain am I, you ask?

Last blog post for 2006

Happy New Year, everybody! It’s five and a half hours to the big hour here at Chez PJ, so I am taking this time to update you all about what’s going on.

Last weekend, I finally got Trac and Subversion installed like I wanted: read-only anonymous checkouts through http://svn.pjtrix.com/projectname, and read/write access for certain users only through svn+ssh://svn.pjtrix.com/var/svn/projectname.

As is almost always the case with things Unixy, the problems all had to do with setting the right permissions on the repository folder, and making sure that all related processes create new files with the right permissions set. The fix was a litany of addgroups, modusers, chowns, and chmods. Then I had to make substitute shell scripts for all the subversion commands, which simply set umask 002 before running the actual command.

After the Trac and Subversion headaches came Christmas, so I took a three-day break, visiting family, starting to read one of a few dozen fiction books from my “to read” pile, and generally chilling out. Then from Thursday through Saturday, I only worked on proposals for articles for “the secret online geekly articles site.” I hope to get at least one article proposal accepted in the next weeks.

I also found a potential employer, a place in Amhurst, MA called Assembla.com. They are a remote development consulting company, looking for Ruby on Rails developers that can work remotely. Their main product is something like a mashup between a wiki, a social network site, and a project management repository. They also do custom remote development for customers.

The interesting thing about Assembla.com, is that the hiring process consists of a type of paid audition: instead of sitting through interviews, getting your references and work history checked out, and usual job-getting stuff, they assign you a task out of their real workload, and pay you for a week or two while you get it done. If you accomplish the task to their satisfaction, you’re offered a permanent contract. If not, well, you can keep trying. I’m going to be applying this coming week.

I need to get my time organized, that’s certainly step one of the New Year. I want to work on iCal to GCal Sync and do more pjtrix goodness. I also will need to work on whatever tech article gets the a-OK. And I also need to concentrate on passing a paid trial for Assembla.com. Easy peasy. (Hint: that was sarcasm, folks. But I’ll try nonetheless.)

What I will probably end up doing, is divide my days into five-hour periods, not including sleeping, eating, my mandatory 20-minutes-away-from-the-computers-every-two-hours, and hygiene time. I’ll work on only one thing each period, then rotate among tasks every five hours. It will be like working three part-time at-home jobs! I’ll be like a homemaker mom. :-)

Alright, that about does it with the updates. If I think of anything else, it will be my first post for 2007! See you then!

Technorati Tags:
, , , , ,

Posted in hacks, life, open.source, rails, ruby, software.development | 2 Comments

Progress and hair pulling

Through the magic of social networking site LinkedIn, a friend of a friend introduced me to a friend. This friend is looking for a technical writer for a website with a geek audience interested in open source, Linux, web technologies, and software development. It’s not as big as Slashdot in readership, but it is sizable and has good credibility.

It’s not a permanent job, it’s more like “we’ll pay you decent money if we publish your article.” Print magazines pay a pittance for a two-thousand word article. This website pays pittance x 3, making it a lot more worth the trouble. If I can get on the stick and write an article per month, it could make a decent source of part-time income.

I know I’m being vague about the site. Once I get my first article published, believe me, I’ll post all the details. :-)

—-

I have finished setting up Trac for hosting my open source projects. As if installing Subversion last week wasn’t enough, Trac configuration took a lot more trial and error. My web hosting provider uses Plesk for setting up web domains. Even though I know my way fairly well around Apache, I had used the Plesk configuration app to set up this web site and my friends’ websites on this server. I practically painted myself into a corner, as Plesk doesn’t like geeks messing around the Apache config files, which you have to do to set up Trac and Subversion. ** sigh **

I am still fighting with the configuration of the Subversion code repository. I want to have check-ins through ssh+svn, and anonymous checkouts through HTTP via Apache mod_dav_svn. I hope to have that all set up tonight so that I can check in the first files of my open source project’s code.

—-

I like and use Google Calendar, but as a bona fide code geek, I am more interested in getting my calendar data out and integrating Google Calendar into desktop and web applications.

My first open source project for pjtrix is a Mac OS X application to integrate together iCal and Google Calendar. In the last few weeks, I’ve been researching the Google Calendar API, writing some test applications to insert calendar events into Google Calendar, pull calendar events out, change calendar event data and put it back in, etc. It’s all done in Ruby, which has made it all really nice.

Right now the integration between iCal and Google Calendar is only one-way. You can import your iCal calendars into Google Calendar. Or you can import your Google Calendar calendars into iCal. But you can’t have changes flow from one application to the other without creating a mess of duplicates every time you change the date or time of an event.

You can read more information about my project at the project’s Trac home page.

Technorati Tags:
, , , ,

Posted in life, mac.os.x, open.source, ruby, software.development, web.architecture | Comments Off on Progress and hair pulling

GoDaddy server woes

I want to openly distribute to the interwebs various pieces of software, some that I’ve already developed, and some that I am in the process of developing. And I’d like to grow a developer and user community around this software on this web site. I don’t want to use SourceForge, Google Code Projects, and similar services. In short, I want the code and support services to be hosted on my server, because it will help bring readers and traffic to my humble weblog.

I thought, “Easy, I’ll install the Subversion source control system and the Trac issue/documentation management system on pjtrix, and publish my software that way.”

Easy. Yeah, right! I spent most of the day and night Wednesday, and half the day today Thursday, fighting with my server. All this because of the poor technology choices of my hosting provider.

Pjtrix and the other domains I run, are served from a GoDaddy virtual private host. GoDaddy uses Virtuozo, a commercial Linux virtual private server (VPS) implementation, and the Fedora Core Linux distribution. GoDaddy upgraded their VPS service last year to Fedora Core 2 (FC2).

Unfortunately, while FC2 is great and all as Linux implementations go, it is no longer maintained. The Fedora project calls this end-of-life, or EOL. After EOL, there was a brief time when FC2 was maintained by the Fedora Legacy community. But they too stopped producing updates for FC2, about a year ago. You could say it went from EOL to SOL (sorry, couldn’t resist!)

The Fedora Legacy package repositories for FC2 have an old version of Subversion that is not supported by Trac, and Trac itself is not among the FC2 packages. So as the good open source maven I am, I tried to install Trac and Subversion directly from the latest source. But I kept coming to a dead end with two big catch-22 issues.

I ran into the first issue when trying to configure the Subversion code, before attempting to compile it (the proverbial first step in building an open source package for Unix systems.) The configure script complained the GNU C Standard library (gnuclib) on my system was too old and not supported by Subversion. Since there was nothing else available, I tried to upgrade the gnuclib using the out-of-date Fedora Legacy repository, hoping this would be good enough.

But when I attempted this, several FC2 packages complained that the library I wanted to install was not the one they needed. They wanted *only* the gnuclib which was already installed, a library apparently provided by Virtuozo.

This is the second issue, and you can see where this is going, I hope.

It seems Virtuozo is implemented as a special virtualizing Linux kernel with a specially crafted gnuclib. And this means GoDaddy doesn’t run a plain vanilla FC2 on its VPS servers. Instead, they run a Virtuozo-provided, specially crafted modification of FC2 that is practically impossible to update, even if there were up-to-date packages available!

The actual solution I ended up implementing was simple, but before I found it, I did spend nearly eighteen hours out of the last forty-eight, spinning my wheels and trying different things. I tried mucking with the Subversion code, fooling it into accepting the Virtuozo-provided gnuclib. But this produced a flaky executable (I guess that’s why that version of gnuclib is unsupported.)

I tried hacking Subversion and Trac RPMs from FC4, but while they installed OK, they didn’t run because of shared library linking issues. I tried installing a separate C Standard library (newlib) somewhere else on my server, and fooling Subversion into using that library. But I couldn’t get this to work.

I tried trolling around RPM and .deb repositories, trying to install every Subversion package I found. None of them wanted to install.

In the end, I found the RPMForge third-party repository, with both up-to-date Trac and Subversion packages for FC2. And they were built in such a way not to conflict with Virtuozo and its crazy hard-coded package version numbering. And so far, they seem to run decently.

Hopefully there will be no more surprises, and I can get started putting my projects up in the repository over the next few days. If I hit any more snags, I may just end up putting my code up somewhere else, though.

Technorati Tags:
, , ,

Posted in hacks, open.source, software.development, system.architecture | Comments Off on GoDaddy server woes

An Open Letter To My Readers

I see you hitting my RSS feed with your aggregators, friends, all four of you. There’s one Windows FeedDemon user, one Linux Firefox LiveBookmarks user, and two Mac NetNewsWire users. I call you friends because I think maybe I know you, or maybe you know me, from out there in the interwebs. I see you in my logs daily, each of you coming in from your respective IP address, day in and day out, week after week, month after month.

Update: more careful inspection of the logs show 3 feed subscribers through Bloglines, and 3 subscribers through NewsGatorOnline. Welcome! I didn’t see you earlier, because Bloglines and NewsGatorOnline only hit my feed once on behalf of all of you. You got lost in the spambot noise until I looked through the logs with a fine tooth comb and a magnifying glass.

There is also one Google Reader user. Thanks for the feedback, dude!

There are also some regular web visitors from IBM. I can tell because of the repeat hits from a few IBM campus subdomains over the last months. Y’all started visiting since just after Rails Day 2006, which speaks volumes, by the way. Yet you’re still more difficult to profile than my other visitors (in the IP address and user agent sense of “profile.”)

Are you always the same few IBMers with a few different computer types on your desks, coming back every few weeks? Or are you a new set of different IBMers each time, with a different random sample of computer types? Cuz, you know, your user agent is all over the map.

You’re all coming from the same three or four IBM campuses, so maybe you know each other? Do you all discuss my lame posts so far?

But those curious details don’t really matter, do they? That’s not what’s important about you visiting.

Speaking to all of you readers, IBMers and non-IBMers alike: What would you like to see me post about? Why do you visit my site? What brought you here in the first place? Would you like to see more of that, or are you interested in anything else? That’s what I’d really like to know.

Help me make this weblog worth your time. There’s a comment box below this weaving screed.

Posted in Uncategorized | 7 Comments

A look back before going forward

This last Thursday, December 7, I finished my latest paying consulting gig. And I have nothing lined up for the next few weeks. This will give me time to do a few things I had planned for pjtrix.com and my “web presence” since this summer, but which I just couldn’t get to in all these months.

2006 has been a tough year for me. The first two months were good, but then funds ran out and my two-year project was cancelled in February. I had a good two years working on bringing open source to a university’s curriculum and student body. But there were a lot of things about our work environment we didn’t know going in, which made the work difficult going at times.

In March 2006, I decided to hang my shingle as a web developer for hire. This has been a very bumpy ride. I had cash reserves to live on between projects, but these were depleted every time I didn’t have work for more than a few weeks (and there were a few of these times, making for a stressful year.) I should have had deeper reserves before starting this new lifestyle and should have worked more proactively in cutting down on frivolous expenses (a few too many trips to Borders, Starbucks, and Pizzeria Uno when I had money coming in, which meant less money saved for the lean times. Live and learn, I guess.)

Now I am in the same boat: in between projects, with no next project in sight. But things are actually looking up, don’t fret. I recognized my mistake soon enough, and changed my spending habits during the last five weeks of this last project. This resulted in deeper reserves this once. I should be OK well into January.

If for any reason I can’t find any more freelance work, I know I have the skills and experience to work as an software development consultant with IBM Global Services, Optaros, Thoughtworks, and other companies of that kind. I am confident I can find more freelance work before things get ugly, but I also have to be realistic and proactive in securing work. I have already sent my résumé to several places.

In the meantime, I also have a plan to get more high-paying freelance work in 2007. My plan is to take less “brochure website” projects, which can be built in a few weeks with an open source CMS such as Drupal and bits of custom PHP. I have a sliding hourly rate scale, and CMS and other “simple web work” are at the bottom of that scale. Add a significant amount of AJAX “effects” and user interaction complexity to the CMS or website, and the rate goes up, as it takes more effort to get the navigation and feel right with these.

Because CMS-type projects pay less and are typically for a short term, I should try to take on fewer of these. The better projects are at the higher end of the scale.

At the middle of the tier are long-term custom development projects, building systems from scratch with Ruby on Rails, Python and Django, or Java EE and Spring MVC or RIFE. Topping the chart are mentoring teams in Extreme Programming, Java EE, Spring, RIFE, Ruby on Rails, Django, and maybe even in Drupal.

There are also other platforms, such as the Mozilla XULRunner Runtime Environment, that have been growing recently (Songbird, ZAP!, WengoPhone, and The Venice Project), but which have rather significant skilled staff shortages. ActiveGrid is another platform where broad expertise in XForms, XPath, BPEL, and web services, could bring in high paying projects, as the technologies involved are just not that well known. Learning these platforms will help make me a more marketable asset.

All this is moot if potential customers don’t know I have these skills. So the plan for the next few weeks is to write up blog posts about these technologies and my experience with them. Maybe I’ll try my hand at videoblogging and make a screencast or two.

So that’s the plan anyhow. Let’s see what 2007 brings out of these strategies.

Happy holidays and a prosperous 2007 to my four faithful readers! :-)

Technorati Tags:
, , ,

Posted in life, open.source, personal.media, software.development | 2 Comments

Busy bees make more honey …

Busy, busy, busy. I’m wrapping up some work, but after this, I should be posting more regularly. I plan to have a lot more content in the time ahead.

Posted in life | Comments Off on Busy bees make more honey …