Greg McDonnell is my hero

Posted by Jake Good
on Dec 30, 05

I just wanted to state for the record, that Gregory Ryan McDonnell is my personal hero.



Not only has he saved my life when I duked it out with Jose, but today… on his way home from work, he stopped by a local Best Buy and found a gem.



The Xbox 360 is MINE finally!



Much thanks!



here’s our gamer cards:



(mine)





(greg’s)





(For those who care, I bought it from him… and he got a game, wireless controller, and a headset from me as a bonus. A $120 bonus!)

Mad Lib Engine

Posted by Jake Good
on Dec 30, 05

Hi, my name is Mike, and I’m a guest blogger on Jake’s site.



A few weeks ago Jake conducted an activity at work where we divided up into two teams and did some Mad Libs (http://en.wikipedia.org/wiki/Mad_Lib). That got me remembering about years past when friends and I would do mad libs for hours. I’ve got 9 volumes of them sitting in the book case across from me right now.



Anyway, I thought it’d be cool to build a mad lib engine and website, but there are already a few similar sites out there that let you do mad libs. So if I go through with this, I want it to be unique and cool (or “hip” or “sweet” as some folks might say).



So what are some features that you’d like to see in a mad lib site that would make it cool? Here’s what I’m thinking so far:




  1. Allow users to save a completed mad lib to the site.

  2. Allow users to view previously submitted mad libs.

  3. Some basic stats about how many times a particular mad lib has been submitted, etc.

  4. Include a word dictionary that allows users to complete a mad lib with random words.

  5. Allow users to submit new random words.

  6. Allow users to submit their own mad libs (requires an approval process to weed out the lame stuff).



I also need a domain name. I’d rather not use something with “MadLib” in it since that’s a branded name, but then it might not be obvious what the site is about (e.g. crazy-ass-libs.com). Not sure what to do about that.



Any other thoughts? Is this a totally lame idea?

Lesson 1 in Object Oriented Design

Posted by Jake Good
on Dec 29, 05

In my many years of software development, time and time again I find myself trying to explain some strange pattern or concept to an unwanting victim. Typically I try prodding for the skill level of the individual to adjust my vocabulary and technical details.



Sometimes… I just blurt out all kinds of random techno-weenie bullshit.



Then there comes this sweet, motivated young woman who wants to learn how to develop. She’s very very very green to writing code, yet shows “somethin’ fierce” when it comes to wanting to learn. Unfortunately her company won’t spend the time or money to give her the resources to learn… and she’ll be expected to jump in on projects very shortly. Jake and Mike to the rescue.



Typically.. if people want to learn to write code, I always hear the question… “How do I do this? How do I do that?” That’s not necessarily bad, but not the best place to start either.



The concept of a human telling a computer to do something is not trivial. People do it everyday on a different level. I think people can easily step back and think about the actual core concept of writing software: using some language to tell the computer what to do. The gap comes from what happens in the middle.



To help close this gap, I took it upon myself to bring Melanie into the world of Object Oriented Design (or whatever your current flavor is). She understands what writing code means and she was told that there were “classes” to look at. Here came the biggest question and probably one of the most pinnacle question, “What is a class?”



Here’s where I came up with an example. Disclaimer: I know that this example may/may not be the best. There’s arguments either way… but it got the job done. Plus it’s Holiday themed.



One important step in learning OOP is knowing what the difference and definitions of a class and instance are. It’s a core concept, but once you understand it… it makes sense.



Here’s how I described it. Imagine you have a snowman shaped cookie cutter. To blatantly put it, the cookie cutter is analogous to a class. The cookie cutter has properties that define what the cookie cutter does and it shows behaviors that a cookie cutter can do. Now an instance, is a manifestation of the class, therefore a cookie would be the example of a class. It behaves like the cookie cutter defines it, it has properties that are defined by the class, and it is unique. It’s state can be changed.



The cookie cutter has the property that it’s initially shaped like a snowman. The cookie instance has a shape property that initially starts off being a snowman, but since it’s unique and an instance, it can change it’s shape, without affecting any other cookie instance. If I want to cut off the snowman cookie’s head, I can. The rest of the cookies are still fine. If I want to put sprinkles on one of the other cookie instances, I can.. and the sprinkles won’t be on the other cookie instances.



Simple enough? I think so… Now bringing it to code just took a simple little chunk. p.s. this is where the example sort of takes a dive. We won’t bother with dealing with the confusion. It will naturally work itself out after you practice.




///
/// Defines a class to create a cookie.
///

public class CookieCutter
{
#region Fields

private string _shape;

#endregion

#region Constructor

///
/// Constructor to initialize the shape.
///

public CookieCutter(string shape)
{
_shape = shape;
}

#endregion

#region Properties

///
/// Gets or sets the shape definition.
///

public string Shape
{
get { return this._shape; }
set { this._shape = value; }
}

#endregion
}


and there you have it… your introduction to Object Oriented Design



My next advice to her was to create a set of very small goals and work to writing code that achieves them; at the same time, using examples from her life and things that she’s interested in, like illegitimate children (which her son IS legitimate…) and sexing chickens.

Nintendo DS rul3z

Posted by Jake Good
on Dec 28, 05

Looks like the Nintendo DS takes the crown as the fastest selling console EVER!



Due to it’s Japanese release, it has sold over 5.44 million units in 13 months. Beating the PS2 and GBA.



I’m not the only crazy one!



plus check THIS out…



the first Animal Crossing (in game) items on Ebay

interesting archive

Posted by Jake Good
on Dec 27, 05

So I was browsing through my hometown’s newspaper, The Hawkeye, and did a little “self googling”…



Check out what I found! (The others were mostly honor roll lists, but here’s some interesting stories which give you an insight between the blur of college and my current professional career)



one



two



three



four



five



six



seven



eight



nine



haha.. those crazy Iowans!

Happy Festivus

Posted by Jake Good
on Dec 23, 05

Festivus

what I want for christmas

Posted by Jake Good
on Dec 22, 05

here’s a list of things I want for christmas:





That’s about it…



k tia

blameMike v2.0

Posted by Jake Good
on Dec 22, 05

looks like my boy blameMike got his ASP.Net 2.0 blog up finally!



blamemike.com



Everyone… head over there NOW!

bad fcgi processes

Posted by Jake Good
on Dec 22, 05

:: sigh :: I’ve had some trouble with DH and Typo today…



I keep seeing this in the logs:




Processing ArticlesController#permalink (for 12.215.94.54 at 2005-12-22 08:44:23) [GET]
Parameters: {"month"=>"12", "title"=>"encarta-r-bot", "action"=>"permalink", "controller"=>"articles", "day"=>"21", "year"=>"2005"}


NoMethodError (undefined method `verify_config' for #):
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/filters.rb:354:in `send'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/filters.rb:354:in `call_filters'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/filters.rb:350:in `each'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/filters.rb:350:in `call_filters'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/filters.rb:339:in `before_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/filters.rb:331:in `perform_action_without_benchmark'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/benchmarking.rb:69:in `measure'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/benchmarking.rb:69:in `perform_action_without_rescue'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/rescue.rb:82:in `perform_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/base.rb:365:in `send'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/base.rb:365:in `process_without_session_management_support'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.11.0/lib/action_controller/session_management.rb:116:in `process'
/usr/lib/ruby/gems/1.8/gems/rails-0.14.3/lib/dispatcher.rb:38:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-0.14.3/lib/fcgi_handler.rb:141:in `process_request'
/usr/lib/ruby/gems/1.8/gems/rails-0.14.3/lib/fcgi_handler.rb:53:in `process!'
/usr/lib/ruby/gems/1.8/gems/rails-0.14.3/lib/fcgi_handler.rb:52:in `each_cgi'
/usr/lib/ruby/1.8/fcgi.rb:597:in `each'
/usr/lib/ruby/1.8/fcgi.rb:597:in `each_cgi'
/usr/lib/ruby/gems/1.8/gems/rails-0.14.3/lib/fcgi_handler.rb:52:in `process!'
/usr/lib/ruby/gems/1.8/gems/rails-0.14.3/lib/fcgi_handler.rb:22:in `process!'
dispatch.fcgi:24


All I did was smash my dispatch.fcgi procs out there.. and it seems to be working fine.




#>crontab -e
--add line--
30 3 * * * killall -9 dispatch.fcgi
--save--
#>crontab -l
30 3 * * * killall -9 dispatch.fcgi


I know I’m evil for sending the procs a -9 … maybe I should be using a -USR1 :) (ps, that cron job will run the command at 3:30AM every day)



Is anyone else having problems with the blog not remembering your comment information?? (name, blog, email, etc)

the start of a day

Posted by Jake Good
on Dec 22, 05

Quite a strange set of dreams last night… maybe the Jameson and Blue Moon had something to do with it :: grins ::



First Dream: I was at my good friend Mike’s grandmothers house… and she had a lot of pets, including a gigantic anaconda



Second Dream: I was at “work” and at a client meeting with a young, snobby jackass. He asked me to deliver some papers and “fetch” some others. I told him that “I’m not your fucking delivery bitch.” The remainder of the dream was focused around the stability of my job due to my language.



Third Dream: I was at my old house in Burlington and my brother was scuba diving in a gigantic garbage disposal. I was talking to him through the sink.



:: shrugs :: I’ve always had very elabroate, creative, and perverse dreams.



Well.. today marks the start of my Christmas time off. I’m not heading home :: sigh :: , but I plan on doing some techy stuff. I want to use the new December CTP of WinFX mixed with WinFS and also try to start one of my Ruby on Rails projects.



We’ll see how that goes! For now.. enjoy the show… have a safe holiday…

Encarta® Bot

Posted by Jake Good
on Dec 21, 05

I was reading a Windows Live Messenger blog post today and she posted about an Encarta® bot that you can ask questions…



Mike already had some fun with it… but I got it to spit back a few funny answers…



just add encarta@conversagent.com to your MSN list…




Mr. Good says:
Hi, I'm Jake Good.

Encarta® Instant Answers says:
I don't think I know Jake Good. Let's try an Encarta search. =>
I can't show you the results since you don't have the Encarta application open. Type "Invite me" to open it.

Mr. Good says:
Well now you do know Jake Good!

Encarta® Instant Answers says:
Let's try looking in Encarta. =>
I can't show you the results since you don't have the Encarta application open. Type "Invite me" to open it.

Mr. Good says:
No, that's ok. I'm not in there *yet*.

Encarta® Instant Answers says:
Unfortunately I don't think I can answer this, even with the help of a good encyclopedia.

Type "?" at any time for a list of questions I can answer.

Mr. Good says:
So, do you know if you reproduce sexually or a-sexually?

Encarta® Instant Answers says:
I don't think I know. Maybe Encarta has an answer. =>
I can't show you the results since you don't have the Encarta application open. Type "Invite me" to open it.

Mr. Good says:
Do you have one parent, two parents, or no parents?

Encarta® Instant Answers says:
I'm afraid I won't be able to find anything about this in the encyclopedia.

I'm sure you've heard about Uzbekistan... but do you know where it is? Just ask me and I'll show it to you on a map.

Mr. Good says:
Why would I want to know about Uzbekistan?

Encarta® Instant Answers says:
I know many things about Uzbekistan, its geography, its people and its government. Just ask me a specific question, for instance:

What is the highest point in Uzbekistan?
How old do women live in Uzbekistan?
What type of government is there in Uzbekistan?

Mr. Good says:
Ok... another question. Are you male or female?

Encarta® Instant Answers says:
I am neither male nor female. I'm a robot.

Mr. Good says:
What are your religious beliefs?

Encarta® Instant Answers says:
Unfortunately I don't think I can answer this, even with the help of a good encyclopedia.

What does the flag of India look like? Ask me, and I might even play its national anthem too.

Mr. Good says:
When handed a lemon, make lemonade!

Encarta® Instant Answers says:
Let's see what Encarta can tell us. =>
I can't show you the results since you don't have the Encarta application open. Type "Invite me" to open it.

Mr. Good says:
Who are your parents?

Encarta® Instant Answers says:
I was created by Conversagent, Inc. in Sunnyvale, CA and New York, NY.

Mr. Good says:
All your base are belong to us

Encarta® Instant Answers says:
You know what you doing.

up pops a thought bubble

Posted by Jake Good
on Dec 21, 05

So I was chatting with John today about him posting some more technical information… His blog, which may or may not remain anonymous, deals mainly with his viewpoints and skepticism of religion and not so much why HasAVeryShineyNose is/is not a good name for a method in a class.



Then he said: “Your blog name is thoughts to blog right? Why not have guest bloggers?”



Brilliant!



So here’s your change. For all of you who read my blog… and want to contribute a short article, send me an email (jake@whoisjake.com) with a user name and password and try to describe what you’d write!



I can already think of who would or who I would like to contribute: John, Greg, Tom Johnson, Justin, Erik, Andy, Roman, Neil, Raymond, Mike, Dan E, the list can go on and on… maybe even some girls too! Val? JaG?

wave goodbye to intelligent design

Posted by Jake Good
on Dec 20, 05

You’ve heard it folks… this morning, U.S. District Judge John E. Jones III ruled that the Dover Area School Board has no right to include Intelligent Design in it’s biology curriculum.



I can’t tell you have relieved I am to know that there are judges and lawmakers that understand what kind of non-sense that some people of faith are trying to force into public school systems.



It’s easy to state my opinion on Intelligent Design. Intelligent Design is wrong and does not deserve to be taught along side of evolution in any science class. Essentially, Intelligent Design is a creationism story that replaces god with an “unidentified intelligent being”, a sad attempt at subtly forcing creationism into situations which the Bible does not have reach.



I won’t go into much detail in this post.. as the topic of evolution vs creationism deserves an entire series of posts (which may or may not show up on this blog)… but rest assured that if you ever want to discuss where Man came from, feel free to shoot me an email

thoughts on the weekend

Posted by Jake Good
on Dec 19, 05

So this weekend I went back to Iowa (Cedar Falls to be exact) to see a good friend, Tom Johnson, gradumacate. Congratulations Tom!! Btw, he’s a graphics communications major… so if anyone needs a cartoon face of their portrait or any kind of Flash/Director animations, look him up. He needs a job.



It was really nice going back to see people. Every time I go back, I keep getting older and the girls are staying young. I’m picking up the “Why is that creepy old guy hitting on college girls?” type of feeling when I’m out and about. :: shrugs ::



Other than that, I got to see Brian and Jen and Grant (their new baby boy)! Saw Dawn, Rod, Ashley, Adam, Keya, and Andy (a.k.a Rando). That’s always fun.



Came home yesterday and watched The Island. Was pretty damn good… mixed with my tiredness from the weekend, gave me some really strange dreams / alternate states of consciousness. I woke up 3 or 4 times last night not knowing what time it was or where I was.



Ohhh… I tried snagging an Xbox 360 at the Best Buy in Waterloo yesterday… on the infamous 2nd wave release from Best Buy. Didn’t happen.



Talked to my sister, she’s doing well… It was the first week that she has been out of the “nest.”



That pretty much sums it up. There were lots of good quotes and good times in Cedar Falls… I’m just having trouble remembering them! :)

thoughts for today

Posted by Jake Good
on Dec 16, 05































(*intentionally left blank)

thoughts on sharepoint

Posted by Jake Good
on Dec 11, 05

I swear… some people equate SharePoint to Robitussin



Chris Rock had it right… Daddy, I broke my leg! “Here, put some Robitussin on it… that’s right, let the Robitesum sink in there.”



Technology Consultants have it wrong… “Need a live document, bug tracking system, or quick collaboration device… here’s SharePoint”.



Don’t get me wrong, SharePoint can do a lot of great things… It can store your documents, it can put pretty pictures of your secretary up on an intranet, and it can even spit out email alerts when you change your “How To Make Your Employees Happy” document…



but it can’t do everything.



There are lots of other technologies outside of SharePoint to get things done the right way…



Just remember: developers don’t think in documents.

what do you get

Posted by Jake Good
on Dec 11, 05

when you mix:



an underground site



+



an invalid domain



+



ruby on rails



+



why the lucky stiff



+



a little greasemonkey or mousehole



+



bacon





you get comments by hoodwink.d bitch



hahah join the winking revolution!

last.fm weekly artist chart

Posted by Jake Good
on Dec 07, 05

Just a quick note about the sidebar (the neat little thingy on the right)…



Check out the last.fm image at the bottom. It shows you what artists I listen to most often for the week, plus links out to show you other stats about my music tastes and how to setup your own statistics.



It looks like any of these:



whoisjake's Last.fm Weekly Artists Chart
whoisjake's Last.fm Weekly Artists Chart



or you can base it off of your track charts… like this:



whoisjake's Last.fm Weekly Tracks Chart



or overall artist and tracks:



whoisjake's Last.fm Overall Artists Chart
whoisjake's Last.fm Overall Tracks Chart



you get the idea!



It’s a sweet site… and can even help you find new music based on your tastes. Plus they love developers, so there’s LOTS of data to play with!

jake in the news

Posted by Jake Good
on Dec 05, 05

I’m currently feature in 2 front page articles on our company intranet!



One for my movie review…



The other because of a project completion



w00t!



So today, to celebrate… I bought Animal Crossing : Wild World, Mario and Luigi : Partners in Time, and Mr. and Mrs. Smith



game on

the anticipation is growing

Posted by Jake Good
on Dec 02, 05

I can’t wait to walk through neighborhoods, do some fishing, cut down some flowers… and recieve messages on my birthday.



Animal Crossing : Wild World



Animal Crossing : Wild World

WinFS: The future of Windows file systems?

Posted by Jake Good
on Dec 02, 05

I heard about WinFS a while back when “Longhorn” news was making it’s way to the public. “What is WinFS?” you might ask.



Essentially WinFS is a storage subsystem that will sit on top of NTFS and allow developers and applications to index, search, and store more meta-data associated to content, placing more meaning on what’s on your drive.



For example: eventually, you’ll be able to drop a Word document into a WinFS store and be able to associate Outlook Contacts to allow you to search for documents by keyword AND/OR who it came from. Imagine opening up a query box on your desktop and typing ”SharePoint integration from Raymond” and have it pull up an email and document where he tells me how to bring back a SharePoint list.





So Neil took the plunge with me and installed the latest WinFS Beta 1 Refresh (Compatible with RTM .Net 2.0). We had previously talked about Vista would integrate RSS and the possibility of using WinFS to do so. Then today, we were chatting about social bookmarking, bookmarking, tagging, etc and how his requirements would be to have something that would index pages by tags/categories/keywords AND the content within the page.





So here’s the pitch. I might bite on this and create it… but let’s create a Windows Presentation Foundation Application that you can grab URLs from browsers/del.icio.us/furl/etc, allow you to tag/cateogrize/keyword the URL, and then have it store content in a WinFS Document. Within the Application we’d then have the ability to query against those documents.



Looking through the SDK, it wouldn’t be that hard at all. The WinFS Document class has a XmlContent property that is of type string, specifically to store XML data (ie: (X)HTML). Querying within WinFS stores is quite easy as well. Create a StorageSearcher




WinFSData wfsDat = new WinFSData(@"\localhostBookmarkStore");
using (wfsDat)
{

// Find all urls in WinFS storage.
StorageSearcher urlSearcher = wfsDat.Items.FilterByType();

// If there are no urls in storage, prompt user to add urls.
if (0 == urlSearcher .GetCount())
MessageBox.Show(@"Add some bookmarks to \localhostBookmarkStore", "Bookmarks Not in Storage");

// If the user has entered text to search for in textbox, test for items match text.
if (keywordSearchText.Text.Length > 0)
{
// This filter string is used in next step with input.
filterString = "Exists(Extensions.FilterByType(@0).Filter(Exists(Keywords.Filter(Value == @1))))";

// Filter urlSearcher by filterString on input of ItemKeywords type and actual text from user.
// Eventually you'll want to add ability to search the content, it's not that hard either.
urlSearcher= urlSearcher.Filter(filterString, typeof(System.Storage.Core.ItemKeywords), keywordSearchText.Text);
}

// Add urls in urlSearcher to bookmarks list
foreach (Document url in urlSearcher)
{
bookmarks.Add(url);
}

// Display bookmarks in searchResults listbox.
searchResults.DataSource = bookmarks;
}


Catch the drift?



Ride the waves… Welcome to WinFS

some humor for today

Posted by Jake Good
on Dec 01, 05

I told myself I wasn’t going to turn this into a tumblelog… but Mike pointed me to a few funny posts…



On Intelligent Design from Fanatical Apathy



STAN: I guess what I’m saying is that with you being all-powerful and all-knowing, why would you use 98% of your chimp design and cut corners on your most important creation?



GOD: Maybe… I just work in mysterious ways. Did you ever think of that, Mr. Smartypants?



and



Saved yet? from bash.org



DannyB: some girl on the street asked if i was saved yet



DannyB: i told her i saved at the checkpoint a couple minutes back



DannyB: and can reload from there if i die



DannyB: she was confused