Easy way to download all your photos and videos from Google Photos at once

Some time ago Google introduced a new website called Takeout where you can download all your data stored by Google at once.

It is enough to go to the Takeout page and select the data you are interested in. For example, unselect everything except Google Photos. Click "Next step" button and wait for an email with a link to your download. I got my link after 2-3 minutes. The link takes you to a zip package containing all the data you requested.

Transmission daemon doesn't create a log file nor a pid file

So you edited default transmission-daemon settings file (/etc/default/transmission-daemon) then restarted the daemon and nothing happened? Well... thanks to this thread on unix.stackexchange.com I learned that transmission-daemon is managed by systemctl and because of that init.d scripts that use mentioned default config are ignored.

To tell the daemon that you want him to create a pid and a log files you need to edit /lib/systemd/system/transmission-daemon.service file to look like this:

Description=Transmission BitTorrent Daemon

ExecStart=/usr/bin/transmission-daemon -f --log-error --log-debug --logfile /var/log/transmission-daemon/transmission.log --pid-file /run/transmission-daemon/transmission.pid
ExecStop=/bin/kill -s STOP $MAINPID
ExecReload=/bin/kill -s HUP $MAINPID

  • RuntimeDirectory tells systemd to create transmission-daemon folder inside /run owned by daemon's user. We want this because the daemon runs under debian-transmission username which doesn't have access to the /run so it won't be able to write to this directory.
  • LogsDirectory tells systemd to create transmission-daemon folder inside /var/log. Reasoning is the same as above.

Now you can restart the daemon (don't forget about systemctl daemon-reload before restarting) and the log and the pid files should be in place.

Intel Pentium Silver J5005 supports 16GB of RAM

I finally got my ASRock J5005-ITX motherboard and can confirm that it is able to handle 16GB of RAM. Although Intel's web page says this CPU supports up to 8GB, I have successfully installed Ballistix 2x8GB SODIMM kit (model BLS2C8G4S240FSDK) and it has got correctly recognized by BIOS and Ubuntu OS.

16GB of ram discovered correctly by Ubuntu System Information
Figure 1.

There are also other people reporting that this CPU supports 16GB. For example in this review Intel's NUC built on J5005 works with 16GB of RAM. There's statement that RAM modules need to be 2400MHz ones. This not necessarily has to be true as ASRock maintains RAM compatibility table for mentioned motherboard where 2133MHz modules are also listed.

Edit note: A reader contacted me regarding compatibility issues with his Kingston HyperX Impact 8GB - HX424S14IB2/8. He bought two pieces for dual-channel but motherboard behaved like the RAMs were damaged. Even when using only one of them. Finally what helped for him was the BIOS upgrade. Now they run smoothly in dual-channel. So keep that in mind that flashing the newest one to your J5005-ITX can add support for your RAMs.

HBase Thrift C# Article

I have recently added an article showing HBase as a database for C# clients. It describes how to connect to HBase from C# via Thrift and how to retrieve data from HBase tables. You can also find some useful tips there. Hope you will find it helpful: Hbase and thrift in .Net C# Tutorial.

Internet wifi drops/disconnects. Connected to wifi but no internet.

After migrating to Windows 10 from 7 I had Wi-Fi internet issue. After some time (e.g., 5 minutes) my WiFi connection was reporting "No Internet". Reconnecting manually to the WiFi was fixing the issue. After digging some time in the internet I found out that this has something to do with IPv6 address assignment. If you don't need it you can disable it using the "Disable IPv6" tool from microsoft site.

Mirror on my site in case mentioned site is down: download.

People also reports that in some cases that helped to solve Ethernet issues in Windows 10.

Additionally I have installed the newest Broadcom drivers I could find for my bcm94313hmgb chip. It was broadcom_bcm_5.10.97.7 from this site: Broadcom BCM943XX/BCM43XX WLAN Driver for Vista

Audio In Motion (AIM) SC808 - No sound problem

If you want to use SC808's daughter board (or HD Audio connection probably too) you have to disable integrated audio card in BIOS! Otherwise Windows doesn't install drivers for the daughter board (it is visible as a separate card in Windows Sound panel).

Convert any TypeScript value to Enum string value

Enum conversions in TypeScript are a bit tricky. You can't be sure what will you receive when converting from your Enum. Let's take following enum as an example:
enum Categories {
drawing = 1,
When you take a look at the output of below conversions:
var str: string = "painting";
var num: number = 2;
var numStr: string = "2";
var category: Categories = 2;

console.log(Categories[numStr]); //The most interesting case

Enum Conversion Output

You will notice that generally converting from number gives a string and converting from string gives... number or string.

I was trying to solve a scenario where I had an unknown value (enum number value as a string or as a number or just an enum string value but I didn't know which one at the moment) and I needed to map it to the enum string value. I end up with below function. It's pretty generic because it can map any value to any enum.
function varToEnumStringVal(value: any, enumerator: any): string {
var en: { [index: string]: any } = enumerator;

if (!isNaN(parseInt(value)))
return en[value];

var num = en[value];

return en[num];
var str: string = "painting";
var num: number = 2;
var numStr: string = "2";
var category: Categories = 2;

console.log(varToEnumStringVal(str, Categories));
console.log(varToEnumStringVal(num, Categories));
console.log(varToEnumStringVal(numStr, Categories));
console.log(varToEnumStringVal(category, Categories));
And now you can be sure that you will receive enum string value:

Enum Function Conversion Output

Catalyst Control Centre: Host application has stopped working

I had above problem with Catalyst Control Centre after downgrading AMD/ATI drivers from 13.12 version to 12.10 version. I have solved this by unhiding my user folder in C:\Users.
  1. Go to C:\Users and right click your user's folder. Pick “Properties”.

  2. Alter

  3. Check the “Hidden” box and click “Apply”. When prompted choose “Apply changes to this folder, subfolders and files”.
  4. After this operation is completed uncheck the “Hidden” box and again click “Apply”.
After it is done you should be able to properly launch the Catalyst Control Center.

If you, after downgrading your drivers, also have problems with running games and/or steam you can see this post.

Problems after downgrading AMD/ATI radeon drivers

I was searching the Internet for information why Mechwarrior Online does not use my Radeon 6950 in 100%. I found information that downgrading amd/ati radeon drivers to 12.10 version (I had 13.12 ver) may help. So I uninstalled 13.12 from “Add or Remove programs” then downloaded 12.10 version and installed it. Unfortunately that operation totally destabilized my PC... After long investigation I found that this downgrade had broken my Direct3D. But the symptoms was really strange:
  • While launching steam there was “Steam client bootstrapper has stopped working” error
  • I couldn't start Mechwarrior Online. The launcher was starting but after clicking “Play” nothing was happening.
  • Launching “dxdiag” was giving “DxDiag has detected that there might have been a problem accessing Direct3D” error.
I realized that this last one is a major issue. Uncle Google said that there is no option to reinstall DirectX neither the Direct3D. Only tips was to update them to the newest version. Unfortunately I had the newest version so the installer didn't want to update a thing. Reinstalling drivers and many other things didn't help neither.


The funny thing is that there is a workaraound for this problem. I could run everything properly in “Windows 7 compatibility mode” plus “Run as administrator”. Steam, Mechwarrior Online, everything was working.


The only thing that really solved the issue was Display Driver Uninstaller.
  1. Download DDU (I used 10.0 version from here)
  2. Uninstall the AMD/ATI radeon drivers through the “Add or remove programs”
  3. Restart your system into safe mode
  4. Use the downloaded DDU to clear your system from any AMD/ATI files
After restart you should be able to run DxDiag without any errors. That means the problem is solved. You can now safely install any version of AMD/ATI drivers.

If you, after downgrading your drivers, also have problems with running Catalyst Control Centre you can see this post.

Downgrade and root Asus Padfone without loosing applications data

I have recently managed to root my Padfone 1 (prime) with JB without losing apps data and apps settings. I want to share how I have done that and which guides I have used.

Unfortunately there is no possibility to root Asus JB android version so you have to downgrade to Ice Cream Sandwich (ICS) and this cause losing all data stored in Padfone's internal memory. Luckily there is great App Backup preinstalled by Asus in Padfone.
Note: If you had already rooted your PadFone on ICS but lost your root after update to JB then there's an option to restore it. See this thenrz's guide on xda-developers.

  1. First of all backup all photos, music, videos and other personal files stored in padfone's internal memory. SD Card will stay untouched so you can copy your data on it but it is always safer to copy the backup to your PC.
  2. Then we can backup applications. Run App Backup on Padfone. In the top right corner tap "Data only" and choose "Data and APP" option. This is very important to switch this option. If you don't do that then you will have to install all applications manually after rooting. Select all applications you want to backup. In the left bottom corner press the circular arrow. Make sure that "Copy backup file to" is set to some place on your MicroSD and press ok. After the backup process is completed you may want to copy the backup file to your PC to make sure it is safe.
  3. We are now ready to downgrade to ICS. To do this please follow this Marc Schattorie's guide on padfoneclub. I have used international WW_PadFone-user- from "Download official full firmware packages here (Removed from the Asus website)" section. Put it into SD Card and follow "How to install?" steps.

    How to install?
    First, make sure you have the firmware (*.zip) file in the root of an external SD card.
    Also, make sure that the Padfone is fully charged, and connected to a power source.
    If you're downgrading or changing the firmware region by using a full firmware package, we would recommend using the wipe feature before you apply the update.

    1. Undock the Padfone.
    2. Power off the Padfone.
    3. Hold down the volume down button, keep holding it, and press the power button. Now you will enter the first menu.
    4. Press the power button to enter "download mode".
    5. Select the second option to install from an external SD card.
    6. Wait for the installation to complete, depending on the update, your device will reboot automatically, or you
    have to select the reboot option manually when it appears.
  4. When we are on ICS we can use this sparkym3's guide on xda-developers to obtain the root.
  5. After rooting we must save the root that we could restore it after updating to the newest android version. To do this we will use Voodoo OTA Rootkeeper application. Download it from Google Play store and run it. To save the root tap the "Protect root" button.
  6. Now we can use standard android update system to update it to the newest version. Go to settings -> about padfone -> system firmware update and tap the "Check Update" button. Android should find and proceed with the newest update.
  7. Now the last two things. After android is again updated to JB we must use the OTA Rootkeeper to restore the root. Lunch it and tap the "Restore root" button. Restart your Padfone and again run OTA Rootkeeper. You should now see all status positions checked. You have root on JB!
  8. Go to App Backup. In the top left corner tap "Backup List" and choose "Restore List" option. Tap on your backup and tap OK. After App Backup finishes the restore process you should see all your applications with all your settings and data.