Tag Archives: Windows

Import Your Geotagged Photos In Google Earth With Mapollage (KML File Generator)

Mapollage is a Java tool that can be used to put your geotagged photos on the map by creating an KML file that can be used with Google Earth.
mapollage google earth

Here’s a quick demo of a KML file I created using Mapollage, loaded in Google Earth for Linux:

mapollage google earth

Mapollage features:

  • Create kml folders by directory name, date pattern and regex;
  • Placemark names can be set to filename and date pattern;
  • Placemark symbol can be set to pin or photo, with customizable scale and zoom;
  • Dynamic description generator;
  • Customizable photo reference and size;
  • Draw path between placemarks.

The application was updated to version 1.0.4 recently, bringing options to rotate thumbnails, add .jpg extension to thumbnails, as well as a filter that allows excluding file paths using a filter.
To use Mapollage, you’ll need Java 8 (both OpenJDK and Oracle Java 8 should work), and obviously, geotagged photos. If your photos are not geotagged, there are various tools out there to do this manually, like ExifTool (here’s a quick guide for geotagging photos using ExifTool).

Running Mapollage in Linux is fairly easy. Either directly double click the .jar file or right click it and select Open With > Oracle Java 8 Runtime or OpenJDK Java 8 Runtime.
Note that for OpenJDK, you’ll need to make the file executable (with Nemo / Nautilus, right click the file, select Properties, then on the Permissions tab, enable “Allow executing file as program”).
Once you start Mappolage, create a new profile (1), add a folder (2) containing geotagged photos and click the start button (3) to generate a KML file:

mapollage

You can change the placemark symbol (photo / pin) and name (filename / date / no name) from the Placemark tab.
That’s it. The newly created KML file can now be opened with Google Earth. Your photos should show up under Temporary Places, as you can see in the Google Earth screenshot above.

Download Mapollage

Arch Linux users can install Mapollage via AUR.

To report bugs, download the source code, etc., see the Mapollage GitHub page.

Read More

Firefox 52 Released With WebAssembly Support, Removes NPAPI Plugins Other Than Flash (Java, Silverlight)

Firefox 52 was released today and it includes two major changes: support for WebAssembly and the removal of support for NPAPI (Netscape Plugin API) plugins like Silverlight, Java, and others, with the exception of Flash.

Firefox 52 plugins

Dropping support for NPAPI plugins isn’t something new in the web browsers world – Google Chrome did this back in 2015, leaving Mozilla Firefox as the best choice for those who had to use such plugins. But that’s about to end, with Firefox 52.

Furthermore, Mozilla plans to activate Flash in Firefox only with user consent. This change is expected “later this year”.

In case you’re wondering about the Firefox NPAPI plugin that allows installing extensions for GNOME Shell, it no longer works. However, Chrome GNOME Shell doesn’t only support Chrome-based web browsers, but also Firefox.

As for Google Hangouts, audio and video calls currently don’t work in Firefox 52 due to dropping support for NPAPI plugins, however, Google is working on a “fix”.

I should also add that while Firefox 52 no longer supports NPAPI plugins other than Flash, there’s a way around this – see below.

Another major change in the latest Firefox 52 is the addition of WebAssembly, a standard that allows running complex web-based games and applications at near-native performance, without using plugins.

You can learn more about WebAssembly by watching the video below:


(direct video link)

Other changes in the latest Firefox 52 include:
  • Sync can now send and open tabs from one device to another;
  • improved the download experience:
    • added notifications in the toolbar when downloads fail;
    • Firefox now provides quick access to the latest 5 downloads instead of 3;
    • the buttons for canceling and restarting downloads are now larger;
  • security / privacy:
    • implemented the Strict Secure Cookies specification which forbids insecure HTTP sites from setting cookies with the “secure” attribute;
    • added warnings for non-secure HTTP pages with logins;
    • removed Battery Status API to reduce fingerprinting of users by trackers;
  • developer:
    • enabled CSS Grid Layout;
    • improved screen sharing security, which now shows a preview and no longer requires a whitelisted domain;
    • redesigned the Responsive Design Mode (can be accessed from the Web Developer submenu) to include device selection, network throttling, and more.

A complete list of changes can be found HERE.

How to continue using NPAPI plugins like Java with Firefox 52

Firefox 52 ESR plugins

If you need to use NPAPI plugins such as Java, you may think you can simply not upgrade to the latest Firefox 52, but that’s a bad idea beause you won’t take advantage of the latest security updates.

However, there is a way to continue using NPAPI plugins in Firefox – use Firefox ESR (Extended Support Release) instead.

The latest Firefox 52 ESR continues to allow using NPAPI plugins, and it is supported until May 2018.

Download Mozilla Firefox

For Ubuntu / Linux Mint users, the latest Firefox 52 should be available in the official repositories soon.

To continue using NPAPI plugins other than Flash, get Firefox ESR (not yet updated to version 52 at the time I’m posting this article).
After downloading the latest Firefox ESR for Linux, extract it and simply double click on the “firefox” executable to run it. To create a launcher for it (so it shows up in the menu), you can use a tool such as MenuLibre (it’s available in the official Ubuntu / Linux Mint repositories).

Read More

Lightweight Paint Software mtPaint 3.50 Dev Available In PPA For Ubuntu or Linux Mint

mtPaint is a lightweight open source paint application for Linux and Windows. It is is aimed at creating indexed palette images and pixel art, and is designed to be simple and easy to use.

mtPaint 3.50

While the last stable mtPaint version was released back in 2011, there have been quite a few development releases since then, with the last one dating to June, 2016. I couldn’t find a PPA with the latest mtPaint 3.50 development releases, so I created one to make it easy to install in Ubuntu and Linux Mint.


mtPaint features:

  • image manipulation:
    • quickly transform image gamma, brightness, contrast, saturation, hue, posterize from a single dialog, and preview the results in real time;
    • apply various effects such as invert, greyscale, isometric transformations, edge detect, sharpen, unsharp mask, soften, Gaussian blur, emboss, bacteria;
    • use gamma correction on effects to improve the quality of various effects;
    • crop images;
    • resize and rescale the canvas;
  • pixel art:
    • edit indexed palette or RGB images;
    • open and save as BMP, GIF, JPEG, LSS, PNG, TGA, TIFF, XPM, XBM files;
    • extensive palette features – load, save, sort, edit, posterize, quantize, remove duplicate colors, remove unused colors, color protection, palette shifting;
    • supports up to 100 layers;
    • create animations by moving layers, or shifting palettes;
    • create animated GIF’s using Gifsicle;
    • tools to shuffle pixels, flood fill, draw straight lines, smudge, clone, paste text, draw/fill rectangle/ellipses;
  • interface:
    • keyboard shortcuts;
    • easily toggle toolbars on/off;
    • horizontal and vertical split view mode;
    • pixel grid for guidance at high levels of zoom;
    • up to 1000 undo steps.

The latest mtPaint 3.50 development release (3.49.12) ships with a huge list of new features and improvements, most notably:
  • scripting (from the menu select Image > Script) and command line (allows adding a script without the GUI, by using “mtpaint –cmd”) mode added;
  • rendering now uses multiple threads to utilize all available CPU cores;
  • keyboard shortcuts can now be customized (Help > Keyboard shortcuts);
  • added optional gamma correction for painting and masking (Preferences > General > Use gamma correction when painting);
  • text tools now allow selection of DPI value, and alignment for multiline text;
  • composite images now can have alpha transparency, when background is non-opaque;
  • color transform and source selection added to blend mode options;
  • multiple clone tool improvements;
  • raw RGB palette files (6-bit PAL and 8-bit ACT) can now be loaded/saved via the Palette menu;
  • new image format PMM (Portable MultiMap) added for interoperable storage and exchange of images;
  • dimensions can now be specified when loading SVG files;
  • lasso tool can be configured to shrink selection based on the selection channel – right click the tool icon;
  • zoom is now up to 8000%;
  • animation frames now can be saved in any suitable supported file format;
  • many other changes and bug fixes.

A complete changelog can be found HERE.

Install the latest mtPaint development release in Ubuntu or Linux Mint via PPA

mtPaint 3.40 (stable) is available in the official repositories so if you want to use the old version, released back in 2011, you can install it using the following command:
sudo apt install mtpaint

To install the latest mtPaint 3.50 development release (version 3.49.12 at the time I’m writing this article) in Ubuntu or Linux Mint, you can use the new WebUpd8 mtPaint PPA. 
I decided to create a new PPA so you can easily purge the PPA to go back to the version available in the official Ubuntu / Linux Mint repositories, without affecting other packages.
Add the PPA and install the latest mtPaint 3.50 development release in Ubuntu 16.10, 16.04 or 14.04 / Linux Mint 18.x or 17.x by using the following commands:
sudo add-apt-repository ppa:webupd8team/mtpaint
sudo apt update
sudo apt install mtpaint

I also uploaded the latest mtPaint documentation to the PPA, as a separate package. To install it (it’s listed as a “recommended” package and it will be automatically installed in Ubuntu in most cases, but not in Linux Mint), after adding the PPA, use the following command:
sudo apt install mtpaint-handbook

The documentation can be accessed from the mtPaint Help menu.

If you don’t want to add the PPA, you can grab the deb from HERE (but you won’t receive any updates!).
For other Linux distributions, download the latest mtPaint source code from GitHub.
Windows users can download mtPaint stable from SourceForge.

How to downgrade mtPaint to the version available in the Ubuntu repositories

If for some reason you don’t want to use the latest mtPaint 3.50 development release and you want to go back to the version available in the official Ubuntu repositories, you can use PPA Purge. 
PPA purge will disable the WebUpd8 mtPaint PPA and downgrade mtPaint. To do this, use the following commands:
sudo apt install ppa-purge
sudo ppa-purge ppa:webupd8team/mtpaint

Read More

How To Use Plex To Cast Local Videos To Chromecast (From Your Desktop w/ Optional Mobile App)

This is a long overdue article and I decided to post it so I can simply send it to all those who ask me about the best but also easiest way to play local videos on a Chromecast.

Some may prefer other ways of playing local videos on Chromecast, including using a command line tool such as stream2chromecast, pulseaudio-dlna to  play music from a computer to a Chromecast, as well as the VideoStream Chromecast extension (which I hear is unreliable lately).

Plex Ubuntu

Plex is, however, the complete solution for all local media streaming to Chromecast needs, and is fairly easy to set up, despite my long article.
It can be used to stream local videos (and can transcode videos not supported by Chromecast), music, and photos, both in your local network as well as remotely, e.g. to a hotel or a friend’s house.
Furthermore, Plex Media Server is cross-platform, so it can be installed on an a Linux, FreeBSD, Windows or Mac computer, as well as on NAS.

I should also mention that while Plex is freemium, using it to cast local media to a Chromecast doesn’t require any paid features, for either Plex Media Server, or the mobile applications.
Plex can be used with a lot of players, like smart TV and game console apps, it’s DLNA compliant, etc., but I focus on using it with a Chromecast.

This article includes an short introduction to Plex for those who are not familiar with it, installing and running Plex for the first time, some configuration tips and using Plex with a Chromecast (from a desktop, by using the Plex web app, or from an Android or iOS device, by using the Plex mobile app, which can be used to cast, as well as a remote).

Quick Plex introduction

Plex is a freemium client-server media player which consists on two components.
The first is the server component, Plex Media Server, which needs to be installed on a Computer (running Linux, Mac, Windows, FreeBDS) or a NAS, and is used to index, organize, stream the the local content, and optionally transcode it.
The second component is the player, used to stream the content from the Plex Media Server on other devices. There are Plex applications available for mobile devices, smart TVs, and more, as well as a web UI which comes by default with Plex Media Server.

I should also note that Plex Home Theater, a GUI desktop player for Plex, was discontinued. There’s another desktop app, called Plex Media Player, which uses mpv under the hood, but sadly, there are no Linux binaries and building it from source requires quite a bit of work.

One such player is the Plex mobile app (available for Android and iOS), which can be used to play media from your Plex Media Server on your mobile device (but this feature is not free), or to cast to a Chromecast device (feature which is free) and control the playback.

Plex Android

If you’re interested in what are the limitation / free functionality of the Android and iOS apps, visit the following links:

I won’t get into details about all the features supported by Plex here. Instead, see its features page – make sure to also check out the free vs premium feature list. Don’t worry though, pretty much any feature you’d need for using Plex with a Chromecast is available for free.
I do have to mention that one of the most important Plex features, which is its addons support. Plex addons are called “channels”, and include video websites, news apps, and much more.

Plex Media Server channels

There are both official and third-party Plex channels. There are even unofficial channels that allow streaming Torrents, similar to the famous PopcornTime app (some may be illegal in your country!).
You can read more about Plex channels HERE.
I also want to mention a couple of features that are pretty important for using Plex to stream local content to a Chromecast.
One such feature is the ability to transcode videos that aren’t supported by Chromecast. This is very important because by default, Chromecast devices have limited media support.
Another important feature, at least for non-native English speakers, is subtitles support. Plex not only supports local subtitles, but it can also automatically download subtitles from OpenSubtitles. Furthermore, it can even download subtitles for multiple languages.

Download / install Plex Media Server (and mobile apps)

Before proceeding, it’s important to mention that Plex has a couple of requirements
The first is that you’ll need to create a Plex account (free)
And the second, which is pretty important, is that Plex Media Server needs to run on a decent PC for transcoding (Intel Core i3 or fast is listed as a minimum requirement). Without transcoding, some videos won’t be playable on your Chromecast.

That said, let’s proceed.

1. Create a free Plex account

2. Download Plex Plex Media Server (for your computer / NAS)

The Plex downloads page offers binaries for Linux, Windows, Mac, NAS, as well as Linux (Ubuntu, Fedora, CentOS), and it’s very easy to install.

I do have a note there though. If you use Ubuntu, you can add the Plex official repository, which is useful to get automatic updates without having to download the packages manually. To add the Plex Ubuntu repository, use the following commands:
echo "deb https://downloads.plex.tv/repo/deb/ public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
wget https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add -
sudo apt update

Optionally, you can skip downloading the Plex Media Center binary manually and simply install it from the newly added repository:
sudo apt install plexmediaserver

There’s also a CentOS and Fedora repository which you’ll find HERE.

3. (Optional) Download the Plex Android or iOS app

Running Plex and some optional configuration tips

Plex can pretty much be used immediately after setting up your local library, but there are a few things to note.

Once installed, Plex should start automatically on Linux (start it from the menu on Windows). To access the Plex hosted web app, visit https://plex.tv/web and using your Plex account login.

You can also launch the local Plex web app, by visiting http://localhost:32400/web in a web browser. This is useful for managing the server without an Internet connection.

An Internet connection is required to stream from Plex to a Chromecast device though – in fact, Chromecast doesn’t work without an Internet connection anyway.

The first time you visit this URL, you’ll need to complete the initial setup, which asks you to enter a name to your new Plex server, enable or disable an option to allow accessing your Plex Media Server remotely, and add your media library.
Here are a few server settings I recommend changing after completing the initial setup:

1. Enable library auto-updating.

By default, the library is not updated when new files are added. I suggest you change this. Go to Settings > Server > Library and enable “Update my library automatically” and “Run a partial scan when changes are detected”:

Plex library update settings

On Linux, you’ll also see an option to include music libraries in automatic updates (you need to click “Show Advanced” in the top right-hand side to access this option), but that may cause issues if you have a large music library.

2. Enable subtitles.

To enable automatic subtitle downloading from opensubtitles.org, head to Settings > Server > Agents and:

– for Movies, click on the “Movies” tab. Then on the the “Plex Movie” or “The Movie Database” sub-tabs (yes, that’s a bit confusing) – depending which one you choose for your collection (or you can just do this for both) -, check the box next to “OpenSubtitles.org:

Plex subtitle settings

– for TV shows, click on the “Shows” tab, then on the “TheTVDB” or “The Movie Database” subtabs (or both), and enable “OpenSubtitles.org”:

Plex subtitle settings

You may also want to configure the OpenSubtitles.org agent – to do this, click on the gear icon on the right. This allows logging in to your OpenSubtitles.org account and selecting the subtitle language. It even allows selecting multiple languages:

Plex subtitle settings

For local subtitles, in the same places (Movies/Shows tabs), enable “Local Media Assets”:

Plex subtitle settings

To set the preferred subtitle language and mode, see the Settings > Server > Languages page:

Plex subtitle settings
For more subtitle options, including extra subtitle providers, I recommend the Sub-Zero Plex addon (available in the Official Plex Channel Directory). 
For changing subtitles automatically to UTF-8, so they are displayed properly on Plex, you may want to check out the SRT2UTF-8 addon (unofficial).

3. Transcoding configuration.

By default, Plex transcodes only media that’s not supported by the device that tries to play it. That should be ok for most users, but depending on your computer, you can change this to prefer higher speed encoding, higher quality encoding, along with an option to “make my CPU hurt”.

These options are available in the Server settings, under “Transcoder”:

Plex subtitle settings

Using Plex (web app / mobile app) to stream to a Chromecast

To cast from a browser / desktop, you’ll need Google Chrome (the Cast extension is no longer required, and it has been discontinued).
Note that the Plex Web App streams content directly to the Chromecast (to the Plex Chromecast app). It does not cast the tab! That means you can even close the web browser after starting casting, and Plex will continue to cast.
To cast from Google Chrome, you need to click on the Plex cast icon (not the browser cast icon!), select “Cast…”, then select your Chromecast device:

Plex Chrome Chromecast stream
Plex Chrome Chromecast stream

That’s it. You can now simply click on some video, or other media, and it should be streamed to your Chromecast:

Streaming from Android or iOS is the same as for any other mobile application with Chromecast support. Simply click the Cast icon and select the Chromecast:

Sometimes the Plex Android app doesn’t find any Chromecast device for me, but that’s solved by clicking on the refresh icon from the Cast menu.
What’s important to mention here is that if you started casting from your desktop, using Google Chrome, you can then control the playback using the Plex mobile application. The other way around works as well.
For more about using Plex, check out its documentation.

Read More

WeatherDesk Changes Your Wallpaper Based On Current Weather Conditions

WeatherDesk is a Python3 tool that allows using a wallpaper that changes based on the weather and optionally, time of day. It supports most Linux desktop environments as well as Windows and Mac.

WeatherDesk weather-based wallpaper Linux

WeatherDesk features:

  • change the background based on the current weather conditions;
  • optionally change the background based on the time of day. This supports 4 variations: day/night, day/evening/night and morning/day/evening/night;
  • supports most Linux desktop environments, including Cinnamon, GNOME, Unity, Xfce, LXDE, LXQt, Pantheon, MATE, and more;
  • automatically detects your current city using ipinfo.io. In case this fails or you simply want to use a different city, you can manually specify the city as a command line argument
  • you can specify the image format, update interval, and more.

KDE Plasma 5 is not listed as supported on the WeatherDesk GitHub page, but looking at the code it appears that it might work. If you test WeatherDesk with Plasma 5, let us know if it works in the comments!
The tool requires a set of images named according to some naming rules, so don’t expect it to alter your current desktop background or anything like that.

WeatherDesk weather-based wallpaper Linux

While WeatherDesk doesn’t come with a built-in wallpaper set, its GitHub page points to a premade set, called FireWatch, available HERE (here’s how it looks), which I’ll use in the instructions below.

The FireWatch wallpaper set doesn’t seem to differentiate between cloudy, normal and windy weather, but you can further tweak it yourself if you want it to be more accurate and your GIMP / Photoshop skills allow it. The set does include proper images for rain, snow, and thunder.

Installing and using WeatherDesk

1. Download / install WeatherDesk

WeatherDesk is available as two simple Python3 scripts that can run from the directory you download them to. You can grab the code from GitHub or simply click here to download the latest code from Git as .tar.gz.

To simplify things, you can use the commands below to download the latest WeatherDesk code from Git, install WeatherDesk in /opt/ and create a symbolic link to its executable in /usr/local/bin/:
sudo apt install wget #in case it's not already installed
wget https://github.com/bharadwaj-raju/WeatherDesk/archive/master.tar.gz -O /tmp/weatherdesk.tar.gz
tar -xvf /tmp/weatherdesk.tar.gz -C /tmp/
sudo mkdir /opt/weatherdesk
sudo cp /tmp/WeatherDesk-master/*.py /opt/weatherdesk/
sudo chmod +x /opt/weatherdesk/WeatherDesk.py
sudo ln -s /opt/weatherdesk/WeatherDesk.py /usr/local/bin/weatherdesk

After this, you can simply use “weatherdesk” in a terminal to run the tool.

2. Download the FireWatch WeatherDesk wallpaper pack

But wait, we’re not done yet! That’s because you’ll also need some wallpapers to change based on current weather conditions and the time of day.

The wallpapers must be named according to some naming rules and placed in the ~/.weatherdesk_walls/ folder for WeatherDesk to pick them up. To make this easy, the WeatherDesk GitHub page points to a pack called FireWatch, which already contains images named according to the WeatherDesk rules.

To create the ~/.weatherdesk_walls folder, download the FireWatch WeatherDesk wallpaper set and extract it into the ~/.weatherdesk_walls folder, you can use the following commands:

mkdir ~/.weatherdesk_walls
wget https://github.com/bharadwaj-raju/FireWatch-WeatherDesk-Pack/archive/master.tar.gz -O /tmp/firewatchpack.tar.gz
tar -xvf /tmp/firewatchpack.tar.gz -C ~/.weatherdesk_walls/ --strip-components=1

3. Run WeatherDesk

That’s it. Now you can simply run “weatherdesk” in a terminal and the app should automatically change your wallpaper based on the current weather conditions and time of day, using the FireWatch wallpaper pack:

weatherdesk

If you want to use different wallpapers, you must rename them according to the WeatherDesk naming rules and place them in the ~/.weatherdesk_walls/ folder.

To see all the available WeatherDesk options, run the following command:
weatherdesk --help

For example, to force WeatherDesk to use the weather information for London instead of the automatically detected city, use:
weatherdesk -c london

To get WeatherDesk to also change the wallpaper based on the current time of day, and not just based on the current weather, run it with the “-t” option, like this:
weatherdesk -t

By default this will use the “day / evening / night” variation. To use the “morning / day / evening / night” variation (for more info about this, run “weatherdesk –info“), run it like this:

weatherdesk -t 4

If you want WeatherDesk to change the wallpaper based on current weather conditions every time you login, make sure to add it to your startup applications (in Ubuntu with Unity, launch Startup Applications, click “Add” and use “weatherdesk” as the command).

To report bugs, grab the source code, etc., see the WeatherDesk GitHub page.
Tip: to display the current weather temperature on top of the wallpaper, you could use WeatherDesk in conjunction with Deskweather (I din’t try this, but it could be interesting).

Read More

Jam: Listen To Google Play Music From The Console

A couple of weeks ago I wrote about GPMDP, a Google Play Music desktop application that integrates Google Play Music with the desktop and adds various features on top. If you don’t need all those desktop features and all you need is a lightweight, console Google Play Music client, you can try Jam.

Jam Google Play Music console player

Jam is a new Google Play Music console player for Linux and Windows. The application, which is written in Go, had its first alpha release about two weeks ago, and it’s currently at version 0.4.0.

Jam features a console interface very similar to that of Cmus, with easy keyboard navigation. While the interface is easy to use, it currently lacks a help screen, so for a list of keyboard shortcuts, see the Jam GitHub page.

Jam features:

  • console interface inspired by Cmus;
  • Last.fm scrobbling;
  • play, pause (this is buggy), stop, previous / next track;
  • populates a local database with the artists and albums you saved through the web interface (or by any other means) and allows searching artists in this database.

Jam is still very new, so it lacks a few features, but its developer hopes to improve it further, by making its interface detachable like MOC or to allow controlling the playback via command line arguments. If there’s some feature you’d like to see in Jam, you can submit a bug report.
It’s important to mention for Jam to work, you need to login using the same account used for Google Music on your mobile device. Without this, you will get a “no valid devices” error when trying to login with Jam.
If you use the Google two-factor authentication, you’ll need to generate an app password for Jam. You can do this by visiting THIS link.

Download Jam (64bit binary)

Download Jam (64bit binaries are available for Linux and Windows)

To install the 64bit binary on Linux, download it from GitHub (it’s the first one, called simply “jam”) and place it in your home folder. Then to install it to /usr/local/bin/ (so it’s available in your PATH), use the following command:
sudo install jam /usr/local/bin/

How to install Jam from source

Note: the instructions below were tested on Ubuntu 16.04+ / Linux Mint 18.x and may not work on older Ubuntu versions (golang-go may be too old).

To install Jam from source, you’ll need Go, Git and libpulse-dev. Install these in Ubuntu / Debian / Linux Mint using the following command:

sudo apt install golang-go git libpulse-dev

Next, you’ll need to set the GOPATH environment variable and make the GOPATH/bin folder available in your PATH. To do this (and use ~/.go as GOPATH), use the commands below:
mkdir ~/.go
echo "export GOPATH=$HOME/.go" >> ~/.bashrc
echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin" >> ~/.bashrc
source ~/.bashrc

And finally, install Jam from source (the binary will be available in ~/.go/bin/) using the following command:

go get github.com/budkin/jam

If you encounter bugs, report them @ GitHub.

Read More

LosslessCut Is An Easy To Use Video Cutter (Cross-Platform)

If you find video editors to be confusing and all you need is to just cut a portion of a video, you can try LosslessCut, an application available for Linux, Windows and Mac.

LosslessCut video cutter Ubuntu

LosslessCut was especially created to make it easy to quickly extract parts of video files from a video camera, GoPro, drone, and so on, without losing video quality.

The application is based on Chromium, using a HTML5 video player, and it uses FFmpeg for cutting the videos.
According to its GitHub page, LosslessCut doesn’t re-encode or decode the videos, making it very fast and especially useful for large videos.

LosslessCut video cutter Ubuntu

LosslessCut features:

  • lossless video cutting
  • take JPG snapshots of the video (at least on Linux, the snapshots – which are created in the same folder as the video -, are actually PNG, so if you have trouble opening them, rename the files from .jpg to .png);
  • supports the following formats/codecs: MP4, MOV, WebM, MKV, OGG, WAV, MP3, AAC, H264, Theora, VP8, VP9. A complete list can be found HERE (since it uses Chromium and the HTML5 video player, not all formats supported by FFmpeg work);
  • keyboard shortcuts (press “h” to see a list of keyboard shortcuts).

To use LosslessCut, add the video either by drag and drop or from its menu, then simply select the start (represented by the “<” icon in the LosslessCut user interface – 1 in the screenshot below) and end (“>” – 2) time of the video you want to cut, then click the scissors (3) icon to export it:

LosslessCut video cutter Ubuntu

Unless you choose a different output folder, the video should be exported in the same directory as the original.

Download LosslessCut

Download LosslessCut (binaries available for Linux, Windows and Mac, along with source code)

To run it on Linux, extract the downloaded archive and simply double click on the “LosslessCut” executable to launch the application.

Read More

Take Your Writing To The Next Level With Writefull (Cross-Platform)

Writefull is a tool that helps improve your writing by comparing your text against databases of correct language like Google Books, Web, Scholar and News. 
The application is free to use but not open source software, and is available for Linux, Windows, Mac, as well as a Chrome extension.

The tool, which is aimed at writers, includes quite a few handy features, like:

  • see how often your text appears in a database and how it’s used in context;
  • compare two phrases and see how often they are found in a database and how they are used in context;
  • see which synonyms of a given word are used most often in your selected text;
  • translates text (to English only for now) using Google Translate;
  • define words;
  • find out how the text is pronounced;
  • it uses Natural Language Processing and Google Books, Web, Scholar and News for its databases.

The databases used by Writefull are available online, so you need an Internet connection to use Writefull.
To use Writefull, set the keyboard shortcut in its preferences. Once this is set up, select a chunk of text and use the keyboard shortcut – this brings up the Writefull window and automatically enters the text you’ve selected, allowing you to perform various operations.
You can also manually enter text in the Writefull window.
The application has an option to launch it automatically at startup, however, this doesn’t work properly in Linux. That’s because enabling this option, the Writefull window is displayed on launch, and this is probably not the desired behavior for most (I’m not sure if this is how it works across the other platforms).
Writefull continues to run after closing its window (so you can activate it using the keyboard shortcut) but I couldn’t find a way to launch it hidden at startup.
For more information about using Writefull, type “/help” (without the quotes) in the application:

A user guide is also available HERE.

Download Writefull

Download Writefull (available for Linux – 32bit and 64bit deb, Windows, Mac and Chrome).

Read More

RcloneBrowser (Rclone GUI) Lets You Manage Multiple Cloud Storage Services From A Single Desktop App

RcloneBrowser is a Qt5 Rclone graphical user interface, available for Linux, Mac and Windows.

Rclone Browser

In case you’re not familiar with Rclone, this is a command line tool for synchronizing files from or to cloud storage services, which supports Google Drive, Google Cloud Storage, Dropbox, Microsoft One Drive, Amazon S3, Amazon Drive, Openstack Swift / Rackspace cloud files / Memset Memstore, Hubic, Yandex Disk, and Backblaze B2. 
Rclone can synchronize files either directly between these cloud services, or to / from your local filesystem.

For more about Rclone, check out our article: Rclone Synchronizes Files Between Multiple Cloud Storage Services (Command Line)

RcloneBrowser allows browsing and modifying (upload / download / remove, etc.) remote repositories, such as Google Drive, Dropbox, oneDrive and so on, including encrypted ones, using the same configuration file as Rclone, so you don’t have to configure remote services twice.

Besides performing various operations on your cloud files, RcloneBrowser can also mount and unmount your remote cloud storage, and it can stream media files with an external player, such as mpv.

Rclone Browser

Note that Rclone (and thus, RcloneBrowser too) performs the synchronization on demand, without any real-time file monitoring and automatic uploading / downloading of changed files.

RcloneBrowser features:

  • allows to browse and modify any Rclone remote, including encrypted ones;
  • allows to upload, download, create new folders, rename or delete files and folders;
  • uses same configuration file as Rclone, no extra configuration required;
  • supports encrypted .rclone.conf configuration file;
  • simultaneously navigate multiple repositories in separate tabs;
  • lists files hierarchically with file name, size and modify date;
  • all Rclone commands are executed asynchronously, no freezing GUI;
  • file hierarchy is lazily cached in memory for faster traversal of folders;
  • can process multiple upload or download jobs in background;
  • drag & drop support for dragging files from local file browser for uploading;
  • streaming media files for playback in players like mpv or similar;
  • mount and unmount folders on macOS and GNU/Linux;
  • optionally minimizes to tray, with notifications when upload/download finishes.
While RcloneBrowser integrates pretty much all the Rclone features in its user interface, adding a new remote storage service is not supported by it, and the configuration must be performed via command line. However, for most, the configuration is as easy as entering “y” a few times in a terminal.

RcloneBrowser does add easy access to the Rclone configuration – simply click “Config” on the RcloneBrowser “Remotes” tab, and it will launch a new terminal window with the Rclone configuration.

Tip: The RcloneBrowser user interface lets you select a local file or folder when uploading to a cloud storage service, however, it can also copy / move / sync files from one cloud storage to another. To do this, you must enter the exact path to the file from the other remote source, like this:

Rclone Browser

Rclone Browser

Download RcloneBrowser

To make it easier to install, I’ve uploaded RcloneBrowser to the main WebUpd8 PPA, for Ubuntu 16.04 and 16.10.

To add the PPA and install RcloneBrowser in Ubuntu 16.10 or 16.04 / Linux Mint 18.x, use the following commands:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install rclone-browser

If you don’t want to add the PPA, you can grab the deb from HERE.

Important: the WebUpd8 package only includes RcloneBrowser, but you’ll also need Rclone for this to work. You can download precompiled Rclone binaries @ GitHub. To use it, simply extract the downloaded binary archive, then from RcloneBrowser Preferences select Rclone binary location.
Arch Linux users can install RcloneBrowser via AUR.
For other Linux distributions, Windows and Mac, see the Rclone Browser GitHub page.

Those new to Rclone may also want to check out its documentation.

Read More