About Me

I’m a software developer working in the Twin Cities area, passionate about software development.

My focus is on developing desktop applications on Windows, as well as working on server-side components (web services and database).  I’ve also dabbled in creating web and mobile apps. My main passions lie at either end of the stack–creating great user experiences and designing data models and relational databases.

The technologies that I work with most frequently include C#, XAML (WPF), SQL Server, Entity Framework, Web API, and ServiceStack. I also dabble in HTML, JavaScript and CSS.

I’ve been a full-time software developer for 30 years and have worked with many different languages and technologies, including old chestnuts like: ANSI C, VB.NET, VB6, C++, Ada (gotta love the “rendezvous”), FORTRAN (yes–I’ve written production code in FORTRAN), Windows Installer, Win Forms, MFC, STL, ActiveX, COM Servers, X Windows, and OSF/Motif. I started my career in the mid 1980s writing Ada and C applications on VAX/VMS, transitioning to the Windows platform in the early 1990s.

I have a Bachelor of Science degree in Computer Science (University of Minnesota, 1987) and a Master of Science degree in Software Design and Development (University of St. Thomas, 1994). Along the way, I’ve gotten a couple of Microsoft certifications (VB.NET and C#).

Looking forward, I expect to spend more and more time working on web and mobile as opposed to desktop apps, but continue to be a “full stack” guy, staying proficient in database and server-side technologies.

The idea behind my 2,000 Things projects is to learn a technology in more depth by writing many short posts on the technology, each of which is limited to 150 words (or so) and demonstrates some small aspect of the technology. I’m also a firm believer building something that works as the best way to learn a technology. My posts therefore typically include working code fragments from small sample apps.

I’ve created two blogs in the past in the 2,000 Things series, listed below. The C# blog is now on hiatus and I’m posting in the WPF blog on a fairly limited basis. These blogs and the posts that they contain represent a huge amount of my time and energy. It takes many, many hours to study the technologies, create working examples of things, and then write about the topics. The amount of work that they took got to be too much and so I mothballed both blogs in late 2014. I still love both C# and WPF, so these blogs may be reborn at some future date.

As of late 2017, I’m adding a third member to the 2,000 Things family: 2,000 Things You Should Know About Web Development. The idea is that this blog follows the pattern of the other two, containing many tiny posts, each of which explains one small topic. I don’t intend to create a post every day, like I originally did with the other two blogs. That would be nuts. But I do intend to spend time regularly in creating posts in the new “Web Dev” blog. I’m excited about this, because it gives me a sandbox where I can spend more time learning various web development topics.

It’s always hard to decide on exact boundaries for things like the 2,000 Things blogs. For 2,000 Things You Should Know About Web Development, you can expect me to focus on the three pillars–HTML, CSS and JavaScript. But I’ll also likely spend a fair amount of time playing with various JavaScript libraries and tools. Nobody writes web sites or apps in a vacuum, so it’s useful to spend some time with some of the popular libraries and tools.

Other places that you can find me:

  • Sean’s Stuff – This is a general purpose software dev blog that I post to occasionally.
  • Twitter – Me on Twitter
  • Old Fart Sailing (YouTube) – Me sailing on Lake Superior. More videos coming eventually.
  • Old Fart Sailing (Blog) – Future home of witty and insightful posts about sailing
  • Goodreads – See what I’m reading
  • The Good, the Bad and the Summary – a few bite-sized film reviews. (Also sort of on hiatus)
  • Sean on Family History – An older blog of mine from a few years back
  • The Lucy Show – Interviewing my daughter (audio)
  • The Daniel Show – Audio podcast with my son
  • Seans.com – Personal web site, quite old and neglected. (But check out my 5-letter domain name)!
  • The Shed – Worth sharing since I’m proud of this cool shed that I built. A number of people have built versions of it now, across the country, based on my original plans. At least one of them was a “tiny house”.

35 Responses to About Me

  1. Khalilo says:

    Well, I have to admit that presenting the information in that organized manner following topic by topic in small chunks is absolutely creative way presenting the info to other programmers. In my modest opinion, I can even grasp the concepts much faster than I do with reading a WPF book.

    Thank you 🙂

  2. SODA says:

    Great job Sean!! Thanks and good luck

  3. pravin says:

    wpf.2000things.com doesnt display properly on ie8

  4. adi says:

    Excellent blog for learning WPF. I am new programmer and was looking for such a blog which explains each little things in detail. Thanks for making this blog. If there is any way I can also be useful, let me know.

  5. nihit says:

    hello sean, i am a new programmer and was looking for such a wonderful blog like you which explains each little things in detail. Thanks for making this blog ,how are writing an excellent blogs
    thank you………………..

  6. ngm says:

    It’s absolutely stunning work what you’ve done and what you’re doing Sean.

    Thank you for your gift to community!

  7. Hey! Great site you have there, Sean.
    Excellent C# and WPF knowledge centralizer together with StackOverflow and Code Project.
    Thanks!

  8. Nikhil says:

    Great site! Love the format!
    Can you do ones for LINQ, ASP MVC, Razor and Regular Expressions
    Just some ideas 🙂

    • Sean says:

      Thanks Nikhil. All of these topics are good ideas, good candidates for a blog following the “bite-sized chunk” format. I likely won’t cover any of them in this blog, since it’s limited to WPF (and some Visual Studio stuff). I’ll eventually get to LINQ in the C# blog, though (csharp.2000things.com).

  9. Ludo says:

    Hello,
    i want to know if it’s possible (and know-how) using a Page-Based Navigation inside an normal WPF application. What do u think?
    For example: i have an application wpf where, on a window or usecontrol customized, there’s a button and his event that calls a pages-based navigation of 3 pages.

  10. Ludo says:

    thanks for answered me. Do u know how to do that?

  11. ngm says:

    Sean,

    Just wanted to say how stunned I am finding this blog. The whole format and the way you present topics in it is something truly unique.

    Thank you for investing your energy into community.

    Will be checking the blog daily.

    – ngm

  12. Matthew Copeland says:

    Repeat what many others have said.

    What a simple yet incredibly effective idea. Bravo!

  13. Thanks so much for this awesome blog.

  14. zclmoon says:

    Hi, Sean

    I like your “bite-sized chunk” format.
    I’m reading your WPF related items, and I want to translate these items to Chinese into our code
    share BBS.
    We need your agreement.
    Our site: http://www.codesee.com

    Thanks,
    CodeSee

  15. shankar says:

    Thank you very much for sharing such a vast information. Very well organized and precise. Many developers and professionals will get benefited from this.. Good Work. 🙂

  16. HN says:

    Wow, this is an amazing blog on WPF and C#. Thanks for sharing your knowledge!

  17. henryqng says:

    I’m glad I found this website https://wpf.2000things.com/.
    Thanks for blogging!

  18. Ikram says:

    I am trying to make a Tire size lookup with Car Make; Model and Year selection with smooth transitioning. Do you have something like that. Meaning for every Make selection I can see the Model of the selected Make. That would be cool.

  19. Mariusch says:

    Hi.
    Where can I ask you a question about XAML?

    • Sean says:

      Right here works just fine. But Stackoverflow is always a great place to ask a question–tap into people who know a lot about WPF.

      • mariusch says:

        I’m trying to create a game that has a war map(grid) like in the Heroes 3 but with RotationX effect(so it looks like 3D). Is there a possibility to disable this Projection for some children of this grid?

  20. This is a really nice resource that you provide. I love the small, precise and clear examples. No nonsense, just the gist of it, enough to get me going. I hate having to parsing through huge essays, when I’m just looking for a small piece of information. Thanks man, I really appreciate your work!

  21. Red says:

    Excellent blog Sean, I’ve used this resource countless times in the past and I am very thankful for it. Keep up the good work.

  22. Hello Sean,
    great stuff.can you please provide pdf for that.it would be great for me as i can have hard copy to read it.
    Thanks

  23. John Martini says:

    Hey Sean, I had a few questions regarding one of your tutorials, i was wondering if you have time to help answer a few questions

  24. Steffen says:

    Hey Sean,
    I’ve been searching the internet – including your blog – for info about draging a selection of rows in a bound datagrid to some other control.
    My datagrid is bound to an ObservableCollection. I want to select one or more rows and drag them to an other datagrid. I am not able to find out how to extract the selected rows from e.Data.GetData(……) in the drop event.
    Do you know a way to do it? As I am using MVVM I would prefer your sample to do the same but it’s OK if it doesn’t.
    Thank you for a great resource!
    Best regards,
    Steffen

  25. Gopal Mahale says:

    Excellent blog for learning WPF

  26. Daniel Wherry says:

    Still helpful, here in 2017. Especially for a young dev like me!

  27. Used your listbox scrollintoview (controls, listbox) section. Thanks.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: