Welcome to Tiltech! Skip to Sections

Last Post
This Months Calendar, Posts for the current week, All Archived Posts

20090302

Justin's Blog & Twitter

So I learned that Justin changed blogs, not abandoned. I've updated the link in my sidebar. Additionally, I've decided that one reason for the lack of updates here is the amount of work to add a post. I've signed up at Twitter to see if the reduced friction leads to more updates. I'll see if I can integrate it into this site some time soon.

Comments for 02 March 2009

Subscribed via RSS
 Posted at 19:26 by Brains 

Lol, I have a good excuse for not updating my blog - it crashes the entire server every time I do.
 Posted at 19:27 by Brains 

Comments for 03 March 2009

Well.. that explains that. That's some fine bloggin' you got there, Brains :)
 Posted at 11:52 by Caindris 

Comments for 04 March 2009

Sorry to hear that your server is in bad shape. I've been wondering how things are going for you.
 Posted at 17:29 by Tilendor 


Comment on this entry


20090124

Happily Ever After

So this is by far the longest streak of not updating my blog ever. This is of course because I got married and have been building our new life together. This has taken time and helped me establish priorities. I must say that married life is far better than being single, dating, or especially being engaged. I love Jana very much and she takes real good care of me.

We've got our challenges and obstacles that we face, but I've never felt better prepared to meet them.

Sorry for the delay, but you can find our wedding pictures here

~Tilendor
Comment on this entry


20080815

The Wedding Day cometh

Life is keeping me busy. Work is good, but I should be spending more time at Lawngevity.

I can't ever believe that Erin found event organizing interesting... oy. Planning a wedding involves tracking a lot of different details to completion. You'd think I would be good at that because its a key part of being a programmer. However, the details in particular have a large effect on what is interesting. Weddings are knit from social fabric, which I just don't grok. I am seriously excited about being married, but think planning a wedding is something best done only once.

Also, please drop by our wedding website at http://wedding.tiltech.net

~Tilendor

Comments for 23 August 2008

Yeah, planning a wedding is a WHOLE LOT of work.

Two weeks left!

 Posted at 16:38 by Daniel 

Comments for 15 September 2008

Well, you did it, and the whole weekend turned out lovely. You might not like wedding planning and preparation, but perhaps you are good at it! Either that, or Jana is, indeed, amazing.
 Posted at 19:22 by Mum 


Comment on this entry


20080723

Time passes and things change

So another (more than a) month and another blog entry. If I keep up at this rate, my next blog post wouldn't be until after I'm married.

So here are recent highlights:

  • Moved to a new apartment located in downtown SLC. I don't have internet there yet, which is part of my lack of updates.
  • Went to Uprising in June, was a good time, and Jana enjoyed it too.
  • Went to Jana's Dad's family reunion and got to meet the other half of her family. They liked me and I liked them, so it worked pretty well.
  • I got my 90 day evaluation at work and got a 30% raise. Very good.
  • At work there were 3 programmers, one quit recently, and the other gave his 2 weeks notice, so I'll be the only one left.
  • Jana and I are focusing a lot on wedding plans.

Wedding Info

I'll get an official wedding site up at some point, but heres the relevant info:

Offical Date: Saturday, September 6th, 2008

Wedding Location: Salt Lake City Temple at 9:40am

Reception Location: City Creek Canyon, site #27 from 3:00pm to 6:00pm

News to follow.

~Tilendor

Comments for 02 August 2008

All good stuff!
 Posted at 17:56 by Mum 


Comment on this entry


20080613

LINQ inheritance in VS2008? sucks

This article is going to be rather different from my regular fair. I'm going to blog about something I've run into that is completely frustrating at work using LINQ.

Family, you're not going to get much out of this post, so proceed at your own risk.

For those who don't know LINQ is Microsoft's version of ActiveRecord?. ActiveRecord? is a great way of working with database information. For example, if I had three tables, Company, Department, and Worker, I could create relationships based on primary and foreign keys between them. If you tell ActiveRecord? of these relationships, you can translate our relational databases into object hierarchies.

To find the department a person works for, I could type "Worker.Department.Name" which would take the worker(which I already retrieved from the database) and get the department's name from the database. All without me needing to make a specific database call or command, it just knows what to retrieve and how to get it.

Likewise I could get a list of all employee names in a department by "Department.Workers.each do |w| names += w.Name end". Many database operations without me specifically calling database code. Very convenient.

LINQ supports this same functionality, in the same way someone with dementia remembers their phone number.

After typing the commands to setup the relationship, you can make use of this power object oriented ability, until you touch the database designer.

The designer is completely ignorant of the ability to link tables in this way. Which is absurd, because it knows about inheriting these classes (more on this later). When you make any change, including something as trivial as dragging a table around a view, it discards any modifications you have made and regenerates everything from scratch. Microsoft's solution to this is to use a partial class to save persistent changes, but this only supports a subset of the attributes needed.

For example, to inherit from a class, you multiple [InheritanceMapping?(...)] attributes, one per class. And on a column, you must include IsDiscriminator?=true in the definition to help LINQ determine which class to sort a row into. The first attribute can be defined in the separate non-generated file, but the second *MUST* be defined in the designer.cs file, which always gets overwritten.

Also, you can use the designer to create Inheritance, but it doesn't insert the required InheritanceMapping? attributes, so the code won't function.

Active Record is so much more flexible. It determines these things at *runtime* so your objects always match the database schema, and you need only maintain the database.

LINQ must have this information at Design time, which means you have the burden of updating the Database AND the project files with any change, and it does so in a broken manner.

The joys of working with Microsoft.

Comments for 30 June 2008

You need to hop on your messenger some time. I have an inquiry for you about a possible contract job
 Posted at 08:30 by Caindris 


Comment on this entry


Sections:


Page last modified May 20, 2008, at 04:53 PM