I built an MCP server to automate my ads If you want to peek at the code, here’s the GitHub repo: pipeboard-co/meta-ads-mcp. TL;DR Problem: I needed a programmable, repeatable workflow around Meta ads; the Ads Manager UI slowed me down. Approach: I prototyped scripts, then rebuilt everything as a Model Context Protocol (MCP) server so any AI client or dev tool could call it. Stack: MCP SDKs;…
Yves Junqueira is a software engineer who has been building systems and tools for the past 20 years. He is passionate about distributed systems, programming languages, and automation. Currently, he is working on building AI/LLM systems at Artell, his software consulting firm. He has a background in international relations and computer science and has worked at several companies, ranging from large…
Recently, Jeremy Mason and Sameer Ajmani wrote about the saga to make Go one of Google’s internal languages. Go is currently the 8th most popular programming language in the world and it is still growing, so people are interested to learn about the early days and how we got here. I thought I would write about the perspective of an SRE, framework developer and early adopter. All information…
I contributed to Wikipedia in its early days. It’s incredible that after so many years of contributions from so many people, there are still many, many areas where articles could be massively improved. See the one about Startup companies. As of December 2018, it’s still weird. This surprised me. In those idealistic years of the early 2000s, I was sure that by now almost all knowledge…
It’s hard to debug problems in eBPF programs. When everything fails, there is a last-resort: use bpf_trace_printk. bpf_trace_printk can be used as such: p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #93c836; background-color: #272822} span.s1 {font-variant-ligatures: no-common-ligatures} bpf_trace_printk(“fname %s\\n”, valp->fname); The double-escaped \\n is…
Open-source is magical. When I wrote my distributed hash table library back in 2012, I just wanted to write something cool that made computers talk to each other efficiently at a very large scale. Since publishing it, the library has been used by botnets, has a source code evolution video and was used by someone’s Bachelor thesis in Switzerland. And today I found out that computer scientists…
I’ve been using Bazel to developing on a Mac. Occasionally I need to test docker images that are built with the amazing rules_docker. But running anything inside docker on OSX is really painfully slow. And Bazel builds need to read a ton of files, so things can take forever. I don’t think there’s a definitive answer for that other than avoiding the combination of OSX+docker, but…
Scaleway offers reasonably priced dedicated servers that are now even cheaper than Hetzner’s robo market. I wanted to use them for doing Ansible tests using Vagrant. The problem is you can’t easily install VirtualBox there, and it’s needed for Vagrant to work. Here’s a script that should do most of the work for you: #!/bin/bash # Expects Ubuntu 16.06 (xenial) and kernel…
I’ve built something called stardew.farm. It helps Stardew Valley players to share screenshots of their pretty farms. It’s a bunch of open-source software written in Go. A Windows client watches the player’s save files and uploads them to a RabbitMQ server whenever the game saves state (once a day in the game). Then there’s a Go program that parses every new save game and…
I predict that sync.Pool, an upcoming Go 1.3 feature, will be everywhere. Everyone will know how to use it and will change their existing programs to use it. sync.Pool is a nice way to save allocations. In one example, I’ve replaced the buffer in bencode-go (used by Taipei Torrent) with a sync.Pool and it lead to massive savings in allocations. And the resulting code isn’t ugly.…
Dear Internet, whenever you’re setting up a high-performance TCP or specially a UDP server on Linux, don’t be stupid like me, and do remember to pay attention to connection tracking on your server. What is connection tracking? Connection tracking is normally used by Linux for certain firewall rules, like those that depend on connection state such as NEW, ESTABLISHED, RELATED, etc. Even…
I’m a happy consumer of Internet services. Besides buying products from Amazon, iTunes, Google and other giants, I also subscribe to a bunch of small service providers that prove their competence and respect for consumers. It’s only fair that I give them some praise and recommend their services to whoever might find this post. rsync.net is a remote storage site that provides flexible…
this post may be useful to people out there trying to read on a Kindle the O’Reilly books they acquired from the Android Market O’Reilly is a competent, decent and not-evil publisher of technical books. They know that DRM only causes pain to good costumers, because bad customers will find other ways to access/steal their books. I therefore feel respected as a customer and retribute by…
I bought an HTC Magic a few weeks ago. One of the its coolest thing is the sheer number of apps in the Android Market. There are actually too many and finding the good ones requires lots of searching and testing. These are the ones I use the most so far: - Wapedia, which greatly optimizes the wikipedia display for mobile devices. - Pixelpipe, to upload media to Flickr easily.
Last October I set an Ubuntu desktop for Carla’s family. We live very far away from them, so it was important that their system was resilient, otherwise it wouldn’t last long. They are all beginners in this internet thing, so installing Windows for them would have been a bad idea. And I was right. Things ran pretty smoothly, we talked via Skype very often, with no signs of virus or…
I’m still trying to learn C++ by fixing bugs. Well, the bug I wanted to fix in Ekiga had already being solved upstream (should I be happy or sad?), but I had fun trying to debug it anyway. Luckily I found another one to fix today. After 1h30m playing around with gdb and adding debug messages everywhere, I fixed a bug in Gnote where preferences were not being set unless you restarted the…
I’ve been trying to learn C++ lately. I read a few chapters of a few books, but I got tired of just reading so now I am trying to fix bugs in free software out there. The first step was to install Ubuntu on the Macbook Pro that I use. Second step was to find useful software written in C++ that needs small bugs fixing. First I tried to fix a bug in gnote, but I wasn’t persistent enough…
I’m ashamed of how naïve and ignorant I stand regarding Python stuff. At least this time, I’ve learned a great lesson about object identities, references and sizes. Hopefully you won’t make the same mistake as I did. Here’s what I wanted to do: write an in-memory simplistic log keeper for my application, that would be used as a poor man’s brute force protection. The…
When configuring networking on VirtualBox for Mac OS X, I got stuck because it didn’t give me the option to use the “Host Interface” option with my ppp0 connection. The ppp0 connection is my “dial-up” Internet connection using a 3G USB modem. The solution is so obvious, that I’m surprised I couldn’t think of it before finding this post on the VirtualBox…
The TurboGears documentation only mentions this en passant. It’s easy to change the default locale (language) of your TG application. In your project/controllers.py, in you can add: def locale_pt(): return ‘pt’ turbogears.config.update({‘i18n.get_locale’ : locale_pt}) I have this in the top namespace of my controllers.py file, not inside the Root class. I’m not…
Group passwords is a sort of obscure feature most people don’t use. It is safer *not* to have passwords set for groups. By setting a password to a group, you allow an arbitrary users to be part of that group as long as they know the password. That generally doesn’t make any sense unless you need to grant a shell user temporary access to a certain group. I don’t even know if it…
“Release Soon, Release Often”. Com esse mantra na cabeça, estou disponibilizando o Suriproxy, uma ferramenta anti-spam e, principalmente, anti-phishing. O suriproxy é um PROXY SMTPD para o Postfix, que filtra as mensagens recebidas pelo daemon smtpd e repassa a outro daemon, seja um amavis ou outro smtpd do postfix. Ele faz consultas URIBL de DNS quando encontra algum link nas…
Aparentemente, acompanhando o blog do Sipaq e o tracking bug da release 0.3a1, a nova versão pública está próxima. Na versão atual, o Sunbird tem muitos bugs sérios, que atrapalham a integração com serviços WebDAV. No meu caso, o Mozilla Calendar é item estratégico no projeto de migração de uma plataforma Microsoft Exchange. Sem um sistema de calendário robusto, é impossível deixar de usar o combo…
English O Google irá lançar o Google Talk amanhã, mas você já pode se conectar. Basta usar um cliente Jabber completo, como o Gaim ou Exodus. Download do Gaim Download do Exodus Os dados que voce precisa são: Servidor: talk.google.com Porta: 5222 Usuario: seugmail@gmail.com (com domínio) Senha: sua senha do gmail Boa sorte!! :-)
Google will launch tomorrow its instant messaging service. You can connect to it using any Jabber full client for Windows, like Gaim or Exodus (I could not make it work with Miranda, a great client). You need to setup the following: Server: talk.google.com User: youremail@gmail.com (with the domain part) password: yourpass port 5222 Add me if you want :-) yves.junqueira@gmail.com
http://www.cetico.org/cacic/cacic-agente-linux-1.0rc1.tar.gz Essa é a versão 1.0RC1 do agente para Linux. Acredito que ela está praticamente pronta para ser disponibilizada publicamente - por isso é o Release Candidate 1. Algumas mudanças dessa pra última, são: - Criado script de instalação “install.sh” (não serve para atualização, apenas para a primeira instalação). - Melhor…
To delete print jobs in cups in a Linux system you should use this command: # lprm Or, to cancel all jobs: # lprm - Archived Comments If you have high CPU usage on your mac, and the cu… Anonymous - May 5, 2009 If you have high CPU usage on your mac, and the culprit is the “socket” process, “lprm -” fixes it! From comments I read on the web and my own experience, it…
[2005/06/15 20:33:36, 0] tdb/tdbutil.c:tdb_log(531) tdb(/var/cache/samba/printing.tdb): rec_free_read bad magic 0x0 at offset=21104 If you find something like this in your logs, and you can’t print, just remove the file and restart samba. Visit my sponsors if you find this information and their ads useful hehe. Archived Comments Worked for me. Anonymous - Aug 2, 2006 Worked for me. Worked…
For the record. Jun 8 14:57:50 rinetd[21939]: accept(0): Socket operation on non-socket I had this syslog message filling my hard disk due to a configuration problem of rinetd. I was setting it to list in a IP address which was not set to the network interfaces. I usually setup many IP’s for external interfaces in a host. I had disabled a certain IP for some time (ip addr del ..) and rinetd…
Estou desenvolvendo uma ferramenta para análise de logs do Postfix. O PF-Graph, além de gerar relatórios com base em remetentes ou destinatários (incluíndo busca por domínios), cria gráficos coloridos sobre o status do serviço. Veja abaixo algumas screenshots: Entre os recursos do PF-Graph, incluem-se: - Capacidade de auditar todas as mensagens recebidas e enviadas em um ou mais servidor de…
If you get this error in blogger, even if you are using blogspot.com, not FTP: 004 dk.eos.net.FtpError: Login incorrect. You can fix it by cleaning your browser cache, or just using a different browser temporarily (ie <-> firefox). Archived Comments hey thanks! i had the exact same problem as rainer… mOe - Sep 3, 2005 hey thanks! i had the exact same problem as rainer and was ready to pull…
HOW TO RESET WINDOWS TERMINAL SERVICES 3 MONTH TRIAL Warning: greyhat content. Thanks to a Microsoft article, I’ve found out that it is very easy to extend your Windows Terminal Services 3-month trial or experience time. It’s so easy that I’m sure many administrators have done this in their own systems, while waiting for their managers or financial staff to buy the definitive…
Great. As GoDaddy’s prices are so low, I’ve decided to pay for a web hosting (so cheap!) and host this blog there. Unfortunately I’ve lost my old site’s layout, so I’ll have to start that from stratch. Argh. It’s so painful to draw web sites. I’ll see if Macromedia can give me hand (Fireworks, Dreamweaver, etc). Archived Comments Hello, as you may already…
Hi. Some fellows from nagios-users list have requested more information about my solution to integrate nagios 2.0 with mysql, so here it is. Since nagios 2.0 doesn’t have built-in support for mysql, we have to find another way to integrate this software with a custom interface that reads a database. A way to do that is to use service performance data (service_perfdata). You’ll need to…
Monitorar o status de serviços e servidores de TI é uma tarefa complexa, mas bastante importante. Para um administrador - pelo menos para mim - ser o último a saber que um serviço saiu do ar é extremamente constrangedor. Com essa preocupação, planejei um sistema de monitoramento de serviços que fosse confiável e flexível. O primeiro desafio, entretanto, seria adaptar a feia interface do Nagios a…
Batman Begins, the next movie about Batman to be released soon, was directed by Christopher Nolan, the director of Memento, which was a really great movie, and Insomnia. Although it can be better than those terrible prequels, we shouldn’t not expect the quality of Tim Burton’s now classics Batman and Batman Returns. Archived Comments This seems quaint now, having watched both Batman…
Do you have a digital camera, or anyway want to host many pictures in the web, but can’t afford to pay for the bandwidth that would usually cost? Free images hosting services are here to help us on that. To the be quick, imageshack.us and bighosting.net are the best services. Tinypic.com is ok, but it’s basically a bootlagged version of the first ones. There is also strike9.com and…
It’s quite simple: google for “hydracefallus”. It’s a unique, misspelled word that only seems to appear in that book(and now in this blog). Obviously, downloading that book without paying is illegal, yet it’s ironic that “Google Hacks” teaches just that kind of tricks. Many would agree that book should be also labeled “how to find pirated or…
Se o exploit que acabo de ver publicado não é fake (ver nota abaixo), o Pai Dinah aqui prevê um worm que vai pegar os servidores win2k não atualizados. O código foi publicado em http://www.k-otik.com/exploits/20041231.ZUC-WINShit.c.php e recebeu a descrição “ZUCWins 0.1 - Wins 2000 remote root exploit”. Admins competentes nem precisarão verificar seus servidores rodando WINS, já que…
O gmail trouxe uma nova realidade pro meu cotidiano. Pude assinar diversas listas interessantes, que eu nunca podia passinar pela dificuldade de guardar as mensagens - e de organizá-las. O resultado é que o tráfego de mensagens que agora recebo diariamente é enorme. Da maioria, como nas mensagens da bugtraq, leio apenas os assuntos. No final das contas, passo muito mais tempo lendo e-mails do que…
Como diria o Raulzito, “Acabei de dar um check up na situação o que me levou a reler Alice no País das Maravilhas”. Ou melhor, Alice in Wonderland, ricamente ilustrado. Não sei se o Raul viajava com coisas místicas sobre esse livro. A única coisa que sei é que o país das maravilhas é um universo surreal e ilógico, e por isso os comedores de ácido e outras drogas alucinógenas tratavam…
I had troubles making the web interface in ubuntu 4.10 work. Whatever I set in cupsd.conf, I had an access denied message: UnauthorizedAdministrative commands are disabled in the web interface for security reasons. Please use the GNOME CUPS manager (Computer > System configuration > Printing). In /var/log/auth.log the following message appeared: Dez 17 13:05:34 localhost cupsd: (pam_unix)…
O carrasco do IE, mais conhecido como Liu Die Yu, da malware.com, quebrou mais uma vez um item de “segurança” do IE. Dessa vez foi a proteção de popup’s do SP2. Na mesma latada, a proteção da barra do MSN também parou de funcionar. A falha foi publicada há pouco na bugtraq, contendo um link para o teste: http://www.malware.com/flopup.html Êta povo porreta. O Liu Die Yu é um…
I am making a pair of postfix (and related) tools in perl that could be useful for some people, in some cases. One is a “SURBL” technique filter to be plugged into amavis, that will check for spamvertised URI’s against a “SURBL” server. It acts as an antivirus, checking for the content of the message. If it’s configuerd for denial, it could lead to false…
I’ve subscribed a few weeks ago to the Wikipedia daily articles list. It’s a nice way to relax and have a good reading, while taking courage to read all those bugtraq or postfix-users messages.
David Martínez was kind enough to put up a repository of MySQL 4 and further dependencies compiled for FC2. http://dmnet.bitacoras.com/index.php?tb=2680 You may get the files directly from: http://yum.garsan.ws/fedora/2/RPMS/RPMS.dmnet/ These packages fixed a very ugly behaviour I was getting with my mixed mysql lib’s. Every time I ran a perl with a MySQL DBI, it ended with Segmentaion…