The Programmer Who Loved Me

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 16, 2008

The Programmer And The Treadmill

Filed under: advice, humor, personal — Anya @ 3:19 pm
Tags: , , , ,

I’m searching for a treadmill. Running is the only exercise that counters my cake, pie, donut, and soda addictions. My weakness (besides sugar): I hate the cold, and it has been damn cold on the east coast this week. So I did some research and set out to try a few models, programmer in tow. My husband is not a runner, in fact, he hates running as he’s always instantly attacked by the dread shin splint demon. (Me, I’m a freaking Clydesdale-no shin splints, turned ankles, or pulled hammies). Anyway, my husband doesn’t need to run, he’s a toothpick. I’m always trying to feed him (but the care and feeding of a programmer is fodder for a whole slew of other blog posts).

Back to my convoluted story. My husband was just along for the ride because we were going to get dinner afterward. I’m grilling the salesperson while my programmer is grumbling at the television hanging from the ceiling (his football team lost in the playoffs).

The salesperson utters the words of death: “This model has several programs and can keep track of your progress.”

No shit, I could hear my husband’s neck crack he swung his head around so fast. “It has programs?” he asked, his gaze instantly glued to the treadmill’s console.

I started waving my hands, ineffectively. “No, no-you can’t program it that way,” I said.

But it was too late. He was pressing buttons, trying things out, and I could imagine where his brain was going…”it has buttons, it has a motherboard, it has a display, I wonder if I can load Linux on it”.

Hubby says the next evil words, “maybe I will use it.”

Gleefully, the salesperson suggests the next model up as there will now be two runners.

I don’t need the next model up. What I need is two treadmills. One for me to run on. One for my husband to load Linux on.

Words of wisdom: Don’t take your programmer shopping for anything with circuitry, no matter how uninterested they seem in the product. You never know what convoluted plan their brain will concoct after hearing the sales pitch.

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.

Blog at WordPress.com.