Lego Model: Robot01

Here’s the robot that I made the other day. Small and simple (and fragile) but I thought it covered the classic droid basics nicely.

Once you start to learn the UI for LDraw it’s not that bad. My only gripe at this point is how to rotate the model around the center of the current view (3D Studio MAX style). The publishing tools might take a while to get use to, but here a shot plus the bit list.

Robot01
Robot01
Robot01 - BOM (bill of materials)
Robot01 - BOM (bill of materials)

A New Blog Site

Well I’m going to try out MSN Spaces, and already I like it more the Blogspot. It has a Category option. God Bless you MSN Spaces. Now all I want to see is if I can back post my stuff from Blogspots.

….A little later:
Well I still can’t see how to adjust the date/time of posts, but I like how slick the layout options are.
Well I’m going to try out MSN Spaces, and already I’m liking it more the Blogspot. It has a Category option. God Bless you MSN Spaces. Now all I want to see is if I can back post my stuff from Blogspots.

[Edit] Adding link back to old blog to allow old posts to be read.

SSIS Experimenting

For the last week (or unofficially last two weeks) I’ve been using SQL Server Integration Services to build the import process for the daily data exchange we have with our customers. The system is used to aggregate a fragmented market place after deregulation. The cost saving coming from many companies using a single source to do the grunt work (so taking that line of thought further, what value was gained by deregulation, but I digress)

The way data is exchanged is via flat files that are fixed position or comma separated. After seeing demo’s of SSIS at TechEd and the likes, it seemed a great tool to manage the data import/export process here. This would leave the core system to focus on aggregation and job management. The other tool that could have great impact is the Workflow Foundation.

The first challenge to over come is that in the data exchange files, many relational tables are merged and layed out by the related rows after each other (with foreign key relationships implied by order). This required that I build a custom source component that could parse the rows and output the separated table, but also insert the correct foreign keys. Well I’ve got this step completed with a hardcode format, and it works a treat inside SSIS. With the hurdle passed we now know we can process the different types of files we exchange with our current business partners.

Now at this point, the business decision of encapsulating our current business processes in SSIS, so the resulting data can be push directly in the database. For our current product, that’s a lot of work, with little clear gain. The major gains I see are the higher level view you get in SSIS would allow better understanding of the import process. We would separate the import process from the core product, allowing independent release cycles. Load would be removed from the SQL database (via stored procedures) to a potential different location to allow better load management.

At this point I think the management team is putting the idea to rest.

Things I’d still like to do with the custom component is make it configurable at design time via a GUI, with either external configuration files, or stored in the meta data of the SSIS package (haven’t worked out how to do this one yet). I’d be keen to release the component, to give back to the community.

I found the online MSDN really helpful and the people at the Microsoft Technical Forum where great, especially Jamie Thomson and Simon Sabin. The resources at sqlis.com were also really great.

PubSub

While doing some searching for my sister’s email address, I found PubSub and did a search on my blog (as you do) and low and behold, someone linked to me. Thanks Darryl.

Updated Dec 2007: Oh gosh, PubSub is down, that’s not my blog any more (by twice) and that’s not Darryl’s main blog anymore. How time moves on!

Lego

I have been on the look out for a tool to capture some of the designs Jacob has been creating with his Lego for a while now. Today on Digg there was a link about Lego CAD software pointing to this tool set. I’ve downloaded it, and plan to setup it tonight. I’ll see how easy it is to use, then show Jacob. I think he’ll really like me been able to record his ideas.

While reading that site I saw a Google Add for Box4Block for storing Lego. My neighbour used to have a really cool four layered box that had variable sized holes (at the bottom of the upper layers) so the little bits drop to the bottom. I thought I’d see how this compared. It’s the same Product. The company has expanded its operations. Now they are manufacturing out of the USA, so they don’t have a New Zealand sales presence any more. Stink. The site could do with a face lift.

New Computer

I Purchased a new computer last week, with the major justification been experimenting with the new SQL Server tools like Integration Services.

As we have been saving for a house for ages, I have been resisting buying a new computer, so my goal was to spend the least I could, but still have a good home dev machine. I was going to reuse my 17” monitor and keyboard/mouse and CD burner. Thus my purchase list was…

AMD Sempron (754) 2800+ CPU with Cooler $125.00
Gigabyte GA-K8NS Motherboard $135.00
2x 512Mb Adata PC3200 DDR400 Memory $160.00
80Gb Seagate 7200.7 SATA Hard Drive $110.00
Raidmax Elite 208B ATX Tower Case, 400w PSU $70.00
Microsoft Windows XP Home Edition (OEM CD with SP2) $150.00

I ordered all this from TasTech, who I had not realised was a home run “shop”. (He lived/works three houses down the round from where my school friend Michael McDonnell lived). I had originally ordered DVD Rom as my current Samsung was a piece of junk and would get upset when reading from the second layer. But he could not source one. I got all this stuff home, started building and found that I was missing the SATA power cable. Gordon saved the day, by answering my email. I went to and got one from him (where he informed me of secret news that even Mark does not know) and I returned home to complete my machine. I now had a built machine.

When ordering the parts I had not noticed that my current Modem was an ISA bus card, and the new motherboard was only PCI. So a extra $40.00 for a new (non-WinModem). The Samsung lived up to my expectations and would not read CDs or DVDs. Matt ordered me a CDR/DVD Rom drive from Dove, but when I turned up to get it. They could not find the order. But they did have plan DVD Rom’s, so for $58.50 I got a new 16 speed drive.

Grand Total Cost: $848.50 NZD

I then spent a few nights coping/pruning data from my old hard drives (which had an old-pc directory on it (which also had an old-pc directory)), re-installing software, and playing games (mainly emulators) and been happy that they run so smooth.

The only problem I’ve found so far is that SQL 2005 CTP will not install on top of VS 2005 RC. It says there are SQL components installed, but the remove components tool says all SQL bits have been removed. This is annoying as I’m really enjoying developing SSIS components at work.

On Monday night I got my Subversion installation working. Last time I moved things around I had a lot of pain getting my development folders back in sync with the new repository location. This time a noticed an option to move repository (must be a dynamic feature, as I cannot see it now), and hay pesto it now points to my new repository.

So in VS 2003 my COAB game take 5 seconds to build compared to the ~2 minutes for my old machine, It’s great. I stayed up till 3am due to removing warnings was so much fun. I could make small changes rebuild and keep going. Where-as before I’d notice how tired I was while doing builds and go to bed at a more sensible time (1am).

So last night was a TopCoder SRM which had a prize purse of $5,000 USD but it was starting at 1am. I was too tired to stay up to compete. Reading Marks post it sounds as if it was easy, because he did well, so I now know I made a mistake going to bed.

Other things that now work great due to the new machine:
“Microsoft Code Named Acrylic” I’d downloaded this a while back after seeing some really cool panoramic pictures done with the photo stitching. I did some runs at home and at the office, and the wired thing is I look at the pictures and they look normal as expect. Which I realised was just the fact that you normally see so much of a room/area that is lost by a camera.

TV Capture card. I had purchased a TV capture card a few years ago when I first heard about PVRs with the desire to build one. The new machine can capture at full rate and MPEG2 encode with only a 20% CPU hit. Now I just need to get a better than rabbit ears aerial to my machine. But I’m still really keen to buy a PVR.

So with been busy working with SSIS at work and the new PC at home, I’ve got behind on sleep, blog reading and writing and book reading.

Martin works top-secret style

So I was talking Martin today, and asked where in Oz he is now working, and he said “Silverbrook Research” so I jump over to Google and the first link is about patents, so I open the link and it’s a list of 639 patents applied for this year. (August 39, July 238, June 69, May 77, April 54, March 93, February 68, January 57) Looking at the list you notice common word counts like:

  • inkjet 131 times
  • printer 193 times
  • printhead 202 times

Gosh, that amount of money been spent on patent applications must be huge. Anyway Martin was tight lipped when asked if they license their portfolio etc.

They have no web site, but there are titbits of info around. Hmmm, very mysterious company.

One patent I read was Universal pen with image sensor which talks about a pen with an inkjet print head instead of a nib and a integrated scanner. What-the…

TopCoder - Single Round Match 263

Today’s SRM was interesting. It was at 1pm so the time was fine, except I was finding it really hard to not be distracted by the goings on at work (the clock was off).

The first problem was a simple set logic worth 250 points. I completed that in 10m39s for 220.59 points.

The second problem was also simple, but involved tracking DVDs and there cases. I spent ages muddling on paper what to track in my SortedList. After much time wastage, I settled for tracking the DVD’s and what case they where in, as the final output was to be sorted by the DVDs title. It took a while to get it working for the first two test cases. The output was arrays of string, so I did visual inspection. Mistake, as I did not cover the third example correctly. The third case covered the clause “You should return a String[] where each element describes a movie that is in a different movie’s case after all DVDs have been viewed.”

So after 42m49s I submitted my solution for 232.15 points, and once again I lost the points due to not reading the problems correctly. It least it was system test that found the problem, not other competitors. But gosh I’m getting sick of it.

I read the new article Competing tomek-style afterwards, and I think I need to note down the constraints, as this seems to be what’s letting me down.

The third problem was about optimal deque sorting and was worth 900 points. With only 20 minutes left on the clock, I thought about the problem, but did not make any progress on it. I agree with the article that solving the problem on paper first is the best idea. In the past I’ve started coding before having worked out what I’m doing, and then you have to recode things to use different containers or the likes.

SQL Server 2005 Overview

I have just returned from the Christchurch .Net User Group meeting on SQL Sever Overview. Darryl Burling was a good presenter. He had a large deck of slides to present, so it was really a fly by night, taste in the month of what’s coming. I think if this meeting had been before the SQL Reporting Services meeting, that one would have had a larger attendance, as Adam covered most of the tasty bits, but in more detail.

So while the guts of the presentation could have been learnt via other sources, it was nice to have it woven together by a live presenter.

It was a good turn out, and nice to put a few faces to names.