JavaScript Coding is Gameplay in Screeps

I found this on reddit last week. It's called Screeps and it comes out tomorrow (November 20th).

It's not just any ordinary Strategy MMO game. Oh no. It's a strategy MMO game you write JavaScript to control your units on screen.

JavaScript is the gameplay.

For realz, yo.


I code in JavaScript and, although it's biased, I think that everyone should learn JavaScript in some way, shape, or form. Why can't that form be by playing a video game?

I'm planning on getting it on this game early on and possibly revisiting it in a future post this year.

I suggest you give it a whirl too, and look me up!

Thanks for (Hopefully) Playing. ~ DW

Think Before You Tweet: A Lesson in Humility

Over the weekend I tripped over brain and sounded like a goof on Twitter while trying to engage a number of technology experts.

This ended up being a lesson in humility, and a reminder to think before you speak...or tweet in this case.

I wanted to share this simple reminder too those people out there who rush to reply and share an opinion rather than taking a moment to reflect before they speak.

Long Story Short

In my conversation with the creator of Chocolatey, Rob Reynolds, I managed confuse its machine package manager functionality with that of langugage-specific package managers like Nuget and NPM. Silly to most, but kind of embarassing considering I'm the one that brought Chocolatey into it.

At the end of the day, I tried to correct the situation by acknowledging my confusion and replying via Twitter, but it was too late and Simon Timms caught it and mocked me (rightfully so, might I add).

Lesson Learned

There are a few lessons I took from this experience, other than the obvious one that machine package managers are not the same as meant to be platform agnostic, being that they are machine package managers, which will depend on a machine platform.

Think Before You Tweet

Just like the title says.

If you think you know what you're talking about, that's great. But take a moment and know what you're talking about before you hit enter.

In my case, I should have done a quick review of Chocolatey before I mentioned it in the conversation considering I have been living in my own platform agnostic paradise called JavaScript/HTML for the past year or two.

It turns out that technology evolves over time, and quickly for that matter.

Engage with Purpose

Although it might be exciting to have conversations with other experts via social media, it is important to make sure you know that your point is before you start engaging. If you don't, you could get lost in the conversation and end up sounding like a goof.

In my case, I logged into Twitter to find that Cecil L. Phillip and Tugberk Ugurlu were discussing my post on ASP.NET replacing NodeJS and immediately wanted to engage.

Unfortunately, I got caught up in the excitement of engaging new professionals rather than actually making a point. This resulted in me confusing my words and ultimately getting Chocolatey confused with Nuget/NPM, and Simon Timms winning the day.

The Point

It's simple: know what you're talking about before you talk about it.

Being a speaker in the development community, people tend to look at you as an expert. When you speak publically, know your point before you starting making them, or else risk misinforming people and ultimately losing a bit of credability in the process.

Thanks for playing. ~ DW

Can ASP.NET Become the Next Node.JS?

I realize how crazy that sounds, but after yesterday's keynote from Microsoft at the VS Connect event in New York, I'm wondering if my goal to find a true cross-platform technology is sitting back at base camp just...leveling up.

ASP.NET and the KVM

This isn't any secret as this demo was done a while ago by Microsoft, but ASP.NET 5 (formerly known as ASP.NET vNext) can run on OSX or Linux meaning we can host ASP.NET application on anything.

Literally anything.

Using the K Version Manager (KVM) you install it and then manage the version of the .NET Framework from there. That way as they release new versions, your applications don't break in the process.

Oh, and it's open source. So, just download it and take a look.

ASP.NET is Tried and Tested

Given JavaScript on both the client and server is a cool concept, and in practice is works considering if you know how to JavaScript on the client, you know a bunch of JavaScript on the server.

Still, ASP.NET has been a server side technology for quite sometime. In fact, it's been backed by a company that lives and breathes software as the core of their business. At the end of the day ASP.NET paid its dues and is tried, tested, and has experienced leaders at the helm.

NodeJS isn't Growing

NodeJS platform improvement has started to slow down, not to say that it isn't great, but there is always room for improvement in software. A platform that had fast and furious release cycles to include improvements and general changes to help mature the project quickly to compete with the likes of ASP.NET and Ruby. They have been working on version 0.10 for almost two years now and there are still plans for version 0.12, which is supposed to follow-up with an official 1.0 release.

Plus, NodeJS has recently come under fire with respect to progress and direction, which could lead to a fork in the project.

There are groups like Node Forward trying to get the ball rolling again, but Joyent is an infrastructure company, not a software one. Do they have an interest in moving the platform forward? Changing software platforms means upgrades and changes. Is there really a good reason for them to change?

The Point

At this point, I don't think ASP.NET is going to take over the NodeJS market, but I do think there is an opportunity for Microsoft and going cross-platform.

As long as NodeJS is sitting there stagnating, trying to find direction developers are going to keep on building software. At the end of the day, are you going to pick a new platform that quickly went silent, or a tried and tested platform that can work on any machine?

2015 just might be the year of ASP.NET.

~ Thanks for Playing.

November 27 - Going Terminal: Learning to be IDE Free

I'm making my public speaking comeback after nearly a full year off with a new original presentation called Going Terminal: Learning to be IDE Free.

You should register for the event here and book your seat. Admission is free and it's going to be a great time where we go old school with our code and build a web application using a text editor, a command line, an empty folder.

Here's the description:

Going Terminal: Learning To Be IDE Free

How effective can you be without your IDE?

As developers, we tend to learn and rely on our IDE, but the value we bring isn't only with the tools we can use, but the skills that we have outside of the tools and knowledge of how all the parts work together to get the job done.

In this session, David Wesst will walk you through the challenge of starting with an empty folder and turning into a real web application hosted in the cloud using nothing more than a terminal and text editor.

The Point

No point other than I hope to see you there.

Thanks for playing. ~ DW

Remote IE - No More Testing Excuses

Today the IE team released Remote IE. This is awesome. Let me explain.

IE on Everything

I realize it doesn't sound impressive, but with Remote IE we can take anyone's device and let you render IE and test and view sites.

This removes the requirement of Windows on your machine to test IE.

So? Isn't this just a Public Citrix?

Pretty much, but the cool part isn't the technology. The cool part is what it solves problem it. IE testing no longer requires Windows.

Developers have no more excuses.

No More Compatibility Excuses

Plus, more importantly, this puts the responsibility for web testing on the developer.

A common complaint about testing sites in IE is that they don't want to run VMs or they don't have a windows machine available. Remote IE solves all of those problems.

No hardware requirement. No OS requirement. Just an internet connection.

Now test your app in IE.

The Point

To many, this might not be a big deal. From a technology point, it's nothing really new.

But, remove the requirement for Windows to be needed to test in IE shows me forward thinking inside of IE and Microsoft. It also gets makes developers accountable for their web compatibility.

SimCity in the Browser...with Source Code

If you haven't played the classic SimCity, I mean Micropolis then you missed out.

But you know what would make it cooler? Playing it in browser, that's what.

Yeah, it's already been done (and it continuing to be done) by Graeme McCutcheon, Mozillian and clearly super awesome dude, based solely on his choice of games to port to HTML5.

But let me show you the coolest thing about MicropolisJS, in my not so humble my opinion.

That's right. Yours truly contributed to the project. Booya.

Uh...Why is that Cool?

Well, SimCity is probably my favourite game of all time. Not the PC one specifically, but the SNES port that came out a bit later.

And I contributed code to it.

In my favourite language.

Sploosh. (Reference is Kinda NSFW Audio from Archer)

You Didn't Contribute Much

True, but I still contributed and that is the point. This represents something else to me.

Plus, having a pull request accepted by an open source project is a new experience for me. If you go back two years, the idea of me being part of anything open source would have been ludacrous.

Now, as more of a coding hobbyist rather than a professional (as I don't get paid to code much anymore), I'm talking open source projects and use not much more than a terminal and text editor to develop and build all my code.

It's something of a major milestone in my personal and professional evolution.

The Point

Photo credit: GaborfromHungary from

It's pretty direct: MicropolisJS is awesome, and so is open source. If you want to be awesome (like me) fork the project and help out a bit.

If you don't want to help, it's still a cool set of source code to download and play with to see a full working game in HTML and JavaScript. One that you can really recognize.

Thanks for playing. ~ DW