About
I’m a software developer working in Minnesota (Twin Cities), passionate about software development.
My focus is on developing desktop applications on Windows, as well as working on server-side components (web services and databases). 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.
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, FORTRAN, Windows Installer, Win Forms, MFC, STL, ActiveX, COM Servers, X Windows, and OSF/Motif. I’ve written production code in Ada, FORTRAN, C, C++, Pascal, Visual Basic, and C#. I started my career in the mid 1980s, writing Ada and C on the VAX/VMS platform, transitioning to Microsoft Windows in the early 1990s.
The technologies that I currently work with most frequently include C#, XAML (WPF), SQL Server, and Entity Framework. I’ve also begun to spend more time with HTML, JavaScript and CSS.
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#).
The idea behind my 2,000 Things projects is to learn a technology in more depth by writing a number of 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 in 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 for 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.
- 2,000 Things You Should Know About C# (1,200+ posts)
- 2,000 Things You Should Know About WPF (1,200+ posts)
As of early 2019, I’m adding a third member to the 2,000 Things family: 2,000 Things You Should Know About HTML. This blog will follow the pattern of the other two, containing many tiny posts, each of which explains one small topic. I may not create a post every single day, like I originally did with the other two blogs, but will try to post regularly.
It’s hard to decide on exact boundaries for the content in these blogs. The 2,000 Things You Should Know About HTML blog will focus solely on HTML. I will not be covering anything related to CSS and JavaScript, though these technologies are a critical part of any real world web development project. If I have the time and energy for it, I may later consider creating parallel blogs for those technologies.
Other places that you can find me:
- Sean’s Stuff – a general purpose software dev blog that I post to occasionally.
- Twitter – me on Twitter
- Grey Beard Sailing (YouTube) – me sailing on Lake Superior. More videos coming eventually.
- Grey Beard Sailing (Blog) – future home of witty and insightful posts about sailing
- Goodreads – what I’m reading (and have read)
- The Lucy Show – interviewing my daughter (podcast)
- The Daniel Show – audio podcast with my son
- Seans.com – my personal web site, a bit old and neglected.
- The Shed – a cool shed that I built. A number of people have built versions of this shed now, across the country, based on my original plans.
Last update: 25 Feb 2019
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 🙂
Thanks!
Great job Sean!! Thanks and good luck
wpf.2000things.com doesnt display properly on ie8
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.
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………………..
It’s absolutely stunning work what you’ve done and what you’re doing Sean.
Thank you for your gift to community!
Hey! Great site you have there, Sean.
Excellent C# and WPF knowledge centralizer together with StackOverflow and Code Project.
Thanks!
Great site! Love the format!
Can you do ones for LINQ, ASP MVC, Razor and Regular Expressions
Just some ideas 🙂
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).
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.
Yes, absolutely, I think that should be possible.
thanks for answered me. Do u know how to do that?
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
Repeat what many others have said.
What a simple yet incredibly effective idea. Bravo!
Thanks so much for this awesome blog.
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
Sorry CodeSee, the content on this blog is copyright and should not be copied to other sites.
Thanks,
Sean
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. 🙂
Wow, this is an amazing blog on WPF and C#. Thanks for sharing your knowledge!
I’m glad I found this website https://wpf.2000things.com/.
Thanks for blogging!
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.
Hi.
Where can I ask you a question about XAML?
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.
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?
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!
Hey, thanks very much Jörgen !
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.
Thanks!
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
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
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
Excellent blog for learning WPF
Still helpful, here in 2017. Especially for a young dev like me!
Used your listbox scrollintoview (controls, listbox) section. Thanks.
Amazing website!
BTW, could you please release a pdf file including all the things published so far. I think it’s quite useful for readers, and maybe even useful for late book publishing. Thanks for your work. I love it.
Thank you for this. Great format. I have learned a lot.