Jack Crossfire's blog View Details
Archive for April, 2014
Posted by Jack Crossfire | Apr 30, 2014 @ 03:22 AM | 5,752 Views
In looking for an ideal language for analyzing biometric data, have now tried Javascript, Java, C++, & Python. The problem is the data needs to be graphed on a large monitor for the best results, but should also be graphable on the phone it's recorded on for a preview. Javascript offered the best hope of portability. It clearly is more portable than any other option, but it's going to need a lot of glue to load kml files on the phone. It might need to suck data directly from the logging app. Would say the javascript will never run on a phone, but have only the potential.

The mane problem is navigating a timeline showing curves for instantaneous velocity & altitude. The timeline has to zoom horizontally & vertically. The curves need variable amounts of averaging. There are billions of javascript chart libraries, which all suck in some way or don't work.

It's going to be nowhere near as smooth to navigate as C++. If it was 2011, a simple C++ program would have been the obvious choice. It could have been written in a day, reusing 20 years of past knowledge. It wouldn't have run on the phone, but nothing probably ever is.

It's clear now that all substantial software projects are going to run in web browsers. The non portable stuff is going to be limited to small data collection apps. Most every job is going to require javascript. We live in a world where 1 language can't do everything. It's not very efficient to need to stay on top of Javascript, Java, & C to move data from an embedded system to a phone to a web browser.
Posted by Jack Crossfire | Apr 28, 2014 @ 08:32 PM | 6,353 Views

After another software tweek, the interval training program calculated exactly the same distances as mapmywalk, so at least that part is using a dumb quantizing filter. Did 8 * 0.25 mile repeats with 60 second walking breaks. They went from a 7m4s pace in the steepest downhill to 7m28s in the last one, when I felt like throwing up.

Quite slower than when the software errored high & also 1 interval less. The free version of mapmywalk couldn't show any intervals because it has to graph all 11.3 miles in 790 pixels. Being able to do proper interval training, with distance based work periods & time based rest periods, by radio waves is a whole new world.

Reading reviews of the many competing exercise tracking gadgets lead to http://www.dcrainmaker.com. Have now run across many guys who went straight from high school to supposedly very lucrative careers in IT. Not sure exactly how successful they really are, but they tend to have the same things in common. They're all in 1 specific area: network consulting for large corporations. They're hired as contractors, set up websites, networks, passwords, & provide a higher level of customer support for the tools than a call center. They do all the standard e-commerce stuff that Microsoft advertizes shouldn't require hiring IT consultants. They normally work for the government.

They don't design computers or deal with electronics design. They don't design exercise tracking gadgets, UAV's,...Continue Reading
Posted by Jack Crossfire | Apr 27, 2014 @ 06:21 PM | 5,559 Views

For the 1st time, ran with the RC car fully empty, 3Ah battery, 7.5V, until battery exhaustion. Without the camera, GPS showed it doing 8m10s miles uphill & downhill. It was extremely intense. Would probably have to lower the voltage if it was any faster. Started feeling the nausea after 6 miles. Tire wear was much less. It still hit the wall when the battery died after 10 miles. It was much easier to drive without having to realign the camera after every bashing. That run contained the fastest 5 miles ever.

With a move back to Fl*rida almost sealed in, the question was what do to in the last weeks of Calif* that won't be possible afterwards. When the signs of impending career freeze appeared in 2009, spent a lot of time driving. All of that is now covered.

Fl*rida will involve a lot more indoor track, treadmill, or nighttime running. It's surprising that there's actually a 100 mile event down there.

Have been hitting a wall after 30 miles. The electrolyte/hydration/sugar balance becomes harder. More time has to be spent walking & eating. For all the money spent on fitness tracker buyouts, no progress has been made on nutrient measuring. Foot pain has been the other issue.
Posted by Jack Crossfire | Apr 26, 2014 @ 06:21 PM | 5,623 Views
News flash, the 2nd application to UC Irvine was blown away in a flaming rejection. It was a free application, so I figured what the hell. It's definitely a referendum on how dumb you are & how your career was a coincidence of very good economic times & very few applicants, but getting the government to pay for a second swing at a home run is never going to be easy.

For all the praising of paying taxes to equalize the wealth, all the money eventually goes to the top 1%, in government as everything else. Everything that went from a free market to a government program eventually became just as scarce as it was in the free market & is now a mandatory contribution to the top 1% instead of a voluntary contribution.

With that, there was 1 more public school in Calif* with an unknown but unlikely success. The formal rejection just made that one more likely to be rejected too & made it easier to pay for the return to Fl*rida. Returning to Fl*rida is the academically easiest option, but emotionally hardest.

Living in Calif* is hard, make no mistake. You've either got long commutes or have to be the best of the best in your career. If you invested in rental properties in your 20's & are now pulling out massive amounts of rental income, you're the best of the best in that. If you inherited a business from the capitalist era , you're the best of the best in that. Downloading whatever the latest compiler is & writing an open source program doesn't cut...Continue Reading
Posted by Jack Crossfire | Apr 24, 2014 @ 07:31 PM | 5,885 Views
It's been probably 30 years since the last science project which had utterly no point. Helas there are many people who do make stuff with absolutely no point & show it at maker faires. The ideas are still mounting.

Recording & playing back video from cassette tape, using a soundcard, ancient cassette deck, & software. There's a large stockpile of useless cassettes whose content is now freely downloadable in higher quality. You could probably get 64x64 10fps B&W out of it.

Wireless router with 400 mile range, using either optics or very short packets over ham radio. Cell phone data for under $75 is still worthless, so there might be some point in some kind of extended range router.

Camera based on a single photodiode & pinhole assembly that mechanically sweeps in an X/Y pattern.

There was an idea for an extremely large reflector that focused light from a very small point in the sky onto a photodiode. It would use the earth's rotation to scan in 1 axis & mechanically scan in the other axis to make a picture.

Spinning XV-11 Lidar mounted on a panning servo to make a 3D map of a room.

Fixed XV-11 lidar on a pan/tilt mount to make a higher quality map of a room.

The ability to capture an exact replica of a place in 3 dimensions is the successor to photography. It's so far from being done conveniently that it hardly ever comes up. Setting up a modern quad copter for aerial mapping is not convenient. It's equivalent...Continue Reading
Posted by Jack Crossfire | Apr 23, 2014 @ 07:17 PM | 5,759 Views
Reviewing mapmywalk on a rooted phone reveals 9MB of files. It's amazingly complex for such a simple, clunky app. 7MB is used by the webview page renderer to render its user interface out of HTML. Another 28k is used by crash reporting software provided by crashlytics, another corporation just focused on that. A small amount is the map tiles. Then we have 1.5MB which seems to be the persistent state of the program. It's split between sqlite files & xml files.

The time & distance values are stored in the same XML file as the preferences. A value like totalDistanceMeters must entail massive numbers of flash writes. It must have been faster than recalculating from the stored route. A timer is stored as startTimeMsec & pauseTime. The databases don't store any frequently updated data.

The route temporaries are text files. There's no emphasis on compactness, only abstraction. Literally everything required to restore the current state is in flash. It's a real case of the operating system dictating the application.

It uses libnmsp_speex for speech synthesis, even though Android can do it by default. It uses libKalmanFilterJni probably for estimating speed & distance. It's a huge amount of complexity for what it does, but normal for any modern program. That's why something as conceptually simple as a thermostat can fetch a $2 billion buyout. There are huge algorithms going into the simplest modern programs.
Posted by Jack Crossfire | Apr 22, 2014 @ 08:11 PM | 5,812 Views
when you need to make an app always persistent. This single need is what differentiates modern programming from the way things were done 15 years ago, when an app stayed in memory until the user hit exit. It makes it very hard to write a GPS logger, a stopwatch, or a groundstation.

The world of Intents, Services, IntentServices, Bundles, Binders is still a mystery. Most of the information is hidden on vogella.com, in which every page begins with a picture of some ugly head probably belonging to Vogella himself. His competitor is androidhive.info, on which every page begins with a picture of a guy in need of an attitude adjustment.

It feels like Google went through many ideas, while trying to solve the problem of app persistence. They may have originally allowed apps to stay persistent. The system now no longer makes anything persistent. Many of the structures that used to hint at persistence are no longer meaningful.

Nowadays, there is only 1 way to get persistence. You have to simulate it by setting a system alarm. The system alarm calls onStartCommand in an existing app Service. If the app was terminated, it reinstantiates it with everything set to null again. It's up to the app to detect it was restarted & reload its entire state from flash. Then the onStartCommand called by the alarm needs to set the alarm to call itself again & save its new state to flash.

It's an inefficient, bootstrapping way of keeping an app running. No matter what,...Continue Reading
Posted by Jack Crossfire | Apr 20, 2014 @ 11:16 PM | 6,148 Views


Still remember those soggy purple ditto school assignments, right until 1988. In 7th grade, at a much more endowed school, we finally started getting early xerox copies instead of dittos. The early xerox copies were only marginally better but still amazing. Enough time has passed that parents these days have no idea where the expression "ditto" came from.

The google results for dittos don't do justice to the horrible quality they really were. I had an extremely hard time deciphering & staying focused on those low quality printouts for hours on end. Especially in math, the random artifacts, missing symbols, & faded sections were a real challenge. The missing character strokes & faded paragraphs of english class would quickly turn me off of the assignment. The odor was a constant source of dread.

Suspect most students had a natural ability to decode symbols that nullified the lousy ditto quality or they had the drive to push through it. Their minds would automatically throw out the stray dots & fill in the missing characters. I seemed analyze every stray dot & get stuck on every faded paragraph much more easily.

At the time, it seemed like the newer schools were easier or suffered from grade inflation, but it's now more obviously because the newer schools had more money to spend on printing technology. The legacy of the ditto machine will probably affect...Continue Reading
Posted by Jack Crossfire | Apr 18, 2014 @ 10:55 PM | 9,011 Views
Gave into the nerdy urge & got a $1 solar powered lawn light just to see what was inside. These won hung lo wastes of money have adorned dumpy apartments for 10 years.

...Continue Reading
Posted by Jack Crossfire | Apr 17, 2014 @ 05:52 AM | 5,719 Views

What would the world look like if technology didn't improve in the last 100 years & we still did exactly what we did with exactly what we had in 1943? There was a time when generations lived in exactly the same world that existed 100 years earlier. 1800 looked very similar to 1700. Such a stagnation would be unimaginable today. In those times, there was no incentive to do anything better or invent.
Posted by Jack Crossfire | Apr 16, 2014 @ 06:46 AM | 6,073 Views
So the Google buyout of 3D Robotics is going to be $50 trillion, in 10's & 20's, delivered on a barge to the Berkeley marina.

Unfortunately, the buyout was delayed by environmental protesters & the money had to be moved to Stockton. It won't be all doom & gloom when it happens. 3D Robotics will have access to Google's unlimited map data. Map data & 3D models generated by quad copters will be seamlessly integrated in Google's map database.
Posted by Jack Crossfire | Apr 15, 2014 @ 08:20 PM | 5,956 Views
Another one lost to the weather. Didn't bother staying out all morning, this time. The national weather service said it began at midnight. In reality, the eclipse began at 11pm. Totality began at midnight.

...Continue Reading
Posted by Jack Crossfire | Apr 14, 2014 @ 10:12 PM | 6,667 Views

Tore down a completely puffed, dead, 0V cell. It was still air tight.

...Continue Reading
Posted by Jack Crossfire | Apr 10, 2014 @ 02:56 AM | 6,102 Views

There was a picture of the robot used in Innerspace to handle the microchip. The guy who invented the Unimate was also there. Didn't really believe it was the exact robot & the guy never heard of Innerspace, so didn't photograph everything. A quick review of the DVD collection revealed

...Continue Reading
Posted by Jack Crossfire | Apr 10, 2014 @ 02:53 AM | 5,978 Views

It was packed with unemployed, flat broke programmers. As far as jobs, there was 1 engineering job at NASA which required many more years of college & had a line of guys wanting to get in. There is far more talent than demand. Stock & buyout prices don't reflect the real economy.

Earthquake simulator using air bags from a car suspension.

...Continue Reading
Posted by Jack Crossfire | Apr 08, 2014 @ 07:34 PM | 5,960 Views
In trying to figure out why home made computer games suck, while Asphalt 8 is extremely addictive, a lot of stuff that a home made game would use a random number generator for is hard coded. Traffic is hard coded. Exactly the same cars appear at exactly the same time. They drive exactly the same pattern in exactly the same place.

The computer players are mostly hard coded, with some fuzzy logic. They don't use feedback loops to drive the course. They're programmed to turn at certain places, activate nitro at certain places, & drift at certain places.

The 6 players have different programs which result in some finishing well ahead of others. They're carefully programmed so humans of various skills can finish at different places, rather than always being last.

There is some randomness. They might have multiple programs with random branches between them. A different set of computer player sequences has to be written for every level. There's no way a purely feedback loop could get through to every level.

The point is it's a random application of hard coded programs. So if you're trying to aid a hard coded flight with some kind of position data, every step of the flight would have a number of variations, depending on how far off the position was. It wouldn't try nailing the position.

It might bank a little sideways or bank a little longer in a movement. It might use a fixed throttle pulse to change altitude. If the change was off, it might...Continue Reading
Posted by Jack Crossfire | Apr 07, 2014 @ 08:14 PM | 6,595 Views
In a nail biting desoldering session, managed to recover the loose cells from some puffed lipos, dating back to 2007.

Most of the loose cells were still good. Some were slightly puffed. Only 1 puffed cell was clearly not holding a charge.

Some puffed cells had breached their aluminum wrappers, yet not exploded. There's either 1 final layer of protection or the lithium reacted very slowly.

...Continue Reading
Posted by Jack Crossfire | Apr 06, 2014 @ 11:13 PM | 6,225 Views
Syma X3 Open loop autopilot (1 min 5 sec)

Open loop autopilot is how all the commercial quads do flips. It's how the early academic quads did aerobatics. They just repeatedly flew a fixed set of stick inputs & delays until the maneuver came out. There might be room for some tweeking to try to keep it inside a box, but the maneuver is flown without any position knowledge. The Vicon system might have improved enough that open loop flying is no longer necessary in academia.

The next step is merging the altitude reading with open loop commands so the altitude changes can be faster. Ideally, it would take off & get into a stable hover before beginning the maneuver, but that would require XY sensing.
Posted by Jack Crossfire | Apr 06, 2014 @ 03:48 AM | 5,756 Views

So the motor wires had to be routed away from the sonar transformer. There aren't many places for those wires. With that out of the way, the Syma X3 worked perfectly. It was very stable, performing the autonomous open loop maneuvers exactly as hoped.

Without any active control besides altitude, it took several takes to get a maneuver to work. It was more successful in the packed apartment than the large room. The apartment might break up the air currents more. 1 key seems to be making it as light as possible.

Miniaturization beyond a point still costs you. There is a weight advantage to using $5 of ceramic caps instead of $0.35 of electrolytic.

Ceramic 100uF 6.3v * 5: 0.3g
Electrolytic 470uF 6.3v: 0.6g

But the weight of the soldering for the ceramics would make them heavier. Digikey has a 220uF 6.3 for $1.65. 2 of those would be lighter than the electrolytic.

What about using 2 batteries + regulator instead of a boost converter to get 5V 300mA?

Extra 4.2V 260mAh: >7.5g
boost converter: 3.1g

So all the work designing the boost converter was worth it. The choice in motor wire makes a difference, too.

Ribbon cable: 1.6g
wrapping wire: 0.5g

Didn't notice any reduction in power from using wrapping wire.
Posted by Jack Crossfire | Apr 03, 2014 @ 08:10 PM | 10,559 Views

A thorough exploration of 3 routes revealed the easiest way to reach Tehan falls. Unfortunately, GPS Logger crashed. The shortest route begins by hopping the gate on Tehan Canyon Rd, but the expedition began on Moller Ranch Dr. because nothing on the goog showed an access point from Tehan Canyon Rd.

The only route with any detail on the goog is from ridewithgps.com:

Fuggedaboutit. It's a vertical drop coming in from the 2 directions shown. Instead, there is a much easier route with the photos marked.

Starting on Moller Ranch Dr, we ascend over a ridge.


...Continue Reading