Author Archives: SiZiOUS

How to set Google Chrome by default on Lubuntu 19.04

Recently I wanted to set Google Chrome by default on my fresh Lubuntu 19.04 VM and despite the presence of the Make Google Chrome as default browser button, it never works: Firefox remains the default browser.

I wanted to setup Google Chrome by default without uninstalling Mozilla Firefox as I use both browsers. Open a Terminal then do the following:

nano ~/.config/lxqt/session.conf

Change the BROWSER variable to /usr/bin/google-chrome-stable as shown below. Save the changes.

Type: sudo update-alternatives --config x-www-browser then choose the /usr/bin/google-chrome-stable entry in manual mode (2 in the screenshot below).

Type: sudo update-alternatives --config gnome-www-browser. Do the same as above.

Type the following commands:

Then restart the computer (sudo reboot). Check now if the $BROWSER variable is OK by typing echo $BROWSER:

Then now, when checking Firefox, it should says that the browser isn’t the default, and Google Chrome shouldn’t complain!

DreamSDK R2 was released in March ’19

I totally forgot to post here, but I’ve recently released the DreamSDK R2 package!

A lot of improvements and changes are included in this release, like:

  • Full Code::Blocks IDE integration, including debugging on the real hardware, directly from the IDE!
  • DreamSDK Manager was redesigned and improved a lot.
  • A lot of new tools are included now, like makedisc, allowing you to create CD releases of your programs.
  • The Help content was improved a lot and it’s now available online (and of course, it’s still available in the package too).
  • A lot of other things that you will find out by yourself!

For those who don’t know what is DreamSDK, it’s a package which contains everything you need to develop for the Sega Dreamcast video game console on Microsoft Windows. This isn’t a ready-to-use high level framework like Unity, it’s a low-level SDK which is based on KallistiOS (KOS). So you’ll need to learn Dreamcast programming with KOS and learn C/C++ programming languages.

Download DreamSDK R2.

Happy New Year ’19!

I just want to wish you a happy new year 2019! 🙂

May the Dreamcast be with you this year!

DreamSDK R1 is released

So after almost 2 months of intensive work, I’m really happy to announce you that my latest project is done: DreamSDK R1 is out.

DreamSDK is a modern, ready-to-use environment for the Sega Dreamcast development designed for the Microsoft Windows platform.

Main features are:

  • Fast & easy to install: just double-click on the setup file and let the program install & configure everything for you.
  • Ready to use: All the required toolchains (for the SuperH & Yamaha AICA) are already prebuilt and ready-to-use.
  • Lightweight: Thanks to the MinGW/MSYS environment, the space used on the disk is minimal.
  • Configurable & upgradable: With the included DreamSDK Manager tool, manage DreamSDK components really easily.
  • Respectful of the standards: DreamSDK is 100% compliant with the KallistiOS standards and documentation.

This package has a very different approach comparing to the others packages of this kind. The major difference is that KallistiOS is not included: instead it’s downloaded/installed from DreamSDK Manager, which is a tool part of this package. This will keep up-to-date your installation and will allow DreamSDK always be usable, as only the toolchains (SuperH & Yamaha AICA) are included (which don’t changes often). In clear, doing so will give you the possibility to update KallistiOS directly from the DreamSDK environment.

Please also note that I’m using the official KallistiOS repositories (kos and kos-ports) and not my repositories (which contains various fixes on the build systems). The exception is dcload-serial and dcload-ip: I’m using my repositories as official ones will not compile on MinGW/MSYS without my fixes.

DreamSDK was built to be the greatest environment for Sega Dreamcast development on Microsoft Windows. I hope you’ll enjoy it as much I enjoyed to make this package.

Download DreamSDK.

Note: This package contains only free & open source tools and libraries.

My GitHub account was updated!

As I stated on Twitter, I’ve released all the source codes of all my tools I’ve published through years. Most of them are written in Pascal Object/Delphi, but some of them are written in C/C++.

All these tools were originally published almost 15 years ago, so a lot of them will not work on modern OS like Windows 10.

Maybe I’ll try to adapt/convert them for newer OS, maybe I won’t, who’s knows? 🙂

Click here to access to my GitHub account.

Apache Maven: How to extract XML node values from the pom.xml (in pure batch!)

If you are a Java developer you certainly know Apache Maven, which is (more or less) a Make equivalent for the Java world.

Some days ago I needed to automatically extract some values from the pom.xml file to automatize some operations. For example, I wanted to extract the values of the groupId, artifactId and version nodes from a Maven project, i.e. from the pom.xml file.

I finally created a pure Windows batch solution in order to do that, I called this little utility: POM Tool.

Here is the source code of it:

Just copy-paste that source code into a new file and call the file pomtool.cmd.

The usage is pretty simple:

This will give you the value of the artifactId node for the c:\temp\my-maven-project\pom.xml file!

Of course you can include a call to the POM Tool in another batch file, for example:

In that way, the %PROJECT_NAME% variable in your batch will have the output of the POM Tool utility, in that example the content of the description node! 🙂

Don’t hesitate to comments if you have any question! 🙂

Installing DiscJuggler on Windows 10

If the Sega Dreamcast world is familiar to you, you most certainly know the  CDI image format. CDI images are mostly bootable images for the Dreamcast: simply burn the CDI disc image and then put that burned CD-R inside the Dreamcast to see the game booting.

CDI images are generated with a tool named Padus DiscJuggler. The latest version (development is halted) is the 6.00.1400 version released back in 2007. Today, I wanted to install this tool on my Microsoft Windows 10 Pro x64 Update 1803 computer, but unfortunately it doesn’t work, this message always appears:

You need to reboot your system.

That’s obviously what I did. I restarted 3 times but nothing to do: this message is still displayed and the software does not install.

After disassembling the executable, the problem is simple. It’s caused by the presence of some values ​​in the Windows Registry under the RunOnce key. Since DiscJuggler is a 32-bit program, you have to check if there are values in these locations:

So actually in my case I had many values ​​in the keys above:

A value is present in the RunOnce key

In theory, it’s enough to restart the computer so that the RunOnce keys are cleared automatically of their values. Programs in these keys are in theory executed only once then these corresponding values ​​are automatically deleted (in this screenshot, the only value that exists is called PreRun).

But in my case, nothing works, the RunOnce key always contains something: this famous PreRun program from Gigabyte! This is because I actually have a Gigabyte motherboard and I’ve installed some tools that came with my motherboard. Even by deleting this value by hand (do not forget to run regedit in Administrator mode), it’s always re-created automatically (just hit F5 to see it reappearing after a few seconds …). So the installation of DiscJuggler always displays that You need to reboot your system. message…

In my case, the solution is simple. I’ve just stopped the GIGABYTE Adjust service so the PreRun value isn’t recreated, just enough time to install DiscJuggler.

Stopping the GIGABYTE Adjust service

After doing this, the installation can begins:

Installing Padus DiscJuggler 6.00.1400 under Windows 10

And best of all, the program works very well under Windows 10! 🙂

Preparing the Raspberry Pi to act as a server

As you already know, the Raspberry Pi is a wonderful nano-computer with a lot of features. By default, the Raspbian OS is configured to be used as a desktop computer. But it’s better used like a server! To do that, we need to perform some cleanup (i.e. removing useless packages) and add some additional packages to convert our Pi into a real server!

Setting a static IP

Before starting, you should have set a local static IP. Click here to learn how.

If you have a dynamic IP address from your ISP, you should use No-IP or something similar in order to access the Pi from anywhere. Click here to learn how.

Removing useless packages

The commands below removes all desktop useless packages.

After that, we have a more lighter Raspbian OS.

Updating the Pi

Now it’s time to update your Pi, to be sure you use the latest packages.

Enter the following:

If you want, you can upgrade the distribution if you have installed your Pi long time ago:

Then, you can update the Pi firmware too:

Then to finish the update, your reboot the Pi:

Creating an update script

It’s a good idea to create a shell script to execute these commands regularly:

The copy the following in that script:

Then hit CTRL + X  and Y  to save.

Make it executable:

And now, you can execute it by :

Or you can use cron to execute it regularly automatically if you want, but I dislike this since I want to check the compatibility before doing anything!

Installing xRDP (Optional)

xRDP is a great package to access the Raspberry Pi throught RDP, which is the Microsoft‘s technology to use a computer remotely. Of course this is useful if your daily computer is Windows-based! In that case, you should run the mstsc executable. If you have an Unix system like Ubuntu or MacOS X, you can use Remmina (which is a RDP client) or just stick with SSH (which is enabled by default in Raspbian)!

To install it, follow this guide, or follow the steps summarized below.

The first thing to do is to disable the RealVNC client that comes installed with the latest Raspbian image because it causes some problems to xRDP.

Enter the following command:

Choose the  5 Interfacing Options option, then P3 VNC . Disable it when asked. After that, install the xRDP package:

Finalize by solving the ‘X’ cursor problem:

Now your Raspberry Pi can be accessed by xRDP.

Done!

So now you have a clean and ready Pi to be used as a server! 🙂

Happy New Year ’18!

I wish you a Happy New Year ’18 everyone! 🙂

Yeah I know my website is pretty dead but this is just a wrong feeling, I’m not dead, I just run out of time. 🙂

Cheers! 🙂