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:
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.
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:
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).
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'@'%'.
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.
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:
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.
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.
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.
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:
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!
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.
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)
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! 😉
I recently purchased a VPN subscription from Fastest VPN, with the purpose of using it on Linux, via SSH, command line only. They don’t offer anything special about Linux and the command line, they just use OpenVPN.
How it works: simply install OpenVPN (for example with sudo apt install openvpn), then download the configuration files (for example, these are the files for Fastest VPN) and just write sudo openvpn nomeserver.ovpn to connect.
But there is a big problem: each time you have to write the password by hand! Intolerable, especially with a complex password. Luckily there is a shortcut.
You can create a file with credentials. In a directory accessible only to you, create a file called login.conf and enter, on two lines, username and password, like this:
At this point we modify the *.ovpn files of the configuration. For example, open Luxembourg-UDP.ovpn and see the auth-user-pass entry. We replace it with auth-user-pass login.conf, so when we load the configuration with openvpn, our credentials are auto-filled. Now though, here are 50 files, one for each server. Do we open the files one by one and edit them by hand? No way! sed was invented on purpose.
Just write it down:
sed -i 's/auth-user-pass/auth-user-pass login.conf/g' *.ovpn
and automatically all lines with auth-user-pass will be changed with auth-user-pass login.conf. So, when we download the updated server configurations, they will continue to work perfectly!
Summer time is back in effect from today, so I changed the time on the few devices that can’t adjust on their own via the Internet.
This includes the Nintendo DS, and seeing it sitting there on the shelf gathering dust reminded me of an episode that happened years ago: Pokémon Diamond could tell when you changed the time, even if the cartridge wasn’t inserted and there was no Internet connection! But how did he do that?
The solution they found is very simple: the internal clock remains at the same time, set in the factory, and when you set the time it is not actually changed, but simply the system takes note to add the difference. For example, “add 34599 seconds to the system time”.
So, games with time rewards like Pokémon or Animal Crossing just need to write somewhere in save file the difference between the “fake” and the “real” time: if it only changes by one second, it means that the user has changed it!
If you have a 3DS you can hack the system to always use the real date. After enabling homebrew (a bit complicated and laborious, if interested ask in the forum or in the comments, I leave here this guide), you can run ctr-no-timeoffset to set the difference between the two clocks to zero, and then set the internal time to the “correct” one via GodMode9.