Roosevelt's Man in the Arena, But for Developers A playful remix of Theodore Roosevelt’s “Man in the Arena” for software developers.
Sunsetting Search? Noticed a change in your search engine use? I definitely have and it’s a strong downward trend.
Michael's Top Trends of 2024 for Python Web Devs What are my top 8 trends of 2024 for Python web developers?
Talk Python migrated to Quart web framework And I did a big write up in case it helps anyone on similar journeys.
Blue Skies ahead (follow me there) Follow me and the podcasts on Bluesky.
Introducing chameleon-flask package A new package to add Chameleon HTML support to Flask.
Talk Python has moved to Hetzner We’ve moved our infrastructure to Hetzner’s data center in Virginia.
Opposite of Cloud Native is? Time to define what it means to be NOT cloud-native, in a positive way.
Search Talk Python from your address bar It's now possible to search the podcasts from anywhere.
We Must Replace uWSGI With Something Else uWSGI is in minimal maintenance mode, now what?
Let's go easy on PyPI, OK? Why do we pound PyPI when we have caching?
Passkeys are great, careful of the lock-in Along came passkeys. A cool idea that quickly turned evil.
Docker images using uv's python uv has added a new way to build Python-based containers.
Keynote: The State of Python in 2024 Michael Kennedy's keynote at PyCon Philippines 2024.
Use Custom Search Engines Way More Browsers these days let you add custom search destinations directly, which ones could add?
Unsolicited Advice for Mozilla and Firefox Some unsolicited, probably painful, but needed advice for Mozilla and Firefox.
AI Features a Waste of Time? How many cumulative programmer-hours have been wasted on AI integration?
Hide Those Terminal Secrets! Automatically redact secrets in your terminal for screen sharing and recording.
Don't Sweat the Ad Blocker Drama Chrome has been stiring up lots of concern with their ad-blocker limitataions coming. But don't worry, it shouldn't apply to you anyway. Here's why.
You Can Ignore This Post GitHub has a whole repo full of ignores you can make use of.
Rebuilding Mobile Apps at Talk Python A litle background on rebuilding our mobile apps.
Dev on the Road Some options for traveling light and leaving your laptop at home.
Welcome back RSS RSS was the foundation of the early web, and it's still important.
Paying for search in 2022, am I crazy? I have some core beliefs about the technology world.
Sometimes, You Should Build It Yourself When it's healthy to embrace your 'not built here' tendencies.
Properly Factor Your Jinja HTML Code with Jinja Partials You wouldn't write 500 lines of Python in one function, so why do it in HTML?
Black Friday: A Lesson in Python Performance Black Friday almost melted our servers
Python 3.11 in 100 Seconds Learn about Python 3.11 in 100 seconds with my latest video.
Mastodon First: My New Social Attitude Not leaving Twitter or other social media, but...
Installing Mastodon as a Progressive Web App (PWA) Searching for a great Mastodon app? It might be hiding in your browser!
20% Faster Python with a Single GC Tweak Your Python GC settings are wrong and they are hurting your performance.
Hassling Spammers Spammer: I have some good topics on python
Python's Entire Codebase Leaked A 'cyber-security' incident may have surfaced.
20,000,000 IS QUITE A MILESTONE I want to take just a moment and celebrate a milestone over at the Talk Python To Me podcast. We have been growing for over 5 years since we launched. Today we passed a major milestone in the podcast ...
Take these Pythonic tips with you You might have heard about my Write Pythonic Code Like a Seasoned Developer course. In that course, I cover 52+ idiomatic ideas from Python. Just to give you an idea, it talks about using for-in loops...
Know .NET? Learn Python with our free webcast in February! Are you a .NET developer and are considering Python as your next language to expand your knowledge and skill set? Come spend an hour with me during my next free webcast. ! There are many getting start...
Top 5 Talk Python Episodes of 2019 It’s been a great year over at Talk Python. The podcast has been going strong with many listeners from every corner of the global. We’ve launched a bunch of new courses at Talk Python Training and eve...
Is Python right for your team? Over at Talk Python, we’re doing a fun online event for people exploring Python and whether it’s a fit for their organization or for their team. Is Python right for your organization? Are you tasked w...
A couple of podcast interviews (me as a guest) Hi everyone. I recently got the chance to be interviewed on two podcast / youtube shows. They were a ton of fun and I think we actually covered a ton of fun topics that were both technically deep as w...
Learn Flask and SQLAlchemy with my latest online course Hi there. I’m excited to announce the availability of my latest online Python web course. Building data-driven web apps with Flask and SQLAlchemy !flask-data-web-apps.jpg This is our most recent cours...
Being a Great Podcast Guest I recently got the chance to be a guest on Brian Okken’s Test and Code podcast. His show has been coming on strong lately with some great guests. So when Brian asked me to go meta with him and be his ...
Learn Python Web Development with our latest course Hey everyone, I’m super excited to share a project I’ve been working on over the past couple of months. We just released a new course over at Talk Python Training. !python-data-web-appspython-data-web...
Eve: Building RESTful APIs with MongoDB and Flask Want to build MongoDB-backed RESTful web services in Python? Over at Talk Python Training , we just launched a new course on the Eve RESTful framework. It’s called Eve: Building RESTful APIs with Mong...
A bunch of online Python courses Hey everyone, Happy 2018! There are many things to celebrate as we roll into this new year. One is a bunch of new Python courses are either available or coming soon at Talk Python Training. I’ve been ...
Why is Python hard on Windows? You tell me! I’m building some resources to make using, developing on, and teaching with Python on Windows easier and better. If you’ve used Python on Windows, please tell me about your experiences so we can pay i...
MongoDB Quickstart with Python: A new, free course to teach you MongoDB Have you been wanting to learn MongoDB or how to work with it from Python? If you’ve been on the fence about taking an online course or have been unhappy with ones you’ve taken before, here’s a great ...
Yelp Reviews: Authorship Attribution with Python and scikit-learn This is a guest post by Gareth Dwyer is an author for DevelopIntelligence, who offers Python Training for Teams. Yelp Reviews: Authorship Attribution with Python and scikit-learn When people write tex...
New course: Consuming HTTP services in Python I’m thrilled to announce a new Talk Python course: Consuming HTTP, RESTful, and SOAP Services in Python Visit the course page to join What’s this course about? This course will show you how easy it is...
Write Pythonic Code for Better Data Science (recording available) I recently did a live webcast in conjunction with dataschool.io called Write Pythonic Code for Better Data Science. You might be thinking, “Live webcast, well that’s a little late, isn’t it?” Well, no...
Announcing Python Bytes Podcast: Python headlines delivered to your earbuds I’m very excited to let you know that I have joined forces with Brian Okken to launch a second podcast called Python Bytes. The idea is we’ll deliver Python headlines directly to your earbuds over the...
Pre-order Python for Entrepreneurs course Good news! My popular course Python for Entrepreneurs is now available for pre-order with immediate access to the first 4 hours of content and more coming every week! You’ll even save $30 off the fina...
Pythonic code by example in 5 videos (video series) I recently partnered with the folks over at Data Dependence to put together a video series called: Video Series Taking Your Python Skills to the Next Level With Pythonic Code Check out the original po...
Python for Entrepreneurs Kickstarter Launches Today I’m thrilled to announce that today, in partnership with Matt Makai of Full Stack Python , I have launched a kickstarter to fund the creation of my most anticipated course: Python for Entrepreneurs !p...
Stitcher and Talk Python Podcast: A Farewell Letter I have decided to remove my Talk Python To Me podcast from Stitcher. This has probably caused some grief to a number of my listeners and to you all I apologize about that. This post explains why I did...
New course: Write Pythonic Code Like a Seasoned Developer I’m thrilled to announce the second online Python course in my grand plan to create an amazing online resource for Python developers. Write Pythonic Code Like a Seasoned Developer You can buy the cour...
Python for the C# developer (live from NDC Oslo 2016) Are you spending your days writing .NET and C code? What is it you love about C and the .NET ecosystem? Do you love Entity Framework and the hyper productivity of a great ORM? How about ASP.NET MVC as...
Away from the keyboard podcast: Michael Kennedy Goes Around The World With Python Hi all, I had the honor to spend an hour with Cecil Phillip and Richie Rump on their laid back technical, but casual podcast Away From The Keyboard. I really enjoyed the conversation and I think you w...
Talk Python Courses: You’ve asked, I’ve listened (and coded) Hi everyone. My Python Jumpstart by Building 10 Apps course has been out for awhile now. I’ve already started on the next one which I’m calling Python for Entrepreneurs. I’ll keep you posted as that d...
Hear the story of my career and what inspires me on Developer on Fire podcast I had the honor to share my story of how I became a ‘Developer on Fire‘ with Dave Rael on this podcast. If you’re trying to grow your software career or become an entrepreneur, you’ll probably find it...
The Final 36 Hours: Python Jumpstart Video Course Kickstarter Update : Check out my Python for Entrepreneurs course running on Kickstarter now There are just 36 hours left in my online Python course Kickstarter. Python Jumpstart by Building 10 Apps !kick-status-...
I’m Building 20 Online Python Courses and I need your help Update : Check out my Python for Entrepreneurs course running on Kickstarter now When I started the Talk Python To Me podcast almost a year ago, I had modest expectations and more than a little uncert...
9 reasons you should be using PyCharm On my podcast, Talk Python To Me, I’m working on an episode highlighting PyCharm, the amazing IDE from JetBrains. Here’s a blog post to accompany that episode. Update: Listen to the podcast interview ...
Land your first Python software development job on Talk Python I’m looking for a handful of people to put together a unique episode of my podcast Talk Python To Me. Can you help? There are two groups of people who I’m looking to spend 10 minutes talking with: 1. ...
Announcing Cache-Tier Python File Server on GitHub About a month ago I decided to move the audio traffic MP3’s, etc. for my podcast Talk Python To Me. I realized that while I had been using Amazon S3 to deliver the files and it was working wonderfully...
Come Learn Python and Be Part of Talk Python To Me! Are you interested in learning Python? Well, my buddies from San Diego: Scott Reed, Brad Cunningham, and Ike Ellis from Crafting Bytes just started the Python edition of their Technology Immersion Gro...
A look inside Netflix’s cloud systems: Python at Netflix This week I released an excellent interview with Roy Rapoport from Netflix about the amazing ways Python is being used at Netflix. Listen in: Talk Python To Me – Episode 16 Python at Netflix < In case...
I made an appearance on the Geek Cookies podcast I had the honor of being a guest on the Italian Podcast Geek Cookies last week and the guys were even willing to switch to English for the main interview. If you want to here an interesting, high-leve...
Python Podcast Episode #3 – Pyramid Web Framework Just a quick note that there is another episode of Talk Python To Me. This time I’m speaking with Chris McDonough about the Pyramid Web Framework. Listen in now, hope you enjoy the show! !e3
New Podcast Episode: Python and MongoDB I recorded a session with Jesse Davis from MongoDB on Talk Python To Me. I think the show came out great. You should check it out! !Episode 2: Python and MongoDB with Jesse Davis this show we speak wi...
Announcing new podcast: Talk Python To Me I’m super excited to announce that I just launched a brand new podcast for Python developers calledTalk Python To Me. This weekly podcast already has the first episode published and some amazing guest...
Python Cheat Sheet In collaboration with DevelopMentor to get the word out about our Python curriculum, I built a simple but fairly comprehensive Python cheat sheet. It’s pretty thorough at 16 pages in length and covers...
Announcing the 2015 MongoDB Masters NEW YORK, NY and PALO ALTO, CA – March 10, 2015 – MongoDB today announced the 2015 members of the MongoDB Masters, an annual program run by MongoDB to recognize and empower leaders in the MongoDB comm...
Initialization in Modern C++ vs Apple’s Swift Time for another great guest blog post from Bradley Needham to follow up on his very popular Swift vs. C++ post. Enjoy! Initialization in Modern C++ vs Apple’s Swift A little while ago I wrote a short...
New course: Announcing The Swift Programming Language from DevelopMentor !swift-bannerswift-banner.png I’m really happy to announce the latest course I’ve co-authored at DevelopMentor: The Swift Programming Language < This course is specifically build to help teams of exis...
10 Myths of Enterprise Python from PayPal Update : Listen to my interview with Mahmoud Hashemi from PayPal on this topic on the Talk Python To Me Podcast, Episode 4 Yesterday I stumbled across an excellent article by Mahmoud Hashemi from the ...
Announcing DevelopMentor’s Swift iOS and OS X Course ! What a week! Time to announce the second course this week I’ve written for DevelopMentor along with my co-author Bradley Needham. > Essential Swift iOS and OS X Programming Course If you’re ready to...
Announcing MongoDB for Python Developers Course !pythonmongodb.png I’m very exited to announce the latest course I’ve written for DevelopMentor: > MongoDB for Python Developers If you’re looking for MongoDB training for you or your team, please con...
Comparison of Modern C++ and Apple’s Swift Programming Language Syntax This is a guest post from Bradley Needham, one of my DevelopMentor colleagues. He manages our C++ curriculum and was inspired by my Swift / Python comparison Comparison of Python and Apple’s Swift Pro...
Python for the .NET Developer on .NET Rocks Note : This news is old, I some how missed posting it to my blog. So here it is! ! Show 951: Python on .NET with Michael Kennedy Back in February, I had the honor of being the guest on the .NET Rocks ...
Better Python Integration in Windows: Shebangs and Version Selectors I’ve written several times on efforts to make Python better on Windows. I also have an outstanding request to the Windows 10 team to get Python built directly into Windows 10 please upvote it!. In thi...
Comparison of Python and Apple’s Swift Programming Language Syntax !python vs. swiftAs a Python and C developer, I have been intrigued ever since Apple announced the Swift programming language to cheering crowds at WWDC 2014. This post will explore the syntax of Pyth...
Shipping Python with Windows 10 Python is awesome but Python on Windows always feels like the red-headed step child. With Window 10’s UserVoice campaign, you can help me change that! Let’s start here: Please vote for this request on...
Convert LINQ to MongoDB queries to JavaScript shell !githubicon If you do a lot of work with MongoDB from .NET, this code should look familiar: var query = from p in mongo.People where p.Age > 20 && p.Name.Length >= 2 orderby p.Age descending select p;...
Ever wonder how big the .NET and Python communities are? Do you ever wonder how big .NET and Python communities are? I’m working on an article about Python and .NET and this comparison definately came to mind. So I did some research on meetup.com. I chose s...
Much of my blog’s sample apps are now on GitHub and Azure Here is a quick announcement if you have been downloading or using any of the libraries and sample applications from my blog. The most popular ones are now all on GitHub. This means you’re welcome to ...
Python and .NET in Portland If you live in Portland, OR and are interested in Python, you might want to drop by my user group talk at PADNUG February 20, 2014. I’ll be speaking on Python for .NET developers and it’s hosted by th...
Special Event: MongoDB in New York from DevelopMentor I’m excited to announce that I will be teaching MongoDB for .NET developers from DevelopMentor in New York City at MongoDB Inc.’s headquarters on Times Square. The class is March 11, 2014 to March 13,...
Part 7: Lambda Expressions in Python for .NET Developers Series This post is part 7 of my many-part series entitled Python for .NET Developers. View the entire series here. This video explores Python’s equivalent of C’s lambda expressions. Are you interested in Py...
Part 6: Anonymous Types in Python for .NET Developers Series This post is part 6 of my many-part series entitled Python for .NET Developers. View the entire series here. This video explores Python’s equivalent of C’s anonymous types including a custom class to ...
Part 5: Properties in Python for .NET Developers Series This post is part 5 of my many-part series entitled Python for .NET Developers. View the entire series here. This video explores Python’s equivalent of C’s properties including read-only and computed ...
Part 4: foreach and IEnumerable in Python for .NET Developers Series This post is part 4 of my many-part series entitled Python for .NET Developers. View the entire series here. This video explores Python’s equivalent of C’s foreach loops and IEnumerable interface. Are...
Part 3: A single, common base-type in Python for .NET Developers Series This post is part 3 of my many-part series entitled Python for .NET Developers. View the entire series here. This video explores Python’s equivalent of C’s ‘everything derives from System.Object’ comm...
Part 1: Welcome and lightning-fast Python introduction in Python for .NET Developers Series This post is part 1 of my many-part series entitled Python for .NET Developers. View the entire series here. This first video and blog post simply introduce the series and provide a very brief Python ...
Part 2: Visual Studio and IDEs in Python for .NET Developers Series This post is part 2 of my many-part series entitled Python for .NET Developers. View the entire series here. This video explores choosing an IDE for Python development, especially one that will make ....
Series: Python for .NET Developers Introduction Welcome to my series of blog posts covering Python for .NET developers. In this many-part series, I will introduce you to Python from a .NET developer’s perspective. As .NET developers, we generally a...
Watch Python for the C# and .NET developers We just published my latest webcast. Feel free to watch it or download the demos and slides. Hope you enjoy it! Python for the C developer!bootstrap-webcast-starter Here is the summary : If you love C...
Watch Building beautiful websites with Bootstrap We just published my latest webcast. Feel free to watch it or download the demos and slides. Hope you enjoy it! Building beautiful websites with Bootstrap: A case study!bootstrap-webcast-starter 0.000...
MongoDB for .NET developers I’m very proud to announce DevelopMentor’s soon-to-be released MongoDB for .NET course which I am authoring along with Pierre Nallet. Please subscribe to be notified » NoSQL and MongoDB for .NET devel...
Reblogged: New webcasts from DevelopMentor: MongoDB, iOS, and Bootstrap Reblogged from DevelopMentor. We are excited to announce three upcoming webcasts at DevelopMentor in November: ! !webcast-mark-smith-iOS-and-dotnet-Xamarin !webcast-michael-kennedy-bootstrap-beautiful...
Come to my SDD Conference sessions in May, 2014 !sdd14speakwide500 I’m super excited to announce that I’ll be speak at the brand new SDD conference in London next May. I’ll be doing two sessions on ASP.NET MVC and two on MongoDB as well as a full d...
New online course: Source Control with TFS Version Control > If you’re interested in TFS, we just released a great new online TFS course from DevelopMentor over at LearningLine. Here are the details. !Michael Kennedy's avatarLearningLine blog - online develop...
Reblogged: What should I learn to get started in .NET and web development? Note : I am reblogging this post which originally was posted to the LearningLine blog. Hope you all find it useful here as well I recently had a conversation with someone who is looking to make a fres...
Why Choose NoSQL and Document Databases over RDBMS Do you want to know the biggest single reason you should choose document databases over SQL Server, Oracle, or MySQL? Hint: It’s not performance or scalability. Here is a short screencast which shows ...
Installing MongoDB on Windows and OS X Ready to get started with NoSQL and MongoDB? Here are two 7-minute walkthroughs for installing MongoDB as a Windows service / OS X daemon. These are both excerpts from my upcoming online MongoDB cours...
A Roundup of MongoDB Management Tools I’ve been working with MongoDB for a long time now. Back in the early days, there really were no management tools analogous to RDBMS tools e.g. SQL Server Management Studio. Since then, things have ch...
Optimistic concurrency in MongoDB using .NET and C# !githubicon Available via NuGet – MongoDB.Kennedy.Concurrency Available via GitHub – optimisticconcurrencymongodbdotnet This article demonstrates a technique and supporting library for adding optimist...
Take the first hour of any online developer course for free at LearningLine Note: reblogged from blog.learninglineapp.com. I’d like to personally invite you to check out our work over at LearningLine – just follow the links below. We believe that LearningLine is the most effe...
Slides and demos from DevWeek 2013 Update: I added the downloads for the demo code on March 12th. I had a great time discussing these topics with everyone at DevWeek 2013. Thanks to all who attended my sessions. Here are the slides: Ge...
Announcing LearningLine: Instructor-led online training from DevelopMentor I am very proud to announce an exciting new online learning platform from DevelopMentor: ! < At DevelopMentor we have been thinking deeply about online training. We wanted to create an environment tha...
3 Open-Source Validation Projects for ASP.NET MVC ! "Join the instructor-supported online learning revolution." The goal of this post is to show you validation options beyond those that come in-the-box from Microsoft and the ASP.NET team. Currently, ...
Screencast – Validating ASP.NET MVC Forms with DataAnnotations Here’s a new screencast for you MVC guys and gals out there. Validating ASP.NET MVC Forms with DataAnnotations In this short screencast, I will show you how to leverage ASP.NET MVC’s excellent model b...
Tips for optional parameters to ASP.NET MVC action methods ! "Join the instructor-supported online learning revolution." Here’s a quick ASP.NET MVC tip to help you be more productive and write cleaner code. We will see how to leverage C 4’s optional and defau...
Use NuGet package restore to simplify code sharing Here’s a quick post on how and why you want to consider using NuGet package restore. First, if you’re unfamiliar with NuGet, it’s basically “add reference” to external software projects typically open...
Attend my sessions at DevWeek 2013 in London Want to see some of the topics covered in my blog presented live and in-person? Make your way to London in March 2013 to DevWeek! I’ll be presenting 4 sessions covering NoSQL, ASP.NET MVC, and Cloud A...
Introduction to ASP.NET MVC Routes Here’s another screencast, this time on MVC and routing. In this short screencast, I’ll show you everything you need to know to get started with ASP.NET MVC routing. You’ll see how default routes in M...
Create new ASP.NET MVC views the easy way ! "Join the instructor-supported online learning revolution." As an instructor at DevelopMentor, I have the unique opportunity to watch many developers experience ASP.NET MVC for the first time. This ...
Nested Layouts in ASP.NET MVC In this screencast, I’ll show you how easy it is to create ASP.NET MVC layout pages based on existing layout pages. This let’s you achieve a nested layout which you can compose to build beautiful webs...
Improve perceived performance of ASP.NET MVC websites with asynchronous partial views ! "Join the instructor-supported online learning revolution." !githubicon Note: The code for this project is available on GitHub. Imagine you’re building an ASP.NET MVC website which has some performa...
Screencast: Refactoring with Partial Views in MVC ! "Join the instructor-supported online learning revolution." In this screencast, I show you how to create maintainable and readable ASP.NET MVC razor views by refactoring them into smaller, reusable ...
Screencast: Strongly-Typed Views in ASP.NET MVC In this screencast I discuss the how to create strongly-typed razor views in ASP.NET MVC. We look at how Models can be used to pass data both simple and complex from controller action methods down to ...
Screencast: ViewBag and View Data in ASP.NET MVC In this screencast I discuss the ViewBag and ViewData properties in ASP.NET MVC. We look at how they can be used to pass data both simple and complex from controller action methods down to razor views...
Understanding Text Encoding in ASP.NET MVC (ASP.NET MVC Foundations Series) ! "Join the instructor-supported online learning revolution." The code for this post is available on GitHub This article covers the various ways in which you might handle text encoding in ASP.NET MVC....
Understanding the MVC Project Folder Structure (ASP.NET MVC Foundations Series) Here’s a short screencast I did on understanding the ASP.NET MVC folder structure. As you will see, MVC uses the philosophy of convention over configuration. There are many benefits to this. You simpl...
Preventing JavaScript Files from Loading Multiple Times This post is about ensuring that you do not execute a particular JavaScript file more than one time. Let’s start by asking: > What happens if you link to a js file twice in your page? Here is a contri...
Join Me at Guerrilla .NET in November Just a quick announcement for an developer upcoming event I’ll be participating in… Early November I’ll be co-teaching DevelopMentor’s biggest .NET developer event of the year in Los Angeles: Guerrill...
Download My Web Apps Have HotKeys Too Sample App I recently blogged about how web apps have hotkeys too. To encourage more developers to add hotkeys to their web applications, I created a jQuery plugin called jQuery.hotKeyMap.js and a sample applica...
Asynchronous Programming in .NET 4.5 (Video) Here’s a recording of a webcast I did for DevelopMentor covering .NET 4.5 and .NET 4 asynchrouns programming concepts, including Task <T>, async , and await. Enjoy! @mkennedy PS – Be sure to watch it ...
How Are You Scaling ASP.NET? There are some interesting debates out there around scaling ASP.NET. How do you do it? Please fill out this poll and tell the world: Take Our Poll Interested in a blog post on this? Take it to the com...
Michael’s .NET Suggested Reading List With Guerrilla .NET from DevelopMentor coming up on May 7th, it’s time to refresh my .NET reading list. Want to get ready for this class or a class like it or just get a quick-start on .NET? Here’s wh...
Downloads from Building Rich Input Forms in ASP.NET MVC Webcast Thanks to all who attended my webcast yesterday. Here is the recorded video, slides, and demo application. Slides : Kennedy-Rich-Forms-with-ASP.NET-MVC-Slides.zip Demo Application : Kennedy-MVC-Forms-...
Webcast: Building Rich Input Forms in ASP.NET MVC Tuesday April 10 Update: View the recordings and downloads. Want to learn more about building great forms in MVC? Attend my free DevelopMentor webcast this Tuesday. > Webcast: Building Rich Input Forms in ASP.NET MVC ...
No, You Don’t Need A Windows App This project is available on GitHub. Do you think you need a Window’s app for your next project? Here’s a thought: No you don’t. Let me give you one less reason choose the rocky-road of desktop apps t...
Make External Links Open in a New Window With This jQuery Plugin Here’s a common problem. You want to make all of your links on your site that would lead visitors away to open in separate tabs. For example, if I wanted to tell you about this cool article by Troy Go...
Add Hot Keys to Web Apps With jQuery.hotKeyMap.js !githubicon Hot keys or accelerator keys have been an important navigational tool for desktop applications for many years. Finally, web applications are adopting this functionality too. Check out this...
Speaking on NoSQL and MVC at the South Sound .NET User Group (Near Seattle, WA) Update: Thanks to everyone who came. You can download the sample application we build here and slides below: Kennedy-Demo-Amazoon-Sound-Sound-Usergroup.zip BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL...
iPad 4G Doesn’t Mean What You Think It Means We’re all psyched about the new iPad 3 even though it’s not called iPad 3. It’s filled with killer features: HD Video, Retina Display, and every conceivable type of wireless connectivity including 4G....
9 Ways Your Brand New ASP.NET MVC Project Can Be Better So you’re ready to start that new and ambitious ASP.NET MVC project. Maybe you’re kicking off a new startup or just finally moving that old-and-crusty webforms project into modern development world. E...
Managing Cumbersome Shared Views Folder for Large Projects in MVC While ASP.NET MVC promotes clean separation-of-concerns for your web applications, there are some short comings. A problem you’ll run into on large ASP.NET MVC projects is the Views section of your we...
Now I’m an INETA Speaker! ! I’ve recently signed up as an INETA speaker. If you would like me to speak at your user group or event, check out my INETA Speaker Profile or simply contact me directly. I typically speak on NoSQL, ...
Introducing MongoDB and LINQ at Mongo Seattle 2011 Here’s a video of a short talk I gave at Mongo Seattle 2011 which is a quick getting started with .NET & MongoDB session. ! Enjoy! @mkennedy PS – Yeah, it’s from last year. I forgot to publish it on m...
Screencast: Building ASP.NET MVC Forms with Razor note : This screencast has been adapted from my earlier blog post. In this ASP.NET MVC Foundations screencast, we’re going to look at building an ASP.NET MVC page which allows users to create and edit...
Building ASP.NET MVC Forms with Razor (ASP.NET MVC Foundations Series) Update : Want to watch this as a screencastrather than article? In this ASP.NET MVC Foundations article, we’re going to look at building an ASP.NET MVC page which allows users to create and edit objec...
Building a Cloud OS for .NET Developers – Part 2 In Part 1 of my Building a Cloud OS for .NET Developers series, I talked about setting up a pure cloud OS focused on developers. But the one crucial aspect I left out was the developer tools. In this ...
Building a Cloud OS for .NET Developers – Part 1 Let’s talk about cloud operating systems. This article explores the options and potential of moving entirely “To The Cloud” for developers who normally demand significant offline power from their appl...
Getting Things Done with Backpack and 37Signals Note: You can download this post as a PDF. Here’s an article about Getting Things Done and how I use Backpack from 37Signals to make it happen. I’ve recently taken on some roles where I have a lot mor...
11 Killer Open Source Projects I Found with NuGet So maybe I’m late to the party, but I recently started playing with NuGet. It’s a killer new way to find, install, maintain, and manage references to open source libraries in Visual Studio 2010. Plent...
Portland CodeCamp Downloads: Demos and Slides Thanks to everyone who came to my two sessions at the Portland CodeCamp this weekend. The NoSQL Movement, LINQ, and MongoDB – Oh My! Panel Discussion: NoSQL vs. RDBMS You can download the slides, demo...
Webcast: NoSQL Movement, LINQ, and MongoDB !sql-in-the-trash.png Note: The webcast is over, you can watch the recording above. I’m happy to announce I’ll be doing a free webcast in the DevelopMentor webcast series on MongoDB, .NET, LINQ, and N...
MongoDB vs. SQL Server 2008 Performance Showdown Thanks for checking out this article. All things around performance are very sensative to changes in versions, hardware, and much more. Since 2008, there are so many different factors and changes to a...
The NoSQL Movement, LINQ, and MongoDB – Oh My! !sql-in-the-trash.png Maybe you’ve heard people talking about ditching their SQL Servers and other RDBMS entirely. There is a movement out in the software development world called the “NoSQL” movement...
Handy Web Development Technique I’m working on a fantastic website that I hope will have significant impact when it’s ready. I’m planning on launching in roughly one month. I came across what I think is an awesome technique for seei...
Building Windows Machines in Amazon EC2 In this article I’m going to give you a simple, step-by-step overview of how to create a Windows 2008 server image in Amazon’s Elastic Cloud Compute EC2 infrastructure. Now I must admit I’d rather hav...
Azure Interview on SearchCloudComputing.com Rob Barry and Jack Vaughan interviewed me for their article on SearchCloudComputing.com entitled Azure cloud on horizon: The devil is in the data architecture details Here’s a small excerpt. If you’re...
Article: 10 Features in .NET 4.0 that made Me Smile I recently wrote another article for DevelopMentor‘s Developments newsletter not subscribed yet? see top-right of this page. This one is entitled 10 Features in .NET 4.0 that made Me Smile Read it on ...
ASP.NET WebForms + Routing Video and Downloads I recently did a webcast for DevelopMentor on using the routing framework introduced in ASP.NET MVC within ASP.NET WebForms based applications to build more modern websites without a major rewrite of ...
Webcast: Building Modern Apps in ASP.NET WebForms At DevelopMentor we have been running a bunch of free webcasts. Last month it was TDD and Agile. This month we are running 4 webcasts celebrating the announcements around .NET 4.0, Visual Studio 2010,...
TDD Space Invaders Video and Downloads Recently Llewellyn Falco and I did a webcast for DevelopMentor where we demonstrated some TDD techniques and introduced Approval Tests. We let the audience choose our project and they chose Space Inva...
TDD Invades Space Invaders A joint post by Llewellyn Falco and Michael Kennedy Update: Get the videos and additional downloads for this webcast. As a follow-up to our “Avoiding 5 Common Pitfalls in Unit Testing” article we did ...
Boot to VHD Screencast WARNING : This is some advanced stuff. It’s not that hard, but you can break things that are hard to fix. So, there is no warranty express or implied. Windows 7 or Windows 2008 Server R2 are required....
Article: Building a Twitter Application in .NET I recently wrote an article for DevelopMentor‘s Developments newsletter entitled Building a Twitter Application in .NET. You can read it at the DevelopMentor website: < I’ve republished here for my re...
Article: Avoiding 5 Common Pitfalls in Unit Testing Llewellyn Falco and I recently wrote an article for DevelopMentor’s Developments newsletter entitled Avoiding 5 Common Pitfalls in Unit Testing. You can read it at the DevelopMentor website: I’ve repu...
Keep up with DevelopMentor on Twitter You may know that I work for DevelopMentor where I’m an instructor in the .NET curriculum among other cool things I do there. You probably also know I’m kind of loopy for Twitter as evidenced by my Tw...
Gmail New Mail Notifications for Windows 7 Update: Renamed this tool from Gmailer to Gmail 7 due to pre-exiting product name conflicts I’ve been using Windows 7 as my sole operating system since Beta 1 in January. I’m completely loving it and ...
ASP.NET Routing in Windows Azure Using WebForms Update : If you are using ASP.NET 4 and .NET 4, Microsoft has added direct, built-in support into the Page class the foundational class for WebForms pages. See Scott Guthrie’s post on this topic: URL ...
Article: Azure Storage I recently wrote an article for DevelopMentor’s Developments newsletter entitled Azure Storage. Read it at the DevelopMentor website here: < I’ve republished here for my readers. Enjoy! Developments: ...
RESTful Web Services with WCF Screencast I recently got the chance to record a screencast discussing REST-oriented web services in WCF. If you’re interested in WCF you should definitely check it out because WCF and REST make an awesome combi...
dotNetDevBuzz on Channel 9 Last Week Any of my technically savvy friends know that I’m a big fan of Channel 9. If you want the raw, inside view of Microsoft’s developer world, it’s a great place to start. That’s why it was a big honor fo...
Debugging the Future (Advanced .NET Debugging) Video Presentation My esteemed colleague, friend, and fellow instructor at DevelopMentor Jason Whittington gave a great presentation on advanced .NET debugging recently at the Oklahoma City Developer’s Group. They lucki...
Significant Advances in Unit Testing Windows Workflow This post describes a unit testing library for testing Windows Workflow Foundations.It is not a framework like HarnessIt, NUnit, or MsTest. Rather it’s a library that can be used in conjunction with a...
Test Driven Development, Approval Testing, and a Song – Oh Boy! So my buddies Dan Gilkerson and Llewellyn Falco have been doing some brilliant, ground breaking work on advancing the state of unit testing and TDD with a concept they call Approval Testing. To highli...
MSDN Magainze: Web Apps That Support Long-Running Operations !dd365186-coveren-us.gif I’m pleased to announce that MSDN Magazine just published my Windows Workflow article entitled “ASP.NET WORKFLOW: Web Apps That Support Long-Running Operations” I hope you fin...
Just Launched: .NET Dev Buzz I just launched the beta version of an entirely different kind of .NET community website: > .NET Dev Buzz > Bringing you absolutely fresh conversations about .NET and the Microsoft developer community...
Unit Testing Coming to a Workflow Near You Update: See the follow up post “Significant Advances in Unit Testing Windows Workflow” If you’ve been working with Windows Workflow, you’ll find it has some cool features for orchestration, long runni...
ClickOnce Deployment for Unmanaged Code (C++, VB6, etc) ClickOnce is a great deployment model for many Windows applications built with the .NET Framework. Too bad it isn’t supported for C++, VB 6, or other technologies. Or is it… Surprisingly, you can depl...
ThreadPool Bug in .NET 2.0 SP1 is Fixed! I’m glad to confirm that the ThreadPool bug introduced in .NET 3.5 has been fixed in SP1 for .NET 3.5. For more background information, look at these posts. 1. .NET 3.5 Brings Breaking Changes to Thre...
Dynamic Data Access with LINQ When I talk about LINQ people often ask whether it’s possible to have dynamic queries with LINQ. An example of this is presenting the user with a UI that allows them to optionally filter by some crite...
More on the ThreadPool Bug in .NET 2.0 SP1 There appears to be some confusion about this .NET 2.0 SP1 ThreadPool bug I found. Can you believe someone might be wrong on the internet? If you’ve been following the posts 1, 2, 3, then you’ll know ...
Top 5 Most Important Sessions from Mix 08 (with Video) You may have heard that the sessions for Mix 08 were posted online and you can view or download them until your heart is content. Mix 08 is becoming an increasingly important event in the .NET space. ...
Top 5 Favorite CodePlex Projects I’ve been looking around CodePlex lately and there’s some really cool stuff there. For example, the source code to ASP.NET MVC. That got me thinking, what else is out there? Here are my current top 5 ...
Follow up on .NET 2.0 SP1 ThreadPool Bug Here’s a followup post on the .NET ThreadPool bug that I described here: Breaking Changes in the ThreadPool: The Movie I have been in touch with the guys who are in charge of the ThreadPool and they h...
Breaking Changes in the ThreadPool: The Movie Well, my recent post on .NET 3.5 Brings BREAKING Changes to ThreadPool sparked quite a bit of interest in the .NET community. But this is also something difficult to convince people of because it depe...
.NET 3.5 Brings Breaking Changes to ThreadPool Note : This has been fixed in .NET 3.5 SP1, read more on this post. Holy smokes! I thought we had figured out something significant when I posted .NET 3.5 Brings Major Undocumented Changes to ThreadPo...
.NET 3.5 Brings Major (Undocumented) Changes to ThreadPool !728w77b.jpg It was all going so smoothly. Jason Whittington, Mark Smith and I were teaching the big DevelopMentor event here in Los Angeles Guerrilla.NET when my presentation on the ThreadPool took a...
Introducing ASP.NET MVC (Model View Controller) I recently wrote up an overview of the new ASP.NET MVC Framework for the Developments newsletter. I encourage you to read it on the DevelopMentor website. It’s an interesting programming model. Share ...
System.Transactions and Windows Vista NTFS (Updated) I’ve been playing with my fresh copy of Vista Ultimate – which I am surprised to find that I absolutely love. Being a big fan of System.Transactions, I naturally wanted to use it with Vista’s TxF Tran...
Visual Studio Tricks Series: #3 Managing the Recent Projects List Welcome to my third Visual Studio tricks post. This time it’s more of a utility, than a tip. I want to talk about managing the recently projects list. If you’re like me, then you work with many differ...
Visual Studio Tricks Series: #2 Multiple Startup Projects Welcome to the next installment of my Visual Studio Tricks series. Continuing on from last time when I discussed how to quickly switch between startup projects using hot-keys, we’ll cover another star...
Visual Studio Tricks Series: #1 Set As Startup Project Welcome to my Visual Studio Tricks series. Here I’ll give you some quick tips for saving you lots of time when working with Visual Studio. In this first installment, I’ll show you how to switch betwee...
Agile Object Oriented Design Talk at Central Jersey Group Tonight I’ll be speaking tonight at The Central New Jersey .NET User Group on one of my favorite topics: Five Fundamental Object Oriented Design Principles for Agile Development. Thanks to Jason Beres < for i...
Great Meeting at OCVBUG and OC C# Last Night Thanks to Reza Madani and Mike Vincent for having me speak at the combined meeting of OC VBUG and OC C last night. It was a packed house which was wonderful, but I felt bad for folks who had to stand ...
OOD at San Diego .NET Developers Group Thanks to David McCater for hosting my Agile Object Oriented Design talk at San Diego .NET Developers Group on May 2nd. I met some great guys and thoroughly enjoyed talking about agile and OOD topics ...
Back to Basics: Agile Object-Oriented Design Dave, over at extremeplanner.com, wrote a nice summary of the talk I gave at XPSD. I completely agree with him that “a review of these fundamentals is refreshing.” As you can see, I’m doing my part to...
Upcoming Talk in San Diego (Tentative) I am tenatively scheduled to speak in San Diego, CA at the “San Diego .NET Developers Group” < We haven’t arranged a date yet, but I think it will be around late spring / early summer. This time I wil...
Books for Agile and Object Oriented Design You often hear it stated by very bright people that they thought they understood object oriented design until they began practicing Test Driven Development TDD. I definitely include myself in that gro...
Upcoming Talk in Orange County I’m very pleased to announce that I’ll be speaking in Orange County, CA on May 9th from 6pm onward. I’ll will be presenting a talk on object oriented design and agile development at a joint meeting of...
January SoCal Code Camp Talk NOTE: This recent post refers to a much older Jan 21, 2006 event. I want to thank everyone who attended my talk at the first Southern California Code Camp. I really enjoyed speaking there and I got th...
XPSD Object Oriented Design Talk NOTE: This recent post refers to a much older March 3, 2006 event. I want thank Carlton Nettleton and June Clarke for inviting me to present my “ Five Fundamental Object Oriented Design Principles for...