August 2004 Archives
Marc Hedlund has an excellent essay on the evils of Microsoft Word in particular and software that second-guesses the user in general. Anyone who develops software or web applications would be well advised to read this and commit to heeding its advice.
[UPDATE: On further thought, it comes down to a precarious balance between this and Don't Make Me Think. How much intelligence is too much? That's the fine line.]
So there's not going to be WinFS. The newest in new filesystems—even though WinFS wasn't really an FS—has to be GmailFS. Astute readers out there are probably scratching their heads because they know that Gmail is Google's new email service that still isn't available to the public.
This wonderful little filesystem runs on Linux only and allows you to use your Gmail email storage just like you might use your normal filesystem. I guess it's rather limited because your operating system and all of your programs must fit within the confines of your one gigabyte limit. If you can live with that, then you can have a great operating system that absolutely requires an Internet connection to start and run.
Okay, so it's just a cool hack that is totally useless and will probably be thwarted as soon as Google finds out about it (which it probably already has given that Google knows all).
Someone at work mentioned that schools were discouraging the use of red pens to indicate errors, but I didn't believe it. I guess I was wrong. Two anecdotes stood out:
"I know a teacher who will ask questions in class, and if the student answers wrongly, she'll say, 'Hold that answer, I'll be back with the right question soon,' " said Warner Robins High school counselor Beth McConnell.
Last year, at Fort Valley Middle School, students who made A's were called out of class for a party in the school gym. This year, that celebration was opened up to all students with passing grades, said principal Quintin Green.This is so wrong. I'm lucky to be married to an educator who believes that article is bunk. She taught third grade last year and gave "D" students Ds. Parents freaked because their children had always been "A" students before—except they hadn't. There is a certain strain of teacher that is all too happy to engage in grade inflation because it makes her job easier by removing any chance of confrontation.
It sickens me and it sickened my wife. She tells me that the kids are generally okay with red marks, poor grades, and criticism. They know when they aren't performing well and getting such grades affirms this. She said that parents are the ones who can't handle it; they've actually gone to her principal to contest the grades. Sandi, of course, had all the documentation to support her assessment so the parents would generally get their children transferred to an easier class, where they would get nice and inflated marks.
There is an interesting contrast to be made between her public school experience and her private school experience. She taught kindergarten for two years at Rancho Solano. In those classes, the kids learned to read, count, and generally everything that she later taught in first grade at a public school. Oh, and these kids were four years old. Her expectations (and the school's) were high and the kids rose to meet them. When a parent did disagree with her teaching style (which was very rare), the school stood firmly behind her so long as she was right.
She would go back to a private school in a heartbeat, but she's not sure if she would ever go back to a public one after her tenure there.
Shorthorn: good one, Allchin; I hadn't even thought of that. Notable: next version of Windows will ship sometime in 2006 and WinFS won't be in it. Oh and everything else that would be cool in Longhorn will be released for XP and Win2k. Move on, nothing to see here.
As for me and my family, we'll install Tiger in January 2005.
If Kill Bill vol. 1 and Kill Bill vol. 2 were released as a single movie as originally intended, then it would have had a lock on the best movie I've ever seen. Bifurcated at the request of the studio, each half is less than the difference of their sum and neither, individually considered, could be heralded as the pinnacle of cinema. Each handily represents the best movie of the year it was released, though.
The second half continues along the same inexorable path started in the first. The Bride (Uma Thurman) seeks revenge on those who nearly murdered her and definitely murdered her unborn—she believes—child. Having dispensed with Vivica Fox and Lucy Liu in spectacular fashion, she must now kill Michael Madsen, Daryl Hannah, and (inevitably) David Carradine. Though the conclusion is a foregone conclusion, it is easy to forget the outcome while watching this movie. There were parts when I thought that the Bride was a goner—that's how powerful this movie is.
That's the plot and the denouement. If I breezed over it casually, it's because the plot was supremely indicated in the first part and every event and action in the second installment follows logically from the premises thus established. It is a simple story of revenge. The wonder that is the Kill Bill franchise takes place in character development, action scenes, dialogue, and visual composition.
The film shines as art. Every frame, every scene, and every shot has an underlying composition as consciously arrived at as any painting or sculpture. Writer/director Quentin Tarantino has an amazing eye for the essence of a scene. While there is no scene as stunningly beautiful as the confrontation between Uma Thurman and Lucy Liu in a tea garden in the snow, the scope of the filming is just as epic. Tarantino's influences can be seen readily and represent a source of joy for the audience to discover. I particularly enjoyed their discovery, as I am a big fan of the spaghetti westerns and samurai flicks to which Tarantino obviously paid homage.
The dialogue is masterfully crafted. We really get the sense that these people who live in a completely different world speak as if they're otherworldly. When Michael Madsen says "That woman deserves her revenge…and we deserve to die," it makes perfect sense and establishes Madsen as an erstwhile assassin who is prepared to face the consequences of his actions. On the other hand, the line reads like something out of literature. What's more, every line serves a purpose and furthers the plot or character development along.
That character development represents the best part of this movie, like action and visual composition defined the first. It is primarily advanced through flashbacks showing the relationship between Thurman and Carradine, the training of Thurman, or the agony of Thurman trying to extricate herself from her life. By the end, we can see why the Bride does what she does and we can cheer her on. We also come to understand her single-mindedness.
This single-mindedness is the most inspiring part of the movies. Normal people are very often out of focus, drifting through their days avoiding the mental effort required in life. Thurman's Bride possesses a laser-like focus in her quest to exact revenge. In the end, she encounters a temptation to abandon her goal. I found myself expecting her to throw in the towel—a convention well-established in the movies that would have represented a serious character breach. When Tarantino had her shake it off without even deigning to mention the temptation, it made perfect sense and yet it represented a bold, wonderful move.
Many have questioned the appropriateness of revenge as a theme for a movie. I think revenge is an entirely justifiable pursuit given the proper context. Being shot and then put into a coma at your wedding ceremony by your former colleagues and subsequently losing the unborn child you were carrying would qualify as a fitting context. The fact that she was an assassin is troubling, but she was a repentant one. She did not deserve what happened to her and rightfully sought justice.
To be perfectly fair, there is an significant amount of gore, profanity, and violence in these movies. They are appropriate given the genre, the characters, and the plot. Unfortunately, they delay the day that I might share these great movies with my daughters by many, many years. Adults should not have too great a task overlooking the graphic nature of the film so long as they remember that the assassin's life is gritty and rife with violence.
I just rented The Best of Triumph the Insult Comic Dog. I've been a fan of Triumph since his first appearance—prior to The Girls, I was a regular Conan O'Brien watcher. This DVD is incredible: it includes just about every appearance in full. The highlights were definitely Triumph at the American Idol auditions in Hawaii, Triumph at the Star Wars: Attack of the Clones premiere, and Triumph interviewing celebrities on the red carpet.
If you like Triumph, this is definitely a must purchase or rent. Triumph is definitely the best comic dog out there. He always brings the goods, night after night. Robert Smigel, the guy behind all this, is a comic genius. …
There's a book coming out on the 100th anniversary of Ayn Rand's birth (February 2, 1905) about the criticism her philosophy of Objectivism encountered over the years. The author, James Valliant, is perhaps the only person to undertake a comprehensive analysis of the Brandens' biographies. It used to be online but has been recently taken down (coincidence? Hmm.).
[UPDATE (10/15/04): David Hayes also critiqued Barbara's biography and it is still available online.]
I'm evaluating WordPress for my family web site and I am amazed (read: incredulous) that it can't handle multiple blogs from a single interface. All other blogging tools can do that. I am currently using MovableType as a convenient CMS using one blog per section of my site. It makes it very easy to edit my site from anywhere, but it still requires MT's rebuild whenever content changes.
So WordPress is not going to work for my blogging needs. I want one admin interface to rule them all; I don't want to go here for general site maintenance and to different WP installations for each of my separate blogs. Sorry, guys, that's a deal breaker. It looks like a great piece of software otherwise.
[UPDATE: After evaluating a bunch of different systems, I think I've decided on Blog:CMS as my content management system. It's a very robust, mature web application that has about all the features I could desire with an extensible architecture for the ones that it doesn't have out of the box. I'm still working out the kinks in the system because my goal is to have this entire site consisting of thousands of pages manageable through a web interface.
Steve brought up a good point about how to hack WordPress to do what I need it to do. I have no doubt that his idea would work, but it doesn't feel right to me. It's shoehorning a site hierarchy into WordPress's limitations. Granted, these limitations will be eliminated in a future version but it's currently just a hack. I want my site to use a CMS as it was intended so that it will work in the future without re-tweaking to revise the hacking.]
Andrew Bernstein's recent op-ed entitled "The Olympics Represent the Best of Western Civilization" misses the mark by a touch because it focuses on the wrong athletic competition.
The Olympics as they stand today are not the legacy of the ancient Greeks except in name. They have degenerated into the worst sort of jingoistic, collectivist affair. While there is still some veneration of the individual athlete, it is far more common to hear of the glory attendant with an American gold. Medal counts are trumpeted on the sports pages and in the news. People swell with pride at the Olympic trouncing by American athletes.
This misplaced pride is even more pronounced with people from lesser competitors. I have an Indian co-worker who was cheering one of her countrymen's silver medal in a shooting event. Was she an avid watcher of marksmanship? No, but this was the first individual metal in her country's Olympic history. And her sentiment was akin to "Go India!"
But why would she feel pride? Does this athlete's achievement reflect on her at all? Of course not. It's just like Jews who feel a sense of accomplishment because Albert Einstein was Jewish. Or Americans who feel ashamed because George W. Bush invaded Iraq. In neither case does the actions of one individual assign moral praise or censure to anyone else.
Is this the way it necessarily has to be? I think so. By virtue of the fact that the label "USA" gets applied to an individual athlete and is carried around in every event, one cannot escape this nationalistic bent. The ancient Greeks probably did not distinguish athletes by the Greek state from which they came. By all accounts, they were revered as individuals.
So how can we say that the games "represent the best of Western civilization" when they clearly embody a collectivist sentiment? The ancient games certainly represented the best of the West but de Coubertin made it a point to introduce nationality back when he organized the first modern Olympics in 1896. With that move, he doomed the role of the individual to secondary importance.
Furthermore, how realistic is it to say that the Olympics are inspiring to watchers? Naturally, achievement is inspiring in and of itself but it is naive to believe that anyone can become an Olympic-level sprinter or gymnast. Determined practice can move a top athlete up to the Olympic-level but your average schlub probably could never hope to break through the genetic glass ceiling to get there. Athletic skill is a prerequisite for the Olympics and there's only one way to get there: the genetic lottery. To believe otherwise is blind idealism.
I submit that the most inspiring achievement is one that I could have done if I had just applied myself more or worked harder. If an achievement has a genetic component, then it instantly decreases in value for me as a source of inspiration. The stories of Thomas Edison and Bill Gates are personally appealing because I know that I could be a successful inventor or businessman. The story of Michael Johnson or Nadia Comaneci are not because, try as hard as I humanly could, I could not run as fast as him or jump as well as him. My legs are not a sprinter's legs and my body is too inflexible and tall to perform gymnastics. The genetic predisposition towards athleticism represents an insurmountable hurdle in my case. The differences between these two sets of stories is significant.
There is some inspiration that one can take away from the examples given. The difference between Nadia Comaneci and her Romanian colleagues is that she wanted it more and trained much harder. But the lesson is as simple as those who work harder at something can accomplish more is present in the Edison and Gates examples without the genetic muddying. It's also a fairly trivial, obvious lesson. The instructions provided by an in-depth study of Edison and Gates's life, though, is not trivial and definitely not obvious. Therefore, the value of their inspiration is greater both in degree and kind. All inspiration is not created equal.
The true legacy of the ancient Greek Olympics may surprise you. It's a competition where one's nationality is only a note of one's background, where achievement is celebrated, and where individual athletes are revered like gods. And it's open to anyone who is determined enough to participate.
I'm speaking of the annual summer and winter X Games. If you're not familiar with the X Games, it is a series of events in the genre of extreme sports. The games are divided according to the tools the athletes use: skateboards, motorcycles, surfboards, and the like in the summer and skis, snowboards, motorcycles, and the like in winter. The events all combine technical prowess with stylistic flair.
It is truly open to all comers. The games's history is littered with examples of upstart upsets and many of the participants have no sponsors. This year's motorcycle trick competition called "Big Air" featured a competitor who showed up to the qualifying round unannounced and did a trick that enabled him to go to the X Games. He was completely unknown to the judges, but the only thing that matters in the X Games is pulling off the feat.
That's the essence of the competition: the performance is everything. After an especially amazing run on the skateboard half-pipe, it is common to see the other athletes swarm around the competitor to congratulate him or her. Great athletes are revered—not for their nationality but for their ability. The bar is continually raised every year: a trick like doing a backflip on your motorcycle might win you gold the first year it's done, but it becomes the minimum at next year's competition. This year was the tenth summer X Games and so they showed a lot of historical footage of early games; it was incredible to see how far expectations had progressed in such a short time. It also increased one's appreciation of the current athlete's achievements.
It's also a very commercial endeavor. Athletes are all completely self-funded. They make their money through shows, sponsorships, and endorsements. There is no national training arena—each athlete must devise his own practice settings. That means that the payoff can be very substantial: Tony Hawk, for example, is probably a millionaire several times over after successfully parlaying his X Games successes into a string of video games, commercial endorsements, clothing, and his own skateboard company.
Contrast this with the Olympics stance on corporate sponsorship. All athletes must be amateurs, untainted by the stink of money. "Going pro" means forsaking athletic growth and development and cashing out, essentially. Corporate money goes to the host country and the Olympic Organizing Committee. Or to the national Olympic committee to be disbursed to the training of Olympic-bound athletes at national training centers. Things have changed recently since athletes are now allowed to get post-Olympic endorsement deals that allow them to get some financial rewards for their medal performances, but this is probably largely an American thing since most nations still pour tax dollars into their Olympic programs.
While many of the X Games competitors evince a slacker ethic, that posture belies the incredible hard work that becoming a successful X Games athlete entails. You can't do the incredible tricks with a skateboard, surfboard, or inline skates that are the hallmark of the X Games without putting in an extraordinary amount of practice. The practice is fraught with peril and injury, as are the games themselves. It is common for the X Games announcers to rattle off a litany of dislocations, fractures, and concussions sustained by an athlete before competition. This is not a morbid exhibition; it's more of a testam ent to the tenacity and persistence of the individual. There are safety measures undertaken, but the nature of the events is such that injury is inevitable. A true slacker would never be a successful X Gamer for that reason.
That is the difference between the Olympics and the X Games as a source of inspiration. I could see myself becoming a pro skater or street luger. What's holding me back? A dearth of dedication and courage. But could that be what's holding me back in my career? Maybe I need to be more focused at work and take risks (albeit ones without physical injury) instead of just treading water. This lesson is so much more useful to me in my life than to watch the performance of an Olympic swimmer or high jumper, which is not to say that the Olympic performance is not enjoyable to watch.
The X Games is a recent phenomenon, to be sure. After ten years of the games, its long-term potential is uncertain. That it harkens back to an ancient ancestor, though, is certain. I believe that it is not hyperbole to say that the X Games is the modern equivalent of the ancient Greek Olympics and represents the best in Western civilization.
Tonight I was effectively part of the road team for an obscure Seattle hip-hop group. I was in the drive-through at McDonald's pumping out some Optimus Rhyme when I pulled up to the payment window. The guy at the window asked what I was playing and I told him the name of the band. He looked puzzled and kind of shrugged.
I asked if he liked hip-hop and he affirmed that he did. So I gave him the CD-R of the music downloaded off the site. He looked even more puzzled than before—obviously this was the first CD given to him through the drive-through window. I further told him that he should go to their Web site if he liked what he heard.
And so another human is exposed to Autobeat music.
Generation Trance: lots of great looking trance music here, but I haven't been able to successfully get a torrent going at greater than 9k/s. At 9 hours per CD, that ain't gonna cut it. Maybe you'll have better luck.
I wrestled a little bit with the issues surrounding Real Networks vs. Apple in the former's reverse-engineering of Apple's Fairplay DRM. On the surface, it really does seem to be about iPod owners getting to decide what goes on their iPods. Once you get past this superficial take, it becomes quite obvious that Real is being disingenuous at best and trying to steal Fairplay after Apple refused—as was its right—to license it to them.
As usual, John Gruber hit the nail on the head in his latest entry, grasping the essentials of this debate and refuting any possible objections with dispatch. There's really nothing I can add here.
In the entry, he also linked to John C. Welch's blog as a reference. I'm a big fan of Welch's writings as well, but I didn't know that he had a blog. Now if John Siracusa would start one, then the three Johns would be a formidable blogging triumvirate of Macintosh opinion.
Reading snippets quoted from and comments about this redacted job posting, I wish I could see what it was originally—it sounds like a real hoot.
[UPDATE: Found the full text, posting below.]
[UPDATE 2 (8/20/04): Put the text below in blockquote since it might otherwise not be obvious that this wasn't me talking.]
We are a web development firm seeking a freelance Cold Fusion/SQL programmer for multiple projects and one in particular RIGHT NOW. It's a VERY tough project requiring an exceptional individual who can jump in and finish it up. (If you can also work in PHP/MySQL --- and of course, you do a good job on this one -- we will have multiple other projects for you when this one is finished. If you only know Cold Fusion, we will have *some* ongoing work for you.)
We will ONLY work with programmers in the USA. We are not interested in firms that represent programmers. We only wish to hear from individual programmers who will be writing our code. If you are not a programmer yourself, please DO NOT RESPOND. If you do not have at least 35 hours of availability per week, please do not respond. All responses that do not fit the above criteria will be deleted immediately. Canned responses that do not address our concerns will also be deleted without response. Please don't send one! We have one immediate project which needs to be completed. It requires a dedicated individual with approximately 40 hours of work availability per week for the next 2-3 weeks. We will disclose more specific details of the project after hearing from you and having you sign an NDA. We have many more projects behind this one.
If you're interested, please read EVERYTHING below. This is not a joke (but it may well make you laugh or cry).
Please ONLY respond if you:
1. Have RECENT experience with Cold Fusion & SQL Server (NOTE: 3 years ago is NOT recent).
2. Are available to work at least 35 hours per week RIGHT NOW (NOTE: 20-25 is not equal to 35).
3. Are willing and able to speak on the telephone during business hours, return calls, and you're able to communicate well in English. You must also have a telephone number at which we can reach you and not by appointment only. If you object at all to speaking on the phone, please do NOT respond. If you tell us later that you don't like to talk on the phone or prefer email, you'll be immediately taken off the job.
4. Are the type of person who calls the project manager if you don't understand something in the spec. Making assumptions and doing things your way is NOT acceptable.
5. Understand that a deadline is a deadline and must be met. Missing any deadline without our prior approval means that the project will be reassigned.
6. Are familiar with working on sites hosted on web servers of hosting companies AND understand what FTP is. If you're a programmer and you don't know what FTP is, we really don't want to hear from you. Also, if you don't know where to find files on a web server, you don't have the experience we're looking for. Files are not always in the root!
7. Have a developmental server and computer set up that you can use to work on and the necessary tools to complete the job. You must be ready to start work. NOTE: If you do not have these tools and are willing to work onsite here where we do have the tools, you may still respond.
8. Are willing to work initially for a short time with no money upfront realizing that you will only be paid some money when we see some work done. (We are willing to pay incrementally when we see an area of the project completed and we've tested it to ensure it works. In certain instances, we're willing to allow you to show us work on your server if you are nervous about payment. While we can't pay for any entire element while we're viewing it on your server (unless you give us FTP and database access), we'll be glad to make a partial payment once we see that portion working properly and then pay the balance when you move it to our server. We've been burned too many times. We realize you may also have been burned but we do want an ongoing relationship with you. We're a business and we'll sign a contract with you ensuring payment.) If you write code that doesn't work properly, we can't pay for it. You are welcome to take it with you as it's of no use to us and we don't want it.
PLEASE DO NOT RESPOND IF:
1. Any military body you were in erased any part of your memory which now prevents you from remembering the spec (even if you just read it 2 seconds ago) or when the deadline falls.
2. You are egotistical, rude, argumentative and/or aggressive -- particularly to women. Please go do that somewhere else.
3. You are a nervous wreck on the verge of a breakdown because: (a) your marriage is on the verge of falling apart and you're emotionally unstable as a result; (b) your child(ren) scream(s) 23.9 hours a day which makes it too hard for you to work; (c) your wife/husband/boyfriend/girlfriend doesn't like you freelancing and/or demands that you take care of the baby for 12 hours a day and you think you can do our work before 6 a.m. and after 11 p.m. and still stay awake and conscious and not give us complete and utter junk -- you can't; or (d) any other reason not mentioned. If you need constant handholding and compassion from us in order to avoid having a complete nervous breakdown which you're always on the verge of, we can't help you, sorry. We can't be your marriage counselor, psychotherapist or your confidante. If you need any of the above, please find them elsewhere.
4. More than 2 projects at a time puts you over the edge with stress about getting them done; whereas less than 2 projects at a time also puts you over the edge with financial worries. We have many projects and we need a person who can multi-task. If you can't, don't respond.
5. You're the type of person who uses profanity or inappropriate material in naming your variables or in your testing. "Got really drunk last night" is not appropriate in a business environment. Naming variables after sexual organs is also not appropriate.
6. You believe in abandoning projects BEFORE they are finished or missing deadlines you set for those projects. (Even if you are the greatest programmer on earth, we're not paying you if the job isn't finished and finished ON TIME. It's worth nothing to us otherwise.) If you frequently use excuses for missing deadlines, PLEASE do not respond. We are really not interested in hearing that you need another 2 weeks to complete our 2 week project because: your mother died three times in a year (unless you really do have three mothers -- and next time we hear that, we'll ask for proof!); your unexpected house closing prevents you from working (the closing is NEVER THAT unexpected, we've bought houses); you have to go to a wedding at the last minute in another state; you suddenly have to move out of the area; you have unexpected friends from out of town that you need to socialize with; you forgot the deadline and thought you said 20 weeks for the project instead of 2 weeks; you did too many drugs in the 70s/80s/90s and can't think straight anymore; you thought the deadline was just made up to make you work harder; you had 'top secret' classification in the military and they erased your memory when you got out and you can't remember everything you used to be able to; you hired your buddy to do part of the work and he let you down and didn't do it; you found out you're losing another job and feel depressed about it so you can't work; your wife/husband/boyfriend/girlfriend doesn't like you working so much and needs to hold your hand while you watch TV for four hours a day so you can't meet the deadline; your pet tarantula died and you're too depressed to work; you're hung over; your sister's mother's aunt's niece's daughter got picked up by the cops and you need to disappear for 2 weeks; your internet connection died but you're still able to send ridiculously long emails explaining what happened -- you're just not able to do any work for the next week; you can't connect to the database anymore because the hosting company upgraded to a different version and you don't want to download the trial version upgrade because big brother could be watching you; your laptop crashed and even though you have 6 other machines on hand, you'd prefer to rebuild your laptop for the next month than to do the work that we're paying you for; you forgot that your friends were going to have 3 beach picnics and 4 parties when you said you'd do the work and you completely forgot your aunt's 61st birthday, your best buddy's kegger and your husband/wife's family reunion picnic, and you'd prefer to attend those than get the work done.) etc., etc., etc.
We've already heard all the most outrageous excuses and we're REALLY NOT interested in hearing any others.
6. You are a prima donna programmer who thinks that you can do the work your own way, deviating from the specs, and that we should find it acceptable. We won't. There is ONLY one spec: OURS. Not the one that exists in your head. Not the one you think it should be. Just the spec you were sent. If you don't want to work on that spec as we've written it, then tell us that upfront. But don't deliver something else. That's not what you were hired for. It may be absolutely brilliant, but it isn't what the customer asked for so it's useless to us and we cannot pay you for it. If you don't understand something in the specs provided to you, don't ever ASSUME. Call. If you think something is stupid, CALL. If we say do it anyway, do it. We know the client. We've been over all the "stupid" things with the client.
7. You are not able to comment and document the work you complete.
8. You believe in bidding on a job for one price and then decide later on that you want more money to finish the work that you bid on in the first place or you think that doing the job is one price, actually making the work live, is another??? PLEASE NOTE: If the specs change, we expect you to want more money. If they don't change, we WON'T pay you more to do the work you bid on. If you underbid the job because you didn't read the specs, whose fault is that? It's not ours.
9. You do not understand that in order to bid on a job that requires modifying work that already exists, you need to FIRST take a run through the front end of that project and review any existing code. It is not acceptable to later on say that you didn't realize there were other pages that this needed to work with because you didn't go through all 3 pages of the project before you bid!!! Nor is it acceptable to say you missed the deadline because it took you longer than expected to review the existing code or there was a learning curve with the existing code. Reviewing the existing code before you bid, solves this problem. I don't care if you were a DBA for 100 years, no one is so brilliant that they don't need to review the existing code!
10. If we have a tense moment or we say that we don't like the way you did some work and that it's not absolutely perfect and you're not the greatest programmer God ever put upon the earth and/or, we don't constantly stroke your ego and reassure you that you're wonderful every 5 minutes, you go off and sulk like a baby and when we try to call you to discuss it, you let the answering machine get it, listen to our message and then respond seconds later with a nasty mean email. Be a grown up, pick up the phone and talk about it.
11. You're incapable of doing preliminary testing. If an element of a project contains a link to add an item, a link to modify an item and a link to delete an item, then all 3 of those should work BEFORE you say it's done. If there is an image to be uploaded in one of those links, test it. Don't say later that it works as long as the image isn't modified! That's one of the features of the project! It's not done until it works!
12. You don't understand that a deadline is a deadline. You set the deadline. If you miss it and tell us on the day the work is due, the work is useless to us. No excuse covers that. NONE. If the spec consists of 5 areas and you deliver 3 of those by the deadline, the work is NOT complete by the deadline. Making excuses about how well you've done the 3 areas and that you were going to complete the other 2 areas within the next few days is not good enough. You set the deadline. Deliver the work on or before the deadline. ALL the work, not some of it.
Sadly, ALL of the above situations and examples have happened with other developers we've subcontracted work to during the last 6.5 years. We're looking for someone who is serious and wants to make some money working with us. We've got so much work that we're turning away projects right now because we don't have the right people working with us. We don't want to treat you like a kid and certainly don't want to be your mother or father. Are you a grown up? Can you communicate normally and talk on the phone? Do you want to make some money in return for work? Can you meet deadlines you set? If you are solid and reliable, with verifiable references (your best buddy from high school, your cousin or your girlfriend are not acceptable references), and are looking to form an ongoing relationship with a web development firm and make serious money working for us over a long period of time, we'd like to speak with you. We will provide more details as soon as we speak with you.
Otherwise, if this isn't right for you, we totally understand and wish you all the luck in the world.
If you're interested, please email: jobs@evolvedsites.com and include your telephone number so that we may contact you. We promise to respond personally to each and every person who submits a serious response, whether chosen or not.
Thank you very much for reading. Please do not send rude responses. We've already had enough of those.
The Business Software Alliance is looking for a new name for its new mascot.
I wonder what other animal mascots were under consideration before they chose a ferret? A rat, for ratting out your employer? A pigeon, for being a stool pigeon? A lovable, anthropomorphized whistle, for blowing the whistle?
I guess they chose ferret because it sounds like they're ferreting out software piracy. In fact, they're largely fueled by tips from disgruntled employees. It's a little chilling that they're targeting kids in this campaign.
[NOTE: I say this as a firm believer in copyright and the sanctity of property. I am not a big fan of the BSA, which frequently uses thug-like tactics and soft-glove extortion to pursue its ends. I believe it is superfluous since a proper system of law enforcement would supplant it.]
My earlier entry got me to thinking about language in general. Learning a new language is extremely difficult for adults because it requires a completely new vocabulary; kids don't have as deep or broad a vocabulary so it is quite a bit easier for them to pick new languages up.
Learning a new language is made more difficult when the base alphabet is different (as in Cyrillic), still more when the grammar is different as well. The most difficult languages for Westerners to learn are Chinese and Japanese because they not only have a different vocabulary, alphabet, and grammar, they have a completely different notion of language. As I understand it, each character in those languages is a word. This is fundamentally alien to the Western phonetic languages.
This is analogous to programming languages. It is fairly easy to pick up programming languages whose only difference is in their grammars (like Java, C#, and Python), harder to learn languages where the vocabulary is all new (like assembly or Applescript), and harder still to master languages where the base alphabet, grammer, and vocabulary are different (like machine language).
After my experience in C#, I could probably move right into programming Java but I would have a hard time getting into assembly. The idiom and concepts are just too foreign. I wonder if there is an analogue here for the inverse ratio between age and ease of natural language acquisition.
Je suis content à vous dire que l'application OmniWeb 5 est fini! C'est une jour que j'avais attendu depuis six mois. Félicitations à les programmeurs d'OmniGroup!
Pourquoi est-ce que je suis écrivant en Français? Pourquoi pas!
I've been valiantly fighting those dastardly bastards who would attempt to use my PageRank for their own profit. I'm speaking, of course, of the pernicious comment spammers that have been traipsing through my three blogs since I've moved to MovableType.
They want you to buy Cialis, play Texas Hold 'Em poker online, and view pictures of unspeakable acts (from the sounds of some of the subject matter). They concoct absurd comments for the sole purpose of getting a link back to their shady sites. Google indexes my pages and sees glorious links between our two sites and a little bit of my carefully-cultivated PageRank goes their way. This makes them show up higher in the search results and, one presumes, lines their pockets a little more.
My task, then, is to short-circuit this plan and foil their efforts. Unfortunately, they have circumvented all of the automated tools I've installed in MovableType. This means that I must manually remove errant comments one by one. Without getting into the nitty-gritty details of MovableType, this couldn't be more tedious. But it's a task that must be performed—if only to protect against broken windows.
Frankly, though, I've had enough of this crap. I rebuilt my entire site twice yesterday all because of the same guy. I am going to move to WordPress, a MovableType-like blogging system without all of MovableType's deficiencies. This is part of my overall strategy to move away from ColdFusion and towards PHP. This is not a slam against ColdFusion, because I still think that it's the fastest-to-develop server-side scripting language, but web hosts that support it are harder to find and generally more expensive. Plus, if I ever did get a dedicated server to host all my sites (as I would eventually prefer), I do not want to have to fork out additional money to buy a ColdFusion license.
The transition away from MovableType and ColdFusion is going to take some time. I am learning PHP, which is thankfully very close to ASP, but I can only work on the site transition an hour a day at most. In the meantime, I have disabled HTML in the comments and changed the comment author byline to just display the author's name and show the author's URL in a tooltip. That takes care of any incentive or benefit in spamming my comment sections.
I will delete all comments from the database as soon as they happen, but I'm only going to rebuild perhaps once a week. That means that you may find some offensive and objectionable comments in the interim. I apologize, but it's the only way for me to integrate defusing this menace into my daily workflow.
If you are a comment spammer (or his bot representative), I wish only the most unspeakable evil on you. You are a blight on the Internet and whatever function you serve is disgusting, ignoble, and repugnant. You can continue to post away, but know that you're getting zero benefit out of it.
Awhile back, I encourage everyone to sign an online petition to encourage Jim Henson Corp. (or whoever owns it lately) to release DVDs of perhaps the best puppet television show ever: Fraggle Rock. Apparently, three episodes have been ported to DVD and are only available at Wal-Mart. Reading this review brought back many memories of my childhood—a nice touch on my birthday. Today has been an awesome day of reflection, introspection, and insight. I feel refreshed and rejuvenated, ready to start my fourth decade of life.
Reading over that review, I was reminded of just what made my childhood so magical and really helped to develop me as a person. Fraggle Rock wasn't just a kid's show; it created a whole fantasy world and begged you to come in. It was a rich creation, replete with adventure and fascinating characters. In the imaginative mind of a child, you get lost watching those episodes and dreaming of doing your own exploration.
My favorite memories in childhood were of playing along just those lines. Whether it was playing with Star Wars action figures in gigantic holes dug in a sandbox or drawing military bases on canvas-sized pieces of paper, I constantly created dream worlds and let my mind define their contours. Creating forts out of anything took that play into the physical world.
Once I started dreaming in the real world, I cultivated a love of exploration and seeking of hidden pockets of enchantment. That viewpoint practically disappeared by middle school and vanished in high school as I became increasingly concerned with girls, computers, and working. No longer could I envision the ways things could and ought to be; I was more focused on the way things were and living within the confines of a world that others largely defined.
Recently—and here I mean in the last five years—I've rediscovered my love such things. Amazingly, it has stemmed from my newfound love of history. History is actually just like what I was describing earlier: it entreats you to imagine the past and to inhabit it in your mind. Great insights can come from such mental exercises and I think that the best historians can recreate these worlds of yore for their readers or listeners.
I've also recommenced exploring my physical surroundings with a renewed vigor. I'm lucky in that regard because Phoenix is suffused with an overwhelming sense of history if you'll let it in—even though much of the actual space is new or recently refurbished. It's hard to explain but I can get a powerful feeling of history just by walking through a former channel of a long-dry river bed. It's kind of like a nostalgia that isn't yours.
My goal is to foster this sort of feeling in my girls. My parents never really encouraged the behavior I've cherished; I just fell into it and was lucky enough to recognize it early. The difficulty is in encouraging without pushing, in setting up situations where they can achieve it themselves. My childhood self-discovery was precious to me and I'd love my children to experience something like it, too. My sincere hope is that they'll reach heights I never could—due to the limited resources of a ten-year-old child—and that I'll get to be nearby to appreciate it.
[UPDATE (8/8/04): Bought the DVD at Wal-Mart today for $9.86! What a screaming deal! I was expecting $20 or so. Watched three episodes, 93 more to go.]
For my future reference, the Mustek ScanExpress A3 USB Scanner can scan up to 11.7" x 22". For when you just need to scan in something really big.
Here's an interesting presentation entitled "Challenges in Running a Commercial Search Engine" by Amit Singhal, Google Senior Research Scientist. It's a 3.2MB PDF. It's a fascinating synopsis of the current state of the disgusting spectacle that is search engine optimization.
I delete about 50 comment spams at a time on this site and I check it several times a day so as to rob them of any value they're seeking. Nothing can stop them; I've given up blocking their IP addresses. If Google can solve this problem, then the incentive for comment (and other forms of) spam disappears.
Keep up the good work, Google!
I like finding culinary diamonds in the rough—quaint little places that have solid, delicious fare at good values without being the talk of the town. In this, I know that I am not unusual. What I sometimes forget is that though quaint starts the same as quality, it doesn't always mean quality.
Take, for example, my recent discovery of Sushi Mishima off Thomas and 56th Street in Phoenix. It's run by a lady and her husband: she does the waitressing and he does the cooking. Each meal is a series of courses: first soup, then salad, then entrée, and topped off with a fruit dessert. I've never spent more than $10 on a meal, including the tip. My favorite dish is the grilled albacore tuna steak though their sushi wasn't bad either.
I tell Sandi about these expeditions and she takes it just like she does with my non-culinary expeditions: with a roll of the eye and an admonition to be careful. This time she suggested I check the food inspection reports for this Japanese dive and I thought, "Ha! I'm going to prove her wrong and show her that appearances can deceive."
After a number of tries at getting the name right, I found the report. Sweet sassy molassy! They've had repeated major violations and the best score they've received was a 33. And I'm ingesting raw fish from these people! It also helped to explain why they were closed for a couple of weeks for a "vacation": the county shut them down! I'm not inclined to exclamation points, but this merits them.
I guess sometimes there's a reason they're in the rough and I guess they're sometimes actually cubic zirconia.