The future is obsolete

For a couple of hundreds of years, we have lived in an economical society, where our labour possessed value for others. And as new paradigms came and went, such as the agricultural society, the industrial society, service based society, knowledge based society, we always seemed to be able to adapt. That stops in a very near future. Less than a decade from now, there is literally no job what so ever, that a computer or a robot for $1000 cannot do better, more accurately, and less expensive.

When Deep Blue humiliated Gary Kasparov in 1996/97, it took only 15 years before the average pocket calculator could beat the world chess champion, without even making an effort. Today the same research team that created Deep Blue, is creating doctors and physicians. This implies that 15 years from now, your physician and your surgeon will be a pocket calculator. We’re already seeing signs of this, such as self driving cars, automated supermarkets, the drones Amazon are using, etc, etc, etc. Steady but slowly, computers and robots will entirely replace every single task human beings are able to perform today. And I can’t wait!

Hallelujah, humans are obsolete soon!! 😀

If work was so valuable, the rich would keep all the jobs for themselves

Contrary to others, I literally can’t wait. I’m looking forward to this future, rejoicing, realising I can spend more time exercising my hobbies – Which paradoxically includes playing chess. The future is in fact so bright, I’ve gotta wear shades!

If you’re a youngster today, and you’re wondering about what education to take, let me give you my advice. First of all, when it comes to knowledge, skills, and “thinking”, there is not a single place in this world where you cannot be outperformed by the average pocket calculator 15 years from now. So spending your time at universities, reciting endless (and useless) information based facts, or the very art of logic itself, is completely useless. (Logic is Greek for “thinking”) – Hence your PhD 15 years from now, is about as useless as your ability to ride a horse and a carriage is for the average employer today. However, there are places where you can outperform computers, at least for the foreseeable future. This is where emotions are important, and the fact of that you’re actually a human being.

For instance, regardless of how intelligent our computers and robots becomes, and regardless of how perfect they can play the Saxophone, many people will still enjoy seeing an actual person playing the Saxophone as they’re visiting their local pub. Simply because we enjoy surrounding ourselves with talented human beings. The same way most people enjoy talking to an actual waitress as they’re ordering their coffee – If not for any other reasons than making a flirty remark to her as she takes your order.

People still enjoys watching Magnus Carlsen play chess, because of his personality, his body language, and the way he conducts himself in public. In fact, the (actual) world chess championship contest have at most a handful of spectators, since these competitions are being performed between super computers, which are a thousand times better than Magnus Carlsen, and performing their competition in dark rooms, deep inside of mountain halls, with no physical chess board, and no lights – In temperatures below freezing, to make sure their “brains doesn’t boil over”. This is the *actual* world chess championship. But nobody cares, because they find Magnus Carlsen, although significantly inferior to these machines, to be a nice human being, and they enjoy watching him playing chess. We even refer to Magnus as the “world champion”, even though we all know for a fact that the last human world chess champion was in fact Gary Kasparov in 1996.

If you’re basing your future on your cognitive superiority, and your logic, and your ability to “think”, you’re in trouble. A piece of advice, relax, be more human, be nicer, and calm down. Otherwise Deep Blue is going to kick your ass out of your office, while your boss is laughing, thinking “finally I got my revenge over that fucking arrogant asshole”.

Peace out,

“Just another Saxophone player”

And do you want to know a secret? You, yes you – As a system developer that is, is making everybody else in this world obsolete. There seems to be some kind of justice to the fact that somebody actually makes YOU obsolete …

… and most people will probably laugh, and cheer on me, as I do it!

Advertisements

Create web apps without JavaScript, CSS, HTML and C#

One of the things about Phosphorus Five, is that it allows you to create fairly rich web apps, without knowing any JavaScript, HTML, CSS, or C# – Or any other server side backend language for that matter. You can get away with this because most problems you’ll encounter in your web apps are already solved in the framework. For instance, to show a login dialogue is one line of Hyperlambda. To create a datagrid wrapping your MySQL database is 7 lines of declarative code. To create an Ajax tree view that shows the folders on your (server) disc is another 27 lines of code. A modal window, another 5 lines of code. Ask the user to confirm some action, 3 lines of Hyperlambda. Since Hyperlambda “feels” more like YAML than C# or JavaScript, it doesn’t feel like you’re actually coding.

Ask yourself how many of your problems are unique to your app. Chances are most of the things you need to do, have been done by thousands of other developers previously, in thousands of apps. If this wasn’t true, why do we find so many answers to our questions when we’re stuck and we choose to Google our problems? Phosphorus Five takes advantage of that fact, and facilitates for making it extremely easy to create reusable code and components. In fact, when you create your web apps in Phosphorus Five, you don’t create a monolithic app – It’s simply impossible. What you end up creating, is a whole range of reusable components, that you can put into your current app, and your next app. Since I have already created a whole range of different apps with Phosphorus Five and Hyperlambda, ranging from webmail clients to IDEs, there’s a component in Phosphorus Five for most of your needs. This literally allows you to create your app, almost exclusively using pre-built components, with a close to zero code base.

According to rumours I heard once, Visual Studio contains roughly 1.5 million lines of code. Hyper IDE contains 2429 lines of code, if you don’t count the comments and spacing. Visual Studio contains 617 times more code than Hyper IDE. Obviously Visual Studio contains tons of features that Hyper IDE does not. However, most of those features are things you’ll never miss, and things you didn’t even realise was there. In fact, I doubt there’s a single person in this world, including the project manager on the Visual Studio team, that can even mention every single feature in VS. Secondly, Hyper IDE has its own unique traits too, which Visual Studio does not. For instance, the ability to use it from your phone, access it from any terminal, granting write access to users only for specific files, etc, etc, etc. Being roughly 10x faster and more responsive for most tasks of course, also obviously helps. Being a gazillion times easier to extend, is also an extreme advantage. In fact, there’s a name for apps such as Visual Studio, it’s not a very flattering name either. The name we use for such apps is “bloatware”.

When I built Hyper IDE I already had all the main components I needed. This was the reason why I didn’t need more than 2429 lines of code. I had a CodeMirror editor widget, since I had already created one for Hypereval. I had a tree view Ajax widget, to show the files on disc. I had a toolbar widget, which I had already used in many other apps. I had modal windows from before. Etc, etc, etc.

When you create an app in Phosphorus Five, you don’t need to create as much code as you’ll need to create when you use “whatever else”. First of all, because most of your problems, are problems I have already solved. Secondly, the problems that you’ll actually need to solve, is by default possible to solve such that when you have solved them, you can reuse your solution in your next project – Without creating much dependencies between your apps might I add. This allows you to solve at least 80% of your problem, sometimes 100%, without resorting to writing JavaScript, HTML, or CSS. This again allows you to create rich and highly advanced server-side functionality, without having to write code in PHP, C#, or any other server-side programming language for that matter.

Every time you reinvent the wheel, you are stealing from your employer

The above might sound drastic, but you as a developer have a cost. This is often an hourly cost. Implying if you do things you don’t have to do, you are indirectly stealing from your employer. You probably don’t intend to steal – However, your vanity and your “not invented here syndrome”, prevents you from seeing the truth. So you end up spending your employers money, to learn something, that is completely useless – Because you want to become the “best developer in the world”. This is literally stealing!

If you’re an average full stack software developer, ask yourself the following questions; How much CISC x86 assembly code do you know? How does the pipeline in the latest Intel CPU work? What is the L1 cache size of your web server? If you’re an average software developer, you’ll have no idea how to answer those questions. Sure, you can probably easily find the answers by using Google, if you need these answers. But the fact that you are now probably frenetically Googling trying to find the answers to the above questions illustrates my point. Below is a piece of code. If you don’t count its comments and spacing, there’s 27 lines of code in it.

/*
 * Creates a page with a tree widget in it, which displays
 * all the folders on disc.
 */
create-widget
  class:container
  oninit

    /*
     * Including Micro CSS file.
     */
    micro.css.include

  widgets
    div
      class:row
      widgets
        div
          class:col
          widgets
            h1
              innerValue:Tree view widget

            /*
             * This is our treeview widget.
             */
            micro.widgets.tree
              items
                root:/

              /*
               * This one will be invoked when the tree needs items.
               * It will be given an [_item-id] argument.
               *
               * We simply list the folders of the item the tree needs
               * children for here.
               */
              .onexpand
                list-folders:x:/../*/_item-id?value
                for-each:x:/@list-folders/*?name
                  split:x:/@_dp?value
                    =:/
                  add:x:/../*/return/*
                    src:@"{0}:{1}"
                      :x:/@split/0/-?name
                      :x:/@_dp?value
                return
                  items

Here is what it results in …

The only thing you need to know about the above code, is what it does, when to use it, and that it works! It’s secure, it’s extremely efficient on bandwidth, and it shows your folder structure on your disc. The same is true for your CPU. You don’t need to worry about how large its L1 cache is. You only need to know that it works. If you can understand how the above [.onexpand] Hyperlambda work, you can easily change it, to make it show other things, besides your folders.

In fact, if the above wasn’t true, the idea of “encapsulation” would be meaningless. You already use thousands of things you have no idea of how works. For instance, what is the implementation of System.String’s Clone method? I’ll give you a hint “return this;”. Now explain to me why that works, and doesn’t create problems if the same string is shared among multiple threads … 😉

99.9% of the world’s developers cannot answer the above question, without resorting to Google …

Sure, you could probably create your own custom tree view, using jQuery, PHP, CSS, JavaScript and C# etc – However, that would take you (at least) a month. It would contain thousands of lines of code in both JavaScript, CSS and C#/PHP. That month is a lot of money for your employer. Why would you want to do that, when all you need to do is to spend 5 minutes on creating 27 lines of code? Why would you spend your employer’s money basically for nothing, resulting in that your employer might go bankrupt, having to throw money literally out of the window – Resulting in that you’re eventually left without a job. Can you answer that question? In fact, let me show you your resume, and how it will look like 10 years from now for a potential employer. I should know, because I used to be the Windows API expert on the planet … 😉

  1. PhD in useless information a
  2. Masters Degree in useless information b
  3. 10 years of experience in useless information c
  4. Etc …

Do you want to know a secret? There are few differences between the art of flipping a burger, and the art of creating software. Both can be optimised to the point where MacDonalds can serve a billion burgers every day, with each employee creating an average of 100 burgers during a day. And if you choose to not use the better approach to create your software, because of vanity – Not only are you damaging your employer, but you’re also spending intellectual energy, on teaching yourself something, that is completely useless 10 years from now. Don’t believe me? Ask some WinForms developer how useful his knowledge is today …

… or a FoxPro developer for that matter … 😉

May I suggest you spend some time maybe instead learning how to play chess, or maybe the Saxophone? At least that way you’ll end up with a tangible value, that has a measurable positive impact on your life. Maybe start swimming or exercising? If you’re the average software developer, God knows you need it!

For God’s sake punk software developer, get a life!

Don’t waste your life, learning something, that nobody cares about, and that will never have any benefit for you or anybody else in the long run – At least not unless you do it in your own time, and you find it interesting and challenging …

For the record, this article, and these ideas, is probably the reason for this.

The more you fight me, and my ideas, the more you prove my point!

Epilogue – 13 minutes after I submitted a link to this article to /r/programming on Reddit, it had 75% down votes. I suspect I was the only one who upvoted it though, implying 100% of those who voted for it, voted it down. A qualified guess, is that I will soon be banned from the group. However, I’ve been wrong before. If I get banned, I will add their reasons for banning me here, which I suspect is “obsessive self promotion” – Although you can only submit links there, and the quality of this article is obviously quite high. A piece of advice when it comes to my ideas is to make up your own mind. Simply because the more “senior” your developers are, the more resistance they tend to show towards my ideas …

Why Phosphorus Five creates resistance

It actually didn’t dawn upon me before quite recently. Most senior developers will generate resistance when I ask them about Phosphorus Five. Now the promise of Phosphorus Five is that it allows you to create web applications, without needing to know any JavaScript. It also reduces the need to understand CSS and HTML. In addition, you can also create really, really rich web apps, without requiring any knowledge about C#, PHP, or any other backend programming language. It’s almost funny to think about that I didn’t understand how this scares the living daylight out of senior system developers.

There’s an urban chess legend. I think it was originally told by Bobby Fischer in fact, and it was about Fischer and Spassky sitting and drinking in the bar at a hotel before a match. Some guy they had never seen before sits next to them, and tells them that he’s invented a system, that allows him to always win in chess. Fischer and Spassky are moderately curious, and asks the guy to demonstrates it to them. First the guy plays Fischer, and wins 10 out of 10 games. Then he plays Spassky, and yet again he wins 10 out of 10 games – Apparently without even making an effort.

The story kind of ends there, and as Fischer tells the story to a crowd of people, finally some guy can’t hold himself, so he bursts out and asks Fischer; “What happened to the guy?” At which point Fischer says with a smile on his face; “We killed him and buried him in the yard of course. Do you think we’re idiots?”

I doubt Fischer ever killed somebody, and even if the story was originally told by Fischer, I think it was more like a humorous joke. However, the story teaches us a fact about humanity, which is that when somebody have huge intellectual investments in something, and somebody comes and makes that investment irrelevant with some new invention, that invention becomes a threat to those with existing investment in whatever the invention replaces. For instance, go ask a taxi driver what he thinks about self driving cars, and I’m willing to bet he’ll tell you hundreds of stories about how these cars are unsafe, dangerous, a liability, and a danger to its customers, etc. It doesn’t take a rocket scientist to understand the taxi driver’s motives. Since Phosphorus Five arguably threatens to turn the “priesthood of the 21st Century” into burger flippers, it’s probably no wonder it generates resistance as I talk about it …

If you’re a manager, and your task is to evaluate Phosphorus Five for you organisation, then please do me a favour. Show Phosphorus Five to one of your best JavaScript developers, and ask him to give you his opinion. I bet he’ll find millions of reasons why it’s “crap”. Maybe he’ll say things about me, and my person. However, there is one thing he cannot do, and that is to point at a single point in its code, where it actually sucks. And the negative testimonial your senior system developers gives about Phosphorus Five, is actually all you need to know. That negative testimonial becomes the proof of its brilliance! If you’re manager, you can download my white paper about Phosphorus Five below, to understand it from a top down perspective.

Software Factories

Or you can watch the following video that illustrates its USPs. Then show it to your most senior system developer, that guy who is a JavaScript/C#/PHP Ninja, and ask him for his opinion about it. Don’t tell him what I assumed his reaction would be though. Just let him watch the video, and ask him what he thinks about it.

Below are some testimonials about Phosphorus Five from senior system developers.

The guy who said this, actually have created his own programming language. I wonder what his motives are …? 😉

Terry Davis is rightfully or not, considered the “protege” of a Schizofren system developer.

I guess they’re trying to bury me in the yard … 😉

Proof of that most system developers will fail the Turing test

I just recently posted a link at Reddit/Programming with the header “AI – When the Computer becomes a Software Developer”. It was like throwing a can of gasoline into a bonfire. Read the responses here. Out of 763 readings so far (in an hour), 63% down voted the article. Most of the commenters started immediately attacking the posting. This is a very interesting figure, since there is only one accurate response to the article, and it goes like follows.

This is an interesting system, but I can’t see any AI in it …?

The above is the **ONLY** accurate response to the OP! All other responses are arguably proof of an incapacity to digest and analyse new information, in an attempt at trying to find the best solution for those having hired you. The reason is of course that a simple look at the system’s code, would easily have revealed that it contains *ZERO* AI! All other responses illustrates a system developer’s inability to accept alternative solutions, and investigate new technologies – Probably because it is being perceived as a “threat” to his own job security.

My intention wasn’t to prove that my software system passed the Turing test, it was to prove that most system developers will fail it.

One of the commenters gave me a fabulous response though, which I just simply adored! Read it for yourself below. I think it explains everything you need to know about your system developer’s “resistance towards change”

Hats off to this brilliant and open minded guy (or gal?)

And in doing so, I arguably proved that my software system was more intelligent than 63% of the world’s system developers – Not because my system contains any Artificial Intelligence, because it doesn’t! But because of the emotional baggage, prejudice, and fear of loosing their jobs, the average system developer harbours. And how this fear makes them incapable of finding intelligent and new solutions to their problems. And if you look carefully at my original post, I don’t make a single claim towards that the system contains any “AI”. Of course, I did admittedly combine two characters from the Latin Alphabet, that I knew would make developers go berserk, and trigger their emotions. However, arguably my OP proved that the average system developer is …

An unintelligent, emotionally biased, lesser human beings, corrupted by 50 years of powers, mortally afraid of the future they see is inevitable, and how new technology renders them “obsolete”.

And of course, if you have such people on your payroll, you have a holy duty towards your shareholders to simply fire them. But just relax, you can easily replace these guys with my software system. Because even though it has an IQ of *ZERO* – It’s still more intelligent than your average existing system developer … 😉