Category Archives: Different

Might be bringing Lazy to new heights…

Toro Ok, I’ve pointed out that I’m a programmer because I like to make the computer work for me. Recently, My old lawnmower stalled once too often and I got a new one from Home Depot (They had the best price) to replace it. My requirements are pretty simple:

  • Must be 6.5 Horsepower.
  • Must be able to tune it. The old one had a carburetor that could not be adjusted in any way which made tuning it impossible.
  • Must to be able to mulch.
  • Must be able to buy parts for it.

So we went shopping and I decided to go with a Toro. My reasoning is that they make fine lawn mowers, have a great reputation and you could order any parts for it.

Here is the lazy part: It has front wheel drive. That may not sound lazy until you consider our house is on a 40 by 100 ft parcel and the house and garage take up most of it.


Music I’m listening to right Now:

General Attitude by Collective Soul from the “Youth” Album.

Testing MovableType 4 Beta

 Seemed pretty straight forward to install. Since I have it in a new directory structure with a different Database, It seems harmless enough to test.

A few initial notes:

  1. Category list seems to be broken. I need to investigate that a bit
  2. I broke the comment too (might be the SCODE)
  3. Do NOT use Bigpapi.pl as it REALLY doesn't like it,
  4. Several "Internal Server Error" too.

Remember, this is BETA software and is sure to have lots of initial kinks. To make life more amusing: My server has several odd things about it too.

You can see my MT 4 Beta BLOG here. Copying the DB to a new DB and pointing the new instalation to it was fairly painless and the upgrade script worked fine.

Music I'm listening to right Now:
"Give Me Novacaine" by Green Day from "American Idiot"

End User Agreements

LegalRecently, I was connecting to an online service and an "updated" End user agreement popped up in a Tiny window. Now, I always read these things so I Cut and Pasted the text into Notepad and carefully check it out prior to hitting the "Accept" button.

I wonder, How many people do that? IMO, These online services use a small window with a scroll bar in the hope that people will just hit "Accept" button without realizing that they may have just agreed to something contrary to thier best wishes. There are plenty of sweepstakes that, when you sign up, you agree to allow telemarketers to call you.

That's just one example. On a more serious note, some banks give out your personal information based on your accepting that agreement to "affiliates" (i.e. Anyone who pays for it…). I've annoyed people at Cell phone stores by taking my sweet time reading the service agreement prior to signing.   

I know not everyone does it, but people really should read everything they agree too. 

Music I'm listening to right Now:
"Who Knew" by Pink from "I'm Not Dead".

MTGoogleMaps Test..

Hmmm, the New MT may break my version of MTGoogleMaps. Let’s See.

Update: Nope, I missed some PERL libraries.

Music I'm listening to right Now:
"Makes Me Wonder" by Maroon 5 from the "It Won’t Be Soon Before Long" Album. Just heard it on Z100. You can see the video here on Z100. As soon as you begin to hear it, you know it’s Maroon 5.

PERL Programing

PERLBy training, I am a programmer. Its something I enjoy and use to my advantage whenever possible. In this case, I had a repetitious task to perform and so I made a PERL program to solve it. 

This past Monday, while working from home, my DSL went out for several hours. Since I was stuck on site fielding questions from the Support team, I started tinkering with a program I use to copy Nikon NEF files from a flashcard reader. 

Basically, I like to sort my files in directories by camera model and date. That is, if I take a photo with my Nikon D80 on May 20th, 2007, I'd copy them into:

C:StuffStefanNikonD802007-05-20

Sounds simple, but suppose I put two weeks of photos on a 2 GB memory card? Doing it manually is a pain and I'm lazy. So I wrote a PERL program to do it.  

Here's How it works:

  1. Get a directory of the memory card (G:DCIM100ND80)
  2. Load the EXIF info from each file, one at a time
  3. From the file, determine the Camera Model and  Date it was taken.
  4. Get some stats from the EXIF Info.
  5. If the destination directory does not exist, create it (c:StuffStefanNikonD802007-05-20)
  6. Copy the file
  7. Go to the next file.

A colleague asked for a copy, so I niced it up, commented it, added command line parameters and I'm releasing it into the wild.

Prerequisites: PERL, of course and  ExifTool by Phil Harvey. Frankly,  Phil Harvey did all the heavy lifting here. He wrote a great PERL module and I'm only using a little bit of it. The rest is just simple file manipulation.

From a command line:
c:> perl copyNEFJPEG.pl -?
USAGE: copyNEFJPEG.pl
 [–from X:] (e.g. –from i:) Default = i:
 [–to X:somedirectory] (e.g. –to X:somedirectory)
                             Default = d:StuffStefan
 [–writecfg] Write config file to "copyNEFJPEG.cfg".
 [–nothing] Do Nothing, just show me.
 [–usage|help|?] This message.

Example:
c:> perl copyNEFJPEG.pl –from g: –to c:stuffStefan –writecfg –nothing

In this case, it will write a file called  copyNEFJPEG.cfg to the same location as copyNEFJPEG.pl and set the defaults to the command line (Assuming "c:stuffStefan" exists in advance). The "–nothing" parameter  shows what it would do without doing any copying (other then the config file that is) . Next time, you would simply use:

c:> perl copyNEFJPEG.pl

and it will just copy the files (Did I mention I'm lazy??). Once the config is done, you could just set it up as a shortcut. This program won't overwrite anything or delete the source files. It's fairly harmless, but if you use it, do so at your own risk. I've used this on Nikon NEF files and JPEG files. Likely it would work on CANON RAW files, but I don't have any to test. If anyine wants me to test with CANON RAW files, leave me a comment.

You can download it in a zip here

Music I'm listening to right Now:
"The Taste" by Five for Fighting from "The Battle for Everything". Five for Fighting is John Ondrasik.

A Really Rotten Situation…

JPG LogoAn Odd title, but the best way to describe it, IMO.

Fairly recently Derek Powazek and Heather Powazek Champ association with JPG Magazine came to an end (read response here, here , and here).

I'm not going into details about what happened because, among other things, I wasn't there. If I had to take a Really Wild Assed Guess: People made assumptions and/or were really unhappy with one thing or another.

I do think that Paul Cloutier (the CEO, publisher and now editor) really screwed up how he handled the aftermath. When the founder of a company is no longer with said company, at the
least, some announcement needs to be put out. Other than pulling ALL
reference of Derek and maintaining that this is a "New" JPG Magazine (I disagree, I thought it was a growing endeavor),
there was no information other than what Derek and Heather put out. Some of the staff of JPG have expressed their consternation at Derek and Heather going public with what they consider an internal problem. I think that's wrong as JPG Magazine is a community based business. IMO, that means the community are like shareholders that need to know what's going on. 

Paul's
initial lack of any damage control was a big mistake. To make life more entertaining, when he finally did say something, it was, IMO, lacking to say the least.

As of this writing, I don't think I have answers to questions I posed:

  • Did Paul force Derek out? If so, Why??
  • Did Paul invent a new story about how JPG came to be that was all about 8020?
  • Did Paul tell people not to speak of that walk in Buena Vista, Heather, or anything that came before 8020?

I'm not the only one that wants to know. Part of the appeal of JPG Magazine was this it is a startup by two interesting people. I was pleased to see it grow and evolve into a mature company with a great submission system and a great staff of people working there. Knowing that the creator of such an endeavor was forced out without any explanation put forth by Paul leaves a bad taste in my mouth. That's why I deleted my JPG account.

As I said on a flickr discussion, Regardless of whatever happened that led to Derek's departure, JPG was originally Derek's and Heather's creation. I may be naive, but I'm still really hoping for a resolution that include Paul and Derek working it out.

I'm not marginalizing the Staff. As a programmer, I can say the site is a great work, as an amateur photographer, I certainly appreciate the behind the scenes work of all the staff.

I just think they (Paul and Derek both) need to work it out where Derek can have a role in JPG Magazine especially since Derek owns a part of it.

Update: I will say this: I'm very close to re-creating my JPG Magazine account. Rather than deleting them, I've struck out the questions above (IMO, It's part of the record and I think it would be wrong to just delete them). I don't have them directly answered, but I feel they are no longer relevant to the issue. 

Music I'm listening to right Now:
"New Thing" by Fuel from "Sunburn"

SELinux and Type Enforcement

FedoraAs some people know, one of the many hats I wear on the job is security. That being the case, I figured I should learn SELinux.

Turns out, Easier said than done. If your doing anything unusual (What are the odds in my case?) you need to make Policies and ensure that the programs are the proper file context with the proper access. Think of a default deny firewall and you'll see the issue. Nothing is allowed unless permission is explicitly given. Fedora comes with a lot of default policies, but for unusual web server CGI scripts, chances are you need to write a policy for it. 

1st problem: I don't have the proper package to create policies and install them. A little research and I find I need "selinux-policy-devel". 


$ yum install selinux-policy-devel

2nd Problem: While I'm familiar with Type Enforcement, I have no idea what rights to give each application. The only way I know of finding out what rights each app needs is to run it, and see what audit errors pop up in the log.

3rd problem: I'm not used to the syntax of the policy files, or the various types and classes that I need to use to grant the exact access I need. 

After a few hours work: I mostly configured ONE application. This is going to be a long project…

Music I'm listening to right Now:
"Midnight Show" by The Killers from the "Hot Fuss"

Yard Work

YardIt’s that time of year again to do yard work. This year, I’m trying something a little different. The photo to the right show blue green stuff all over my yard. That’s “Scotts® PatchMaster® Sun & Shade Mix” which is Grass seed with fertilizer and recycled paper as a mulch. It’s a simple idea: Any places that need patching, rake the dirt, put this down on it and watter for a few weeks.

In actuality, It’s a lot of work. My backyard lawn is better than last year, but that’s not saying too much. Since the Mrs. and I like to occasionally entertain with a BBQ, I figured I better do something about it. The Patch mix has to be watered every day for at least a couple of weeks in order to get it to take. When the grass is thick enough, the paper should be absorbed into the ground.

In the mean time. it looks really weird…



I’ve also planted vegetables again. This year:

  • 9 broccoli plants
  • 2 sweet basil plants
  • 2 Greek oregano plants
  • 1 cherry tomato plant
  • 2 rows of Mesclun mixed salad
  • 1 row of regular lettuce
  • 1 Strawberry plant

Should be good when done. This photo is just opposite the one above.

Music I’m listening to right Now:
Counting The Days” by Collective Soul from the “Youth” Album.

Thor is dead, Long Live Thor!

Dell XPS T600"Thor" being the host name of my server. What an educational rebuild that was, I really should document rebuilding the server as this is the third time I've done it in a year and a half.

Long story short: I dug up an old Dell Pentium 3 and sank a SATA HD and host adapter in it.  That was the easy part as rebuilding the web server to support my needs was a bit of a chore. Each time I've done this it was with a different version of the DB, PHP, Apache and the OS as well. Naturally, I've never fully documented it….

Slight Update: Other FW products spoil me silly; IPTABLES is a *pain* to configure.

Music I'm listening to right Now:
"Big Bang Baby" by Stone Temple Pilots from the "Tiny Music…Songs From The Vatican Gift Shop" Album. It seemed apropos…

Bad timing…

Proliant Naturally, after I painlessly finish an upgrade of Movable Type, I wake up this morning to my server making a horrible noise from it's power supply. I could replace it, but the power supply probably cost more than I paid for the server in the first place. I'm thinking of using an old PC, but frankly, I like that the disk is a RAID array and the PC isn't equipped for RAID.

With any luck I'll price out the power supply to something acceptable or, open the Power supply and replace the Fan. As it has high voltage capacitors in it, I'm not looking forward to that option. With any luck, I'll find an old Proliant 5000 chassis on Ebay. Another idea I'm bouncing around is to make a Drive array from the PC, put in a copper Gigabit card into the PC and server for a Home made NAS device.

This might actually be an oportunity as I've been meaning to move it out of my office and into my basement. In the mean time, I'm backing up everything to GZiped TAR files and using SCP to get it onto my PC.

As a reference to myself, the TAR command in question is:
$ tar -gzip -v -c -f webserver.tgz ./*

I seem to forget that every time I need it. After I post this, I'll backup the DB again.

 

Music I'm listening to right Now:
"Into The Ocean" by Blue October from the "Foiled" Album.