Illusory Follies Sed quis debuget ipsos debugatores?

9Aug/100

Where Did Summer Go?

Ahh... My last post was ages ago. Lots has happened. Most of the family events have been duly recorded on our Family Blog.

I've been doing more biking, more work for the new business (especially system administration type stuff), lots of new exploration in C#, particularly in the ASP.NET MVC world, lots of time with boys who are growing up at an alarming rate, some time away with family in Iowa, as well as just the Wife and I in Victoria, B.C. for our anniversary.

I've been thinking about:

  • Writing a time tracking system for use internally with the new business. Some of the initial code is written in Ruby on Rails as well as some design docs -- oh, and a name: "Tempus Fugit".
  • Getting an irrigation system in place for the yard (plus some of those automatic hanging basket watering tubes if I can figure it out)
  • Updating my favorite online bookmark system (Scuttle) with some more modern features. Development seems dead on it and I'm thinking of forking it and moving in a slightly different direction.
  • Learning more about taxes, finances, and Quickbooks in order to do a better job with the company accounting.
  • Starting in on a new programming language -- I still haven't decided which but I feel like I'm getting complacent with C# (and some C/C++). Your ideas/recommendations are welcome!
  • Catching up on some cleanup projects around the yard (landscaping lighting needs some help in the back, Windsor block border around a bit more of the backyard, possible door in the back of the garage to the backyard, more top soil and reseeding of back yard)
  • Posting more to my blog. Fat chance.
2Apr/100

To Christ on Golgotha

We're singing this piece for the Good Friday service tonight and I couldn't find the music online for it. It's a nice piece -- I hope it gets more attention. This is from the Zions Harfe (Zion's Harp) hymnal used by the Apostolic Christian Church.

An MP3 version of the MIDI file:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Update: Our actual performance (just verse 3):

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

To Christ on Golgotha (MIDI file -- please redistribute this!)

To Christ on Golgotha,
My spirit fain would go
To Ponder on His words
and His exceeding woe.

What pain unspeakable,
in this great cry we see
"My God, My God, oh why
hast thou forsaken me?"

No Vengeance in His heart,
I hear Him plead, anew,
"Dear Father, pray forgive;
they know not what they do."

His mother weepeth sore,
He comforteth her now;
"Behold in John thy son",
"O John, thy mother know."

"I thirst," He crieth then;
There's no affliction thus,
Which He, the friend of man,
Has not endured for us.

He, "It is finished," cries.
And bows His head, The End,
"Oh Father, to thy hands,
My Spirit I commend."

Tagged as: , No Comments
9Feb/100

Versioning for S3

I just got this notice in my email:

We are pleased to announce the availability of the Versioning feature for beta use across all of our Amazon S3 Regions. Versioning allows you to preserve, retrieve, and restore every version of every object in an Amazon S3 bucket. Once you enable Versioning for a bucket, Amazon S3 preserves existing objects any time you perform a PUT, POST, COPY, or DELETE operation on them. By default, GET requests will retrieve the most recently written version. Older versions of an overwritten or deleted object can be retrieved by specifying a version in the request.

Amazon S3 provides customers with a highly durable storage infrastructure. Versioning offers an additional level of protection by providing a means of recovery when customers accidentally overwrite or delete objects. This allows you to easily recover from unintended user actions and application failures. You can also use Versioning for data retention and archiving.

This is some slick stuff. I'm amazed... I just wish I had more time to play with it. For now, Amazon continues to impress.

Tagged as: , No Comments
19Jan/100

Price Tracking

Price tracking can be confusing online. Retailers  like Amazon and Newegg (two that I buy from frequently) seem to sometimes change their prices daily. One expects prices to drop over time but this doesn't always happen. I was surprised to find that prices for Solid-State Hard Drives have actually been rising recently (although the real deals appear to have been back in October/November). Thankfully there are some tools that can help. One of them is the Camelizer -- a Firefox plugin. Alternatively, you can access the same data at the website camelcamelcamel.com (for Amazon) and camelegg (for Newegg). The same group also tracks prices at BackCountry, Best Buy, OverStock.com, and Zzounds,

Here's an example of one of the SSD's that I'm interested in:

In this digital age it's nice to have something that keeps some history around. It's easy to get information these days but it's always easy to change information (which is why I'm also a big fan of the WayBackMachine -- check out the original Google page!) We don't keep coupons, flyers, or catalogs anymore, we just remember the website.

Anyone experience this sort of problem?

31Dec/092

Office Setup

I seem to remember talking about this already but I've further upgraded my man-cave to new levels of geekiness. I know have two 26" screens that I've wall mounted just above my desk (keeps them in the same position regardless of all the clutter on my desk.)

Currently I'm running OS X on my right screen and Windows 7 on the left. I use Synergy to share mouse/keyboard commands so it feels like one continuous background. I'm mostly using OS X still but the new machine has 6GB of RAM which gives a lot of breathing space if the Mac gets bogged down.

What I'd like to do is switch out my aging Logitech system with two simple monitor speakers -- I still haven't decided what make/model to get but they have good stuff for pretty cheap. I'll plan on mounting these on a small shelf along with all the hard drives and accessories that I have. If that all works, I could simply get rid of the desk and bring the leather chair from downstairs. Should be a nice setup.

I have visions of punching a hole behind the monitors and making an in-wall rack that I can use to store my rather large 4U case. The wall there backs into the garage rafters and there's quite a bit of room. Ventilation and cooling would be an issue but I'm sure I can come up with something that works well.

What's your work/play area set up like? I'll post any pictures I receive...

30Dec/092

Ice and Keeping Warm

We've been having some icy weather of late. The frosts have been beautiful -- much heavier than usual. Some of these last few days have just been gorgeous. Cold, crisp, but wonderfully clear!

Most of the plants are holding up well. With the exception of the new maple sapling and the new rhodedendron which our new puppy Jack 2.0 has decided to eat. I think they're goners.

In order to keep Jack warm, I made a dog house. The design is pretty simple, should be big enough for him even when he's full-grown and as a plus, it's insulated. It's not the prettiest thing inside but my woodworking skills are pretty rudimentary. I did get a new DeWalt Jigsaw (which works great). I was amazed by just how much this thing weighed... It's heavy enough that I really need a hand-cart to move it around. I suppose that's good -- the boys and the dog won't be able to move it around. The walls are about 2 inches thick -- outer hardi-plank, 1" foam insulation, and 1/2" plywood sheathing inside. I was able to use a lot of scraps that I had. I think the total cost was under $100.

I made it to match the house so at least it fits in nicely with the yard. The roof is done pretty poorly. I actually have enough to put on a second layer of shingles (which would probably help keep it dry) but I got lazy and decided to wait and see what Jack does to this before moving on.

Tagged as: , 2 Comments
3Dec/090

Google Public DNS

network wiringGoogle today announced that they're providing a high-performance public DNS server. This sounds like a great idea from a performance perspective ... I've not had too many complaints with my DNS servers provided by Comcast but I've definitely had some issues at my work with slow/non-responsive DNS servers.

However, I suppose this is just one more thing that can go wrong. Now there's one BIG target to attack and if someone happens to poison the cache, we're all in a world of hurt.

I do plan on updating my home router though to start using this. I'll post a follow-up with my review.

From: Official Google Blog: Introducing Google Public DNS.

Update: They're definitely taking security very seriously. Some more info can be found here that's quite helpful.

Tagged as: , , No Comments
2Dec/092

Types of People

Found this in some notes from a while back (I believe it was at a series of classes at Faith):

VRP - Very Resourceful People
These people IGNITE Spiritual Passion (Mentors)

VIP - Very Important People
These people SHARE Spiritual Passion (Peers)

VTP - Very Trainable People
These people CATCH Spiritual Passion (Proteges)

VNP - Very Nice People
These people ENJOY Spiritual Passion

VDP - Very Draining People
These people SAP Spiritual Passion

(If someone knows the source I'll post it -- I can't remember)

30Mar/090

C++ from Python

I was impressed today to see how easy it was to call a C++ DLL from Python. I got the following information from another site:

1. Create a file called dlltest.cpp and write a function that sums two numbers and returns the result:

      //dlltest.cpp
      #define DLLEXPORT extern "C" __declspec(dllexport)
 
      DLLEXPORT int sum(int a, int b) {
          return a + b;
      }

The extern "C" construct tells the compiler that the function is a C function. It also removes the decorations from the functions names in the DLL.
__declspec(dllexport) adds the export directive to the object file so you do not need to use a .def file.
2. Include the header of the function in dlltest.h:

      //dlltest.h
      int sum(int, int);

3. Create a new Dinamic-Link Library project and include the two files, compile, and create the DLL.
4. You can now use Dependency Walker to see the list of the exported functions. You should see here the sum function.
5. Move the DLL in the Python folder or use

      >>> import sys
      >>> sys.path.append(r"C:\path\of\dll")

to include the DLL folder in the list of Python folders.

6. Use the ctypes module to access the DLL:

      >>> from ctypes import *
      >>>mydll = cdll.dlltest
      >>> mydll

Note: ctype module is already included from Python 2.5. If you are using an older version you can download ctypes here.
7. Now call the function:

      >>> sum = mydll.sum
      >>> sum
      <_FuncPtr object at 0x0097DBE8>
      >>> sum(5, 3)
      8

Reposted from here... (Thanks!)

I need to get into Python more -- I've used Ruby a bit but have tended to ignore Python simply because I've not seen it is needed. Evidently, I need more side projects.

26Mar/093

Non-Conventional Advertising

Sandwich sign by CE NelsonTo get in and out of town I must traverse about 2 miles of very built-up, very trafficky, retail- and service-dotted roadway. I was surprised to see over the last few years how often stores are using real, live humans as "flaggers" holding signs for their businesses or for special offers. Sure it's less creepy than dead people holding up signs, but my gut-instinct was that it would cost too much to pay someone and that the impact on sales would be minimal. Apparently my gut is wrong. According to this article I learned three things I'm surprised by:

  • This is a competitive position
  • People are fine with $7.50/hr for this work
  • It can have a dramatic effect on sales

Don't get me wrong, money is money and I know that people will do all sorts of things. I just think it would be miserable work. Time would pass slowly as you stand in the cold with maybe a slight drizzle coming down. Cars beeping, bikes almost hitting you. Bleh... I'd much prefer the McDonald's job. On the bright side it takes no skill, you can probably listen to music and daydream.

On the other hand, I'm surprised that this really helps business. I can see how it may make some people aware of businesses that are squirreled away in strip malls. I guess I'm not part of the demographic who even uses strip-mall businesses for much of anything so perhaps I'm no more inclined to visit them whether they're having a special or not.

I don't know what my blog readers think, but I'm surprised. Any opinions? Any experience being influenced by or being a flagger?

Thanks to the Business Opportunities Weblog for the link...