Link Dump

Now that I’ve been using FeedDemon for a while, I built up a collection of flagged but abandon posts. So I’ve decided to dump them, add what I can remember about why it was flag worthy, and then clear my flagged list. So I can dump it again later.. So in order of Feeds I pay the most attention to

  • Frank Arrigo
    Very Cool Windows Live Writer Plugin : Insert Website Image - a post about a great sounding plugin, to capture webpages, for display in blog posts. Not yet installed but I plan on it.
    MIX University - A bunch of links for Windows developed video’s, demo’s and lab’s. Mostly interested in the Windows Presentation Foundation, and WPF/E parts.
  • Neil Roodyn
    The 8/12 Gut Buster - an exercise method that sounds very similar to a running training method taught at high school, sprint one lamppost, jog two.
    The Value Of My Knowledge Is Knowing Where to Hit It - This post real hit home with me. I really like the story. I’m a story kind of guy, but more over I liked the reinforcement of the collecting information/titbits as a valued work style. I love listening to others problems, just to hear what they are doing, what they have tried, why that didn’t work, what they are going to try next.
  • Seth Godin
    Apologies, ranked - A great piece on customer relations.
    “Sorry” - Another great post on empowering others to feel better.
  • Jeff Atwood
    Boyd’s Law of Iteration - Another great story, I’m such a sucker for a nice metaphor
    Stylesheets for Print and Handheld - Some great titbits on styling your website for non-standard display/mediums.
  • Jessica Hagy
    Juvenile. - A jolly funniest blog, and this was on top form. Sometimes you realized your not the sharpest tool when it takes 5 seconds to get the seconds meaning to a joke (like this one did), but I did get to laugh twice, and now a third time at my slowness.
  • Steve Yegge
    Math For Programmers - I liked this as it’s encouraging to keep learning. Also I’ve done some extension my maths understanding since school. There is really so much beauty is maths, is just get access to it.
    Moore’s Law is Crap - A great post about stretching your self, doing the hard things, because that’s how you get better.
  • Alex Henderson
    WiX shortcuts… - Another little nugget. I have plan to upgrade our installer at work to use WiX over InstallShield. Yes I only just got it all working in InstallShield, but it’s voodoo, and also a classic setup.exe installer, thus will not work on Vista machines if I understand correctly.
  • Mark Carroll
    Kiwibank - Using .NET 3.0 to quietly get on with it - A good story with a white paper I plan to read at some point.
  • Wes Dyer
    About Queries - Another rainy day author like Steve Yegge. But this post is a great summary page to some of his other post.
    How Linq to Objects Queries Work - A great post about delayed evaluation. It really helped get my head around functional programming type features.

There have been many others that should be on the list, but I lost focus on the point of flagging things. Hopefully this will act as a better store for interesting things. Almost like the large collection of bookmarks that I have that you just come across, and will look into when time presents itself….

A Whip around Workflow Foundation

Chris Auld gave the Christchurch .Net user group a presentation on Windows Workflow Foundation today.

The highlight for me was the Rule Engine demo. As at work we are about to built a configuration tool, with the configuration elements defined in XML, but what I hadn’t solved was how to manage the dependency rules, and relations between elements. Ta-da problem solved.

The plan is to build at runtime a class that has properties per element, like enabled, mandatory. Then the rules XML can be loaded, and as elements are set, the related elements can be disable, or flagged as mandatory. Then the UI can be data bound to the dynamic property object, for displaying the changed state.

Oh, I’m just so excited. Now I have to download and prototype that general case and see how it goes. All up, I’m very excited!

Chris mentioned the wf.netfx3.com site, and the Rules Engine demo’s can be found on this page

Learn to Program - Chris Pine

I picked up Learn to Program (a fantastic book) from the library a few weeks ago, and have enjoyed reading it in the evenings. Chris has the best mix of humour and tempo in a beginners programming books I’ve ever read. Maybe it’s because Rudy doesn’t have the baggage, most procedural languages have. I even passed the book to my wife (a confessed computer disliker) to read, as I thought Chris has so well captured the context of problem been described.

The books it targeted at the beginner, and stays well to this course, but at the end block’s and proc’s are shown, so you get a feel of the power/elegance Ruby has.

Now I just need to find something to use Ruby on….

Seven Years!

Yesterday was our seventh anniversary. How time flies when you’re having fun. Others things over this period I can recall as taking their time and been painful, but being married to Michaela has never been one of those.

We stayed just out of Akaroa at Onuku Farm Hostel in one of their Stargazers wooden tents. These things are very cool. A wooden A-frame with glass above your head. So you get to gaze at the stars. It was partially overcast when we went to sleep, but I awoke in the night to one of the best views ever. Best of all, I was warm in bed. Combo!

I saw three shooting stars, zero satellites and a “new” star constellation! I swear it was a perfect dog shape. It was hard to go too sleep, when I felt I should keep looking, because I could and it was so pretty.

Google Finance and stock splits

Trimble has just had a stock split, and Google Finance just doesn’t deal with it correctly.

  • The graph looks correct until you look at the pan back a few days, then you see start of day spikes to the old price.
  • The 52 week numbers are non-split.
  • The Portfolios have not been adjusted, so I have to mainly alter my buy price. This sesms a little poor, as it becomes the users job to manage the spilt.

But it is free, and once these are factored in, I still can see what I’m after, which is how the stocks does each week.

Live Writer now works from home!

I had tried for a while to setup Live Writer at home, but this was during the Internet usage excess of Feb ‘07, so things took too long. Well I tried again today, and now it is setup at home also. This is good as it is the most easiest way to write blog entries.

I’ve been silent as I didn’t have Live Writer at home, and at work for the last two weeks I’ve had a guest from Montreal showing us how to use there software, so we can merge systems. I’ve learn Oracle SQL, CASE Studio 2 Lite (which appears to have gone end-of-life), and more VB6 than I could shake a stick at. I have redesigned our database schema to be compatible with their tools. And generally been very busy. I even found some time to rebuild a few of the tools in C# .Net

Visual Studio 2005, C++ and Time

Microsoft wisely updated time_t and the ATL CTime and CTimeSpan to use an int64 under the hood (from a int32), this is good except when we have those data types in our interfaces, and now we have broken backwards compatibility.

time_t has a a define you can use force time_t to stay a int32 _USE_32BIT_TIME_T. Unfortunately CTime/CTimeSpan do not respect this. One of our DCOM components packs arrays of objects into a stream. To make the game more fun one object element was a CTime and another was a variable length string. The fun began when another teams Delphi tool unpacked these streams and went off into the weeds because the packed objects were different lengths, thus the variable length string’s length was in a different place. Lots of fun debugging that one.

Anyway, the current solution was to change the object’s to use int32’s instead of CTime/CTimeSpan, and downcast the int64 result from .GetTime() and .GetTimeSpan() to a int32. Now our interface is restored. Ok so we are not future proof, and that app will start to behave fun some time in the future, but this just adds to the code paths that need retiring. Oh the joys of large old systems.

Coincidence

Seth posted about coincidence. Yesterday, we were debugging a problem (to be posted about later) I started to play with my phone, phone, and it turns out that the other four people in my cubicle all have the same phone.

The Nokia 3310. It’s just a all round great phone. The feature I like the most is it’s a single button click to cycle through the predictive text modes. Other phones seem to think you never want to swap, and thus hide the option in menus, very annoying.

The circle of Life

Warning: this is a personal blog entry, with no tech content other than name dropping Lisp.

Today has been an odd day. This morning my sister in law came over to look after our children (school holidays) with my niece. She is ~14 months, and just a cute little gem. Reminds me of my two children at that stage. Not that they are not gems, they just aren’t at the tiny and dependant, but still just starting to show free will. Mine now have a lot of free will. Once at work I looked at some pictures my mother had given me on a USB key. I had thought the pictures were of my sisters wedding, turned out to be my parents wedding and early family photos.

I had seen the real photos before, but when they are full screen, the detail is more obvious. The thing that struck me was how beautiful my parents were. I mean they still are, but they have always looked older, and I have no problem with how they look, and the fact I’ll look just the like them. The thing the overwhelmed me, was how they had looked before I knew them. It was how I’ve always seen myself, young. Besides that point I look so like my father, but it’s the idea, that we all have been young and we all age slowly.

Seeing photo’s of my brothers and sisters as small things, they were all easily identifiable. Seeing how my parents were glowing at their children, one of which was me, reminds me of how I feel when I look at my children.

I’d doing nearly anything for them. It’s then that you get your parents did do everything for you. You realize how much love your parents have always had for you.

When it felt like they were telling you off, they were just trying to warn you, or try to help you avoid making the painful life mistakes they made. But you can’t listen, or can’t understand where they are coming from. This dilemma I struggle with my children, how do I help them avoid pain? Because you never want them to suffer pain, but they don’t hear you intention.

Recently I have been learning a new paradigm of programming. LISP via Lisp In a Box, and once you get how lambda functions work, and why you they add power, how macros work, or how run time optimization via expression trees adds huge value (that bits from C# 3.0), you notice you are on the other side of the knowledge gap. Pre-jump people can tell you about the gap, but if you are not open to learning, you hear yada yada, and if your open but haven’t got it yet, you only know there is something you don’t know. But once you get it, you just get it. It makes sense.

When Matt and I were flying back from Montreal, on the Chicago -> L.A. flight we had some VERY loud late-teens. They talked on for 40+ minutes, about how their mother was a martyr for staying behind (it was just before Christmas) with the grandmother. Even though that is not what the mother individually wanted to do. The two late-teens, couldn’t get why mum, didn’t just do what she wanted. Just like they have been doing in their life up till that point. They didn’t understand that staying with grandmother, may feel like an honour compared to a chore.

While looking after your parents, may be trying and involve keeping people who are old and tired happy, it’s something I look forward to with pride. I look forward to repaying the effort my parents invested in me. Not out of a feeling of dept, but out of gratitude.

This was part of what the photo’s helped me get today. I feel happy to be on this side of the family gratitude gap.

Developer Tools Upgrade

Today I upgraded my development team member. He had previously installed Visual Studio 2005 and TortoiseSVN as guided, so I got to point him at our new Wiki, and watch him follow the “software build process”. And it just worked… there were a couple of missing notes about setting the debugging options as these are stored in the <project name>.vcproj.<user name>.user which I have in the SVN ignore list. So I showed him how to updated the Wiki.

I got to show him around the layout, debugging, and configuration UI of Visual Studio, and the workflow of SVN. It’s so nice when people go ooh-ah, makes the effort of driving for change feel rewarded.

I feel so much happier now we have move past Visual Studio 6.0, Visual Source Safe, and Word documents for notes.

I’m now getting the build scripts updated to use the new tool set. And then we will be reading to start testing the “tool update” before new development get mixed in.