TattooBinary
TattooJwk147
TattooHtml
TattooEiffelTower

Let me first say that I think tattoos are stupid. I don’t think some pretty butterfly you picked out of a book and slapped on your ankle is original by any stretch of the imagination. And don’t tell me that it has “meaning,” because it’s still the same cookie cutter flower/tribal band/godforbid tweety bird that everyone else has. Kanji’s a passing fad and is a mockery of a culture. (and are you sure you know what that symbol means?)

That being said, I want to get a tattoo. Not something to show off my guns (did I mention that I’m getting guns now?) or something that everyone will see at the beach.  I want something inconspicuous. I really want to get one on my wrist where I can wear my watch over it.

Being the big computer nerd that I am, it’s gotta relate to that part of my life. So here are my options:

1) 01101010 01101011 - my initials in binary. I’m guessing over the next sixty years they’re not going to change, so I probably won’t regret it.

2) jwk147 - my internet handle for everything. It was also my Penn State userid. This one I’m not so sure about, especially since it means I can’t change my email address for the rest of my life.

3) <html> - It’s probably the best symbol of my roots.  If it weren’t for that black and lime green AOL webpage that I made ten years ago, I probably wouldn’t be where I am today. In fact, “<html>” was the first snippet of real code that I’ve ever typed (Although I used to write some stuff when I was a kid in LOGO, Applesoft BASIC, Commodore BASIC, and Turbo Pascal, but they don’t really count). And lastly there’s … 

4) La Tour Eiffel - Going to Paris by myself was a huge step in my life and was probably one the the greatest and most challenging experiences I’ve ever had. Seeing the Eiffel Tower was a goal for me and I stepped outside of my boundaries to do it. It’s a time I’ll never forget.

While you might say these are really geeky ideas, somewhere out there is a girl who will one day love me for that geekery. And I guess that’s all that really matters.  We will live happily forever with our geeky children and I just might show my grandkids my geeky tattoo.



June 29th, 2005   No Comments »

Why can nothing in my life be easy?  Why does my website load so damn slowly? Why can’t I find my black belt? (this seriously limits my wardrobe options in the morning) Why is it that at any given moment one of my headlights is out? I’m getting really tired of popping my hood and “wiggling wires” to find my way home at night. Why do girls think that just because they’ve been divorced for “a few days” that they can’t date again? I’ll show you bouncin’ back! Why doesn’t AIM pop up new IMs anymore? Why doesn’t Diet Dr. Pepper taste more like Regular Dr. Pepper? I’m serious. Why is laundry the bane of my existence and why does the laundry room have to be the furthest geographic location in my building? (help wanted). Why does the bar close at 2:30 and why does the Firehouse suck so much? Why is it like a freakin sauna outside? Why do I lose my Internet connection at home thus negating the ability to term serv there during the day? Why is it so hard to find 6 hours a night for sleeping? Why? Why can’t anything be easy?

Ok, I’m finished.  I’m sure I’ll find more petty annoyancesshortly.



June 28th, 2005   No Comments »
Your True Birth Month Is September
Thinking, Sensitive, Secretive, Systematic, Understanding, Good memory, Calm and cool, Does work well, Likes to criticize, Loves wide things, Kind and sympathetic, Hardly shows emotions, Concerned and detailed, Able to motivate oneself, Suave and compromising, Clever and knowledgeable, Quiet but able to talk well, Tends to bottle up feelings, Loves to look for information, Trustworthy, loyal and honest, Careful, cautious and organized, Choosy especially in relationships, Loves sports, leisure and traveling, Must control oneself when criticizing, Likes to point out people’s mistakes

Wow, I took this quiz on my true birth month and it came up with September. That’s really weird cause I was born on August 31st.  One more dayand I would have been born in September.  And so many of those things are true*.Especially the part about liking to criticize. You suck! You, yes you.

* except that part about loving wide things? huh?



June 28th, 2005   No Comments »

Lately I’ve been trying to find a way to change the default display of the entry datetime in dasBlog.  The default looks like:

6/28/2005 12:05:20 AM (Eastern Daylight Time, UTC-05:00)

I wanted

Tuesday, June 28, 2005 12:05 AM EST

Omar pointed out that formatting macrosexist to perfom this task:

<%readerWhen%><%formattedWhen(string format, bool addTimezone)%><%formattedWhen(string format)%>

The format string works well, but if you have the code add the timezone, it outputsit as a long string (”Eastern Daylight Time”) The problem was that when I tried <%formattedWhen(…)%> andpassed False to addTimezone, the result was alwaysan empty string.  I tried “False”, False, “0″,and 0.  No luck.  After looking at the code,I can’t see why the formattedWhen function doesn’t work for me, but I did discoverthe <%FormattedWhenBare(string format)%> macro.

This one works well with my input of:

<%FormattedWhenBare(”dddd, MMMM d, yyyy h:mm tt”)%>&nbsp;EST.

So, if you’re looking to specify your own string format of the entry datetime withoutthe long timezone, use <%FormattedWhenBare(string format)%>.



June 28th, 2005   No Comments »

Literally every muscle in my body hurts. Hurts to type. Hurts to walk. Hurts to laugh. Hurts to turn my head. Let me explain: A few days ago I got duped into playing in a charity golf tournament. While I wholeheartedly believe in the charity, I have no idea how to golf. No idea. I can beat pretty much anyone at Golden Tee, but was discouraged to learn that real golf is not played with a trackball. I was assured that most people playing will be hacks and since it’s a best-ball tournament, it’s ok to suck. The problem is that I don’t like to be average at anything. When it comes to competition, I just simply don’t do it unless I know I can be the best. So here’s my quandary: I have to learn to golf in three weeks. And that’s where the pain comes in. I was actually pleasantly surprised when my buddy Dennis and I hit the driving range before happy hour on Friday. I couldn’t believe that if I concentrated hard, I could actually hit a ball long and straight. (although there were alot of slices in there too) The only downside to putting all your energy into whacking a ball is that you wake up the next day with every single muscle screaming at you. I guess over the years I’ve heard alot about how tohit a golf ball, but I’ve just never done it. So we’ll see how it goes. I hope toget out a few times before this tournament so I don’t look like a total spaz.



June 26th, 2005   No Comments »

This is what I do to people in my department when they have the audacity to go on vacation.  Not only are there over 300 balloons here, many of them are filled with confetti.  The last time someone left for a few weeks, he came back to find a cube with everything wrapped in tin foil.  The problem that exists now is that I can’t take a vacation without coming back to multiple types of revenge.  I may have spearheaded the first few operations, (shredded newspaper in Johnny B’s cube, Post-It Note wallpaper in my boss’ office) but I’m now expected to lead the sabotage every time someone goes away.  And I’m not a mean guy, really.  I’m the guy who doesn’t laugh at the person who trips down the stairs. I don’t like embarrassing people.

More pictures of the mayhem here.

 



June 24th, 2005   No Comments »

Listen to this.

Now listen to this.

Same girl right? Nope. The first one is Avril Lavigne - My Happy Ending andthe second is Kelly Clarkson - Behind These Hazel Eyes. It’s taking a lot toeven admit that I occasionally listen to these songs, but I just had to pointout how similar they are. I used to hear the beginning of the Kelly song on the radioand think to my self “oh, this must be a new Avril song.” (Then like the twenty somethingman that I am I would quickly go back to listening to Howard Stern.)

So like the internet ferret* that I am, I started looking to see if the songs werewritten by the same forty something year old dude. No dice, but today’s little knownfact is that Avril Lavigne did co-write Kelly Clarkson’s single Breakaway.fun fun.

* today at work I was talking to my boss about how I can find anything on theinternet, and for some reason I blurted out “yep, I’m a regular internet ferret”.Who knows where that came from. She later told a few of us that we should dress upfor Halloween as the animal we most represent. I guess I’m the ferret, since I’m definitelynot la belette de personne.



June 24th, 2005   No Comments »
Alanis Morissette - Jagged Little Pill AcousticI’ve been looking everywhere lately for the Alanis Morissette album that was supposed to be released on June 13th.  I went to her website well after that date and there was no mention of it.  I couldn’t figure it out … until I found myself in starbucks today for an impromptu sugar-free hazelnut latté today.  Sitting next to the counter on their mostly enya music rack was the Alanis Morissette - Jagged Little Pill Acoustic album.  What dumb luck.  I was with two co-workers at the time and pretty much embarrassingly acted like a little girl after spotting the album. (think circa 1998 fourteen year old girl buying her first Backstreet Boys CD).  I have to say that “acoustic” is a misnomer.  I was thinking more along the lines of Dave & Tim at Luther College, but got more of a Ben Fold’s instrumental.  And that’s probably the best way to describe it, instrumental, not acoustic.  Lots of piano, stings, and acoustic guitar.  It wasn’t everything I was hoping for, but it was really satisfying to pop in a brand new CD that sounded completely foreign and already know all the words. Head over Feet was and always will be my favorite Alanis song, but I felt that she could have done a more raw version of it.  In fact, all the songs sound a little watered down. “You take me out to wine, dine, sixty nine me, but didn’t hear a damn word I said” just doesn’t have the same umph accompanied by a harpsichord. So while I’m not totally satisfied with the album, it’s a nice addition to my media library. I’m not sure if this CD is distributed outside of starbucks, but Alanis really screwed up the advertising this time considering a fan couldn’t even find it.



June 21st, 2005   No Comments »

Iwant so badly to make a cMoy headphoneamp.  I’ve been looking at headphones lately (more specifically the SennheiserHD 580, and the UltrasoneHFI-650) and to drive them you should really have a headphone amp to boost theoutput.  Portable players today (and low-end receivers) are so concerned withbattery life that they can barely power quality phones.

 

You can buy a cheap amp for around $100, but the ~$20 cMoy is way too cool to not try and build. Have I ever soldered before? No. Have I ever worked with protoboard, resistors, and op-amps? No. Have I ever even assembled anything of an electronic nature? No.  But I’ll muddle through.

 

Wish me luck.  My goal here is to get such good sound quality that I can curse myself for encoding all my MP3’s to 160Kbs instead of 192 or higher.

 



June 21st, 2005   No Comments »

Wow, I didn’t expect such an uproar with my post regarding my dasBlog gripes. Let me just say that although it appeared like a personal attack, it was never meant to be. I had reached my frustration point with mail-to-blog and had been struggling for a while with themes. On top of that it had been a long day at work and I had just received an unwelcome personal email. Suffice to say I was just in a bad mood and took it out on the wrong people. As a developer who works hard on projects, I do appreciate open source. I know how much time and effort it takes to develop software.

The main criticism I received was that I should have asked the developers or turnedto the community. My thinking is that no one wants to hear from some guy who can’tfigure out how to mail-to-weblog. As far as community is concerned, I probably couldhave turned to the sourceforge message board, but admittedly I was just looking tovent. A developer community has always been a mystery to me. I’m just a guy who likesto write code and hang out at the bar. My friends aren’t developers, and I don’t haveany “online friends.” I’ve always been self sufficient when it comes to fixing myown problems.

To address specific comments, Omar said that if I really cared, I would “help insteadof throwing stones.” He’s right; I’ve got no right to criticize open source and someone’shard work.

Keith said “i think you didnt spend enough time to read the documentation… or betteryet looked at the sample themes and analyze it… programmers search google for answers,REAL PROGRAMMERS analyze and makes a solution to the problem before calling 911 togoogle! i think its really lame when you blame the program because you didnt havethe knowledge to make it work! STUDY! geesh!” My contention is that I did read thedocumentation, and I stand by my observation that it’s incomplete. As for REAL PROGRAMMERSwho analyze a problem instead of “calling 911 to google”, I can say from experiencethat pasting an error message into my google toolbar is much more efficient than pokingaround code. 99 times out of 100 someone else out there has had the same problem andalready fixed it. Why waste my time?

Paul said “some of the best blogs I read use dasBlog so the problem must be at projectFrutility.”I agree that there are many many good blogs using dasBlog. And all these blogs areAFAIK using the default themes and options. My issue is with harnessing the powerof dasBlog. I’d be interested to know how the majority of dasBloggers post to theirweblog. I haven’t found a truly convenient solution yet.

Greg said “Look, it’s all open source, so you can change the date/time format as yourheart desires. If you’re a good person, you’ll make it more usable and share everythingyou improve with the rest of the world.” While I’m sure I could easily modify thecode, my concern is that it will all be overwritten in the next release. So that onlyleaves joining the development effort. I realize it’s a commitment that I’m not willingto make right now and have never been involved in an open source project. (plus Iwon’t even go into the melee that ensued when I installed CSV on my box)

So, given that I have any credibility left, here are my calm and collected suggestionsand feature requests.

1) Post date time format. It would be helpful to somehow be able to pass in a formatstring to change the formatting of the datetime.

2) SMTP notifications. My server requires SMTP authentication thus negating the abilityto receive notifications.

3) Documentation. As a newbie to dasBlog, I found it easy to get up and running withbasic functionality, but hard to extend it any further than that. My impression isthat some guys are doing cool things with dasBlog, but these are also the guys whowrote the code and know it inside and out. Scott says “There’s actually pretty gooddocumentation on making themes.” I agree it’s good, but I still found the descriptionsunclear as to their true function. When I was making the theme I ran across undocumentedtags in the sample themes. I can’t name them cause I’ve forgotten what they were,but in retrospect I should have added my comments to the documentation and sent themoff to the developers. I’ve also ran across other cool things like archive lists,but can’t find any documentation on how to do that. Maybe it’s out there, but as anewbie I didn’t find it easily accessible. A central location for all documentationand cool things you can do with dasBlog would be awesome.

4) XSLT. Formatting the XML with XSLT would greatly ease theme development. When makingmy theme I found that I really had no good tool to develop/preview with. I had VisualStudio.NET, Dreamweaver, Frontpage, TopStyle 3 available to me. Ultimately I thinkI did the most development in Notepad.

5) Mail-to-blog. I believe this is hands-down the best feature of dasBlog. I haven’tfound an easier way to quickly post with photos. Unfortunately Outlook either insertsfont tags or puts sytlesheet attributes on the HTML tags. It would be nice if dasBlogcould filter this stuff out.



June 18th, 2005   No Comments »

Update: I wrote this a while ago, but never posted it …

Alanis Morissette - Jagged Little Pill AcousticOnJune 13th, Alanis Morissette is releasing an unplugged version of her first real album”Jagged Little Pill.” This is awesome news because I loved the first oneand prefer the acoustic versions of most songs. It’s being released to commemoratethe ten-year anniversary of the original Jagged Little Pill and I can’t believeit’s been so long.

This CD was one of those soundtracks that I grew up to. So many memories permeatethat album. I first heard it when my neighbor Julia played the tape for me on herold school boombox. She was both literally and figuratively the girl next door.Every time I hear All I Really Want I’m instantly drawn back to her bedroomon that summer afternoon. I can vividly remember the silence in the lyrics “whyare you so petrified of silence / here can you handle this … did you think aboutyour bills, your ex, your deadlines.

Then there was Beth. I was so infatuated with this girl. She brought the CD on a churchretreat and I can remember her singing (one of my all-time favorite songs) “HeadOver Feet.” Somehow that weekend I convinced her to sign a contract that she’dshow up on my doorstep on my eighteenth birthday to sing me that song. Unfortunatelyshe never fulfilled said contract :( Fortunately around the same time there was that othergirl I totally ended up falling head over feet for and could relate every wordof that song to.

Lastly there’s “Not the Doctor.” It brings a smile to my face every time Ithink about those summer Wednesday nights at church singing “I believe that oneand one make … two” to Dawn and Ashley. Who would have thought that you couldchoreograph an Alanis Morissette song?

Oh, and there’s also that not-so-long-ago girl that was my “Hands Clean.”

Good memories; amazing girls. I’d go back to seventeen in a second if I could. Myonly wonder is if I’d do anything differently … >



June 17th, 2005   No Comments »

Update: please see my dasBlog retraction

I’m getting increasingly frustrated with this POS blogging software called dasBlog.  I originally moved from my own software to dasBlog because it had more features.  I wish before I made the conversion I knew that those features are more like vapor ware.  They don’t work.  I had the “email a post to your weblog” feature working, have made no changes, but now it doesn’t work. Not only that it doesn’t work, but the event logs aren’t even telling me where my emails are going.

The application restarts every five minutes, and there are so many little idiosyncrasies that I can’t control.  For example, I can’t even change the date format at the bottom of my posts. Sometimes buttons just stop working. Email notifications don’t have SMTP authentication!? What SMTP server these days doesn’t require authentication? Making new themes is damn near impossible since it feels like the style and data are not completely separate. And need I mention all these crazy dasBlog style tags I need to figure out? Regarding the issue of styles, haven’t the developers considered using XML and XSLT to format the data?  That would make my life bearable. XSLT is a standard. I’m not a Radio Userland user … what do half of those propritary tags mean to me?

And now my biggest gripe: Documentation. When I first installed the application I wanted to create my own theme.  I was unhappy with the defaults that came with the software, but figured many people out there had made their own and had some good tutorials.  Wow was I wrong. To this day I can’t find anyone that’s not using the default themes or a slightly modified one.  When I went to create my own, the documentation from dasBlog.net was either nonexistent or even worse, incorrect. Then there’s the gotdotnet space. Nothing. SourceForge? Nothing. Oops, forgot I had to check that temporary Wiki too. Nothing.  Maybe I’ll try the developer’s website. Something, but wrong place and not enough. It took me forever to build my “desert” theme and even now it still looks terrible compared to my old website.

Looking around you’d think I’m the only person having these problems.  Or maybe I’m the only person who’s not happy with just using the default out-of-the-box functionality. Ugh.  I should have never made this move. It just feels like an alpha or beta product. Sigh.

My event log just for two hours:

6/17/2005 11:47:47 AM 620 Mail-To-Weblog service started
6/17/2005 11:47:22 AM 32000 Application started
6/17/2005 11:41:32 AM 621 Mail-To-Weblog service shut down
6/17/2005 11:41:10 AM 620 Mail-To-Weblog service started
6/17/2005 11:41:08 AM 32000 Application started
6/17/2005 11:40:50 AM 620 Mail-To-Weblog service started
6/17/2005 11:40:35 AM 32000 Application started
6/17/2005 11:24:43 AM 621 Mail-To-Weblog service shut down
6/17/2005 11:23:49 AM 620 Mail-To-Weblog service started
6/17/2005 11:23:46 AM 32000 Application started
6/17/2005 11:20:01 AM 620 Mail-To-Weblog service started
6/17/2005 11:19:59 AM 32000 Application started
6/17/2005 11:18:47 AM 621 Mail-To-Weblog service shut down
6/17/2005 11:15:52 AM 620 Mail-To-Weblog service started
6/17/2005 11:15:47 AM 32000 Application started
6/17/2005 10:23:54 AM 621 Mail-To-Weblog service shut down
6/17/2005 10:20:55 AM 620 Mail-To-Weblog service started
6/17/2005 10:20:49 AM 32000 Application started

bloody hell. Hanselman wasright when he said “DasBlog, we suck less!” Yes, less than scanning my journal entriesand posting them in .pdf format.



June 17th, 2005   No Comments »

I was going through my phone tonight and am amazed at the amount of text messages I send when I’m drinking. I have no idea what half of these mean or who I sent them to.  Someone please take my phone from me at 5 o’clock every Friday and don’t return it until Monday morning.  On second thought, it might be best if you just commandeer it on like a Wednesday or Thursday just to be safe.

 

So, here are the 10 most recent:

  • This is your first text message from hell. It’s hot as hell down here, but at least I get good reception.
  • Dude I just got hit by a nuke
  • I need wawa coffee
  • Someone put scotch on my rocks
  • Buy me some candy bitch!
  • A shotgun usually works better in these situations
  • And the waitress had big boobs and that’s when I knew I was in trouble
  • I’m down with that. I’ll wear my ripped jeans tomorrow.
  • I got the magic stick
  • If it pleases the court, you’re wrong



June 7th, 2005   No Comments »

Recently I’ve moved to a new content management system (dasBlog).My old way of doing thing was to write my own blogging software and use that. Thesad fact is that I just didn’t have the time of patience to work out the bugs anddasBlog offered a lot more features. The only problem is that dasBlog stores entriesas XML text files and my old system stored them in a SQL Server database. Thus I neededa way to move hundred of entries out of SQL Server and into dasBlog formatted XML.My first thought was some type of fancy FOR XML query that would spit out the XMLand then I’d have to somehow parse that ginormous file into day-by-day XML files.Yeah, I went with that idea for about 5 minutes. All my searches turned up nothingspectacular (unless of course I was converting Radio UserLand to dasBlog) until Ifound Blobservations.So, thanks to Rick’scode I was able to import all my old posts from start to finish in under fortyminutes last night. I used pretty much the same logic, but wrote my script to accessmy database instead of a blogger exported XML file. Here’s the quick and dirty codeif you need to export blog entries from a database into dasBlog:

    Public Function ExportToDasBlog() As Integer
        ’setup local constants
        ‘if you’re copy and pasting this code, 
        ‘ all you need to change are the constant values below
        Const exportDirectory As String = “C:\dasBlogContent”
        Const commandText As String = “SELECT * FROM MyTable with (nolock)”
        Const connectionString As String = “Data Source=www.myserver.com;” & _
                                            “Initial Catalog=myDatabase;” & _
                                            “User ID=myName;” & _
                                            “Password=myPassword”
        Const author As String = “Jeffrey Kelso”
        Const contentFieldName As String = “Content”
        Const dateCreatedFieldName As String = “DateAdded”
        Const dateModifiedFieldName As String = “DateEdited”
        Const titleFieldName As String = “Subject”

        ‘create the service that will save the entries
        Dim dasBlogDataService As _
          newtelligence.DasBlog.Runtime.IBlogDataService = _
          newtelligence.DasBlog.Runtime.BlogDataServiceFactory.GetService(exportDirectory, Nothing)
        ‘counter for records processed
        Dim i As Integer = 0
        ‘object to build our new post
        Dim entry As newtelligence.DasBlog.Runtime.Entry

        ‘build our command and open the connection
        Dim cmd As New SqlClient.SqlCommand(commandText)
        cmd.Connection = New SqlClient.SqlConnection(connectionString)
        cmd.Connection.Open()

        ‘get a datareader of records to process
        Dim dr As SqlClient.SqlDataReader = _ 
          cmd.ExecuteReader(CommandBehavior.CloseConnection)

        ‘loop through the records and convert them to a dasBlog format
        While dr.Read

            entry = New newtelligence.DasBlog.Runtime.Entry

            entry.Author = author
            entry.Content = dr(contentFieldName).ToString.Trim
            entry.CreatedLocalTime = CDate(dr(dateCreatedFieldName))
            entry.CreatedUtc = CDate(dr(dateCreatedFieldName)).ToUniversalTime
            ‘entry.Description = I don’t have a description, maybe you do
            entry.EntryId = Guid.NewGuid.ToString
            entry.IsPublic = True
            If Not dr(dateModifiedFieldName) Is System.DBNull.Value Then _
                entry.ModifiedLocalTime = CDate(dr(dateModifiedFieldName))
            If Not dr(dateModifiedFieldName) Is System.DBNull.Value Then _
                entry.ModifiedUtc = CDate(dr(dateModifiedFieldName)).ToUniversalTime
            entry.Title = dr(titleFieldName).ToString.Trim

            ‘use the dasBlogDataService to save the new object 
            ‘ to our export directory
            dasBlogDataService.SaveEntry(entry)

            ‘increment our count
            i += 1

        End While

        ‘close the datareader, connection, and return
        ‘the count of records exported
        dr.Close()
        Return i

    End Function



June 1st, 2005   No Comments »

 

My Photos
www.flickr.com
This is a Flickr badge showing photos in a set called Weblog photos. Make your own badge here.