Announcing MongoDB for Python Developers Course

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 consider DevelopMentor. We also have my MongoDB for .NET developers course if you live in the .NET camp.

Here’s some more background on this course.
Continue reading

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 this post, I’ll show you some very simple techniques to put Python on Windows relatively on par with Python on OS X and Linux.

On OS X and Linux, we can use a special kind of comment at the top of our script called a shebang.

#!/usr/bin/env python3
# normal python code here...

Continue reading

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 UserVoice:

Ship Python 3 and Python 2 with Windows 10

Ubuntu and OS X include the Python runtimes by default. Please Include the 64-bit version of Python 3 and Python 2 with Windows.

I believe many developers choose OS X and Linux over Windows because these OSes are more open source and CLI friendly. You have done a lot of fix the CLI experience in Windows 10. Please make Python development better on Windows by including it out of the box.

Need more inspiration? Watch this video about the future of Python (hint: it involves Windows)

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

I chose seven locations:

  1. Chicago, IL
  2. Los Angeles, CA
  3. New York, NY
  4. Seattle, WA
  5. Portland, OR
  6. San Francisco, CA
  7. Silicon Valley, CA

And did a search for meetups on .NET and on Python. Here is a graph of the results:

Relative size of python and ,net communities via user groups.[click image to enlarge] Continue reading

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 come and download or fork them! You can even contribute back if you see something useful that is missing.

My new GitHub projects:

Github: text-encoding-aspnet-mvc-by-example
Sample app:

GitHub: web-apps-hotkeys
Sample app:

GitHub: improve-mvc-perf-with-async-views
Sample app:

If you know of something I’ve published and you’d like it on GitHub, just send me a note!

Finally, the keen reader will notice I’ve moved my sample apps to Windows Azure Websites. I’ve been a vocal critic of Azure at times, but Azure Websites are quite nice. You get up to 10 domains for free. They are worth checking out.


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 developers

This course is a deep exploration of building applications in MongoDB (the most popular NoSQL document-database). There are many benefits to choosing a NoSQL database over traditional RDMBSs such as SQL Server or Oracle. This course starts out by looking at why you should choose NoSQL in the first place. We will explore the native query language and capabilities of MongoDB. Then we will start working with MongoDB from our .NET applications and look at several topics that explore the advanced aspects of the MongoDB .NET API including (MongoDB from .NET, Advanced serialization in .NET, Untyped API in .NET via BSON documents, and more). We will see how to leverage the immense scalability of MongoDB using the aggregation framework, replica sets, and sharding. You will discover how to store and manage files of virtually unlimited size in MongoDB using GridFS. We will discuss how to properly design your entities and documents (both natively and in C#) to take full advantage of what MongoDB has to offer. Finally, we will round out the course with a few topics that you will need to be successful with MongoDB including Server administration for developers and Security and permissions.

During this class, you will learn:

  • Learn why you should consider NoSQL as your database.
  • Discover the MongoDB shell and ‘native’ query language and capabilities
  • Work with MongoDB from .NET and LINQ
  • Design your classes and entities to take full advantage of MongoDB
  • Build and tune high performance applications with indexing and profiling
  • Use the extensive .NET serialization API to go between .NET and MongoDB
  • Work with the filesystem (GridFS) within MongoDB from .NET
  • Answer complex questions while leveraging MongoDB’s scalability using the aggregation framework
  • Learn enough to administration MongoDB servers to be productive
  • Scale out using sharding and replica sets
  • Add security and permissions to MongoDB

Note: Some of the topics cover in this course are technology agnostic (for example the native query lesson is equality applicable to .NET developers as well as Python developers) and some are specifically optimized for .NET developers (for example Advanced serialization in .NET).

Why should you choose DevelopMentor’s MongoDB course? At DevelopMentor we have experience building and running large scale MongoDB deployments in .NET including our online training platform LearningLine and itself. The course authors work closely with the MongoDB team and are in the MongoDB Masters program. We have been teaching MongoDB in our Guerrilla .NET course for several years. In short, we we know what we’re doing with MongoDB and .NET and we’d love to share it with you.