This chaps my @$$ every time I have to set up a new server. Adobe's site simply blocks if you don't have a JS enabled browser. I never install a GUI on my servers (why should I?), and every time I need to install CF, I'm stuck downloading it to my local machine, and then uploading back up to the server. Repeat for each hotfix. Aaaarrrggghhhh!
Monthly Archive for April, 2007
I've been posting very little this year, and figured I'd take a bit of down time this rainy Saturday for a "personal update" kind of post. Big things first:
As many people know, I started a new job at Mentor Graphics at the beginning of the year. A rather big change moving from a company of 10 to one of 4000+. I'm a member of the web services team, which is basically in charge of the web presence for Mentor (duh). The main project the team has been working on for a year and a half is a complete rewrite of the customer-facing support portal. That's in the final stages before 1.0 release early next month. I haven't been terribly involved except in a couple narrow aspects (because I came into it late), but it'll be nice to get that done.
I've also been doing a lot of Flex work over the past couple months which has been interesting. It's provided some nice insight into various beliefs I've long held. Not changed them per se, but refined them. For example, I've always been a proponent of strongly-typed languages because they're easier to work with. However, I've come to the realization that strongly-typed languages usually have better tools support (because it's easier to write those tools), which is really what makes them easier to work with. For example, the tool support for AS3 (i.e. Flex Builder) is pretty sad, and it shows. And no, type-based code completion doesn't count as good tool support. I want global renaming/relocating of types and members at the very least.
In the completely non-technical realm, we're currently in the process of buying/selling houses and moving. We're closing on the new one this coming Friday (4/27), and then our current house closes the second Monday after (5/7). As such, we're madly packing and getting ready for the big move. Fortunately we'll have two weekends and a full week to get everything moved, unlike last time where both houses closed on the same day, and we had one [300 mile] trip in the U-Haul to do the entire move. The kids are also old enough (3 yr & 1.5 yr instead of 2 yr & 4 mo) to mostly entertain themselves this time, which greatly boosts productivity.
On the personal-technical front, I've actually grown somewhat accustomed to writing PHP, which is scary. Hosting my blog (along with numerous others) on Wordpress has provided ample opportunity to tweak stuff and build some custom extensions (like for photo galleries). The syntax and function libraries are still pretty revolting, but the tools support is pretty good, which goes a long way in my book.
I've been reading Cryptonomicon, which is the first novel I've read in a while. Stephenson is a little spastic in his writing, not just in the way he tells the story, but I get the feeling that he wrote the book in a fairly linear fashion, and his "right now" personal experiences drove his approach to telling the story.
I also just finished The Pragmatic Programmer, and have to say, I was rather disappointed. The book (and the series it has spawned) have gotten a lot of hype, so I slogged through it hoping to find a diamond somewhere in the muck, but aside from a few small pieces of amber, there was little of interest. The authors definitely have a strong sense of "do it our way, because we know we do it right," which was kind of annoying, and worse, they didn't even back it up with anything to really differentiate their way from what I've always considered as the "duh", way to program. And by "duh", I don't mean "I do it this way because I'm stupid", but rather "I do it this way because any other way would be silly."
Well, that's about it for now, I guess.
I was writing some Java today, and ran across the DraconianErrorHandler in the depths of Xerces (package com.sun.org.apache.xerces.internal.util). It's a very apt name (it simply throws any errors it's passed), but the name struck me as something outside the bounds of the expected. I'd have undoubtedly named it ErrorPropogationErrorHandler or something that described what it does, rather than alluding to a metaphor of it's behavior.
Forta posted on CF being omitted from InfoWorld's article on dynamic languages. My question is "why should CF be on the list?" Let's compare CF against some others (I'm going to somewhat arbitrarily pick Python, Ruby, and Groovy as the main ones).
CF excels at JEE web presentation tier development. Python and Ruby are both commonly used to build web presentation tiers. Groovy is somewhat scarce in this space, but it's often used as "glue" code inside Java (including JEE) applications that rely on something else (JSP, Velocity, etc.) for the web presentation tier.
CF can only function in a JEE web environment. Python and Ruby are useful anywhere their interpreters are available. Groovy shares CF's dependence on a JVM, but not the JEE web environment. I can think of a lot of applications that run in an environment that includes interpreters/JVM access, but doesn't provide a JEE environment.
CF is little more than a proprietary replacement for JSP that ships with a pile of taglibs included. One could argue that CFCs clearly differentiate CF from JSP, and while that's a valid observation, it doesn't change the fundamental nature of the beast.
So stop trying to make CF out to be something that it's not. Just because it's not analogous to Dynamic Language X doesn't mean its' a bad platform. It just means that it's not a "toolbox" language (which is what most dynamic languages are designed to be). That's not good or bad, just different.
I love taco wagons, but I can never find them. So I made a taco wagon map on Google Maps' new My Maps feature. There's no collaboration features built into it yet, unfortunately, but if you know of other wagons, let me know and I'll add them.
I accidentally fat fingered an address in Google Maps and got this set of directions. Pay particular attention to segment 16.
Chris Phillips (another Portland CFer) is finally blogging, which is good, because we need more tall skinny guys in the blogosphere.