Thursday, October 02, 2014
Fast forward more decades than I care to think about, and suddenly I find a thing that lets you turn lights on and off and program it. Well, now it's on like Donkey Kong. Sort of. The modules are undocumented, but at least the chip number is visible, and Googleable. There you can find a number of forums of other people who bought these things and are trying to figure it out, with an occasional engineer to point out some critical information. Though this information is often buried in a discussion board on StackOverflow or a more Arduino-related site. It's a fair amount of digging to figure out what pins to connect and a corresponding sample program to interact with it.
There are a lot of hurtles. Often these things don't work as the previous StackOverflower outlined because yours is a little different from what was described. Or you read the part number wrong. Google the thing that went wrong along with the chip part number and whatever pins you can read. If nothing else, it's a chance to learn some science. The part HMC5883L that I still can't get to work right, points to Magnetic North- I had never thought of it as a 3-dimensional measurement, but it is. Which means more math and physics than I had planned for the day, but that can wait for another day. The larger board next to it is a tiny Arduino clone, from China, for about $2.50 including shipping. I haven't gotten that to work either, since it relies on me connecting a couple of other parts correctly to connect it to the computer, which I would need, in turn, to help me figure out why it's not working.
So this sort of issue can be called a "Bootstrap" problem- bootstraps to put on your boots. Though it's a bit more circular than that. In the back of my mind is the premise of the Maker stuff, a company build around magazines and kits for hobbyists and (allegedly) kids. Except unless you have a parent who's an engineer and a hundred bucks sitting around, you're not really the target demographic.
So, how can this stuff be made more accessible? If the Internet of Things is going to be the Next Big Thing, how do we learn this stuff?
Tuesday, September 30, 2014
If there's one thing I learned in the course of the dissertation, it's that "writer's block" (at least for me) often is the result of trying to write one thing while thinking about something else. Basically, the logjam of ideas that don't want to flow the way they're "supposed" to. When I backtrack and Google "writer block logjam" there are a wealth of opinion posts about this being an actual thing.
Then I stumbled on games, gamification,and the like. I discovered to my surprise that my Intro Java class really liked a test class using Alice. So, why not. Not the easiest thing to shift gears suddenly from one set of course plans to something else, a class example for a course I TA-ed for about 6 years ago. But it's Alice and I was a Java developer for several years before the cut-and-run to academia.
Is there anything here to knock off my publication requirement for the year? A study about how Intro Programmer course students like Alice over Notepad++ isn't exactly going to get me into a first-tier publication, since it's no longer 2002 outside. But, there's a question out there somewhere after churning through the stack of PDFs I've compiled recently.
Given my general inability to play any sort of computer games for the past 3-4 years, with life events and the aftermath, it seems that learning about games is likely to be my way back into that realm.
Thursday, September 25, 2014
Whoever said it first, Lennon seems to have been the first to put it in music. I felt the need to play that song as I started writing this. It's been a difficult week, but almost over. Strange relief at the consistency of the week, whether good or bad- there were no real surprises. Hard to tell the sensation of things "getting better", whether conditions actually improve or just improved patience. The distinction may not matter around the edges.
In another context, "No battle plan survives contact with the enemy," however we define the enemy is: another person, circumstance, or just ourselves. How do we survive complications or conflict and continue moving forward. The dissertation research was at best lightweight AI-- the only strategies employed were tactical. Circumvent, adjust, continue until one can continue no more. Drop unsuccessful plans to lighten the load and accomplish what tasks remain. These were not explicit strategies, just the culmination of dozens of small responses across a wide range of inputs and conditions. Some of these would fail to hold up to scrutiny, and yet the cumulative behavior was fairly realistic within this test-tube domain.
Conflict, life, pushback, details or whatever you want to call it seem inevitable. Failure is the only guarantee in life, so it would be nice to think anything above that as at least a partial victory, and to think of each tomorrow as a reward for surviving today. There are fewer opportunities for big decisions and countless opportunities for making minute choices, the culmination of which result in changes that can be difficult to anticipate. It would be more reassuring to think of life as more than just the results of countless small comparisons driving decisions. There's the conflict between what we see, what we expect, and what we aspire to.
Life does just "happen" whether you look both ways or not. Contingency plans are good, but still worthwhile to find a hand to hold when you do cross.
Monday, September 08, 2014
It's not all robots and games, though they have their place. Having said that, I'm trying to figure out how to hack some motors and wheels to the bottom of an Arduino board I have at home and interact with one of the languages I teach. All in the name of making the class more interactive. Which is just as much for my benefit as the class- or perhaps more so, since keeping up to date with hardware and Internet of Things stuff is key for this field right now.
So there are a couple of projects that just might fit in, though I have not evaluated them yet. One is a Java runtime for Lego robots, the other, a Java framework for Arduino. Either way, it's some testing to make sure they actually work, and then figuring out how to incorporate it into class- especially when there are 10+ students and I've got 2 of these things at home.
"Computer Science is no more about computers than astronomy is about telescopes." - attributed to Dijkstra
At some point, it's necessary to build things. The theory has to be built in, or else it's just a bunch of fumbling around and trial and error. We don't need any more of that.
Friday, September 05, 2014
I do not miss the endless comments about "summers off" while working 1/2 to 3/4 FTE during the expanse of unpaid time. Essentially your 9 or 10 month paycheck is spread out over 12 in Higher Ed. In the days of yore, I suppose those extra 2-3 months were free to use for running the farm and harvesting crops, but now it's all but mandatory to spend it in course preparation, research, and the sundry administrative tasks scattered between May and August. But with a cold summer of scattered rain showers, it proved a bit more productive than expected.
College STEM teaching is a bit more involved than clicking Powerpoint and knowing which end of the whiteboard marker is the writey part- courses need extensive revision even from year to year. But in an era when opinion has become synonymous with fact and Cut and Paste off of Google searches is conflated with learning, that reality is going to be a tougher sell. Oddly, I remember an old interview with Arnold Schwarzenegger, where he states that ego is one thing, the cold reality of facing weights on a bench press is another. There's something to be said with seeing a problem, determining some requirements, and sitting down to a blank screen to solve the problem. And some problems are only seen when you know how to identify them. How to teach an easier path through hard-fought experience remains an ongoing problem, but not one that the stereotypes about my occupation will solve.
Saturday, August 23, 2014
CD ROMs are largely plastic enclosures that embed gears as well as fixtures for holding wires, motors, and other parts. At the heart, there's a laser, an optical sensor, and a weird motor that is difficult to control but extremely efficient. I found the most useful information about these from an Australian RC Plane hobby board. They have detailed plans how to disassemble some of these motors and rewire them, to make them easier to control for a remote control toy plane. The electronics discussions are a little sketchy, to the point where I've started wondering if there are electrical engineers on the Web anymore.
Having some of the skills makes these projects seem easier. If you count it out, the range of skills is much wider than you'd expect, and depth in each varies quite a bit. Here's a short list that comes to mind-
- programming in a C-based language (if you have an embedded controller like an Arduino)
- Some electronics
- Some mechanics
- Some CAD for printing a circuit board (for finished projects) or just a well though out design for creating the circuit more permanently.
- Some CAD for designing the 3D printer files to make the shell out of plastic, or the ability to machine this stuff from your material of choice.
- The problem domain you're working in. If it's a quad copter it's some aerodynamics. If it's a plotter of sorts, it's also going to involve a lot of gear sets and geometry.
- go to an outstanding STEM school
- Be around people who are good at this stuff
- Access to tools and materials for hands-on work with this stuff, some of which is fairly expensive
- Have a place to experiment with this stuff
After years of addressing the "Digital Divide" by sending computers to schools, I think we missed the real point. I don't have a solution, but just a growing awareness of what doesn't seem to work no matter how many resources are misdirected at solving the wrong problem.
Wednesday, August 13, 2014
After getting an Arduino and doing relatively little with it over the past couple of years, I've spent a bit more time trying to figure out what to do with it.
I've eased into a few Maker type projects of late, especially after graduation. Some has involved salvaging parts from old computer drives, motherboards and the like. Aside from blinking lights and controlling speeds on old CD ROM motors, no robots have been created.
Building things out of wood pallets has been more constructive, even if the projects are workbenches and wood racks for taking apart more pallets.
At some point, building a work area for salvaging parts should be used to actually build things. But the electromechanics of CD drives in particular has been interesting, and it may take time to figure out what to do with them.