The Programmer Who Loved Me

March 28, 2008

Emerging Tech Conference Breakdown Part 2: Javascript Sucks and Adobe Dropped a Bomb

I swear, that’s what my notes say: Adobe dropped a bomb.  It was really late when I prodded the half asleep, half sloshy programmer to tell me more about the conference.  He probably slurred Adobe dropped the ball and my sleepy mind told my fingers to write dropped a bomb…which is so much more catchy.

Adobe dropped a bomb on what you ask?

I don’t think they dropped it on anything except poor overworked, underpaid programmers.  I do know what THE BOMB is though: Flex.

And somehow this Flex bomb is related to JavaScript which sent the programmer in to a tirade.  It’s rare that he hates a language, my programmer is all about using the best tool for the job and can find a use for everything.

Here’s how the programmer describes JavaScript:

1.  ATROCIOUS
2.  NOT A REAL LANGUAGE
  (This is an accusation that causes foaming at other programmers’ mouths)

So what exactly is Flex?  I haven’t got the faintest idea except that somehow it uses the evil JavaScript.  If you really wanted to know you should have gone to Peter Paugh’s talk at the Emerging Technology Conference.  I’m afraid I can’t give you anymore info since the programmer is still dragging JavaScript, its exceptions, errors, and libraries through the mud.

The programmer’s final words of advice:  Avoid HTML and JavaScript at all costs.

Emerging Tech Conference Breakdown Part 1: Surfing, The Secrets to Business Success, and Bloody Buzz Words

So it might be a little unfair for me to focus on THE BATTLE when it was probably such a small and insignificant part of the Emerging Technology Conference. Guess I’m showing my bloodthirsty, witchy part. Therefore I did make sure I asked my programmer about a few of the other talks he attended and the way too early in the morning (in my opinion, lazy brat that I am) keynote speech.

Surfing. That’s what the programmer learned about at 9 in the morning.

“Internet surfing?” I ask, already secretly thinking, my god, how boring.

“No, like wave surfing,” the programmer responds, “with boards. She (Lucinda Holt) had lots of pictures.”

I instantly perk up. I adore sports, especially of the water variety even though I’m the biggest klutz in the whole world. “But still, it was so early. Was the food at least good?”

“Nope, just bagels.”

Well, I’m disappointed now. I need coffee and sugar, sugar and coffee, to get me going in the morning, especially if I’ve got to pretend to pay attention to someone talking…even if there are pretty pictures. I would have lasted about 8 minutes. So how the hell did the programmer who can’t peel his eyelids off his eyeballs until 11 stay upright?

“She was a good speaker though she didn’t say anything new or groundbreaking. If anything, some of what she said was kinda obvious. But the stories she told were fun.”

“What exactly was this fun but obvious talk about besides surfboards and falling off them (a skill I’ve honed to Olympic standards)?”

According to the programmer the keynote speech was about how to make a web/programming technology firm succeed.

The secret: The right technology, at the right time, with the right message and the right something.

Yes, that’s right…SOMETHING. I think I need to buy the programmer a recorder because his memory is just downright shoddy. Doesn’t know what framework won, doesn’t know what technology is like Hillary Clinton. Doesn’t know the fourth ingredient to a successful tech company.

So what is it that this speaker’s company does that makes it so successful?

Organic search.

My eyes cross. Not because I don’t know what organic search is but because of the damn word organic. You know that IBM commercial where the worker bees play buzz word bingo.

Well, there’s a new buzz word to put on the card. ORGANIC. Everything is bloody organic now…but do you know what it really means?

March 27, 2008

Comparing Web Technologies to Hillary Clinton (and Other Fighting Words)

The programmer showed up at the hotel door after midnight sloshy and without his keycard.  I made him give me juicy tidbits through the door before letting him in (for fear he’d pass out on the bed and I’d be left with nothing to chitchat about here).

I tried to drag information about the Battle of the Frameworks out of him first, because well, let’s face it, out of all the titles on the schedule this is the one I probably understand the most.  And I was holding out for mention of light sabres.  First, let’s look at our contestants.

* Dan Allen, author of Seam in Action
* Peter Armstrong, author of Flexible Rails
* Bear Bibeault, co-author of jQuery in Action, Prototype & Scriptaculous in Action, and Ajax in Practice
* Max Carlson, co-author of Laszlo in Action and co-founder of Laszlo Systems
* Chad Michael Davis, co-author of Struts2 in Action
* Obie Fernandez, author of The Rails Way
* Robert Hanson, co-author of GWT in Action
* Yehuda Katz, co-author of jQuery in Action
* Chris Richardson, author of POJOS in Action

So I’m going to assume these are some of the best of the best since they’re battling it out as representatives of their frameworks.  All I really notice is what is with all the In Action (and one In Practice)?  What the hell does In Action mean anyway?  Are they all at the gym?  And then what’s up with the two odd-title-out Rails books/experts.  Is a Rail supposed to flexible?  I certainly hope not, Amtrak’s got enough problems.  And The Rails Way?  Sounds like a self help book.  Of course we all need help, maybe a framework will help us find a higher plain of mystical computing wholeness.  Ahh, the coffee is kicking in.

Anyway, the programmer began his dissertation on THE BATTLE by first clarifying a misunderstanding.  The title of the talk is misleading (hell, I hope it’s not THE BATTLE part).  Thankfully, it was that pesky, ambiguous FRAMEWORK word.  He said this wasn’t really a battle of the frameworks because a lot of the [INSERT Word Of Choice] In Actions above aren’t frameworks…of course the only one I can remember him mentioning is that GWT isn’t a framework (but I know Seam, Rails and Struts2 are).  So it wasn’t really a battle of the frameworks because some of these just weren’t comparable.

So what was it then?

JAVA VERSUS RUBY (Rails).

Lay your light sabres on the table and lets measure ‘em, boys.

Okay, well that’s what I would have done.

Apparently the Rails gurus laid down the gauntlet with a taunt that Rails was more mature than anything in the Java Platform.

And THE BATTLE commenced (or, as the programmer calls it, THE FLAME WAR).

Supposedly the Java people answered the call and at some point were asked to put down the flame thrower.

Ahh, so that answers my question finally.  Screw the light sabres, bring on the flame throwers.

Oh, and how does Hillary Clinton play into all this?  The programmer remembered one of the gurus mentioning that some technology wasn’t going to win (because a battle is all about who is left standing right?) but he couldn’t remember what that technology was.  I feel a sense of irony here.  So I’ll create my own quote from the one he only half remembered:

[INSERT Technology/Framework here] is the Hillary Clinton of web technology.  It’s good, but it won’t win.

So which framework did win?  I was answered by a beer-scented snore.

January 22, 2008

P.S. It’s A Good Day For Linux

Filed under: Linux, news — Anya @ 5:23 pm
Tags: , , , , , ,

My programmer is happy. The following goodies got released or mentioned in the news (and now that I have discovered the intense, brain-melting joy of extreme information overload via an RSS aggregator) I get to jump up and down on the bed with the latest tidbits-essentially beating him to the scoop and waking him up early. I know, I’m a competitive, little witch.

Anyway:

IBM announced they’re going to support Ubuntu, and so the, may I say trend?, continues of big companies tiptoeing into the Linux sphere. The rest of the article talks about Lotus…when did Lotus come back? I swear I thought it died a silent death in the 90s.

A new version of Ubuntu is out. Yeah, it’s just a maintenance release. But I’m currently in love with Ubuntu, that is until I break something irrevocably in it and have a temper tantrum. Breaking things is my super power. I’ve been known to crash the Linux kernel, causing a look of wonder and awe to cross my programmer’s face.

Not the newest of news, but KDE 4.0 was released last week. It won’t be useful for me as 4.0 seems to be geared more to the cutting edge user at the moment (so not me, but I’m sure my programmer is already all over it).

Storing Your Life On A ClipBoard

Filed under: Linux, computer — Anya @ 4:26 pm
Tags: , , , , , ,

I have to admit that making the switch from Windows to a Linux operating system years ago was not without curses, lost files, and a few divaish temper tantrums. In the beginning, when a deadline was getting dangerously close, there were one or two late night scream and tearfests that usually were started with:

“In Windows, option X is on menu Y, where the F@$# did this primitive, free-piece-O-crap Linux thing put it?”

Patiently, my programmer would show me what I was looking for and where it was stored by Linux or its associated programs. Programs, options, and actions are usually located in a more logical place on a Linux box (though not always). I was only looking for things where Microsoft had trained me to.

Through the years and several Linux distributions (RedHat, SUSE, Linspire, and lately, Ubuntu) I learned where to find (most) things on a Linux box, how to use the programs, and even how to install the OS. (I still can’t figure out how to tell when my hard drive is almost full though, until of course, I can’t save my latest document, and once again a deadline is looming.) One of the things I have always loved about Linux distributions (at least the ones I have used) is a little program called Klipper (part of KDE’s base set of libraries). Klipper is a clipboard that saves everything that you have highlighted, cut or copied regardless of the program you’re in, switching to, or closing (i.e. Klipper is tied to the operating system, not a particular program, such as Open Office). Klipper can save (at least on my computer) up to 2048 entries. Don’t think you want or need that many things saved, trust me, I’ve dug through Klipper for websites, important names, dates, and paragraphs I deleted a week ago and suddenly decided I needed again.

So why am I getting all warm and fuzzy regarding a simple, little cut and paste program? Partially due to Jeff Atwoods’ recent post, Reinventing the Clipboard, and because of a panicky, Windows related phone call I received this morning.

Mr. Atwood states:

“…we’re stuck with the same old single-item clipboard model. The clipboard isn’t some obscure operating system feature, either. People use it all the time.”

Mr. Atwood seems to be working in Windows world, which is fine, what just really surprises me is that since 2000 (the last time I used Windows) Microsoft’s operating system is still so…primitive. How can one survive with just one thing saved in their clipboard? I cut things from five different documents, the web browser, and then rearrange all the snippets in, say, an email. If I did things one at a time, I’d be switching between workspaces and programs for HOURS (okay, that might be a bit of an exaggeration). And let’s not forget my extreme “highlight and delete” Tourette syndrome symptom. Nine or ten cuts (or days) later, I decide I need that paragraph back, and Klipper saves the day (and my sanity).

Klipper doesn’t meet all of Mr. Atwoods’ criteria for the perfect clipboard. It satisfies his desire for history (2048 entries or whatever number you specify up to the maximum). It is persistent (all your entries are still on the board after an operating system shut down or restart). His third point, visual browsing, is where Klipper falls short. By clicking on the clipboard symbol in my desktop tool bar, I can see a list of my most recent text cuts, however, it does not show a thumbnail of graphics I have cut or even that the graphics are sitting on the clipboard. Ahh, but shortcomings like this are what keep developers employed.

So, as stated my Mr. Atwoods’ post, Windows has failed to evolve, at least on the cut and paste frontline, which leads me to this morning’s coincidental phone call. A Windows-using friend called in panic, having lost a number of hours of work due to a ‘permissions error’ that occurred when he was trying to save a document. The computer summarily crashed. He’d originally called for my programmer, but it being before noon, the programmer was still asleep, and my friend was stuck with my second-hand, nontechnical knowledge. He was asking where the document might have gone.

“The tmp file?” I suggested. “No wait, I think it’s called temp on Windows.”

“How do I find that?” he asked.

“Places.”

“Huh?”

“Oh, sorry,” I mumbled, searching my memory. “Um, the file browser…File Explorer!”

“Um, no, don’t see that,” he said.

“How do you view your documents?” I asked.

“In Word.”

“Ahh.” Yeah, I had no response to that gem. “How about a search? Doesn’t Windows have a Search in its pull down menu?”

I finally remembered something useful and my friend used that, though to no avail; the file was just gone.

He cussed, then said, “I had just copied the text, too, ready to send it to a client in an email. If only I’d sent the email before saving…”

“Oh!” I got all excited. “You can still paste it then. It’s saved in your clipboard!”

No such luck. Lack of persistence bit my friend in the ass. And where the hell has File Explorer gone? Maybe Windows is actually de-evolving into gooey, primordial bits and bytes.

January 19, 2008

Drowning In RSS Feeds

Filed under: definitions — Anya @ 10:52 pm
Tags: , , ,

You’re all in trouble.  I’m venturing into this-what my programmer calls-Web 2.0 world.  A few days ago I tried my hand at subscribing to RSS feeds using Google Reader.  For all of those who are as behind as I am, RSS stands for Really Simple Syndication.  News websites, blogs, companies, etc. spit out feeds that list their latest posts.  Readers can subscribe to feeds using an aggregator (like Google Reader) to list the headlines/latest posts from all their favorite websites in one place.  I’m only using Google Reader because I knew it existed.  By no means do I know if it is the best, most versatile, or sexiest.  I’m just experimenting.

Like most people who play with naughty things, I’ve become addicted-to the concept of RSS.  It is so awesome not to have to go to the fifteen or so websites that had been part of my daily ritual.  The problem is, I may have become a little too excited.  I subscribed to whole categories…and just about everything else that sounded even vaguely interesting.  So now, after only three days, I have over 1000 unread items in my aggregator.

However, that makes me really excited; I have so much I want to comment on!  And that’s why you’re in trouble.

January 16, 2008

Spread A Little Love, Programmer Style

Filed under: advice, programmer, relationship — Anya @ 2:44 pm
Tags: , , , ,

Just because a programmer is starry-eyed and seemingly, completely absorbed with the latest release of Firefox or a new software framework (Seam (has nothing to do with sewing), Ruby (I’m not talking about a sparkly you can put on your finger), or Spring (not the season or something you can bounce on) doesn’t mean he or she isn’t cooking up ways to show the profoundness of their love for their spouse. Programmers just might not declare their love via traditional methods (flowers, candy, sparklies from an honest-to-goodness jewelry store). Heads up, programmers: BestBuy is not a jewelry store, a thumb drive on a lanyard doesn’t say quite the same thing as a string of pearls.

But programmers are very, very good at showing their spouses how much they love them using their techie skills.

Take Jay McCormack for example, a Solution Architect in Australia. I’m not quite sure what a Solution Architect is, but his blog contains words that my programmer uses (IMAP, Web 2.0, Open Source), so Jay’s getting shoved into my programmer classification. On his blog, he has a lovely, toe-curling (men, when a woman curls her toes, it’s a VERY good thing) accolade to his wife-he’s telling the whole world he can’t live without her. And while he’s the techie, I get the impression he’s hugely amused that his wife’s website is leaving his in the dust (think the almighty page rank quest).

So, programmer, use your unique skills to show your love. For example:

1. Write a blog entry about how much you love your wife (or husband).

2. Design a webpage for her own personal use (if she wants one), or make a private blog where the two of you can engage in digital flirting in your own personal cyberscape.

3. Bring home goodies from your conferences-sure the T-shirts and thumb drives are branded with logos she’s never seen, but she’ll know you were thinking about her even when you were getting bombarded with the latest and greatest technology.

4. Make sure she has her own techie stuff (i.e. the computer she wants (not your cast-off or what you think is best for her), a new mouse, her own girly mouse pad, an ergonomic chair made for her butt).

5. Ask her for a picture for your office (she’ll go all gooey that you want to show her off to your co-workers). Use her picture as your background on your monitor.

January 12, 2008

The Great Operating System Debate…

…and how it affects your life once you move in with the love of your life-your programmer.

Let’s look at my operating system timeline as an example.

Late ’90s: I discover computers; computers loaded with Windows. I muddle through email, WordPerfect, and become addicted to Civilization (one of my few claims to geekdom).

2000: Dating my programmer in earnest. He moves in. My computer becomes “duel booted”. When I start the computer I can choose to use the latest version of Windows or Linux.

2000-2002: Viciously defending my Windows partition. Not because I care whether I use Windows, Linux, or any other OS, but I LOVE playing my games. My line in the shag carpet: I’ll switch to Linux completely when I can still play my games. My programmer proposes.

2002: The programmer subscribes to and installs Transgaming’s CedegaTM, sets it up on my computer so all my favorite games run, and Windows takes a permanent hike. I marry my programmer.

2002-present: Happily living in an Ubuntu computer environment.

The point of this example is not which OS I’m using, but the fact that I don’t really give a crap (sorry, love). I’ve heard the Pros and Cons for every OS debated heatedly (over beer, of course). The arguments start off technical (Linux is too hard to install) and usually disolve into personal attacks. Steve Jobs is an egotistical kook. Or, as an Apple Fanboy states in why he thinks Macs rock (and therefore Windows sucks):

“Bill Gates is evil. How can you pay the Devil?”

I nod, I grunt in agreement or sympathy regardless of which OS is being vilified or worshiped, but my eyes are glazed over and I’m secretly wondering where the waitress got her awesome sneakers.

So how do you stay sane when your computer is about to be hijacked by an unfamiliar OS?

1. Lay down the ground rules. Let your programmer know what programs you cannot live without. Do you need a special graphical or statistics program? Do you need certain games in order to relax? Do you want plug and play capability for your camera or MP3 player? Make sure you tell them your specifications. It won’t make the programmer mad-if anything, they’ll see it as a quest, to see if they can find equivalent programs or a way to use them with their OS of choice.

2. Get your programmer to sit down with you and run through the system, showing you what is the same and what is different. Be very clear that you just want to know how the programs work-not why they work. Side Note: This is where I arouse the ire of programmers everywhere; I see little difference between what I call the big three (Mac OS X, Windows Vista, and, say, a Linux distribution like Ubuntu). Macs are really bubbly, Windows looks like a Kindergarten class bulletin board, and Linux distributions range in looks between bubbly and elementary. They all have office suites, they all can surf the internet, they all store your files. Yeah, yeah, I know they all do these things differently behind the scenes, but I’m really not interested as long as it works.

3. View this as an adventure. Don’t be afraid to learn something new. Remember, learning new skills may keep dementia and Alzheimer’s disease at bay. Also, you’ve now got another skill to put on your resume.

4. Not willing to compromise or don’t trust your programmer to obey your technology wishes? Come up with a really good login password and don’t tell your programmer. Threatening to delete all his or her MP3s also works (yes, I had to stoop to threats at one point).

January 9, 2008

Geek Speak Primer

Filed under: Linux, definitions — Anya @ 6:49 am
Tags: , , , ,

I was never good at languages. I can’t even claim to be particularly good at English, the language I was born into. But programmers, be they from the U.S., Norway, or Japan, can communicate-not in, say, Japanese, but if they’re both Java programmers they can communicate just fine with if loops and thrown exceptions. Now, you’re probably wondering how I can throw out terms like if loops and exceptions when I claim not to be a programmer. I’m a parrot. After soaking in software programming jargon for years, I’ve picked up some terms but am unsure what they actually mean. So, for my own personal edification, and also for all you others who are constantly immersed in programmer technical terms and slang, lets see what some of those terms and acronyms actually mean. We’ll start with a smattering here, and as I collect other terms I’ll post them.

Brief disclaimer: my husband is not into Microsoft or Mac products or languages, so I won’t be able to give my personal spin on those terms. The definitions below are taken from a variety of sources.

software: a collection of instructions enabling a computer to solve one or several tasks (www.salvagedata.com/hard-drive-recovery-terms/); operating instructions for specific task based applications. These instructions are carried out by the computer’s processors. These include all packaged for use like image editing, word processing, databases, CAD, CAM, games, and so on. Software has to be written for a specific Computer OS (www.photographyreview.com/digitalglossarycrx.aspx). Of course, things go all to hell when the instructions fail, are wrong, or don’t do what you think they’re going to do. This is when mice (of the hardware kind) start to fly around the office at high speeds accompanied by horrendous language and desk abuse.

operating system (OS): think name brands like Linux, Windows, Unix, and Mac OS X. An OS is software controlling the overall operation of a multipurpose computer system, including such tasks as memory allocation, input and output distribution, interrupt processing, and job scheduling (www.satech.com/glosofmemter.html).

TuxLinux: a free reimplementation of the POSIX specification, with SYSV and BSD extensions (yak, like those acronyms clear up the confusion) developed primarily by Linus Torvalds. Linux follows the open development model-all new versions will be released to the public, whether or not they are considered production quality (www.cs-net.gr/linux/history.html). The official mascot is a plump penguin named Tux. Since this is my husband’s favorite OS, I’ve latched onto the penguin theme and bring home all sorts of penguin figurines and penguin decorated clothing. On the other hand, I have refused to allow any child of ours to be named Tux or Linux.

Mac OS X: proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. (en.wikipedia.org/wiki/Operating_system).

Windows: proprietary OS sold and developed by Microsoft.

Unix: worldwide Single UNIX Specification integrating X/Open Company’s XPG4, IEEE’s POSIX Standards and ISO C (www.unix.org/what_is_unix.html). So I haven’t got the faintest idea what any of this means, but the collection of acronyms above is the official definition.

open source: open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in (www.opensource.org/). I think of open source as akin to a political movement. Open source is the opposite of proprietary. Linux is an open source OS.

programming language: computer tool that allows a programmer to write commands in a format that is more easily understood or remembered by a person (this is so up to debate, but I’ll shut up in the middle of the definition), and in such a way that they can be translated into codes that the computer can understand and execute (platon.lacitec.on.ca/~jlemoe/Cobol/Materiel/Cobol/Manuel/apg/apg.htm). Programming languages I hear about over beers: C++, Fortran, Haskell, Java, Perl, PHP, Python, and Ruby. Want to see a big list, check out this site: home.nvg.org/~sk/lang/lang.html.

scripting language: computer languages designed for ease of writing. Scripting languages are often used to process text files or run external programs (www-xray.ast.cam.ac.uk/~jss/lecture/computing/notes/out/glossary/). Some scripting languages are: Perl, Python, tcl and awk. You’ll notice that some of these languages fall in the programming language list, too. There are heated debates (usually over more beer) between programmers over whether certain languages are just scripting languages or real programming languages. But this is a discussion for another post.

That’s enough for now. I could make this list a two hundred page book and have a feeling I’m only clouding my mind with more technical mysteries.

January 7, 2008

What is a Programmer?

If you’re in a long term relationship or married to a man or woman of this career species, you know what a programmer is-though you probably define the word programmer differently than your code-obsessed significant other. For all you lovelies in the first blush of lust or love with a programmer, let me enlighten you…because dating a programmer is far different than living with one day and night.

A programmer is a person who lives for developing and/or using software languages (think Fortran, C, C++, Java, PHP, and other acronyms you’ve heard from your spouse’s mouth but are quite sure you’ve never seen in Glamour or Men’s Fitness). If you want a formal definition of programmer, check out Wikipedia’s entry. The problem with dictionary definitions or the programmer’s own description of what they are and what they do is that most of us don’t know half of the other words they use-but geek speak is for another post.

I define a programmer by the character traits he or she has in spades (and I’ve been swimming in programmers for almost ten years now). Programmers are people who are extremely focused, solution-oriented, and opinionated. These are great qualities! Don’t get me wrong. My husband wouldn’t be the wonderful man he is if he didn’t possess these traits. But every trait has a tipping point and programmers seem to tip frequently. Focus becomes obsession. They won’t let a problem go until they solve it (to the exclusion of everything else, including food and sleep). And while they have opinions on the latest and greatest framework or scripting language, they probably don’t know anything about the President’s latest decision, what’s new at the theater, or that it’s Saturday and you’d really like to have a night on the town (because the last time you went out, together, for pure fun and touchy-feely in the back seat of the car was when you were dating).

Blog at WordPress.com.