ancientLORE
certainty is not absolute
Sunday, May 29, 2022
Ten Years
So it's been over ten years since I posted here. So here's a photo of the moon from my Pixel 6 Pro to celebrate.
Tuesday, April 17, 2012
Thursday, January 26, 2012
Open Sourcing Hermit and more
I have open sourced my free software projects - find HERMIT, Wing, EasyDynamicDNS, plist, and others on github.com/ancientlore. Source code and binaries available. Enjoy!
Thursday, June 16, 2011
Kicking the iPad Habit
You gotta love the iPad, and tablets in general. The touch interface is so intuitive, and they are a great way to play simple games, read blogs, keep up with news, track your weight, figure out where to go to dinner, and more.
So what's the problem?
In the few days since I put down the pad, I find myself reading more, doing more recreational programming and learning, and using my phone to scan email again. It feels like I'm wasting less time. Is it just me?
So what's the problem?
- I find that I never read books on it. There are so many other cool things to distract you. I'll find myself doing email or flipping through Flipboard, perhaps for an hour, and never getting into my books. I realize that's my fault, but I don't have that issue on a Kindle.
- You can't do recreational programming on it. So I find myself sitting at a desk to do that, which is what I do all day at work. That's just wrong.
- My phone does everything the tablet will do - only on a smaller screen. And the phone goes everywhere I go, but the tablet sits in front of the TV.
- When I travel for work, I won't bring the tablet, because I am already lugging a laptop around. So once again my phone wins.
In the few days since I put down the pad, I find myself reading more, doing more recreational programming and learning, and using my phone to scan email again. It feels like I'm wasting less time. Is it just me?
Saturday, March 05, 2011
Make your own Claptrap robot from Borderlands
My son and I made these neat Claptrap robots from Borderlands using aluminum flashing and other assorted parts. Metal isn't the easiest thing to work with, but using my template we churned out four different claptraps. And, if you mess one up, you can just smash it up some more and use it as a casualty in the robolution!
Tools:
- Tin snips
- Drill
- 1" hole drill bit; smaller bits for holes for rivets
- Vise grips for sheetmetal beding
- Rivet tool
- Jigsaw
- Screwdriver
- Soldering iron and wet sponge
- Pliers and wire cutters
Supplies:
- Aluminum flashing
- Spray paint (three varieties)
- Rivets
- Wood to make 1.5" square pieces
- Solder
- Wire coat hangers
- Alligator clips
- Screw-on caps for electrical boxes
- Wheels for furniture, etc. in a suitable size
- Sandpaper
Basic Procedure:
- Create stencils from my template. (Be sure to download the full-size image.)
- Spray paint the aluminum flashing using the stencils (it helps to sand it first so the paint sticks better).
- Snip out the shape of the claptrap (be sure to leave tabs on the sides to rivet it together!).
- Drill the hole for the "eye".
- Drill as many holes for rivets as possible while it's flat.
- Drill holes for the arms.
- Bend the metal into shape using the metal-bending vice grips.
- Rivet the sides (but not the top).
- Insert and screw on the eye.
- Cut a small block of wood to attach to the bottom.
- Bend the metal on the bottom to hold in the wood. Drill holes in the layout of the wheel's mount, through the metal and into the wood block. This will keep the wheel and bottom structure secure when attached. Be careful when doing this; it's tricky.
- Attach the wheel to the wood block, with the screws passing through holes in the bottom of the metal.
- Bend the coat hanger wire such that it goes through both holes and has a bend to keep the arms from flapping down.
- Rivet the top down.
- Solder alligator clips onto the wire (it helps to sand the coat hanger wire first because most of them having a coating).
Adding the AI required for it to stand on one wheel is an exercise left for the reader.
See my photo set for more pictures of the process!
Wednesday, March 24, 2010
Ada Lovelace Day
Today is Ada Lovelace Day, a day of blogging to draw attention to the achievements of women in science and technology. I'm not sure exactly how long Ada Lovelace Day has been around, but I do remember my brief yet fascinating study in 1989 of the machines she programmed - the Analytical Engine of Charles Babbage. As a student of electrical/computer engineering, I also studied the history of technology and its impact on western culture. This excellent course, instructed by Dr. John Lienhard at the University of Houston, gave me some perspective on the social consequences of technology. It also required me to write some papers, and for one I chose Babbage's Analytical Engine.
Today computers are all around us - in our cars, phones, hospital equipment, weather monitoring, flight control, music and video systems, and of course web servers. Many people, like me, program them for a living. As a student, I was amazed to discover that over a century before all our electronic advances produced what we thought was the first computer, Ada Lovelace was programming a mechanical device not unlike a modern computer.
In honor of that achievement I'm putting my paper, The Philosophy of Babbage's Analytical Engine, online. The paper shows how the philosophy of operation of the Analytical Engine is similar to that of a modern computer, and also contains a nice quote from Ada Lovelace - who like Babbage was way ahead of her time. I hope the paper conveys the depth of understanding that would be required to program such a device.
Today computers are all around us - in our cars, phones, hospital equipment, weather monitoring, flight control, music and video systems, and of course web servers. Many people, like me, program them for a living. As a student, I was amazed to discover that over a century before all our electronic advances produced what we thought was the first computer, Ada Lovelace was programming a mechanical device not unlike a modern computer.
In honor of that achievement I'm putting my paper, The Philosophy of Babbage's Analytical Engine, online. The paper shows how the philosophy of operation of the Analytical Engine is similar to that of a modern computer, and also contains a nice quote from Ada Lovelace - who like Babbage was way ahead of her time. I hope the paper conveys the depth of understanding that would be required to program such a device.
Friday, March 12, 2010
AVL Tree for Google's New Go Language
Anyone interested in Google's new Go language should check out my open-source AVL Tree. It was originally crerated as a C++ class and a template, used in my HERMIT program. Porting it to Go was an interesting exercise. First, I didn't need my heap allocator because Go's garbage-collected memory manager already does block allocations. Perhaps the most interesting part of the port, however, was moving from a class hierarchy way of thinking to Go's interface-based programming, which is more akin to "duck typing." I was able to add some interesting iterators similar to those in other Go containers, but until Go has generics I can't add that. Overall, it was an interesting study in simplifying the code. Assuming that Go grows and scales, it is shaping up to be a powerful programming tool with much of the simplicity of script languages.
Subscribe to:
Comments (Atom)


