Teaching with Windows 10

October 13, 2016

This summer I switched the school computers from Windows 7 to Windows 10 with the thought the kids should use what they are most likely to encounter in the “real” world.    In other words, I had good intentions.  It is an operating system, what could go wrong?  Zoiks.  The updates is what could go wrong.  I use mostly non-domain computers in my classes.  Loaner laptops the kids can take home or the kids use their own laptops.  Let it sit for a day or two, turn it on and there is an update downloading.  Some of the kids know how to turn off the auto-update feature, some do not.  I have tried to turn off the auto-update on the domain computers through Group Policy but for some odd reason it does not do to much.  This is one of those lovely unplanned things that can throw a class schedule off.  Today one of the kid’s loaners started an update when he turned it on at the beginning of class.  It was still cranking 90 minutes later.  He did not get much done.

Interruptions like this are in my programming assignment due-date planning.  All my due dates are “to be determined”.  Not a big deal but it can mess with the class progression and it does throw off the kid’s “flow”.

Automatic updates should never be the default.  They should not be weekly.

Techs all over the state are complaining about this feature of Windows 10.  Labs being useless while Windows 10 updates take over.

I like Windows 10.  I just wish Microsoft had written it right the first time so they do not have to keep updating it.  Or at least cut the updates to once a month.

The obvious solution is to have a WSUS server so the updates are not acquired by the client computers from the internet but from the WSUS server and the WSUS server is scheduled to hand out the updates at a convenient time, like midnight on Saturday.  Building a WSUS server is one of those little tasks I have not had the time to learn how to do.

Death of a Server

October 1, 2016

Tuesday I had a server die.  The hard drive was making a loud clicking noise which is a bad thing for hard drives.  (I had a student tear it apart just out of curiosity.  The read/write head had actually scratched the disk.)  It was not an important server; it was the student files server and most of the kids are on the cloud.  The box itself was an old Dell Optiplex 320 with a single drive running Windows Server 2008.  It was not really intended by Dell to run as long as it did, I figure about 6 years as a server without a break.  I thought I had a mirror drive in the box.  So much for thinking and not checking.  Originally I was not even going to replace the server but two teachers did use the server for students to turn in homework.  One of the teachers was the elementary tech teacher.  K-4 do not have Google accounts so this is how she collects their computer work.  For her this is an excellent solution so I had to replace the server.  Not a big deal box-wise.  I have a staff file server that is not used by many of the staff (the cloud again) so all I have to do is create a folder, share it and point the student’s domain policy at that folder with a drive mapping.  Piece of cake.  Yah, right.  I do this kind of stuff once in a blue moon.

The staff server is Server 2012.  Server 2012 has a slick process for mapping users to drives.  I tinker for a couple of hours.  Now I can do this mapping one student at a time by manually putting the folder address in their policy one at a time.  A real pain.  I continue to tinker with no luck.  I probably have some folder permission buggered up.  I tinker some more and finally resign myself to pasting the mapping into every student’s profile.  Bummer.  I am sitting there looking at this long list of names that I am going to have to do one at a time when I am struck by a moment of brilliance.  Can I highlight the kids and paste in a generic username and have it work?  Yup, I can.  Two minutes later I am done.

So here are some lessons learned.

  1. Mirror a spare drive in these non-multidrive servers.  I will check the staff server Monday.
  2. File permissions are an ugly mess when trying to learn them by trial and error. I need a class.
  3. I could have done the paste thing three hours earlier. Sometimes doing what you know how to do even if it looks tedious is better than trying something new that you do not know how to do.

I have been the school’s sole techie for 10 years and I am always amazed by how little I really know about the job.  There is always something like this coming up that takes me hours to figure out when there is a 5-minute solution if I knew what I was doing.  Every time I do something like this I learn new stuff but by the time I have to do I again I have forgotten what I learned.

I have had to learn this job by 100% on the job training but with all the headaches, stress from lack of knowledge, lack of time to learn the job properly and duct tape solutions due to lack of budget this job is still more fun than a box full of kittens.

Computer Programming: Free stuff is everywhere

September 27, 2016

October 20th I am giving a presentation at the annual Montana Educators Association conference.  The topic is “Computer Programming:  Free stuff is everywhere”.  (Originally I was going with “Computer Programming: Free shit is everywhere” but it simply did sound professional and at all costs I must sound professional.  I also do not think the organizers would have gone with that title.)  I usually do not get into doing presentations like this.  I have a tendency to get enthusiastic which means I start waving my arms, jumping around, speaking excitedly and overall looking like a stone-cold idiot.  But I could not resist.  The reason I am submitting myself to a demonstration of public stupidity is simple.  For some odd reason many Montana schools have decided teaching CS and/or programming is an expensive proposition and therefore not introducing it into their curriculum.  I, on the other hand, consider it the cheapest subject to teach.  My feeling is the only expense that falls on the budget is the cost of a teacher.  Admittedly this is not trivial, in fact just finding a teacher qualified (or if not qualified at least willing to learn) to teach CS/programming can be a challenge for schools, especially out here in the boonies of Montana.  The other expense they seem worried about is computers.  Are there high schools out there without a computer lab?  Maybe but not likely.  Do the kids have their own laptops?  Usually.  If a school does not have the hardware (available lab or shortage of student laptops) there are solutions.  Montana has a State recycle warehouse with all the tech stuff available for free.  Computers, laptops, monitors, keyboards, etc, etc.  The stuff is free.  No, it is not new but a 5-year-old computer works just fine for almost all programming applications.  I would assume most states have the same warehouse somewhere.

So I want to expound on why I consider CS/programming such a cheap subject to teach.  Since most schools think CS and programming are the same thing I will look primarily on programming assets.  This post is just the beginning of me organizing my thoughts so I can prepare something that will not reinforce the appearance that I am in idiot.

In the beginning there was the programming language.  How many free (and good) languages are there out there?  Let me count the ways.  No, I won’t, there are too many.  Here is a list of the ones I have used that are worth the trouble of using or free applications that might be worth learning.  Some of these are what I would consider suitable for an intro programming course.  Some are suitable for advanced courses.  ALL of these have free versions and have free or dirt cheap learning materials available somewhere.  If it isn’t free or really, really cheap it does not fit my budget.

Logo – Lots of them out there.  Beginning programming.

Scratch  (https://scratch.mit.edu/)  –  Beginning programming.  Designed for teaching.

Alice  (http://www.alice.org/index.php) – Beginning programming.  Designed for teaching.

Touch Develop  (https://www.touchdevelop.com) – Beginning to pretty advanced programming.  Designed for teaching.

Small Basic  (http://smallbasic.com/)  – Beginning programming.  Designed for teaching.

Kodu  (http://www.kodugamelab.com/)  – Beginning programming.  Designed for teaching.

Visual Studio Express  (https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx) Intermediate to professional programming.

Corona/Outlaw (https://coronalabs.com/ and http://outlawgametools.com/game-dev-product/outlaw-ide/) – Intermediate to professional programming.  Phone apps.

GameMaker  (http://www.yoyogames.com/gamemaker) – Beginning  to intermediate programming.  Strictly game authoring.

Python/Pyscripter (https://www.python.org/) Beginning to advanced programming.  Designed for teaching but can be used for professional work.

Java – Intermediate to advanced programming.

Unity or Unreal Engine (https://unity3d.com/  or https://www.unrealengine.com/what-is-unreal-engine-4) – Intermediate to advanced programming.  Game authoring.

MIT App Inventor  (http://appinventor.mit.edu/explore/) Beginning programming.  Designed for teaching.  Phone apps.


Again all of these have free versions and all of them have free tutorials or teaching materials.

First week woes

September 1, 2016

I am not going to make it through the year, maybe not though the week.  This is the first week of the year and so far the Google Drive on my class laptop has died (folder is empty and it was not empty last week), some of the wireless APs in the elementary school do not want to work and I think I have narrowed it down to the quality of the switch they are attached to (???), the bells at the elementary school are ringing at random times even though the time is set correctly and the schedule seems to have downloaded correctly, and now something is doing a massive download on my network which is killing all the bandwidth.  Oh, I also am teaching one more class than usual, the school has expanded the day-care to a new site 10 blocks away that I am apparently supposed to tech and, worst of all, I have not had time to fill my beer growler in a week or so!  Woe is me!

A wing and a prayer,

August 23, 2016

Students walk in the door Wednesday.  I am not ready.  I say that every year and it is true.  My stuff for my classes is not ready and the computers for the school are not ready.  I spend all summer working on the IT stuff and when school is about to start it seems nothing is ready to go.  This year I can blame it on Windows 10.  I upgraded from Windows 7 to Win 10 this summer.  Not really that big of a deal.  I and my student tech aide wander from computer to computer and run an install, then cut and paste the Win 10 key and POOF, Windows 10 is installed.  Not.  For some odd reason if you let the computer with the newly installed Win 10 sit for a few days (not an exact measurement) then turn it back on it has the “Activate Windows” warning on the desktop.  I gave it the Win 10 magic key once so it wants it again?  I give it the magic key again and it is not happy.  It says wrong key.  It is the only key I have.  Now what?  I tinker.  (School techies do that a lot.)  After a little hair pulling and a lot of luck I find the solution.  Give it the Win 10 key then give it a Win 7 key.  In that order.  It is happy.  I have not the slightest idea why this should work but it does.  So I am back to legging around giving every (well, almost every, the pattern is not consistent. Some computers are happy without the reinstall of keys.  Go figure.) computer the weird key install routine.  The computers already had Win 7 so why need the Win 7 key again?  Weird.  This job is just so interesting.

For my classes I am just going to have to wing it.  The senior stats and the sophomore Algebra 2 are no big deal.  I have done them before so I know what I have to work with in the way of resources and syllabi so winging it is not a problem.  The Game Programming class on the other hand is going to be an issue.  I had planned on working through the book I am going to use during the summer to work out the bugs.  So much for that plan.  I do have a scheme but no syllabus or weekly plan.  I have never taught the course or used the Gamemaker software extensively so this will be a challenge.  Just what I need, a challenge.

I have never in the 30 years of teaching programming ever been prepped successfully for a first time programming class.  The couple of times I laid out the course in detail the detail fell apart.  Computer issues, students being smarter than expected (I have never had students been dumber than expected), projects I thought were easy turn out hard, projects I thought were hard some smart student finds an easy way to solve, and multiple other confounders.  So I am used to winging it.  I have been lucky so far in that I have never had a course crash and burn.  I have had one catch fire once because the tutorials I had planned to use turned to poop after the third one but the kids and I managed to survive without the tutorials.  You have to be fast on your feet if you are winging it (Yes, that is a mixed metaphor but if Shakespeare can do it so can I!).

So even if I am not ready school is going to start and we are going to have fun and on the way we are going to learn some stuff.

The exciting world of school IT life.

August 5, 2016

I have decided to re-wire the elementary school lab.  All the network cables were just stapled to the walls.  Really tacky.  (There is a pun there.)  Now this seems like an easy task, get cables from computers on tables to a switch on a shelf.  No big deal right?  That is what I thought too.  Since it is an elementary lab all sorts of weird things come into play.  The cable cannot be hung under the tables.  The first graders feet swing there.  I cannot tape them to the bar at the back of the tables because the third graders rest their feet there.  So I am back to the walls.  Now realize this is a very low budget operation.  No nifty cable channel at several dollars a foot to hide the cables in.  I found some stick-on cable hangers at Home Depot and a couple of I-bolts to screw into the wall to tie the network cable to at the switch.  Not elegant (ever notice how elegant and price seem to have a bit of a direct correlation?) but functional and better than cables stapled to the wall.  The cables will still be hanging on the wall but now they will be an organized mess.  I also bought some rainbow colored Velcro straps to bundle the cables with.  Add color to ugly and it is still ugly but now it is ugly with pretty colors.  The lab has a couple of islands of computers.  The network cable used to be stapled to the ceiling and just hang down to the islands.  Again it lacked visual appeal.  I am going to blow the big bucks here.  $30 gets me 15 ft of that rubber strip that cables can be stuffed in to run across the floor to the wall.  Much better than the ceiling dangling motif.  I am also going to add a couple of switches to the tables to reduce the number of cables running around the room.  I have a lot of 8-port switches in my stash.  I can get them free from the Montana State surplus warehouse.  (This is also where I get my computers, monitors and printers.  Free stuff rules.)  I am going to actually make custom cables for most of this operation.  Cables cut to the right length will help a lot to get rid of the cable mess.  Putting RJ-45s on the end of cat-5 cable can be a pain but after the third or fourth one it becomes an art.

Now a public school with a real budget would just buy wireless cards for the towers and be done with cables completely.  I am going to do this lab for about $50.  That we can afford.

The decision to redo the lab was started on a really weird issue.  Half of the elementary lab suddenly decided it would not see the network.  One wall of computers was fine, the rest not so fine.  After an hour of trying to find who was plugged into what because I thought it was a bad cable in the mess of cables I just started unplugging everything.  When I plugged it all in everything came back up for a couple of seconds then lost the internet again.  Let’s see.  It worked fine last week and it does not work fine this week.  What has changed?  I still do not know what started the problem but I think it was an IP conflict somewhere between two computers in the lab.  Why they suddenly decide to be unhappy now makes no sense but whatever.  After changing some computers to dynamic IP addressing the problem seems to have vanished.  I need to check every IP address in the lab and match computer number, computer name and IP just to get things organized again.  After I get the cable mess less messy.

Oh, the exciting life of a school techie.  No expensive certifications or CS degrees needed.  Just the ability to unscramble cables and spell “ip”.

It is over and it has started.

August 1, 2016

Well the Butte 50 mountain bike race is over.  I did not make it to the finish line.  I had to quit at 30 miles.  I started cramping at about 20 miles and it reached the point where I could put no pressure on the pedals.  I had to walk everything that was up.  The water and electrolytes were OK; the hot weather conditioning was not.  It was in the 90s which is HOT for western Montana.  I am a bit gimped up right not.  The cramps ripped the heck out of my quads.  Stairs are a real joy at the moment.  A large number of people had major heat issues.  Next year I will either do the 25-mile race or help with the support team.

So I am back in the office today trying to figure out how I am going to manage the next year.  The elementary school has moved the pre-school to a church a mile or so away.  Apparently I am their tech support.  Of course the powers did not discuss the possibility of me being able to support them with a half-time tech schedule but I am used to not being in the loop for things that involve tech support.  That would make life too easy.  We shall overcome.  Besides, how much tech support can a pre-school need?  Cackle!!

I have to start working on my gaming course this week.  I have about 13 kids signed up for the course and some of them are going to require I actually know what I am doing.  Smart, ambitious kids can be such a pain.  No more naps for me.  I have a warm and fuzzy as to what I am going to do but that really is not enough for the first day.  I am going with Gamemaker using the Gamemaker Language (GML).  There is no drag-and-drop, the kids actually have to code.  GML is very C-like with semicolons.  It is close enough to many languages that if they have to use another language they will have a good foundation.  I looked at a large number of options but considering the make-up of the students (freshman to seniors and zero to two years of programming experience) Gamemaker seemed to fit the best.  I wanted something that they actually had to write line code, had a book to act as a guide, would result in some usable game products and would be fun for the kids.  I looked at Unity and a couple of other like game engines but the learning curve looked a bit steep for a first try.  Gamemaker also does not require much in the way of a computer.  An important factor when the kids are having to use their own laptops.  All my CS courses require the kids have their own laptop or do a long term loan from the school.  No high tech CS lab here with all the stuff needed already installed.  We have all sorts of fun learning install issues.  CS down in the mud.

Time to run to Best Buy and get a DisplayPort to HDMI adapter.  Lenovo computers do not have HDMI output any more.  Learn something new every day, especially when you look all over the computer trying to find the HDMI port on a new computer.  School IT is never boring.

It is summer: Lots of bike, a little IT.

July 19, 2016

I have spent the spring and summer on my mountain bike training for the Butte 50 on July 30.  This is a 50-mile mountain bike race in the mountains above Butte, Montana.  It has been categorized as one of the toughest 50 mile races in the US.  I did it two years ago.  Took me 10 hours on the bike.  It is a loop but I swear there is a lot more up than there is down.  Time-wise there is definitely a lot more up.  I am feeling pretty good about it this year.  I cut way back on beer in an attempt to lose ten pounds.  Ten pounds is a lot of weight on a three-mile climb.  So far I have managed to lose five pounds.  About what I expected.

The Butte 50 entry is a lottery.  I keep winning the lottery.  I won last year but could not ride due to a health issue.  Why can’t I win a lottery involving money?

I did a 46-mile mountain bike race a couple of weeks ago.  My goal was that nobody older than me would finish in front of me.  I reached my goal.  Of course I was the oldest rider but if I over look that little detail I am good.  Oh, and I was not last.  Close, but not last.  And I did not know I was the oldest until after the race.

If I had a higher IQ I would not sign up for this kind of thing.  There is just something in me that requires a physical challenge in front of me.  I get plenty of intellectual challenges being the IT department for the school.  This is about the only physical challenge I get other than riding with friends.  I used to run a lot and do marathons but the Achilles tendons are toast from too many miles with a pack and from running.

I did 21 miles of the course in 4 hours Sunday.  This week is a taper down week and next week is a maintenance week.

IT-wise today is a replace the school’s main firewall/router day.  The present router is old and makes me nervous.  I bought a nifty new Barracuda router.  I am not installing it.  I have a local guru and tech support.  Yippee.


An example of an IT failure.

June 29, 2016

At one of the blogs I visit regularly (https://codinginmathclass.wordpress.com/) I read this:

“At the beginning of this school year, I purchased licenses for MinecraftEDU and I love it. Unfortunately, as you can tell if you follow the link above, the old MinecraftEDU is now in transition. Microsoft is re-writing and re-releasing the educational version as Minecraft: Education Edition. I would love to use it, but it’s only going to be available on Windows 10 and my district’s IT department has been very clear that we are not moving to Windows 10 this year. … It is extremely frustrating – I believe in this tool and think our kids will really benefit from using it in classrooms, and our progress as a district has been completely shut down.”

This is where I start to rant and wave my hands.  A school IT department has only one major priority, supporting teachers so they have the tools to teach.  An IT department that makes a decision like not upgrading to Windows 10, and thereby affecting curriculum, needs to be evaluated.  I can understand not upgrading a whole district to Win10 in one summer.  A big district can take a while and they may not have the staff or expertise to do the upgrade in bulk.  But to not do a limited upgrade for a teacher that needs it to teach has no excuse.

I am the IT guy at a small private school.  I operate on a very limited budget.  (Not all private schools are rich.)  I have had a scattering of Win10 computers through my school for a year just to test if there were any issues with group policy or the domain.  I have managed to upgrade to Win10 this summer with no problems.  The upgrade from Win 7 or 8 is idiotically simple.  I just do not understand how an IT department has not been preparing for this upgrade for at least a year.   (More hand waving here.)

One of the major tasks of an IT department, be it a one-man-band or a large district department, is to look down the road to the future.  It has to make plans to implement changes to keep up with the changes.  It looks like this department has failed.

Perhaps I am being harsh.  Perhaps there is some extenuating circumstance in this district I do not understand.  There are a lot of things I do not understand here.  What I do understand is it is the IT department’s job to support the teachers and to find solutions for teachers, not to put limitations on teachers.

I could rant on here for quite a bit more but it is late and I have to go to work in the morning.  I have IT work to do so my teachers will have no limitations caused by IT.

Powerschool and I: Angst issues

June 27, 2016

I am sitting here staring at my Powerschool screen.  I have made a booboo and do not know how to fix it.  I am waiting for PS tech support to give me a call.  Ever have one of those jobs where you do not have a clue what you are doing and have to do it anyway?  That is me and PS.  I have been the PS guy for 10 years and the thing is still a pain in my rear.  I have never been to training in PS, everything is learned by trial and error and then calling tech support.  (Luckily PS tech support is pretty good.  They speak American.  Sometimes with a Southern accent but we manage.)  PS does upgrades a couple of times a year.  They tweak the interface just enough to make something different.  They do not tweak the documentation to keep up.  Bad Powerschool.  Bad.  Bad.

Every year I have to go through the End-Of-Year process.  The EOY process is this semi-convoluted thing that promotes all the kids to the next year.  Sounds simple.  It is not.  There are all sorts of preliminary things that have to be done first and those upgrades seem to change things just enough to screw me up.  One of the prelims is to check student registration dates by running a little built-in process.  The directions then say fix all the errors.  OK, how do I do that?  That is assumed knowledge and therefore cannot be explained in the document that tells you to run the check in the first place.  There is also no way to import information, like the next year’s school dates for semesters and quarters, between schools.  Having to do it three times can lead to typos.  I have made a typo and there is no Delete option so I can go back and fix my typo.  Now if I had an eidetic memory and good documentation I would be in good shape.  My memory and the documentation are both in rough shape so this once a year process is pretty sketchy.  If not done right all sorts of bad things happen.

I am sure PS will call and tell me I can fix that by accessing the Oracle database.  Uhh, yah, sure, right.  Like I go there regularly.

So right now I am suffering a little angst.  I am contemplating my retirement options.

PS called and he fixed the problem remotely.  Goody.  I ran the next error checking report.  Seventy some-odd errors.  I am back to contemplating my retirement options.

Of course having these little issues does help me to understand what a student feels like when they have something in front of them they have very little comfort with knowledge-wise.  Like a new programming assignment when they really did not understand the last programming assignment.  Angst.