TinyURL widget - shorten your URL's for free!

Enter a long URL to make tiny:

Monday, April 22, 2019

New book idea: The Three Strategies of Open Source Co-development.

After frustrating runs at trying to reduce, reuse, and recycle old C #code, I plan to write a book detailing real strategies to exploit open source code that is what it is: poorly written, poorly documented, and poorly tested.

While it may seem like free software ( free as in free beer in the Stallman sense) may be a starting point, but the reality lots of partly done solutions involve almost as much time to understand, hard to port, and requires modification to change to meet your expectations.

Eric Stallman's belief that you should be able to modify code just like you modify cars and trucks may seem ideal, and it is: idyllic.  Most software coders are lazy or rushed: or both. That isn't a put down, it's a reality. So you need to accept some learning and investigation to take on new code.

I plan to write a book about sensible strategies that don't lock you into wasting many hours trying to make a square peg software base fit into a round design.

What are the three strategies (that work)?  Read my book.

Friday, December 21, 2018

Fastest way to find what packages are installed with pkg-config in Linux

Use the --list-all option then grep for the name:

$ pkg-config --list-all  | grep glew
glew                           glew - The OpenGL Extension Wrangler library

Friday, September 14, 2018

Will Robots Take Most Jobs?

My reply to https://www.quora.com/Will-robots-take-most-jobs

I built my first robot in 1998. I competed in the Mark Tilden’s World Robotics Games in Calgary in 1999, placed 8th in the world at the solar roller (light powered car). I’ve researched, developed, and demonstrated many robots from teleoperation to autonomous with various NIST ALFUS levels of autonomy since then. I am a co-inventor on 8 patents.

Artificial Neural Networks, Bayesian inference, Dempster-Shafer, Mahalanobis, Kalman and extended Kalman filters, Generalized Evidential Processes, Fuzzy inference engines, Cellular Automata. I’ve used a few techniques.
I predicted and warned that Waymo, Uber and other autonomous fleets will not work as promised and will deliver almost unlimited liability from US strict liability statues which is a big risk to shareholders.

I would not encourage you to own those shares nor ride in any autonomous vehicle at this point. They are dangerous more than they should be. If Waymo was as profitable as Google believed then why did they divest?
To answer the question asked, the simple answer is: not the way the experts tell you.

Let me describe it in an analogy.

Suppose that all work in autonomy ( Artificial Intelligence for moving things) could be described as roads. There are two roads to autonomy: the long road and the short road.

The short road is robotic revolution, one disruptive technology that will change everything. The short road is the one on which hopeful scientists promise incredible results to get the money, then deliver barely working systems with some excuses and glossing over of the deficiencies. They sell the sizzle without the steak. Then they move on to the next set of promises, barely acknowledging failure. It is the risky one that has failed countless times since the 1960’s (Stanford’s SHAKEY). Yes, almost 60 years of broken promises.

Now, before some get their backs up at this, that is not to state they aren’t dedicated, educated people doing their best. They are, but most of them aren’t as learned ( erudite, profound systematic knowledge) as they believe. They haven’t read as much as they needed to before they opened their mouths, as in:

First, learn the meaning of what you say, then speak

- Epictetus

Most loud experts have built exactly NO systems - start to finish - upon which they base their considered opinion. CAVEAT EMPTOR

I have designed and built systems that went to Afghanistan. It is not as easy as it might appear.

The reason they are unable to deliver is not productivity, it is that mankind does not have the one vital knowledge, the discovery of the unifying model that explains intelligence. Or, the key component - like the Bernoulli effect for knowledge - that “works like human thought” - whatever that means.
All aviation rests on the lynchpin of lift, the Bernoulli effect underpins all flying things on Earth. AI hasn’t found it’s equivalent yet. There is NO general intelligence algorithm. Anyone that claims that will soon show themselves a fool.
Rodney Brooks wrote about this 10 years ago or so, find the article for yourself if you don’t believe me.
By comparison is the long road. The long road is robot evolution. The long road makes bounded systems with bounded problems just like factory floor automation did 50 years ago. The long road is the less risky, more humble approach but it builds on known solutions to subsets of the entire problem space.

How big is the problem space? Somewhere between zero and Immanuel Kant’s architectonic.

Contrast the two roads with the applications of AI: AI can be applied from static autonomy ( static machines) to robots ( mobile machines).
With static autonomy, one can design a system with almost unlimited memory, power, processing, sensor arrays, and so on. The problem space is reduced to the problem you want to solve.

With mobile autonomy, you need to concern yourself with superset problem space of seeing, thinking, and moving around in the world as well as the problem you want to solve. Except now you have limited power, limited sensing, limited processing. See the delivery problem of the short road?

Unless someone solves AI, this is how autonomy will take jobs: any static task that can be automated and reduce labor will be overtaken by a machine that can work cheaper than a human occupant. Like kiosks at McDonald’s replacing counter staff. This means white collar jobs like accountant and lawyer are MORE at risk of being automated than construction workers and crew hands.
Yes, factories will still move overseas to low-price labor markets. That’s because those jobs are cheaper than robots and Western labor, combined. Nothing stops raw economics.

Paradoxically to what the experts think, expensive jobs are more attractive to automate for startups because there is more money to save. Lawyers, doctors, engineers, psychologists, and yes, even professors should be very worried about their jobs more so that plumbers, welders, and fitters. Fitters need to move to the fitting. Professors can be projected on the screen in room 2332.
Bounded mobile autonomy will work it’s way into mobile jobs, slowly. There already are proven applications like autonomous dump trucks moving by GPS around a mining course, filling and dumping ore etc. because they are bounded problems, the mine owners control the entire route, and the environment is simple.

Slow and nearly static will win the race.

Saturday, August 18, 2018

The timed like technique: how to increase your social media followers using timing and some psychology.

I don't apply my knowledge of psychology often. The last time I did, making a silly article, I managed to unleash a stampede of lonely introverted tech workers spitting venom and basically proving my point.

There are a lot of lonely introverts that love to lord their knowledge over people that just want an answer to a question. QED.

Today I will use my applied psychology for your good.

When you start out on social media like #twitter, and #facebook, no one knows who you are. Well, no one but your mom. Moms mainly follow you, except my mom, we haven't spoken much in many years.

Anyway, you can apply this simple to help you attain followers. I don't know how well this works compared to other techniques, and I don't care to invest any time on a comparative analysis. If you have horrible luck or splendid luck with it, make sure you post your results below for people to compare. I will, of course, accentuate the positives and mock the negatives using something #ScottAdams calls cognitive bias.

You are going to use the psychological effects known as correspondent inferences & revealed preferences:

Correspondent inferences state that people make inferences about a person when their actions are freely chosen, are unexpected, and result in a small number of desirable effects.


Revealed preference models assume that the preferences of consumers can be revealed by their purchasing habits.

People reveal what they like, when they like it.
You reveal something about yourself by liking the same thing.

So when someone likes something, and you like it too, then another person will assume you like the same things as they do. That doesn't have to be completely true to be partly true.

Your $0 purchase of a like, by choosing it over the alternatives, reveals your preferences. Here is the math version:

Coke or Pepsi (or Dr. Pepper). Domino's or Little Caesar's. Trump or Clinton.

By choosing, we make it known.

If you follow the same two people, and you like the same things, then perhaps that person will find more agreeable things inside your feed, or they will feel solidarity with your causes because they hold the same causes.

It's not evil, it's not even manipulative, it's agreement and consensus. People follow what they think they agree to. Similiar thoughts arrive at similar thinking. As the old adage goes:

"Great minds think alike, dim ones seldom differ."

What this really is is harmless marketing. You are catching people at a time when they might consider following you.

Here is my "timed like" technique:

  1. Follow some popular, notorious, or at least well-known people that have lots of followers. These days, you can't beat #DonaldJTrump.
  2. Wait for one of these popular people to post something. With #Trump, that seems like every late night bathroom break.
  3. While the post is less than 3 minutes old, like the post and then go into the post and like the 10 people around your posting. 
  4. When you follow other people, they will get a notice and some of these will consider to follow you in return. 
  5. Don't do this repeatedly all day long, that tends to annoy people. And that's borderline abusive to my way of thinking. 
  6. After some time, unfollow the people that didn't follow you back so you don't hit the follow limits imposed by the social media monitors. They seem to have preset limits for people that if your followers and followed climb to rapidly, they block you from further attempts.  If you have 200 followers and 800 followed, #Twitter by itself stops you from growing. I keep a running total of around N followers and N+20 followed.
  7. After a while, some of those people will unfollow you, some will remain.  
  8. Repeat, judiciously.

People's tastes and thoughts change, thankfully. Your number will remain variable with and without your fault.

Using this technique, you can increase your reach which might help you with whatever you wish to make people aware of. This technique doesn't need advertising $$$ or an expert, only applied science and some time. Don't expect rapid results, success may not be guaranteed.

I am offering a tip I learned for free on a platform that serves it to you for the cost of internet service, maybe you would consider buying one of my books so I can put my kids through college?

Friday, July 27, 2018

Pro Tip: Never email scam someone that knows more about the Internet than you do.

An alleged email scammer who threatened me with sending an email with a video to 13 contacts on my wife's iPad if I didn't pay a ransom in Bitcoin.  Scammer's email for now is ojwayneys@outlook.com. This person is somewhere in Europe based on the email LMTP trail.

Pro Tip: Never email scam someone that knows more about the Internet than you do. 

If you are blackmailed by a scammer online, here is what you do:

1. Never pay them, even if they promise to delete it you can't be certain. The bomb has gone off, details will come out, so don't try defusing the bomb over again. Also, since they are liars and criminals, you can't assume they will delete it so they may be back in the future.

2. If the bomb has gone off, expose it all right away. There is nothing to worry about because nothing else is going to appear. There is nothing to extort if there is nothing to hide.  As Thich Nhat Hahn advised: "the only way you give people power over you is if you let them." So put it all online and suffer the momentary embarrassment.  Or not. There is nothing to extort if there is nothing hidden.  Two weeks later people will have moved on. In this case I am making an example of this person. I emailed my scammer offering to put what he or she had and all the details online.

If that wasn't a convincing argument, remember that compared to Donald Trump, most of your supposed sins are pretty minor.

3. Find the source of the email sent to you, not the text window but the original SMTP / LMTP source code, and copy it all into a complaint with the FBI's IC3 internet criminal complaint. Look for a view menu item  This scammer hid a white dot image (an old technique I learned about in 1992) to confirm I read the email. The stupid thing about that is, when you have remote content like a URL / URI for a white dot image request, that TRACKS BACK to the server where the scammer is hiding. It's in the email! If you send a URL request there is a record in servers there as well. This is not smart crime.

4. File a complaint against the scammer. You hit the submit a complaint button and follow the prompts. Enter all the data and include the email with all the email source code. That is the treasure trove data the FBI will use to find the individual. It's a long page but fill it out with everything and don't lie about anything.

5. One thing most luddites don't understand about the Internet: for email, there is NO anonymity. The two things an email server will do is either accept or NOT accept an email. If it accepts it, then it passes it on. If it rejects an email, it still logs which computer it was talking to when that happened. Whether it accepts it or not depends on things like how favourable your website is or if it is a spammer site. In either case it doesn't mean there is no record of transaction. The record goes all the way back to the computer that sent the original message in all cases. You can create a fake email and destroy it, but it always goes back to the devices handling the email. And if it has the IPV6 address they know right down to the device itself. As a scammer, you have just given yourself away like dancing in front of a security camera with your ID on your forehead at the liquor store you just robbed.  Pure stupidity.

What this person has done is made themself a target of FBI investigation. It may take years to investigate, don't kid yourself, but if this email is mixed up in many extortions or organized crime, the FBI now has these people on the radar.  If this account matches any other cases or metadata connecting people, all the associates are now on the radar. The funny thing is, the FBI may wait in the weeds for years, with criminals operating like they think it's OK, and then when they least expect it launch on their crime ring and take them all down.

6. Make sure you point out to them their email data is now in the hands of the FBI database. I sent the scammer an HTML page and images showing that information was in the hands of the FBI. This person was stupid enough to send an email from their account AND include their bitcoin wallet in the same email. This is moronic. The whole point of bitcoin anonymity is you can't link transactions to people. Take the bitcoin wallet address, the email address, and the internet address, this person has light themself up like a Christmas tree.

If this person was equally foolish to use the SAME Bitcoin wallet for many extortion attempts at the same time, goodbye to all that money from your scammings. It won't matter if at some point you clean out the bitcoin balance in the future, they will go back through blockchain and detail just how much was in there when they had proof of an extortion attempt. Blockchain saves everything!

7. Report this person to the scammer, phish, or abuse of terms email addresses for the email internet service provider.
 If your scammer is using a Microsoft email like Hotmail, Outlook, and MSN, emails, here are the emails:

abuse@microsoft.com for any abusive behavior that violates terms of use.
phish@microsoft.com for any email from a phishing scam, and in this case extortion scam.

Save someone else from having this fun by alerting the big companies to these scammers.

Friday, July 6, 2018

libtool: Version mismatch error.

If you port and compile across Fedora and Ubuntu Gnu/Linux distros, you might find this bug between recent Ubuntu 16X and Fedora 20X versions of autotools.

libtool: Version mismatch error.  This is libtool 2.4.6 Debian-2.4.6-0.1, but the
libtool: definition of this LT_INIT comes from libtool 2.4.2.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6 Debian-2.4.6-0.1
I compiled on Ubuntu, then make maintainer-clean, then copied file folder over to a Fedora machine. Then any variation of 

rm aclocal.m4
autoreconf -fvi
aclocal --force --install
autoconf --force
libtoolize --force --copy
rm libtool 
rm autom4te.cache/*

does not clear out some of the cruft of the Ubuntu build environment. I tried many versions and stripped files out, but it still reinstalls the improper libtool in the source directory.

The only fix I could make work was to remove the libtool file after reconfiguration and then install the /usr/local/bin/libtool of that machine directly into build directory. Then libtool would work normally.

The cause could be any number of causes including timestamp differences on many machines ( some are on differing NTP servers), autotools mismatch, and probably make maintainer-clean doesn't remove enough cached files.