Sep
25
2007
8

We need (yet) another PHP Programmer

We need another programmer for our team here in West Palm Beach, FL. It’s not rocket surgery, we’re just looking for a PHP guru with a good knowledge of css, mysql, zf, javascript, etc. Knowing Flash/Actionscript is a plus.

The first test in the recruitment process is figuring out how to contact me! I will respond to all requests, so if you don’t hear from in 24 hours comment on this post.

Written by Aaron Wormus in: PHP |
Sep
19
2007
2

Google Docs – Now with online presentations! Yarr!

I opened my google docs this morning (like I open it up every morning) and noticed that we now have the ability to create web based presentations from within google docs.

Google presentations

Not only did I find the interface fairly intuitive (after a 3 minute clicking session), but it comes with the functionality to actually present your presentation online, invite viewers etc.

There is currently no way to export as a powerpoint (although you can import) but it will give you a html version of the presentation for offline use.

Now I need to see what kind of API it gives for programmers. I can see this being LOTs of fun.

Written by Aaron Wormus in: Google, Internet, PHP, cool-sites |
Aug
28
2007
4

Contribute to the send-greg-to-a-resort fund

Greg Stein

Greg Stein (Director of the Apache Software Foundation) was Mugged – Accepting Donations

Last Friday night Greg Stein was mugged and seriously injured outside of his home in Mountain View, CA.

They gave Greg a black eye and a serious laceration to the head which required numerous stiches. Apparently, he was bleeding profusely when the ambulance came.

The doctors were worried about his head wound and he spent the entire night under observation and went through numerous CAT scans.

The fund is set up to raise $2k to send Greg on a vacation, overflow will go to the ASF. Greg’s work on mod_dav and subversion are IMHO some of the most useful features of Apache2.

More information at the fund’s google group.

Written by Aaron Wormus in: Apache, PHP |
Aug
24
2007
0

Selling the Community-in-a-Box

Don Dodge coined Web2.0 as “Web App + 2 Founders + 0 Revenue”. Funny, and not too far off the money.

Don goes into detail about the various ways that Web2.0 firms are funding their efforts. This goes from Freemium (free basic membership with paid premium package) to Subscriptions to simple Advertising.

One thing that he doesn’t mention is the “community-in-a-box” business model. A community in a box is not about selling any specific product, it’s simply about creating an exciting product creating a buzz around it, and then delivering eyeballs and mindshare to a larger company.

Let’s face it, despite their best efforts Netscape’s Digg clone failed miserably. Google couldn’t do nearly as good as YouTube despite of the grotesque amount of money at their disposal. Yahoo’s Image Gallery could never do what Flickr does. Nokia could have never attracted a userbase the size of Twango. And whoever pays $x Billion for flixster (or the next social media site) is not going to care about monetizing the site they are going to care about the community they are getting.

One of the main differences between this boom and the first technology boom, is that, like Dan states, Web2.0 can survive as an idea + 2 young enthusiastic founders. All we need to build a community-in-a-box is a good idea, and a couple beat up servers somewhere and a couple hours a night spent cranking out some slick PHP or Ruby code.

Aug
16
2007
2

ZF and SEO

This is in response to Cal’s post on SEO experts.

It really depends on the framework… Zend Framework is very SEO framework. Others that rely on a lot of ajax or javascript POST callbacks to facilitate basic navigational tasks will stop a search engine dead in its tracks.

I have also seen frameworks which use strange http redirects as part as the controller, this has the habit of killing search engines as well.

Speed is also important in SEO, being able to output the correct http cache tags. You should have complete control over the output HTML, the ability to create descriptive css styles and have full control over the structure of your html output.

Clean URL support is good in ZF, but the default front controller still needs some modification to be truely SEO friendly.

When it comes to SEO experts I totally agree that they are the scum of the earth… but they are also just playing a game that Google set up for them to play.

The monetary value of being #1 on Google is just too much to pass up.

Written by Aaron Wormus in: Ajax, CSS, PHP, SEO, Web2.0 |
Jul
22
2007
10

How to (not) kill a community

This blog entry is an extension of an IRC discussion and email conversation that took place regarding the #phpc channel on Freenode.

Back in “the day” #phpc consisted of between 5 and 10 people, and as IRC channels go it was only us in there for about 2 years. This resulted in everyone getting to know each other well. As time passed the community grew organically, we had the regulars and then people who drifted in and out either asking PHP questions or just coming in to chat for a bit.

In April 2005 Davey set up the #php.thinktank channel, and the additional attention add more regulars to #phpc. By the end of 2006 #phpc participants hovered around 50.

The interaction between #php.thinktank and #phpc was good and many of the same people lurked in both groups. #php.thinktank was designed for more technical discussion, and several organized discussions took place on various technical topics. #phpc on the other hand was simply a place to hang out amongst friends.

Sometime in the beginning of 2007 the community size started to grow quickly, however the number of active participants remained roughly the same. Basically the lurkers were growing, the channel is currently about to break 100 users.

This situation brings up some special concerns.

1. is it reasonable to expect that a public IRC channel can afford you any privacy.
2. does a community that was built around “just farting around” have the right to be exclusive when they think that too many people are involved?
3. is there any reasonable way to limit the number of lurkers?

Note that when I say lurkers, I just mean people who park themselves in an IRC channel and don’t contribute to the channel. People who contribute and then go dormant for weeks/months are a different story.

Written by Aaron Wormus in: Friends, Internet, PHP, PHPeople, irc |
Jun
18
2007
2

RIP Toggg

I met Bertrand ‘toggg’ Gugger at LinuxTag 2005, and have chatted with him frequently on IRC since then. Yesterday I heard that toggg passed away on June 17th from a heart attack.

Toggg was a funny guy, he loved programming and being involved with the communities to which he contributed code. His grasp of written English was such that it gave way to both great comedy, and the occasional flamewar on the mailing list. He was passionate about what he worked on, and held a great grip on regular expressions.

He will be missed.

More information about the projects he was involved in here.

Written by Aaron Wormus in: Nostalgia, PHP, PHPeople, rest-in-peace, sad |
Jun
13
2007
9

Ruby community discovers annoyance of GPL libraries

This interesting post describes one or the reasons why PEAR/PECL doesn’t allow (L)GPL code in the repositories

The problem that I’ve stumbled upon is that Ruby’s Gem repository is full of randomly licensed code, including lots of GPL stuff. At the very least, this information ought to be very visible so that it’s possible to weed out any GPL’ed libraries. At best, the Ruby guys would only accept MIT/BSD licensed code for the standard repository.

I am of the opinion that small snippets of code serve everyone best when released into the public domain.

Written by Aaron Wormus in: Open Source, PHP, ruby |
May
17
2007
2

Migrating to Unicode

This are some notes from a talk I attended at the International PHP Conference in 2005. I don’t think I have blogged it yet. (you find all kinds of interesting things when you try to “clean up” your hdd)

Case study
Survey center is an online survey generator written in PHP. Used to run multi-country panel portals, has interfaces to third-party applications.

Why migrate to Unicode. Before the switch non Western European languages were using html entities which caused a lot of trouble.

UTF-8 is simple to use, backwards compatible with ascii, variable bytelength. Slower than UTF-16, can waste some space on single byte characters.

PCRE supports UTF-8 with the /u modifier

Iconv and mbstring provides functionality missing in PHP. Mbstring offers the possibility to overload some of PHPs native string functions. Overloading functions, will break any binary handling. Slower but safer than iconv. MySQL has good UTF-8 database support in 4.1 and that warranted an upgrade.

The Migration: Grepped through the code and find what string functions were being used. Some functions worked with UTF-8 others had to be replaced with mb_* functions or other custom scripts.

1.Convert all files, Scripts, Templates to UTF-8
2.Enabled mbstring and iconv in PHP
3.Make sure all PCRE functions use the /u modifer. Get rid of the ereg regular expressions.
4.Change all the string functions.
5.Implemented on-the-fly character set conversions for IO, make sure that file uploads/downloads have the right character sets. Convert GET/POST to UTF-8
6.Send the HTTP Content-Type headers for the page. IE doesn’t bother reading the meta tags on SSL pages.
7.Update MySQL from 4.0 to 4.1, decide what the best collation is, discovered the most suitible is utf8_general_ci.
8.Update SQL queries which no longer worked
9.Converted all tables to UTF-8 (Set everything to Latin1 first)

Most of the third-party code wasn’t compatible. Serialized data in the database broke because the strings were no longer the same length, to fix this all data had to be unserialized converted and then serialized again.

Everything was much more complex than expected. Don’t do this because you think that UTF-8 is cool, it’s difficult, not well supported in PHP, and don’t do it without needing it. Don’t do this without a CVS.

Written by Aaron Wormus in: Howto, PHP |
May
10
2007
0

Happy Birthday PHPUGFFM

Tonight the frankfurt PHP User Group is celebrating their 5th anniversary! It was lots of fun knowing you all – I suddenly got a craving for Persian food – and I wish you many prosperous years.

Check out the website for meeting details. Wish I could be there.

Written by Aaron Wormus in: Friends, PHP, PHPeople, programming |
Apr
03
2007
16

Saying Goodbyes

Saying Goodbyes

6 hours till our plane lifts off and I’m still waiting for the gravity of the step we are taking to kick in.

While the physical journey is about to start, the journey started one year ago to the day when I flew up to West Palm Beach to meet with HedgeCo for the first time. At that time I had been working with HedgeCo for over a year as a consultant on various projects, and I went to FL to try and iron out some issues with a massive internal project which we had been working on for quite a while.

As anyone who has worked remotely knows, there is nothing like working in the same office with people who you have only communicated via Skype/phone/email. I really enjoyed my initial 2 week stay, and we were able to bang out a lot of projects as well as lay the foundation for future work.

HedgeCo also offered me a full time position at the company. The position would be as the project manager of a spin-off technology branch of the company.

The standard freelance-consultant joke is “Why spend 8 hours a day working for someone else when you can spend 14 hours a day working for yourself.” Working from Germany for companies in Germany as well as on the East and West coast of the US is physically exhausting. I was working till midnight every night, and both my family life, community interaction, and social life was severely suffering. On a personal basis, I couldn’t keep it up any longer.

So, I accepted the job, and Stella and I began the long process of closing up shop, working out all our paperwork, packing our stuff and moving over to the US.

As with everything, the process of moving was far more complex and expensive then we imagined. From having to deal with mobile phone providers who refused to end your contract (eplus sucks by the way), to changing magazine subscription options, to getting Stella a greencard (which was a grueling process on its own), finding a place/car in FL, etc. All of this while trying to wrap up projects and stay on top of the projects that you are working on.

But now we finally come to the end of the German phase of this move, and I wanted to thank Stella more then anyone else for all the effort that she put into this move. She put her life on hold for the entire year, and put in most of the effort organizing and preparing everything for the move. Thank you, we couldn’t have done it without you!

So this will be my last blog entry as a resident of Germany, being in the US I probably won’t be able to hit as many of the European-based PHP conferences as I have in the past, but hopefully I will have more time to get back into the community and hope to catch as many US based conferences as I can.

See you on the other side of the pond!

Written by Aaron Wormus in: Frankfurt, Friends, Hedge Funds, PHP, Scary, project management |
Apr
01
2007
9

In defense of the Internet – Network Neutrality

Yesterday I read the an article on Network Neutrality on CNN.com. The article was written by Craig Newmark of Craigslist and was VERY wrong.

Here’s part of what bothered me:

Here’s a real world example that shows how this would work. Let’s say you call Joe’s Pizza and the first thing you hear is a message saying you’ll be connected in a minute or two, but if you want, you can be connected to Pizza Hut right away. That’s not fair, right? You called Joe’s and want some Joe’s pizza. Well, that’s how some telecommunications executives want the Internet to operate, with some Web sites easier to access than others. For them, this would be a money-making regime.

That is a VERY misleading analogy on many levels. Here is my counter-analogy.

Steve runs a Pizza delivery service. When his service started he used to charge per-pizza he delivered. The prices weren’t that high, and since I’m too lazy to go out and get my own pizzas I appreciated the service. I didn’t eat as much pizza as I would like to, because Steve’s surcharge was always in the back of my mind.

Once Steve got enough clients, he expanded his business and realized that he could offer a better service by charging a flat-fee. Using this new business model everyone paid a flat monthly fee, and the cost of people who ate a pizza every night (like me) were subsidized by the people who only ate 1 pizza a month.

Everyone had hot pizzas, everyone was happy.

A couple months ago Gpizza opened, they offer all the regular pizzas, but also offer the GSuper 4-course MegaPizza. This pizza comes in 4 parts which are served by midgets waiters. The midgets waiters need to be transported with the pizzas and then brought back to the Gpizza store.

For the first couple months Steve is happy to provide his loyal clients with Gpizzas, even though it did require substantially more resources for Steve to transport the Gpizzas and midgets. As Gpizzas become more and more famous, people start to complain that their Gpizzas are arriving cold, the midgets were tired from the slow ride and weren’t as enthusiastic with their serving the pizzas.

Ypizza, which has been using Steve for 10 years, sees how much money Gpizza is making and decides to make the Ysuper 4-course MegaPizza and one-ups Gpizza by providing a dancing leprechaun along side the 3 midget servers.

Steve sees that he will not be able to provide any service if more Pizza places start offering MegaPizzas. He has two options:

1.Revert to a Per-pizza business model and charge his clients for the delivery of MegaPizzas
2.Charge pizza places for the delivery of MegaPizzas

Gpizza catches wind of this and prepares the “Pizza Delivery Guy Neutrality” bill which mandates that Pizza delivery guys are unable to charge pizza shops extra for delivering MegaPizzas.

Now with silly analogies out of the way, a bit of mythbusting:

The Network is NOT Neutral
Craig says “So let’s keep the Net as it is now: Neutral, fair and free.” The network is currently NOT neutral, it’s free for ISPs to do what they want. Network Neutrality regulation will not free anything, but will restrict the ISPs in the service they can provide.

Bandwidth / Latency costs Money!
High Bandwidth/Latency applications cost money to transfer. The money has to come from somewhere. Creating laws that stop ISPs from charging the Googles, YouTubes and Skypes of the world mean that YOU and I will be paying for it instead.

YouTube/Google/Skype and Craigslist are making money
They can allocate a bit of money to provide good pipes.

When Google rules most of the Cable in the US
How neutral do you think that will be?

Mar
23
2007
20

MySQL restructuring data for a VIEW

Some code that I am reworking has a table that looks like this:

---------------------------
| uid |   key   |   val   |
---------------------------
| 1   | name    | Aaron   |
| 1   | age     | 28      |
| 1   | iq      | 50      |
| 2   | name    | John    |
| 2   | age     | 17      |
| 2   | iq      | 110     |
| 2   | geekfu  | 100     |
---------------------------

And I want to create a view that looks like this:

---------------------------------------
| uid |   name    | age | iq | geekfu |
---------------------------------------
| 1   | Aaron     | 28  | 50 | null   |
| 2   | John      | 17  | 110| 100    |
---------------------------------------

The PHP code I’m looking at is running through loops to organize the code, I am thinking there must be a simpler way. Any pointers to put start me in the right direction?

Written by Aaron Wormus in: MySQL, PHP |
Mar
17
2007
8

Must be a better way to do this

disclaimer: I have been up way too long!

I’m playing with my blog and put a banner on the top of my page that counts the days left to the Amazon launch of Scott Sigler’s new book Ancestor. Here’s the code that I came up with, makes me think there must be a better way.

<?php
$april1st = strtotime("April 1, 2007");
$now = time();
$days_remaining = 0;

while ($april1st > $now){
    $days_remaining++;
    $now = strtotime("+1 day", $now);
}

echo ($days_remaining) ? "$days_remaining days left till you can buy Ancestor Novel" :
                                   "Ancestor Novel is available NOW!";
?>

You can see the output on my blog. Is ther

Time for some sleep… getting a plane home in a couple hours!

Written by Aaron Wormus in: Blogs, PHP |
Mar
07
2007
0

PHP FFM Meeting Tomorrow

A little note to anyone in the area that tomorrow (8th of March) is the PHP UG FFM meeting. Same place same time, with the following talks:

Slot 1) Jens: Gast von den web krauts – web standards.
Slot 2) Lars: Modsecurity am Beispiel

Being on the other side of the pond, I won’t make it but I’m sure it’s going to be a blast. In related news, I signed up to the palm beach web design meetup group I had planned to catch the meetup last night, but some work issues came up and I missed it.

Someone needs to get some local PHP meetings going in (west) palm beach…

Written by Aaron Wormus in: PHP, meetups, programming |

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes