Dread Pirate PJ's House of Hacks and Tricks » web.architecture http://www.pjtrix.com/blawg Sat, 23 Aug 2014 19:46:15 +0000 en-US hourly 1 https://wordpress.org/?v=4.2.29 Much Railing Lately http/blawg/2007/05/15/much-railing-lately/ http/blawg/2007/05/15/much-railing-lately/#comments Tue, 15 May 2007 05:17:03 +0000 http/blawg/2007/05/15/much-railing-lately/ Continue reading ]]> 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. 😀

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:
, , , , , ,

]]>
http/blawg/2007/05/15/much-railing-lately/feed/ 0
More like rakin’ in da dough … http/blawg/2007/03/07/more-like-rakin-in-da-dough/ http/blawg/2007/03/07/more-like-rakin-in-da-dough/#comments Wed, 07 Mar 2007 19:48:18 +0000 http/blawg/2007/03/07/more-like-rakin-in-da-dough/ Continue reading ]]> 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:
, , , ,

]]>
http/blawg/2007/03/07/more-like-rakin-in-da-dough/feed/ 3
Bringin’ in da dough, baby! http/blawg/2007/02/20/bringin-in-da-dough-baby/ http/blawg/2007/02/20/bringin-in-da-dough-baby/#comments Tue, 20 Feb 2007 06:55:10 +0000 http/blawg/2007/02/20/bringin-in-da-dough-baby/ Continue reading ]]> 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:
, , , , , , , , ,

]]>
http/blawg/2007/02/20/bringin-in-da-dough-baby/feed/ 1
Gearing up for an exciting 2007 http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/ http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/#comments Fri, 05 Jan 2007 17:04:53 +0000 http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/ Continue reading ]]> 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:
, , , , , , , , , , ,

]]>
http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/feed/ 0
Progress and hair pulling http/blawg/2006/12/22/progress-and-hair-pulling/ http/blawg/2006/12/22/progress-and-hair-pulling/#comments Fri, 22 Dec 2006 22:12:28 +0000 http/blawg/2006/12/22/progress-and-hair-pulling/ Continue reading ]]> 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:
, , , ,

]]>
http/blawg/2006/12/22/progress-and-hair-pulling/feed/ 0
Lucky Strike http/blawg/2006/05/11/lucky-strike/ http/blawg/2006/05/11/lucky-strike/#comments Thu, 11 May 2006 06:39:42 +0000 http/blawg/2006/05/11/lucky-strike/ Continue reading ]]> This past Monday, I started a new exciting, but short chapter in my self-employment. A few hours after I had posted my last entry, I received an email from a good friend down here in PR, asking if I was doing contract work.

I am now working on my first for pay Ruby on Rails project. I’ve been learning Rails on my own time and dime for almost a year now. This will be a good opportunity, and good for the résumé. Self-study doesn’t amount for much in a job interview without real work to show for it. This should help me find more Rails work after this project is done.

The skeleton for the project is mostly done, but my friend has run out of steam after working solo on it, part-time, for many months. He has a two-person IT services company to run. His wife does sales, contract negotiation, marketing, chamber of commerce stuff, etc., while he is the only technical employee, servicing many customers, and integrating solutions for new ones.

As good Catholics, they also have three children to take care of, another full-time job.

He has hired me to help finish this new product, over two weeks. Considering he doesn’t have any comments in the code, it’s going extremely well. :-)

I work three days from home and two at the office with my friend. If only my broadband ISP had any decency and the cable modem didn’t loose signal often, everything would be peachy.

Meanwhile, I continue looking for work in the USA. Résumés have been sent out to all traveling consultant companies I know of, and a dozen more have been sent to companies in PA, including my ex-employer from 2001 (the bastards are still around! Ha!)

]]>
http/blawg/2006/05/11/lucky-strike/feed/ 0
Working hard, hardly working … http/blawg/2006/05/06/working-hard-hardly-working/ http/blawg/2006/05/06/working-hard-hardly-working/#comments Sat, 06 May 2006 23:32:39 +0000 http/blawg/2006/05/06/working-hard-hardly-working/ Continue reading ]]> Hello, gang.

My two year old start up went belly up for lack of funds in February, and life has been interesting since, to say the least. It was an open source company/experiment, so the products we created are still available. Everything else about the project is still the same, we’re just not getting paid and we work on it from home on our own time, instead of full-time from a furnished office. You can find out more at the project’s SourceForge pages.

For a few weeks in March, I was consulting locally, doing Java Enterprise Edition development for a software company that makes banking software for credit unions. It’s good to get back to doing Java from the enterprise developer’s perspective. At the start up I mentioned above, I was doing Java from the virtual machine’s perspective, and it’s a whole other world.

After the credit union software work dried up, I started doing some easy web work here and there, setting up simple promotional websites for various people and organizations. It seems everybody down here wants a basic website with at least email newsletter sign-up, and a mini-blog for displaying news about their activities.

Among my clients, there was this one high school senior class, from a nearby well-to-do private school. They wanted a place to promote their activities before and after graduation. They paid upfront for hosting for two years! That’s ridiculous, but it was enough to pay my bills for some months. I’m making a living here, you know, and the customer is always right. :-)

So that brings me to the close of this blog post. This on again off again web work isn’t cutting it. I need to find some permanent work soon (that’s what I meant by “hardly working” above.) I’ve applied to traveling consultant gigs at a few USA companies, and I’ve applied to “regular”, non-traveling IT staff jobs in Pennsylvania. (I have friends and family there, and I worked just outside Philadelphia, before the dot-com bubble burst sent me packing, five years ago.)

Let’s see what’s in store for me next!

Sayonara for now! Take care, y’all!

]]>
http/blawg/2006/05/06/working-hard-hardly-working/feed/ 2
Ongoing tuning at Ongoing, and a personal challenge http/blawg/2006/02/13/ongoing-tuning-at-ongoing-and-a-personal-challenge/ http/blawg/2006/02/13/ongoing-tuning-at-ongoing-and-a-personal-challenge/#comments Mon, 13 Feb 2006 08:07:06 +0000 http/blawg/2006/02/13/ongoing-tuning-at-ongoing-and-a-personal-challenge/ Continue reading ]]> I enjoy Tim Bray’s writing at his weblog, titled Ongoing. I began reading in late 2001, and I was hooked by his digital photography, his excellent writing, and his deep analysis of technical and cultural trends. His series on multi-core, multi-threaded, parallelism is required reading for any self-respecting 21st century enterprise-level software architect, which I am. (OK, OK, I admit I’m also quite the geek, having learned Intel 8008 machine language at the age of 7. As of February 2006, I’m 35, and I still luuuv this kind of deep hardware detail.)

And Tim’s weblog platform fascinates me. Instead of using Movable Type, or WordPress, or Bloxsom, etc., he has implemented his own weblog engine, using what he claims is a 2200-line Perl script, a MySQL metadata back end, and a little XML.

His weblog engine features a webpage template with a rotating image header, and a sidebar with a rotating random image from his substantial digital photography collection. This past week, he says he fixed a problem he had with the sidebar image, adding
a bit of AJAXy goodness or other to his sidebar. Not the least bit surprisingly from Tim, the entry goes into more than a bit of detail about how his weblog engine is put together, and what he has done to fix the sidebar image issue. And it is awesome! Tim is definitely an über-h4x0r.

You see, the weblog runtime is entirely filesystem-based! Unlike WordPress, Typo, Bloxsom, and other weblog engines, he doesn’t use a runtime database and templating engine, and does not bother with much dynamic HTML generation for each weblog entry requested by a visitor. His weblog platform is automated, in the sense that he doesn’t write the pages from scratch all in HTML, natch. He has a Perl-script generate the website content from XML-based templates, and the entries are written with pseudo-HTML style tags.

Having the content be generated and stored on the filesystem means two things:

  • His weblog is very robust under stress, since there are no, um, “moving,” software parts besides the OS, a filesystem, and Apache.
  • Even on a modest server, it should withstand a whole lot of slashdotting (or is it diggs that we have to worry about now?).

I have to admit, I am more than a little bit jealous. Being a hopeless geek myself since an early age, I’ve always been fascinated with the inner workings of computers and software. And my mind wants to grok how things work, and I enjoy making my own things.

Now I too want a filesystem-based weblog engine to call my own! I too want a weblog with spiffy graphical headers, and AJAX goodness, and metadata. Really, what geek doesn’t enjoy goofing around with a little metadata? :-) It will all be put together and crafted by my own mental powers and some clever typing in some clever little language.

So starting this week, using my copious free time, I am going to write my own simple filesystem-based weblog engine. Details to come as I get my butt in gear.

Technorati Tags:
, ,

]]>
http/blawg/2006/02/13/ongoing-tuning-at-ongoing-and-a-personal-challenge/feed/ 1