Postcards From My Life

Lint I find in my mind's belly-button.
  • EPK
  • Consulting
  • Resume
  • Nerd Herding
  • Talks
  • How to Plan a Website
  • Zend Framework

Archive for the ‘Long Form’ Category

« Older Entries

Microsoft is now a pink fluffy bunny! (well not really but they aren’t the evil empire anymore either)

Thursday, November 20th, 2008

Dear Reader,

[Disclaimer: The views expressed in this post are mine, go get your own.]

I’ve just returned from my first ever “Microsoft Web Development Summit”. Reflecting back, I think the summit was a success on Microsoft’s part because it did change my perception of the company for the better. I won’t be giving a blow-by-blow accounting of all the sessions, I’m sure other attendees who were paying more attention will be able to do that. Instead I ruminate on a few of the things I picked up.

Microsoft’s self-stated goal of MS WebDev is to engage the PHP community in a conversation. To that end, I believe they succeeded for the most part.

Microsoft is schizophrenic

On the one hand, we were treated like royalty while there. The hotel was beautiful, the alcohol was plentiful and other than the fact that the employee cafeteria had wonderful smells coming from it yet we ate standard buffet fare from Microsoft Catering, the food was good. Each day had at least one really good session in which I felt the presenter was there more to listen than educate.

On the other hand we had presenters that I considered “Trojan Horses”, like the MS Office guy that gave us a history lesson instead of a frank discussion on how to create/edit MS Office documents in PHP.

Microsoft really is reaching out and I do respect them for that but I was upfront with them when I told them that trust will take time. My distrust of Microsoft stems from a long line of events, buying FoxPro to OOXML and I won’t even start on DRM here, there are many things I do not like about Microsoft. I give them props however, for their efforts in reaching out to the PHP community. That takes a lot of guts and I respect at least this little portion of Microsoft for making the right steps.

For the most part the presenters were much more like Laren Cooney’s session in which she first demanded that we close our laptops (so we couldn’t talk about her in the chat room) and then proceeded to host a session interesting enough to keep my laptop closed.

Even though I teased that the MSSQL session was “um…unproductive” After it was all over, the presenter (and I do apologize since I’ve obviously lost his card) came up to me and we had a very productive discussion over a drink. I won’t say we solve world hunger or anything but we agreed on a good first step.

Microsoft is Trying

For all their problems (most of which seem to stem from their legal department) at least the parts of Microsoft we talked to are honestly trying to reach out. They really want to know how they can help. They are severely hampered in what they can do (see aforementioned legal dept.) but within those bounds, they want to help. I was impressed by their sincerity and their willingness to listen, even when it wasn’t what they wanted to hear. (For some reason, telling them what they didn’t want to hear became my job…I’ve got to learn to keep my mouth shut)

The summit was opened and closed by Sam Ramji. The opening set the tone, “We want to listen”; the closing was a great wrap-up, “We heard what you have said”. Sam also crawled up onto a nearby table, sat down, crossed his legs and with his body language, set a very informal tone to the closing. (Note: In the opening session, I found it very funny that he wore a T-shirt that said “Obey Propaganda”, not sure if anyone else notices but I giggled about it)

In the closing he went over some of the things they had heard and then asked up for other ways that they can improve, not improve PHP on Windows but improve Microsoft. I don’t know Sam enough to know whether he was sincere or just stroking us but he did seem to be sincere and time will tell whether he was or not.

Parting thoughts

Overall, I am cautiously optimistic about Microsoft. If they can just get out of their own way, there are some great people there that are trying to change things. Mentally, my default image of Microsoft is slowly changing from “Balmer’s Monkey Dance” to that of Lauren, Sam and Karri, the jury is still out on whether that is a good thing.

So I’ll leave you with a list of memes for the summit. Those of you reading this that were there will smile, those of you who weren’t there, will just be confused. :)

  • StickerBoy
  • Mimosas
  • RockBand2
  • Mac Reboot Sound
  • OOXML
  • …and of course…teabag

Thank you Joe for inviting me, I really had a great time.

Until next time,
(l)(k)(bunny)
=C=

Posted in Long Form | 1 Comment »

 

CIO Magazine Trolls and Gets Spanked Hard

Wednesday, January 30th, 2008

Dear Reader,

[DISCLAIMER: What you are about to read is my opinion and should not be construed in any way to be an official statement from my employeer]

CIO Magazine popped up on my radar this morning for an article they wrote on JavaScript. (I think I read coverage of the article on ajaxian.com) I noticed when I went to read the article that they also wrote one on PHP. I thought I would be delighted as I’ve been on their mailing list for several years now and thought that finally, they had caught a clue.

The article, “You Used PHP to Write WHAT?!” is the first in a series titled similarly that purport to examine different language options. A cursory read of the two articles published to date show that they do more to steer CIOs away from the two languages reviewed so far, I am assuming that the series will culminate in an article on the language that the magazine has “blessed”.

The PHP article however, is not only negatively biased, it’s factually incorrect and at times, insulting to those of us who use the language. I’m going to look at a couple of the statements that the author makes and discuss them. I will do my best to not take them out of context but I urge everyone to visit the article and read it for themselves instead of just taking my word for it.

There is no single right answer to every problem and PHP is no exception.

The author, Ken Hayes, gets this right. No one that I know that makes their living using PHP has ever suggested that PHP is the right answer for every problem. I speak only for myself in saying that it is the right answer for just about every programming problem I’ve tackled in the past seven years. Quite possible because I’ve made my living for most of that time writing web applications and in my opinion, it is the right answer for just about any problem you can solve on the web.

In particular, PHP is not thread safe—which means that multiple instances of the same routine may interact with each other, resulting in a crash on the Web server.

He is correct, PHP is not “thread safe”. I’ve built multi-million dollar web based applications using PHP and never once in seven years have I had two instances of PHP interact with each other, much less crash a web server. As a matter of fact, I can’t recall one single instance in my career where a “crash” (crash being defined here as bringing an httpd daemon down and a server not being able to serve web pages, dynamic or otherwise) on a server has been related to PHP. Yes, if you try real hard you can ‘fork’ PHP on Linux and do some shared memory operations if you have the right libraries installed but by-in-large, that’s an edge case. PHP applications are not written like that. I do invite Ken though to share his experience on the “thread safe” issue because I for one want to learn and obviously he has some knowledge on the subject.

PHP has suffered its share of security problems, and it isn’t particularly well-suited to large or extremely complex site implementations.

This is interesting because now Ken is tying one truth – that in the past, the language itself has had security problems – to a wholly unrelated supposition, that PHP isn’t well-suited to large or extremely complex site implementations. The supposition is not true, Yahoo uses PHP as it’s “glue language” and sites like Wikipedia and Facebook use it as their primary language.

Several dynamic or “scripting” languages, including PHP, Perl, Java and others, have their roots in the C language, which makes them a natural fit for developers making the transition from traditional application programming to Web programming.

The last time I worked in Java (it’s been a few years, maybe things have changed) Java was not a scripting language…I know, minor point but it’s just one more inaccuracy in the list.

Migrating from one database server to another is usually quite simple since most of PHP’s functions have a common naming convention. A programmer can do simple global pattern replacements to change from one database brand to another.

Now I know his target audience is C-Level and that means he has to dumb things down a bit (short words, small sentences) but really, this is just wrong. For all but the most basic select statement, SQL dialects are different enough so that changing the function name is just going to break your application, not allow you to move to a different back end. A knowledgeable author would have pointed to PDO or Database abstraction layers like the one in Zend Framework that will help mitigate the dialect differences.

When should you use PHP?
* Creating an intranet site.
* Prototyping an application that will be converted to Java or some other language.
* Creating a Web database application.
* Deploying an inexpensive or quick solution.
* Using ready-made apps from Sourceforge.net or other sites.

Now this is just insulting. PHP is not designed to answer the questions that Java is. (Mainly, how do you build a large, bloated application that will ensure employment of the development team?…now I’m just being naughty…ignore that last comment please) Oh and if there are an C-Levels reading this, when the author says “converted to Java” he means throw out everything you’ve done and rebuild from scratch. When I was a Director of IT, that was one of the main strengths of the language, not a drawback. Yes you can prototype in it, but then you can flesh out your prototype and finish the job, all without retooling.

But that’s not to say that PHP is always the best solution under every circumstance. In general you should not use PHP:
* Where data security is of high importance.
* In Shell or automated scripted applications.
* In enterprise applications where scalability takes higher precedence than economy.

Here, in my opinion, our author gets 0 out of 3.

The language itself has absolutely nothing to do with the security of your data. If it’s of high importance, hire programmers who understand this and can build your application accordingly.

PHP is actually a very good shell scripting language. As the author has already pointed out, it’s easy to learn but most importantly, your developers can leverage their existing skills instead of having to learn something like bash. It is true that there are cases, when writing shell scripts, that you have to ‘shell out’ to get the job done but if done properly, it’s no more of a security risk than calling scripts from within a shell script. Honestly, unless you are building on Windows, it’s an excellent choice for writing shell scripts.

Again with the scalability. I’m going to defer to someone I respect as an authority on that, Mr. Theo Schlossnagle. In an interview I did with him a while back, he had this to say about “scalability”.

Theo Schlossnagle:
I’ll just say that languages don’t scale. The word doesn’t even apply to a language. It’s like saying, “does English scale”. If you have a lot of people speaking English then I guess it scales. It’s really a bad word for talking about languages. Saying “Java doesn’t scale” simply means that the code you wrote in Java doesn’t scale well. That’s because of the code you wrote, not Java.

The entire interview can be found at “30 Minutes with Theo Schlossnagle“, that quote is about 1/2 the way into the article. I encourage you to read that section to get the entire context of the quote. (The fact that I’m quoting from an article on DevZone, again, does not imply that my views are in any way representative of my employers)

PHP is sometimes criticized for being slow, and detractors claim that it has somehow been crippled in order to prompt users into purchasing the Zend Optimizer.

It’s quotes like this that totally discredit the author even though he claims to be a PHP developer. A quick look at the “Zend Optimizer” page clearly states that Zend Optimizer is free. I really don’t know who he’s talking to about buying Zend Optimizer.

In larger implementations, PHP can suffer performance hits and may need an external boost from a caching engine.

I’ll do the author one better here, in medium to large applications you should most assuredly run a caching engine. That’s true of any scripting language. However, the author seems to ignore the fact that even languages like Java (which he seems to hold in high esteem) suffer from performance issues. Luckily for those of us who use PHP, the answers are usually free. (See above point)

PHP isn’t Java.

Finally a second correct fact in the article. PHP is NOT Java. I’ll give the author a point for stating this (fairly obvious) fact.

For large enterprise solutions, PHP makes a great prototyping or feasibility tool, but heavily loaded sites that require thread safety, security and stability should use Java.

Opps, here the author blows what little credit he got for his true fact. He also returns the the insulting tone of “PHP is a cool toy but ‘real developers’ use Java”. Sorry but no, PHP is faster to develop in, the solutions are just as stable if not more. The one true fact you have here is if you need a threaded application, where the threads need to interact with each other, then yes, you need to look at another language. Personally, I wouldn’t use Java but that’s because I spent a year in system administration and know what a royal pain it is to keep things like Tomcat running.

Now for the “spanked” part

I do hope you didn’t think that my analisys of the article was in any way “spanking” CIO magazine or the author. As of this writing, 30 comments have been added to the article that do a fairly good job of it. I won’t quote them all here or even rehash them, you can see them all nicely here on the Comments Page. I will however quote one…and I’ll do it verbatum because after all of the authors talk of scalability, performance, and security, this commenter spanked their ass pretty hard.

PHPGuru wrote:

Oh and btw, this very site uses drupal, a PHP CMS. I wonder if this site is secure and scalable.. hmmm.. maybe i should not use my real email address here on the comment..

Ouch! Ok, so either CIO magazine doesn’t consider their content very important, they don’t expect a lot of hits or they don’t consider security that important…or..they realize that they can build it faster, better, cheaper, and secure if they use PHP.

Hmmmm……

Until next time,
(l)(k)(bunny)

=C=

DISCLAIMER: The views expressed in this article are my own…go get your own.

Tags: CIO Magazine, fun, PHP, respect, Theo Schlossnagle
Posted in Long Form, Me, elsewhere on the Web, PHP, Programming | 7 Comments »

 

Are Tivo and LinkedIn run by the same idiots?

Saturday, December 29th, 2007

Dear Reader,

DISCLAIMER: I have 2 Lifetime Tivo subscriptions and have been a member of LinkedIn since it was in beta.

I know a lot of you out there right now are scratching their heads and wondering what a Networking site and a PVR/DVR have in common. Here is what they have in common, ranks of upper management with closed minds.

Tivo

I was out at tivo.com yesterday and the first thing they did when I hit the page was ask if I would answer a survey after I finished my business. I of course agreed (I’m just that kind of guy) and so when I finished, I filled out the survey.

I gave them the usual answers anyone visiting tivo.com would.

  • 30 seconds is too long to wait for a page to load
  • Your site navigation is goofy
  • Your documentation is incomplete

However, the question they did NOT ask me is “What could we do to make your Tivo more useful to you?” See that’s a question I could write a book on. However, I won’t here, I’ll boil it down into a single concept. “Open it up and let me discover new ways to use it.”

I’m a programmer, when I look at a box like that (or my XBox 360) where the mfgr has obviously gone to great lengths to make sure that I can never run “unapproved” code on it, it just makes me sad. Open it up a bit. Let me build services that can interact with my Tivo. I understand your issues with copyright and I’m not trying to steal content. but hell, it’s a Linux box. Let me write a service that feeds a widget on my blog that shows what I’m watching at the moment. Let me suck down the data on what it’s recording and slice it and dice it myself. Who knows, maybe I’ll find a better way to recommend new shows.

There are hundreds of thousands of ideas for product enhancements that you don’t have to write, we, the hordes of hobbyist programmers and 21 Century tinkerers will make the Tivo an indispensable piece of equipment if you quit locking us out and realize that the Tivo can be so much more than an appliance, it can be a platform.

Oh and it’s ok if you don’t make any money off of each and every service written…make your money on the stuff you do and don’t try to charge me for the privileged of making your device better. Get it together Tivo, if you open up and let us help you, then Hollywood can’t stop you. You can either be the big dog, or stay a whipped puppy.

LinkedIn

These guys still don’t get it. (This is getting to be a regular topic for me.) I’m on LinkedIn and FaceBook both for very different reasons. However, I’m on facebook 3-4 times a day and linkedin 1-2 times a week. See the difference LinkedIn? Pictures in my profile aren’t enough, I want to actually DO SOMETHING with the data I’ve been giving you all these years. We’ve had this discussion before, “Why LinkedIn Sucks (and why I’ll keep using it)”, “LinkedIn Rant – Part II” and you’ve even promised progress but so far…nothing. Open up, let me do what I want with my data and all of a sudden you are useful enough for me to start paying for your service. Have you ever stopped and wondered why you aren’t growing as fast as facebook? It’s not the teens and tweens on facebook, it’s the fact that on facebook, people have freedom to experiment. On LinkedIn, I still can’t write a program that allows me to simply figure out which of my friends know each other…hell on facebook it’s a game!

If Facebook ever wises up and decided that it wants to be the big dog in your yard, you are so toast. Don’t wait for OpenSocial, give me an API and give it to me now. Anything I can do via a web page should be doable from an API. Do that and do it NOW and it’s a good start…it’s only a start but it is a start.

To both tivo and linkedin, I write this post, not because I’m a disgruntled user but because I really like both of you. Both of you however, need a swift kick in the ass to get you moving before you are relegated to the pile of other services I liked once but are now gone. (anyone remember GEnie? I LOVED GEnie!) Come on guys, closed is so last century, open up, let us into the playground and I guarantee that what we create will do more for your bottom line than any overpriced CEO will ever do.

Until next time,
(l)(k)(bunny)
=C=

Tags: API, convergance, facebook, linkedin, open, Silly-Con Valley, tivo
Posted in Long Form, Technology, Web 2.0 | Comments Off

 

The Death of Civility

Friday, October 12th, 2007

Dear Reader,

When did we become a rude nation? I mean we are not France rude, but none-the-less, we are rude. I’ve give you 2 examples.

Language

I’m on my way back from a great time in California. I love the weather there (except today because it’s got me socked in at SFO) I’ve truly had a great time. But it struck me while I was out here that people out here cannot express a thought without punctuating it with a “fuck” or a “goddamn”. It’s like an epidemic out here. Casual conversation out here is R-rated and it doesn’t seem to bother anyone. I can remember when foul language was relegated to movies and late-night TV. I had lunch one day with a couple of colleagues. One of the members of our party could not find a way to talk in a conversational tone or complete a sentence without a profane punctuation. Even in California, people were starting to turn and stare.

People like to make fun of southerns but at least we still hold to the concept of “polite company” and temper our language when it may offend others.

Respect

In the past 2 jobs I’ve had in California, I’ve been the “Red State” on the org chart. it’s not quite that bad where I work but I am the vocal minority. However, there is one that, Democrat, Republican, or thinking voter, all used to agree on. When refering to a president, past or present, we use the honorific, “President”. I was listening to a conversation the other day between two people who were not not native Americans. One said something about conferences not being in America and the other immediately said “yeah, because of Bush”. (IMHO, ROW does not dislike America…Europe does. For some reason they feel they can speak for ROW.) To the point though, it’s “President Bush” not “Bush”. The Democratic party has produced the two most embarrassing presidents in my life time and I still have the civility to refer to them as President Carter and President Clinton. It’s not a sign of respect for the man, it’s a sign of respect to the office.

Anyhow, just felt the need to rant. If you think you recognize the people in this post, I can guarantee you that you don’t. Quit trying to guess and just flame me for having the audacity to have an opinion.

Until next time,
(l)(k)(bunny)

=C=

Tags: language, politics, respect, Silly-Con Valley
Posted in Long Form, Me, elsewhere on the Web | 2 Comments »

 

5 Ways to Kill a Software Project

Thursday, September 20th, 2007

Dear Reader,

[UPDATE: Podcast version]
For the past three months, I’ve been watching a software project happening nearby slowly dissolve. While it’s not totally gone, currently, it is in such a state that I doubt it can be realistically salvaged. That’s not to say that the project won’t be delivered but the developer is now in ‘patch-n-go’ mode with major needs of the client being ignored simply to allow him to get “something” out the door. So as everyone is recovering from this year’s “Talk Like a Pirate Day”, let’s take a look at some of the steps that the developer and the project owner took to effectively kill this project.

First, a little background; this project is a web based project. In hind-site the customer needed a CMS with a shopping cart. The customer sells a wide variety of items so any off-the-shelf shopping cart solution would have had to have been customized. I’m sure by now, you have selected your favorite open source CMS or shopping cart package as a good basis for this project. I know I did, but that’s too simple of an exercise. With the basics of the project in mind now, let’s take a look at 5 rules that were followed to a “T” to properly kill this project.

(more…)

Posted in Long Form, Programming | Comments Off

 
« Older Entries
  • Friends of mine

  • My Latest Book


    Avoiding a Goat Rodeo

  • Follow me on twitter!

  • RSS PHP Podcasts

    • Episode 7: Web Sockets Are Fast
    • Better Documentation for PHP internals – Lately in PHP podcast episode 35
    • Episode 31: Feline Tooth Extraction
    • Episode #2 – Adam Culp
    • Episode 6: PSR-X and the Mexican Standoff
    • Episode 109: Typescript and a bit more…
    • A Better PHP Feature Voting Process – Lately in PHP podcast episode 34
    • Episode 30: It’s Episode 30, you guys
    • PHP Innovation Award Winner of 2012 – Lately in PHP podcast episode 33
    • Episode 29: Snappy Answers to Stupid Questions

  • Me, elsewhere on the Web

    • Best web design company
    • Cal Evans Dot Com
    • Cyrano’s Apprentice
    • Evans Internet Construction Company
    • My Life as a Child
    • PHP Podcasts

  • Categories

    • Apache
    • BlogBling
    • Blogging
    • Book Review
    • codeworks
    • Entertainment
    • Entrepreneurship
    • Flex
    • Humor
    • JavaScript
    • Long Form
    • Management
    • Marketing
    • Me, elsewhere on the Web
    • PHP
    • podcasting
    • Programming
    • SQL
    • Technology
    • Web 2.0
    • wordpress
    • WordPress Plugins
    • writing
    • zend framework


Postcards From My Life is proudly powered by WordPress
Entries (RSS) and Comments (RSS).