Suzuki DL250 hands on

Everything can obviously get damaged

A few days ago my Suzuki V-Strom 250 (DL250) has been damaged during something like an attempted theft or an intentional impairment of the back plate light. Yeah, I know, it sucks but shit happens and I’m not going to discuss it within this post ๐Ÿ™‚

What should be done then?

Normally people goes to an authorized dealer or to a certified mechanic to repair the damaged part, eventually applying for a refund from the insurance company and so do I.

As these are not normal times I started looking for another way of doing things with a specific aim, i.e.

Lowering costs for repairing

When I discovered that the estimated cost was about 120/160 โ‚ฌ (parts + work), partner some spare time and most of all because I really like to get my hands dirty to better understand almost everything I use, I decided to search one way out by myself.

The original part was missing (because as I said it was stolen or destroyed in a million pieces) but fortunately it was a small part then I decided to start looking for used parts on various websites.

DL250 is not so common in Italy / Europe

It turned out that, as this bike is still not very common in Italy / Europe these days, no used parts seemed to be easily available ๐Ÿ™

I decided to not surrender and I kept surfing some forum dedicated to the major sisters V-Strom 650 and V-Strom 1000 till I was able to found some thread talking sometimes of the new V-Strom 250: except for some poor comparison (someone still thinks that you can compare apples and pears) nothing caught my eye until I read of the Suzuki GSR250 from which the DL250 seems to inherit its engine.

That did the trick

I started documenting about this GSR250 (japanes codename for the Suzuki Inazuma 250 / GW250) and I found that not only the engine was almost the same but also some external parts, included the rear fender and thus… the back plate light ๐Ÿ™‚

I started again my research with those new keywords and tadaaa: I found the piece I was in need at something around 22 โ‚ฌ, in a relatively good state if we consider that it was coming from a 7yo Inazuma (thanks to GTV Solutions).

Bought it, received it in a few days and mounted it within 40 minutes carefully proceeding.

How to remove remaining parts before replacing

In my case only the more external part has been damaged, thus I replaced only that one.

Firstly you’ll find under the rear fender two self-locking nuts DIN934 M6 (size 10): they must be removed in order to detach the plastic support with the lamp inside.

Secondly there’s a rubber gusket that must be extracted from the rear fender before being able to unscrew the two screws holding the plastic cover: it requires a bit of well dosed energy if you don’t want to tear off the cable.


Well, if you’ve found the time to read up to this point I’m going to thank you: as anyone can see, I’m not used to write about these topics but -also inspired by this Covid-19 emergency that is causing econimics issues to so many families- I decided to try to be of help to everyone out there looking for support for his/her Suzuki V-Strom 250 while aiming to keep the costs soustainable.


The author of this post has no responsibility and cannot be held liable on damages of any kind arising out of the use of the information provided.

Applying changes to your motorcycle can void your warranty.

You need to make sure that you have received all the required permissions from the respective government bodies so your motorcycle is street-legal after the mod-job has been carried out.

MX Linux over lvm2

I really like to keep my laptops and workstations productive until they’re able to run the applications I need for my job so I was looking for a GNU/Linux distribution light enough for my old HP Mini netbook (powered by Atom CPU x86 and 1GB RAM): this is how I landed on MX Linux running over a LVM2 partition scheme.

My choice goes typically to Mageia but at that time I wanted to try MX Linux 18 because it was much lighter and working out-of-the-box.

The problem was represented by the MX Linux installer that it’s a bit limited and it doesn’t support LVM partition scheme.

For that reason, I had to install it on the hard drive manually ๐Ÿ™‚

I choose a scheme with 1 volume group (VG00) containing 3 logical volumes:

  • LVROOT for the / mount point
  • LVHOME for the /home mount point

This setup allows to easily upgrade the system without affecting your data inside /home and, like in this case -unsupported upgrade to the newer release- to upgrade your system without the risk of personal data loss.

Certainly using a partition scheme like the one I proposed simplifies the entire process of upgrading in every condition and if you need a script that can be of help, here it goes.

Enjoy your MX Linux over LVM2

Contributions to Mageia – April 2018

ActivitiesAs Iโ€™m back to work on some package for Mageiaโ€ฆ letโ€™s resume from where we stopped also on this blog.


  • areca-backup 7.5

areca-backup wasnโ€™t properly working starting from Mageia 5 because of its dependency to Java (proprietary).

Consider also that areca-backup seems no longer maintained upstream (last version released on August, 26th 2015)ย  but there are still users that, like me, need that tool to backup/restore important data.

It was thus necessary to make it work with openjdk, with our current version of GTK and so on: thatโ€™s why I made a few patches to be able to make it fully functional again ?

  • davmail 4.8.5 (latest version)

The new version is now available in Cauldron.

davmail is awesome when you have to interface your thunderbird to and Exchange Server made available through EWS.

Thatโ€™s all. See you next month andโ€ฆ thanks for reading


Excel VBA – How it can speed up your work and ruin your reputation

The Hell of multiple instances and why you should really avoid to use it in production

(about) Five months have passed since my last post and now I’m back again to tell you a story I’ve gone through: this one particularly tells of Excel VBA invoking Outlook passing through multiple instances of EXCEL32*.

During the last two years I massively used Excel, PowerPoint and Outlook empowered by VBA during my daylife job: Excel VBA is really good when it comes to play with business data & market analytics or when you need to automate repetitive and time-consuming tasks. Outlook is the client that perfectly integrates to the MS Office suite and to the authentication platform in use.

Everything was going smoothly with Workbooks, Sheets, Pivot tables, VBA macros, OLAP queries and so on until the day it was decided to use Excel VBA to automate some reporting to the Managers by

  • downloading data from an Internet Explorer 8 session
  • placing something inside a temporary sheet used to do the dirty job
  • sending every table and similar as images inside the body of an e-mail, not as attachments.

Well,ย  even if it could sound extremely insane -imho it definitely is- apparently good reasons exists.

I started writing down some ideas, focusing on

  • Reusability of the code
  • Regular Expressions (provided by Microsoft VBScript Regular Expression 5.5) to parse data coming from IE8
  • Automation of Outlook using VBA andย  MAPI
  • HTML messages to easily play with images built on-the-fly and attached to the email message, i.e. somehow referenced/embedded inside the HTML message
  • Configurable behavior (a Sheet or an external plain text file containing parameters)

A couple of days should have been dedicated to the study and the development but it came that “as there’s no time to spend on software development it’s safe to use “simpler” solutions” like a dirty macro doing something like

  • coping the needed tables and graphical objects as images inside the Windows clipboard (using something like Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap )
  • pasting from the clipboard inside the new outlook mail message using key combinations (kind of Application.SendKeys “^v”ย  )



This approach –even if awful– properly works when you run your macro one shot avoiding at the same time any kind of interaction during the execution but, what happens when you need to run multiple instances of VBA Macros simultaneously?

The problem is not Excel by itself, of course but, abusing the clipboard and the SendKeys API could lead to a huge number of problems that will impact your work and your reputation after all.

It briefly comes that running two different process of EXCEL32 with two different macros – both interacting with Outlook and the Windows clipboard – led to something catastrophic where

  • one of the processes started filling the clipboard with something and immediately get stuck due to a disconnection from the Outlook.Application
  • the other one started pasting corrupted stuff inside the email body or -the worst case- inside the workbook itself and then sending it to the managers ๐Ÿ™

It came that I could have mitigated those kind of errors by handling things at a lower level, i.e.

  • using Application.CutCopyMode = False and Application.CutCopyMode = True to force a clipboard cleanupย a
  • implementing something like a semaphore where if one of the processes was still running/stuck the other should have kept waiting for its turn (maybe never coming)ย a

[OT] If it would have been granted to access the CSV download page through XMLHttp or better perl-LWP, passing through the proxy authentication NTLMv* it would have been way better.

You know, actually it’s never fault of a computer but, the intrinsic weakness of VBA erupted loudly.

UPDATE 12/30/2015

after the installation of a few system updates and passing from IE8 to Internet Explorer 10 things have gone even worse: outlook new message don’t get the right focus causing Ctrl+V to paste somewhere else, iexplore process brings old sessions back to life -thus multiple tabs- when invoked by the macro.

I miss something very usefull inside VBA:

  • Exception handling capability (Try, Catch, Finally)
  • Easy-to-use classes/tools to access data through proxy, to avoid the IExplorer mess
  • More consistent object model
  • VB Editor/IDE up2date (it’s almost 2016, c’mon)

Se funziona quanto basta, non toccarlo che si guasta

At the very end of this story we managed to make things work properly by running those macros and those processes with computers with a well-defined environement and specific versions of each application involved. o/

Contributions to Mageia – March 2015


Mageia 5 has been delayed cause we want to provide the best experience to our users.


  • mono-3.12.1

mono project released a new minor release shipping fixes forย CVE-2015-231[89], CVE-2015-2320. It’s all about the TLS’s mono implementation that was causing some issue with TLS impersonation. You can find details here (some refining is still needed but it seems to work).

Now we are on release freeze, that means that until the final release cauldron repos cannot receive new versions neither new releases of packages.


  • mono-3.2.3-5.2

The TLS’s mono implementation was exposing users to TLS impersonation attacks also on the previous versions of mono thus I had to provide fixes also for the package for mageia 4. It has been quite a time-consuming task.


Finally we moved to the final name of our project and a few improvements have been added to manaclock and manawall.

manawall now uses a specification file for servers and ports: previously (as it was in drakfirewall) each server was specified statically inside the code alongside with ports, labels and so on.


manawall now retrieves servers from a well-formed xml file, easiest to maintain; this change causes some issue with nfs still to be worked out but, the huge part of the task has been successfully completed ๐Ÿ˜‰

See you next month and… thanks for reading

Contributions to Mageia – January/February 2015

notvnobeerNo spare time and No Wing Chun make me something, something… go crazy… but do not mind if I do [paraphrasing]



Welcome to a new report of my contributions to Mageia.

As you can perceive by intuition it was difficult to properly maintain my packages and to develop the Mana Tools during the first two months of this year but, I managed to do something you can findย  useful ๐Ÿ˜‰


  • mono-3.12.0ย  o/
  • monodevelop-ย  o/
  • mageia-doc-5.2

Introducing mono during a version freeze was somehow risky but we were providing the aged version 3.4.0 and that could have been difficult to maintain. Moreover I required it for libyui-bindings as the upstream accepted my pull-request enabling mono-bidings for libyui o/


  • qyoto-4.14.3 (as it was broken by the introduction of mono-3.12.0)
  • gnome-do (as it was broken by the introduction of mono-3.12.0)


A huge work has been done rewriting drakfirewall as a manatool but I managed to complete the porting, to test it and to ship it with Mageia 5 ๐Ÿ™‚

This task involved mainly two steps:

  • port libDrakX/network/shorewall to modern perl and making it part of the AdminPanel framework
  • rewrite drakfirewall using Moose, libyui and the AdminPanel framework.

Mageia 5 has been delayed to round all the edges and we are working to build a reliable version as for every release.

See you next month and enjoy Mageia 5 ๐Ÿ™‚

Contributions to Mageia – December 2014


2014 is going to reach its end and another month of contributions to the Mageia project has passed.



  • noip

A new package has been added to the cauldron (thus Mageia 5): noip contains the well known open source duc for linux. I decided to package it for two reason mainly:

  • to provide a uniform way of installing and configuring noip on mageia
  • to better integrate it inside mageia by providing a systemd unit (noip2.service): this way you’ll be able to easily install and setup a noip client

Installing and Configuring noip on mageia now consists of a three-steps procedure:

  1. urpmi noip
  2. noip -C -c /etc/noip2.conf
  3. systemctl enable noip2.service


bash completions for mana have been provided and the package for adminpanel has been updated accordingly.

Angelo fixed other issues on rpmdragora.


MageiaOnline now provides new forum sections for Mageia 5 and Mageia 4 backports are slightly on their way ๐Ÿ™‚ Still work in progress, stay tuned

Merry Christmas and a Happy New Year to everyone!
See you next month ๐Ÿ™‚

Contributions to Mageia – November 2014


One year has passed since my last relevant contribution, Mageia 5 is on its way and Mageia 3 is going to reach its EOL.



  • gambas3-3.6.2
  • gmic-
  • screenfetch-3.6.5
  • libtorrent_rasterbar-0.16.18
  • qbittorrent-3.1.11
  • tortoisehg-3.2.1

Gambas3 latest version comes, like the others item of this brief list, with a lot of bugfixes since 3.5.4 version and some new component (like inotify).


Lots of efforts have been putted inside this project and we currently have quite a few modules doing their jobs, against all odds ๐Ÿ˜›

We introduced a few changes inside the naming conventions: each launch script has been prefixed with the word mana (e.g. manauser, manahost, manaproxy, etc).

Why mana?

It’s what come out from a night session of IRC while we were working on the migration of some drakxtool to adminpanel … Ok it doesn’t sound so nice told this way so… ๐Ÿ™‚ lets say that we find out that adminpanel was somehow inflated and we decided to look for something more representative.

mana recalls energy and magic and somehow the names of the authors, Angelo Naselli and Matteo Pasotti.

A list of the working modules follows:

  • manaclock
  • manahost
  • manalog
  • manaproxy
  • manaservice
  • manauser

There are other minor applications able to run inside AdminPanel (embedded or sharing its modules/subroutines):

  • contribfinder: a simple utility written using libyui and python
  • rpmdragora: a fork of rpmdrake, the effort to port its code to libyui and the 3rd millenium :p

AdminPanel/MaNa is a beautiful example of object oriented programming using Perl, Moose and Modern::Perl alongside a very readable code style.

Some screenshots demonstrating how those modules are able to run natively as Qt, Gtk and NCurses applications ๐Ÿ˜‰

manauser rpmdragora



Stay tuned and see you next month for a new summary of my contributions to Mageia.

Paleontology 4 Geologist

For those people not really aware of what the paleontology really is, I can briefly define the paleontology as the science in charge of study the history of life. For a Geologist the paleontology is more than important as it represents the basis to, such as:

  • place in time a geologic record
  • understand the geological context
  • deduce a lot of other useful information

For a better explanation I suggest some reading like this one and – for a wider view – wikipedia.

A few years ago I was studying invertebrate paleontology at the University of Pavia and I was terribly in need of someone or something able to train me with random questions about fossils before the exam ๐Ÿ™‚

At that time I was also working for an IT company in Lodi and I had no much free time to study with other classmates that’s why I decided to quickly prototype a simple computer application using Qt and C++ called p4d.

The purpose of p4d* was to randomly select questions from a database and to show them in the form of a multiple choice assessment.

The database was manually built using the information made available – in italian – through the labels of each fossil from the museum of the faculty of Geology.

We have to look at the fossil, to describe it properly: that’s why I also made photos of our samples to improve the experience with p4d (and especially to be able to do some training outside the museum ๐Ÿ˜› ).

P4D was able to check for the correctness of the given answer by pressing the Check button.

Even if quite basic and w/o frippery, it worked as expected and I really enjoyed coding with QtCreator on my Mageia to build something useful and portable in a few hours ๐Ÿ™‚

In a couple of weeks, after have asked some classmate for feedbacks, it became clear to me that this kind of tool was nice enough to be published but… how?

To avoid porting, packaging and distribution issues I finally choose to go through the web: I quickly rewrote p4d using PHP and JavaScript, with the precious help provided by the CodeIgniter and jQuery frameworks. P4G (i.e. Paleontology for Geologist) was born ๐Ÿ˜‰

This way also the maintenance becomes definitely a piece of cake ๐Ÿ˜‰

Far from perfection, Paleontology 4 Geologist (P4G) is a simple tool to verify your invertebrate fossils skills. It’s free to use, give it a try ๐Ÿ˜‰

* p4d = Paleontology 4 Dummies

PS: just like any piece of software out there, bugs could be found so feel free to report them using the button Found a bug and reading the instructions; I’ll try to fix them asap. And remember, there’s no warranty

Contributions to Mageia – November 2013

Activities inside the Mageia ProjectMageia.Org

Mageia 4 beta 1 is out and my perl-fu ยฉ is stronger than ever! ๐Ÿ™‚

Give it a try! ย ย  Provala!

Unfortunately my daily job doesn’t leave me enough time to properly contribute to the Mageia Project (that’s definitely true for the last 4 months).


  • gambas3-3.5.1
  • mageia-doc-4.2
  • polkit-kde-agent-1

I’m not the maintainer of the polkit-kde-agent-1 package but, I decided to help Filip who worked to the Slovenian translations for that piece of code.

Gambas3 3.5.1 is a minor release bringing some bugfixes and a few new features related to those ones.


  • qupzilla 1.4.4


I’m still working in my spare time on rpmdragora which takes a few steps forward each time I put my hands on its code ๐Ÿ™‚

MageiaOnline Backports for Mageia 3

Few new packages are available:

  • gambas3 3.5.1


Stay tuned and see you next month for a new summary of my contributions to Mageia.