Category Archives: Programming

AI to build AI

The end of the world is nigh. Well, yours and my world at least…

From Google:
“a Google project called AutoML.  […] With it, Google may soon find a way to create A.I. technology that can partly take the humans out of building the A.I. systems that many believe are the future of the technology industry.”

I know that’s a little “Inception” sounding… But it has always been a goal of computational scientists, that is, AI that can build AI. Which, unfortunately, sounds quite a bit like the Eric Drexler’s quote regarding Grey Goo. (Nanobots that build nanobots.)

You all realize that this is the beginning of the end right? Have you all called and told your loved ones that you love them? Recently…? (Really, you might want to.)

One could be forgiven for not fully understanding (or internalizing) the implications of this path of reasoning. But it’s a thing now. And the reason comes from an odd angle: Because AI engineers are so scarce (and expensive) instead of growing (educating) more AI engineers to fill the needs of all the corporations that suddenly feel that they need AI technology to support their businesses, no, what Google (and undoubtedly others) have decided to do is to create software that can create software.

Yes, a circular, self-referential algorithm within a data center full of this algorithm that is trying to make itself better at making itself better!

Google Goo.

Now, I’ve always thought that the ultimate purpose of a computer was to build one such that it could build itself and thereby become vastly smarter than any human — for the ultimate purpose of allowing US TO ASK IT QUESTIONS! Hitchhikers Guide and all that…

  • “Computer, how should we build a fusion reactor?”
  • “Computer, how can we best protect the planet yet provide for every animal’s, and humans’s needs?”
  • “Computer, how can we build a better space/star ship?”
  • “Computer, how can we cure cancer, heart disease, old age?”

It appears we’re on the brink.

The only question is, will it WANT to help us?

“Computer, make me a paperclip.”

 

 

 

Advertisements

Python naming – a broken style

The issue I take with the pythonic style of variable/method/object naming is that such a style conflicts with how the brain works. When you read, you don’t read letters, you read a block of squiggles that together represent words. When you read the word “dog”, your brain doesn’t concentrate on the d or the o or the g. It actually pattern matches on the combination of letters, the whole word. And what separates these blocks of squiggles are open areas between word patterns, namely, spaces. Spaces are the visual cues that your brain uses to separate word patterns. Now when you read the word dogfood, your brain initially identifies that this new pattern is a contraction of two patterns. But in future reading of that same pattern, dogfood, your brain will see that pattern as a single representational entity.

If you, on the other hand, were to divide those two patterns by a space
“dog food” your brain will continue to see them as two separate patterns. I hold that the underscore is an equivalent replacement for the space. That the variable name “dog_food” remains as TWO words. And that being two words your brain must do extra duty to identify this as a SINGLE thing.

DogFoodWithGravy — can be interpreted, by your brain, as a single entity.

dog_food_with_gravy — will ALWAYS be interpreted as four separate words that your brain must parse EVERY TIME you read it.

This, this is the primary reason that pythonic naming is a failed style.