Home on Federico Fuga https://studiofuga.com/ Recent content in Home on Federico Fuga Hugo -- gohugo.io it-it Tue, 22 Feb 2022 21:28:38 +0000 Minimalistic GUI on RPI4 https://studiofuga.com/blog/2025-02-19-minimal-gui-on-rpi/ Wed, 19 Feb 2025 13:36:57 +0100 https://studiofuga.com/blog/2025-02-19-minimal-gui-on-rpi/ A quick recipe on how to build a minimalistic GUI system on Raspberry 4 Home Assistante OS in a box https://studiofuga.com/blog/2024-10-10-homeassistantonabox/ Thu, 10 Oct 2024 21:56:12 +0200 https://studiofuga.com/blog/2024-10-10-homeassistantonabox/ Create a Home Assistant KVM on an headless Ubuntu Server From VmWare to KVM, in OpenSuSE https://studiofuga.com/blog/2024-10-05-fromvmwaretokvminopensuse/ Sat, 05 Oct 2024 18:35:47 +0200 https://studiofuga.com/blog/2024-10-05-fromvmwaretokvminopensuse/ Migrating from VmWare to KVM/QEMU may be a bit troubling. But it worth the try. Kernel Development with Clion https://studiofuga.com/blog/2024-08-13-clion-kernel-development/ Mon, 19 Aug 2024 21:35:03 +0200 https://studiofuga.com/blog/2024-08-13-clion-kernel-development/ In this article I&rsquo;ll explain how to solve a small but nasty issue I found while developing some kernel modification for arm using clion and a cross environment. Is your audio continuously switching from Headphone to speakers? https://studiofuga.com/blog/2023-10-30-alsa-audio-headphones/ Mon, 30 Oct 2023 11:55:00 +0100 https://studiofuga.com/blog/2023-10-30-alsa-audio-headphones/ If your audio card is continuously switching the output from headphones to speakers, making it impossible to use the sound, well, you are stumpled in a 9 years old bug that&rsquo;s still unfixed despite the solution is as simple as editing two lines of a text file. This happens at least on my mint desktop, that is a 12 years old Intel i7 3rd generation, with linux mint 21.1 cinnamon. The importance of Workspaces in Zephyr projects https://studiofuga.com/blog/2023-10-20-zephyr-workspaces/ Wed, 25 Oct 2023 15:50:00 +0200 https://studiofuga.com/blog/2023-10-20-zephyr-workspaces/ Using the correct structure for your workspace is essential when developing in Zephyr-rtos. Why and how you should modularize your cmake library https://studiofuga.com/blog/2023-06-20-why-you-should-modularize-your-cmake-library/ Tue, 20 Jun 2023 14:50:31 +0200 https://studiofuga.com/blog/2023-06-20-why-you-should-modularize-your-cmake-library/ How I explain why, and how, you should make your library available to the depoendent code using the cmake modules system. Docker https://studiofuga.com/notes/docker/ Mon, 29 May 2023 18:20:47 +0200 https://studiofuga.com/notes/docker/ Note sul funzionamento e uso di Docker Changing the firwmare of a MDK USB dongle to RCP https://studiofuga.com/blog/2023-05-19-changing-firmware-of-mdk-usb-dongle/ Fri, 19 May 2023 15:24:03 +0200 https://studiofuga.com/blog/2023-05-19-changing-firmware-of-mdk-usb-dongle/ I bought a nrf52840 MDK USB dongle and it comes with a NCP firwmare that doesn&rsquo;t fit with my border router. When Zephyr meets OpenThread https://studiofuga.com/blog/2023-04-28-zephyrandopenthread/ Thu, 27 Apr 2023 10:53:45 +0200 https://studiofuga.com/blog/2023-04-28-zephyrandopenthread/ We integrate OpenThread in a Zephyr app, and fix some issue with the Nordic hardware. How to workaround a FreeCAD and Krita bug with Wacom tablets https://studiofuga.com/blog/2023-04-20-qtwacombug/ Thu, 20 Apr 2023 21:30:09 +0200 https://studiofuga.com/blog/2023-04-20-qtwacombug/ A many years old bug affects Qt 5.12.4 and affects the production builds of Krita, FreeCAD and others Qt based app, preventing them to be used with Wacom Intuos tablets. Enabling the Audio on Linux on an iMac Retina 18,2 https://studiofuga.com/blog/2023-04-13-audioofimac181linux/ Thu, 13 Apr 2023 21:19:57 +0200 https://studiofuga.com/blog/2023-04-13-audioofimac181linux/ Introduction Recently I converted all my Apple Computer to Linux. I have been a Mac User since 2007, when I bought my first MacBookPro. At that time, using linux on office task like writing documents and performing dayly tasks was not very &ldquo;user friendly&rdquo; so I opted on a Apple + Linux solution (Linux on a Virtual Machine, or dual boot, or dual machine, whatever worked well for me). But since a few years, Apple became even more picky about what you can install on MacOS and ports/brew/whatever became difficult and error prone. Interrupts and Workqueues https://studiofuga.com/blog/2023-03-28-interrupts-workqueues/ Tue, 28 Mar 2023 10:25:28 +0200 https://studiofuga.com/blog/2023-03-28-interrupts-workqueues/ Introduction In this post I&rsquo;ll show how to enable interrupts for a GPIO and how to use workqueues to handle code that must be triggered when the interrupt occurs. You should spend as less time as possible in the interrupt context, to ensure the OS is always responsive and that other interrupts are not delayed. In RTOS, indeed, you must always consider which tasks (meaning &ldquo;things to do&rdquo; and not tasks in the concurrency terms) must be completed ASAP and which may be delayed for later. Threads, threads everywhere (in Zephyr, and in C++) https://studiofuga.com/blog/2023-03-21-threadseverywhere/ Tue, 21 Mar 2023 14:54:35 +0100 https://studiofuga.com/blog/2023-03-21-threadseverywhere/ In this tutorial I explain how to create threads in Zephyr. But first, let&rsquo;s switch to C++, it&rsquo;s easier and more clean. To enable C++ you need to specify one variable in the configuration: CPP=y. But since you may be instantiating your objects in the main() function, and C and C++ have different declarations of it (it&rsquo;s void in C and int in C++), you may want to use the C++ version. Enabling an USB serial (CDC-ACM) on Zephyr (and other stuff) https://studiofuga.com/blog/2023-03-17-usbserialonzephyr/ Fri, 17 Mar 2023 18:46:04 +0100 https://studiofuga.com/blog/2023-03-17-usbserialonzephyr/ In this post I&rsquo;ll explain a recipe on how to integrate the support for serial communication on USB, and how to manage multiple boards in the same project Enabling the Logging service in Zephyr https://studiofuga.com/blog/2023-03-16-enablingloggininzephyr/ Thu, 16 Mar 2023 10:15:13 +0100 https://studiofuga.com/blog/2023-03-16-enablingloggininzephyr/ In this post I&rsquo;ll show you how to enable the Logging service in a Zephyr app A quick recap on installing a Zephyr Development Environment on Linux https://studiofuga.com/blog/2023-03-08-a-quick-recap-on/ Wed, 08 Mar 2023 12:49:15 +0100 https://studiofuga.com/blog/2023-03-08-a-quick-recap-on/ In this post we see a very concise guide on how to install a Development Environment for Zephyr Building the first app in Zephyr from Scratch https://studiofuga.com/blog/2023-03-07-building-the-first-zephy-app/ Tue, 07 Mar 2023 15:01:35 +0100 https://studiofuga.com/blog/2023-03-07-building-the-first-zephy-app/ In this post I&rsquo;m going to build a Zephyr app from scratch. Fixing Zephyr Environment on Linux https://studiofuga.com/blog/2022-12-03/ Sat, 03 Dec 2022 11:58:35 +0100 https://studiofuga.com/blog/2022-12-03/ I&rsquo;m actually experimenting with Zephyr, a Real Time O.S. for IoT devices. It seems very impressive for many aspects, that, out of the topic of this blog post, I list here. It&rsquo;s a fully fledged microkernel with many drivers for peripherals and protocols It supports many important protocols like Wifi, Bluetooth Low Energy, OpenThread (and Matter) and many others It&rsquo;s supported and financed by Nordic Semiconductors, It&rsquo;s open source It has many hardware supporting it, including Nordic chipset, STM, Espressif, Raspberry, etc&hellip; It has an extension for Visual Studio and others IDE are supporting it, like, for example, Jetbrain&rsquo;s CLion So I decided it&rsquo;s time to test it. Not all Arduino Nanos Are Built Equals https://studiofuga.com/blog/2022-11-17-not-all-arduino-nanos-are-built-equals/ Thu, 17 Nov 2022 10:19:21 +0100 https://studiofuga.com/blog/2022-11-17-not-all-arduino-nanos-are-built-equals/ Not all Arduino Nanos are built equals. I have two samples here, one bought from AZDelivery and one in a NanoCUL. Though both are Nano v3s, they are somhow different. Indeed, I was able to program the second out of the box using avrdude, while I had some issue with other. Using PlatformIO I noticed that the first was not properly configured on my system. Indeed lsusb shows different chips are used: La Guerra Cyber Non Scoppierà https://studiofuga.com/blog/2022-11-10-la-guerra-cyber-non-avverra/ Thu, 10 Nov 2022 22:57:32 +0100 https://studiofuga.com/blog/2022-11-10-la-guerra-cyber-non-avverra/ Questo articolo è stato pubblicato nel numero 2/2022 del Notiziario dell&rsquo;Ordine degli Ingegneri della provincia di Verona Getting Started With Rust and Stm32F411 Discovery Board https://studiofuga.com/blog/2022-10-18-getting-started-with-rust-and-stm32f411/ Tue, 18 Oct 2022 15:38:09 +0200 https://studiofuga.com/blog/2022-10-18-getting-started-with-rust-and-stm32f411/ Queste sono semplici note sullo sviluppo di una semplice applicazione Rust per la scheda di sviluppo STM 32F411 Discovery. Il tutto è estratto dalla sezione Hardware dell&rsquo;ottimo libro The Embedded Rust book Compilare un progetto di esempio ed eseguirlo $ cargo generate --git https://github.com/rust-embedded/cortex-m-quickstart 🤷 Project Name : blinkstm32 🔧 Destination: /home/happycactus/Documents/devel/Tutorial/Rust/embed/stm32f411/blinkstm32 ... 🔧 Generating template ... ... [25/25] Done: src 🔧 Moving generated files into: `/home/happycactus/Documents/devel/Tutorial/Rust/embed/stm32f411/blinkstm32`... 💡 Initializing a fresh Git repository ✨ Done! How to switch "\" with "<" keys in linux https://studiofuga.com/2020/11/28/how-to-switch-with/ Sat, 28 Nov 2020 10:16:06 +0000 https://studiofuga.com/2020/11/28/how-to-switch-with/ When using the Apple Magic Keyboard with linux and certain keyboard layout, some key may be exchanged with some other key. In my case, I have an Italian Magic Keyboard and a Ubuntu 20.10 running on VmWare Fusion and the &ldquo;&quot; and &ldquo;&lt;&rdquo; keys are switched. The fix is pretty easy, but not easy to find on the net. This is the recipe: you need to force xmodmap to exchange the two keystrokes. Cos'è il replay attack contro Immuni di Report e perché non dobbiamo preoccuparci https://studiofuga.com/2020/11/11/cose-il-replay-attack-contro-immuni-di-report-e-perche-non-dobbiamo-preoccuparci/ Wed, 11 Nov 2020 09:26:25 +0000 https://studiofuga.com/2020/11/11/cose-il-replay-attack-contro-immuni-di-report-e-perche-non-dobbiamo-preoccuparci/ Nella puntata di ieri 9 novembre 2020 di Report si è parlato di un Replay Attack contro i software di Contact Tracing, in particolare contro la app Immuni, il quale potrebbe segnalare come positivo una vittima. Siccome la notizia ha destato un certo scalpore, per lo meno su Twitter, vorrei far luce sul problema e spiegare (spoiler) perché non dobbiamo preoccuparci più di tanto di questo problema. Un piccolo riassunto su come funziona Immuni Come oramai sanno anche i sassi, Immuni funziona scambiando delle chiavi temporanee con i dispositivi nelle vicinanze tramite la tecnologia Bluetooth. Dedurre il numero di nuovi utenti positivi dalle TEK di Immuni https://studiofuga.com/2020/10/21/dedurre-il-numero-di-nuovi-utenti-positivi-dalle-tek-di-immuni/ Wed, 21 Oct 2020 13:12:25 +0000 https://studiofuga.com/2020/10/21/dedurre-il-numero-di-nuovi-utenti-positivi-dalle-tek-di-immuni/ A differenza che in altri paesi, in Italia la gestione del progetto di Contact Tracing elettronico basato sulla tecnologia di Exposure Notification implementato da Apple e Google (il cosiddetto GAEN) non ha brillato per trasparenza. Mentre in Svizzera le statistiche di utilizzo sono disponibili in real time sia attraverso sito web, sia attraverso API Endpoint per il trattamento automatico dei dati, in Italia gli unici dati disponibili sono il numero di download e un numero totale di notifiche e utenti reso disponibile &ldquo;quando si ricordano&rdquo; attraverso una apposita dashboard. Cos'è l'Hardware Attestation e cosa c'entra con Immuni https://studiofuga.com/2020/10/20/cose-lhardware-attestation-e-cosa-centra-con-immuni/ Tue, 20 Oct 2020 13:18:34 +0000 https://studiofuga.com/2020/10/20/cose-lhardware-attestation-e-cosa-centra-con-immuni/ In fondo alla pagina della dashboard di Immuni, che oggi riporta 902 utenti Positivi e 17900 notifiche inviate, è comparso le due annotazioni qui sopra riportate. In particolare la seconda mi ha per un attimo lasciato interdetto. L&rsquo;Hardware Attestation è un metodo per autenticare gli accessi alle API delle applicazioni, per fare in modo, cioè, che solo una app possa accedere ed usufruire di un servizio, escludendo quindi browser e software vari, come molti ricercatori stanno facendo in questi giorni, me compreso. Creating and using debug symbol tables with CMake and gdb https://studiofuga.com/2020/01/28/creating-and-using-debug-symbol-tables-with-cmake-and-gdb/ Tue, 28 Jan 2020 14:36:53 +0000 https://studiofuga.com/2020/01/28/creating-and-using-debug-symbol-tables-with-cmake-and-gdb/ Introduction When working with a big project on a resource constrained embedded hardware, it might be difficult to debug it properly on the target board. Executables and libraries compiled in Debug mode are big, bloated and slow. To proper debug them in GDB, you need compile symbols, otherwise you&rsquo;ll not be able to understand what a stack trace means. Sometimes it may be useful to structure your project so that it can be debugged with emulators, mocks and simulated devices on a PC; it is a wise choice because emulators and mocks speed up debugging and developing when other parts (especially hardware and firmware) are not ready yet. Blockchains, istruzioni per l'uso https://studiofuga.com/2019/11/11/blockchains-istruzioni-per-luso/ Mon, 11 Nov 2019 10:39:20 +0000 https://studiofuga.com/2019/11/11/blockchains-istruzioni-per-luso/ Il seguente articolo è stato pubblicato nel numero 1/2-2019 del Notiziario dell&rsquo;Ordine degli Ingegneri della Provincia di Verona. Viene pubblicato qui grazie alla gentile concessione della Redazione. Come funzionano le criptovalute, l’e-voting e le altre applicazioni di un sistema informatico ancora poco conosciuto Negli ultimi tempi non trascorre giorno senza che un articolo, un programma televisivo o un comizio citi le “blockchain” come soluzione ultima di un qualche problema tecnico od organizzativo. Adding a user space "power switch" to your embedded linux https://studiofuga.com/2019/07/18/adding-a-user-space-power-switch-to-your-embedded-linux/ Thu, 18 Jul 2019 08:25:08 +0000 https://studiofuga.com/2019/07/18/adding-a-user-space-power-switch-to-your-embedded-linux/ Is is always amazing to see how some very obvious features are missing from the linux kernel. Yesterday, for a project I am developing for a Dutch firm, I come across one of these &ldquo;very obvious feature&rdquo;: the option to switch on and off a device in the embedded linux board we&rsquo;re using. The problem seemed to be quite frequent: you have a device connected to the internal USB bus (a wifi module, maybe? La vulnerabilità di WhatsApp spiegata a mia figlia https://studiofuga.com/2019/05/15/la-vulnerabilita-di-whatsapp-spiegata-a-mia-figlia/ Wed, 15 May 2019 08:31:02 +0000 https://studiofuga.com/2019/05/15/la-vulnerabilita-di-whatsapp-spiegata-a-mia-figlia/ A chi non è capitato di dover riempire un modulo i cui spazi da riempire sono troppo stretti per il testo da inserire? Il classico caso in cui l&rsquo;indirizzo è davvero troppo lungo per lo spazio previsto e ci si arrangia scrivendo negli altri spazi, oppure sovrapponendosi al testo stampato, e rendendo il modulo praticamente illeggibile? Una cosa simile accade quando in un software o una App riceve dei dati da internet (un server, o magari dalla stessa app installata su un altro smartphone) ma il programmatore non ha effettuato correttamente i controlli sulla lunghezza e il programma copia i dati su uno spazio troppo stretto. Configuring Ubuntu to deal with an ARM board with U-Boot via USB https://studiofuga.com/2019/05/13/configuring-ubuntu-to-deal-with-a-u-boot-via-usb-without-using-a-local-dhcp-server/ Mon, 13 May 2019 07:40:51 +0000 https://studiofuga.com/2019/05/13/configuring-ubuntu-to-deal-with-a-u-boot-via-usb-without-using-a-local-dhcp-server/ Abstract We have a board on which an AllWinner ARM processor is running Linux. The bootloader is U-boot and we have to use the USB port to flash it. When flashing the device for the first time, after loading the bootloader via FEL protocol, we need to use tftp to load the SPL (Secondary program Loader) image and the uboot version for use with the spl. Unfortunately, a couple of issues in the default Ubuntu configuration prevent us from doing this apparently simple operation in a straight way, and we need to tweak some system configuration file. Strong Typing PODs https://studiofuga.com/2017/09/07/strong-typing-pods/ Thu, 07 Sep 2017 21:29:08 +0000 https://studiofuga.com/2017/09/07/strong-typing-pods/ Identifiying object by a numerical integer is an almost trivial task. In DISPLACE, a very complex simulator I am involved with, there are many of different categories of objects that model different categoris of agents in the simulator, like vessels, marine locations, ships, ports, and so on. Each object has an Id, and it was very natural, at the start of the project, to implement it using an **int**. Problems started when we decided, for optimization purpose, to shrink the memory footprint, to use smaller int instead. A C++ Smart Pointer wrapper for use with JNI https://studiofuga.com/2017/03/10/a-c-smart-pointer-wrapper-for-use-with-jni/ Fri, 10 Mar 2017 14:49:20 +0000 https://studiofuga.com/2017/03/10/a-c-smart-pointer-wrapper-for-use-with-jni/ Introduction In this article, I'll propose a solution for managing native C++ resources from JNI using smart pointers. While Smart Pointers can't be useful from Java, because of the limits of the Java memory management, it may be required by the native library to maintain allocated resources through shared_ptr or unique_ptr, for example because classes derive from std::enable_from_this. Since there is a fixed pattern to maintain native objects in Java classes, a utility C++ class is proposed. Vmware Player is slow under Ubuntu 16 host, Part 2. https://studiofuga.com/2016/10/21/vmware-player-is-slow-under-ubuntu-16-host-part-2/ Fri, 21 Oct 2016 17:55:13 +0000 https://studiofuga.com/2016/10/21/vmware-player-is-slow-under-ubuntu-16-host-part-2/ So it seems the issue I talked about some week ago, wasn't fixed. Windows is still slow, the hard disk always working at 100% load. Not so slow, because the fix explained in my previous post seems to mitigate the problem, but still slow. Since I was using many Virtual Machines on that box without any problem since longtime, well before my upgrade to Ubuntu 16.04, I guessed the problem was the kernel. Vmware Player is slow under Ubuntu 16 host https://studiofuga.com/2016/10/10/vmware-player-is-slow-under-ubuntu-16-host/ Mon, 10 Oct 2016 17:57:13 +0000 https://studiofuga.com/2016/10/10/vmware-player-is-slow-under-ubuntu-16-host/ So you just upgraded your Ubuntu box and found that all your VmWare Windows Boxes are extremely slow? The symptom is your Windows task manager showning 100% usage of your disk, and the WIndows Instrumentation showing very long lags, says, up to 2.5seconds (yes, seconds) to respond to a disk request. This makes the box practically unusable. Perhaps your vmware logs are shoing a lot of lines like scsi0:0: Command READ(10) took 2. A compact CSV parser using C++ TMP https://studiofuga.com/2016/03/07/a-compact-csv-parser-using-c-tmp/ Mon, 07 Mar 2016 17:24:07 +0000 https://studiofuga.com/2016/03/07/a-compact-csv-parser-using-c-tmp/ How many times have you implemented a CSV parser to fill a list of stucts from a text file? Personally, it happens to me about every time I have new project. Though it is a simple task that requires no more than half an hour to build and debug, it is boring, error prone and repetitive. The algorithm is quite trivial, read each line, split it in a vector of string using some separator (about always a comma, hence the &quot;Comma Separated&quot; name), use something to convert each field in a PoD (int, double, whatever) and fill a struct. The dbus-cpp Library, introduction https://studiofuga.com/2015/11/28/the-dbus-cpp-library-introduction/ Sat, 28 Nov 2015 22:33:54 +0000 https://studiofuga.com/2015/11/28/the-dbus-cpp-library-introduction/ While working on a bluetooth based embedded device, I needed to deal with the somehow infamous dbus. [DBus](https://wiki.freedesktop.org/www/Software/dbus/) and [Bluez5](http://www.bluez.org/) have a very steep learning curve, and if you are don't have access to either [Qt framework](https://www.qt.io/) or [glib framework](https://developer.gnome.org/glib/), you have indeed a problem. Glib are very complex C libraries that mimick some of the built-in feature of the C++ language, while on the other hand, Qt are very vast and sometime a big overkill. Pairing Bluetooth with no pin on Intel Edison https://studiofuga.com/2015/08/10/pairing-bluetooth-with-no-pin-on-intel-edison/ Mon, 10 Aug 2015 15:30:48 +0000 https://studiofuga.com/2015/08/10/pairing-bluetooth-with-no-pin-on-intel-edison/ It may seems strange for an IoT enabled device, but there's no obvious way to pair an Intel Edison through Bluetooth without accessing the shell. I spent different hours to do something that with Bluez4 took at most 4 minutes, including the research on Google. Here's what I did. Edison provides Bluez5 that reworks most of the tools using DBUS, so to make two quite frequent actions, like pairing a device without providing user intervention on the device, and registering a new bluetooth RFCOMM service, you need to interface with it, that isn't so obvious from C or C++. Fixing problems with Ubuntu 13.04 and VmWare Tools https://studiofuga.com/2013/08/21/fixing-problems-with-ubuntu-13-04-and-vmware-tools/ Wed, 21 Aug 2013 09:51:41 +0000 https://studiofuga.com/2013/08/21/fixing-problems-with-ubuntu-13-04-and-vmware-tools/ Installing Ubuntu on my VmWare fusion box has never been so difficult as it was last weeks, when I needed to have it ready as soon as possible. Though 12.04 LTS has been proved to be a great choice when you need a solid rock linux box, latest Ubuntu boxes are preferable, on my opinion, for development purpose. This way, switching to the latest, bleeding edge kernel hasn&rsquo;t gone well for the people at VmWare. TouchWiz and the onOffsetChanged missing call https://studiofuga.com/2013/07/11/touchwiz-and-the-onoffsetchanged-missing-call/ Thu, 11 Jul 2013 17:38:57 +0000 https://studiofuga.com/2013/07/11/touchwiz-and-the-onoffsetchanged-missing-call/ I am currently working on a Live Wallpaper project for a customer. Interestingly, I found that though my app works perfectly on different devices - I have a Nexus7, Nexus10, a Galaxy Tab p1010, different chinese allWinner devices, and a Note II phone - my wallpaper can&rsquo;t scroll when the screen is swiped on some Samsung Device. Usually to detect the swiping on a Live Wallpaper, you use the[ WallpaperService.Engine.onOffsetChanged](http://developer.android.com/reference/android/service/wallpaper/WallpaperService.Engine.html#onOffsetsChanged(float, float, float, float, int, int)), i. Flashing an AllWinner device via LiveSuit from Windows 8 https://studiofuga.com/2013/04/10/flashing-an-allwinner-device-via-livesuit-from-windows-8/ Wed, 10 Apr 2013 13:46:15 +0000 https://studiofuga.com/2013/04/10/flashing-an-allwinner-device-via-livesuit-from-windows-8/ Flashing an AllWinner device using the LiveSuit tool from Windows 8 isn&rsquo;t as obvious as it seems. First, as usual with a new operating system, not all drivers works and you must find the &ldquo;right&rdquo; version. Second, as the previous issue wasn&rsquo;t enough, with Windows 8 isn&rsquo;t possible without some trick to install an &ldquo;unsigned&rdquo; driver. &ldquo;unsigned&rdquo; driver means a device driver that isn&rsquo;t approved by Microsoft; on previous Windows versions, when installing an unsigned driver Windows asked for approval to the user. Annoying crapware on Java Updates (a.k.a. Ask.com toolbar) https://studiofuga.com/2013/03/26/annoying-crapware-on-java-updates-a-k-a-ask-com-toolbar/ Tue, 26 Mar 2013 12:28:02 +0000 https://studiofuga.com/2013/03/26/annoying-crapware-on-java-updates-a-k-a-ask-com-toolbar/ Tired of this annoying ask.com toolbar being installed every time Java gets updated? Here&rsquo;s the solution: Open a notepad, copy-and-paste this code and save it on a file called &ldquo;disable_java_sponsors.reg&rdquo;. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft] &quot;SPONSORS&quot;=&quot;DISABLE&quot; [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft] &quot;SPONSORS&quot;=&quot;DISABLE&quot; Then double-click on the new file, answer &ldquo;yes&rdquo; to the question about merging the registry and say bye to these annoying crapware. Next time you update Java, the ask.com bar (and eventually all other sponsored tools) should be disabled and not installed. Building AllWinner Android Firmwares https://studiofuga.com/2013/02/27/building-allwinner-android-firmwares/ Wed, 27 Feb 2013 11:33:03 +0000 https://studiofuga.com/2013/02/27/building-allwinner-android-firmwares/ Foreword _This is a work-in-progress post. I'll periodically update this page with new informations, tweaks and tools, because I wanted a single page to collect all the valuable informations about this theme. _ Introduction The AllWinner A10 platform is a relatively new System-on-chip (SoC) product developed by a Chinese Company. His strength point is certainly the low cost compared to computation power and peripheral integration. The A10 SoC is based on Cortex-A8 ARM core, and provides a Mali-400 GPU on chip. Qt Creator 2.6.2 hangs under Windows 8 https://studiofuga.com/2013/02/04/qt-creator-2-6-2-hangs-under-windows-8/ Mon, 04 Feb 2013 12:56:10 +0000 https://studiofuga.com/2013/02/04/qt-creator-2-6-2-hangs-under-windows-8/ What a bad surprise when, installing my new Windows 8 box, I found that I couldn&rsquo;t compile any of my Qt Projects! I couldn&rsquo;t even running an instance of Qt Creator 2.6.2, because when it tries to open the project file, it hangs with that stupid white window&hellip; &ldquo;Qt Creator is not responding&hellip;&rdquo; Well, I tried the following: Installing a different MinGW version, Installing the new Qt5.0.1 library, modifying the projects files&hellip; nothing worked, though removing the QT+=xxx and the TARGET=yyy or the TEMPLATE=zzz lines makes sometime starting it. MacOS Mail.app slow... why? Ask iCloud! https://studiofuga.com/2013/01/24/macos-mail-app-slow-why-ask-icloud/ Thu, 24 Jan 2013 09:24:19 +0000 https://studiofuga.com/2013/01/24/macos-mail-app-slow-why-ask-icloud/ In the last few months I maturated the idea to change my 4 years old Late 2008 MacBookPro. Though I upgraded it to 8Gb Ram thanks to the kit from OWC, opening and managing mail was painfully slow. I didn&rsquo;t experience a sudden deterioration of performance, but since I updated the OS to Mountain Lion, a slow and maybe continuous worsening. So it was difficult for me to realize that something wasn&rsquo;t going wrong, I was ascribing this to many programs I installed and removed, and to Mountain Lion itself. Tech blog https://studiofuga.com/2012/09/29/tech-blog/ Sat, 29 Sep 2012 12:42:19 +0000 https://studiofuga.com/2012/09/29/tech-blog/ Welcome to my tech blog. Here you&rsquo;ll enjoy articles about all the fields related to my work, especially Linux, Embedded systems, Programming, Software and Hardware design and Engineering. All posts will be, hopefully, in English, some will be in Italian when the argument will suggest that only Italian people will have interest on that. Sorry guys ;-) If something isn&rsquo;t clear, or if you feel that some should be corrected, please write me a comment.