Amusing Craiglist Jobs

Posted on

  • Green Non-profit seeks IT Director: for 45-55k you can "have significant experience in management of technology projects and teams. S/he will work with the team and the Chief Business Officer to develop clear technology performance standards and create and implement strategies for meeting those standards." As long as you have "Three to five years solid experience in managing technology-focused teams and projects, plus 5-10 years experience doing technical work of this nature." WTF - who with 8-15 years experience, is going to take a job for 45-55k?
  • Web Developer:  part time, \$15/hour
  • Webmaster: "Must work with vendor, staff and volunteers to develop and maintain dynamic real time information on site during extended business day."  Translation: willing to work 12-15 hour days.
  • The Chronicle of Higher Education seeks a Web Designer who " will have have several years of expertise hand-\ writing code; design sensibility; solid background with XHTML, CSS, DOM-based JavaScript, fully-tableless layouts, semantic code, and Flash actionscript;". I'd like to be there when they find this designer riding a unicorn chased by Sasquatch.
  • Here's a hybrid IT Support/Web Developer who along with supporting and maintaining a web site, will also provide IT support to the organization, and systems administration.  The list of technologies to know spans quite a range, and while the generalist in my can check off the majority of them, there aren't enough hours in a day for one person to do all these. Plus its a non-profit job, so you'll be overworked AND underpaid.
  • Finally, we have Great opportunity! Dating site looking for partner to handle website!, How can you resist a post with not one, but two exclamation points.  If there's one thing I've learned at work, its that exclamation points are way under used by most people! This post not only has a exclamatory title, the "job" has no pay until the site has some revenue. If you take that job, read your contract very carefully to make sure you will get paid.

Thats it. I didn't expect to find 6 jobs on the first page alone, but there you have it. Since I can't think of any better way to end this post, my employer is looking to hire a Web Developer. As I told the head hunter that called me at work there, its a good place to work - I've been there for almost seven years now.

─── ✧ ─── ✦ ─── ✧ ───

Don't abuse PHP's header function for redirects

Posted on

PHP's Header function can come in quite handy when you're building your next greate web application. Its powerful, but as a result, its tempting to misuse it to do even the simplest things, like permanent redirects. Usually, its done like this:

// redirect /publications (this page) to real page (/documents)
Header("Location: /documents/");

One line of code, time to move on to the next task in your queue, right?  No. Why is this wrong or wasteful? We're making the web server fire up the PHP processor to do something it can do more efficiently. If we avoid using PHP, our request should be served faster and with less memory usage. If you're on Apache, then the Rewrite module can do this for you, assuming your hosting provider has it enabled and allows you to control it via .htaccess files. The better way to do this is with the following:

RewriteEngine On
RewriteRule /publications/?   /documents/   [R=permanent, L]

The "permanent" part is important, in that it'll trigger well-behaved spiders and user-agents, like Google, to update their link database and avoid the redirect in the future altogether. If you have a lot of redirects, this solution excels for its maintainability as well.  Keeping them all in a single .htaccess file will save you from having to hunt through multiple PHP files for that header() call.

Tags: Apache, PHP

─── ✧ ─── ✦ ─── ✧ ───

Initial thoughts on Python and Django

Posted on

In an effort to learn a new skill and get some much needed exposure to another programming language, I've started learning Python. Its a very neat language, and its use of whitespace to organize code pleases the code style nazi that Sandy has instilled in me. Reading the code itself, its refreshing how uncluttered it can be without curly braces, dollar signs, and semicolons all about. It takes a little getting used to, as I do find myself looking for braces to delineate a function definition, or an if-block, and still litter an occasional end of line with a semicolon.

I've learned how to use exceptions to handle errors, which out of habit and lack of necessity I haven't used in PHP. I haven't gotten beyond a simple procedural program yet, but there's a lot of power under the hood in all the libraries available for python.

As a result, I've been reading up, and doing the online tutorials for the Django framework. I chose Django after reading Please Teach me Web Frameworks for Python!, and the comments for that entry. TurboGears was highly recommended, but three things steered me towards the former.  First, Django seems to be a more integrated suite of components (DB/ORM, Templating, Controllers), while TurboGears lets you pick and use a "Best-of-breed" component, defined by you. Second, Django provides a useful admin application for free, which you'll be very impressed with if you follow the tutorial. Last, but not least, the Django book, available for free online, was a very accesible, easy to read, and informative resource for learning about the different components and how they work together. I wish more web application frameworks, particularly the one we use at work, had such good introductory documentation for orienting new developers.

I haven't gotten very far with Django yet, but I do plan on using it for my next online project. I recommend you look at it too.

Tags: Django, Python

─── ✧ ─── ✦ ─── ✧ ───