Monday, June 24, 2019

Splitting and rebuilding large files with Icaros 2.2.8

by on Monday, June 24, 2019
Some days ago, Aros-Exec user Salvatore reported that Sploiner, a CLI utility designed to split, join and recover big files, had been released along with source code. These sources built fine under Icaros' development environment so I could add the program to the distribution. Salvatore, however, also hinted that this program, once available on AROS, would have been fine for a new Magellan option, and so I did. It took a little while, because - as usual - I had to transform a "pro user CLI mentality driven" tool into a "casual user two click and go" one, and the best way to do that is by shell scripting.

First of all, however, let's talk a little about Sploiner. Sploiner is a one-command utility wich basically performs three different functions: splitting large files into little ones, rebuilding files from their parts and even recover the original file if a part is missing. I'll leave for now the recovering part, focusing on the other two. Sploiner can split a large file with a command like this:

Sploiner SPLIT filename -n <-s size> <-o outputname>

the -n option does not produce shadow files, sploiner's CRC control files it can use to rebuild a part of a file, if missing. The -s and -o options are more interesting because they actually produce part files, with filename and size chosen by user. For instance, let we split the video file from Josh Woodward coming in MyWorkspace/Videos in double-high-density floppy format (2,88 MB):



On the contrary, a syntax like this:

Sploiner JOIN basename AS namefile

would do the exact opposite. The basename in the former example would be jv_video, while the namefile should be JoshWoodward_InvisibleLight.mpg. Quite cosy, don't you agree? Yes, it is. But now let's transpose all this into a point'n'click GUI like Magellan one. We have a file to click on, and we wish to split it. How should we handle this?

First of all, I thought that asking the user for a parts namefile would have been a waste of time. The original large file already has a name, so why shouldn't we use it as well? Maybe because some of AROS filesystems still expect a 32-character lenght name, and simply adding the _PART.xxx suffix might exceed the quota. So I thought that the best solution would have been taking the first 22 characters of the original name and to append the _PART.xxx postfix to it. In our example, JoshWoodward_InvisibleLight.mpg would be splitted into several JoshWoodward_Invisible_PART.xxx name. But how many parts? That's a question only users can answer to. My solution to this problem has been using a RequestString instance, suggesting the size of a common high-density PC floppy disk (about 1,44 MB), with some bytes left. User can change this value to fit the size of a double-high-density one, or the size of a CD-R (700000000) if the original file is particularily large. At this point, we've all that we need to perform the action:


My script also creates a little text file called <basename>_PART.name which contains the name of the original file. Why? Because if you don't know it already, you may have some problems rebuilding it. Let's think about this scenario: a friend of yours gives you all the part of a video, but you don't know how the video was named in the first instance. Without further information, you wouldn't be able to name it correctly. The _PART.name file resolves this issue and tells Icaros how to name it after rebuilding. Operation that is performed like this:


In this case, only a question is proposed to users: should we keep the part files or not, after the join operation? If we choose to delete them, only the rebuilt file will be kept.

Friday, June 21, 2019

New development version of Icaros 2.2.8 for supporters

by on Friday, June 21, 2019
A new WORK-IN-PROGRESS version of Icaros Desktop Live! (so, the whole environment with all development and extra stuff) is now available to our supporters, which basically means patrons (on our Patreon page) pledging $15 or more every month. This version includes all enhancements applied to the distribution before june 14th, 2019 (sorry for missing the latest week, but I had some connection issues and uploading the whole package to the server took a while), so it will try to go fullscreen but Hosted prefs won't act differently when running on Linux or Windows. Please read this carefully: this is NOT a new version of Icaros Desktop. The road to v2.2.8 is still quite long.

- added new hi-res CC-licensed images in Extras/Wallpapers
- fixed "browse for images" appearing not only for LH archives
- fixed traceroute in C
- updated x86 and M68K MCC_TextEditor to latest release
- added Atari800 to Extras/Emu
- updated InstallerLG to latest build
- updated ViewLHA to version 0.7
- added run_Lodepaint script by Salvatore Abbate to Extras/OpenGL/Utilities

- updated VIM to latest release
- deleted duplicated AmiTimeKeeper from Extras/Networking
- modified icaros hosted installation scripts for Linux and Windows
- modified icaros hosted launch scripts for Linux and Windows
- modified hosted prefs to attempt fullscreen (Linux only)

- new variables defined in Envarc: for hosted fullscreen and memory prefs
- modified hosted prefs to manage reserved memory
- fixed: hosted installations won't ask about VMware driver anymore

> Get it here!



Icaros Desktop on Amiga NG

by on Friday, June 21, 2019

Polish Amiga magazine Amiga NG has published, on issue #5 (04/2018) an interview with Paolo Besser, mantainer of the distribution (well, me), actually the same that was published also on Komoda & Amiga Plus. The article spans for many pages and provides also many full-colour images, photos and screenshots, and the font is big and easily readable. Anyway, don't get fooled by the simplicity and the 'old' style of the cover and the DTP job: contents wise, Amiga NG is a very good magazine, with a great selection of topics and articles, covering evertyhing related to "next generation" Amiga-like systems.

The full colour, A4-format 64 pages magazine can be ordered here.

Thursday, June 20, 2019

Enhancing hosted configuration /2

by on Thursday, June 20, 2019
Works on hosted stuff goes on. As you may know, Icaros Desktop can work hosted both on Linux and Windows, but with a different set of features and settings. I finally decided to change how the "Hosted" preference program in /Prefs work, depending on the host OS where hosted Icaros is running. In particular, it will now display different options:


"Memory" and "Hosted" option are now available on both host operating systems, while the last one will change according to your one. On Windows, as usual, it will be possible either to refresh host drives at startup or not, while on Linux the new "Attempt full screen" option will... well... attempt to start Icaros Desktop in full screen mode (results will depend on your distribution, graphic drivers and window manager). I have also reworked the hbadd command, which - I discovered - couldn't handle correctly the integration of hosted programs which needed parameters: they were simply ignored. Since the issue was somehow related to the requestchoice-based menu used in the hbadd script, I just removed it and made the procedure a sequential operation where the users are always asked for parameters: if there isn't need for them, users just have to leave the field blank and press Enter. When done, hbadd will require wether to add an icon or not.

Wednesday, June 12, 2019

Enhancing hosted configuration

by on Wednesday, June 12, 2019
Today I decided it was time to rework Icaros installation and launch scripts for hosted modes. In fact, there were at least three areas I could improve. First of all, the network behaviour under Linux was quite awful: according to the Icaros manual, once you set up the AROS network, you end up having a script called tap_on.sh in your Icaros directory, which is meant to be run once per Linux session. This will bring up the aros0 network interface, which is mandatory for AROS to enter the Internet through the Linux host. Every time hosted Icaros was started, it checked for the aros0 interface and for the tap_on.sh script: if it found the latter, but not the former, it asked the user if it had to start the aros0 interface as well. It was a good feature (I always forget to run the tap_on.sh script), but it could be better. In my opinion, if you decided to set up the network when you installed Icaros, it means that you also want it to run every time as well. So, asking the user wether to run tap_on.sh or not every time was quite pointless; Icaros will now behave differently: if it finds the tap_on.sh script, but not the aros0 interface, it starts it automatically (still asking for your user password, since this operation requires root priviledges), unless you disable AROSTCP from the AROS side. It makes much more sense.

The second change regards memory reserved to Icaros Desktop. Previously, you could decide the amount of RAM during installation only. The value was then 'hardcoded' in the Icaros launch script and the only way to change this value was editing it with a text editor. Not a great hassle to be honest, however it was ugly and definitely needed a change. The memory value is now written into a new variable which is read by the Icaros startup script. This will work for both Windows and Linux. The memory can now be managed using the (improved) Hosted preference program:

Prefs/Hosted

If you modify the memory amount, however, you will also be required to shut down the current Icaros session and start it again, since the Icaros startup script must be executed again to reflect changes. AROS hosted memory can't change dynamically. As you may notice, the Hosted program also features a new option: "Attempt full screen". What does this mean? Basically, that Icaros will also try to run in fullscreen mode, but success will depend on your Linux distribution and window manager of choice. I can assure you that Icaros will go full screen on Linux Mint 19 with Xfce, but maybe it will not work the same way on other distributions:

Icaros Desktop hosted full screen on Linux Mint 19, 32 bit, with Xfce
There is a limitation, though: once AROS takes enters full screen mode, it practically steals the output to other Linux applications, which will still run on the background, but will also be impossible to see (not good for HostBridge). I still have to find a way to minimize AROS in this case, so maybe you can help me on this! :-)


...by the way...


while we are at it, I have another screenshot to show you about Deadwood's secret project. Someone thought I showed Wanderer running 'somehow hosted' on Linux, but that's not the case (please look the shell commands and output). I will raise the bar a little with ZuneFIG running on 64-bit Ubuntu Linux. Isn't it lovable?



Sunday, May 19, 2019

Interview by Komoda & Amiga Plus

by on Sunday, May 19, 2019

I really would like to thank our friend Don Rafito from polish magazine Komoda & Amiga Plus, who kindly decided to interview me, Paolo Besser (Icaros mantainer), and publish a four-page article with my views, thought and rants about Aros, Amigas, Icaros and so on. :-)

He's also been so kind to send me a printed copy of the magazine (issue #12, if you'd like to order it), which I've read with great interest. Komoda & Amiga Plus is a great mag, available in polish and english languages, with interesting articles, good reviews, amazing interviews printed on thick, premium quality paper. For Icaros Desktop, it's been a pleasure to be featured there, and I am very proud of it! So... what are you waiting for? Grab your credit card and order your copy!

> Komoda & Amiga Plus website



Translate