Technologies like Copilot tell us two things: 1. How good AI is getting at reproducing and, in some way, abstracting patterns from a big corpus. GPT-3 and Copilot are stunning examples. 2. How much repetitive and empty of creativity most programming tasks are.
Because while spectacular, Copilot has nothing to do with solving tasks; it's just producing obvious boilerplate stuff for us: things that humans need to write following certain API specifications, googling for the missing bits from StackOverflow pages.
Like certain manual jobs, that should be executed by humans only for fun, and not 8 hours per 5 days to pay the bills (and I hope they will get fully automated soon), something similar is happening with programming.
Many of us are no longer, for most part, following the steps of Wozniak writing the floating point math routines for the 6502. Funny example, right? But I think it is one that clearly shows what I mean: creativity, skills, craftsmanship.
Every task Copilot can do for you is a task that should NOT be part of modern programming, and a signal that our industry is broken and that programmers are the new blue collars.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I wonder if the product team of Twitter agrees against the edit button, or there is a single (or just a few), very powerful person, saying "no" while others disagree (even just in their thoughts).
I say this because the public reasons against the edit button are weak. Tweets only need to be editable for a short time, they can be marked as edited, and if edited after the first like/reply an edit history could be attached, and shown if you click the "edited" label.
Moreover the idea that you can just read carefully your own tweets and avoid any error disregards all we know about how humans work. We tend to filter things we are sure are correct. I would be surprised if the "no edit" position is very widespread inside the Twitter HQ.
Folks, do you remember that I'm writing a sci-fi novel? Well, I'm almost done, in Italian. I did many (-many-) reviews, and I'm ready to work with an editor. However now I'm fully convinced that I can't translate it myself, I spent already an incredible amount of energy on it.
So I need an English (mother tongue) translator that translates sci-fi from Italian to English. I already tried to contact two different translators, I've the feeling that sci-fi is not something most translators are comfortable working with. Moreover I've *zero* credibility.
This is my first novel and I'm a computer programmer, many good translators only translate things of writers that have a story of successful novels, or they interface with a publisher (that I don't want to have, I'll self-publish my book).
A few words about the coronavirus for my dear followers. I'm in Italy right now and we are closed in our homes. We reached a very critical situation because, when it was time to act, the measures required looked too restrictive from the POV of western countries culture.
Unfortunately viruses spread regardless of what we think. The only way to stop the infection is to stay at home and to limit the contacts at every cost. The North of Italy has one of the most advanced health care of the world, yet at this point hospitals reached an hard limit.
Don't believe that this is just a flu that is a bit more severe. In Italy 8% of people in intense care units are between 20 and 49 years old. In certain hospitals the ICUs are already too busy and doctors are left having to choose who will survive based on the chances they have.
In programming there is always one point where the community splits in two, in one side people that appreciate very simple languages, and in the other people that are fascinated with the powerful languages full of abstractions.
In the past it was C vs C++, but now the same pattern applies to more modern languages. One of the reason is probably that languages that look very different give the illusion to be part of a caste of elite programmers that "get" what the others are missing.
However I think that there is a more deep meaning in all this. There are two levels of design in software. One is local: how a given function is written, certain ways you use to express a computation, and so forth. The other is more global.
I just merged SSL support into Redis unstable. This feature has an interesting story that I want to tell you. It was kinda of a "process" to reach the right solution, or at least a solution that looks a lot better than the alternatives.
Many wanted SSL in the past, however the first very serious effort at providing a concrete pull request that implemented SSL in all the channels, including Replication, Redis Sentinel, Redis Cluster, was from AWS. The work of two smart folks there.
Thanks to this work, we understood that to implement SSL just as a "minimal code change" effort was not going to work. SSL is very different from normal sockets, and has different assumptions, certain things are asynchronous where sockets are synchronous, N bytes may become M.
Redis threaded I/O small (sic) thread. So results confirmed, works great in the write side, I'll have to implement it in the read side as well. Using 4 threads it is simple to get 2x the performances of single-threaded Redis (even if yet the reading part is not threaded).
So, what's the idea here? Some people say that Redis should be threaded, a few created forks that are quite more complex. But the reality is that Redis uses a lot of time just in the reading/writing part (to the socket and in the client structure).
So... 1.5 years ago I started this project (first commit 2d546a79 is Oct 24 2017!) with this idea: Instead of making Redis threaded I just "fan out" to N threads once I need to write to (or read from) N clients.