Tag: ai

Entries for tag "ai", ordered from most recent. Entry count: 3.

Warning! Some information on this page is older than 6 years now. I keep it for reference, but it probably doesn't reflect my current knowledge and beliefs.

Pages: 1

# 6 Reasons Why Programming Is Especially Exposed to AI Automation

Tue
27
Oct 2026

Summary: While AI may transform our world in many ways, it seems to me that programming is especially exposed to automation. Below I share 6 specific reasons why.

Many decades ago, people imagined that advances in cybernetics would give us intelligent machines in the form of humanoid robots, speaking in metallic voices and helping people with various physical tasks.


Robby the Robot from "Forbidden Planet", a sci-fi film from 1956

Things have developed differently. AI in the form of LLMs can do some intellectual work and, together with other models, generate realistic speech, images, and video, while general-purpose robots manipulating physical world are still very clumsy and far for being able to help us in everyday chores.

I want AI to do my laundry and dishes so that I can do art and writing, not for AI to do my art and writing so that I can do my laundry and dishes. — Joanna Maciejewska

Switching to programming, I still remember reading the book "The Mythical Man-Month" by Fred Brooks a long time ago. The author argued that despite advancements in more convenient, higher-level programming languages, "there is no silver bullet" - no single development can provide an order of magnitude improvements in programming productivity. The argument behind it was that we can reduce the "accidental complexity" of the code (boilerplate code, manual memory management, friction with language syntax, etc.), but there is always "essential complexity" left to handle. If an app needs to provide 5 features, we need to specify all these 5 features fully and precisely how they should work. No matter how high level is the description, it always ends up being... some form of code.

I was thinking back then that a breakthrough would require computers to think like humans: take imprecise, incomplete requirements and turn them into code. My opinion was that programming requires knowledge, skill, and experience, but also analytical thinking and creativity. If computers could ever do it, surely they could do much of the other intellectual work that humans do, leading to changes much broader than just affecting programmers' jobs. I still share this opinion, except now we know it happened.

AI will likely transform our world in many ways, and I don't dare to predict what the future will bring. Right now, however, it seems to me that the nature of programming makes it especially exposed to automation. If we think about why that is, we can identify a few specific reasons:

  1. Intellectual rather than physical work. Programming is an intellectual job (white-collar), largely involving language: both natural language and programming languages. This makes much of the work accessible to LLMs through a computer interface. Professions less affected for now are those that require working with hands in our 3D physical world (blue-collar), like a barber, plumber, electrician, construction worker, car mechanic, truck driver, policeman, firefighter, soldier, etc.
  2. No direct contact with the client. Programming is about working with data, knowledge, documents, code, and machines, and they do not care whether it's a person or another machine operating them. Sure, doing a good programming job also requires talking to other people, like fellow programmers, and managers, but work happens mostly through digital artifacts. Professions less affected are those that involve direct contact with other people (or animals), like doctors, vets, waiters, bartenders, real estate agents, sales representatives, priests, or teachers.
  3. Few formal barriers to entry. Ordinary software development generally doesn't require a professional license or a particular degree. There are exceptions and requirements in specific industries, but there is usually no rule saying that every piece of code must be written by a certified human programmer. In regulated professions, such as medicine or law, professional licensing can create an additional barrier between automating individual tasks and replacing the person providing the service.
  4. Automatically and objectively verifiable results. The results of programming work can be verified automatically to the large extent thanks to automated testing (unit tests, integration tests, etc.), so LLMs can freely make mistakes and iterate, with no human operator needed to even validate the output. We can see it happening now as increasing number of programmers skip thorough review of the AI-generated code, because this would become the bottleneck. The output of other intellectual work, like copywriters, journalists, artists, etc. is endangered less because it needs a skilled human to at least validate the result.
  5. Responsibility can be separated from implementation. Even if AI can provide great help and significantly speed up the work of doctors, lawyers, accountants, or C-level executives, there are decisions for which a person must take responsibility, sometimes with their name and signature at the bottom of the page and a risk of punishment then they make a catastrophic mistake. Programmers, on the other hand, are not typically punished for making errors in the code. We perform tests on the code instead. That makes it possible to automate substantial parts of the job.
  6. No human face needed. There is another profession that involves working with words, including making promises that may never be delivered: politicians 🙂 But I think politicians are less likely to be replaced by LLMs because, in democratic countries, we want a real human to vote for, showing up on our screens, dressed elegantly and promising various things to us. Something similar applies to musicians: AI can generate music, but part of the appeal of a concert is seeing a real musician perform live. We programmers, on the other hand, are usually not presented to the end users of our software with our faces or names visible on the front page of the app. Users generally care more about whether the software works than whether its code was written by a human or AI.

When thinking about my life, I can see that we have gone through several stages in how programmers are commonly perceived. First, when I was a teenager, there was the stereotype of a computer geek. This was before smartphones or social media, so spending time at home with a computer, playing games or learning programming instead of going out to play football, could make someone seem geeky, weird, or socially awkward. Then the perception flipped as mainstream media noticed that working in IT was a good career with high demand and high salaries. Possibly, we are now entering another phase, as the situation of programmers and the public perception of them change. Some young people I've spoken with are already choosing other careers because they don't believe a career in IT is future-proof.

Comments | #ai #software engineering #philosophy Share

# FP8 data type - all values in a table

Tue
24
Sep 2024

Floating-point numbers are a great invention. Thanks to dedicating separate bits to the sign, exponent, and mantissa (also called significand), they can represent a wide range of numbers on a limited number of bits - numbers that are positive or negative, very large or very small (close to zero), integer or fractional.

In programming, we typically use double-precision (64b) or single-precision (32b) numbers. These are the data types available in programming languages (like double and float in C/C++) and supported by processors, which can perform calculations on them efficiently. Those of you who deal with graphics programming using graphics APIs like OpenGL, DirectX, or Vulkan, may know that some GPUs also support 16-bit floating-point type, also known as half-float.

Such 16b "half" type obviously has limited precision and range compared to the "single" or "double" version. Because of these limitations, I am reserved in recommending them to use in graphics. I summarized capabilities and limits of these 3 types in a table in my old "Floating-Point Formats Cheatsheet".

Now, as artificial intelligence (AI) / machine learning (ML) is a popular topic, programmers use low precision numbers in this domain. When I learned that floating-point formats based only on 8 bits were proposed, I immediately thought: 256 possible value is little enough that they could be all visualized in a 16x16 table! I developed a script that generates such tables, and so I invite you to take a look at my new article:

"FP8 data type - all values in a table"

Comments | #ai #math Share

# DeepDream aka Inceptionism - Graphical Effect from Neural Networks

Fri
03
Jul 2015

Convolutional neural networks are artificial intelligence algorithms used in image recognition. Two weeks ago engineers from Google showed how it can be used to generate or modify images in a novel style. They called it "inceptionism". Since then lots of people and websites posted about it.

I would like to play around with this technology myself, but I don't have much knowledge about artificial intelligence algorithms and I don't have much free time right now, so at least I hope to follow developments in this new graphics technique and update this list of related links.

Update 2015-07-06:

I came back after the weekend and I can see that the algorithm keeps spreading across the Internet like crazy. After Google shared their code on Github, people start using it. It is not easy though. It is a Python code and has many dependencies. Some libraries must be installed. So even if using it does not require in-depth knowledge about programming or neural networks, this is not just an application that we could download and launch.

I've spent today evening trying to set this up on my Windows, but I didn't succeed. I can see that people on reddit try to run this code as they discuss in Deepdream for non-programmers thread. It seems that at the moment noone found a simple solution to do it on Windows.

Someone managed to set it up as a web service at psychic-vr-lab.com/deepdream, but uploading images is no longer available. I guess the server was overloaded.

Some videos started appearing on YouTube - #deepdream.

It seems that "Deep Deam" with become the official name for this effect. Other candidate names were "Inceptionism" (proposed by Google engineers in their original blog post) and "Large Scale Deep Neural Net" (proposed by the studends form Ghent University, probably because of its acronym ;)

I'd like to be able to experiment with this algorithm to teach it recognizing (and generating) some other patterns. So far it usually just draws dog faces. I can imagine it would look cool if it draws some plants, leaves etc. or some abstract, geometrical patterns, like fractals.

Update 2015-07-07:

reddit.com/r/deepdream/ is the ultimate go-to page to stay up-to-date with the subject. See especially the first, pinned post for an introductory FAQ and a collection of important links.

Ryan Kennedy prepared a self-contained, virtual environment to run this software using Docker, but it's still not that easy to set it up.

Update 2015-07-09:

I finally managed to run the program, thanks to the Newbie Guide for Windows, based on VirtualBox and Vagrant. Still not without problems though.

Understanding Neural Networks Through Deep Visualization - an article offering nice overview of this algorithm.

Update 2015-07-14:

The pinned post on /r/deepdream lists more and more online services that offer processing of images into this specific style, full of dogs :) There is even a successful Indiegogo campaign to setup such server - DreamDeeply.

Its "Tips & Tools" section also links to some description and illustration of specific layers, as well as deepdreamer - a tool for configuring the dreaming script.

DeepDream Group has been created on Facebook and it is very active.

I think that the ultimate solution would be to create a standalone application or a Photoshop/GIMP plugin that would apply this effect to images, but it seems that speeding up these calculations to anything less than minutes or training own neural network with something else than dogs won't be easy. Here is some discussion on the latter.

Comments | #rendering #google #ai Share

Pages: 1

[Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2026