Cubs (13)Development (10)Goals (5)Guitar (1)Humor (1)Life (14)Life Hacks (3)Online Learning (1)Software (2)Welcome (1)

Articles by Josh Niederer...

.Net on the Rise

If you watched any of the news coming out of Microsoft’s Build 2014 developer conference April 2, 2014 through April 4, the direction of Microsoft’s development division should have you excited. From open sourcing a ton of .Net code (including the C# compiler, Rosyln!!) to announcing that any Windows app will now also run on any Microsoft platform (PC, Phone, Tablet, Xbox…), there was no shortage of developer friendly information unveiled. If all the dev related announcements weren’t enough, those who actually attended the conference were not only treated to some great presentations, but also were given Xbox Ones and credit for a new device at the Microsoft store. I’ve got to buy a ticket next year.

By open sourcing their compiler, Microsoft has given developers the keys to the kingdom, so to speak. This allows coders to dig in as deep as they wish. The language spec is definitely great for describing how things work but sometimes it just isn’t enough. Being able to look at the code, see how all the pieces fit together, takes the whole C# development experience to another level. This also has some implications for the open source community and the Mono project. By releasing the production code used for their compiler, Microsoft is likely improving the .Net experience on platforms such as Linux and OS X. Which is always a good thing, the more machines that can run my code the better.

Another huge announcement at Build 2014 was the One Microsoft tools that allows .Net users to use a single Visual Studio solution to deploy Windows apps across the entire Microsoft platform. The code can be pushed to Windows 8 on PC, on phone, tablets, and even on your Xbox One. This is huge because it bridges all of the platform gaps in the Microsoft world. A number, 90%, has been floated around as the total amount of code that can be reused across all platforms. Fortifying the idea developing code across all platforms, Microsoft is now giving away its Windows 8 OS to users with devices smaller than 9 inches allowing for more accessibility of the OS and easier testing for developers.

With all the great stuff already coming to the .Net development world, there are still a couple of things that developers are clamoring for. Chief among them being either a Microsoft purchase of Xamarin or MS developing an in-house product that does the same thing. If you’re unfamiliar with what Xamarin does, it’s an amazing tool that developers can use to build apps using C# on Mono and deploy the same code base as a native app on all three major mobile platforms: iOS, Android, and Windows. There’s been lots of speculation lately about MS buying Xamarin but unfortunately we didn’t get an announcement at Build 2014. If MS were to lock up this platform bridging technology, C#, and moreover the .Net framework since F# and others can utilize it too, would be awfully hard to ignore for any developer. By buying this technology, MS could license it to the MSDN community and the Windows App store could possibly thrive at the levels that Apple and Google’s respective stores are currently. This is a truly game changing technology as it’d be beneficial to both Microsoft and its development community, and also Windows users.

With these announcements and the more open environment, Microsoft is gaining a lot of positive momentum. A year ago I was starting to doubt the capabilities and future of .Net. Now things are looking as bright as ever. That’s not even touching the further Azure integration that that is coming to Visual Studio and the JavaScript/Typescript news and so many other things that were covered at Build 2014. It’s time for Microsoft to steal their marking slogan from the Xbox 360, because there’s never been a better time for developers to “jump in” to .Net.

Published on 4/14/2014 9:24:52 PM

Learn Anything in 20 Hours

I’ve been a StumbleUpon user for as long as I can remember. For years I’d stumble when I was tired or had a few minutes to kill, but for some reason I hadn’t stumbled in over a year. So now that I’m back, I’m being treated to some really cool stuff. Last night I found a TED talk from Josh Kaufman that opened my eyes to the possibility of knowing pretty much everything I’ve ever wanted to know, in a very small amount of time. After years of studying, Kaufman has come to the conclusion that you can learn anything in just 20 hours. The idea isn’t to be a complete expert on the subject, but to develop a significant knowledge on it by following four easy steps.

The key to the whole process is that all the 20 hours are spent in deliberate practice. With that in mind, here are four steps Kaufman gives to guide that practice:

  1. Deconstruct the skill – break it all down based on needs.
  2. Learn enough to self-correct.
  3. Remove practice barriers.
  4. Practice at least 20 hours.
Let’s dig deeper into each of these steps.

Deconstruct the Skill

In order to learn things as fast as possible, you’ve got to break down each piece of the skill down into its smallest possible components. By understanding each individual piece, you can combine them to form a body of knowledge. This also helps you determine what exactly is essential and what is superfluous. From a programming perspective, it’d be awful hard to write a program without knowing how to declare a variable but there are many topics you could safely overlook, like advanced language features, if you’re just trying to get up to speed on how to code. Kaufman reinforces this idea by showing that with just four chords you can play dozens of the most popular songs from the last 30 years.

Learn Enough to Self-Correct

Errors are a natural part of the learning process. So in order to get anywhere with a subject or skill, you’ve got to learn the basic building blocks so you can correct yourself when you get off track. Once you’ve learned the basics, then you’ll be able to recognize errors and perfect the model in your mind. By being able to correct mistakes, there are far fewer false paths where time is wasted with faulty beliefs. Imagine trying to learn multiplication and mistakenly deducting 4 * 4 = 8 because 2 * 2 = 4. If you continued forward with this line of thought, there are potentially many false steps ahead. Through re-examining the basics of multiplication, one could see that 4 * 4 = 4 + 4 + 4 = 16 and realize their mistake in little time.

Remove Practice Barriers

This item is huge. With so many distractions in the world, it’s amazing that anything productive gets done. Setting aside 30 minutes to an hour every day where your chosen topic receives your undivided attention is essential. From there, just make sure your working conditions are optimal for your learning style and you’ll be good to go. Unfortunately, this is a lot easier said than done.

Practice at Least 20 Hours

Finally, you have to commit 20 hours of focus to the subject. We’re all busy but if you were to work on learning your topic of choice for just 30 minutes a day for 40 days you’d be amazed by how far you’ve come in so little time. That, and the 20 hours would be complete. The key is to build the habit and iterate on what you achieved the day before. Some days will be harder than others, but always keep in mind the idea that every day you’re better than you were the day before. The practice won’t be such a chore when looked at from the right perspective and with a clear goal in mind.

The method seems to be well thought out and I’m excited to implement it into my learning methods. I’m not expecting to become an expert in just 20 hours, but I’ll know enough to be knowledgeable on the topic. At such a small amount of time, it doesn’t make any sense to not learn about the topics you’re curious about or skills you’d like to develop. Now if only I can curb my regained StumbleUpon habits for an hour, I’d be 1/20th of the way to knowing something I don’t know now. That’s powerful.

Published on 3/22/2014 10:05:09 PM

Guitar Progress

On Friday, December 13, 2013 I received my Epiphone Les Paul from Musician’s Friend. My knowledge of how to play a guitar literally started and ended with the fact the instrument makes noise when the strings are strummed. I’d always dreamed of playing the guitar but always assumed it’d be too hard to pick it up. Then I saw some testimonial videos of people who had played Rocksmith 2014 and me actually being able to play guitar started to look like a reality. After playing the instrument for a little over two months, it’s time to assess where I am as a guitarist.

The first week or so was rough. Even tuning the guitar proved to be quite a challenge in the early days. I worked my way through many of Rocksmith’s beginner tutorial videos. The tutorials were interactive where I’d watch a video then I’d have to play a piece of music using the technique demonstrated in the video. This was how I learned notes, chords, shifts, harmonics, slides, bends, tremolo, and many more playing methods.

From those humble beginnings, I moved forward to playing songs within the game. Each song starts out easy with many of the notes omitted from the track. As I improved on a song through both playing it and the amazing riff repeater feature, notes were added to the song. This intelligent difficulty system made it easy to track my improvement. After the first few weeks of playing, I didn’t crack 30% mastery on many of the songs.

Song Progress

Putting in a little bit of time each day, usually an hour or more, was essential to all of the progress I’ve made so far. It seemed that as the calluses on my fingers got thicker my skills with the axe got better and better. There are two songs that I can play entirely, “Blitzkrieg Bop” by The Ramones and “Next Girl” by The Black Keys, and several more that I can play a large chunk of. I can play these songs without even turning Rocksmith on. It feels good to just be able to jam them out on my own whenever I feel like playing. I can play almost any song in the game at a 50% mastery level. I’m going to continue to work on getting this number up.

My top songs.

Rocksmith Mini Games

Included within Rocksmith, there are several min games there to improve my technique. Initially, these games were difficult but as with playing songs, I improved at these games. In Gone Wailin’, a game used to improve one’s volume control, I’m in the top 0.1% of all players. In Ducks Redux, a game used to improve shifts, I’m in the top 1000. Lastly, in my favorite game, String Skip Saloon, I’m in the top 300. I’m proud of these rankings and I plan on improving them as my abilities continue to grow.

Gone Wailin’ skills.

Ducks Redux ranking.

String Skip Saloon leaderboard.


My current end goal of learning the guitar is pretty simple. I want to be able to play “Ball and a Biscuit” by The White Stripes. Once I can play this song, a YouTube video is linked below, I’ll consider myself as good as I want to be. There’s a lot of work to get from where I am to this. I’m weak on a lot of techniques like bends and tremolo. Learning how to learn guitar outside of Rocksmith is something else I need to get better at sooner or later. This rough central Illinois winter has proven to be the perfect time to pick up a new indoor hobby and I’m glad I started playing guitar.

Published on 3/1/2014 9:29:57 PM is Live!

During the Super Bowl, February 2, 2014, I was reading HackerNews and with the game on in the background when I had a spark of an idea. That idea was to create a movie website devoted to bringing the people of Central Illinois the best possible information about movies playing in the area. So, I purchased the domain and set out to push up a website site as soon as possible. Central Illinois Movies was born.

With that, the actual work was ready to begin. I created a solution in Visual Studio and started building the backend and implementing the desired functionality. Every night I put in a couple of hours building the site and on 2/12/14 I was ready to push the site out to Azure. I put in a little more time on the one weekend I had but it really didn’t take much time to get the site live.

To Do Items

  • The site isn’t completely done. Are any sites ever truly done? The design of the site still needs a major overhaul. The current design is essentially default bootstrap. Bootstrap is great but there should and will be a great deal of customization there.

  • Another major piece of the site that needs to get better is the amount of content. The more quality content on the site, the better it will be. Right now there are only a few posts on the site. I’d like there to be a few (~5) posts every week. Always bringing best local movie info as possible.


  • The last area, which is the most important, is improving the searchability of site. If I type “central Illinois movies info” into Google, the results aren’t quite what I’d like to see. The site is the 5th result on the 2nd page. So, there is a great amount of room for growth here. Once the SEO is improved, the traffic should get a lot heavier. Improving the site’s content will go hand-in-hand with improving SEO.

Published on 2/19/2014 9:47:14 PM