Synching Android and macOS with Nextcloud

Google and Microsoft are further along on the technology, but haven’t quite figured it out yet - tie all of our products together, so we further lock customers into our ecosystem. — Steve Jobs

We may suspend or stop providing our services to you if you do not comply with our terms or policies or if we are investigating suspected misconduct. — Google

I recently set up my own Nextcloud server to synchronize contacts, calendars and files between my laptop and Android smartphone without intermediaries. Here are the client tools I used.

Continue reading »

How to not give a fuck about business trends to find your niche

NearlyFreeSpeech.NET is a sharing hosting provider with a pretty unique approach. The amount of fucks they give about trends, be it business models popular in industry or cloud stuff or “fanatical support™ with customer champions”, is close to zero. This is adorable and I highly respect such people.

Continue reading »

Blogging is probably not dead

I’ve been into blogging since around 2003 when I created BlogJet, one of the first blog clients for Windows (it was later acquired and is not developed by me anymore). In 2005 I started a blog about marketing and online business in Russian, which was quite popular and was one of the top 10 standalone blogs according to Yandex for some time. Later I burned out and essentially stopped blogging; while that blog is still online, I publish only one or two posts per year.

Continue reading »

Mac developers: Use AQDataExtensions with caution

AQDataExtensions is an NSData category developed in 2005 by Lucas Newman and distributed with AquaticPrime framework which “allows for easily encrypting and decrypting NSData objects with AES/Rijndael (i.e. the Advanced Encryption Standard)“.

The methods are:

- (NSData*)dataEncryptedWithPassword:(NSString*)password
- (NSData*)dataDecryptedWithPassword:(NSString*)password

Unfortunately, AQDataExtensions has the following weaknesses:

  1. Weak key derivation function.
  2. No authentication.
  3. Weak random numbers.

Continue reading »