How to add printers in Wine

If you search on the Internet for “how to install printers on Wine”, practically all the results will call you an idiot: “you can’t install printers on Wine, the system does it automatically”.

It must mean that I’m an idiot, because they don’t appear to me!

Actually, the problem is that Linux is usually installed in 64-bit, and it is usually recommended to run programs in Wine in a 32-bit prefix.

So, by default, no printers appear!

So you need to install the 32-bit CUPS library (CUPS is the print manager in Linux).

In Ubuntu, it is done like this:

sudo apt install libcups2:i386

While we’re at it, you can also add a PDF printer by adding:

sudo apt-get install printer-driver-cups-pdf

and then in the printer panel insert a new printer that has as address:

cups-pdf:/

Like all “typical Linux” things (not very friendly…), when a document will be sent to this printer, it seems that nothing happens, nothing appears on screen, no confirmation. But, actually, a file is saved in ~/PDF (in the home directory). You have to be careful because it decides the name of the file automatically and it happened to me many times printing from Wine that the file was overwritten.

TechCrunch has been hacked?

Every day, when I wake up but still don’t have enough energy to get up, I read the latest news. I don’t use Google News or Microsoft MSN News Start (or whatever they’ll rebrand the same service next month), but, as if I still was living in 2008, I use an RSS reader.

So the news aren’t chosen by an algorithm, but are sourced from carefully hand-picked feeds, slowly found and evaluated over a decade.

One of those sources is TechCrunch, which used to be a bit more interesting, now has become a bit of a clone of Engadget (it’s run by the same publisher) but with more focus on acquisitions and startups. I’ve always thought about just removing it, but I’ve always felt a bit nostalgic because it’s been with me for over a decade.

In the last few days, however, I noticed a radical change. Content was sloppily copied from 9to5mac using ifttt, headlines had errors: at first I ignore the problem and quickly swipe away the news, then I start to be severely annoyed!

I click on one of these NOT interesting news and I find myself on an amateur blogspot site. Huh? What happened?

Quite simply, TechCrunch was using feedburner to distribute their feed so they could easily redirect all subscribers to another site if there were any changes. Here it is (was?) : http://feeds.feedburner.com/Techcrunch

Maybe they decided that by now no one uses RSS anymore, and so, they deleted their feedburner account, allowing a cybersquatter to take it?

The new feed is present at https://techcrunch.com/feed/ but it seems weird not to have used the redirect function and allow a potential scammer to grab the old feedburner address and get all views from all the old RSS subscribers… (We are dozens!!! We’re not gone!)

How to install hMailServer on a modern computer

hMailServer is an extremely easy to configure mail server for Windows, and also extremely lightweight. Despite being free it has a lot of features, SSL, IMAP, user authentication with Active Directory, etc. Its only flaw, unfortunately, is that it is in a state of partial abandonment. Every few months the developer releases an updated version where only the OpenSSL library is updated, but the “heart” isn’t touched since a few years (decades?) ago. So, despite being an excellent product, it is not really recommended to install it on modern computers, because:

  1. It’s a program that is exposed to the internet on ports that are very targeted by bots, there is a bit of a security risk.
  2. It assumes that you are using outdated technologies.

However, it’s perfect for using it on your local network for “fun”.

To set it up with MySQL (or MariaDB) you need to consider three tricks:

  1. Fifteen years ago the app was freemium and not open source, the MySQL license did not allow DLLs to be included. Nowadays for some reason, even though the app is GPL and could include them, it doesn’t. So you need to go get libmysql.dll from the portable 32-bit version of HeidiSQL. (Or from the monstrous setup of MySQL for Windows, but I don’t recommend it).
  2. MySQL 8.0, for new users, sets an authentication system which is not recognized by hMailServer. You need to change it by executing this query: ALTER USER 'youruser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youapassword';. I limited the user to localhost, but otherwise it should be set as it is on your server, for example `youruser'@'%'.
  3. Both MySQL 8.0 and MariaDB 10 report database versions that are not supported because they were up to 5.6 at the time. So you have to manually create the database by using the script located in C:\Program Files (x86)\hMailServer\DBScripts\CreateTablesMYSQL.sql.

After this the program works great!

Otherwise, you can use the internal Microsoft SQL Compact-based database, but I personally don’t like it.

How to clean up the space used by Flatpak

If you have any Flatpak programs installed on your Linux desktop, you will notice that /var/lib/flatpak takes up several gigabytes. This is because, as a concept, a Flatpak package contains all possible libraries that the program could ever load.

However, when you uninstall the program, these packages remain on the startup disk because you may need them in the future. In my case, after installing a dozen very simple programs the directory was over 8 gigs…

To ask the system to clean up unused packages, the command is:

flatpak uninstall --unused

How to change the wallpaper automatically in Linux

There are many ways to change wallpaper automatically in Linux, here’s a very simple and fast one: by using a program called Variety.

Available in all repositories of the most common distributions under the name variety, it is very easy to use compared to other methods.

It inserts an indicator in GNOME:

The indicator on the taskbar

And there are a lot of options available:

Screenshot of the program

Download from the internet, from a subreddit, take it from a directory, make specific filters (ex: always blur, or make grayscale), add a clock or a motivational phrase.

Or: choose only light backgrounds, or only dark backgrounds, or have a shade of color to your liking!

Finally: don’t like the background that was randomly chosen? Just give a “roll” with the mouse wheel over the indicator icon and it will go to the next one!

A ROM surprise

Two years ago, this post appeared on Reddit:

Satoru Okada, the guy who worked on the first game boy handhelds, shared a prototype Japanese rom which they used to test the game boy advance.

Tested by me on mgba and vba m, sadly the menus are written in Japanese so I don’t understand a thing.

I didn’t miss the opportunity, I immediately downloaded and put it aside, even if the name contained spelling errors (Bokojou Tengokou instead of Bokujou Tengoku). These things, you know, don’t last long, then the links start disappearing. In fact, aside from the fact that Zippyshare for some reason blocks all European users, that link is already dead.

I’m surprised, a 256 Mbit ROM (8 times larger than average) dating back 20 years???

Months pass and Bokojou Tengokou (Proto) (Japan).gba stands there “gathering dust” on the disc.

Until today, found it again, tried it and… the result left me really amazed, I didn’t think the GameBoy Advance could do things like that, I imagined it much more crude.

The ROM is available on Archive.org at the address: https://archive.org/details/BokojouTengokouProto or directly from here:

PS2: after 20 years one exploit is found, to run pirated games without modification.

Running pirated games on PS2 has always been possible, but it has never been within everyone’s reach.

With FreeMcBoot you can take advantage of a bug in the memory card management (fixed in the last slim PS2 production batch) to load games from USB or on hard disk (on PS2 “fat” first version). But you have to have a memory card created in a special way and at the time it was not easy. (At least: you paid a lot of money for the installation “service”)

Or with swap disks or action replay, but even so it’s not as easy as putting a disk in the drive.

Then there is modification via modchip. The chip alone costs very little (5 euro) but soldering 20 solder on the tiny pads of the motherboard is absolutely not within everyone’s reach. And so, a 5 euro chip with 100 euro of labor…

But now there is FreeDVDBoot: CTurt has found a way to run burned games without modification.

Creating a video DVD in a special way, you can insert an exploit in the DVD menu that allows foreign code to be executed.

So, the PS2 starts playing the DVD video (which works with homemade discs), then the menu contains “malicious” code that runs something else, homebrew, emulators, or even a commercial game.

As seen in the video, “Sony Computer Entertainment” is written at startup, but not “PlayStation 2” – because it is loaded as if it were a DVD movie

Like the exploit used 20 years ago on the Sega Dreamcast: the copied game pretended to be a MIL-CD (music format used only in Japan and only used by 4-5 albums in total), then played the full game.

There are currently no tools released to make the operation easy: the game must be set in a specific way with a special launcher, it doesn’t work with just any copy. For the launcher there is no source code but only the explanation of the operation: the programmer (who if I understand correctly works for Microsoft) doesn’t want to have anything to do with piracy and would like his work to be used only for homebrew.

I’m sure there will be someone else who will complete the work: ESR (the program used to load the burned games “disguised” as DVD movies) was published over 10 years ago, the only difference is that it was necessary to load it via FreeMcBoot (the “special” memory card), now you can load it more easily.

How to merge many mp4 videos with FFMPEG in a few seconds

I got a video, splitted into lots of files, each only 5 minutes long. I had only two options: either I wasted 30 minutes manually inserting them into a windowed program, or I wasted 2 hours figuring out a command line solution.

Obviously I chose the second option, so in the future the conversion will be more immediate, just follow this post 😉

First of all you have to create a text file that contains the list of files to convert.We have the computer do it. Assuming that all the files to be merged are all located in the same directory and are *.mp4 files, you have to type:

find *.mp4 | sed 's:\ :\ :g'| sed 's/^/file /' > list.txt

This creates a text file called list.txt which contains the file name (preceded by the keyword file).

Then, you pass the list of files to join to FFMPEG, with the command:

ffmpeg -safe 0 -f concat -i list.txt -c copy video-merge.mp4

Done!

What to do if a LibreOffice file is extremely slow

A colleague has a problem with a LibreOffice Calc file: it was extremely slow to open. It took just 10 minutes to open and then the computer is paralyzed. I tried to convert it to Excel, but even opening it with Microsoft Excel was extremely slow.

I tried to use the power of the cloud, putting it on Google Drive and then opening it with Google Sheets. Nothing to do, it freezes the browser!

I then saved the ODS (OpenDocument Sheets) file as FODS. The OpenOffice/Libreoffice files in fact, are zipped XML files.

A FODS file is simply the same ODS file, only not being compressed, you can open it with a text editor to understand what’s going on.

From here you can already see that something is not right. Compressed occupies 0.16 MB, not compressed 7 MB? Compression is not magic, to become so small, it means that the file contains lots of repetition.

In fact, here’s the problem. For some reason, there are hundreds of thousands of tiny, invisible text boxes in the file!

Unfortunately, however, it is not a contiguous block. There are hundreds of blocks scattered among “good” content to keep, select and remove them by hand is an operation that takes days!

Here comes xmlstarlet.

You download the Windows (or Linux) version and study the syntax with

xmlstarlet el yourfile.fods

and a very long list with the file structure will appear. As we saw in the text file, we have to get rid of this structure:

office:document/office:body/office:spreadsheet/table:table/draw:custom-shape

and we do it with:

xmlstarlet ed -d "office:document/office:body/office:spreadsheet/table:table-row/table:table-cell/draw:custom-shape" yourfile.fods > fixed.fods

Done! Now the file opens in very few seconds, again! You can save it again as ODS.

Looking for a DVD player? I’ll build it with Linux, it’s very easy!

A friend wants an easy way to entertain his son or show him some DVDs. He is 2-3 years old so expectations are low. According to him the best option is to buy this portable DVD player with NES emulation support.

What? That screen is so bad! This to your kid eyes! I’m on it! I have an unused IBM ThinkPad in the basement, I’ll convert it into a Linux-based children’s video player/console in no time! Piece of cake!

First of all, I clean up after years of use: ew. The used masks are great and take away all the accumulated dirt with a few passes.

Then I update the BIOS to the latest version. The new bootlogo that appears at power up is aesthetically uglier, before there was the “vintage” Intel Pentium logo, now it’s modern.

The logo that appeared before (on the left) was very retro and I liked it better.

Well, anyway to see from the changelog a lot of things have changed so I leave it alone. I should have taken some pictures to document it.

Time to choose the operating system. Ten years ago I put Windows 7 but with a Windows XP skin because without Aero support it was aesthetically horrendous. But it was already a problem at the time: it refused to install because the PAE instructions were missing. To install it was quite complex. I absolutely don’t remember which processor it has. I bought it in 2009 in Japan, used, already 5 years old. I remember “Pentium 1.4 Ghz” of maybe 1.6. So it’s probably a Pentium M “Banias”, because the next ones have a numerical name. It doesn’t have 64-bit support. Ubuntu no longer exists at 32 bits. Oops!

Debian still has a 32 bit distribution! I take a 32 gb USB stick and flash on it the offline debian installation dvd, 4 gb. It won’t start. After 30 minutes or so, what if 32gb is too big? It’s too big. At the time, a 32 GB pendrive was pure science fiction. I flash the CD version of Debian in an old 1GB pen.

But you need the Internet to install properly. This computer does not have Wi-Fi. I have to get an Ethernet cable and connect it directly to the router.

In the meantime I try to see the status of the battery. According to Windows it is 255% charged, a sign that something is wrong (I should have taken a picture…). The battery of the internal clock is already gone and will have to be replaced, who knows the status of main one. I want to measure how long it lasts. I load the Debian setup, unplug it and start the stopwatch. Incredibly, it lasts over 40 minutes… and my phone memory is full! I stop the recording, I’ll try later on to see how long the gameplay lasts.

After finding the Ethernet cable, it’s time to start the installation. I’m really curious to see how the games above will run. At the time I bought this computer based solely on one parameter: price. I had assumed that this was a Pentium 4 Mobile, instead it is a “Pentium M”. The Pentium M, we read on Wikipedia, is not a low-power version of Pentium 4, but an evolution of Pentium 3, almost a Pentium 2. I’m a little demoralized. I thought I had a bomb, but I have a wreck. At this point I don’t even know if he’s got a DVD player instead of a CD! Anyway, it’s extremely quiet. Doubtful. Isn’t the fan probably broken?

The fan’s broken. Now it doesn’t turn on anymore, it says “Fan error” when it turns on. But it only takes a couple of knocks to start it up again. I’ll have to take it all apart and clean it up.

I do the basic installation, without including anything, just command-line tools. Once finished, I login, and type the first command:

sudo apt install xorg mednafen retroarch

I’m being offered an avalanche of packages, the installation will be long.

I type startx and then retroarch

The sadness. Just the user interface of Retroarch runs at 5 FPS, really in slow motion…

I’ll try installing Firefox and VLC to see how YouTube goes:

sudo apt install firefox-esr vlc

After a startx and then firefox the result is that even at 360p it’s too slow.

The audio is not installed, the guides are not clear and contradict each other. I go with a (definitely not correct)

sudo apt install pulseaudio alsa-tools alsa-utils alsaplayer-text alsaplayer-daemon alsaplayer-oss

After a reboot (faster to figure out how to restart the pulseaudio or alsa server) the audio works!

I’ll try a DVD, it looks like I have a DVD reader, thank goodness! Pirated DVDs work, but original ones don’t. You have to load the css libraries to read them.

While I’m trying to find out how to remove copy protection from the DVDs I’ve regularly purchased, I install Dosbox, SCUMMVM, Gcompris (great opensource preschool game).

I can’t install libcss, the library to read the original DVDs. I give up, anyway the child who will use this system will not be given them (for fear that it will ruin them, being too young)

I enable automatic login on the basis of this guide.

sudo nano /etc/systemd/logind.conf

change #NAutoVTs=6 to NAutoVTs=1, then:

sudo systemctl edit getty@tty1

(which creates a file in /etc/systemd/system/[email protected]/ called override.conf )

Then you paste this:

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux

enable and restart:

systemctl enable [email protected]
reboot

I install thunar (a kind of “file explorer”) to have the possibility to manage files with a graphical interface

sudo apt install thunar

Retroarch is so slow even with the rgui interface (the raw, DOS-style one) that it is totally unusable. It’s time to download some milestones of emulation.

sudo apt install zsnes pcsxr gngb nestopia

PCSX can’t decently emulate even Ridge Racer, even at the lowest resolution.

Mednafen sees the joypad inside Mednaffe (the configuration utility) and allows you to assign buttons, but then during the game it doesn’t see it. And then it doesn’t support Super Game Boy emulation.

Nestopia emulates Super Mario Bros. in slow motion as well.

GNgb works fine…. after losing half an hour for configuration exclusively via command line, it has glitches that make many games unplayable.

ZSNES works perfectly! Exactly as I remembered when 20 years ago I used it on a PC much less powerful than this one. Even in full screen and with filters!

Regarding video playback.

VLC is choppy with any kind of video, whether it’s a HD h264 or a 20-year-old crappy quality DiVX.

Mplayer (a version abandoned years ago) instead can play any video, even HD and h264, very smoothly.

So, I think this is the cause: the updated versions of emulators and media players use too many resources, I need obsolete versions to use this PC. Stuff like Visual Boy Advance, Bleem, Media Player Classic 6.4.

For Windows these ancient versions are easily found, for Linux it’s too hard. I lost an afternoon for nothing: it’s time to format everything and put Windows XP. I will then find a way to make it childproof

In the meantime, however, my friend is leaning more and more towards the 65 euro DVD player, there you just have to put the disc and press play…. but it’s less versatile! 😉