Categories
Programming Languages

Dabble

I agree with Sam Ruby: a successful tech is a diversified one. You can’t always depend on a new millennium to justify sticking with one and only one programming language.

This last week I worked with Java, JavaScript, PHP, Python, and Ruby. I had been on a long hiatus from Java after the end of the dot-com era, but now I’m back and plan on sticking it out with the language. Yes, even unto J2EE.

I also agree with Michal Wallace: you are more likely to have an easier time getting work if you focus on .NET than Python. In some ways, I think that the interest in Ruby has slowed the interest in Python. Sure you can work with both languages: but why would you want to?

In St. Louis, the demand is for .NET (VB or C#) or Java. That’s it. I mean, that’s really it. Most of the other work in PHP or Python or Perl is off-shored.

When I move to the northwest, I imagine I’ll either need to get back into .NET or brush up my C++ skills, in addition to the Java. If one has up to date C++ skills, one can usually find work.

As for JavaScript — every web developer should be proficient in JS. Eventually you’re going to want to validate a field before sending it to the server, or have to muck with cookies. There will always be someone somewhere who will say, with breathless excitement, “What about AJAX?” JS is ubiquitous.

PHP is also ubiquitous, but there just isn’t the work for it. Nor Python. Perl’s fading. I have my eye on Ruby, though.

Categories
Programming Languages

More new toys

I still love Locomotive, but I haven’t forgotten my PHP, or my first love, RDF. (Note to self: get out more).

Anyway, I spotted the following at the RAP (RDF API for PHP) site:

RAP 0.93 will be released in January 2006 and will include support for the SPARQL query language and the SPARQL protocol.

I’ve been waiting for this to implement more evil plans. Oh rapturous joy! Oh sublime happiness!

I am dancing a jig. Do you see me?

*dance* *dance*

Happy face.

*dance…GROWORWOOWROWRWR!

(I danced on Zoë’s tail…)

Categories
Programming Languages

Chu chu code

Recovered from the Wayback Machine.

I can’t believe how easy it is to set up Ruby on Rails on the Mac with Locomotive. I went from two downloads to my first application in less than 1/2 hour. Great stuff.

I’m in the process of making vast changes here abouts. The first change is I’m moving my Tinfoil Project domain to a new development server that is upgraded to all the latest, breaking edge PHP, MySQL, Ruby on Rails, and so on. Tinfoil is being re-focused from photos to high-tech, and the new server will provide examples of code how-tos and tutorials I hope to work on this next year.

I’m looking at a virtual private server at A2 Hosting or OCS Solutions at this time, but wouldn’t mind hearing about other hosts–with a few caveats.

I’m looking for a service that goes month to month, since my income is uncertain from month to month. I need enough RAM to run my examples, and enough bandwidth not to have to pay overage. I wouldn’t mind a control panel, and some assistance (paid or otherwise) if things go wonky. I’d also like a system that has some of what I want already installed, so I don’t have to start from scratch. These are things I want. What don’t want is a service that’s heavily connected with weblogging.

You all may jump on the Cluetrain, but I’m finding I’d be just as happy, thank you, in not having a close, intimate connection with vendors. I want to be able to deal at a professional level with companies, and not have Sarah or Sam ‘offended’ by what I write in my weblog.

I want a clear means of communication detailed at the company site; I don’t want representatives in my comments whenever I mention their product. I don’t want to have to use my weblog as a form of extortion to get a company’s attention; or as a backdoor way of doing business.

I don’t care if they see me for who I really am, as long as they see me as ‘customer’ and act accordingly. I don’t want input into the company workings other than “what you’re selling me is working, here’s my money”.

I don’t want to be ‘bad’ or ‘good’ for being critical. I don’t want legions of supporters converging in my space, protecting that nice woman, hip young man, or crusty, but with a heart of gold, legend in his own mind . I don’t want what I say to show up on the tech.meme. I don’t care if what I write shows up on Google — I just want it to work.

I want a service; I’m willing to pay. This is not the beginning of a personal relationship. I don’t want it treated that way. The only train I want to be on around here, is Locomotive.

Categories
Programming Languages

Mystery solved

A month or so ago, I wrote that I couldn’t access my weblog because when I tried, nothing showed. My host had upgraded to PHP 4.4.1 and it broke something in the application, but what we couldn’t tell. My host said they could find nothing in the logs to explain the problem. In the meantime, they backed out 4.4.1 on my machine, and haven’t upgraded it back.

Yesterday, I heard from a weblogger who is using the semantic web plugins I created for WordPress: all of a sudden, he couldn’t access his administration pages. However, in his case he was able to find the problem in his error log:

PHP Fatal error: Maximum execution time of 30 seconds exceeded in
…/wp-content/plugins/delSetup.php on line 31

I didn’t see this error message in my error logs, but his email gave me a key to the problem. The line number indicated pointed to the following lines in the plugin:

reset( $del_menu_items );
while( $arr = current( $del_menu_items ))
{
while( $submenu[’metadata.php’][$index] ) $index++;
$submenu[’metadata.php’][$index++] = array(__($arr[’title’]), 5, $arr[’script’]);
next($del_menu_items);
}

The culprit is the code traversing the submenu and testing to see if it exists. Seeing this tiggered my memory about one of the first bugs issued for PHP 4.4.1 that had to do with next and current array functions, and other array problems introduced with the security fix. These have since been fixed in the CVS source, but not issued as a new release.

The code used in the plugin is a copy of code that others have used to add administrative menu extensions to WordPress. Further checking showed that WordPress now has functions to manage menu additions starting in WordPress 1.51 and 1.52. Examining the function code, there shouldn’t be any problems with PHP 4.4.1, so I’m changing my plugins to use the new functions.

Note, though, to other WordPress users: if you’re using a plug-in that’s extended the administrative menus, check with the creator to see if they’re using the old hack or the new admin menu functions. If they’re using the old hack, disable the extension until new plugins are released. If you don’t and your ISP upgrades to 4.4.1, you’ll be dead in the water.

Categories
Programming Languages

PHP and the corporate seal of approval

I did want to point something out before I forgot, but IBM is putting its corporate blessing on PHP with, among other things, a new PHP Weblog site. I was reminded of it today with a link in Dave Winer’s weblog, which disappeared.

(Hey, did I happen to mention Mark Pilgrim is back?)

Anyway, folks on the coast may not realize how significant this move on IBM’s part is. Companies in the mid-west and away from the coast tend to be conservative with technology, and usually want it vetted by one of four companies: IBM, Microsoft, Oracle, or Sun. Because of this, open source technologies and languages such as PHP rarely see the light of day in the development projects here. This, in turn, means people like me can search on jobs using PHP in Monster and not find one–one–in two months of looking.

It’s going to take a while, but I believe we’ll start to see a crack in the .NET/J2EE domination here abouts. This is good for the developers, and also good for the companies.

It’s funny but as time has gone by, IBM has become more like the Microsoft of decades past; while Microsoft, with the appointment of Ray Ozzie as CTO, has become the IBM of decades past. I guess we’ll wait and see if the Microsoft employees have to start wearing blue suits.