Wednesday, July 15, 2020

Full Backup

As many others I underrated a good backup for a long time, despite having lost several precious stuff, like my early source codes in Basic and Pascal, or my early music attempts in FL Studio.

I usually created some backup floppy disks, later CDs and DVDs, and finally external hard drives, but it was too much hassle, so I did it only once in a while. I copied everything manually and therefore the backup quickly became obsolete.

I was aware of that and tried to find a comfortable solution, that would make me backup more often. My recent ThinkPads had/have secondary HDD in the UltraBay, currently 1 TB HDD besides internal 0,5 TB SDD, so simple copy between those drives could be considered a backup, but it won't work against my current biggest dread – ransomware.

I tried to mitigate this issue by using Dropbox with a BAT file for copying changed files, but increasing backup size and my decreasing satisfaction with the on-line service made this solution suboptimal once again.


One day I got an idea for an ultimate solution: purchase an external drive and just do a periodic backup of my entire storage. This way I wouldn't have to care what files goes into to backup and therefore the entire backup process could be automated/unattended. Well, except for plugging the drive in and out, of course, because I don't want it to stay connected (ransomware often encrypts connected external drives as well).

Because most of the data I need to backup is work related, I asked my boss for the drive and he agreed. Also he probably didn't want me to bother him with upgrades later, because instead of requested 2 TB I got a 4 TB WD My Passport :-)

It's brilliant I can keep the high-speed micro USB 3.0 cable permanently in my ThinkPad dock, so I just need to plug the drive in and initiate a backup.

The next step was to find a proper software. I wanted open source or at least freeware and the best was often cited Cobian Backup, so I gave it a try. It's exactly what I wanted! I created a task in Task Scheduler to launch it once a week, the rest I process manually when I find it sitting in the SysTray.

This is the amount of effort I'm willing to do, so this solution works nicely.

However, in a few months I noticed some directories were missing from the backup. I found a post describing the same issue, but with no remedy and with source code of Cobian Backup sold to another entity I don't see it fixed. So I decided to try to find another open source backup software.


FreeFileSync

This time i chose FreeFileSync. It claimed to be the fastest of the lot. While Cobian Backup needed around 7 hours to backup both drives, FreeFileSync needs just around 1h 15m to do a regular sync (weekly it's usually around 25 GB out of 1500 GB in total). It takes ~35 minutes to build a list of files to be synced and another ~40 minutes to do the actual sync. Impressive!

I'd love to know what's the difference, because I assume both programs do pretty much the same, only Cobian does the backup while traversing the dir tree, while FreeFileSync does the traversing first and backup later (and therefore is quite memory hungry, peaking slightly over 2 GB RAM).

Saturday, October 26, 2019

Microsoft's Edge

I was looking for some distract-free environment for web development, so I started using Vivaldi as my browser of choice. I chose Vivaldi, because I picked it some time ago as a potential successor to my aging Firefox.

But after the recent update Vivaldi started to crash on page refresh, which is a quite frequent task in web dev. It was really annoying, so I decided to find a temporary replacement.

I don't want to use Chrome for personal reasons, so I was basically aiming for Opera, until I stumbled upon a promising newcomer – rebuilt Chromium based Edge from Microsoft, firstly released in April 2019.


Because I really like what Microsoft does for devs under Satya Nadella's leadership (Visual Studio Community Edition, VS Code, .NET Core, Linux, OSS and more), I decided to give Edge a try. And I quite liked it, I found no problems whatsoever and most Chromium based browsers are essentially the same.

I was pleasantly surprised they ditched the logo, which was suitable for the old Edge, but somehow looked weird to me on the new one.

And despite the bug in Vivaldi has already been fixed, the supposed temporary replacement became permanent. Sorry, Vivaldi, Microsoft now has edge over you. I mean, Edge.

Monday, May 27, 2019

Great paid tools are all around

You would expect paid tools are somewhat good, but some of them are particularly good and/or good value for money:

PhpStorm

Excellent IDE for PHP and web development. Subscription $53+/year, with perpetual license fallback. Web: jetbrains.com.

FL Studio

Music composition studio. Fruity edition for $99, with all future upgrades included. Web: image-line.com.

eM Client

E-mail client and PIM. If you don't want Outlook and Thunderbird is not enough for you (e.g. you use Exchange). $50. Web: emclient.com.

Total Commander

File manager by Christian Ghisler. ~$48. Web: ghisler.com.

Monday, May 20, 2019

Great free tools are all around

For some great tools you don't have to pay anything even for commercial use and therefore deserves a shoutout:

Paint.NET

Bitmap graphics editor. Rick Brewster intended it as a replacement for MS Paint, but he continued working on it and created a capable yet lightweight photo editor. Web: getpaint.net.

PSPad

Text and code editor by Jan Fiala. Web: pspad.com.

XMPlay

Lightweight yet amazingly capable music player by Un4seen. Web: support.xmplay.com.

Sourcetree

GUI for Git. Requires free Atlassian ID account. Web: sourcetreeapp.com.

X-Mouse Button Control

Tool for enhancing mouse experience in Windows. Web: highrez.co.uk.

Monday, May 13, 2019

Great open source tools are all around

There are several great open source tools, that deserves a shoutout:

Visual Studio Code

Despite it's not an IDE, but “just” a code editor, Microsoft made it VERY capable thanks to great architecture and various plugins.

HeidiSQL

Database manager by Ansgar Becker, formerly MySQL-Front. Not just for MySQL and MariaDB, but supports also Microsoft SQL Server, PostgreSQL and even SQLite. Web: heidisql.com.

And if you look for a single PHP script to do similar job, there's Adminer.

draw.io

Vector graphics editor. Web: draw.io.

Audacity

Audio wave editor. Web: audacityteam.org.

Leaflet

Map viewer for web. Web: leafletjs.com.

KeePass

Password manager, with many useful plugins. Web: keepass.info.

PuTTY

SSH and telnet client. Web: putty.org.

WinSCP

SCP and (S)FTP client by Martin Prikryl. Web: winscp.net.

SumatraPDF Reader

Lightweight PDF reader. Web: sumatrapdfreader.com.

T-Clock

Clock replacement for Windows. GitHub: White-Tiger/T-Clock.

Double Commander

Multiplatform alternative to Total Commander. Web: doublecmd.sourceforge.io.

FreeFileSync

Backup software by Zenju, with emphasis on speed. Web: filefreesync.org.

Thursday, March 14, 2019

Firefox Quantum

Thanks to Quac I was able to abandon my precious XUL based extensions for Twitter and RSS and migrate my profile from Firefox 52.8 to the newest release of Firefox Quantum Developer Edition.

To my surprise the transition was totally smooth and painless, I only copied the profile directory (in case I'd need to rollback) and launched the new browser with profile selection.

It even had some tabs open after startup, however they were from some ancient snapshot, so I had to re-add them manually, as I keep many of them them opened as a form of To-Do.

I started to customize it to be like I'm used to and I was happy to see it's not that difficult to make it that way. Like having bookmarks toolbar + urlbar + searchbar on the same row, but in Quantum it shrunk the urlbar quite a lot.


I was pleased to see they kept support for userChrome.css tweaks, even it's disabled by default. To enable it the only thing necessary is in about:config set toolkit.legacyUserProfileCustomizations.stylesheets to true. After that I defined widths for urlbar and serachbar and voilà!

Browser Toolbox for UI inspections didn't open, so what helped was to delete chrome_debugger_profile subdir from the profile directory.

It looked fine now, but extension icons was in the way. Fortunately Firefox Quantum allows to move them into the tab-bar as well, not just to the Overflow Menu. It creates an initially unwanted gap between extension icons and window buttons, but using the gap you can grab the window and move it, which I missed before, so it's a welcomed feature.

I didn't find how to revert the search bar to the old style, but at the end of the day I think the current way is actually faster, I just have to do a mind switch from pick-type to type-pick. And speaking of faster, the whole browser's UI feels nimble, which is really nice.

Friday, April 6, 2018

KeePass and PuTTY

Install PuTTY and add it to PATH in Windows (System Properties > Advanced > [Environment Variables...] > System variables > Path > [Edit...] > [New] > e.g. C:\Program Files\PuTTY

In KeePass: Tools > Options > Integration > [URL Overrides...] > [Add]:


Scheme: ssh

URL Override: cmd://putty -load "Default Settings" {BASE:RMVSCM} -l {USERNAME} -pw {PASSWORD}

Tuesday, March 28, 2017

Using INDEX and LOOKUP in Excel

We developers sometimes need the customer to collect some initial data, because he probably has something already. Usually Microsoft Excel, which is fine, because it contains many useful functions and features.

INDEX

One of such functions is INDEX (in Czech POZVYHLEDAT), which returns a value from defined block/column at defined row/index. You can check out the official documentation for this function for more info.

This way you can create simple “database” with lookups (enums) defined in a special sheet, that even may be hidden. Then you use Data Validation (in Ribbon on tab “Data”, section “Data Tools”) , that allows only certain values.

Then you can define lookup for the value as: =INDEX(A:A;2), where A:A is the whole column “A” and 2 is row number, which points to cell A2.

LOOKUP

But if you want key-value, function LOOKUP (CS: VYHLEDAT) is a better choice. There are also VLOOKUP and in Excel 365 is even better XLOOKUP.