Tuesday, May 8, 2012

File synchronization and versioning with SparkleShare

SparkleShare is an open source tool for syncing files. Besides being capable of working with GitHub and Gitorious, it lets you synchronize files and folders using your own server, which is a great advantage compared to Dropbox and other.

Some disadvantages I noticed during the first days of using it:

  • somewhat slow reaction time compared to Dropbox
  • since SSH is used as a backend, it is not possible to transfer files from directly between two client machines (compare to LAN sync in Dropbox)
  • file attributes do not seem to be synchronized. I submitted a ticket about this issue.
  • one thing that has remained unclear is how to reduce the repository size? After doing a few quick tests I ended up with a 160 Mb repository. It should be possible by means of GIT, but it would be cool to have this done automatically by SparkleShare itself.

Otherwise the tool (version 0.8.2 included in Ubuntu 12.04) seems to be stable and usable!

 

Saturday, October 15, 2011

Return on investment (ROI): your efforts and outcomes

For quite a long time I did not give myself any big thoughts about what I was learning. I thought the world was full of exciting things to learn - and I still believe it is - so it did not really matter much what to learn as long as it is fulfilling and exciting. I submerged in many engrossing & exciting activities, and was just waiting passively for a completely new future to come. 
The future did change, but the pace of the changes was far lower than I'd wanted it to be. Eventually the day came when I realized, I did not estimate the returns on investment. Every hour, every minute spent in some activity should bring a return. Return on investment, in other words, your mental and physical energy spent on some activity are expected bring some kind of reward, some desired outcome. A few moments of fun while doing something exciting is also a certain kind of outcome, but wouldn't it be good to desire something greater?
Just as businesses keep track of their Return on Investment (ROI) and Return on Equity ratios, so should you compare different potential activities, asking yourself the questions:

  • What kind of reward will this give me?
  • How significant is this reward in comparison to what I already have or am? 
ROI and ROE should be used to make rational choices when weighing many different opportunities.

Friday, October 14, 2011

HOWTO: Publishing to Blogger from EMACS org-mode

Org-mode is one of my definitely my preferred writing style. I never feel comfortable if I have to write any large text anywhere else outside my personal org file. Blogging caused much trouble: writing blog posts is about thinking and writing simultaneuosly and your tool has to be efficient to minimize distractions.
I had to come up with some solution that would suit me well. Google Blogger allows posting via email which is not that bad, but it lacks some features as e. g. post tags. I knew there was a commandline API to Google's services called googlecl, so it took some time to figure out how it worked and compose some code.

Wednesday, October 12, 2011

Apache 2 on Ubuntu: Solution to Alias permissions problem

In many situations you store your files outside var/www and need to have them available on the Apache web server.
According to the Apache manual, you can set up an Alias like this:
Alias /documents /home/user1/documents
In this case the files are meant to be available in the http://yourserver/documents directory. Yet often there is a problem: you get 403 error: permission denied.
That happens because apache is run as user www-data on Ubuntu. This user cannot access your home directory. The easiest way to solve this problem is to add www-data to the user1 group:
adduser www-data user1
Another thing you should have is the DocumentIndex directive in /etc/apache2/sites-enabled/000-default:
Alias /documents /home/user1/documents/
<Directory "/home/user1/documents/">
    Options -Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.html
</Directory>

And don't forget to run chmod:
cd /home/user1/
chmod 755 documents
After that everything should work.

Saturday, October 8, 2011

Time management: never borrow time and spend it within your means

Time is a scarce resource that can only be saved. There's only 24 hours in a day, and nothing can be done to extend it. Saving time works in a very similar way to saving money. 
 
Time Management Fundamentals video course by Lynda.com gave me a very useful insight into how time is to be managed: never borrow time from one activity for another one, because if you do it, you will have to pay interest afterwards. And time interest can be very high. That's how time works.
I remembered myself having to borrow time from sleeping very often in order to work, which only resulted in burnouts of varying severity. That was the interest I had to pay.


Another great idea of that course is that you should stop being stressed about maximum performance within a certain limited timeframe. Let's say you've got an hour to compose a blog post. There's no point in striving to maximize the amount of time spent on useful work. It's normal if you spend 50 minutes on useful work, instead of the maximum 60. It's also better than 65 or 70, because then you're starting to spend time beyond your means. In the long run you win, if you work steadily and relaxedly living within your time means.

This correllates with the Pickle Jar theory that gives an interesting metaphoric description of this phenomenon.

Transferring configuration between Ubuntu machines using Dropbox

It's been my idea for a few months now to create some system that could easily transfer software configuration between different machines: my laptop, my desktop computer, a few virtual machines etc.

Now I seem to have started a preliminary implementation of it using Dropbox and symlinks. In Dropbox I have created a simple directory structure to carry out a test:

Dropbox/.settingsSync
Dropbox/.settingsSync/emacs
Dropbox/.settingsSync/awesome
Dropbox/.settingsSync/scripts

Sunday, September 18, 2011

How to reduce procrastination?

As I discovered, procrastination may occur when I am actually full of energy, but when there are purely mental distractions: when my thoughts are busy with something else, when I feel like doing something different, but not get back to work. I realized, I have to figure out a way of concentrating the rambling attention on one particular tasks. Of course, techniques can be different.

Recently I've found some solutions that seem to work amazingly:

  • Brainwave Generator software. This tiny program uses the so-called binaural rhythms to alter consciousness states. Brainwave Generator is actually an old discovery of mine. I used it in 2003-2005 while studying languages to maximize subliminal retention rate of foreign words with flashcards. Now I rediscovered it!
  • Hemi-Sync binaural music. I've found out there's also binaural music, which is sometimes more pleasant and efficient than monotonous binaural rhythms. Hemi-Sync is a producer of a great range of binaural music CDs. The volume I am currently using is called "Illumination for Peak Performance (2004)".
  • StayFocusd extension for Chrome, my daily web-browser. StayFocusd lets you set a time limit for browsing typical procrastinator's websites like Facebook, news etc. So you can prohibit yourself to spend more than 10 minutes a day on social networking. You choose the websites and the time limit yourself. Once the daily time limit exceeds, you will get a reminder that you should be working now! 

These tiny tools have had a hugely positive effect on my productivity during the past few weeks. I've got about one week work done during this weekend!