My Ghost Has More Presence Than I Do

Posted by Frederic Jean Tue, 27 Mar 2007 04:36:01 GMT

I must confess... I search for "Frederic Jean" on Google at least once a week. I do realize that this is fairly narcissistic. I just can't help it. I was quite proud when this blog showed up as the #1 result for a few days. (It has slipped over to the second page since then...).

Funny thing is that my first blog consistently shows up as the #1 search result. I haven't touched it in almost a year now. Of course, having a sun.com URL has a big impact on the Google Rank of the blog. It's certainly helping raise the Google rank of this blog. Still, it is quite strange that it shows up there quite consistently. Maybe I need to post here more often...

You Know It's Spring...

Posted by Frederic Jean Mon, 19 Mar 2007 09:22:00 GMT

When you take that first bite of chicken fresh off the grill...

Blog Migration Aftermath

Posted by Frederic Jean Sat, 17 Mar 2007 14:57:00 GMT

Here's the results of the blog move from my point of view:

  • I used to receive at least one problem report from FeedBurner a day. Nothing since the move. There was one problem report on the morning after the move, but it was move related.
  • Learned a few things about Apache HTTPD, Mongrel and Pound. Enjoyed the puns attached to having a pack of mongrels at the pound.
  • Enjoyed how Typo's architecture made it easier to migrate than I feared.

The most important lesson for me is the importance of having some control over your infrastructure. Shared hosting is a fine start. I still use it to host my pictures and my email. The price of shared hosting is a loss of control over your applications. You can't be trusted to have root access since you may impact other customer's applications. You can't have access to some utilities that help you troubleshoot your problems because you may expose someone else's application's internals.

The nice thing with using a VPS hosting provider such as Slicehost is that you do gain most of that control back. You still have to share the server's resources with the other users on the system, but you do have full root access in you slice. You can reinstall the OS, install the latest and greatest release of the software and manage what gets exposed to the internet and what remains internal. The console and the option of reinstalling the software is right there in the management console.

Tweaking My Blog Config

Posted by Frederic Jean Tue, 13 Mar 2007 23:35:00 GMT

I really don't expect to get too much traffic on my blog. FeedBurner tells me that I do have a few subscribers, and a handful of visitors a day. My pride does suffer a little because my wife's blog gets more traffic than I do. She does have a much better voice than I do when it comes to blogging. She also says that my content is, well, boring.

Still, I wanted to play a bit with using a pack of mongrels to run typo and to have Apache's httpd serve the static content directly. Application servers are great at generating content based on Ruby on Rails views or a Java Server Page. They don't do as well when it comes down to serving static files from the file system. Apache httpd allows you to configure aliases for different URIs. Thankfully, there were a few well defined URIs that are used to request static content. All I needed to do to offload the static file serving to httpd was to add the following line to my configuration file:

AliasMatch ^/(images|files|stylesheets|javascripts)/ "/home/fjean/sites/typo/public/$1/"
              

This will help keep the mongrels focus on generating the dynamic content rather than serving static files. Another advantage is that httpd handles the If-Modified headers correctly. As a result, the browsers can ask for a file only if it was modified after a certain time. If the server responds with a 304 response code, the browser knows to use the cached copy of the file. This does save on bandwidth.

I still had a single instance of mongrel running the blog at that point. A single mongrel should be sufficient with my current traffic. I still wanted more though. There was a slight problem though. Apache httpd 2.0.54 (which is installed by default on Ubuntu Dapper) doesn't have the proxy_balancer module. I did try to get it to compile and run on the server earlier without success. I did have another option. Pound is a software based load balancer that is able to balance traffic across multiple mongrel instances. I installed it by running "aptitude install pound". I then had pound installed.

The next step was to configure Typo to run on a pack of mongrels. I was in luck since I used the typo gem to install Typo. I used the following command to configure typo:

typo config ~/sites/typo bind-address=localhost port-number=4532 web-server=mongrel_cluster threads=3
              

(You should really stop Typo first btw...). I was then able to start the pack by issuing the "typo start ~/sites/typo" command. I did tell Typo to bind the mongrels to the localhost address. The reason is that I didn't want the mongrel processes exposed to the internet. There is really no point unless something is wrong and I need to troubleshoot the pack.

The next step was to configure Pound. The configuration file is found under /etc/pound/pound.cfg. I configured pound to bind to localhost:8888 and to forward content to the pack of mongrels. The important configuration bits are:

              ListenHTTP 127.0.0.1,8888
              
              ##
              UrlGroup ".*"
              BackEnd 127.0.0.1,4532,1
              BackEnd 127.0.0.1,4533,1
              BackEnd 127.0.0.1,4534,1
              EndGroup
              

Here again, there was no point in exposing Pound to the internet. Apache httpd will simply proxy traffic to Pound, which will then distribute it. I then had to enable pound by editing /etc/default/pound and set startup to 1. This was a signal to pound that it was configured. I started it by running /etc/init.d/pound start. The last configuration change was in the apache configuration file. I changed the proxying RewriteRule to send traffic to Pound rather than the first mongrel:

RewriteRule ^/(.*)$ http://localhost:8888/$1 [P,QSA,L]
              

I then restarted Apache and had a fully functional Typo installation that delegates serving static files to Apache httpd and is run by a pack of mongrels in a pound.

Now, if only I could do this with the servers at work...

Getting Apache, Mongrel and FeedBurner to Play Nice

Posted by Frederic Jean Mon, 12 Mar 2007 22:51:00 GMT

I moved my blog from Textdrive to a Slicehost slice on Sunday. For the most part, the migration went well. Once I had Typo up and running on the slice, I just had to copy my theme, a few resource files and use a dump of the database to rebuild the content.

I had a little more trouble getting Apache to proxy requests to Mongrel and redirect all feed requests to FeedBurner (except for FeedBurner's of course...). I finally got mod_rewrite and mod_proxy to cooperate.

The first thing to remember is that the normal proxy approach will prevent the rewrite rules from working. Instead of using ProxyPass statements, I had to use RewriteRule. You'll need to enable the proxy, proxy_http and rewrite modules. Next, you'll need the following rules:

              ProxyRequests Off
              <Proxy *>
              Order deny,allow
              Allow from all
              </Proxy>
              
              RewriteEngine On
              RewriteCond %{HTTP_USER_AGENT} !FeedBurner
              RewriteRule ^/xml/(atom|rss|rss20)/feed.xml$ http://feeds.feedburner.com/fredjean/outofmymind [R=301,L]
              RewriteRule ^/(.*)$ http://localhost:3000/$1 [P]
              

The Proxy blocks enables the proxy module. The rewrite module will not be able to proxy the request to Mongrel if it is not set.

The RewriteCond line determines whether the user agent identifies itself as being something else than FeedBurner. If it is, the client is redirected to the FeedBurner URL. This allows FeedBurner to pass through and retrieve the feed. The redirect here is marked as being permanent (301 is the permanent redirect HTTP response code). We also tell RewriteRule to stop processing the rules at that point.

The last line proxies the request to Mongrel so it can be handled. Mongrel in turns runs the Typo blog engine. Once Typo is done, the response travels back through Mongrel, apache and makes its way back to the client.

Still waiting

Posted by Frederic Jean Sat, 10 Feb 2007 12:16:18 GMT

Almost 8 months ago Mollie and I were notified that the CCAA had received our paperwork. We were LID (which stands for Logged In Date). We had our place in line, and all we could do now was wait and attend a few mandatory classes. We weren't too sure how long it would take to get our referral. We sure hopped that it would be well within a year.

But the wait times keeps dragging on. Mollie has been following different boards and discussion forums. I started looking at them too. And it dawned on us that it would take longer than we thought. And it keeps getting longer. Right now, we both believe that it is unlikely that we will get our referral and go to China this year. It's hard to deal with this for both of us. It breaks Mollie's heart to have to wait so long. It's hard on me to see the dates continually slipping. In many ways, getting Sophia is going to be the start for many, many good things for our little family.

One thing that really bugs me is that I always have the same question each time that I talk to one of my family members. "Did you get news about your little girl?" And I always have the same answer. "No. We will not hear anything until early 2008. Probably later." I know that they mean well. This adoption is a big part of our life. It is just a reminder that we do not have any control over the process at this point and that the wait just keeps going on. And I certainly wish that somehow they would remember that we will probably not get anything for a while.

Someday, we'll have a different answer to give. Actually, we'll be calling on both our land line and our cell phones, trying to reach as many people as we can in our great excitement. We'll be posting pictures and getting ready for what will be the biggest adventure of our life. In the mean time, all we can do is wait. So we wait.

New Year, New Job

Posted by Frederic Jean Sat, 30 Dec 2006 12:57:13 GMT

I lost my job a couple weeks ago. It wasn't such a bad thing since I was trying already job hunting. Of course, I was hoping to have a new job lined up before leaving. The good news is that loosing my job allowed me to switch to full time job hunting, focussing on networking with recruiters and getting interviews. I did learn a few things in the process.

First, you should not wait until you are in need of a job before networking. My regular attendance to the local Java Users Groups and other geek gatherings turned out to be very helpful. I got a few very good leads through people that I met at the Boulder and Denver JUGs. It also helped getting access to recruiters since my name was already familiar to a few.

Second is that Holidays aren't such a bad time to look for work. Yes, many people are taking vacation time. Many are hiring managers actively looking for people to fill positions. Others are the recruiters that they are talking to. There are still many actively looking. The first few days on the hunt were filled with calls to recruiters, returning calls to recruiters and even a phone interview. Even a blizzard didn't quite stop the activity.

Third, that Holidays can limit the opportunities you have access to. A applied to a few interesting positions through friends, only to learn that the hiring managers would be in vacation for up to a few weeks. I therefore had to make a choice: would I be willing to wait for the manager to come back? Should I pass on good, solid opportunities in order to wait for the managers or HR to contact me? Truth is that I realized that I really wanted to get back to work even after a few days of unemployment.

Finally, know what and where you are looking for. I got many calls from recruiters who wanted me to apply to positions in the DTC, in Chicago and even one in Arizona. Living in Thornton would have made all of these a little difficult to get to. So I was insistent that I was looking for work within a certain geographical area of Denver. I also had to decide early on what kind of work I was looking for. I did apply to Google and other high tech startups, but I didn't fare so well. Turns out that having a computer sciences degree was very important to the recruiters. So I did change my focus to target positions where having a CS degree wasn't so critical.

So, through the holidays and a couple snow storms I ended up receiving an offer from TransZap. TransZap is a small company based in downtown Denver focussing on providing billing services to the oil and gas industry. I was impressed by the people that I met through the interview and I did like their pragmatic approach to the development process. I'll be joining TransZap on January 3rd. This looks like a solid company, with a good product and good people. I am excited to join such a team.

More Snow...

Posted by Frederic Jean Thu, 28 Dec 2006 16:59:50 GMT

There we go for round 2. The snow has started here in Thornton, and it is already starting to accumulate out there.

Main.Php?G2 View=Core Main.Php?G2 View=Core

It's hard to see as thumbnails, but you can see the snow falling down on both pictures. It's certainly more evident on the second one.

So I guess that I'll stay dry and warm today and spend some quality time with a shovel tomorrow.

Be safe driving home tonight!

Let it Snow, Let it Snow, Let it Snow

Posted by Frederic Jean Thu, 21 Dec 2006 21:27:57 GMT

It's looking like the 2006 Blizzard is finally over. This is what our house looked like before I started shoveling the snow:

Pc210008

The combination of wind and snow created some amazing drifts. The one that really blew me away is the one that was hanging from the garage:

Pc200007 Pc210012 Pc210014

A few hours of shoveling later, I had the driveway cleared out. I did get some help from my neighbors Michael and KC. I had to take pictures as they stood proudly on top of the snow hill:

Pc210017 Pc210018 Pc210019

I am pretty sure that some of this snow is still going to be around by Christmas. Still, all the shoveling is going to leave me very sore tomorrow...

Test Driving our Road Trip Setup

Posted by Frederic Jean Mon, 10 Jul 2006 15:19:06 GMT

Mollie's sister is getting married in August, and we are planning to drive up to Seattle with the rest of Mollie's family a few days before the wedding. It's going to be a 2 day drive from Grand Junction, so we were looking for ways for the passengers to be entertained. We were considering buying a portable DVD player when I realized that we could easily use my PowerBook to play DVDs. I already had a power inverter, so we don't have to worry about keeping the laptop charged.

Mollie, one of her friends and I had to go over to Glenwood Springs over the weekend, so we took the opportunity to test the setup out. Before leaving, I plugged everything in, turned the volume as high as it could go and let the passengers get comfortable. We did discover pretty quickly that we didn't have a good place for the PowerBook, so Mollie and her friend took turns holding it. The PB also had a hard time competing with the road noise.

So I came up with the following lesson learned:

  • We need to find something to hold the powerbook as we drive.
  • We need a way to pipe the sound to the car's sound system. This way, it will be much easier to compete with the road noise (although it may be a little distracting for the driver...). Headphones may also help.

The end result was positive. I think that once we resolve these two issues that we will be ready for the drive to Seattle. The ladies were entertained and I was able to go a little bit faster that I could have had otherwise ;).

Older posts: 1 2 3 4 5