Archive for the ‘Geek stuff’ Category

Fauxtography

8 January 2009

att00057

This image has showed up on the internet from time to time over the years. It’s usually sent as a forwarded email with the subject line “Sunset at the North Pole,” and a body which reads

Sunset at the north pole…

TOO BEAUTIFUL NOT TO SHARE

A scene you will probably never get to see.
This is the sunset at the North Pole with the moon at its closest point.
You also see the sun below the moon.
An amazing photo and not one easily duplicated.
You may want to pass it on to others.
The Chinese have a saying:
‘When someone shares with you something of value,
you have an obligation to share it with others.’

The last time it was sent to me was in March of 2007; apparently it’s making the rounds again, because it was forwarded to me by two different people today.

It’s a cool image, but it’s not a photograph. I say that not as a photographer, but as someone who paid attention in High School science classes. From Wikipedia:

The angular diameter of the Sun is about the same as that of the Moon…

What that means is that when you look at the sun and the moon, they appear to be approximately the same size when viewed from Earth. The disparity in sizes in this image is a scientific impossibility.

That doesn’t mean that it’s not a pretty nice piece of art. It’s just not a photograph. That also doesn’t mean that I don’t appreciate getting it from people who want to send me something nice. It’s just that I’m a geek, and I can’t let a misrepresentation like this slide. Thanx for sending it to me, guys. I really do like it. And I appreciate the thought behind it.

And if the creator of this art work is reading this: please let me know who you are, so I can give you proper credit. I don’t like publishing without attribution.

Much later: Oh, and there’s no open water at the North Pole, either. Except in the fevered imaginations of the Glowball Warmening cultists.

Update, 18 February 2009:

Commenter Haggas says:

Her name is Inga Nielsen

http://nielsen.sp01.ab-webspace.de/index.php?link=news&lang=1

So. Mystery solved. And now I can say that the image is copyrighted by Inga Nielsen. Head on over to her site to view her amazing artwork.

Thanx, Haggas.

Basic Security for Windows Users

15 September 2008

Personally, I don’t understand it, but I know that for whatever reason, many people still use Microsoft’s sorry excuse for an operating system. Lately I’ve gotten several requests from Windows users for my security recommendations. Having stumbled through this a bunch of times in the past, I decided to skip the long emails this time and just put it all in a post here on the blog.

The usual disclaimers apply: The downloading and installation of programs is beyond the scope of this article, being so basic that I’m going to assume that if you have a computer you know how to do it. And you take my advice at your own risk; I’m not responsible if you trash your computer.

These are the programs I recommend all Windows users install to protect their computers from malware:


Firefox web browser and Thunderbird email client:

The two largest security holes in any Windows computer are Internet Explorer and Outlook Express (web browser and email client, respectively). Without going into technical explanations, know that YOU SHOULD NEVER USE EITHER OF THESE PROGRAMS. There are safer and better-quality alternatives available.

Go to the Mozilla/Firefox/Thunderbird home page.

Download and install. Each program will attempt to migrate settings (bookmarks, etc) from their Windows counterparts. In use, they’re almost identical to their Windows counterparts.

To make sure Internet Explorer doesn’t try to sneak itself in as your default browser, thus defeating this security upgrade, on the Firefox menu bar go to Tools => Preferences (or Options, I can’t remember how they’re named in Windows) and in the resulting configuration window check the box labeled “Always check to see if Firefox is the default browser on startup.” Then click the button labeled “Check Now.” When Firefox asks you if you want to make it your default browser, always answer “yes.”


AVG Free Edition anti-virus software:

In my opinion, AVG Free is at least the equal of expensive products like Norton, for example. Go to the AVG Free download page.

Download and install and keep it updated. The sociopaths who write malware are constantly coming up with new products to evade protection software; if you don’t keep your protection updated, you’re not protected.


Spybot Search & Destroy:

An outstanding spyware and adware remover. It also removes Trojan Horse programs that antivirus applications miss. If your computer is getting slower and slower, chances are it’s infected with these types of malware, which load themselves on startup and then hog system resources. Go to the Spybot Search & Destroy home page.

Download and install and keep it updated. When it runs, it may take a considerable amount of time to complete, but it’s worth the wait. You may have to run it twice to remove stubborn infections.


CCleaner:

Finally, run this nifty program to clean out crud that accumulates on your hard drive(s). It was originally named “Crap Cleaner” and it’s pretty good at what it does.

This is good to use in conjunction with the other programs because malware has a habit of making copies of itself in the “Temporary” and “Temporary Internet Files” directories. If you keep those directories clean, you reduce the chances of reinfection. Go to the CCleaner home page.

Download and install and keep it updated.


All of these programs are free to use, and work as well as, if not better than, their expensive commercial counterparts.

If you don’t have a high level of comfort with this sort of thing, going beyond the basic configuration of these programs might be a little tricky. In all cases, the default settings will get the job done.

Lightning Bolt!

9 August 2008

Only one. But that’s all it took on the morning of Saturday, 31 May to fry my main computer, router, dsl modem and television. Despite the presence of very expensive surge protectors. Elsewhere in the building, it also took out two other television sets and a telephone.

Understand, I’m the geek who calls people on the phone to warn them to unplug their computers whenever thunderstorms are expected. Having followed my usual behavior, I felt pretty good about turning things back on as the thunder receded in the distance. I was reassured when I checked the radar map online and walked into the kitchen to make breakfast, when I heard a loud “SNAP!” outside the building. Not a “BANG.” Not a “BOOM.” A “SNAP!” I poked my head out into the living room to see a black monitor screen. That’s when the good feelings started to dissipate.

At first I thought it might be just the power supply, but I finally tracked the source of the problem to the motherboard. And that’s when things started getting really depressing.


Pore Judd is daid

Pore Judd is daid


When I built the computer, a scant three years ago, I researched it for several weeks and made the usual compromise: cutting-edge vs. budget. And, thinking I wouldn’t have to replace it for at least seven or eight more years, I eschewed technology I wasn’t sure I needed in favor of tried-and-true. I didn’t realize basic connectivity would change so much.

Like CPUs. Newegg sells only one AMD 939-pin cpu now, and no motherboards that take it. I don’t know if my existing AMD64 cpu is still good, but it’s useless without a motherboard to plug into, so I had to spend the money for a processor.

Or video. Everything I read on the subject of agp vs. pci express indicated that pcie was an expensive toy for gamers, and since I’m not a gamer I went with agp, which at my age I still consider “new” technology. Wake-up #2: motherboards no longer have an agp slot. So now I have a presumably good agp video card I use for a paperweight, and I had to spend the extra money for onboard video.

Or IDE connectors. Modern motherboards only have one IDE connector, meaning support for only 2 IDE devices. That means I had to find a way to connect 4 IDE devices (cd burner, dvd burner and two hard drives) to 1 slot. After considering a number of expensive and complicated options, I gave up and bought a SATA hard drive. So now I have 2 very good IDE hard drives which also work very well as paperweights. I also bought an external HD enclosure for the big, 320 GB drive, so at least I can use that as backup storage. And the external HD enclosure allowed me to hook up the old drives one at a time and get to the data on them.

And somehow, in all the research three years ago, I missed the rather large fact that then-current DDR technology was being replaced by DDR2. So the 2 Gigs of RAM I was so proud of had to be replaced, too. Of course, being me, I had to double the amount to 4 GB. At least this wasn’t a complete loss: my old memory replaced and quadrupled the amount of memory in my daughter’s computer, speeding that up considerably (plus, she got my old monitor, because I felt so guilty about the piece of garbage she was using).

Also around the end of May, two apartments in the building were vacated, and I had to spend a bunch of time overseeing the prep for new tenants, taking time away from the process of researching and rebuilding the computer. Add to that the time it takes (over a week) to install my favorite operating system (Gentoo Linux), and I’m just now getting up to speed with it.

So after a time-consuming and expensive process, I have a working computer. And it’s AWESOME!!!1!eleventy!! Between the dual-core 64-bit processor and the 4 Gigs of memory, it doesn’t even break a sweat while editing and processing images, normally my most resource intensive operation.

I’m back. I no longer have to depend on the old, slow Thinkpad for intertube access. So what does that mean to you, the reader? Absolutely nothing. I’m still too lazy to post on a regular basis. Although I’m not likely to go another 3 months between posts. Probably.

Update: I’m not the only one.

Mmmm... blackened weasel

Mmmm... blackened weasel

Go over to this post at S. Weasel’s place for more.

Must be global warmening or something.

Companion to the Birth of Spam

3 May 2008

If it wasn’t for Stoaty, I wouldn’t have anything to blog about. Her weekend post about Spam’s 30th birthday sent me to my bookcase to retrieve an old geek book:


Old DEC manual

Almost 40-year-old DEC manual


Old DEC manual 2

Almost 40-year-old DEC manual, side view


That’s it. Nothing to say. Just some geek reminiscences.

¡Libertad!

4 December 2007

I’ve been reluctant to ditch Quickbooks Pro because, outside of full-blown accounting/bookkeeping programs, there are no open-source equivalents that allow me to track my time. But I finally figured out that, since I don’t have to worry about payroll, I can make the switch to GnuCash and just enter my hours as invoice items.

Not that I’m completely comfortable with that, mind you; my obsessive-compulsive record-keeping implant is screaming at me that something is missing if I do it this way. I’m the guy who can’t discard 16 year old phone bills because, well, you never know when you might need ’em.

So today I sent out my last Quickbooks-generated invoice.

That means that, as of today, I am officially Windoze-free!

I started my move away from Windoze when I turned the old computer into a dual-boot machine and then found that I was seldom booting to the Windoze side because the Linux side never crashed and didn’t require hours of labor every week just to keep it from being infected with malware. Lately, I’ve only been firing up Old 98 about once a month, just to do my books. It’s taken me a while, but I’ve managed to find applications to replace every program I needed the Windoze box for. Quickbooks was the last one.

Not that I’ll get rid of the faithful, if flawed, computer I built in December of 1998. It’s only 9 years old, and even though every component in it is obsolete and it’s kind of noisy, it still runs every time I power it up.

And it’s sitting there. Silently waiting for me to press the “Power” button. How can I just ditch it, when we have so much history together?

Besides, I might need it. You never know.

No One Can Sabotage Me Like I Can

22 September 2007

Lesson: After running emerge –update, pay close attention to the the changes in configuration files proposed by etc-update. I didn’t, and caused myself a lot of avoidable grief. During one of my system-wide updates, I trashed Apache’s config files. Being the slightly retarded geek wannabe that I am, I had a heck of a time tracking down the information I needed to get my LAMP server running the way I wanted it to.

After much Clustying, file editing, head-banging, hair-pulling and cussing, I found out that it was pretty much working in the first place. All it needed was a couple of minor tweaks.

I first noticed something was wrong when I fired up the test website I have lurking in my /home/lizardbrain/public_html directory. The pages all loaded, but instead of being interpreted, the PHP script was rendered as text. It didn’t take me long to find that I needed to add some stuff to /etc/conf.d/apache2 (file paths are the ones on my Gentoo box; your distro may stash the files in other places). The first thing I did was add “-D PHP5” to the APACHE2_OPTS line in /etc/conf.d/apache2. It still didn’t work — I kept getting “Not Found” error messages. Actually, I had fixed about half the problem and didn’t know it, so I continued to clusty and tweak the config files. Most of what I did was unnecessary, but at least didn’t break anything. What finally gave me the clue that I was on the wrong track was when I restored /etc/apache2/httpd.conf to its original condition and copied a .php file from my public_html directory to the server’s home directory: it worked. All I needed to do from that point was get Apache to serve pages to my test site.

For those of you who got here by querying the search term “apache2 Invalid command ‘UserDir’,” /etc/apache2/httpd.conf does not allow the setting of “UserDir public_html.” What I had to do was add another option, “-D USERDIR,” to /etc/conf.d/apache2. Then I had to edit /etc/apache2/httpd.conf to add UserDir instructions.

Here’s what it boiled down to:

In /etc/conf.d/apache2, add

-D PHP5 -D USERDIR

to the APACHE2_OPTS line. Make sure you add these options within the existing quotation marks.

In /etc/apache2/httpd.conf, add

<IfModule mod_userdir.c>
UserDir public_html
</IfModule>

This gave me basic functionality. Since there is no public access to this computer, I didn’t bother to add anything else to /etc/apache2/httpd.conf to restrict access. For those who need more security, I got this from the Gentoo Forums:

<IfModule mod_userdir.c>
UserDir public_html

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#

# <Directory /home/*/public_html*gt;
# AllowOverride FileInfo AuthConfig Limit Indexes
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS PROPFIND>
# Order deny,allow
# Deny from all
# </LimitExcept>
# </Directory>

# Enable this additional section if you would like to make use of a
# suexec-enabled cgi-bin directory on a per-user basis.
#
#<Directory /home/*/public_html/cgi-bin>
# Options ExecCGI
# SetHandler cgi-script
#</Directory>

</IfModule>

Now, when I point my browser to http://mygentoobox/~lizardbrain/, my test site appears, and php scripts are rendered correctly. As usual, the Gentoo Forums were my best friend, once I figured out the correct search terms.

Arrrgh!

19 September 2007

I’ll be keelhauled! It’s Talk Like A Pirate Day! And I forgot!

Good thing Stoaty’s on watch. And for some more piracy, head over to Primordial Slack, where the buccaneers be thick as mosquitos on the Intracoastal Waterway.

Me, I gotta sit here and try to figure out Apache2’s new configuration files so I can get my LAMP server back up and running.

Update: Over at Cuffy’s place it’s talk like a parrot day.

rsync and ssh

26 August 2007

No, it doesn’t have anything to do with boy bands and being quiet. It’s how I manage files between computers without giving away the farm.

When I got back from vacation, I happily plugged my external usb hd into my desktop to move my images over for editing. I’m not real good at the organization stuff, however. Some of the images I thought I had were missing because they were in another directory on the laptop. When I tried to move them over using rsync, I kept getting the

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

warning.

Now, I could have just moved the external hd from the desktop to the laptop, copied the relevant directories, and then moved the external hd back. That would have been the easy, practical way to solve the problem. So, of course, that’s exactly what I didn’t do. What I did was, first, procrastinate for a couple of weeks. Then, when I finally got off my butt to do something about it, I got all obsessive-compulsive geeky and had to fix rsync to move the stuff.

Turns out that rsync relies on ssh to provide secure file transfers between hosts (I knew that!). It took me a long time and a lot of clustying to finally guess that I had to delete the existing keys in my known_hosts file because a computer with a new operating system on it is a different host than it was with the old operating system (I knew that, too!).

Note: because I only use rsync between 2 computers, I simply deleted all entries in the known_hosts file. If I were using it between more hosts, I would’ve had to just delete the entries for host “desktop,” leaving the others intact.

Now that I’ve gotten rsync working and I’ve copied the directories I needed to my desktop, I can procrastinate for another few weeks before I post the pix from my vacation.

Oh, what the heck. Here’s a teaser. This is a picture of the house and barn from the far corner of one of the fields:


20070807_020a.jpg

Down on the (un-given-away) farm


Compulsions and Consequences

9 June 2007

With some people, it’s Val-U-Rite Vodka. Let ’em get into a bottle and the local hobo population starts to decline. For me, it’s computers. Every so often, despite my best intentions, I go on a geek binge. I forget to eat and sleep, housework is ignored, and I frequently unplug my phone to keep from being torn away from my keyboard. And the Windoze boxes: they start to disappear.

My current binge started last weekend, when I got the bright idea that I could just sort of start to install the Gentoo Linux distribution on the 40GB hard drive I took out of my old W98 box. (“I can have just one and stop.”)

I’ve tried and failed to install Gentoo in the past. I tried it with an old, slow Pentium III over a dialup connection; that one was doomed to failure from the start. More recently, I downloaded several live cds, with evolving versions of the graphical installer. Those were all disasters. The first one toasted the Windoze partitions on a box that was supposed to be a dual-boot machine. It took me six hours with a disaster-recovery set to fix that. The last two installed and ran ok, but failed to boot after updating.

This time I installed Gentoo the way God intended: a minimal install, downloading and compiling everything from scratch, including the kernel. It’s taken me six days to get here, but I’m posting this from my shiny new Gentoo box.


gentoo1024×768.jpg

Gentoo Linux


Not that everything’s all lollipops and rainbows now (darn you, Nice Deb!). After spending all day on Flash and sound issues in the GUI, I barely have a usable computer. I still have to add an office suite, music player/manager, image viewing and manipulating programs and utilities and a whole lotta other stuff that I use on a daily basis. But now I’m getting impatient to make the move from the old Mandriva box. I won’t do that until I get most everything else installed and I’m ready to start using this box to manage my email. I can see the end, though, and it’s gonna happen soon.

Drugs and alcohol used to go straight to my brain, directly activating my pleasure circuitry. A little felt good, and produced a compulsion for a lot more. I get a similar feeling these days from working through a geek problem and learning something. I get a tickle deep in my brain that compels me to seek more! more! more! until I collapse in a sweat-drenched heap beside my desk and wake up the next day with a horrible geek-fueled hangover.

And I don’t know what happened to those Windoze boxes. What? Just ignore the beeping noises you think you hear coming from the crawl space; there’s nothing there at all.

Dr. Geeklove, or How I Learned To Stop Worrying And Love The CLI

19 May 2007

Since the rain we’ve had for the past few days has given my poor, elderly body a respite from the springtime demands of grounds maintenance, I decided to catch up on some geek stuff. I spent all of yesterday engaged in a titanic, life-or-death struggle with ImageMagick, a command-line image-manipulation program.

Well… maybe not life-or-death, since that would imply that one of the parties would not survive the encounter. And while I might have used a few bad words in the midst of yesterday’s struggle, I’d be very unhappy if ImageMagick died. The more I learn to use it, the more I learn to love it.

For those of you unfamiliar with the concept, the command-line interface (CLI) was all that was available before the Graphical User Interface (GUI) was popularized, first by Apple and then by Microsoft. This is a screen shot of a terminal (CLI) session on my computer:


shot_070519_0901.png

Where’s the mouse pointer?


Please note the dearth of pretty pictures and mouse-clickable items.

It may seem is definitely counter-intuitive to think that images may be manipulated from the CLI. I had trouble accepting the concept at first, but I’ve become more comfortable with it as I’ve become more experienced. Of course, this is all driven by my aversion to giving Microsoft any more of my money to allow me to temporarily access my intellectual property that I’ve created on my computer. I have a powerful motivation to learn this stuff.

Anyhoo (as I wipe the spittle from my monitor), what I wanted yesterday was a non-labor-intensive way to add a watermark to each image in a directory. For most open-source projects, there is a wealth of documentation. And most open-source documentation has been written by people with a limited grasp of the English language (be they native English-speakers or not) and/or a limited grasp of real-world applications of said projects and/or a limited grasp of what lesser and non geeks might be willing or able to understand. ImageMagick fares better than most in this regard, but the complexity and scope of the program makes the documentation difficult to wade through.

After beating my head against the wall of command-line tools, settings, options, operators and sequence operators, I stumbled across a link on ImageMagick’s home page to an online document titled “Examples of ImageMagick Usage”1. This document is itself large and complex, but it contains specific examples of command-line processing for a plethora of usages. Within the document, I found a link to Annotating Images, which held a section on Watermarking, which was just what I needed.

After I decided which method of watermarking I thought would work best for me, all I had to do was copy the commands in my terminal to produce the watermark “stamp.” That’s when the real fun started.

ImageMagick’s command-line tools, “composite” and “convert” (which takes “composite” as an image sequence operator), will only work for one image at a time. The command-line tool “mogrify,” which will apply itself to multiple images, will not take “composite” as an argument. I had run into an impenetrable wall.

But even if a wall is impenetrable, there’s usually a way over, under or around it.

Enter Bash scripting.

This is a geek’s tool I like so much that it’s almost embarrassing to stand up while I’m thinking about it. Bash scripts allow one to string together commands, test for conditions, execute commands and programs based on those tests, and lots of other stuff. They allow me to automate repetitive or complex tasks (such as cleaning out my log files and emailing me the results), or execute them simply from the command line (such as backing up my browser’s bookmarks or moving images from my digital camera to my hard drive).

I am not, however, an advanced scripter. It took me another few hours of struggling with for loops and string manipulation to finally come up with a solution.

I started at about 10 in the morning and spent about 8 hours total on this, when I subtract mealtimes, afternoon nap and goofing off. At 2201 last night, I executed my “watermark”2 script one more time. Within a few seconds all the images in the target directory had been watermarked.

Ta-daaa:


w_20070506_045.jpg

Skunk cabbage and fiddleheads in a Chappaqua, NY swamp.


I may change it later to tile the watermark, but the bulk of the work is done.

Okay, so it was a lotta work to get here. But now all I have to do is go to my CLI, navigate to the relevant directory, type the word “watermark” and hit “Enter.” I was gonna say that it was a bunch of pain up front for a bunch of ease later, but I had too much fun in the process to call it pain.


Footnotes:

1. While you’re at the “Examples” page, it’s worth a side trip to follow the link to Anthony’s Graphics Lab.

2. For those interested, here’s the “watermark” script:

#!/bin/bash

# This script adds a watermark to each image file in a directory.

for file in *

do
composite -gravity center -geometry +0+10 /home/cj/foto/worktable/stamp.png ${file} w_${file}
done

exit 0

Not much to show for all that work, is it? If you wanna use it, change the directory path to reflect your work environment. Don’t forget that you’re executing this script from the directory full of images you want to watermark. And if you wreck your images, it’s your own darn fault for taking advice from me.

Update at 070520/2023: Doh! I reinvented the wheel.