Tuesday, May 21, 2013

Mark Your Calendar, November 14-16


Years ago, the backbone of the Midwest was agriculture.  Fertile fields fed the world.  Today, the Midwest is growing more than just corn, wheat, and soybeans.  The Midwest is growing businesses.   The Corn Belt is attracting a large number of start-ups, venture capitalists, and technologist.  As technology becomes a key player, some have labeled the Midwest, the Silicon Prairie.    This November, one of the largest technology conferences in the Midwest will be held in heart of the Silicon Prairie, St. Louis.

The St. Louis Days of Dot Net conference will completely overtake the Ameristar Casino & Resort on November 14-16.  This premier event is an excellent opportunity to network with technology companies, technologists, and software engineers.   If you are interested in becoming a sponsor, shoot me an email; or, you can wait until the official sponsor drive opens.  Follow me on Twitter to keep yourself up-to-date on this awesome opportunity.  



St. Louis Days of Dot Net

Wednesday, May 8, 2013

Midwest Developer Conferences


Who says you have to go to the coasts to attend a top quality technical conference?  Four of the best developer conferences will be located in the middle of the United States!  You KNOW you want to be there!

August 12-14 That Conference @ Wisconsin Dells, WI

August 28-30 DevLink @ Chattanooga, TN

September 18-20 Strange Loop @ St. Louis, MO

November 14-16 St. Louis Days of .NET, St. Louis, MO

Saturday, March 2, 2013

Building Combat Simulators


My day job is in consulting where I help my clients solve problems using tools and techniques in the IT field.   In the evenings and weekends, I teach college level computer science classes.   Teaching classes in the evenings and on weekends can be especially trying.  The difficultly comes from people being tired by the end of the day, or have difficulty finding the motivation to come to school on the weekend.   To help motivate people in my more advanced classes, I have come up with some creative ways of instruction.

For one of my classes, I tell the students on the first day of class there will be no homework assignments the entire semester.  I also tell them there will be no formal midterm or final exam.  After saying this, I can tell all eyes are on me and I have their full attention.   I then inform everyone their grade will be based on only three assignments.

The first assignment is to construct a combat simulator.  The name, alone, sounds exciting!  The combat simulator will include an arena and two fighters.  The goal of the simulator is to battle two fighters until there is only one standing.   You can see the wheels spinning in the students’ heads.   Once this idea soaks in, I explain the grading technique.

The combat simulator, and the other two projects in my class, will be graded cafeteria style.  I hand out the list of grading possibilities.   For example, a student can earn up to ten points for correctly using an interface.  Fifteen more points can be awarded for using an abstract class.  Twenty points can be received for implementing their own custom exception; this includes creating the class, throwing the custom exception, and catching it.   There are several other possibilities for earning points.  The final grade for the project is based on a total accumulation of points.

Programming is just one aspect of the assignment.  The students must also document and present their projects to the class.  They can earn 10 points for documentation and another 15 points for their presentation.   When they give their presentation, I encourage the students to give an overview of their project and pretend the audience knows little about the assignment.  They then should demonstrate their simulators, highlight parts of their code, then field questions from the audience.

The purpose of the presentations is to give my students some experience presenting a technical subject to an audience.  It also reinforces the fact they have to do their own work.  I let them know, from the beginning, how awkward it will feel if they are asked questions about a method and can’t explain it.   I also let them know I would rather see them stumble in front of the class, as to stumble in front of a client, employer, or a financial backer hoping to fund their start-up.   Their code demonstrations also help them get a feel for demonstrating software.

I have used the combat simulator for a number of years and have found it to be very successful in a number of areas.  From a technical perspective, this program helps students to better understand the concepts of interfaces, abstract classes, inheritance, and exceptions.   The format of the assignment allows the students to be creative and come up with their own designs, some of which have been very unique.  The demonstration aspect helps them present in front of people and to work on communication skills.

You may recall, I mentioned there is no homework in my class.  I’ve found students spend more time working on their project than they might spend working on small homework assignments.  I’ve also noticed students are more motivated when they can work on a project of their own direction.  Having a creative aspect tends to keep their interest.

If you would like more information about my combat simulator project, or other aspects of teaching, feel free to send me an email.

Tuesday, February 5, 2013

Quality and Quantity

If you spend any time reading the tech press, you will undoubtedly come across some critic bashing Windows Phone 8, or Windows 8. The two most common themes seem to be the lack of apps and the lack of a start button. Both of these complaints are simply ridiculous.

Let me first start with the lack of apps for the Windows Phone 8. What are you looking for that does not already exist? If your favorite app does not exist, then what have you done to help? Did you contact the maker of the app and ask them if they are planning a Windows Phone 8 port? If enough people ask for the Windows Phone 8 version, perhaps they will deliver. Maybe this is YOUR opportunity to capitalize on another’s short-sided perspective.

While I’m on the topic of Windows Phone 8 apps, I would like to ask the critics how long they should expect it to take for the development of a quality app?  Do you want some shoddy code expedited so you can have a half-baked solution? Keep in mind, the public release of the Windows Phone 8 SDK has only been out for a few months. A good, quality, app can take months to build, especially if the developers are working on their spare time (evenings and weekends). Maybe we should revisit the quantity/quality situation in a few more months.

Enough about Windows Phone. Let me turn to the Windows 8 operating system. I’ll call it out right now. There is NO start button. We now have a start screen and live-tiles are an added bonus. All of the Windows 7 applications I use work just fine with Windows 8. This notion of a double headed operating system is blown way out of proportion. It seems, to me, some of these critics are overly critical and are grasping at straws for some good-ole Microsoft bashing. Give the start screen a chance, like you did the start button on Windows 95. I'll give you the BigIT guarantee you will grow to love it.

Looking at things from a developer’s perspective, Windows 8 and Windows Phone 8 are just fine. I frequently work with c# and Java, using Visual Studio 2012 and Eclipse. No problems. Windows 8 is more stable on my laptop and I enjoy ALL of the little enhancements Microsoft made to the user interface. Windows 8 works great, even without a touch screen. Developing for Windows Phone 8 is also very nice and the new emulator is fantastic. I'd even say it is better than the Android Emulator (and faster, too).

Ok, that is enough of a rant. I hate to be so negative! I’ll conclude this writing on a positive note regarding Windows 8 development. App development is a pure pleasure. Visual Studio 2012 + XAML + c# + Windows Phone 8 = software developer bliss!

Microsoft brought the FUN back to software development!

Wednesday, January 16, 2013

Windows 8 Shortcuts Keys




This post will be short and sweet. Here are a few common shortcut keys for Windows 8. Even if you have a touch screen, or touch mouse, these keyboard shortcuts will help. You may want to bookmark this blog for quick reference, or refresher.

Win Key Key Action
winToggle between Start Screen and Desktop
wincOpen / Close Charms
windOpen Desktop
wineMy Computer
winfFile Search
winhOpen Share Charm
winiSettings
winkDevices
winlLock Computer
winmminimize all windows
winshift + mrestore all windows
winpDisplay Second Screen Settings
winqOpen Search Charm
winrOpen Run Window
wintTask bar
winuEase of access screen
winwSearch Settings
winxTask Menu
winzOpen / Close app bar
wintabcycle over apps
winPrnt ScrnCapture screen

I would also like to mention something about the new Windows 8 Start screen.  It seems many people find issue with the missing "Start Button."   Honestly, folks, the Start Screen is much better than the menu-driven start button of previous Windows and the live tiles enhance things in ways you would not expect.  Still need a start button?  Move your mouse to the lower left corner, then click start.  You can also press the "Windows" button to toggle the start screen.

Friday, December 28, 2012

Linux on Windows 8

Yes, you heard me right, Linux on Windows 8.  Why would you do that?  Simple, Windows 8 Pro supports Hyper-V (on SLAT supported architectures), and provides a fantastic tool for your virtual machine needs.

Before jumping into Hyper-V, you will want to make sure you have a system which will support it.  Here are a few links to help.
http://blogs.msdn.com/b/taylorb/archive/2008/06/19/hyper-v-will-my-computer-run-hyper-v-detecting-intel-vt-and-amd-v.aspx

64-bit Windows 8 Pro supports Hyper-V and after you install it, you will need to enable Hyper-V.  This is done using the control panel, selecting programs, then choosing Turn Windows Features on or off


From Windows Features, a dialog will present you will a number of options.  If your system supports hyper-v, then it will be available for you to enable.


The hyper-v manager should now be accessible from the start screen.


Now, the fun can begin!   Launching the manager will give you access to create VMs.  This is very cool and, as I mentioned,  is part of the Windows 8 Pro operating system.  You don't have to install any 3rd party software packages or costly virtual machine emulators.  The screen shot, below, is from my Dell laptop running Win8.  I have three VMs installed and the highlighted one is the Linux OS, CentOS.



It is very easy to create your own VM and Microsoft has done an excellent job providing a wizard approach to configuration.  This blog entry just  highlights the hyper-v feature and more details may follow with another blog entry.  

But wait, there's more!

Before I wrap this up, I do want to bring to your attention another fantastic feature of Windows 8.  Once you download the ISO you wish to install, all you have to do is right-click the ISO file, then select Mount.  Mounting ISO files is a feature which is part of Windows 8.  No longer needed are additional applications to help with using ISO files.  Your mounted ISO will show up as a drive letter.

I'll leave you with a final screen shot.  It is from my VM, running CentOS.   Enjoy!

Monday, December 17, 2012

Windows 8 Does Java

This is my Windows 8 start screen.  Look closely at the red highlighted box.  See it?   Yes, your eyes are not deceiving you.  This is, in deed, a tile with Eclipse on it.  64-bit Eclipse, Juno,  downloaded from Eclipse.org.   No modifications were needed.


My laptop is running 64-bit Java, from java.oracle.com, and I have not encountered any issues.  Despite what you might hear, Windows 8 will do Java and makes for a decent development environment.   I plan to post more information pertaining to Java; but, for now, I'll leave you with a screen shot of Eclipse and the obligatory Hello World application and some messages from the command prompt.