Saturday, February 13, 2016

First Dark-Sky Photo! May have a new Hobby!

After reading a little bit following a few frustrating attempts at dark-sky photography, I think I might just have a new hobby!

Actually came out better than I thought it would.  Orion, Gemini, Cancer and Canis Major are all obvious.  The star cluster M44 is easy to see and with a little squinting, M67 is there. 

Some fine tuning is still necessary - the focus is still not as sharp as I would like and less trees would be nice.  Our backyard is an OK spot for now.  Getting the focus properly set and fine tuning a few other things just might let me see some decent objects down to 7+ magnitude or maybe even more dim! 

Photo date/time: 2016-02-12 at about 2248 Central Time. 
Camera: Canon Rebel T3
Lens: EF-S18-55mm f3.5-5.6 IS II
Focal Length: 18mm
ISO: 1600
Aperture: 4.0
Exposure: 25 seconds
Tripod: Super cheap (and I mean CHEAP) Targus from Walmart.

What is my goal?  I want to see meteors!!! 

Astrophotography - might just be a cool little hobby!

Monday, February 8, 2016

Adventures with a free PC and Linux

Many people do it...  In many parts of the world, dumpster diving is a profitable undertaking.  As a matter of fact, I knew someone in Los Angeles years ago who made some nice cash by simply checking out local dumpsters, cleaning her finds and selling them on Craig's List and E-bay.  Most of her finds were clothes, fashion items and artsy collectibles.  Me???  Back in my college days I could regularly be found snooping around dumpsters for electronics items.  Some of my best finds from years ago include an oscilloscope, several televisions and a shortwave radio receiver.

Well, even now when I see something interesting in the garbage, I simply can't help myself.  A few weeks ago my wife and I were driving to the local grocery store.  In the parking lot of the grocery store is the local community dumpster where people occasionally toss their unneeded electronic items.  The local waste disposal company hands that stuff off to an electronics recycling company...  Unless someone gets it first.  On that rainy cold January day I grabbed a soaked Dell Dimension E310, Dell monitor and an Epson printer.

"Sure, honey!  I bet I can get that stuff to work!"   She just looked at me sideways, smirked and nodded her head.

After a few weeks of drying, I cleaned everything up, applied electrical power and SHAZAM - up popped a Windows XP logo.  She Works!!!

Sort-of...  The installation of XP was messed up; likely due to malware.  It was SLOW, booted erratically and generally did not behave like a healthy computer.  What to do...  My wife wanted a computer to browse the internet and handle email; basically something to replace her laptop until we can afford a replacement laptop.  Me; well, I would like a separate computer to let me brush up on C.

This computer fit the bill.  It only has an 80GB hard drive, 512 MB RAM with an Intel Pentium 4 processor running at 2.8 GHz, but that should be able to handle these undemanding tasks, right?  Well...  It depends.

I didn't want to waste time repairing and/or reinstalling Windows XP, so I decided to install Linux. My first two choices were Ubuntu and Debian.  This wasn't because they were especially fast or known for performing well on older, under powered machines.  These were selected because they were mainstream distributions and...  I already had installation ISOs on my work computer from a previous project.

First up...  Ubuntu.

I burnt the Ubuntu 14.04.03 installation ISO to a flash drive and installed it flawlessly, albeit slowly to the Dell.  After install, the little TP-Link WiFi USB dongel worked easily.  Basically, the install worked but was SLOOOWWWW.  I was not used to the Ubuntu desktop and honestly is was not intuitive for me to navigate.  Where is the control panel?  The settings?  Fading windows and sliding controls aren't necessary here.  How the hell do I shut them off???

There was no desire in my blood to google every little question I might have about this installation.

So, not happy with the interface and performance provided by the default Ubuntu installation, I decided to try Debian Jessie (8.3.0).

Quick lesson here - when using the Universal USB Installer program from pendrivelinux.com, remember to format the flash drive before copying a new installation ISO over a previously copied installation ISO.  Not doing so caused all sorts of problems.  Debian wouldn't install and regularly complained about a missing kernal image or problems installing GRUB.  Subsequently trying the Ubuntu install caused both installs to get tangled; I saw some Debian install options on Ubuntu reinstall attempts!

At any rate, after finally, successfully installing Debian with the XFCE desktop,  all was almost good.   Performance was decent and XFCE navigation was intuitive and complete.  Supposedly my little TP-Link USB dongel should have worked but didn't.  So, after a little research I downloaded, built and installed a new driver and...  drum roll please...  After spending only $15 for power and VGA cables and a lazy Sunday afternoon, my wife has a temporary computer and I have something to mess around with and brush up on my C... with operational TP-Link WiFi.

Hurray for dumpster diving.!!!

Friday, February 5, 2016

Photography - Just a Little Hobby

Ham radio, shortwave radio, electronics, motorcycles...  These are all things that have faded from my life over the last ten years or so.  Occasionally this fact weighs heavily on my little inner kid; he just doesn't understand how avocations and interests in my life tend to be cyclical.  In the mid to late 80's I was active in amateur radio and electronics; then again in the late 90's and once again in the mid 2000's.

In the late 2000's motorcycles and motorcycle repair were very important activities.  One might say they were vital activities in my odd little world back then.  Not only did I nearly completely restore a vintage Suzuki VX800 but I rode across the county solo, not once but twice.  Memories of my motorcycle past are a bit melancholy at times.
BUUUUTTTT....  An old interest is rising again and I like it; photography.

Specifically, I enjoy making landscape and agricultural photos.  There is just something fulfilling about recording a certain moment in time.  When the moment and light and camera settings are just right and the shutter snaps, honestly, I get goosebumps.

Standby - new photo website coming soon.  :-)

Thursday, February 4, 2016

The 4400 - An Old Review by a Crazy Old programmer

Some couples go out at night after work for a few drinks.  Some go out dancing.  Some like plays or theater.  Others enjoy participating in sports.  Some like to go mudding in big 4x4 pickups.  Others enjoy riding together down quiet stretches of highway on two wheels; we certainly shared a few blissful motorcycle miles.

Unfortunately fate, the bitter harsh bitch that she can be, narrowed our pool of potential shared activities significantly.  That, however, just means a life adjustment.  Rather than go out of the house to participate in some activity; we stay indoors for the most part.   And, what do we frequently do???  Binge watch television shows.

Last month my wife found this show, The 4400 on Netflix and we decided to watch it.  So, one night after the next, weeks on end we watched The 4400 from beginning to end.  And the review???

Well, it's no Breaking Bad, however it was worthy of binge watching.  The 4400 series begins with 4400 abductees being returned to Earth all at once on the shore of a Washington State lake, out of a giant ball of light.  Over the course of the next 43 episodes we watch as some of these 4400 people re-integrate into society.  Consider two important facts about these folks... 1) They didn't age a day from when they were abducted;  2) They all have special 'abilities'.  So an abductee from 1977 wouldn't have aged.  If the person was 25 years old in 1977, they were 25 years old when they returned.  And...  the abilities...  One of the main characters can heal, one has telekinesis, one can take away 'abilities'...  The list goes on...

Add in a shake of government conspiracy, societal unrest, little science fiction, little tiny amount of mystery and romance and there it is...  The 4400.  Really, to me this program appears to be a thinly veiled mish-mash of Heros with The X-Files.  Even though The 4400 was aired before Heros, the former seems more stiff and less engaging.  For me, Heros was more entertaining, engaging and enjoyable; it even seemed more original.

So, if you like Heroes or The X-Files, you just might like watching The 4400.

Tuesday, January 19, 2016

More than 110M People have already upgraded...

WOW!!!  According to the "ad-ware" pop-up message that seems to appear more and more frequently on my computers, more than 110 million people have upgraded to Windows 10...  and for FREE, none the less!!!

Did they do it on purpose?  Or...  did these people really look at what they were getting?

On a slight tangent...  Apparently in recent history an incorrect assumption was made somewhere in my cerebral cortex...  I assumed Windows was NOT "ad-ware".  I thought this was commercial software that was to be free from advertisements.  Oh, sure...  This COULD be construed as simply being a somewhat irritating upgrade message.  More that somewhat irritating at times perhaps.

And why would the tagline "More than 110 M people have already upgraded..." be a motivating factor for myself, a computing professional, to switch operating systems?  I am a critical thinker (most of the time),  and, as I get older, am gaining a slight disdain for rapid change.  Not long ago Windows XP was phased out.  Now...  I am being brow-beaten to upgrade my Windows 7 machines to Windows 10?

Seriously, 110 million people...  Let me see...


  • According to the Society of Thoracic Surgeons, about 1.1 billion people smoke cigarettes.
  • According to the Huffington Post, 70% of all men in the US, and 30% of all Women watch pornography.  That calculates to about 153 million people in the US.
  • According to About.com, there have been 700 million iPhones sold throughout the world.

No...  Number one, I am not going to take up smoking; Number two, porn is boring and I get more action that I can handle from my better half; and Number three, I like my Android phone.

And...  No, I am not upgrading to Windows 10 until I absolutely MUST.  Now...  Buzz Off, Microsoft!

**Microsoft, Windows, iPhone (etc...) are all owned by their respective owners...  I don't want them.

Friday, November 6, 2015

C# Background Workers Using Shared Memory

It doesn't happen often in my particular coding shop, but once in a rare while the requirement for different threads in a program to use a shared memory variable rears it's head.  It really isn't difficult to handle this requirement in C#; actually, it is surprisingly easy if you are careful to avoid deadlock situations,

The key to this solution is a simple static class:

using System;
using System.Collections.Generic;
using System.Text;

namespace ThreadCom
{
    static class StaticShare
    {
        public static object MsgLock = new object(); // Functions as a lock when accessing Messages.
        public static string Messages = ""; // This is what is shared and used in all threads of this sample program.
    }
}

Basically, this snippet of C# code creates a static class with two public properties: MsgLock and Messages.  MsgLock is used to control access to Messages; a string that contains the data shared among the different threads.  Remember, performance is important; keep the shared static variable terse and small.

Here is how a thread (specifically a BackgroundWorker) might use the StaticShare class to lock, access and change the shared data without causing noticeable contention or throwing exceptions:

                lock (StaticShare.MsgLock)
                {
                    ReportProgress(0, "From " + BWName + " -> " + StaticShare.Messages);
                    StaticShare.Messages = BWName + " current time: " + DateTime.Now.ToString();
                }

The first line locks MsgLock, or causes the thread to wait until another thread's lock is released.  The ReportProgress() line is a method belonging to a BackgroundWorker, that line, in this case is accessing our shared variable Messages.  The last line in the Lock() block assigns something to the shared variable.

One big caveat here...  Make the code within the lock() block short, concise, to the point and fast.  If the code there is time-consuming or performs poorly, the lock() could cause other threads to be blocked.

Remember...  thread blocking is not cool!

You can download the entire c# project from my Google Drive here.  Standard code disclaimer: This code is for education, information and perhaps a few laughs.  It may not be perfect but does demonstrate a valid implementation of using shared storage with a multi-threaded C# application.

-whew-

Tuesday, October 27, 2015

Goodbye Facebook

Yup...  See ya later.  Apparently the fine folks at the world's most prominent social media site don't believe I am who I say I am.  Fifteen years ago, if Facebook was around, I wouldn't have blamed them one bit for being a bit suspiscious; but now???  I am ME...  really!

But not according to Facebook.  Here's what their little help page shows me...

Why was my account disabled?

Your account was disabled for violating the Facebook Terms.

Our Policies

  • Your account must list your authentic name.
  • Personal accounts must represent individual people only. It's a violation of our policies to use a personal profile to represent anything other than yourself (ex: celebrities, pets, ideas, objects, etc.).
  • Impersonating anyone or anything is not allowed.
  • Maintaining multiple accounts is a violation of our policies.
  • Accounts created for the purpose of spamming or harassing others are strictly prohibited.
(The above is from the page at https://www.facebook.com/help/245058342280723)
Well... My name on Facebook was not EXACTLY my authentic name but close.  I mean, really...  how many people use their 'authentic name' on most internet sites?  Are they saying a person with a name like 'Josephina Hope-Rosetta Kellerman-Patrinskia' must use that exact name on Facebook?  Wouldn't 'Jose Kellerman' work just as fine, so long as the person isn't trying to be deceptive?

"Personal accounts must represent individual people," they state.  What about this profile? https://www.facebook.com/phillip.cat.31

My only activities over the last year have included interacting with my daughters and one or two friends.  How often?  Hell, I only logged onto Facebook maybe once a week.  Real life is where the fun is happening!

At any rate, now the fine folks at Facebook, according to the information at (https://www.facebook.com/help/contact/183000765122339) want me to scan and upload a government ID that contains my name and date of birth or name and a photo, or two non-governmental IDs that contain my name and date of birth or name and a photo, or some combination of different IDs...  Honestly, I didn't read much past the first two options.

Sure, they do state that things like Social Security Numbers, credit card numbers, etc...  should be covered up, blurred or otherwise obscured.

Still...  Facebook...  You just aren't that important.