If you encounter the above linking error with an ATmega328p and your code uses sprintf, set your LIBRARY_PATH or the linker argument -L to /usr/lib/avr/lib/avr5 instead of /usr/lib/avr/lib.
Author Archives: E Y
.vimrc
rg.exe is part of ripgrep.
Disabling Bluetooth auto-suspend with module options
In my previous post I showed how to restart Bluetooth on Debian Linux. Here, I explain how to disable Bluetooth auto-suspend with a kernel module option. Kernel modules can be passed parameters that affect how they work. The parameters that a module accepts can be discovered with modinfo. In the example below modinfo btusb displays […]
Restarting Bluetooth on Debian Linux
On my laptop I use a Bluetooth keyboard and a Bluetooth mouse. Occasionally the Bluetooth adapter in the laptop shuts off completely, which means that it is not even possible to restart the Bluetooth service with sudo systemctl restart bluetooth.service. My troubleshooting points to powersaving as the cause of this, but the TLP setting that […]
Centrino Ultimate N-6300 slow to connect to Wi-Fi network
Wi-Fi connections from my laptop became unstable after I upgraded it to Ubuntu 19.04. To get them to work, I had to turn the Wi-Fi adapter on and off several times, which quickly became annoying. The following attempts to fix the problem were unsuccessful: disabling IPv6 disabling power-saving on the Wi-Fi adapter setting bt_coex_active=0 during […]
SO #57225262—Inputting list of passwords in a class
Stack Overflow question ‘Inputting list of passwords in a class’ is more interesting as an object-oriented design (OOD) exercise than as a debugging exercise, but it also provides an opportunity to practise some Python programming. The requirements identified in the problem are: represent a set of credentials comprised of a username and a password; represent […]
Programming Arduino in Atmel Studio
As a fun way to improve my C, I started programming the Arduino using Atmel Studio instead of the friendlier Arduino IDE. Below is my very first program. It blinks a red LED and a white LED according to a preset pattern. #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> struct Led { int pin; int […]
Hacking SSL support into smtpop.dll
We use smtpop.dll in one of our applications to retrieve email from POP3 mailboxes. Today we had to connect to a mailbox over SSL, which smtpop.dll does not support. The code to retrieve email sits behind a façade, so I expected that it would be simple to replace smtpop.dll with another library and call the […]
Learning BASE64 encoding
BASE64 encoding is so prevalent that it is worth learning how it works and how to code your own implementation. The point of BASE64 is to communicate binary data as text, using only characters that are likely to exist on most computer platforms. These safe characters are known as the BASE64 alphabet and are the letters […]
How we use SQL Server Data Tools
This post describes the process that we use to develop databases with SQL Server Data Tools (SSDT) in Visual Studio. Conventions For this process to work, the conventions below must be followed. Use the live database as the gold standard for schema objects (and data). Deploy only database projects that have been built successfully. Deploy to a database that matches […]