I, like I might presume many of you, hate it when people stand around and talk loudly on their cell phone, particularly in an enclosed space. So, yesterday when I was waiting in a waiting room when my cell rang (actually it vibrated, I never have it set to actually ring) I walked out of the room before answering. As I walked out of the room (then again when I returned) I got the weirdest looks from the other people sitting there, it was as if they couldn't comprehend what was happening! It's not like they lacked the information required to put everything together, I was holding a glowing blue cell phone in my right hand as I walked out, and those closer to the door undoubtedly heard me say "hello" as I walked down the hallway. They just seemed to lack a point of reference for my actions.


I'm not sure whether I should be saddened or angry that proper cell etiquette is so rare the general population doesn't understand what's happening when it occurs.


I've lurked on the PHP-Internals list for a long time, I like getting little heads up on what may or may not be coming in the future, and now that I've taken several hardcore programming courses (operating system design, system programming, etc) a lot of the more in depth conversations are starting to make sense to me.

Derick Rethans posted a message regarding a developer meeting in Paris on the 11th, linking to the minutes. There's a few items in particular that I think are of interest (with regards to changes in PHP6):


2.1 Register Globals: Removed entirely

2.2 Magic Quotes: Removed entirely

2.3 Safe Mode: Removed Entirely

4.2 Goto: No goto, Break will be extended

6.1 APC: Merged into core distributions, off by default

6.2 Merge some Hardened PHP patches into PHP: Improved granularity and defaults for include() vs fopen(), prevent multi-line strings from being used in header() (prevent HTTP Response Splitting attacks).


Overall I think the future is looking rosy :), though I might be on the other side of the argument for Magic_Quotes. There's a couple situations (say servers used in an educational situation) where I think Magic Quotes can do you some good. While I was at FullSail for example, the students were learning PHP on a server with Magic_Quotes enabled, this made sense to me since most of the students had only two weeks of PHP exposure, magic_quotes prevented someone with a little more knowledge (or just a fast reader) from executing SQL injection attacks against classmates. I think that magic_quotes is a lot like training wheels for a bike, just enough help prevent the most common problems while learning, but far from perfect protection.


Last Thursday (the 10th) I gave a talk at FullSail in Orlando Florida. Unlike most of my previous talks, or the writing I'm doing for my books (which are both aimed at experienced PHP developers) the audience was comprised of two groups of people: 30% students with two weeks of exposure to PHP, 70% students with no PHP exposure before I arrived.


This made writing the talk quite challenging for me, I needed to keep things high level enough for the non-PHP students to understand, but still include enough details to be relevant.


My main talk was entitled "I don't know the technical term to explain it, but faster makes it good" where I talked about different methods to keep your PHP applications fast. Of the things I covered caching and efficient use of SQL were the two topics that I think I managed to drive home most effectively. I sandwiched my main talk with two mini talks, the first to introduce PHP (server side language), the last to briefly explain what web services are, and how people should think about using them.


The slides I have up now are a slightly updated version (corrected some camel case issues, pasted an image with syntax highlighted code over the old B&W stuff, fixed some mistakes) of the slides I used for my talk. Brian Ashe gave me some great tips after my talk on how to improve my slides, if I end up giving this talk again (or just have a few minutes to spare) I will apply the changes, but for now I don't want to move too far from the slides actually presented at FullSail.


You can get my talk here: FullSail.ppt

(Slides are Copyright 2005 Paul Reinheimer, with the exception of the Homer Simpson pic, which is owned by someone who I hope wont sue me).




I've ranted about Bloomba several times before, both in praise and despair. My switch to Bloomba was a big one, at the time I was using Eudora, a decent program (though it's use was necessitated by being categorically unwilling to use Microsoft Outlook to handle support mail for eDonkey, me getting hit with a new virus could have crippled our user base!) that was slowly crumbling under the crushing load of email I subjected it to. As a rule I didn't like deleting support mail, every answer I gave might be needed again some day down the road, the problem with Eudora was, it took longer to find those answers than it did to type them again.


Then came Bloomba, and immediately I understood not only was my use of folders to sort mail insufficient and inefficient, the entire basis of folders was critically flawed. I now understand that (with any meaningful volume of mail) storing messages in folders is akin to squirrels hiding nuts in the autumn: Really they will never find the majority of the nuts they hide, just a few, and it's better than nothing. Bloomba was a search based email client, once you dealt with a message you just 'Filed' it, no special treatment. When you wanted to find a message down the road you typed a few keywords about the message you wanted into the search bar, and instantly it was there. I entered things like "from:tom 322" to find messages associated with my friend Tom, in which 322 was mentioned (60-322 is one of my classes this semester) (either in the subject, body, or an associated attachment) . It was awesome, it blew my mind.


Unfortunately (and this pure conjecture) GMail came along and blew Yahoo mail out of the water. Yahoo needed to strike back, and to do this they were going to need additional expertise. So Yahoo bought Stata Labs (the creators of Bloomba), terminated Bloomba as a project, and transferred the staff to some their webmail team.


So Bloomba was dead, no more updates ever: the code base locked away deep in Yahoo's vaults. So, for a little over a year I kept using Bloomba, accepting it's faults, and watched it slowly crumble around me. Basically, the program slowly died, non-essential stuff just slowly stopped working. The two most missed features being: clicking on hyper links in email and having that work (which was closely associated with viewing an email in my web browser (needed for HTML heavy messages from trusted sources)), and being able to open up a .eml attachment (something that happened occasionally, that's how spam messages arrived). Additionally, it seemed like SAProxy (the built in Spam Assassin port) was generating more false positives. So, it was time to switch.


Therein lies the problem, what to switch to. I'm not willing to use Outlook, both because of virus vulnerability and because I cringe at the thought of returning to a folder based retrieval system (which also knocks Eudora out of the picture). Fortunately Opera came along, with it's built in mail client, which appears to function much like Bloomba's did. It took an hour (to export, then import my 22,000+ messages, more on that another post), but Opera seems to work much like Bloomba did.


Bloomba is dead, long live Opera!




If your site breaks when people use the back button in their web browser, your site is broken. It's really that simple. So, for example, this is bad:





Why is the back button so important? It gives the end user a tremendous feeling of safety, they can click on anything they think might be right, and no matter what, they can back to where they started. It's an awesome tool, and it's an imperative tool when showing people how the web works "Don't worry about doing anything wrong, you can just click on Back, and your mistake is erased". Think about how much easier things are to learn when there's absolutely no penalty for a mistake. The back button is probably the second thing people learn how to use when being introduced to the web (immediately after "click on things underlined in blue", and likely just before "there's more porn out there than you can imagine"), so that functionality is so deeply ingrained in their understanding of how the web works that you can not take it away, ever.


It's a quick play, but some good thinking for a couple minutes. If you remember the old puzzle with the man, the duck and the grain it's pretty much the same thing, anyways, take a look:



I posted a pic of some pretty flowers a while back, I've been playing with it a bit in PaintShop Pro lately (which got bought by Corel by the way). This is what I've ended up with:




Edit:

Black & White with bee here http://www.preinheimer.com/dump/Flower2.png



Sepia with bee here: http://www.preinheimer.com/dump/Flower2.jpg


The yellow seems kinda washed out on it's own, I'm having a hard time darkening the image, and aparently I screwed up the last time I did the export to jpg, and saved the original at reduced size.

Update 2

I've wanted to blur out everything but the foreground flower for a while. But really, my image-fu is dangerously lacking. I had it stuck in my head that somehow I was going to need to duplicate the original colour layer, apply the sepia filter, then use some sort of a "mask" from the original sepia layer to erase the foreground flower, then do the blur. You know, that or just duplicate the original sepia layer, hit blur and call it a day :-)

Sepia with blur: http://www.preinheimer.com/dump/Flower_Sepia_blur.png


I still seem to be catagorically incapable of darkening the image

Update n

I think one of the reasons that not being able to darken the image is ticking me off so much is that the image is darker in paintshop than anything else: Comparison. So not only do I not know how to darken the image, I don't know how to make what I'm seeing in PaintShop match what people will see on my site. I guess it's time to go watch a couple more of those Lynda.com training videos.

Hi, I’m Paul Reinheimer, a developer working on the web.

I co-founded WonderProxy which provides access to over 200 proxies around the world to enable testing of geoip sensitive applications. We've since expanded to offer more granular tooling through Where's it Up

My hobbies are cycling, photography, travel, and engaging Allison Moore in intelligent discourse. I frequently write about PHP and other related technologies.

Search