November 5, 2010 - 11:46am | 16 comments
So there has been a lot of blogging and documentation in the past about the "right" way to do AHAH in Drupal. I think these people make excellent points, provide good documentation, and are pushing these types of dynamic interactions in Drupal in the right direction. I think a lot what's out there about this "right way" to do AHAH in Drupal misses some critical issues, though. Maybe someone else has blogged about it already, but I'll share one pitfall that I learned to avoid while doing AHAH.
October 26, 2009 - 4:24pm | Add new comment
Validating user input is always a great idea from a usability and security point of view. However, when it comes to things like URLs, the data is complex and there is a very strict pattern that the data has to adhere to. From a data perspective, this is great news, since we can validate for what we want, not try to detect what we don't.
However, a lot of modern URLs don't always do a great job following RFC 1738. Specifically, I'm looking at you .Net guys who insist on putting UUIDs wrapped in curly brackets in query strings and the like. According to RFC 1738, curly brackets are "unsafe" within URLs and should be encoded to their URL-encoded entities.
October 25, 2009 - 4:47pm | 10 comments
The Apache module mod_vhost_alias and its VirtualDocumentRoot directive can really be a great time saver for local development (some googling will explain why in more deapth). Basically, my local dev is set up so that I just have to create a directory in my aliases directory, and I just then navigate my browser to a URL matching the name of that new directory, and apache knows exactly what to serve automagically.
I think my previous posts have already indicated that my development environment, specifically my IDE, is important to me, and that I make a habit of exploring my options on a regular basis. For the last 7 months I've been using NuSphere's PhpED, which I've really enjoyed. The only things that I've been just a little dissatisfied with is that it only runs on windows and that its window arranging capabilities are not as robust as Eclipse. But, having seen a few tweets about NetBeans, I decided to visit this old acquaintance once again.
I had used NetBeans ages ago when I was learning a little bit of Java. It was good enough... for Java. Then, some time ago I had tried NetBeans 6 (I don't recall which minor version), because I learned they were working on building a PHP IDE out of NetBeans, which intrigued me. At the time, I simply felt NetBeans didn't stack up to Eclipse, and I hadn't yet discovered PhpED. However, with some recent twitter traffic about NetBeans, I figured I'd give the latest incarnation a spin to kick the wheels a little.
At least twice, now, I've encountered problems (read: apache segfaults, oh noes!) with mod_auth_mysql on Ubuntu 64-bit installs, most recently using Jaunty Jackalope (9.04) -- the most recent release (at least until 9.10 comes out soon).
I tend to consider myself a technical user, and for years, I operated various Linux distributions and setups to facilitate our home network. Mostly this meant a place to dump our backups in an intelligent manner, but I would also setup things like easy file sharing between our computers and even get fancy sometimes and so music servers or video streaming (though we never actually used any of that). However, after years of putting a lot of effort into maintaining that type of setup (keeping things organized, re-configuring everything after a workstation re-install, reconfiguring the server after a Linux re-install, etc), I decided I wanted something simple, that "just works." To be fair, part of my problem with using Linux was that the Linux box doubled as my development and testbed server, so I was always tinkering with it. Instead, I needed a box that would serve our family home network and not be my tinker box.
Enter Windows Home Server.
If you know me, you know that I work on a lot of Drupal sites. You might also know that SliceHost (now a part of RackSpace) is one of the most affordable and simple VPS hosting solutions out there. That said, you might not know that I run several of my own Drupal sites on a single SliceHost 256 slice (256mb ram, that is).
Since I put up my personal blog site using Drupal on a slice, I've noticed that the site, despite being very straightforward as far as Drupal sites go, was not performing very well (3-5 second page loads were common, 400-500ms before initial HTTP response codes). So, I decided to take a closer look to determine what was going on and try to resolve the performance issue.
As I explained in my previous post, I've been on the hunt for a new PHP IDE. During past searches for this type of tool, I've always taken a glance at NuSphere's PhpED and usually went away screaming rather quickly because of how clunky, ugly, and just plain annoying the interface was (keep reading, though, they fixed this!). My last look at PhpED was verison 5.2 quite some time ago -- it was a good improvement over previous PhpED versions, but it couldn't compete with the Eclipse-based options (at least in the terms that mattered to me).
Which brings me to an important note: what I look for in an IDE is probably not exactly what another coder will look for in an IDE. From what I've experienced, choice of tools for most coders is 50% features/capabilities and 90% preference (oh hai, math!). For me, here is a list of features that are important:
Every few months as I sit at my desk and code away, I can't help but wonder to myself, "Is there anything better out there?" I'm not being metaphysical or introspective -- I'm talking about my integrated development environment (IDE). Most coders I've met are the same way: we find a tool we like, use it for a while, but usually end up wanting something more or different. Perhaps discontent is a core part of human nature, but every few months I go looking for better tools.
Mozy is an online backup solution that has grown in popularity recently. My wife and I have a lot of pictures, music, and generally important files on our computers that we know need to get backed up in a reliable and secure fashion. Mozy seemed like a natural choice.