Dateline: 12 Dec, 2016: Liquid Robotics Now Boeing
This is a great story best told here,
but this is the gist of it. A dream turned into reality for Joe Rizzi who wanted to record the song of the Humpback Whale. He
needed something to ride the waves of the ocean searching for those illusive sounds, and thus the Wave Glider was put together.
I like this story, because the team that built the robotics was from here in San Diego. The Wave Glider is amazing for the idea alone.
It has a solid sail that's like an airfoil and pulls the unit through the water. When stormy weather is detected, it folds the sail
and submerges! What a concept. It has to be light, but that's a disadvantage with battling the ocean, so all these clever modes
to avoid trouble is it's forta. After amazing success roaming from Hawaii to San Diego, the technology won favor with Boeing. The
exciting news is Boeing has now purchased the rights for the Wave Glider technology and Liquind Robotics in general. This is big.
You can read about this
here. If you don't think little ideas can't expand to fill the universe, then you just don't believe hard enough.
A couple of months ago I got hooked on using Node.js and the Johnny-Five framework to play around with NodeBots.
Raspberry Pi to client devices such as Arduino boards and ESP8266 devices. Now it’s on to writing web apps using Node.js
and its many associated frameworks to make building browser based full service applications with log-on and databased
has oozed into everything I find useful. So, stepping back, how does one wrap your arms around all that’s going on with
forces and are embracing an open source approach. This is great, because all the software involved is getting better and
more useful, but more importantly, being managed by the best sources. To this end, let me tell you about a joint event that
occurred in October both in London and San Francisco. The JS Foundation was formally introduced.
You can read all about it by clicking
here. But the gist of this article is to inform you on a new wave of technology that is about to become important to
ecosystem is viable and sustainable far into the future. It will easily nudge aside the complex, API joined
server/client systems of the past into one cohesive environment that is at home on a cellphone as a cooperate mainframe
By the way, that last one (PromisesJS) is a doozy. To get around the issue of a ‘fully’ asynchronous, event
database and retrieve a gob of data and return it in zero time so subsequent events don’t clobber? Promises. This extension of
the Node.js world is wrapped up in two conventions sworn to solve the problem - ES5 and ES6. So you will hear, “This feature
supports ES6.” But what this means is Node.js is in the process of absorbing new features being developed by these ES6
communities into the main Node.js library not unlike Python going from version 2 to version 3. The good news is Promises are
now incorporated and what they are is allowing the main program to go about its business of servicing new events without delay
by putting the slower event on a separate list and moving on. Then when the slow event is complete, reentering the flow with
its results. This also avoids a nasty coding issue of nested callback functions creating a strange cascading sets of curly
braces in your code. All this ‘nesting’ is part of what Promises does while servicing an event.
This is just a taste of all the busy activity out there geared to make networked applications work better
to include cellphone mobile apps. If you are hearing this for the first time, you better get busy digging into it. It's the
wave of the future. Go forth and compute!
Dateline: 16 Oct, 2016: Two Now One
Great news! The Arduinos are back together again. I don't know if you've heard, but arduino.cc and arguino.org
are living together again as Arduino LLC. The idea that Arduino, the best thing to happen to the Maker Movement, would bungy jump
without a cord was unspeakable, but that's how it seemed a year ago. Now we can all get back to using this wonderful system without
fear of software clashes and hardware incompatibilities. It certainly isn't a perfect world. Who ever thought Samsung Galaxy's could
take down a plane? Talk about hot pockets. I can't imagine getting a call and your pocket catching on fire. What's next, Big Blue
becoming Big Green to appease environmentalists?
It's time to get down to coming up with more IoT things to ruin your life. Let's all make the Chinese richer by
buying more ESP8266's. Can't anyone build a WiFi module in this country? We even are willing to buy five or six to get one that works
because they're so cheap. That hasn't happened since Radio Shack was selling the Archer series of castaway parts
where half the bag of parts didn't work. We stopped doing that and went with the big boys like Digikey and Newark - well if they
let you. In those days, you had to buy a 1,000 parts per line item minimum before they would let you fill out an order. Things
really are much better today.
IoT is a sure thing for hobbyist to go to now that drones are officially evil. The new FAA rule 107 is
pretty harsh. If you just spent two grand on a quad-copter, good luck finding a place to fly it without a fine or jail time.
Making your garage door go up and down from a smart-phone is a fun alternate, unless you have a Galaxy 7. You could burn down
your house instead. What is it with these LiPo batteries? Don't people know you have to manage charging them and never over
draw current from one. The engineering is there, but I guess stuffing it all in a thin-mint sized phone is difficult. It's
worst than building a website that can fit on jumbo screens down to an iPhone screen. But therein lies the challenge to inquiring
minds. Welcome to the tabloid life of engineering.
Dateline: 17 Sep, 2016: What did I do this summer...?
Well, after a nasty bug followed by heart surgery, anything would be welcome, but I have to say discovering the
beast, so what's a programmer to do? With promises, Node.js gives you and IOU and goes back to being asynchronous ready to blast out
the next event. When the luncheon on Madison Avenue is done, the code returns for its IOU and life goes on. Of course, this is the first
adjustment to clean jQuery looking syntax of Node, but not the end. Web sockets are done best using an import - Express. Like other fine
wines, this import is rich in bouquet and goes down more like a shot of Cointreau, burning all the way. One must chase it with Grunt to
stay organized and bring into play a whole host of other imports that play well with Express. The list goes on as you put the finishing
touches on your web app. What started out as a substitute for PHP code ends up a high calibier Model-View-Controller! Bring in the pros.
Every programming skill ever baked into a souffle is employed by the 'average' use of Node.js. One big reason is the
endless running of the bulls to stay ahead of hackers and malware. Damn those bad bits. Node.js is simple in concept and a bear to
wrestle with. But it does allow a bookshelf of new books to be added to your den not to mention a thousand YouTube videos you need to
watch. But this wasn't the only thing I tried to accomplish this summer.
A miracle happened a week or so ago. I retrieved a once given up domain name. Yes, I know, that never happens.
Once you pass on the costs of maintaining and old website and let the domain sink back into the soup of the Internet, it usually costs
you thousands of dollars to get it back from the drive-by domain hijackers. I felt like a fool giving up a personal domain a year or so
ago. I'm not sure what prompted me to check on it recently, but I'm glad I did. There is was like finding a diamond in the rough. So
I grabbed it back and put in my pocket. Trouble was, the old site was non-responsive to 'tiny screens' of tablets, cellphones, and mini-
whatever screens. Give me honking bench-top monitors of yesteryear. You can really pack a message into a mega screen. So what to do? I
delved into making a responsive remake. God - here we go again. G-12 grid matrixes, multi-layered media decorations, etc., etc. Why do
we have to code code and then bury the results in a barrel next to Hoffa. I went through the throws of mega CSS3 files until I realize
I didn't have a 30,000 page website with interactive segments on three columns. So...I backed off to the foundation CSS was based on.
I built one fat CSS file that contained 90% of what each screen was made up of from large to tiny. Then under that in the head tag
added a CSS file for each of four screen sizes from tablets to iPhone 1. Each time the face of a tinier and tinier screen pops up,
the appropriate CSS link kicks in. Not much usually changes besides the header, navigation buttons, and picture sizes and they can
be easily scaled. Viola, a responsive site. (check it out at: JohnWolfBooks.com)
websites. I'm ready for some snow and a hot toddy.
Dateline: 9 Jun, 2016: Back in the Battle
Wow! I got socked with a nasty bug and was down for over two months. I'm back in the "lab" now and raring to go.
So what's on the agenda for the near future? I'm really taken back by the NodeBot concept. Using the event driven qualities of
quick succession. It's like a bunch of interrupts coming in for the good old Neumann type programming languages. The problem is, these
predicessors take forever to process an interrupt, and like it's namesake, is an interruption to normal flow. All current processes
stop, and the location of data, where you are in the program, and where you need to go for the ISR, has to be placed on the stack so you
can get back to where you were after handling the interrupt. Bogus, when you think about it. Mechatronics, automation, etc., needs
occur like running a function call. In fact, that's exactly what happens. With a fast processor, these events get serviced very
fast and no jumping all over the place storing backup data to make returns. It's not necessary, so it's actually faster than a
the complex interrupt schedulers fancy chips have and no waiting for polling entervals. Well, not exactly. Linux does have a polling
cycle down inside, but there are versions that don't. In general, asynchronous, event driven code is faster, especially written in C++. But
to robotics from HTML pages? In a word, Node.js and a clever module called "node-serialport." This came about in late 2010. Where have
we all been? Well, it took awhile before those with the savvy came to realize this module opens the door to remote control of processors
or better, microcontroller boards. Now we need a framework to wrap around it.
Remember the Short Circuit movies and the cool bot Johnny-Five? What a perfect name for this required framework.
So one Rick Waldron wrote the Johnny-Five framework in 2012, and it has been expanding ever since.
So I am knee deep in learning Node.js and using the Johnny-five framework. Node.js is a Linux based system
Black run on Linux. The BBB has Node.js already loaded. There are two books out to help you get started. Go to
Johnny-Five.io and you'll see them at the bottom of the page.
There are a lot of other things going on, so check out Design News and the other tech ragsheets. Until next time,
see you on the Internet.
Check out this
from Design News on how a company in the UK is starting to produce batteries based on H2 Fuel Cells! Is this the next big
thing we've all been weighting for? The weight to power density ratio is excellent and charging only involves loading up
more gas. At least if you have an explosion, it's just a blue flash.
Dateline: 12 Jan, 2016: Small Microcontroller Running Python Native
Arduino-like concept board but ARM Cortex M4 and Python as the OS
directly on the board - no Unix/Linux necessary. Boots to Python interpreter onto any Terminal app. Comes up like a USB
memory stick to the registry in flash. No IDE necessary (you can use anything your used to), just write scripts in NotePad++,
or WordWrangler, etc. and save to main.py. Soft boot and it runs.
The designer has a wrapper Class called pyb to gain access to all the M4's I/O capability, which is
vast. Has built in 4 LEDs, switch and 3-axis accelerometer for developers to play with. Has SD slot to up the ante for memory
storage. Runs on 5V supplied via the micro-USB port or Vin/Gnd pins on the board.
1 1/2x 1 /3/4 inches - cost $44 right now. It was the result of a KickStarter project. I've been working
with the board and it performs flawlessly. If you have experience writing in Python, you already know this is a wonderful improvement
over C or C++ for those who experiment, need to test and idea or then write a professional script that has a lot of horsepower. Now
you have all that, but in a tiny package you can carry aroudn with you. Plugged into a laptop, you have a Python development center
in your lap. You can transfer your apps onto the SD card and run the whole shootingmatch with a battery. It has two daughter boards
the developer calls "skins" that can be plugged into headers you add to the board. One is an LCD screen with capacitive touch buttons
and the other board is an audio amp for the DAC outputs from the M4. Choosing the ARM Cortex was wise. It's a good stable platform
and has a future. Driving the silicon with Python was brilliant.