notes from startup school

Startup school was in session at Stanford University a little over a week ago, on Saturday, April 29th. I commuted six hours to check out the event. If you're at all interested in starting your own company or participating in a startup, you will really benefit from this sort of venue.

Ruby on Rails makes nice with PHP

Not all projects can jump ship from a home grown PHP site to Rails, especially projects where there are exactly 1.3 programmers for the project. I was surprised there wasn't much information on integrating php and rails site (spare me the flame wars). All new development will be done in Rails and old PHP will be written in Rails as time permits. I was exploring some of the ways that this could be possible and what possible problems might arise.

I will need to read certain sessions variables from PHP into Rails, I will not need to write to the session. I found a ruby script PHP Serialize which takes a php serialized string and converts it to a Ruby datatype. If your sessions are stored as files, they are in /tmp/sess_[session id] where session id stored in $PHPSESSID they contain a special serialized string. Ruby can get the session id from the cookie and read the file, and PHP Serialize will convert it into an object. If your sessions are stored in a database, then of course you'll be able to create a Rails model to access it. If you need to write to a php session, then I think it would be better this way. I didn't try using sessions stored in a database, because I use files. I’m not sure how you would do it stored in memory. In any case, reading from the session file I believe is a temporary hack at best.

Back Home, Back-up

Or, "How I learned to start worrying and love back-ups".

The 8th January 2005 began like any other Saturday, I hadn't quite woken up, and in the distance I could hear a cell phone ringing. My head cleared and I realized it was mine; I must have left it downstairs last night. I thought about letting it ring, I knew the timing pretty well, so I knew it would inevitably stop ringing seconds before I could find and answer it. For some reason, I got out of bed and headed downstairs.

In hindsight I could tell you that it felt a little different walking downstairs, maybe colder, or maybe it seemed slightly darker than usual, but I was too sleepy to notice. It's only when I stepped off the last stair into the room that I finally woke up.


This week I said to myself, "Wow! Bob Walsh is going to be posting on Code Snipers!" immediately followed by, "Damn, I wish I hadn't just resigned my contributor status!"

But, even with new contributors coming on board whose talent I could bask in reflectively, I feel it is time for me to take a turn on the bench. Oh, I'll still be heard heckling from the side line, and may occasionally submit a guest post to the editor (who should promptly recycle it if he knows what's good for the site). I'll also be blogging occasionally over at my original blog site that has gathered cob-webs since I started posting here.

I hope you enjoyed my posts as much as I enjoyed writing them. Thanks for your comments and thoughts. Stay cool and be sure to call me this summer so we can hang out 555-450-5948.

-Rusty Divine

Bob Walsh - An Introduction

Writing about yourself qualifies as a definitely weird experience, but since you're reading this, I'll give it a shot.

I used to be a fairly normal contract programmer, going from project to project, contract to contract. And then a few years ago, I realized I had been doing the same old same old, just with different tools and languages, for over 20 years, that I was 46, and life is not a rehearsal and I'd better get cracking if I still want to change the world.

Now, don't click the back button or I'll whack you with my cane. I don't want to change the entire world; just the part where millions of people spend their lives getting beaten down and going nuts working for some clueless giant corporation. After all those years of contract programming I've seen all of that I ever want to see.

Case Study - Car Webcam

Have you ever said to yourself, "Wow, if I only had a webcam in my car..."? No? Me neither, but it might be a fun exercise to explore anyway. We'll leave it to the marketers to figure out how to sell it, right?

What this project is going to need:

  • One car
  • One laptop
  • One webcam
  • One mobile Internet connection

Call for Conferences

Yes, normally it works the other way around. A conference announces a Call for Papers/Presenters, but we're doing it the opposite way here. If you know of a conference - preferably that you're attending - that it isn't listed, please let me know.

First, we have the New York PHP Conference & Expo 2006 which is in New York, NY in mid-June. It's focused on PHP in the business community looking at both the Business Strategy and Technical Solutions. There are four of us from the DC PHP Group planning to head that direction. Registration is open, the Call for Presenters is closed.

Next, is the YAPC or "yet another Perl conference" which is in Chicago, IL in late June. The focus of this conference is Perl as a whole though they've widened their net to look at more scripting languages and concepts such as "Python for Perl Programmers". Nola brought this one to my attention and I believe she's attending. Registration is open, the Call for Presenters is closed. [Correction: Call for Presenters is closed, but the "Call for Virtual Participation" is still open. And the 15% registration discount expires on April 30th. - KC]

Next, is the Better Software Conference in Las Vegas, NV in late June (same week as YAPC above). This conference is all about software project management, process improvement, metrics, etc. I initially heard about this one because Joel Spolsky is a keynote, but don't worry... I'll be there too. Registration is open, the Call for Presenters is closed.

Finally - and near and dear to my heart - is the 2006 DC PHP Conference in Washington, DC in mid-October. This conference is focused on PHP in the Federal government with a special look at non-profits therefore we take a specific look at PHP Security, Integration in the Enterprise, and a Show & Tell. I say "we" because I'm one of the people organizing it and will definitely be attending. Registration is open, the Call for Presenters is open.

If we're missing one of your favorite conferences, please let us know. As these pass, they'll be replaced with new ones.

Perl & HTML Generation

There are probably vast amounts of documentation and tutorials about the Perl CGI Module but readers of this site who are not Perl programmers probably won't go out on a whim and read about this interesting module. Even a PHP programmer might get inspired ... is a "Simple Common Gateway Interface Class." I'm still learning myself how to use it, so I'll share what I know..

CGI can be used with two types of programming styles, functional and OOP. So far I've only used the functional.

Include the module with

use CGI qw/:standard/;

Here I'm bringing the "standard" set of functions into my scope. From my limited understanding thus far, the qw thingy delcares what to "export" into the local scope. Anyways, thats what I'm going on now until I become reach monkhood and earn my Camel Pin.

As always when learning something new, I start Uber Simple. Inspired by a exercise in Practical Perl Programing, I created a form that will take hourly rate, hours, overtime and spit out the salary.

HTML Generation or Templates?

Recharging and Refueling

One of the common threads that has shown up around here involves starting your own business, the joys and successes that go along with it, and all the stuff you can learn. One of the things rarely discussed is burnout.