PHP

Northern Vox

November 29th, 2006

Another year, another Canadian blogging conference. Northern Voice 2007 is open for registration, and until this Friday, open for speaker submissions. I went to the first two conferences and really liked them, with last year introducing Moose Camp, a more informal conference, to the mix. The organizers this year are holding the conference not downtown, but at UBC's main campus. This means a longer commute for us suburbanites, and those from out of town will want to book their hotel accordingly (or wake up earlier than last year) and take the bus or taxi.

(From downtown, there are lots of transit options, including a trolley or three that go there directly to taking two express buses, one from downtown to Broadway and Granville, and another from there directly to UBC.)

I have a hand in developing the conference's site, which ended up including updating documentation for the Drupal module that runs banner advertisements (in this case, Northern Voice uses it to display sponsors' logos on the sidebar). That said, I registered just like everybody else, paying full price for both the conference and the t-shirt. For two days worth of interesting conversations (based on last 2 years' experiences), in a most excellent looking venue, UBC's Educause Review Forest Sciences Centre, 70 bucks is a pretty great deal.

Vancouver will host 2 other technology conferences in February, and Web Directions North from Feb. 6-10th, and Vancouver PHP Conference from Feb 12-13th. So you might as well book a hotel for the whole month.

Overview of Drupal API changes in 5.0 »

Looks like I have some updating to do on my modules.

Getting started with Drupal »

A good article on what makes up a module in the CMS.

Chris DiBona and Leo Laporte interview Rasmus Lerdof »

Rasmus talks about the appeal of calling your project something starting with 'php' (and what it means for the bug reports to the PHP language itself) and, at the end, the importance of making the language easy to learn.

Not Just Solving the Problems That You Get Assigned to You from a Textbook

June 19th, 2006

Joey deVilla links to (and helpfully summarizes) 15 Exercises for Learning a New Programming Language. The second exercise covers writing an application or script that generates the Fibonacci series. Once, in a fit of boredom—either that or some misguided attempt to learn programming "the proper way"—I dug out my old C++ book from university. Yes, I took Computer Science 101 in the days just before the universities started teaching Java in its introductory classes. One of the exercises was to program a function that shows up to x numbers in the Fibonacci series, forever made famous in my head in an episode of Mathnet back in the day on PBS, part of the mini-series that included the talking parrot ("one one two three five, eureka!"). After trying a recursive function—something I've never been able to do unless the algorithm was given to me (something about learning how to write sorting routines, which I've long forgotten so it's a good thing programming languages come with them built-in now)—I gave up.

To my relief, I had earlier seen a comment on Slashdot recommending programmers learn by solving their own problems. (And by seen on Slashdot, I mean seen on Seen on Slash.) The problems I needed solving involved things the various CMS platforms couldn't do out-of-the-box (from Blogger to Movable Type to WordPress to Drupal, all needed a little PHP help to make things just right). With the last two, I looked at the source of plugins and modules, respectively, to reverse-engineer how established programmers did things. Not that I claim to be in any way typical in how I learned to program, but there are others who looked at the CMS' code and APIs and improved their programming skills. So any advice on learning a new language that doesn't include "use libraries and APIs" (why duplicate effort?) and "reverse engineer code from projects and programmers you respect" should be the top two items. I could use a healthy dose of math and statistics to buttress my intermediate PHP scripting level (my highest level of scientific thinking is high-school at best). Though the Slashdot commenter probably underestimates the value of exercises (hockey players get better at skating backwards by practicing skating backwards, and initial skating lessons help in learning proper technique and habits early), solving your own problems is, for many, a more effective way to learn, not just solving the problems that you get assigned to you from a textbook.

A week passes after writing the above and Joey links to some more exercises, which “seem a little more "real world"”: calculations, data structures and libraries. I came close to writing an RSS feed creation library before stumbling on FeedCreator.class.php. I had to hack it to allow for the creation of multiple <category> elements (checking to see if it was passed an array or a string). The moral of the story is that sometimes problems are already solved for you, but you sometimes have to go the last mile.

Install Drupal on a memory stick or keychain hard drive »

The instructions are for Windows, though conceivably you could do it for Linux and Mac computers as well.

How to compile the GD image library on Mac OS X »

The instructions are great (just download the libraries and copy & paste the commands). Now to make it work with PHP.

Overriding PHP's max_execution time in PHP »

This came in handy when doing some intense stuff with Drupal, much, I'm sure, to the chagrin of my web host.

Rasmus plays around with the Flickr API and PHP 5 »

Looks like he essentially rewrote the phpFlickr library.

Kris writes about the coding I did over the weekend of a Flickr module for Drupal (it's only in alpha stage at this writing) »

I'm only an intermediate-level PHP programmer, but Flickr's open API and a library that does the XML parsing for me made it a lot easier than it could have been.

del.icio.us PHP class »

Saved me from having to write XML-parsing functions for a weekend project.

Open-source PHP framework for creating AJAX applications »

In other words, Drupal doesn't have to re-invent the wheel (no idea if Apache License 2.0 is compatible with GPL, though).
Syndicate content