Getting jiggy with the Yahoo! UI library

February 10th, 2007

I know I’ve been away a while, but I’ve been knee deep in preparing for our upcoming show and finishing up on some projects at work and at home.

More relevantly (is that even an adjective?), I’ve been implementing the Yahoo! UI JS/CSS libraries, augmented with Jack Slocum’s excellent Yui-Ext. It provides incredible flexibility and code logic organization, better than any I’ve seen so far. I especially like Yahoo’s event handlers, which resemble somewhat the .Net approach, where you can actually define your own events and having object calls abstracted via listeners, further improving object isolation. Not only does this guarantee better object interoperability and easier debugging (imagine going through chains after chains every single time), it takes care of all the wiring for you.

So, to get things back on track, I’ll submit some code snippets from the next upcoming project, Horseshoe, for which I’m developing the browser frontend. It’s actually not a Symfony project, but it’s a tool that everyone could use - a test suite browser, supporting multiple testing engines. The testing server and browser will be decoupled, meaning the interface will be consumable by either the HTML/JS client or a wholly different one, since the server will support multiple protocols.

As always, stay tuned.

Getting advanced with objects

January 25th, 2007

Just a quick note - if you’re into strict systems specification and architecture, you’re no doubt no stranger to object-oriented patterns and interfaces. In case you were ever tempted to use interfaces in your application, Symfony has a simple way of declaring an instance and having it autoload into the program stack: just declare your interface in a file, named as the interface itself, plus the suffix interface.php. Simple, no?

UPDATE: Per ruzz’s request, I’m posting a quick example:

Read the rest of this entry »

Poll results are in

January 25th, 2007

Well, not a very good turnout, but still, here are the results:

  • Proof of concept - 50%
  • Work in progress - 25%
  • Advanced topics - 25%

And yes, sadly, those numbers are accurate. And yes, they do add up exactly. And yes, 4 of you voted. ;)

But it does give me a slight hint about what to write about, so I’ll try and focus more on those points in the future.

Stay tuned!

Fixing the column problem in IE6

January 24th, 2007

I’ve just stumbled upon a bug in IE6 that doesn’t manifest itself in IE7, and it has to do with floated elements.

I’ve used 4 floated columns to display 4 independent DIVs and floated them all left within a container DIV element. During development, I’ve been changing widths of the columns to get them aligned just right with the background images. All modern browsers (including Opera, Firefox and IE7) displayed all the columns fine. Except for IE6.

Read the rest of this entry »

Fuzziness helps keep focus

January 23rd, 2007

Now, this may sound as an oxymoron in itself - how exactly does vagueness help keep the overall picture in focus? It’s been proven that the human brain can perceive information and filter it to effectively perceive the environment - just imagine each eye capturing something like 8-megapixels’ worth of data every 1/30th of a second and processing all that data into a spatial model that we can perceive. Generally speaking, even supercomputers today would croak if you’d ask them to do something even remotely as complex as that.

Read the rest of this entry »

Switching Wordpress themes

January 22nd, 2007

Sorry for the constant back-and-forth switching between Wordpress themes, but it seems that whenever I find a suitable theme that has a variable width for displaying long lines of code, it invariantly breaks one of the plugins or Google Analytics acts up.

In any case, don’t worry, all the content’s still there.

Generating permalinks

January 20th, 2007

We’ve all been there - SEO can be quite a pain in the ass when you’re competing against others for exposure. Turns out, much of the tedious content optimization can be resolved in the development phase, using nice and descriptive URLs.

Read the rest of this entry »

A quick update

January 19th, 2007

Well, until I’ve resolved some issues regarding the code highlighting plugin, I’ve decided to present you with a quick poll on just what topics I should tackle on this blog.

Whether it be Symfony specifics, like manipulating requests and responses, internals and other whatnots or just writing about cool new ways on how to use Symfony, take your pick!

Plus, I’ve got a brand new project in the pipeline that I’ll blog about as events unroll - the project itself will be a free online service, complete with all the accompanying Web 2.0 buzzwords.

Markdown-compatible code highlight

January 12th, 2007

Finally found a plugin that’s made to work with Markdown in WordPress - link.

Just have to wait for the admins to install the thing. ;)

UPDATE: Seems there’s a problem with the included PEAR class package - Text/Highlighter, which is used for code highlighting, is an old version and written for PHP4, and if you don’t have PEAR included in your path somewhere, it fails when it tries to pull in PEAR.php. Says it works for PHP4 and 5, but still, have to figure out just what it needs from PEAR.php.

Working on code listings

January 11th, 2007

Well, it’s seems there’s no way around the double html entity escaping in WordPress MU with Markdown Extra, which makes posting any kind of code containing HTML entities a nightmare.

I’m looking for a solution to get around this weird behaviour, but I’m stumped as to just what to do. In the meantime, I’ll be posting PHP code using the [?php ?] tags to get around the dissapearing markup problem, but object-related stuff (like ->) are still likely to show up as literal html codes.

One way I was thinking of circumventing this problem is to have my code hosted elsewhere, then display it using CodePress. Although it’s primarily a code editor, it might get around some of the shortcomings and provide code highlighting for code examples.