New Products Flash Sale
Jack Crossfire's blog View Details
Posted by Jack Crossfire | Apr 22, 2014 @ 08:11 PM | 2,480 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, in which every page begins with a picture of some ugly head probably belonging to Vogella himself. His competitor is, 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 | 2,431 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 | 3,311 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 | 2,639 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 | 2,978 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 | 2,643 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 | 3,028 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 | 2,743 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 | 2,640 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 | 2,834 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 | 3,375 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 | 3,100 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 | 2,515 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 | 3,527 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

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
Posted by Jack Crossfire | Apr 03, 2014 @ 04:57 AM | 2,513 Views

The tried & true rubber band allows a 260mAh to fit. The 260mAh gets it off the ground, but is pulled down to 3.4V. It flies for 2 minutes.

Today's discovery was the LP2989 spikes to the full battery voltage before settling at 3.3V. Accidentally plugged a 7.4V into it. The spike made bluetooth fail. It can only handle 4.2V.

Sonar was totally non functional with any motor power, but functional with the motors off. It didn't work on regulated 3.3V or unregulated 4.2V. The Syma X1's had the same sonar module working, but they're gone. A 500mAh has the same voltage drop & sonar failure.

The IMU goes at 1400Hz with only 6 axes being read. The PWM goes at 1200Hz. The IMU is more stable than the brushless one.

At least it's now possible to upload a new configuration file without power cycling it. That was a tricky reset bit, years in the making.
Posted by Jack Crossfire | Apr 01, 2014 @ 08:52 PM | 2,536 Views
It was time for the flashlight's 6 month tuneup. An LED had burned out & a new boost converter using a 2004 era ASIC had arrived.

The mane difficulty was the current sense resistor. It has no insulation. At 0.01 ohms, the excess soldering on its exposed wires would have made it quite worthless. A bare trace would have probably done a better job.

The inductance was double the recommended amount, with probably more resistance. The voltage setting resistor was 100k instead of the recommended 10k.

...Continue Reading
Posted by Jack Crossfire | Apr 01, 2014 @ 06:49 AM | 2,809 Views

Another rearrangement of electronics got the original battery holder to fit. It only accepts the 1 battery size.

The downward tail fins give it a bit of an MQ-1 look. The tail fins do nothing, of course.

...Continue Reading
Posted by Jack Crossfire | Mar 30, 2014 @ 08:59 PM | 2,930 Views
Posted by Jack Crossfire | Mar 30, 2014 @ 02:21 AM | 2,861 Views

The stock battery position is tail heavy.

The fuselage can be flipped over, making a flat surface.

...Continue Reading
Posted by Jack Crossfire | Mar 26, 2014 @ 06:24 PM | 3,137 Views
So the human race lost a 777 & couldn't find it again. It's not the 1st time a plane disappeared over the ocean, never to be found again, but it is the largest.

It took 75 years for humans to find the Titanic. They had much better knowledge of its location. It was just a matter of towing a sonar scanner in a small area until someone found it. It took a military budget, of course. There was so much defense spending in the 1980's that massive amounts of money were going into sonar technology & a mission to find a sunken submarine could afford to take a detour & hunt for Titanic. That would be unaffordable today.

The problem is satellites capable of high resolution imaging still can only fly in low Earth orbit. They can get only 1 photo of a single point per day, only when the weather is good. They can't afford synthetic aperture radar to penetrate clouds.

Finding the debris field of a 777 would take a geostationary satellite capable of 1 meter resolution of the entire planet, several times per hour. The largest object humans can put in geostationary orbit is 28,000lbs. We can't build a bigger rocket. Hubble weighs 24,000lbs & can only get the required resolution from low earth orbit.

The required satellite would probably weigh over 100,000lbs. The rocket would have to be 360ft tall & put out 7 million lbs of thrust. The human race could never afford it.

Malaysia put an enormous amount of effort into burying the crash as fast as...Continue Reading