May 21, 2015

On Demand System Tray For Ubuntu: `Indicator Systemtray Unity`

If you still need a system tray in Ubuntu (Unity), you don't need the patched Unity any more. Instead, you can simply install `Indicator Systemtray Unity`, a new AppIndicator which adds a system tray to the Unity panel.

`Indicator Systemtray Unity` doesn't show up on the panel until you launch an application which comes with a tray icon. Even then, the systray is displayed on demand (on left/middle-click) and there are two modes available:

1. Left-clicking on the Indicator Systemtray Unity icon - in this case, the tray icons will be displayed under it:

When  this mode is used, the system tray are only displayed while the mouse is near the Indicator Systemtray icon.

2. By middle-clicking on the Indicator Systemtray icon, you can get the systray icons to be displayed in a floating overlay on top of the panel, useful to either display the icons next to the indicators (like in my screenshot below) or for use on top of a dock:

When this mode is used, the system tray icons aren't hidden (until you middle-click it again).

You can move the icons horizontally by scrolling on the Indicator Systemtray icon on the Unity panel. Moving the icons to the left of the indicators like in the screenshot above is a bit tricky because once the icons are on top of Indicator Systemtray, you won't be able to scroll on it any more, but you can change this via dconf-editor (see below).

Indicator Systemtray can be configured via dconf-editor. Firstly, install dconf-editor:
sudo apt-get install dconf-editor
And then, navigate to net > launchpad > indicator > systemtray. Here you can change the indicator's X and Y positions for the floating overlay mode, change its mode (when "tray-is-static" is set to true, the icons will be displayed as floating icons on top of the panel and when set to false, the behaviour in the first screenshot above is used) or disable the indicator.

Note that if you use multiple monitors, the tray will only show up on the primary monitor!

Install Indicator Systemtray Unity in Ubuntu

To install Indicator Systemtray Unity in Ubuntu 15.04, 14.10 or 14.04, use the following commands:
sudo apt-add-repository ppa:fixnix/indicator-systemtray-unity
sudo apt-get update
sudo apt-get install indicator-systemtray-unity
Or, if you don't want to add the PPA, you can grab the deb from HERE (but you won't receive any updates).

Once installed, log out and log in and Indicator Systemtray Unity should start automatically (but it won't show up on the panel until you launch an app that uses a tray icon).

In case you want to remove Indicator Systemtray Unity, use the following command (don't use a simple "remove" because it won't remove the app files from /etc !):
sudo apt-get purge indicator-systemtray-unity

To report bugs, download the source code, etc., see Indicator Systemtray Unity's GitHub page.

via Web Upd8 - Ubuntu / Linux blog

The Best Websites to Learn Coding Online

The Learn to Code movement has picked up momentum worldwide and that is actually a good thing as even basic programming skills can have a major impact. If you can teach yourself how to write code, you gain a competitive edge over your peers, you can think more algorithmically and thus can tackle problems more efficiently.

Learn Programming

Don’t just download the latest app, help redesign it. Don’t just play on your phone, program it. — Obama.

There’s no reason why shouldn’t know the basics of coding. You can automate tasks, you can program your Excel sheets, improve workflows, you can extract data from websites and accomplish so much more with code. You may not be in the business of writing software programs but knowing the basics of coding will help you communicate more effectively with developers.

Gone are the days when you had to enroll in expensive computer training classes as now exist a plethora of web-based courses that will help you learn programming at your own pace in the comfort of your web browser.

The Best Sites to Learn Programming

If you are ready to take the plunge, here are some of the best websites that offer courses in a variety of programming languages for free. I have also added a list of companion ebooks that will give you a more in-depth understanding of the language and they don’t cost anything either.

Online Courses & Screencasts Programming Books (Free)
JavaScript Code Academy, Learn Street, Code Combat, Code Avengers Eloquent JavaScript, JavaScript Guide, Speaking JS, JS The Right Way, Oh My JS, Canvassing
HTML & CSS Code Academy, Don’t Fear The Internet, Tutsplus, Learn Layout, A to Z CSS, Dash, Web Accessibility, The Hello World, Khan Academy, HTML5 from Scratch Mozilla, Dive into HTML5, 20 Things I Learned, HTML Dog, HTML & CSS, HTML5 for Designers, DOM Enlightenment, HTML Canvas
jQuery Code Academy, Tutsplus, Code School jQuery Fundamentals, Learn jQuery
Python Code Academy, Google, Learn Street, Python Tutor, IHeartPY Python for You and Me,  Dive into Python, Learn Python the Hard Way, Think Python, Python for Fun, Tango with Django, Django
Ruby & Ruby on Rails Code Academy, TryRubyCode Learn, Railscasts, Rubymonk, Learn Street Why’s (Poignant) Guide to Ruby, Learn Ruby the Hard Way, Learn to Program, Learn Rails by Example
PHP Code Academy PHP Programming, Practical PHP
Google Apps Script Getting Started, Office Hours, Google Scripts Examples, Learning Apps Script
WordPress Treehouse, WordPress TV
Linux & Shell Scripting, Explain Shell Conquer the Command Line
Node.js Nodetuts, Node School The Node Beginner Book, Mixu’s Node book, Node Up and Running, Mastering Node.js
Angular JS Code School, Egg Head, Learn Angular Angular JS Tutorial, Thinking Angular, Angular Tutorial, Getting Started (Adobe)
Related: Learn Touch Typing & Code Faster
Git (version control) Code School, Git Immersion, GitHub Training, Udacity Pro Git, Learn Git, Gists in Github
Objective-C (iOS & Mac) Code School, Stanford, iTunesU
Chrome Dev Tools Code School, Dev Tools Secret, Chrome Dev Tools Tutorial, Udacity, Building Browser Apps
Go Language, GopherCasts Programming in Go, Go by Example, Learning Go, Building Web Apps with Go, Learning Go
Java Learn Java, Coding Bat, Java Udemy, Learneroo Programming in Java, Thinking in Java, O’Reilly Learning Java, Think Java, Java & CS, Java for Python Devs
Android App Development Udacity (Google Developers), Coursera, The New Boston, Google University, App Development Essentials, Code Learn, App Inventor (Visual)
D3 (data visualization) Data Visualization for the Web, Dashing D3, D3 Tips & Tricks
Related: Master VIM – The Favorite Text Editor of Programmers
SQL (Databases) SQL Zoo, SQL @Stanford, Essential SQL, SQL for Nerds, Intro to SQL, SQL Bolt, PHP & MySQL
Everything Else Udacity,, Coursera, Udemy$, Lynda$, Pluralsight$, Treehouse$, Open Consortium, One Month Rails$

Teaching Kids to Code

If there are kids in the family, you should download either Tynker (Android/iOS) or the Hopscotch app for iPad and they can learn the basics of programming through games and puzzles.

There’s also Scratch, an MIT project that allows kids to program their own stories and games visually. Scratch is available as a web app or you can download it on your Mac/Windows/Linux computer for offline use. Microsoft TouchDevelop, Blockly and Alice are some other web apps that will introduce the concepts of computer progamming to your children.

On a related note, the following chart from Google Trends shows the relative search popularity of various programming languages over the last 5 years. JavaScript clearly has maintained the lead.

programming language

The story, The Best Websites to Learn Coding Online, was originally published at Digital Inspiration by Amit Agarwal on 20/05/2015 under Code, Internet.

via Digital Inspiration Technology Blog

May 20, 2015

How To Hide Files And Folders In Your File Manager Without Renaming Them [Quick Tip]

Usually if you want to hide a file or folder so it doesn't show up in your file manager, you can rename it by adding a dot (".") at the beginning of the filename.

However, there are situations in which you may want to hide a file or folder without renaming it. For instance, some applications insist on creating a folder in the user's home directory or in the Documents folder (and they can't be renamed) and so on. But I don't want these folders cluttered - I want to easily find what I'm looking for.

Nemo hidden folder

For such situations or whatever other reasons, there's another way of hiding files and folders (prevent them from showing up in the file manager only): you can create a file called ".hidden" (there's a dot in front of "hidden" so this is a hidden file!) and in this file, enter the name of the files and folders you want to hide, each on a separate line. Then, refresh the folder (press F5 or Ctrl + R) and those files or folders should no longer be visible in your file manager.

This should work with the following file managers: Nautilus, Nemo, Caja, Thunar (I'm not sure when this was introduced but I can tell you that it doesn't work with version 1.2.2 available in Xubuntu 12.04; it does work with versions 1.6.3 and newer) and Pantheon Files (from Freya only), but there might be others to support it.

Note: for Thunar you'll need to navigate to a separate folder for the changes to be applied, refreshing isn't enough.

Here's an example: let's assume you have a folder called "FOLDER1" and a file call "FILE1" in your home directory and you want to hide both without renaming them. To do this, create a file called ".hidden" in your home directory and in this file, add the following two lines:

Then save the file and press F5 to refresh the home folder - "FOLDER1" and "FILE1" shouldn't be displayed any more.

Extra tip: HERE's a Nautilus extension which allows hiding files and folders using this method via the context menu.

via Web Upd8 - Ubuntu / Linux blog

Enpass Password Manager Gets ownCloud/WebDAV Sync Support, Debian / Ubuntu Repository

Enpass for Linux was updated today with ownCloud/WebDAV sync support, improved search functionality and more. There's also a new Debian/Ubuntu repository for easily installing and updating Enpass.

Enpass Password Manager

Enpass is a multi-platform password manager which had its first Linux release back in February. The application is available for iOS, Android, Windows Phone, BlackBerry, and for desktops: Windows, Mac and Linux. The desktop apps are free to use with no limitations while the mobile apps offer in-app purchases (Android, iOS) or are not free (Windows Phone).

While Enpass is not open source software, it uses SQLCipher, an open source extension to SQLite that provides transparent 256-bit AES encryption of database files.

For more information about Enpass, please see our previous article about it.

The latest Enpass for Linux brings two highly demanded improvements: ownCloud/WebDAV sync support (the app could already sync to Dropbox, Google Drive, OneDrive, Box or a folder, for use with other apps) as well as a Debian/Ubuntu repository which you can use to easily install the app and receive automatic updates.

Also, while Enpass is only available for 64bit on Linux, the newly released repository provides both 32bit and 64bit packages.

Other changes in the latest Enpass 4.6.0 include:
  • Password fields will now keep history of last 5 passwords;
  • Password Strength detection algorithm is improved;
  • Search functionality is improved;
  • Show number of items in Sidebar;
  • Option to change Enpass data Location;
  • Search can be restricted to titles only;
  • Translations are improved;
  • Other bug fixes.

Download Enpass

Debian, Ubuntu (as well as other Debian/Ubuntu-based distributions like Linux Mint, elementary OS, etc.) users can install Enpass for both 32bit and 64bit by using its new official repository. Add the repository and install Enpass using the following commands:
sudo apt-get install curl
curl -s | sudo apt-key add -
echo "deb stable main" | sudo tee /etc/apt/sources.list.d/enpass.list
sudo apt-get update
sudo apt-get install enpass

Download Enpass Password Manager  (available for desktops: Linux 64-bit only, Mac OS X and Windows as well as mobile: iOS, Android, Windows Phone and BlackBerry)

via Web Upd8 - Ubuntu / Linux blog

May 18, 2015

Official Syncthing Debian / Ubuntu Repository Released

Quick update for Syncthing users: an official Syncthing Ubuntu / Debian repository was released recently and it provides builds for amd64, i386 and arm.

Syncthing is a cross-platform peer-to-peer file synchronization client/server application written in Go. The tool is similar to BitTorrent Sync (but it's open source as opposed to BT Sync), and it's used to synchronize files between computers.

The app comes with an option to update the binary to the latest version however, there are new Syncthing releases every few days so using a repository to automatically update the app is a must if you're a regular Syncthing user (there's also an alternative: Syncthing GTK, which automatically updates the Syncthing binary).

The packages from the new official Syncthing Ubuntu / Debian repository are slightly experimental for now, as this repo was just released, but they should work on any recent Ubuntu and Debian version. Right now, the packages only provide the main binary and some README files, without any startup scripts, etc. but this may change.

In the future, this repository might also be used to host various third-party Syncthing packages, such as Syncthing GTK (right now, this can be installed from the min WebUpd8 PPA).

Install Syncthing in Ubuntu / Linux Mint / Debian using its official repository

To add the official Syncthing (release) repository in Ubuntu, Linux Mint or Debian (and derivatives), use the following commands:
curl -s | sudo apt-key add -
echo "deb syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing

Note that using the original instructions, which you can find HERE, the repository is added in /etc/apt/sources.list however, for the instructions above, I've used a separate syncthing.list file under /etc/apt/sources.list.d/ so it's easier to manage (for instance, in Ubuntu, all PPAs are added under /etc/apt/sources.list.d/ and not in the main sources.list file).

via Web Upd8 - Ubuntu / Linux blog