ChatGPT × Stack Overflow as coding assistant

There is this study (arXiv:2308.02312v3) about ChatGPT as a software coding assistant when compared to Stack Overflow. I write code every day and although I have used ChatGPT in the past for this purpose, I have a bias towards believing that humans answering on Stack Overflow would be better. Apparently the study findings below confirm my beliefs. But maybe, just maybe, LLM tools can be specialized or improved to be better than the amazing Stack Overflow. Anyway, I would never rely on LLM for a complete app refactor or overall design, since it requires architectural knowledge, real life experience, lessons learned, context around and strategic vision, multidisciplinary features of grown up, real, human, experienced software engineers.

The findings:

Read More

O pior dos dois mundos

Na década de 2010 o mundo corporativo começou a fazer um tradeoff.

Agora que todos os clientes e funcionários tinham um smartphone nas mãos, tornou-se imperativo uma transformação digital. A troca (tradeoff) foi abrir mão de infraestrutura muito controlada, mais barata e também burocrática do departamento de TI interno de suas empresas, numa corrida desenfreada para infra mais ágil, programável, self-service, elástica e também mais cara nas nuvens.

Barato, controlado e burocrático ➔ Ágil, self-service e caro. Este foi o tradeoff, onde cada lado tem suas vantagens e desvantagens.

Na nova década, com as nuvens se tornando o novo normal, chega o departamento de TI para “botar ordem nessa bagunça”.

Com os velhos argumentos de “segurança da informação”, “gerência de mudança”, “controle de custos” e outros, re-implantam suas montanhas de processos morosos numa infra jovem para assim chegarmos no pior dos dois mundos: burocrático, processos lentos, excessivamente controlado e bem caro, numa modalidade elástica.

A única coisa morosa eliminada foi o recorrente ciclo de negociações para comprar infra (equipamentos, energia, software). Antes se fazia meio que no atacado com muito desconto. Agora, na era das nuvens, é no varejo, a um clique de distância, com preço tabelado e praticamente inegociável.

Não era nada disso o que queríamos.

O investimento certo tem que ser feito em boa arquitetura de aplicações, e menos em controle de infraestrutura. Aplicações que nascem bem concebidas e bem desenvolvidas ganhariam o mérito de ir para a produção mais rapidamente, com mais frequência, com menos burocracia, menos controle.

Mas como as aplicações nascem com baixíssima qualidade, sem padrões nem boas práticas, sem arquitetura nenhuma, coladas com grampo e chiclete e na base da marretada, times de infraestrutura precisam aumentar o controle e burocracia lançando mão dos velhos chavões de “segurança da informação”, “gerência de mudança”, “controle de custos”. O resultado é que times de desenvolvimento de produtos e software ficam com acesso limitado a ferramentas novas ou simplesmente às certas, o que aumenta a necessidade de fazerem gambiarras. E a bola de neve vai aumentando.

Não era nada disso o que queríamos.

Semana de Trabalho de 4 Dias

Semana de Trabalho de 4 Dias

Semana de 4 dias é o primeríssimo item numa lista de benefícios que empresas prontas para isso lançam mão para atrair profissionais. E eu acho curioso e muito pertinente que no mercado de trabalho high tech, o segundo item que listam é “Equipamento Apple”.

Veja também este podcast da Folha que disseca mais o assunto num momento em que 400 empresas brasileiras se inscreveram para entrar num piloto da ONG Four Day Week:

Também no meu LinkedIn.

Os 10 trabalhos com maior potencial de crescimento

Os 10 trabalhos com maior potencial de crescimento

Os 10 trabalhos com maior potencial de crescimento, segundo o Fórum Econômico Mundial:

1️⃣ Especialista em inteligência artificial e em aprendizado de máquina
2️⃣ Especialista em sustentabilidade ambiental
3️⃣ Analista de «Business Intelligence»
4️⃣ Analista de segurança da informação
5️⃣ Engenheiro Fintech
6️⃣ Analista de dados e cientista de dados
7️⃣ Engenheiro de robótica
8️⃣ Especialista em Big Data
9️⃣ Operador de equipamento agrícola
🔟 Especialista em transformação digital

Read More
Handling Inbox spam

Handling Inbox spam

I’m a serial unsubscriber — absolutely ruthless when it comes to keeping my inbox in order. If I get a new ad or newsletter on my inbox I immediately scroll to the end of it to click on the tiny “unsubscribe” link. I admit I have great pleasure doing this without even seeing the ad.

Read More
My time on the IBM Linux Impact Team, and legacy

My time on the IBM Linux Impact Team, and legacy

In this extensive article, Jon “MadDog” delves into the behind-the-scenes narrative of how Linux and Open Source gained acceptance within the corporate sphere, eventually establishing itself as the dominant platform in today’s enterprise information technology. It has become the operating system powering contemporary cloud infrastructure and, most notably, has transformed into the primary methodology for driving software innovation.

Read More

Story of the first digital computers

The story of the first digital computers, since a phenomenon observed in Edison’s light bulb, through 2 bit logic operations, through triodes and vacuum tubes, up to the ENIAC, capable of doing astonishing 500 math operations per second, and running without failure for a maximum of 116 hours.

As a matter of comparison, your smartphone can do almost one trillion math operations per second with just a tiny fraction of the required energy. Your smartphone is 2 billion times faster than the first, commercial large and expensive digital computers of the 1940’s.

Veritasium nailed it again.

Also on my LinkedIn.

Chatbots de auto-atendimento 🥱

O dilema dos chatbots que empresas disponibilizam em seus canais de atendimento é que eles são só mais uma UI (user interface). Como é o app. Como é o site da empresa.

Se o usuário não encontrou a função que precisa no site ou no app, também não vai encontrar no chatbot 100% das vezes que procurar.

O desafio dos chatbots continua sendo integração dos sistemas por trás, que é o maior desafio de qualquer empresa que quer se informatizar, desde quando o computador entrou no mundo corporativo.

Então se sua última tentativa para resolver um problema é entrar no chat ou ligar no call center da empresa, pode já ir direto pedindo prá falar com ser humano. Pois estes nunca falham.

LinkedIn e Facebook.

LinkedIn Inferences About You

Export all your LinkedIn data (on computer, select Me ➔ Settings & Privacy ➔ Data Privacy ➔ Get a copy of your data ➔ Larger data archive) and then check the Inferences_about_you.csv file.

As the file name says, it is how LinkedIn AI models see you. Do you have career stability? Are you in the early stages of your career? Are you a people or senior leader? Business owner?

These classifications are certainly used by recruiters to search for people. And you should use it to check if there are things you must change in your profile.

UPDATE: LinkedIn apparently isn’t providing this information anymore. It was being provided until a few days before my post.

Also on my LinkedIn.

Data Scientists should develop their software engineering skills

Yes, Data Scientists should develop their software engineering skills. Let me react to a LinkedIn post by Neil Leiser.

But Data Scientists can’t do it alone, or by themselves. Read on.

I see that software engineering, IT architecture is a touchy subject amongst even the best data scientists, usually because they came from other knowledge domains as economy, statistics, pure math, physics, biology etc. This is a normal evolution. Data Science demands a wide broad skill set, sometimes too wide and too broad. Data Scientists need to handle Docker and HTTP APIs along with outliers, RMSE, ROC curves and Gaussian distributions. Go figure…

ML engineers — usually folks that have more software engineering background — should help here.

But the most important thing ➔ it is the mission of the CDO, tech lead or CTO with strategic vision to clearly detect these gaps and design a roadmap to handle them, not just with conventional training but also encouraging mixed squads whose members will exchange skills and knowledge, leveraging multi-disciplinar environments where everybody grows together.

Related posts:

Also on my LinkedIn.

Melhorias para o Pix do BaCen

O Banco Central do Brasil acertou em cheio com o Pix, inovação bancária digna de ser copiada por qualquer BC do mundo. Mas ainda acho o Pix bem burocrático de ser usado. Vejo que ele é um sucesso porque era algo muitíssimo desejado, não por ter boa usabilidade nem por promover boas práticas. Minha veia de designer de aplicações não pode deixar de sugerir algumas melhorias que poderiam ser feitas numa próxima revisão, especialmente em relação a usabilidade.

Read More

GPT me

This is what GPT “knows” about me. More precisely, this is the sequence of words GPT generates when asked with that specific prompt.

First paragraph is 100% correct.

Second is kind of 50% (in)correct and outdated. I do Fedora, not Debian nor Ubuntu, I’ve contributed to several FOSS projects, but never to Apache HTTPD, and I did work for IBM, but never to Red Hat.

Third paragraph he completely confused me with one of my relatives that have same last name but different first name.

Also, I think GPT would have a different perspective about me if blog posts in social media, such as Facebook, would be part of its training dataset. But it can’t because Meta won’t allow open access to their platform even if I post openly there.

Also on my LinkedIn.

Clouds are super expensive

While clouds are the natural go-to choice for an early-stage startup, staying 100% in clouds with substantial infrastructure may sink a company as it and its infrastructure grow.

This study shows that the monthly infrastructure cost of clouds would be more than 10 times higher than a collocation with self-designed infrastructure. Not to mention the taylor-made possibilities.

Your CTOs and tech leaders must provide clever ways to use public clouds, avoiding their typical lock-ins, so you can leave [and reduce vast amounts of infrastructure costs] whenever you may need.

Benefits of public clouds are flexibility and agility, not costs.

Also in my LinkedIn.

iPadOS external display support

With the release of iPadOS 16.2 last December, M1-powered devices can now be used as more beefed up terminals, complete with external physical keyboard, mouse/trackpad and extended screen that can display content and apps different from the main iPad screen (as shows the photo).

iPadOS 16.2 external display, keyboard and mouse

Minimum device that supports this is the iPad Air 5th generation (2022) which already features an USB-C port instead of lightning. Then, on this port, you can plug a dongle with HDMI output, power source and more USB ports to connect your human interaction devices. Or connect them through Bluetooth.

This opens the possibility for road warriors to have an even lighter and inexpensive terminal with the iPad, instead of a regular (and problematic) laptop. Then, when at home or office, they can dock it to KVM (keyboard, video, mouse) to experience a more productive workstation.

And yes, I know Android phones can do similar things since long ago. But it doesn’t get widespread or even real until this feature lands on the popular iPad.

Also on my LinkedIn

Command Line in Windows

Command Line in Windows

Command line on Windows (10+) nowadays doesn’t have to be only PuTTY to a remote Linux machine. In fact many Linux concepts were incorporated on Windows.

Windows Subsystem for Linux

First, activate WSL. Since I enjoy using Fedora, and not Ubuntu, this guide by Jonathan Bowman has helped me to set WSL exactly as I like.

Windows native SSH clients

Yes, it has tools from OpenSSH, such as the plain ssh client, ssh-agent and others. No need for PutTTY.

This guide by Chris Hastie explains how to activate SSH Agent with your private key. I’m not sure it is fairly complete, since I didn’t test yet if it adds your key in session startup for a complete password-less experience. I’m still trying.

Windows Terminal

The old command prompt is very limited, as we know, and obsolete. Luckily, Microsoft has released a new, much improved, Terminal application that can be installed from the Store.

Command Line in Windows

It allows defining sessions with custom commands as ‘wsl‘ (to get into the Fedora WSL container installed above), ‘cmd‘, ‘ssh‘. I use tmux in all Linux computers that I connect, so my default access command is:

ssh -l USERNAME -A -t HOSTNAME "tmux new-session -s default -n default -P -A -D"

Windows Terminal app is highly customizable, with colors and icons. And this repo by Mark Badolato contains a great number of terminal color schemes. Select a few from the windowsterminal folder and paste their JSON snippet into the file %HOME%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json.

Data Scientist × Data Analyst

Analysts inform, explain and visualize DATA THAT EXISTS in order to help business executives make strategic decisions. Thus, data analysts live in business meetings, talk to a lot of people and create data visualizations to help others understand what is going on. Tools: SQL, BI, spreadsheets, PowerPoint.

Scientists infer and calculate INFORMATION THAT STILL DOESN’T EXIST, such as the future, usually in order to optimize each and every business transaction. Example: if you like this one product, you might also like that other product. Example: according to data from surroundings, this house price should be around $X. Example: I learned how cars look like, so there is 98% chance there is a car in this photo. Thus, they create or improve digital products using machine learning and applied statistics. To create such improved user experiences, first data scientists use advanced exploratory data analysis techniques, create data visualization only for themselves, only for their better comprehension of what is going on. Tools: SQL, Pandas, math and statistics, git, programing, containers, Linux.

Data analysts tend to have a more glamorous job, while data scientists job is more hard skills oriented. Both need to work with large amounts of information, such as tables with millions or billions of data points.

There is also the Data Engineer role, which is as important as these other data professions, and focused on data availability, consistency and performance.

Inspired by Gerson Lerner’s post, I thought I should give my take on the subject too.

https://www.linkedin.com/posts/avibrazil_datascientist-dataanalyst-data-activity-7006727421861224448-9bt0

Ad Guard bloqueador de propaganda

Em todos os meus navegadores, celular e laptop, eu uso o Ad Guard para me livrar de propagandas e rastreadores indesejados. Ele também elimina popups e paywalls de vários sites. Já usei diversos outros ad blockers e este achei o melhor. A internet fica muito mais leve com ele. Ninguém me pagou para falar nada disso; recomendo porque acho muito eficiente e essencial.

https://m.facebook.com/story.php?story_fbid=pfbid0ELc1aK9XytmvL4xpU8KkhFnNYoTyK5RCNnDKvJBrxCDfGeYsSmyWyjgdKvR8142Tl&id=543888243

Filtre propagandas do Uber

Na app do Uber, vá em 👤Conta ➔ ⚙️Ajustes ➔ 🟡Privacidade ➔ 🔴Notificações e deixe só o último ligado.

Assim você pára de receber as propagandas irritantes deles, só recebe as notificações de suas corridas.

Repare que a função mais importante para o usuário é a última da lista. E as 3 primeiras são só as bobagens dispensáveis deles. Depois é “usuário em primeiro lugar”. Sei.

Biometria facial nos aeroportos

Por que o Serpro e os Aeroportos do Brasil adotaram biometria facial ao invés de leitor de dedo?

Porque o leitor de dedo, como sabemos, é anti-higiênico, dissemina doenças e fluidos indesejados. E porque o seu rosto é a informação mais pública que você possui. É como se houvesse alguém com memória facial infinita reconhecendo pessoas na fila, só de olhar para elas.

Além do mais:

[…] os viajantes poderão optar entre o sistema [biométrico] e os procedimentos tradicionais de check-in e embarque, que continuam disponíveis.

Não sei vocês, mas eu jamais registro ou uso meus dedos em catraca de prédio comercial. Da perspectiva de segurança da informação aquilo é um engodo, além de ser bem nojento. A única excessão que faço é em governos e para documentos, por ser situação não-banal e que se faz uma única vez.

https://www1.folha.uol.com.br/mercado/2022/08/como-funciona-a-ponte-aerea-com-embarque-biometrico-entre-rio-e-sao-paulo.shtml

Publicado também no Facebook e no LinkedIn.

5G Download Speed

5G download speed at home in São Paulo today. 420 megabits per second (mbps), equivalent to 52 megabytes per second.

It means that it takes about 10 seconds to download 1 hour of hi-fi music without any compression. But since compression is everywhere, just 2 seconds will be enough.

Upload speed gives me 10 mbps. Pretty good, though we know this is probably not for long.

What 4G, 5G speeds do you get and where?

Also in my LinkedIn