Michael Agarkov's Creative Avenue

08.08.2023: What is the best IDE?

As we know, there are many Integrated Development Environments out there, some are made for specific programming languages, some are made for many, and some are for any, like StandalIDE, which is an IDE I made fully myself and made available on my GitHub. With the number of them out there, which has the most features and can be called the best one?

The most universally accepted one is Visual Studio Code, which is cross-platform because it's made in Electron. It can support any programming language out there with the help of an appropriate extension, but because it's made in Electron, it lags a lot on older hardware and takes up a lot of RAM, so I can't personally recommend it. While VSCode's source code is open-source, its official binary releases aren't, so if you want a fully open-source version of it, you can check out VSCodium, which is VSCode built from the open-source source code.

But what about Visual Studio? It's only available on Windows and has an official macOS port. It supports any programming language as long as an extension exists for it; it has all the features you would ever want, but it's not open-source, and its free version has some limitations. I can recommend it if you like Windows Forms.

What I can also recommend if you like WinForms is PascalABC.NET, which is an open-source IDE that allows you to write software in Pascal (and C#) with the use of the .NET Framework, and it has a built-in WinForms designer. Fun fact: I made StandalIDE entirely in it.

But what if you like low-level programming languages like C or C++? Then I highly recommend checking out Code::Blocks, which is a cross-platform open-source IDE for programming in C/C++, Fortran, and the D programming language. It supports many compilers, has the wxSmith GUI editor for wxWidgets, and even supports plugins, which you can create directly in it! Also, its built-in hex editor is the best one I think I've ever used.

But now, what IDE is the best? This question already seems irrelevant because all IDEs have different features and support different languages, so I think the answer to this question depends on the programming language you are going to use it for. For me personally: Visual Studio for C#, Code::Blocks for C/C++, Fortran, D, and Visual Studio Code for Python, and everything else, pretty much.

I hope this was helpful!

05.08.2023: Just a small vent, because I can't not talk about this...

I'm still absolutely out of my mind about the fact that gender equality is not happening here in Russia. Men are expected to have mandatory military service for a whole year without any compensation, they have less rights as a parent, and their retirement age is 5 years later than women. Why is the government so evil? I guess we will never know... all I want is peace and equality for everyone, for stereotypes to be gone, but this world is so evil, it feels hopeless...

02.08.2023: What is the best file archive format?

As we all know, there are many formats that allow you to pack multiple files and even folders into a single file, but now everyone seems to be using different ones, like zip, 7z, rar, tar, bzip2, gzip, xz, et cetera. But which one can be described as the most universal one, which ensures that it can be opened in as many places as possible while still having decent compression, password-protection encryption support, and checking for corruptions and being able to repair them?

As we know, zip is the most universally known and open format, which can be opened by pretty much any relatively modern operating system, and it can store multiple files, unlike gzip and bzip2, which are usually packed in a tar file before being compressed. It can also compress files using Deflate, Deflate64, BZip2, LZMA, and PPMd, which are all good compression algorithms, and it supports password-protected encryption using ZipCrypto or AES-256, all while storing checksums for all files for corruption detection and repair.

On the other hand, 7z is another open format with an official open-source implementation by no one other than the creator, Igor Pavlov. It's not the most widespread, but its popularity is still ever growing. It supports BZip2, PPMd, and also LZMA and LZMA2, which were also created by Igor Pavlov and have one of the better compression ratios, as well as supporting password-protected encryption using AES-256 and storing checksums for all files for corruption detection and repair as well.

But how about rar? It can contain recovery data, so it's probably the best for archiving data, right? Well, here's the deal: It's not an open format, and to use it, you have to use their commercial software, which has the infamous 40-day trial, which lets you use it even after it has expired. If you are okay with buying a WinRAR license or seeing a popup every time you open it, then it's alright. But if you are a Linux or macOS user, then you can only use it through a command line because rarlab didn't port WinRAR to those platforms and only published command line utilities to work with.

But what if you don't need any features at all and just want to have multiple files and folders in a single file and nothing else? Then tar is the format for you. It was created more than 40 years ago and is still used to this day by many.

But what if you want to use bzip2, gzip or xz for multiple files or folders? They can only compress one file, right? That's where the tar format comes in, and the reason you commonly see files that end with ".tar.bz2", ".tar.gz" and ".tar.xz". All those compression formats are good for certain purposes and are widely used by Linux users.

So, in conclusion which is the best one to ensure compatibility, compression and protection?
My personal conclusion is zip, because it is the most widely supported, and which mostly supports all the features mentioned above. Want to simply send files and ensure that they aren't corrupted later? You can use zip just like tar, without compression, but it will also save file checksums. Want to compress it? Use the algorithms that work best for you; all the ones mentioned earlier (except for LZMA2) are supported. Want to encrypt it with a password? Yes, you can. Want it to open on any system? Just compress it with Deflate to ensure that it can be decompressed.

I hope this was helpful!

01.08.2023: The start of this website!

The first of August 2023 is the day when I am making this website, and I am happy to publish it on neocities! I will constantly (try to) keep it updated as actively as I can!

Copyright (c) 2023, Michael Agarkov
All rights reserved.