2023 - o ano do Linux no desktop
1 de Janeiro de 2023, 21:50 - sem comentários aindaRenovando meus votos pra 2023.
Joomla 4
27 de Dezembro de 2022, 17:59 - sem comentários aindaE finalmente tomei coragem pra passar o dia fazendo o upgrade do site pro Joomla 4. As coisas ainda não estão 100% redondas, mas estou corrigindo aos poucos.
O importante é que sai do joomla3, que está em pra parar de receber updates já no ano que vem.
Agora é caçar ou um tema escuro pra site ou modificar esse aqui mesmo pra ficar marotamente escuro. Dark mode rules!
Update: missão cumprida! Site atualizado com a extensão DarkMagic: https://github.com/nikosdion/DarkMagic/releases/tag/2.1.0
pycurl no MacOS
16 de Dezembro de 2022, 17:22 - sem comentários aindaTive de trabalhar nessa semana com um caso que me exigiu usar o pycurl no Python. O problema foi que escrevi um script que rodava baixando artefatos de build no Jenkins usando o módulo requests, e o mesmo não funcionava mais no Gitlab.
Depois de gastar um pouco de tempo no request
, e usando o curl
do exemplo do site do Gitlab, eu acabei desistindo e indo pra usar o pycurl
no script. De cara descobri que não tinha pycurl
instalado. E no MacOS não foi tão simples como poderia ter sido. A receita de bolo pra instalar o pycurl foi a seguinte sequência:
helio@MacOS> arch -arm64 brew install openssl curl helio@MacOS> export PATH=/opt/homebrew/opt/curl/bin:$PATH helio@MacOS> export LDFLAGS="-L/opt/homebrew/opt/curl/lib":$LDFLAGS helio@MacOS> export CPPFLAGS="-I/opt/homebrew/opt/curl/include":$CPPFLAGS helio@MacOS> arch -arm64 pip install --no-cache-dir --compile --ignore-installed --install-option="--with-openssl" --install-option="--openssl-dir=/opt/homebrew/Cellar/openssl@3/3.0.7" pycurl
Quando algo funciona em curl
é fácil escrever o código em python. Basta rodar com o parâmetro --libcurl foo.c
que ele joga o código em funcionou dentro do arquivo.c no formato pra linguagem C, mas é bem próximo do uso em python.
hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L); curl_easy_setopt(hnd, CURLOPT_URL, "https://gitlab.[redacted]/api/v4/projects/[redacted]/jobs/[redacted]/artifacts"); curl_easy_setopt(hnd, CURLOPT_NOPROGRESS, 1L); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, slist1); curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.86.0"); curl_easy_setopt(hnd, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L); curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, (long)CURL_HTTP_VERSION_2TLS); curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L); curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
Em python:
url = "https://gitlab.[redacted]/api/v4/projects/[redacted]/jobs/[redacted]/artifacts" buffer = BytesIO() c = pycurl.Curl() c.setopt(c.URL, url) c.setopt(c.BUFFERSIZE, 102400) c.setopt(c.NOPROGRESS, 1) if GITLAB_PRIVATE_TOKEN: c.setopt(c.HTTPHEADER, [ "PRIVATE-TOKEN:" + GITLAB_PRIVATE_TOKEN ]) else: c.setopt(c.HTTPHEADER, [ USERNAME + ":" + PASSWORD]) c.setopt(c.USERAGENT, "curl/7.84.0") c.setopt(c.FOLLOWLOCATION, 1) c.setopt(c.HTTP_VERSION, c.CURL_HTTP_VERSION_2TLS) c.setopt(c.TCP_KEEPALIVE, 1) c.setopt(c.WRITEDATA, buffer) c.perform() c.close()
E assim o código saiu funcionando.
E rodando com PHP8.1
9 de Dezembro de 2022, 10:37 - sem comentários aindaDepois de mais de um ano recebendo avisos de que o PHP7.4 do Debian stable estava desatualizado e seu suporte iria terminar, eu finalmente segui uma receita de bolo pra atualizar pro PHP8.1.
https://computingforgeeks.com/how-to-install-php-on-debian-linux-2/
Eu achei que seria bem mais complicado.
Ele recomenda um repositório aleatório de um site https://packages.sury.org que achei um tanto... suspeito.
Mas dando uma olhada no site, é do próprio mantenedor dos pacotes PHP no Debian. E foi realmente um mamão com açúcar. Depois do apt update
ele já reconheceu que haviam pacotes para atualizar e um apt dist-upgrade -y -m
fez o resto. E saiu funcionando.
O restante foi selecionar o módulo no apache com a2enmod php8.1 e desabilitar o antigo com
a2dismod php7.4
e finalmente reiniciar o próprio apache com systemctl restart apache2
e pronto.
Minha canção gerada por OpenAI
9 de Dezembro de 2022, 9:48 - sem comentários aindaApós um almoço no restaurante próximo da firma, na raras visitas que faço por lá, enquanto comiamos a famosa panqueca de quinta-feira, uma colega começou a conversar sobre o novo chat bot de OpenAI que tomou corações e posts do Mastodon, ChatGPT.
Hoje ela me enviou uma canção gerada pelo bot.
"Helio, Helio, the Linux lover He knows Kubernetes like no other Prometheus, Design Rules, he's got them down Windows? He'd rather not mess around
With his skills in Python and Linux, too Helio can make any project come true He's a developer with a passion for all things open source And when it comes to coding, he's always on the right course
So here's to you, Helio, the Linux and Python king You make the world of technology sing Keep up the great work, and never lose your love for all things open We're grateful for all the code you're sharing, and the knowledge you're hopen!"
Eu adorei, claro. Muito obrigado Teja!