We printed up 20,000 raffle tickets to help with this years festival. It's the same amount every year and has the potential to raise as much money as the rest of the festival combined. Last year we lost money on the raffle. The wife and I picked up responsibility for the festival late in the year and couldn't get the tickets printed and distributed before school let out. This year we got on it early and started the process two full months before the end of the school year. The wife and I purchased envelopes and printed up flyers explaining the importance of the raffle tickets. We also got approval from the principal to throw a pizza party for the homeroom that sold the most tickets. All at our own expense. Not that it will break us or anything but I just want it to be clear that we are dedicated to the effort. The wife and I then sat down on the floor one night and spent four hours separating 7500 tickets into groups of 25 which we then stuffed into 300 envelopes along with the afore mentioned flyer. The wife dropped them off at the school the next morning for distribution to each of the families. Friday was the deadline for turning in the tickets. Five families returned a total of 125 tickets. We still need to distribute the remaining tickets to the parish as well as sell them at the festival itself, but it is very discouraging to think that we are going to spend more on the pizza party than the entire school managed to make selling the tickets in the first place. Which brings me to my first "What do I do now" question. At this rate it is unlikely that we will sell enough tickets to even cover the cost of the prizes, setting us up for another loss on the raffle. Currently we are debating on wether or not we should load our kids along with the kids from one or two other families who are equally over-extended in volunteer hours, into the car and start heading door to door hawking raffle tickets in an effort to at least make enough to cover costs. Once again proving that the majority is supported by an over-extended minority, a pattern I'm seeing more often and in more places than I think is supportable. On a completely different note; check out the site http://www.worldometers.info/ It has running counts of some interesting world stats. I'd also like to report on my ongoing battle with creating a PVR from my old laptop. First off, my old laptop is a Sony Vaio. It has a docking station complete with a TV turner. It came with XP and a few third party media tools. I was trying to decide between Vista and one of the MythTV distros. Also of note, the DVD drive is broken (welcome to the Sanford and Son lab). I decided to start with Vista. Installed it and realized it wouldn't recognize my TV tuner card. Also it dragged the system to its knees. Add in DRM and limited support for content from the Internet (ie. RSS feeds, Hulu, etc...) and Vista turns out to be a complete waste of time. It's pretty, but it's shit. So on to MythBuntu, only one little problem, while the Sony has a bios setting to boot from an external device, it won't recognize an external DVD drive. Also, it won't recognize a bootable USB pen drive. I do have a 3.5" external floppy which it seems to be able to boot from and I can get DSL up by booting GRUB from the floppy and then installing via a USB, but can't seem to get the same thing to work for MythBuntu. The MythBuntu boot floppy doesn't seem to recognize the USB or external DVD. So I've now wasted hours of my time trying to install MythBuntu from pieces and parts I have laying around. Oh yeah, I can't recover XP on the laptop either because of something that Vista screwed with, even if I bypass the POS boot loader that Vista installs, the recovery fails with a BSOD. I think my next step is to try and blow away the entire Vista partition and install DSL then see if I can figure out how to build a boot disk for some variety of MythTV... maybe a Knoppix distro? That brings my count of MS Windows OSes down to one. I have XP 64 running on one machine and Linux running all of my other machines. Just to add to my bitch blog, the Zune software does not support XP 64, so I've now also rendered my Zune useless. It looks like I'll have to set up a VM whose soul purpose will be to keep my Zune updated. As always there is a lot more going on in my life but no one wants to hear me whine about it, just needed a virtual ear to bend for a few minutes. Now that I'm done, I promise not to drone on too often about my boring life ;-} TTFN
Over the past couple of days I've spent my free brain cycles trying to wrap my head around the various implementations of persistent multidimensional sparse arrays which seem to have cropped up recently. In particular I've been focusing in on Amazon's SimpleDB service, and I have to say that the mind shift from an RDBMS mentality has been a bit difficult. The underlining concept is pretty straight forward and is something most low-level developers have used at one point in their life or another. Basically it boils down to a multidimensional sparse array that can be persisted, queried and retrieved. A rough translation of SimpleDB terms to RDBMS would be | SimpleDB | RDBMS | | Domain | Schema | | Table | Table | | Row | Row | | Column | Column | | Attribute | Column Value(s) | While at first glance it seems like a reasonable one-to-one mapping there are some very important differences. First of the columns for one row may not be the same as the columns for another row. This is where the "sparse" part comes in. If a column doesn't have an attribute then that column doesn't exist in the row. This also allows for columns to be easily added on the fly. The next significant difference is that an attribute can be comprised of multiple values. Unlike an RDBMS where multiple values for a given column are stored in multiple rows, in SimpleDB a single row may have a single column with dozens of values. Once you wrap your head around this it makes sense and you realize the value of this approach. Where the difficulty comes in is trying to picture how this would be used in a real world application. I have an active project I'm currently working on (active = touched in the past 30 days) which is basically Yet Another Social Network. It's comprised of Users, Posts, Comments and Grouping information. In an RDBMS these would loosely translate into tables which would relate to each other through a set of mapping tables. Those tables could then be queried using the standard JOIN nomenclature to do things like retrieve the list of Comments for a Post and the Users who authored each of them. In the SimpleDB world things work a little differently. First off it's not a good idea to store "large" objects in the DB. Instead it is better to store the large objects on something more akin to a file system (aka: S3). So in this example instead of storing the actual Post or Comment in the DB, each would be stored in a separate file in an S3 bucket. What would be stored in the DB would be the information you would want to search and information about the relationships of the various files. With my current thinking that looks like a single domain/table that looks minimally like the following: An example of how the data would then appear would be: | Post | User | Group | Comment | | Post1.html | User1.xml | Group1.txt | Comment1.html, Comment2.html, Comment3.html | | Post2.html | User1.xml | Group1.txt | Comment5.html | | Post3.html | User2.xml | Group1.txt | | In order to pull out the list of comments for a given post we have to query the data for the post and then retrieve each of the attribute values for the Comment column. We would then retrieve the Post file and each of the subsequent Comment files as indicated by the attributes values. Each of the comment files would contain the User which submitted the comment and the associated User files would then need to be retrieved. Now you're saying to yourself "This seems like a lot of work for something that could be done via a single query in an RDBMS. What's the deal?" Here's my take on it: - I may not have my head wrapped around it well enough yet and may be going about it all wrong.
- Since the DB is distributed and the file system is distributed reliability and scalability are very high.
- Moving the semi-static data out of the DB makes it very easy to integrate into a CDN greatly boosting delivery speed.
- It's good to think about different solutions to a problem.
Barring extremely high demand I'm not yet convinced that this is a better solution than a few tables in a SQLServer but I'm willing to give it a try in the name of education. Besides, you can't recommend something without trying it out first and where better to do that than a non-critical side project ;-} TTFN
I was reminded of an old idea today and since I had a couple of hours tonight I decided to kick the the tires on it in lieu of doing any thing that could be misconstrued as useful work. Today's discussion went something like "Wouldn't it be neat if you could output trace information the way a commentator calls a football game?" I envisioned this sounding something like "Good day folks! It's a balmy 42 here in beautiful downtown Pittsburgh Pennsylvania where we are getting ready for the opening constructor of HelloWorld. Statics have all been declared and initialized and here goes the opening main...." Obviously I was trying to distract myself so as not to kill our "DBA" While something like that would be kinda fun to write, it really doesn't serve a whole lot of purpose. Even a text-to-speech trace listener would only be moderately useful in most situations although could prove to have some reasonable value. The thought I had some time back was geared more toward documentation. Why in this time of YouTube and iPods are developers still putting all of their comments in plain text or worse yet markup? Wouldn't it be nice to add multi-media comments to your source? Maybe a picture of the whiteboard discussion that lead to a particular implementation or perhaps a short video of the process you're trying to improve. At the very least a quick audio comment that could explain in seconds what might take several minutes to explain with text. Since I didn't feel like fighting the CSS battles tonight I spent the last two hours investigating what it would take to implement multi-media comments into VS and much to my surprise discovered that it is really easy! Using VS2008 I simply created an extensibility project, found code for a simple audio recorder / player on CodePlex, did a little bit of piss poor programming and Viola! I can record and playback audio comments. Now I'd like to point you at a nice zip file that you could download and install the add-in yourself but alas, it was just a proof of concept and nothing I'd unleash on anyone, but it did prove that a couple of days worth of work could yield a fairly nice new utility that could potentially ad a dimension or two to the way people develop code. Plus it gave me something to blog about that didn't involve fantasies of cars running down sk8r boys screaming "NativeKey varchar(50) is not gay!" TTFN
I was planning on doing a whole thing on a couple of sites that I just discovered today through Jason Kolb's blog JasonKolb.com (which BTW if you're not reading, you should be. This guy is very bright and has great insight). The thing is it's after 1:00 am and I just finished stuffing 7500 raffle tickets into envelopes for the festival. My fingers hurt and I'm tired and I just don't feel like it right now so I'm going to mail this one in. The first of the two sites is Jott.com. It's a free phone service that allows you to leave messages to a list of contacts you setup. After you sign up you tell Jott your phone number. You then call a 866 number where Jott identifies you via caller ID. You then give it the name of the contact you which to jott a message to and a subsequent message. The Jott service then translates your voice message to text and sends an email to that contact with the translated message. Pretty cool. The second site is IWantSandy.com. This is a virtual personal assistant that keeps track of appointments, reminders, todo lists etc.. It's a nice little site that allows you to enter appointments in a natural way ie. "Remind me to meet Fred for lunch at 3 on Tuesday" Sandy translates that text and adds an appointment to your calendar with optional reminders. Sandy also provides the ability to export that calendar via an ICS file so you can link it to your Google calendar. Each of the sites is useful and pretty cool on their own, but put the two together and WOW! So I setup Jott as a speed dial on my cell phone. Now I press 6, tell Jott I want to Jott a message to Sandy (which I added as a contact in Jott) and then say "Remind me to meet Fred for lunch at 3 on Tuesday" Jott translates the speech to text and emails it to Sandy who deciphers the message and adds the appointment to my Sandy calendar which is linked to my Google calendar and presto! We just went from pretty cool to WAY COOL! And if you're a twitter fan, just ad Twitter to your Jott contacts and voice your tweets. Or maybe write a service to control your X10 home automation or schedule reservations at a nearby restaurant or help you count calories or purchase a book from Amazon or add a new contact for someone you've just met or..... Anyhow, very cool. One last note, USuxBallz is going to have a temporary home on BayWords for the time being. It's a stop gap and it's not quite setup yet (something else I was planning on doing tonight but just don't have the energy right now). For now there isn't a mechanism to post new ball suckers so if you have someone who deserves to be added, just send the info to USuxBallz@Gmail.com and we'll take it from there ;-} TTFN
Not going to go in depth on any of these but just thought I'd pass them along to any who care: - http://www.ponoko.com/
- Create your own designs and send them to ponoko to be cut. This is very cool and I think has a whole lot of potential for anyone with a creative bend but limited access to tools. I would think custom games, puzzles, cases, artwork, picture frames, one of a kind presents etc... would be huge. I could also see this being hooked into an app that would allow you to customize existing designs by adding text and images. For example, I could how you could design a jewelry box and allow someone to upload a picture and enter a name or inscription that you embed into the design for a one of the kind personalized gift.
- http://baywords.com
- The Pirate Bay's blogging engine. Free speech has never been so free. I think I'm going to take advantage of this and create a naughty blog just for fun (and I'll never tell which one it is ;-})
- http://pmog.com
- The Passively Multi player Online Game. It's a Firefox add-on that turns the whole web into a game. I love the idea (partially because I had a very similar idea years ago), but the implementation is somewhat lacking at this point. The speed is atrociously slow and pretty much makes browsing useless while it's active but I'm hoping that's just the result of its newness and the initial traffic.
TTFN
Got my new switch in and setup and most of the house wired. Trying to decide between Vista Home and MythTV for my old laptop soon to be PVR. Re-learning CSS and AJAX with special focus on jQuery for a number of small sites I've been meaning to get up and running for the better part of a year now (first 2 out of the gate should be CollegeConfessions.com and USuxBallz.com) Starting major ramp up for the parish festival which the wife and I chair. In particular I'm trying to introduce a video game tournament but I'm having less than stellar success in getting everything together. Working on going back to being a full-time independant contractor. Now that I'm done having kids I've come to the conclusion that I simply don't like working for "The Man" anymore and my skill set lends itself more to solving problems than babysitting wannabe developers. Looking forward to getting through the next month with the kids. School, Soccer, Dance, Scouts all coming to an end. Unfortunately there will be many additional activities to take their place but at least it'll be a change of pace. Tossing around a format and theme for a Podcast. I've been interested in doing one since I first heard Dawn and Drew years ago. I've tossed around a number of ideas which I think are pretty good, but I'm closer now to the point of just doing something to break the paralysis. Continuing to blog... even when I don't really have anything useful to say ;-} TTFN
-
What Allman Brothers song did Bo Bice Perform on "American Idol"? C - Whipping Post (Free Cheese Flatbread) -
What was the winner's paycheck for the 2003 U.S. Open? B - $1,080,000 (Free 3 Piece Hash Browns) -
Where was Jake Gyllenhaal born? D - Los Angeles, California (Free Donut) -
Which Latin singer sang "The Star-Spangled Banner" at the 2007 De La Hoya-Mayweather bout? D - Marc Anthony (Free 3 Piece Hash Browns) -
Which "Full House" star toured with The Beach Boys? B - John Stamos (Free 3 Piece Hash Browns) -
What are the "Malcolm in the Middle" parent's names? A - Hal and Lois (Free Pepperoni Pizza) -
What was the favorite drink of Tom Cruise's character in "A Few Good Men"? D - Yoo-Hoo (Free Pepperoni Pizza) -
In 2006, Gabriela Sabatini achieved what honor in tennis? A - Tennis Hall of Fame Induction (Free Ham & Cheese Flatbread) -
Who is the mayor of Quahog on "Family Guy"? A - Adam West (Free 3 Piece Hash Browns) -
Who did the Oakland Raiders draft in the first round in 2006? B - Michael Huff (Free Ham & Cheese Flatbread) -
Johnny Damon played high school baseball with what Chicago White Sox? D - AJ Pierzynski (Free Donut) -
In baseball, What's meant by a "can of corn"? D - High Pop Fly Ball (Free Donut) -
What actor plays Andrew Brown in "Everwood"? D - Treat Williams (Free Donut) -
Which 1987 TV show starred Ed Asner as a school principal? A - The Bronx Zoo (Free Cheese Flatbread) -
In which "Rocky" movie does Rocky face a Russian boxer named Ivan Drago? D - IV (Free Cheese Flatbread) -
Before becoming a professional wrestler, Macho Man Randy Savage played what sport? B - Baseball (Free 3 Piece Hash Browns) -
Which rapper had the #1 movie and #1 album at the same time? D - Eminem (Free 3 Piece Hash Browns) -
On NBC's "My Name Is Earl" Earl discovers karma while watching what TV show? A - Last Call With Carson Daly (Free 3 Piece Hash Browns) -
Who joined AC/DC in 1994? D - Phil Rudd (Free Pepperoni Pizza) -
Where did Ryan Phillippe marry Reese Witherspoon? A - A plantation in South Carolina (Free Donut) -
In what city was rapper Ludacris born? B - Champaign (Free Donut) -
Which "Grey's Anatomy" star drove the pace car for the 2007 Indianapolis 500? A - Patrick Dempsey (Free 3 Piece Hash Browns) -
Which team did the Suns trade Joe Johnson to in 2005? C - Hawks (Free Donut) -
How many winds did Jose Contreras have in the 2005 postseason? B - 3 (Free Ham & Cheese Flatbread) -
In high school, Barry Bonds competed in baseball and which two other sports? C - Football and Basketball (Free Cheese Flatbread) -
Where was David Beckman born? B - Leytonstone, England (Free Donut) -
Which Elton John tune did The Beach Boys record in 1991? B - Daniel (Free Cheese Flatbread) -
How tall is Lindsay Lohan? C - 5'5" (Free Ham & Cheese Flatbread) -
What is Manny Ramirez's middle name? B - Aristides (Free 3 Piece Hash Browns) -
Who directed "Really Bites" in 1994? B - Ben Stiller (Free Donut) -
What actor plays Andrew Brown in "Everwood"? D - Treat Williams (Free Donut) -
Who released the hit "boulevard of Broken Dreams" in 2004? B - Green Day (Free Pepperoni Pizza) -
Luis Castillo had a hitting streak of how many games in 2002? A - 35 (Free Donut) -
In which year did Rick Pitino lead Louisville to a return to the Final Four after a 19-year absence? C - 2005 (Free Pepperoni Pizza) -
The World Series Trophy in 2004 consisted of 30 what? B - Pennant Flags (Free 3 Piece Hash Browns) -
Which of these hit songs was done by Clay Aiken? A - Solitaire (Free Cheese Flatbread)
TTFN
This is a fantastic synopsis and I just had to pass it on. TTFN
I worked at a Fortune 500 many years ago when "Quality" was the buzzword of the year. The company was serious about "Quality" and admirably, made all of the employees, contractors, consultants and even some of the vendors attend a number of Quality courses. At the time I was young and green and really excited to get my hands on this valuable bit of insight. After going through a few of the courses I began to get the feeling that I missed something. Everyone was walking around shouting about the Quality revolution and how eye-opening these courses had been and here I was still waiting for the BS portion to end... only it had. What I didn't realize beforehand but quickly came to grips with was the power of the modern day snake oil salesman. They are everywhere and although I hate to admit it, my wife buys into it. Being the loving and supporting husband that I am (please don't hurt yourself laughing) I will, on occasion, attend a seminar or read a book for her. Usually something along the lines of "Unleashing the Inner You" or "Selling from the Soul" or "How to be a Better Person" or something with an equally witty title. By now I've seen quite a bit of these themes and they seem to all run the same pattern. At the very core of all of them is some simple truth. In the Quality course it all boiled down to this: "Don't screw it up as you go and you won't have to fix it up at the end." The authors then take this small pearl of wisdom and enhance it with a few comedic stories to help drive the point home, add a liberal sprinkling of catch phrases, dust with a few mnemonic induced rules and top it off with paraphrased repetition. Eventually they have themselves one or two 200 page books, a set of CDs which are offered exclusively to anyone willing to pay, an 8 hour Power Point deck and a workbook to help you get yourself started. My problem with it (and you just know I'd have a problem with it ;-}) is that people have attached value to the fluff and not to the message. "Don't screw it up as you go and you won't have to fix it up at the end" is a fantastic message which should take all of 30 seconds to digest and comprehend, yet without the fluff it would go mostly unnoticed. Perhaps what really pisses me off about people assigning value to fluff is that I'm not very good with fluff. Sure I can tell you exactly what to do to get the job done, succinctly and with confidence. I can also tell you everything you need to know about fluff to increase your perceived value from the typical $85/hr contractor you are to the $300/hr industry consultant you want to become, but I am unable to force myself to exert the additional energy necessary to actually create fluff, which forces me to remain a typical contractor. Guess I haven't finished "Fertilizing my Inner Self to Obtain Outer Richness" ;-} TTFN
Just bought a new switch. HP Procurve 2524. Now it's time to start wiring up the house! TTFN
|
|