jordan.terrell
Just trying to make sense of things...

Taking a Break

Thursday, 28 January 2010 14:22 by jordan.terrell

Just wanted to let everyone know I’m taking a short break from blogging right now (if you haven’t already guessed).  However, I will return!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories:   General
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

“M” and Oslo’s Future

Wednesday, 11 November 2009 11:37 by jordan.terrell

If you’re at all interested in Oslo, you may be looking forward to the 2009 PDC to see the direction it is going to take.  As of yesterday, we got a small preview of that direction – and to be honest, without having all the nitty-gritty details that I hope will come out of the PDC, I’m concerned and disappointed – and I’m not the only one who feels this way.

“M” Interacting with the Database – Please Don’t!

I understand that using DSLs and modeling is an excellent way to capture and manipulate data that can be used by applications.  However, this quote from Doug’s post is what concerns me (emphasis is my doing):

Time after time we heard that “M” would make interacting with the database easier

The “M” language and tooling should have absolutely nothing to do with interacting with the database.  The fact that Microsoft has heard “time after time” that people would like to use “M” to interact with the database strikes me as a problem with many people not understanding what I believe “M” was envisioned to do and should be used for.  “M” (MGrammer, MGraph, MSchema) and its supporting tooling should be about the definition and runtime representation of models and languages used to create and manipulate instances of models.  It is my strong opinion that this functionality should have no direct dependency on databases or database interaction.  The core foundational value I saw in Oslo was a shared platform providing:

  • A DSL definition language (MGrammer)
  • A lowest common denominator representation of a model (MGraph)
  • Model schema definition and validation (MSchema)
  • Tooling (Intellipad, m.exe, possible VS integration, etc…)

What is so sadly ironic is that Microsoft recognized this from the beginning.  During many presentations at the 2008 PDC, the bond between developers and text and text editors was mentioned.  Microsoft knew they needed to have a first class story to tell when it came to text, and that was how “M” was born.

The Repository and Quadrant

My opinion of Repository is that it is a mistake to try to tackle Repository with the first release of Oslo.  Even during the 2008 PDC presentations it felt like the Repository was a solution in search of a problem.  I understand the value in being able to use models to define runtime execution characteristics of an application (e.g. HTML, XAML, WCF Service Descriptions, etc), but how many have you seen that execute their models from a SQL Server database?!?!? There might be a small class of applications where it makes sense to store and execute a model from a database, but my guess is that more often than not a model would either be stored in or transformed into something that looks nothing like a database.  Perhaps it would be embedded into an application redistributable as code or an embedded resource or persisted as a file.  Perhaps it is never persisted.  Regardless, if the model is to be persisted, that should be a separate responsibility.  Repository is a “nice to have”, but honestly I can’t see using it much, if at all.

As for Quadrant, I don’t feel versed enough in Quadrant’s capabilities to voice a strong opinion.  I do see value it having a common tool for visualizing and manipulating models.  However, I would spend my “development dollars” less on Quadrant for Oslo’s first release, and more on the “M” language and tooling.

Concerned, but Hopeful

Douglas has made it clear that there is more information coming about the “M” and DSL story.  I for one hope that “M” can stand alone from Repository, Quadrant, SQL Server, and anything to do with databases.  If this is not the case, I hope the Oslo team hears loud and clear that it should make some fundamental changes.

However, if “M” does stand alone, this post and the comments from others should help to keep it that way – even when “time after time” people associate “M” with database interaction.

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   ,
Categories:   Programming | .NET
Actions:   E-mail | del.icio.us | Permalink | Comments (3) | Comment RSSRSS comment feed

Scott Chacon – Git Documentation Master

Friday, 30 October 2009 08:48 by jordan.terrell

As I’ve continued my investigation into Git, a name kept appearing whenever I found excellent Git documentation.  That name is Scott Chacon.  This is a person who favors concepts over commands, and I immensely appreciate his efforts in demystifying Git.  I’ve found three resources that he, to one extent or another, has authored – all of which are great.

Of the three resources, for someone starting out I would recommend the Git Internals PDF.  It’s concise and simple to understand, and I’ve already seen one person who, more or less was anti-Git, read it in an hour and become pro-Git.  The other two resources are excellent as well.

I have to hand it to Scott, he sure knows his Git.  He just also knows how best to teach it.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:   Programming
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

iSynaptic.Commons Lives

Friday, 30 October 2009 08:35 by jordan.terrell

The last time I talked about iSynaptic.Commons was in July of 2008.  Basically I said that I was putting the release on hold.  Well, I’ve finally released it under the MS-PL license.

My reason for releasing it is by no means because it is complete.  It is no where near there.  I’ve got a lot of work yet to do on it, and I’ve got many things that I want to completely change or remove.  So my recommendation is that you don’t go use the code in a project you intend for it to keep stable, because it is going to be a moving target for now (i.e. there will be breaking changes).  Especially the Text.Parsing namespace and the Xml namespace.  Those were very naive and simplistic, and I will be replacing.

However, my primary reason for releasing it is to get feedback.  I don’t expect much at first, but I want it to be something I can talk about in this blog, and solicit direct feedback about specific parts of the framework.

Finally, I talked about iSynaptic.SolutionBuild and iSynaptic.Modeling in my previous iSynaptic.Commons post.  SolutionBuild exists and is in partially working order.  I will, at some point, be working on moving this into a public repository.  I may even change SolutionBuild to be based on PowerShell, and possibly psake.  As for the Modeling project, I’ve re-envisioned it under a different project I’m calling iSynaptic.Core.   Currently Core doesn’t exists (other than the repository being stubbed out), but what I wanted to accomplish with the Modeling project will be wrapped into the Core project.  Core will depend on Commons (Commons being a lower-level framework).  Likely, some of what is in Commons will be pushed into Core – I want to keep Commons lightweight, but useful.  Besides rolling Modeling into Core, details on what Core will be is something for a future post.  I don’t necessarily want to talk about it, until I have something to show.

Initially, my activity on all of these initiatives will be light.  I have numerous projects that are work related that I need to complete, and other non-development personal obligations as well.  This is just me taking the first step…

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:   .NET | Programming
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Fowler’s DSL Book Milestone

Wednesday, 21 October 2009 14:08 by jordan.terrell

Martin Fowler just updated his roadmap for his upcoming DSL book.  I can’t wait to get it!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   ,
Categories:   Programming
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Favor Concepts Over Commands

Monday, 19 October 2009 13:25 by jordan.terrell

Finally, I understand Git!!!

For a while I’ve been scratching my head on why so many people are jumping on the Git bandwagon.  I understood conceptually the benefits of a Distributed Version Control System (DVCS), but every time I sat down to learn Git I ended up more confused that when I started.

I even bought a book - Pragmatic Version Control Using Git.  Even after going through that book I still didn’t get it.  I was drowning in a sea of commands and I understood the basics of adding and committing files, however, outside of that I was finding myself getting into trouble and not having a clue on how to work through it.  I tried using some visual tooling to help, but it didn’t.  I attributed it to Git being far to complicated (and in some ways it is compared to other VCSs), and stopped trying to learn Git with a plan to pick it up in the future.  Much later in the future.

Then I stumbled on a book that, although being published by Apress, is available in open source formPro Git.  Not much time had passed since my last attempt, so I wasn’t really enthusiastic about reading another Git book, so I semi-begrudgingly read chapter 1.  Still, I wasn’t excited – chapter 1 covered the same stuff that was in Pragmatic Version Control Using Git.  Chapter 2 wasn’t that much better – just a laundry list of commands that you are presented with.

Honestly, I don’t know why I kept reading, but I’m SO glad I did.  Chapter 3 is where things just clicked.  The author started to use visualizations to show how Git works, and he started to explain all the underlying concepts of how Git represents things.  As each command is executed, he would show a visualization of how the Git repository changed, and that further reinforced the conceptual ideas.  Thru the rest of the book the visualizations were used and this added so much to the value of the content.

I finally understand Git and I will be slowly moving over to it as my main VCS – replacing Subversion.  I still think that the supporting tools need to mature (e.g. Visual Git tools – I don’t like command prompt source control), but the basic toolkit is rock solid.

If you want to learn Git, I strongly suggest you buy Pro Git (support the author).  If you plan to teach Git using any medium (e.g. book, blog, talk), please favor teaching concepts over commands – your audience just might git [sic] it!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:   Programming | General
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Google Wave = Social Networking Crack

Friday, 2 October 2009 10:19 by jordan.terrell

At least according to others…

I’ve not received an invitation to Google Wave yet.  But from looking at Robert Scoble and Louis Gray’s blog posts, it may be a bit overhyped and overemphasize real-time communication.  It makes me think of people who watch the stock market real-time – every little fluctuation in a stock price or derivative causes a corresponding fluctuation in their heart rhythm.  Not for me.

I’ve found use for certain social networking sites, but I fall into the camp that doesn’t feel compelled to monitor the goings on of my friends and associates on a daily or even weekly basis.  Some social networking platforms I’ve seen bring the worst out of people and they encourage so much drama.

Google Wave, in some ways, aims to bring many of this social networking paradigms together into a unified platform.  Definitely something I’ll try and may even find use for – but so far, based on what I’ve read and seen – it might be something I group into what I affectionately call: Social Networking Crack.

Currently rated 3.7 by 3 people

  • Currently 3.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

DNUG Talk: Follow Up

Friday, 2 October 2009 10:01 by jordan.terrell

I think last night’s talk I gave on Domain Driven Design was a success.  I received good feedback from those who attended.  We had around 50 attendees.  A good number of people had never heard of Domain Driven Design (which was surprising to me), many had heard of it but didn’t know much about it, and one or two people had read the book.  It was exactly the audience makeup I was targeting.

Domain Driven Design is not an easy topic to introduce.  It’s very broad, at times very complex and intricate, and it is a very conceptual topic – that is to say, it is more about how you think and communicate about a domain (business problem/solution space), and less about how you write software around the domain.

I outlined a number of follow up resources – frankly a LOT of follow up resources.  Domain Driven Design isn’t something that you are going to pick up in a few months; it is going to take time to absorb and apply.  There are technical concerns that often influence how you apply Domain Driven Design, and those concerns can often be addressed with other documented patterns – that’s why I provided supporting resources.

If you came to my talk, I’d appreciate any feedback you’d like to offer.  I’m giving the talk again at the Twin Cities Code Camp on October 24.  That is going to be a challenge – I only have 75 minutes at that venue, and I easily used 90 minutes last night (excluding discussion about follow up resources).

Thanks to everyone who came!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

DNUG Talk: Intro to Domain Driven Design

Thursday, 1 October 2009 07:51 by jordan.terrell

I’m giving a talk today at the Twin Cities .NET User Group, sponsored by ILM and hosted at Microsoft.  I chose to give it on Domain Driven Design because it is something that I’ve been learning since 2005, but there still seems to be many people who don’t know what it’s about.  I’ve received lots of feedback from people expressing interest in the topic, so hopefully we’ll see a good turn out.

I’ll be posting the resources after the talk – stay tuned!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Kindle: Where Does My Feedback Go?

Wednesday, 12 August 2009 13:55 by jordan.terrell

I recently provided a review of my Kindle DX experience – and it continues to be a positive one.  The “screensaver” that runs on the Kindle rotates through a number of images, the last of which displays an email address that you can use to provide feedback and suggestions about your Kindle experience.  I’ve done this twice, and here are the suggestions I’ve provided:

  • Organization
    • I would like the ability to mark books/documents as read or unread.
    • I would like the ability to mark items as private or public - show only public items on power up - provide some way to navigate to private items
    • I would like the ability to apply arbitrary tags to items - allow me to filter the item list by one or more tags
  • Screensaver settings
    • Allow the user to specify the amount of idle time the Kindle waits before it enters the "screensaver mode"
    • Allow the user to change the images used - some of them I really don't like (one or two I personally find mildly offensive) and I have turn the Kindle on and then off just to change it
    • Allow the user to disable the use of images - blank out the screen and display a simple message indicating that the Kindle has gone to sleep
  • PDF Support Enhancements
    • Add indexing/searching support across multiple PDF files - I realize this will not work with PDFs are are just images of text
    • Support dictionary look up of words in PDF files that contain text

After submitting this feedback, I received the following message:

Hello,
Thanks for writing about Kindle DX feedback.
I'll send your comments to our Kindle team for consideration.
Strong customer feedback like yours helps us continue to improve the service we provide, and we're glad you took time to write to us.  It is always important for us to hear how customers react to all aspects.
Thanks for your interest in Amazon Kindle.
Please let us know if this e-mail resolved your question:
If yes, click here:
http://www.amazon.com/rsvp-y?c=xxxxxxxxx
If not, click here:
http://www.amazon.com/rsvp-n?c=xxxxxxxxxx
Please note: this e-mail was sent from an address that cannot accept incoming e-mail.
To contact us about an unrelated issue, please visit the Help section of our web site.


Best regards,
Prakash
Amazon.com
We're Building Earth's Most Customer-Centric Company
http://www.amazon.com/your-account

Pretty standard boiler-plate “thanks for submitting your feedback” message.  Now, I’m not complaining about this message – it is the expected initial response.

However, I have not a clue where my feedback has gone or what is being done with it.  Did the product team review it?  Has it been added to a backlog of feature enhancements the development team is working on?  Or is it just rotting in a database somewhere?

I don’t think Amazon has done a good job of communicating the future roadmap of improvements and fixes to the Kindle platform and devices.  Even if they never plan to add enhancements, I am in some ways I’m okay with that – I really enjoy the Kindle experience as it is today.  But by giving me an avenue to submit feedback, Amazon has created an expectation that my feedback will somehow be acted upon.

Anyone at Amazon want to clue me in on what happens with the feedback from Kindle users?

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   ,
Categories:   General
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed