As part of the Life Lessons series, it's important to be reminded when those life lessons will be needed. To help with this problem, with the goal of not missing those critical periods in which each life lesson is relevant, I'll need to do the following:
1. Figure out the earliest age at which each life lesson is relevant.
2. Calculate the earliest date, using the answer to #1 and my child's birth date.
3. Set a reminder that will hit me before the date from #2 arrives.
OK, #1 and #2 are pretty easy. Technology should be able to help me with #3.
I use GMail, and thought it could send me an E-mail at a future specified time out of the box. That would be the perfect reminder system, considering that I don't figure I'm guaranteed to be using any particular calendaring system. However, upon further inspection, I'm not seeing an easy solution. I see plenty of third-party solutions online, but I'm not interested in giving other companies access to my E-mail, or in paying a fee.
I see that there's a script that will integrate with GMail and Google Spreadsheets to give this kind of control. I'll check into that, and get back with my solution.
Saturday, January 10, 2015
Thursday, January 8, 2015
On the Tragedy of Life Lessons
There are many things I want to teach my kids, including life lessons. Because I am a dad, this should not be surprising. As I go about my day, it is not unusual for me to think about these life lessons. However, my kids are still little, and most of the life lessons I think of are beyond their understanding or are otherwise not age-appropriate.
Bummer.
So, I make a mental note to remember to one day tell my kids about how to manage their money, or whatever. As I do this, a part of my mind screams out. It says:
"You! Idiot! You are going to forget this lesson! The time will fly by, and the day will pass, and then it will be too late! If you even remember, your kid will have already been educated by ol' Billy Bonehead, and learned all the wrong things, and good luck unseating all that crap."
And I don't do anything about it, but maybe resolve to really remember.
Double Bummer. It is tragic, really.
Because I've already forgotten so many of those things.
So, one New Year's Resolution for this year: Write that stuff down.
As I think of them, I'm going to write those life lessons here, mostly to help myself remember them. It's better than some old notebook, at least.
Bummer.
So, I make a mental note to remember to one day tell my kids about how to manage their money, or whatever. As I do this, a part of my mind screams out. It says:
"You! Idiot! You are going to forget this lesson! The time will fly by, and the day will pass, and then it will be too late! If you even remember, your kid will have already been educated by ol' Billy Bonehead, and learned all the wrong things, and good luck unseating all that crap."
And I don't do anything about it, but maybe resolve to really remember.
Double Bummer. It is tragic, really.
Because I've already forgotten so many of those things.
So, one New Year's Resolution for this year: Write that stuff down.
As I think of them, I'm going to write those life lessons here, mostly to help myself remember them. It's better than some old notebook, at least.
Tuesday, January 6, 2015
LEGO Mindstorms and the Case for Free Software
Looking back at my broken LEGO Mindstorms creation made me realize how much work I put into that little jerk. Actually, he doesn't deserve to be called names. It's LEGO that deserves it. They're the reason I had to jump through so many hoops.
Let me explain:
I inherited these LEGO Mindstorms from a friend who was cleaning house for a long-distance move. These were the NXT 1.0 set, and NXT 2.0 was already out. I have a household with two newish Macs, and it turns out that the Mindstorm programming environment for NXT 1.0 only runs on Windows and PowerPC Macs (i.e. old Macs that don't have processors made by Intel). There's a ton of assorted updates to the software on the LEGO Mindstorms website, but none of them make it work on Intel-based Macs.
And here's the kicker: if you want the 2.0 software that will run on Intel Macs, you need to buy an NXT 2.0 set (or a software disk), which means shelling out a lot more money. I wasn't about to do that.
I looked around for alternatives, and discovered LeJOS, which is a Java compiler and firmware for the NXT platform. I am very comfortable with Java, so that was a big plus.
LeJOS required me to flash my Command Brick, but that turned out to be very easy with the provided software. My key takeaways were:
All in all, installing LeJOS on my computer and Command Brick was a positive experience, and let me easily and quickly set up a development environment that worked with my LEGO Mindstorms NXT 1.0 set, all in a modern Mac-based computing environment. That gets a big thumbs up from me.
However, that doesn't negate the fact that LEGO should make their Mindstorms brick-programming software free to download. Not only could second-hand purchasers of Command Bricks then use it, but people with the older products wouldn't be left with crapware as computing evolved. It also might just make a pretty cool standalone learning tool for people who didn't already have a LEGO Mindstorms NXT set, and convince some parents to invest in one!
Let me explain:
I inherited these LEGO Mindstorms from a friend who was cleaning house for a long-distance move. These were the NXT 1.0 set, and NXT 2.0 was already out. I have a household with two newish Macs, and it turns out that the Mindstorm programming environment for NXT 1.0 only runs on Windows and PowerPC Macs (i.e. old Macs that don't have processors made by Intel). There's a ton of assorted updates to the software on the LEGO Mindstorms website, but none of them make it work on Intel-based Macs.
And here's the kicker: if you want the 2.0 software that will run on Intel Macs, you need to buy an NXT 2.0 set (or a software disk), which means shelling out a lot more money. I wasn't about to do that.
I looked around for alternatives, and discovered LeJOS, which is a Java compiler and firmware for the NXT platform. I am very comfortable with Java, so that was a big plus.
LeJOS required me to flash my Command Brick, but that turned out to be very easy with the provided software. My key takeaways were:
- The build files worked well enough, even though they were a little clunky. The Ant ones worked with some fiddling, but the Maven ones didn't seem to work out of the box.
- Transferring my programs to the Command Block was easy.
- Support for the various functions of the sensors and motors was good.
- Documentation was good enough that I had little trouble creating my programs.
All in all, installing LeJOS on my computer and Command Brick was a positive experience, and let me easily and quickly set up a development environment that worked with my LEGO Mindstorms NXT 1.0 set, all in a modern Mac-based computing environment. That gets a big thumbs up from me.
However, that doesn't negate the fact that LEGO should make their Mindstorms brick-programming software free to download. Not only could second-hand purchasers of Command Bricks then use it, but people with the older products wouldn't be left with crapware as computing evolved. It also might just make a pretty cool standalone learning tool for people who didn't already have a LEGO Mindstorms NXT set, and convince some parents to invest in one!
Labels:
free software,
Java,
lego,
LeJOS,
mindstorms,
nxt,
robots
Monday, January 5, 2015
LEGO Mindstorms and a Dead Robot
An old friend visited the other day. Like me, he has kids, and is interested in exposing them to toys that breed creativity, especially ones with a technological bent.
In the course of talking about things like Minecraft, LEGOs, and the Hour of Code, I remembered that I had some old LEGO Mindstorms. I pulled them out, including the robot I'd built a few years back. Man, it's crazy to think how old these things are.
Sadly, my robot no longer works. After replacing the battery, I found that there's a problem with the Control Brick. Apparently, a piece of solder inside the Control Brick has cracked and caused the display to no longer function. Searching Google, I found that this is a common problem with LEGO Mindstorms NXT V1.0, which is what I have. I didn't have the time, resources, or gumption to fix the brick then and there. However, I'm looking at it as a near-term project. It'll be a good excuse to use the soldering iron, and it's not like I can make it much less useful.
It was a pretty cool little robot, too, even if it wasn't that sophisticated. It used the sonar sensor to detect walls, back up, and change driving direction in the case that it detected an obstacle. It also had the ability to back up and change direction if its wheels got caught and bound up in an unseen obstacle. The sonar sensor was mounted on a motorized swivel, to allow for future expansion, with the idea that it might be able to do some primitive mapping.
All in all, he's a silly little robot, but worth saving, even if it's just to reuse his Command Block.
In the course of talking about things like Minecraft, LEGOs, and the Hour of Code, I remembered that I had some old LEGO Mindstorms. I pulled them out, including the robot I'd built a few years back. Man, it's crazy to think how old these things are.
Sadly, my robot no longer works. After replacing the battery, I found that there's a problem with the Control Brick. Apparently, a piece of solder inside the Control Brick has cracked and caused the display to no longer function. Searching Google, I found that this is a common problem with LEGO Mindstorms NXT V1.0, which is what I have. I didn't have the time, resources, or gumption to fix the brick then and there. However, I'm looking at it as a near-term project. It'll be a good excuse to use the soldering iron, and it's not like I can make it much less useful.
It was a pretty cool little robot, too, even if it wasn't that sophisticated. It used the sonar sensor to detect walls, back up, and change driving direction in the case that it detected an obstacle. It also had the ability to back up and change direction if its wheels got caught and bound up in an unseen obstacle. The sonar sensor was mounted on a motorized swivel, to allow for future expansion, with the idea that it might be able to do some primitive mapping.
All in all, he's a silly little robot, but worth saving, even if it's just to reuse his Command Block.
Subscribe to:
Posts (Atom)