"In the world ye shall have tribulation: but be of good cheer; I have overcome the world." –John 16:33

Category: Technology Page 5 of 9

A milestone (the hovercraft video)

The video of the hovercraft Christian made when he was eleven just passed 70,000 hits!

Video of the EKG running with my own software


My hard work paid off this weekend. I am working with my long-time friend and colleague, Frank, to develop some EKG software for our $27 EKG’s. Actually, the EKG part has gone up now to $51 and the Arduino needed to run it costs another $20. At any rate, the software shown here accommodates six channels (even though that has not yet been tested because I only have one channel). It needs some cleanup, but it works great.

Strip charts for the EKG

When I started building my $27 EKG, I just assumed there would be an excellent library to chart the output to the screen in a compelling and useful way. There are a couple of libraries that are pretty good, but they are either really old, have bad open source licenses, are not fast enough (we need to eat a lot of data in real time) or they do not do exactly what we want. It is a little bit of a hassle to write something like this when in a rush, but it could not be helped. That is what I did most of the day yesterday. I hope to have the thing all up and running in the next few days. It will be useful to have an unencumbered library for a lot of the things we want to do with this little project and probably for future projects, too, so it is not a loss.

Endianness “bytes” me one more time.

I had a little bit of a breakthrough on my EKG project last night. I actually had the idea when I was completely away from the project for a few days. It caused me to re-read the manual where it said the readings from the EKG are sent down the serial cable in big endian order. Each value for a 10-bit number takes up two bytes. The high order byte can either be first or last. The receiving computer expected little endian order. I now swap the bytes before they are plotted or recorded and we get the beautiful plot above. You can barely see four little lines below the left side of the signal plot. Those lines make up the legend for the electrode channels. The system can handle six channels, but we are going to try to do just four on this setup. The next step is to get the graph to be a moving strip chart. The graph, as it is right now, just writes over itself.

I completely duplicated my current setup for a friend, Frank who is joining this project. He is way more skilled than I in a lot of this stuff–especially the electrical engineering parts. I need to order myself an additional three channels of electronics, but that is on its way to Frank right now.

P.S. We are thinking of cross platforming (Windows/Linux) and open sourcing (free as in both freedom and beer) the software and writing a user guide/tutorial on how to set the thing up if anyone shows any interests because there does not seem to be anything out there that is really hobby friendly. If I am wrong, maybe someone can correct me. Because of our day jobs we are still months away from that.

Technology caught up with us (that is a good thing)

I have had little time to work on the GaugeCam project due to other responsibilities. We got a helping hand with this product when we found that there are now cameras available that do precisely the part of the product we did not want to do and at which we were not that good. The camera in this post is an example of that. Before, we had to put together a cellphone enabled remote camera with mounting systems, batteries, a solar setup, etc. Now, you can just buy it and install it yourself. So now I think we will be able to concentrate on the software and the water level data that is accumulated from the product which is really our strong point anyway.

Now I will be able to concentrate on my EKG project a little more before I go back to GaugeCam. Also, I will be able to use the BeagleBone Black I purchased on the EKG if I want. I am hoping to communicate between the Arduino/EKG electronics and the mothership computer via Bluetooth, but I am not sure I can get it to go fast enough. The Bluetooth will handle it, but I do not know if the Arduino can shovel the bits fast enough for the EKG sample rate I need (1K Hz). We shall see!

Now THAT is creativity, but crazy ingenuity–The First Rocket Man!

I work with a very skilled guy who builds rocket engines for very large “hobby” rocketry projects. It is kind of hard to call them hobby projects because they will often work for a year on a rocket that will reach 100,000 ft. He runs off to Nevada once or twice per year to join other groups of rocketeers to fire off their rockets together. I thought of him when I ran into this very, very interesting article titled In Search of the First Rocket Man. The title says it all. It talks about early rocket inventors in China, the US and Italy. It is crazy stuff, a great read and it really inspires the imagination. It probably goes a long way in explaining why the percentage of the people in the world who are engineers is so small–they keep killing themselves off.

Betty Blonde #474 – 05/27/2010
Betty Blonde #474
Click here or on the image to see full size strip.

Smart phones gone in five years?

I just read an article that describes a study that suggests that smartphones will die out in five years or so. The idea is that things will have enhanced capabilities to interact with people so screens will not be necessary any longer to enable the interaction. Sensing systems to recognize gestures, voice commands and software system to infer things about what I user might want to happen will continue to advance. One example they gave was the idea that a user watching a football game could just tell the television they want to change the view of the game from the 50 yard line to the 10 yard line on the other side of the field and the view would change. I am not sure how this will manifest itself, but I believe things like that will become more available. I predict it will take a lot more than five years to displace cell phones if cell phones ever get displaced, but I also believe this idea is coming–I am already seeing it in my work.

Betty Blonde #440 – 03/24/2010
Betty Blonde #440
Click here or on the image to see full size strip.

Revisiting Xubuntu

XubuntuLast night, I spent a couple of hours replacing Windows 10 with Xubuntu 15.04 on my most powerful computer at home. I currently work on three projects where Xubuntu is just better for my development needs than Windows. I had changed my cheap/travel laptop to Xubuntu 14.04 and was happy enough with that, that I switched my server/archiving computer from Windows 8.1 to Xubuntu 15.04. There were no monster differences that I could tell between Xubuntu 14.04 and 15.04, neither of which is the latest version (15.10), but every time I try a new version it is incrementally better than the previous version. I am not sure whether the work that I do has morphed into stuff well suited to be done on Linux or the tools and quality of Xubuntu has gotten better, but the whole endeavor has now arrived at a threshold where the way I use the computer is better accommodated by Xubuntu than by Windows and profoundly better than a Mac. Everything just works.

The main tool I hear does not have an equivalent in Linux is Microsoft Project, but I never use that. In addition, I cannot use my browser of choice (Opera) to watch certain kinds of encrypted videos from on of the major video providers, but I could facilitate that by viewing them with the Chrome browser. I am sure it will be available in Opera soon, too. The only computer in the house now that runs Windows is the one Lorena uses for schoolwork. I think we will leave that one as it is.

P.S. Both my buddy John (serious developer of cross-platform, internet-centric code) and Christian (my Electrical Engineering PhD candidate and very math-centric son) both run Debian stable (the Linux distro that used to underlie Ubuntu) on their main computers. I was going to do that, too, but decided I better stick with what I know.

Betty Blonde #426 – 03/04/2010
Betty Blonde #426
Click here or on the image to see full size strip.

Wildly cool reinvigoration of the GaugeCam project

François installing GaugeCam in Harlingen, TXThis photograph is of François working with a team from Texas A&M to install a water level camera in Harlingen, TX. It went very, very well. It is not complete yet, but images are flowing from the camera up to the GaugeCam server. Next steps are to calibrate the camera system and start plotting camera level. My buddy John from my previous job and Arizona and I are working on the next generation software for this project. If this goes well, there will be several other opportunities in Texas.

Technically, we are working on putting the software into a small embedded computer with a BeagleBone Black computer a camera and a cell phone connection. After that we plan to start working on commercializing both the software and the hardware. Up until now, the system has been, more or less, a lab project. As more and more people show interest, we need to harden the design to make it as robust as possible for field use and easy to maintain.

Betty Blonde #395 – 01/20/2010
Betty Blonde #395
Click here or on the image to see full size strip.

Linux and civilization

Installing LinuxThe “scratch and dent” computer I bought from the Dell Outlet website with a discount coupon arrived today. I think I got a screamin’ deal. I bought it because I needed a Linux computer for some contract work I am doing in the evenings to get one of my old employers over the hump with a product they are trying to get out. So I spent most of yesterday evening loading all the tools I need to do the development onto the new computer. That included Xubuntu 14.04 LTS, Qt/Qt Creator, OpenCV (finally moving to version 3!), a subversion client, etc., etc. I needed to build OpenCV in a specific way required by the application so I did that, too.

The upshot to all this is that I needed to sit and wait for things to finish downloading, installing and building. During that time, I found a great article about three phases through which civilizations pass: Barbaric, Vigorous and Decadent. Here is the premise of the article titled A Tour of Our Decadent Civilization on the Sultan Knish blog:

It’s easy to find examples of barbaric and decadent civilizations. We can find all the barbaric civilizations to suit an entire faculty’s worth of anthropologists in the Middle East. And then back home we can see the decadent civilization that employs their kind to bemoan the West.

Vigorous is what America used to be when it was moving west, producing at record rates and becoming a world power. Decadent is what it is becoming.

Christian and I had an interesting talk about all this on the phone a couple of nights ago. The thing that amazes me is that the vast bulk of people in America do not get it. In our conversation we attributed it to the fact that most people under the age of 30 get their information from Reddit, Slashdot, Comedy Central and Huffington Post while people over 30 get their information from Facebook.

I think we are partially right. People buy into the pseudo-scholarship of Richard Dawkins, Bart Ehrman, Marcus Borg, Stephen Hawking, Lawrence Krauss, Sam Harris and the like who represent their false ideas based on personal agendas and/or ruminations way outside their fields of expertise. It makes its way into pop culture because it allows people license to live how they want in the moment rather than do the hard work and self denial based on morays driven by objective truth.

The conclusion of the matter is the same as it has always been. Our chunk of civilization in our time and place will wake up one way or the other. Unless there are changes, it will be a very rude awakening.

Betty Blonde #388 – 01/11/2010
Betty Blonde #388
Click here or on the image to see full size strip.

Project day – Embedded Ingenuity

Piece of trash Dell Vostro 220The picture to the right is of an old, piece of trash Dell Vostro 200 desktop computer that was cheap and incapable the day we got it. As can be well attested over the years of this blog, I have pieces of projects in various stages of completion and a ton of software to go with them. Now, I have a partner in crime. My buddy John, from my last job and I are embarking on a project that includes the new little BeagleBone Black computer we bought a couple of weeks ago. The idea is to develop some capability for embedded computers that will be both educational for John and I and to create something interesting.

So, for want of another idea and maybe because of our lack of creativity, we decided to start with something simple that might be a base for something bigger if we get this first thing to work. So, here is the plan. We want to put up a website that allows a user to click a button that takes a picture with a camera connected to the computer in the picture. Next, we want to get that same functionality running on the Beagle Bone at my buddies house in Arizona. A much more portable, cheaper computer makes the project much more interesting and a little bit more difficult. There are lots of ways of very simple ways to do precisely what we just said, but we want to put infrastructure in place to extend the ability of computers to do Machine Vision, sensor fusion and robotic control tasks.

When (and if) we get this done, we have an idea about what we want our webified cameras to do that is special. It is actually a little bit more ambitious than what I did for the GaugeCam project, but also a little bit more challenging. Truth be known, the GaugeCam project was very challenging because it had to be able to work 24/7 outdoors in any kind of weather or physical environment.

Betty Blonde #384 – 01/05/2010
Betty Blonde #384
Click here or on the image to see full size strip.

Another rite of passage

The Ford Fiesta now belongs to KellyKelly bought her own car insurance yesterday and will register the Ford Fiesta in her own name later this week. Christian is doing the same this week with the Honda Accord. Lorena and I are now a one car family. The only remaining thing like this that connects to the kids is our family cell phone plan. Some might think it would be best for me to turn that over to the kids themselves, but they would be wrong. I told them that as a condition for their cell phone plan, they have to provide Lorena with tech support for her phone and tutoring for her community college. In my book that is an absolute steal. It would be a steal at twice the price!

Betty Blonde #381 – 12/31/2009
Betty Blonde #381
Click here or on the image to see full size strip.

BeagleBone Black with Wifi and a camera

BeagleBone BlackMy buddy John from my last job in Prescott and I stay in pretty close touch. Neither of us are anywhere near retirement. He has kids still in school and I think of retirement as working when I want to work rather than actually quitting work. Are skills are complementary and we like to work together, so we decided we ought to do a demo project so that if, someday, we ever have enough money set aside we can consult. There is a good likelihood that will never happen, but it is always fun to take on side projects.

This side project involves a BeagleBone Black single board computer, a camera and a wifi link. We have a couple of great ideas about what to do with it, but want to put a ton of infrastructure in place so we can produce quality work quickly when we decide what we actually want to do. This morning, I bought a BeagleBone Black, a USB Wifi Adapter, and a 64 gigabyte microSD card on Amazon to get started. I already have a webcam we can hook up to it. I am setting up a Linux computer as a temporary server to use to archive our work–temporary because I do not have a whole lot of confidence in the computer nor the hard drive. As we start making some progress we will probably make some other arrangements.

As we make progress, I might describe some of what we are doing here so that we can have a record of what we might contribute as consultants if everything is not already completely obsolete by the time we get to doing that.

Betty Blonde #366 – 12/10/2009
Betty Blonde #366
Click here or on the image to see full size strip.

How I use my Fitbit Charge

Fitbit progress July 2, 2015The kids bought me a Fitbit Charge watch last December. I had gotten pretty fat (in saying “pretty fat” I am being somewhat gracious toward myself) and had been prescribed a couple of medications for high blood pressure and cholesterol, measurements for both which were borderline. The doctor told me that I could probably get off of at least one of the medications if I just got some exercise and lost some weight.

If you do not know about the Fitbit watches, they are essentially pedometers, some of which have things like altimeters to determine when you climb stairs and heart-rate monitors. They also tell time. The watches connect to the internet through a bluetooth connection to upload the from the watch to a cell phoe or computer that updates a personal website. This is so a person can keep track of how far they have walked or run, how many calories they have burned, etc. My watch, the Charge does not have a heart-rate monitor, but I am thinking about getting on that does as a reward when I lose another 16 pounds.

When the kids gave me the Fitbit Charge, I immediately started using it. I am one of those kinds of guys who likes to measure every little thing. The watch and website provided me a mechanism that made it much faster, easier and more thorough than anything I had done previously (except when I played judo in college and was insanely meticulous). The cell phone app that goes with the Fitbit uses the GPS to track how fast and far I go when I go for my walks–other people use the same app for bicycling and running.

I did pretty well for a couple of weeks, but then everything got sidetracked when I got a new job in Oregon and we had to move across the country from North Carolina. I just quit using the thing. A little over three weeks ago, Kelly came down for a visit to Oregon from Seattle and let me know she was pretty disappointed that I did not use the watch for a couple of reasons–she and Christian made the effort to get it for me and I was really fat. She is gracious that way. So I decided to start using it again.

This time, I have been at it a little less than a month and it appears to be sticking. When I first started, I intended to walk a little at lunch time and then just manage what I ate to not go over a certain level of caloric intake. The software allows the user to chose how fast they want to lose. I have mine set up to help me target a 750 calorie daily deficit. How this works is that I enter all the food I eat and any special workouts I do into the website. That is amazingly easy because about every food you can imagine is already in the system and 99% of the time all I have to do is pick the food and say how much I ate (ounces, pieces, etc.). They have tons of major restaurant menu items in there, too, so if I go to Wendy’s for a salad, it is just a couple button pushes and that food is recorded.

The first week, I lost some weight, but was hungry all the time. It dawned on me that if I walked a little more, I got to eat a little more, so I started walking more. It started out on the treadmill at our gym, but then I decided it might be a good idea to walk to work. That added quite a lot of calories that I could eat. Then, on Saturday, Lorena and I started walking into town in the morning for breakfast, then again in the afternoon for lunch. It took a little while to calibrate the system because it gave me more credit for burning calories than I deserved–I think because I walked under trees a bunch of the time and the GPS struggled to figure out where I was. Now that I have that worked out a little better, I think the watch is providing a pretty accurate accounting of how many calories are going in versus how many are going out.

As I started losing weight, I started walking a little more. Lorena drives me to work in the morning (we only have one car), but then I walk downtown from work most days to meet her for lunch and walk back to work after lunch. The round trip is three miles. Then, after work, I walk the two miles from work to our apartment. So, now, my baseline walk everyday is five miles. I do additional walking around the building and up and down stairs at work. The Fitbit tracks that, too. The graph below shows the amount of walking I have recorded since I started back using the Fitbit a little less than a month ago. I think the 150 miles is a little bit more than I actually walked, but now that I know better how to use the system I think it will be more accurate for the month of July. I expect I am walking between 30-40 miles per week.

Distance walked (from Fitbit) June 2015
The whole system works for me. I am down over 19 pounds from the end of last year when I started using the Fitbit with four months missing in the middle. I am down a little over 9 pounds since I started back using it again a little over three weeks ago. I actually fell off the wagon two of the weekends since my new start or I would be down even more. The thing that helps me most is that I have a way to “pay” for eating more food. A couple of times, I have actually headed down to the gym to workout for an hour so I could afford enough calories to take Lorena out to dinner.

I have a long way to go. I hope to get down to my goal weight toward the end of the year, but I am already feeling a lot better.

Betty Blonde #360 – 12/02/2009
Betty Blonde #360
Click here or on the image to see full size strip.

The Senior Developer

The guy who has been most responsible for the success of the company for which I currently work sent me an article titled The Role of a Senior Developer. In the world of factory automation, there is a phenomenon that repeats itself on all large projects no matter the company, client nor industry. The phenomenon is this: A finite, specific amount of time is negotiated to deliver the product, the mechanical engineers, electrical engineers and assemblers all use a little more time than they were allocated and the software engineers are expected to make up the time that was lost. A Senior Developer who has the ability and will to “own” the technical decisions and guide the more junior members of the team is essential.

Matt Briggs, the guy who wrote the article completely nails the situation with respect to the Senior Developer. It is not enough to be smart. A senior developer has to be able to work under the pressure of impossible deadlines with management and customers looking over his shoulder. He has to make judicious use of all the resources available to him. If he does not get it done, it will not get done at all. He has to have both the will and the knowledge to make the decisions about the technology and application of technical resources. It is not for the faint of heart. I love it that Briggs identifies one of the core qualities of a Senior Developer as the realization that he cannot do it all and his job is one of service and empowerment of others and (my word) humility. Here is the core truth of the whole matter as explained by Briggs:

A senior developer understands that you cannot do everything yourself, and that their primary role is to help their team get better, in many of the same ways they themselves strive for personal improvement.

A senior developer understands that leadership is not about power, it is about empowerment. It is not about direction, it is about serving.

Full disclosure: While I have worked as a developer, I in no way believe I am the kind of Senior Developer described in the article. Really, I am a Research Engineer and develop new technology so, while I have difficult deadlines sometimes. It is nothing like what is described above. All of us who work in the factory automation world depend on Senior Developers’ for our jobs.

Betty Blonde #347 – 11/13/2009
Betty Blonde #347
Click 
here or on the image to see full size strip.

New microscope for “Bring Your Kids to Work Day”

Desk microscopeIt is “Bring Your Kids to Work Day” at my new job and I am giving a presentation on Machine Vision to the kids. The range of ages is 7-17, so it is a little hard to target something that will keep everyone interested. I decided to hook up a cheap ~$50 USB microscope to my computer and show them some image processing tools we use. I have been having a blast with the little microscope. I am trying to think of a reason to buy one for home.

I have been programming it for most of the day and believe I will actually be able to use it frequently for my work doing demonstrations and feasibility studies. It hooked right into my software, so now I can run edge filters, blob analysis, morphology and other stuff that I normally do. The camera has a zoom lens (a little bit of a cheesy one) that works really well to look at a fairly broad range of items.

Betty Blonde #305 – 09/17/2009
Betty Blonde #305
Click 
here or on the image to see full size strip.

Weekend learning (and setting up to learn)

This last weekend, I spent most of the weekend taking Grandpa Milo and Grandma Sarah around and working on the learning/development stuff I have described here over the last few weeks. It has felt like I have been trying to drink through the proverbial fire hose in an effort to learn too much stuff at once, so I have started to break it up into bite-size chunks. When I did that, I realized I needed to do some infrastructure work before I even started. So this weekend, I decided to spend most of my time getting set up to work rather than invest a lot of time in learning. I held to that for the most part; the exception being that I started in on a set of tutorials on how to use GIT.

So, here is what I did:

  • Decided to use DropBox as a way to back up and share a bunch of stuff (bought a tera-byte for a year).
  • Set up a web server with WAMP on the new (cheap) desktop computer we had Fry’s make for us (on a special).
  • Made it available from other places with the help of Duck DNS (awesome free service).
  • Added an ftp server to that.
  • Installed Ubuntu LAMP server on the old desktop (32-bit x386)
  • Set up a GIT repository on that.
  • Made it available in other places with Duck DNS
  • Installed R and RStudio on all the computers
  • Went through the first third of a GIT tutorial because I am so pathetic at that. It was great and I am up and going now.
  • Added Qt, Qt Creator and OpenCV to the Linux server
  • Added XMing to my laptop
  • Learned how to SSH to the Linux box to perform code testing remotely

Next, I am going to start working up the learning curve on Machine Learning with R and continue to code on my previous projects. All-in-all, it was a great weekend. Lorena and I even went out to eat a couple of times. Now, all I have to do is start working in a few walks and my life might arrive at a sense of normalcy again.

Betty Blonde #303 – 09/15/2009
Betty Blonde #303
Click 
here or on the image to see full size strip.

A tutorial on machine learning

I just found a book, available free online, about machine learning. It has a lot of great recommendations and is in an area where I have yet to advance my skills beyond a beginner level. It is a book Kelly might be able to use if she is not already too advanced. I thought I would start to try to work my way through it. It might finally get me kick-started in this area.

Betty Blonde #296 – 09/04/2009
Betty Blonde #296
Click 
here or on the image to see full size strip.

A few moments to work on GaugeCam (GRIME in Linux)

I had a few extra minutes tonight so I got the GaugeCam GRIME program up and running under Linux. Now I have to do the same for the webserver which should take a little more work but not too much. I am looking forward to working on this more.

GaugeCam GRIME running under Linux

Betty Blonde #293 – 09/01/2009
Betty Blonde #293
Click 
here or on the image to see full size strip.

Christian’s first paper at Arizona State

Christian's first paper at Arizona StateChristian is putting the finishing touches on his first paper in his new job at Arizona State. It came out great. He has finally moved into a domain where I have no hope of ever catching up or understanding fully unless I drop everything and spend a year or two focused exclusively on it. That is not going to happen, so now I am just going to be a fan-boy. I am happy for him now that he is starting to get his feet under him at the next level.

Betty Blonde #289 – 08/26/2009
Betty Blonde #289
Click 
here or on the image to see full size strip.

Page 5 of 9

Powered by WordPress & Theme by Anders Norén