Tuesday, December 10, 2013

Installing (first) OmniRom nightly for Samsung Galaxy S2 (I9100)

After a successful installation last night, here is the recap of what happened so that some of you may find it useful (eventually).
Before flashing OmniRom, I was on latest CyanogenMod 10.2 nightly. This means there was already ClockWorkMod Recovery (CWM), root access, and what not. These are the prerequisites I won't go into.


A little background information might come in handy here. OmniRom is the next Cyanogen, in a way. After CyanogenMod became a commercial entity several of its (now former) developers wanted to keep the spirit of free software, community, etc. going and they formed OmniRom. This was also (one of) the first ROM to bring Android 4.4 KitKat to not-yet officially-supported devices, including Samsung Galaxy S2. The above facts should be enough to make you want to try the ROM out, right? It was for me. That and some spare time were enough to jump ahead.


First, as always, it is a good idea to make a backup. However, in this case it turned out to be a waste of time. First because SD card wasn't deleted in the process so all my files, settings, backups, etc. were still there when the new Rom booted. Some early adopters reported that there was no external SD card accessible from the Rom but this was not an issue in my case. So, all my files were still there but backup gave a bit higher sense of security.
The important thing I *didn't* do was to actually backup each application from its own settings and options. I'm not sure if Titanium Backup could restore the apps from earlier Android versions so it would be a good idea to back up each application that has your data through its interface.


Next comes the download.
OmniRom for Galaxy S2 (i9100, *not G*) is available here. There is only one build currently.
GApps must be specific build and what not. The ones I used are here. No issues whatsoever.
SuperSU I used is v1.80. Available from here.

I downloaded on a PC and then copied to the root of the phone's SD card via USB cable. Fortunately, CWM could read both internal and external flash cards, including subdirectories, so the location would not matter so much.


Installation was pretty smooth. The instructions I followed up to certain level came from here. In brief, what happened is:
  1. Rebooted into (CWM) recovery.
  2. Wipe Data/Factory Reset
  3. Wipe Cache partition
  4. Wipe Dalvik Cache from Advanced options
  5. Install Zip - ROM (
  6. Install Zip - GApps (
  7. Install Zip - SuperSU (
  8. Reboot
The first boot was either too long or the device was stuck so I turned it off and boot into Recovery again by pressing Volume Up + Home + Power. This time it was already TWRP Recovery that comes with OmniRom. Then I did again
  1. Wipe Cache Partition
  2. Wipe Dalvik Cache
  3. Reboot
 This time the system booted itself up happily and quickly. Then came the customization of the new system. Google account log-in was a bit tricky as my GAuthenticator for 2-step authentication was on the wiped Rom. Here I used one of the backup codes to log in, then moved the authenticator to the "new" device through this page. This was painless, fortunately. Pay attention to details before you delete your important data.
Moving other apps, like Dropbox, to the new code generator was equally easy. Simply register the new device in the web-app settings on the PC, for example.

That's pretty much it. I installed most of the applications I had previously simply by searching for them in the Play Store, Amazon Store, or F-Droid. Some applications had their own backup and that was restored, which is really helpful. Others I had to reconfigure manually.

Update: In SuperSU go to Settings -> Custom ROM -> Install SuperSU backup script, to avoid reflashing SuperSU on every update.


The ROM seems basic so far. Pretty much the stock Rom that is available for devices like Nexus 7. Currently I'm missing some customizations, like customizable tile settings, ability to turn off led button lights, customize button actions, quick access to recent apps, turning off the screen, and so on. Unfortunately, all these were supported directly in (CyanogenMod) Rom so far and there are no applications that would do that. Hence I'm hoping the support for this will come later as part of OmniRom.

Most of other features are provided by applications so that's all fine. Oh, one thing - install Greenify to take care of the unwanted background process activity and save battery (and the planet).

Battery life after a day's usage seems pretty good. And I mean good as in comparable to the previous (latest CyanogenMod, which is considered stable as of last week) Rom. I did use Greenify to hibernate pretty much anything I don't appreciate running in the background so the playing field for comparison was even.

Things to watch

Delta updates: Apparently there are delta updates available. This is a welcome change and helps reduce the time and bandwidth needed for Rom updates. As there is currently only one build available for download, I couldn't really test that part. The thing to pay attention to is that delta updates are (supposedly) only supported through TWRP, not CWM. Something to try out once deltas are available for i9100.
Update: Deltas are available for i9100 as of Dec.12. In Settings -> About Phone -> System Updates check for new versions. OpenDelta will download the difference and create the new ROM file in OpenDelta directory on SD card. This is to be used to flash the new version. I guess it should be done automatically but this first one I had to do manually.

Customizations: As mentioned earlier, I hope some level of customization of button actions, notification light, etc. will become available for i9100.
Update: As of 20131212 there are new Quick Settings tiles available, like Airplane Mode.

Addendum: Customizations

Some applications can be used to replace missing functionality and those will be added here as I find them.
  • Elixir2 - toolbar in notifications, system profiles, sound profiles, lock screen ... So far suits most my needs.
  • Increasing Ring -  enables increasing volume for ringer and alarms.
  • [Volume Buttler - sound profiles and various ways of activating them.]
Some tweakers for i9100 are available but don't work with current kernel. In case they add support in the future, the links are below

Update: Further links are to be found on my OmniROM page.

Monday, December 09, 2013

OmniROM for Samsung Galaxy S2 (i9100)

Besides custom ROM(s) available earlier, there is now an official build of OmniROM available for Samsung Galaxy SII (I9100) at the link below:

i9100 - > i9100

Wednesday, December 04, 2013

Tuesday, December 03, 2013

DateTimePicker for Bootstrap v3

Finally found one datetimepicker for Bootstrap v3 that works. Almost all these date/time pickers for Bootstrap inherit from work done by Stefan Petre ( but only few are updated to work with the (latest) Bootstrap V3. This one has a NuGet package, too.

Nuget package: Bootstrap.v3.Datetimepicker

Github: Eonasdan/bootstrap-datetimepicker

Monday, December 02, 2013

DateTimePicker for Bootstrap

GitHub: smalot/bootstrap-datetimepicker

Home Page: link

Message Queue platforms

Below are links to some Message Queuing platforms available:
  • ActiveMQ (link) - "Swiss-army-knife"
  • ZeroMQ (link) - good performance
  • RabbitMQ (link) - advanced
  • MSMQ - basic
Recommended reading: ZeroMQ Guide (link)

- Comparison between RabbitMQ and MSMQ (link)
- A Concise Comparison of RabbitMQ, ActiveMQ, and ZeroMQ Message Brokers (link)

Open Source MSMQ Explorer

An Open Source tool to work with MSMQs:

MSMQ QXplorer / Code / [r3]

Saturday, November 30, 2013

Project Type Guids for Asp.Net MVC

When adding MVC to an existing Asp.Net project, these are the Guids to be added to the project file. After adding these, the actions for adding Controllers, etc. will become available in Visual Studio. VS has to be restarted, though, to avoid strange exceptions.


GuidTools Needed to Open ProjectBuild references
{E53F8FEA-EAE0-44A6-8774-FFD645390401}Asp.Net MVC 3System.Web.Mvc
{E3E379DF-F4C6-4180-9B81-6769533ABE47}Asp.Net MVC 4System.Web.Mvc
{349c5851-65df-11da-9384-00065b846f21}Web Designer

Asp.Net MVC Project Guids | Chris F Carroll

Friday, November 29, 2013

Issues With DateTime Globalization

  • What's wrong with DateTime anyway? (link)
  • for .Net: NodaTime

DateTimeOffset does not help you with Daylight Savings Time!

This one is often a source of confusion. DateTimeOffset data type has been introduced to SQL Server but it is only a try (at best) to help out with TimeZone issues. It only contains the (numerical) offset from UTC but, as many know, that offset changes throughout the year. This is known by Daylight Savings Time (DST) and is in effect at different times at different regions in different years. The whole concept is getting obsolete as of late but it is still there and we have to live with it.

Check Jon Skeet's answer below and also have a look at NodaTime library that has a better implementation for working with TimeZones, offsets, and daylight savings.

c# - How does DateTimeOffset deal with daylight saving time? - Stack Overflow

Tuesday, November 26, 2013

Using LiveReload plugin with DocPad

LiveReload plugin for DocPad updates the web page, being previewed in a browser, when a change happens in its source code. This is pretty convenient when adding content as it removes boring and repetitive work, and provides immediate visual feedback, preventing possible missteps.

The missing link to having LiveReload working is to have the "styles" block enabled in the template.

Reference: Beginner Guide | Getting Started | DocPad - Streamlined Web Development

<%- @getBlock("styles").toHTML() %>

Monday, November 25, 2013

Tips for working with Report Server (SSRS)

Below are some tips for working with SQL Server Reporting Services. The tips are absolutely necessary as almost every step, in case the report has any complexity, is slow and painful, and often unintuitive.
  • reporting services - How to get rid of blank pages in PDF exported from SSRS - Stack Overflow -set ConsumeContainerWhitespace to True
  • How do I best display CheckBoxes in SQL Server Reporting Services? (link) - use Webdings 2 font; or HTML source
  • Working with Dates stored as UTC - convert using SQL CLR UDF (link); access timezoneinfo from SQL (link);
  • Related links: TZI in SQL CLR (link), Issue with NodaTime in CLR (link), second (link), Enabling CLR in SQL Server (link), Create CLR Functions (link), Create and run CLR function (link); download SSDT (link); set database Trustworthy (link)
  • Another way of converting Dates is to convert them at the Report level. This leads to a different set of problems, like inability to use deployment from Visual Studio. Add code to a report (link), deploying assemblies (link) and one more (link), Using System.Core: Resolve issues with System.Core version (link). After adding a reference to System.Core the problems arise. Version 4 can not be used, hence a reference must be changed to This breaks Deployment from Visual Studio. Manual upload will work and the report will run.
  • Setting visibility of a textbox
=IIF(First(Fields!Street2.Value, "AddressDataSet") is nothing or
First(Fields!Street2.Value, "AddressDataSet") = "", true, false)
  • Format date/time (link). Use =Format(value, "dd/MM/yyyy HH:mm").
  • Pass a parameter in URL (link). Simply add another key/value pair, such as "&key=value".
  • Rendering HTML (link
  • Set OverwriteDataSources property for objects at the Project level.

Wingdings and Webdings printable character map

Below is a link to the PDF version of the printable character map for symbol fonts in Windows. Thanks to Bruce Gabrielle, the author.


Sunday, November 24, 2013

From Word to PDF using LibreOffice


Here I will put together links and tips on how to handle the following scenario. I need to produce a PDF documentation from a set of Word files in .doc and .docx formats. These have some content that changes and, to handle that, I would create a "template" file where the content would be adjusted on the fly. Then the documents would be converted to PDF format for distribution. Details on implementation are below.

Working with Template Files

Template files are just formatted text files. These can be .docx, .doc, or .odt formats. Custom tags are inserted into the file originally, and then replaced when the custom output is required. The purpose is to have a visual designer for documents and also a system that is easily customizable but, at the same time, easy to read and manipulate by a machine.


Word XML (.docx)

There is a library for working with .docx format, for .Net platform:

Word (.doc)

These files can be read using MS Office or Libre Office.

Open Document Format (.odt)

  • Writer Demo using CLI link.
  • AODL library for manipulating .odf documents.

Direct Manipulation

While reading the template files can be done using native libraries, the templates are simple enough for a quick find/replace functionality of the plain text. Both .docx and .odt are, in fact, Zip compressed collection of XML files.
  • Zip packages are supported directly by the .Net Framework, using ZipPackage class.
  • Zip files are accessible through ZipFile class.

Converting to PDF

Word files are converted to PDF using LibreOffice.
  • Earlier mentioned AODL library can export files as PDF.
  • CLI-UNO Language Bindings also can be used to export .odt files to PDF in .Net directly.
  • Converting Microsoft Word Document to PDF format using (Portable), on CodeProject link
  • HOW TO: Convert office documents to PDF using Open Office in C# (link
  • Programmatically convert Word (docx) to PDF, on StackOverflow (link)
CLI-UNO library is available with default LibreOffice installation and is (usually) found at
C:\Program Files (x86)\LibreOffice 4\URE\bin\cli_uno.dll

Additional References


There should be enough material here for the solution required at the beginning of the post.

Thursday, November 21, 2013

Creating shortcuts in Windows 8 Start Menu

The location for creating shortcuts to programs is
%appdata%\microsoft\windows\Start Menu\Programs\
Creating your own Windows 8 Start Screen shortcuts (Tiles)

The location for Startup programs is
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup

Ember.js Embedding in Existing Pages

There are a few important points when adding Ember.js to existing pages.

The most important ones are setting the application's root element, and disabling the URL handling.

Reference: Ember.js - Configuring Ember.js: Embedding Applications

Ember.js Quickstarts

There seems to be lack of Quickstart tutorials for Ember. You know, the kind of "do this, do that, and off you go", having a working Ember application with core concepts there. Ember.js documentation has made good progress and there are also other articles available that may do that job even better. Here are some links I found useful in that regard:
And a more detailed ones:

Wednesday, November 20, 2013

Ember Debugger for Firefox & Chrome

Ember.js addons/extensions available for Firefox and Chrome, either via direct download or through store.

tildeio/ember-extension · GitHub

Saturday, November 16, 2013

Firefox - the best browser of 2013

Firefox is back to being the best browser, according to Tom's Hardware. While performance is a cool thing to talk about, reliability is much more important for serious work. This is the area where Firefox really shines in the latest releases, when compared to the competition.


During the 40-tab reload, the team assessed the reliability of each browser to ensure all pages had fully rendered. The results were surprising:

  1. Firefox loaded all pages correctly
  2. Opera 12 required four tabs to be refreshed
  3. IE10 required eight (and the browser crashed first time)
  4. Opera 15 required nine refreshes
  5. Chrome required twelve — 30% of pages were incomplete or incorrectly loaded


The Firefox gets the top place by having overall good results, not just shining in minority of areas.

Source: The 2013 Award for the Best Browser Goes to… - SitePoint

Friday, November 08, 2013

Removing (hiding) an Android device from Google Play

Here is the link to Settings page of Google Play, where the visibility of devices can be managed:

Google Play

It is getting annoying seeing one's old devices listed. Especially if they have an identical name! Like having a new Nexus, for example.

Tuesday, November 05, 2013

Use Visual Studio 2012 to edit Reports

Previously we had to have two versions of Visual Studio installed in order to edit reports. SSRS environment was based on the previous version of Visual Studio. Now, finally, there is something that enables Visual Studio 2012 (the latest stable version) to edit the SSRS reports.

Download SQL Server Data Tools - Business Intelligence for Visual Studio 2012 from Official Microsoft Download Center

Monday, October 28, 2013

Firefox Beta full download

As it is difficult to find the download link to Firefox Beta version, full download, here is the direct link to the page from which it can be downloaded:

Firefox web browser | Help us test the latest beta

Saturday, October 26, 2013

My new favorite launcher on Windows

As the search functionality on the new workstation sometimes gets stuck for ~10 seconds, effectively making it useless most of the time, I was back to searching for a custom launcher.
Fortunately, this category of programs is not forgotten. On the contrary - it is very well live and kickin'.
I used to be a fan of SlickRun but, over time, I simply utilized Windows start menu more by adding custom shortcuts. This was a hassle but similar to setting up SlickRun. So, no real benefits there.
Now I found a great new contender - Launchy. It has a great balance of ease of use, performance, and features offered.
Read more here or check the web site: Launchy: The Open Source Keystroke Launcher

Thursday, October 24, 2013

Debugging Routes in MVC

There is a built-in way to see routes in ASP.Net MVC. Simply open 

in the current application and all the available routes will be displayed. No need for 3rd party libraries. This makes route debugging way easier.

The simplest way to add a link to webapp/website to Android home screen

The easiest way to add a shortcut to a web site (or web application) is to create a bookmark in your favorite browser and then add a shortcut to the bookmark at the home screen. How exactly to add the shortcut will depend on the home/launcher app you are using. Adding a bookmark is done through the browser.

Source: How to pin a webapp/website to Android homescreen | Mobile Pixels


Friday, October 18, 2013

New favourite note editor

Draft is my new favourite note taking app on Android. It supports Markdown syntax, Dropbox sync, and offline search. It takes so little yet it took a while to get an application like this.

Friday, October 04, 2013

Selenium WebDriver

Quick start for running Selenium WebDriver from Selenium IDE.

  • Install standalone Selenium server (instructions)
  • Install Chrome driver (downloads, instructions)
  • Set Playback settings in Selenium IDE, through Options dialog. Enable WebDriver Playback, and set the browser. I use “chrome” with the above driver.

After that, check that http://localhost:4444/wd/hub is accessible and run the tests.

In addition, contains some useful Selenium IDE plugins.



WebDriver Playback in Selenium is Here

Thursday, October 03, 2013

entity framework - loading related entities in separate queries

Load method, in Entity Framework, is used to load the data into the context. This is handy when preloading all required data for later processing.
When loading data like this, Entity Framework will also understand the links between entities loaded in the context. Therefore it is possible to have several queries to load related data, using Where function, and the navigational properties between loaded related entities will work correctly.

Some useful references:

entity framework - Loading related entities in separate queries and sorting of children collection - Stack Overflow

The Load Method

Saturday, September 28, 2013

CMX Clanga updates

Wednesday, September 25, 2013

Raspberry Pi Resources

Here are some Raspberry Pi resources:
  • Wikipedia page (link)
  • Official Forums (link)
  • Raspberry Pi on Stack Exchange (link) – Q & A site


  • Printable PDF of the casing (link)
As Raspberry Pi is a board with processor, RAM, and connectors, the handy additions include: 
  • SD card, 
  • HDMI cable or HDMI-DVI adapter, 
  • USB self-powered hub to connecto the following: 
    • mouse and keyboard, 
    • Wi-Fi adapter,
    • external self-powered disk drive or USB stick.
Other possible additions could be (all USB): 3G dongle.

Operating Systems


  • Installing Chromium (link). In essence: 'sudo apt- get install chromium'
  • IceWeasel / Firefox (link)
  • Skype (link)

ModMyPi | Android Mini PC's

Raspberry Pi and Android Mini PC's available in Austria.

ModMyPi | Android Mini PC's

Monday, September 23, 2013

Auto Awesome - Google+ Help

There is a new set of features on Google Plus, called Auto Awesome. The one effect I experienced this morning is that it glued together a couple of photos together on its own and created a nice panorama of Franzensburg (link).

The image is here.

Auto Awesome - Google+ Help

Tuesday, September 17, 2013

GitHub: Pull in upstream changes

If the original repository you forked your project from gets updated, you can add those updates to your fork by running the following code:
git fetch upstream
# Fetches any new changes from the original repository
git merge upstream/master
# Merges any changes fetched into your working files
Source: Fork A Repo · GitHub Help

Monday, September 16, 2013

Greenify *ROOT: Renew my Phone - Android Apps on Google Play

Greenify promises to keep the nasty applications at bay by preventing them from running if you don't want them to. If true, this would be a solution to having all the apps that are useful in general but are running as services in the background and therefore ruin all the fun when you're *not* using them.

Greenify *ROOT: Renew my Phone - Android Apps on Google Play

The justification and the story behind the app is here.

Sunday, September 15, 2013

AV-Comparatives File Detection Test March 2013

Avira Antivirus still tops the charts of the free antivirus packages.

  • detection rate of 99.6% is great,
  • false positives at 8 tops majority of other free antivirus packages. 
Overall, it reached an Advanced+ status with 3 stars, which is the top group, along with F-Secure, BitDefender, BullGuard and Kaspersky.

AV-Comparatives File Detection Test March 2013 » AV-Comparatives

Wednesday, September 11, 2013

How to Prolong Lithium-based Batteries - Battery University

Great article on How to Prolong Lithium-based Batteries:

How to Prolong Lithium-based Batteries - Battery University

This site (Battery University) also contains a host of texts that explain what batteries are and how they function.

Friday, August 30, 2013

An Eye Tracking Study on camelCase and under_score Identifier Styles

"results indicate a significant improvement in time and lower visual effort with the underscore style. The interaction of Experience with Style indicates that novices benefit twice as much with respect to time, with the
underscore style."

Link to the study

Wednesday, August 28, 2013

Infinite Version is getting meaningless

"Infinite version" was a concept made popular by widespread transition to web applications that could easily be updated continuously. Google implemented the same with Chrome by using a brilliant system for automatic updating through distribution of differences between versions of the application.
One of the consequences was that the age-old rule for software versioning (link) has become pointless as the major versions were increased every couple of weeks without any significant change. Initially there may have been major changes in every new release but, as of late, the rate of those has slowed down. The versioning is now becoming meaningless with updates like the current Dev version of Chrome:

Chromium 31 Is Here, Chrome 31 Is Only Days Away: "Perhaps partially to offset the lack of new features, but mostly because it's tradition by now, the Chromium patch that bumped up the version number also comes with a few trivial facts about the number 31."

The lack of new features is confirmed at Google Chrome Releases blog (link): "This release fixes a number of crashes and other bugs."

The software version number is now just a sequence number to distinguish releases, stripped of any other information about the amount and type of changes included.

Monday, August 26, 2013

Android 4.2 file access from Fedora 19 via MTP. -

A life-savior. "simple-mtpfs" mounts Android device over MTP.
Usage: simple-mtpfs
i.e. simple-mtpfs ./temp

-l will list available devices. Can be used as diagnostics to see if the device is connected properly.

Android 4.2 file access from Fedora 19 via MTP. -

Wednesday, August 21, 2013

Encode HTML for Blogger posts
is a handy service that will encode all the special characters into HTML-encoded ones so that the posts on Blogger, that contain HTML code, will look correct. 

Network issues with Visual Studio 2012

It has been a while since Visual Studio 2012 (with Update 3 currently) reminded me of updates to installed extensions. To see what's going on, today I tried to check for updates manually and was greeted with an error. VS could not check for updates nor connect to online gallery.

The problem was semi-resolved by adjustments to devenv.exe.config file in Common7/IDE directory. (source). In addition to the setting for servicePointManager, I also enabled the defaultProxy. Below are the settings that made the automatic update work again.

    <defaultProxy enabled="true" />
      <servicePointManager expect100Continue="false" />

Sunday, August 18, 2013

Issue with SwiftKey on Android 4.3

There is a fix available in the latest beta versions. The download link is in the bug report.

Friday, August 16, 2013

Disable back light on I9100

Or, in brief

#!/sbin/busybox sh
echo "1" > /sys/class/sec/sec_touchkey/force_disable

Monday, August 05, 2013

Is the future already here?

Reminiscence of Tesla in this technology sounds too good to be true. Run an electric vehicle using the energy freely available around us.

More info:

Sunday, August 04, 2013

Checking disk drive under Linux

There is a time when old hard drives start to die out. Here are some tools to help diagnose the issues:

sudo badblocks -v /dev/sda > bad-blocks

Does a read-only check for bad blocks and outputs a file (bad-blocks in this case) with the list of the bad blocks found. The parameter can be a whole disk (as above) or any of the partitions. In case of a partition, use /dev/sda5, instead /dev/sda, for example.

sudo fsck -t ext4 -l bad-blocks /dev/sda

Fsck will read the contents of bad-blocks file and check the reported sectors. After analysis they will be marked as bad.

'Disks' is a GUI utility that displays the drives attached, including the partitions.


Thursday, July 25, 2013

Using Git and Push-to-Deploy - Google App Engine

Google App Engine now allows the deployment of web applications by simply pushing the code to a source code repository.

Using Git and Push-to-Deploy - Google App Engine — Google Developers

Wednesday, July 24, 2013

Android - Screen Off Utilities

Looking for a more convenient way to turn off the phone screen but not to lock it until the timeout expires (currently 10 minutes). This helps me avoid constant unlocking if I'm using the phone frequently.
Below are two convenient tools that assist to achieve the goal:

Screen Off Utils (link) - allows turning the screen off but doesn't force the lock;
Proximity Screen Off Lite (link) - turns the screen off on either the light sensor or proximity sensor signals. This allows turning the screen off when the phone is placed into a pocket or placed on the desk upside down (which I normally do).


Tuesday, July 23, 2013

Open Workbench

Open Workbench | Free Business & Enterprise software downloads at
Another good alternative to MS Project and a decent project management tracking tool.

Monday, July 22, 2013


Keepass2Android - Home: "Keepass2Android is an open source password manager application for Android. It reads and writes .kdbx-files, the database format used by the popular KeePass 2.x Password Safe for Windows and other desktop operating systems."

KeePass for Android app. Besides the functionality provided by KeePassDroid, this app has a great Android integration feature through KeePass to Android Keyboard that comes with the app. Through this keyboard one can select any of the fields from a selected entry. There are also browser integration via URL, and Quick Unlock (phew, finally). Very convenient!
The only drawback I found is that it runs as a service and takes a whopping 120MB of RAM.

Monday, July 15, 2013

node.js - How can install a new version of NPM ( 1.1.24 )? - Stack Overflow

Upgrading npm is rather easy. All it takes is
npm update npm -g

Source: node.js - How can install a new version of NPM ( 1.1.24 )? - Stack Overflow

Apparently, it should also be possible to upgrade Node itself, using NPM (link). However, this doesn't seem to work well on Windows.

resurrectio - automating browser tests

ebrehault/resurrectio is a great addition to PhantomJS and CasperJS testing suite. Ressurection is a CasperJS test recorder Chrome extension.
Now the full setup feels like Selenium IDE.

Install from Chrome Web Store: link

ansicon - a color console for Windows!

Colored console in Windows. Great for running CasperJS UI tests and quickly previewing the results.

Downloads · adoxa/ansicon

Friday, July 12, 2013

CasperJS & PhantomJS: Headless WebKit with JavaScript API

In addition to Zombie, which proves difficult to use on Windows, here are more options for headless full web stack testing:

PhantomJS: Headless WebKit with JavaScript API: "PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG."

CasperJS is "an open source navigation scripting & testing utility written in Javascript and based on PhantomJS — the scriptable headless WebKit engine. It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic sugar for doing common tasks such as:

defining & ordering browsing navigation steps
filling & submitting forms
clicking & following links
capturing screenshots of a page (or part of it)
testing remote DOM
logging events
downloading resources, including binary ones
writing functional test suites, saving results as JUnit XML
scraping Web contents"

Zombie: Insanely fast, headless full-stack testing using Node.js

A testing framework that does not require a browser.

Insanely fast, headless full-stack testing using Node.js: "Zombie.js supports the following:

HTML5 parsing and dealing with tag soups
DOM Level 3 implementation
HTML5 form fields (search, url, etc)
CSS3 Selectors with some extensions
Cookies and Web Storage
XMLHttpRequest in all its glory
pushState, popstate and hashchange events
alert, confirm and prompt
WebSockets and Server-Sent Events"

'via Blog this'

Tuesday, July 09, 2013

Testing XPath in Google Chrome browser

To evaluate an XPath in Chrome browser, open the console and use


replacing, of course, the "xpathselector" text with actual XPath selector.

Source: Testing XPath in Google Chrome browser

Monday, July 08, 2013

Feedly, Export OPML

The way to export RSS feeds from Feedly is to open the menu, click Organize, then 'as OPML'.
Or simply click the following link: OPML

Thursday, July 04, 2013

ubuntu - How to run todolist from abstractspoon in linux? - Super User

ubuntu - How to run todolist from abstractspoon in linux? - Super User

Instructions on how to run AbstractSpoon's ToDoList in Linux, using Wine.
There are MFC dlls missing and they are installed using "winetricks vcrun6".


Home | ProjectLibre: "ProjectLibre: Open source replacement of Microsoft Project"

This is a project that continues where OpenProj left. A project management tool that compares to MS Project.

Monday, June 24, 2013

Grub2 configuration in Fedora 19

Below is the command to (re-)create a Grub2 menu. This is the menu that shows at boot time and allows for selection of kernel and other system configuration parameters.

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

More information: Grub2 page at Fedora

CSS "contains" selector

As the ":contains('text')" selector has disappeared from CSS3 specification, translating Selenium selectors is a bit more pain.

Useful references:

Saturday, June 15, 2013

GRUB2 Editor

Here is an add-on for KDE System Settings that provides a GUI to manipulating grub2 entries.

GRUB2 Editor - Browse /0.5.8/Fedora 18 at

Monday, June 10, 2013

AngularJS: "Error: $digest already in progress"

Here is something that might save a few painstaking hours. While working on an AngularJS code in a web page, there was a need to pass some data from the server side for the initialization. Since the data was static and the page already had previous functionality, the easiest way was to dump the data in the form of JSON straight into the page when it was being rendered on the server side. Then, in Angular code this JSON data would be used when the code runs on the client side.
So, after a few changes the annoying "Error: $digest already in progress" error was popping up as soon as the dialog was loaded. Oh, right, another thing was that there was a dialog that was dynamically loaded from the server depending on what the user clicked. Then, each dialog had its own Angular controller.
To make the story short, the JSON initialization in a script tag was placed *inside* the div with ng-controller. This was triggering the exception as it messed up with Angular code, I guess.
Moving the script tag above the div with ng-controller helped and now the code works as expected.

Monday, June 03, 2013

Selenium Tips: CSS Selectors in Selenium Demystified

The text below is a useful resource in describing the CSS selectors in Selenium (IDE). It describes a several ways that could assist you to move from XPath-based selectors to CSS ones.
The result would perhaps be a bit of speed in execution is CSS selectors are native in browsers these days, and could potentially be more readable for humans.

Selenium Tips: CSS Selectors in Selenium Demystified | Selenium Testing?

Here is more on CSS selectors: CSS Reference


Wednesday, May 29, 2013

Monday, May 27, 2013

Barlesque - Firefox Addon

Another useful Firefox addon. This one transforms the Addon bar into a set of buttons, adds a minimize button to it, and allows for auto-hiding after a specified time period. Quite a useful addition to Addon Bar and one that's hard to find just by name or description, among thousands of other addons.

Barlesque :: Add-ons for Firefox

Handy Firefox Addons for Google+

A very handy "share on Google+" shortcut for Firefox. No addon necessary. Simply a bit of JavaScript that opens a new window with the link to the current page (url).

Google Plus One and Share with Firefox | Double T Tech Talk

The page above also contains a link to Hide Bookmarks Bar extension that can be used to map a shortcut key to toggling the Bookmarks toolbar.

(Un-)Locking Firefox Preferences

The page below explains how to lock certain Mozilla Firefox preferences. The same advice is useful when looking on how to unlock them, if set by someone else.

Locking preferences - MozillaZine Knowledge Base

The one sentence summary is: check mozilla.cfg file in Firefox installation directory.

Integrated Authentication for Firefox

A cool addon that sorts out issues with NTLM authentication and Firefox.

With the Firefox Beta 22, I was not able to log in to TFS server even after typing in correct authentication details. After installing this extension, the login is transparent.

Integrated Authentication for Firefox :: Add-ons for Firefox

Friday, May 24, 2013

Wednesday, May 22, 2013

Markdown Resources

Here are some Markdown resources (.md)
MarkdownPad post.

Saturday, May 11, 2013

Dapper.Net Resources

Dapper is a fast micro-ORM for .Net platform.
Since it is a bare-bone framework, below are some useful additions that contain features found in other ORM engines:

  • example on using Dapper.Rainbow (link)
  • Dapper.Mapper (link) enhances multi-reader mapping

Tuesday, May 07, 2013

List of OwnCloud client apps

Here is one list of apps that can be used to synchronize with ownCloud instances. There are some free providers of ownCloud hosting that can be used to test out the service. If that is successful then the next step is installing an own instance.

OwnCloud - DreamHost

How can I export a list of my RSS feeds from Google Reader?

A quick way to export your OPML (news feed list) from Google Reader is to go to the following link:
This will download the list in XML format. From there it can be imported into any other decent RSS feed reader.

Source: How can I export a list of my RSS feeds from Google Reader? - Web Applications Stack Exchange

Monday, May 06, 2013

Twitter Bootstrap Button Generator

Nice and handy button generator for Twitter Bootstrap.

Twitter Bootstrap Button Generator | PlugoLabs

Asynchronous controller actions in MVC 4

Asynchronous actions in ASP.NET MVC controllers, using Async.

Midnight Programmer: "ASYNC CONTROLLER IN MVC 4"

Tuesday, April 30, 2013

Sunday, April 28, 2013

Rdlc Repor resources

Finally found some decent resources related to Microsoft Reports. See link(s) below.

  • Got Report Viewer (link)

Rdlc Report resources

Finally found some decent resources related to Microsoft Reports

Saturday, April 27, 2013

Upgrading Fedora 18 -> 19 with FedUp

Today I tried to upgrade Fedora 18 to 19 using fedup. First I got an exception after it downloaded all the packages. It turns out there is already a fix for this. The trick is to install a newer version of fedup, which is not yet available in the Updates repository for F18.
The repository here - Index of /pub/fedora/linux/development/19/x86_64/os - contains the latest version of fedup. It is 0.7.3 at the time of writing, while F18 Updates repository contains only v0.7.1.
So, running with this newer version there is no crash but adding the installation repository parameter is now required. Using the above repository allows the upgrade to proceed.
The command line is below.

sudo fedup-cli --network 19 --instrepo

Should you change your mind halfway through the process
sudo fedup-cli --clean
will clean up all the changes made so far.

Update: As described in the reply to the bug report, the installation repository above is the correct one if you are updating to a pre-release version of Fedora (which #19 currently is). Once it is officially released, any repository instance will contain the files to allow upgrading.

Another option is to download the (now available Beta) upgrade DVD and upgrade from there:

sudo fedup-cli --device /mnt/fedora --debuglog=fedupdebug.log

More info:

Update 2013-06-12: The instructions page list another upgrade path, using ISO. The command is

sudo fedup-cli --iso /path/to/file.iso

While upgrade with specifying the path to the contents of the mounted ISO file didn't work for me, the upgrade using the ISO file actually worked and the system was upgraded.
After the upgrade, a manual intervention was required. I had to update a lot of packages that were still available on the system. A lot of help was provided by
sudo package-cleanup --orphans

BeWeather & Widgets - Android Apps on Google Play

This is now definitely my favourite weather app for Android. It does not run as service, unless you want it to. As a service, it can be set to auto update. Each location can have its own update interval. And the temperature can be shown in the notification bar.
But, since I don't like apps running as services, I prefer to update when I actually open the app. BeWeather can find your location and then show the weather data from the nearest Weather Underground station. Once the location service is disabled, the location will remain cached in BeWeather and the weather will be updated for that location.
Other locations can also be added by simple search. There are beautiful weather animations for those who like extra visual experience. I'm quite happy with static images, which are also pretty.
There is also the animated satellite image for selected location, daily forecast for next 7 days, hourly forecast for the current day, sunrise and sunset times, and maybe a few more things.
However, all the stuff above is more than what I would expect from a decent weather app and this is it. After about a month of usage, there is not a single thing that is wrong about this app and that makes it onto my favourites list.

BeWeather & Widgets - Android Apps on Google Play

Office in the browser

Something to try out. Chrome plugin that opens Office files directly in the browser.

Wednesday, April 24, 2013

Tuesday, April 16, 2013

Deezer - Online Music Player

One more player to add to a collection of online music players.
Uses Flash. Works on both desktop and mobile.

Monday, April 15, 2013


RailsInstaller contains a complete Ruby package, including Bundler, Rails, DevKit, Git, etc. Basically everything you need to run Ruby apps.
This is my preferred way for installing Ruby when running Redmine.

Friday, April 12, 2013


Free, open-source, utility for Windows that allows you to script actions to keyboard or mouse macros. Contains a macro recorder.


Monday, April 08, 2013



How to work with variables (link)

Web Driver

WebDriver quick start (link).

Useful links:

  • CSS selectors in Selenium demistyfied (link)
  • Must-know commands for Selenium IDE (link)

Sunday, April 07, 2013

Visual Studio 2012.2

2nd update for Microsoft Visual Studio 2012

Friday, April 05, 2013

Debugging node.js applications with inpector

Install node-inspector:
npm install -g node-inspector

Run in debug mode:
node --debug your/node/program.js

Source: node-inspector


MarkdownPad 2 is a Markdown-aware text editor with preview.

MarkdownPad - News

And, for a start, here is a guide to Markdown syntax - link.

Thursday, April 04, 2013

Google App Engine deployment with proxy

Similar to Node Package Manager, Python, Java, etc., Google App Engine can read HTTPS_PROXY variable in order to use a proxy server to access the Internet.
set HTTPS_PROXY proxy.server.domain:port
before running the App Engine Launcher and everything will work fine. The reason is that the App Engine is written in Python (on in Java, if you're using that one) and it is Python that is using the proxy server and reads the environment variable.

Wednesday, April 03, 2013

Dot TK employs shady tactics

So, I have just realized how Dot TK is playing out their tactics for making extra bucks on the domain names. They offer free registration of .tk domains to everyone, stating that this promotes the island, helps tourism, yada yada yada. It is really no problem to register the domain, find a DNS host that will host the domain and, voila, everything works.
However, beware that when the domain expires it will simply redirect to spam advertising site to get your traffic. This is quite annoying and does not help understand the root of the problem. Looking under my account, the previously-registered domain was not listed there at all!
When I tried to re-register the domain, I was told that the domain is now a "special domain". Thus, it requires a payment that is higher than regular domain name registration. So, not only it is not free anymore but now it costs more than a paid domain!
Communicating with the support pays off. In my case it turned out that the domain expired and everything was set right promptly. In that regard, I salute the support team but the fact that it is not obvious what happened and that there is no way to extend the registration after it has expired, but redirects to some nasty sites, is quite a disappointment.
So, make sure you renew your domains on time.

Thursday, March 28, 2013

JavaScript In-Place Editors

After a post on jquery-in-place-editor (link), I was looking for more in-place editor controls. Discussions on StackOverflow (amazingly) weren't very fruitful but the search was successful. Here are some results.

  • Xeditable (linkdemo), incorporates Twitter Bootstrap, jQuery UI, or just jQuery.

Wednesday, March 27, 2013

Working with Variables in Selenium IDE

Selenium IDE allows storing and recalling values in the scripts.
To get a value from a hidden field use
storeValue | //input[@id='ItemId'] | itemId
This will store the value of the hidden input element into a variable named itemId.
To retrieve this variable later simply refer to it as
inside any other command.

See more Selenium-related tips on my Selenium page.

Sunday, March 24, 2013

Creating installers with Visual Studio 2012

With Visual Studio 2012 there is no more integrated option to create installer packages for components. Setup project type has been discontinued for a while now. Here are some alternatives:

Friday, March 22, 2013

New favourite note taking app

After quite a while, Google published a note-taking app for Android. The name is Google Keep. It is, at the same time, a web application and is accessible from
The app offers text notes, photo notes, voice notes, and task lists. Task lists are not hierarchical but are good enough for jotting down a quick list.
The app works offline, has fast (offline) search, and synchronizes with Google Drive.

Thursday, March 21, 2013

WIX Resources

Since Setup projects are dead and not available with Visual Studio 2012 probably the best option is to use Windows Installer XML Toolset, or WIX.
The tutorial is available here and a graphical view of the tools is here- link.

Here are some useful Windows Installer XML (WIX) resources:

Looking for Bookmark Manager

It's been so many years but bookmark management is still a pain in a wrong place. My bookmarks are now spread out across systems and programs and it is hard to pick up which one is where. Now I'm embarking on a task of finding a decent bookmark manager that:
  • works across platforms (Android, Linux, Windows, for a start)
  • syncs across those same platforms
  • allows quick search
  • allows locating the search results in the folder hierarchy
  • has notes field that is searchable
  • works with whatever the default browser is
Here are some findings:
  • NetVisualize Favorites
    So far I've used NetVisualize Favorites for years. It worked well on Windows and synchronized through Dropbox. Worked with any browser. However, it is not being developed further so it is missing all the modern features of cross-platform and online cooperation. That's why I'm looking for alternative.
  • Firefox Bookmarks
    While convenient as cross-platform tool that syncs, it is sometimes suffering from performance problems.
  • Chrome Bookmarks
    Has sync across platforms and devices. Missing description field and search. Annoying thing on desktop is that it is impossible to figure out the directories where the search result records are stored. Directory information adds a lot of useful contextual information to the bookmark and not having it available is confusing.
    On mobile there is a bug in layout that makes it impossible to work with even a moderate number of bookmarks.
  • Opera Bookmarks <- br="" current="" favorite="">What a gem. Someone recommended this and now I'm using it as a default bookmark manager to try it out.
    Has versions for Android, Linux, Windows. Syncs across platforms.
    NetVisualize can export directly to Opera format, together with Description field!
    Has awesomely fast quick find that search in Description.

Wednesday, March 20, 2013

Full-screen Google Tasks

If you are using Google Tasks, here is the URL for the full-page view:

Sunday, March 17, 2013

Static-site generators

Looking for a templating engine that generates a fully static-HTML web site.
Some initial leads come from Node Based Static Site Generators post (link).
The requirements would be that the templating engine can run on lots of machines. A Node.js-based engine would be great. Although limited to PCs when ran directly, it would allow working with online IDEs to modify the site contents.


Uses marked templates and is relatively simple to get going. I would still prefer something simpler as sometimes it is not obvious what is missing in the overall structure of the files.


Current favorite.
The file structure seems the simplest. Supports MarkDown templates (marked). Has a file monitor that rebuilds on any file save, and a built-in server for previewing the site.
Quick start (link)


Uses jade templates which are some hybrid between MarkDown and HTML. This is a half-way solution and I see no point using this quazi-HTML instead of the real thing. Or, if moving away from HTML (the presentation) to the content then I would prefer something like MarkDown.
The library is extensible but one would have to write an own plugin to be able to use marked templates.
No go.

Saturday, March 16, 2013

My new favourite Windows network traffic monitor

NetBalancer is my new favourite network traffic monitor. It displays network bandwidth usage per process. The concept is similar to NetLimiter. The difference is that the free version of NetBalancer allows setting the limits to processes. I don't usually use this functionality.
Why I like NetBalancer is that it has excellent monitoring features. Process details, charts, real-time data display in a standard window, floating window that blurs when hovering over it, and a tray icon.

NetBalancer is an internet traffic control and monitoring tool for Windows.
Web site

Install Linux on Netbook

Here are instructions on how to install Mint on a netbook under Windows. This seems like a good option for trying out Linux on netbook as it keeps Windows installation intact as a fallback.

Install Linux Mint on Your Computer or Netbook

Friday, March 15, 2013

Host your own cloud

"Own Cloud" concept is ready and stable. Internet connections are available to many. So, will self-hosted come back? Externally hosted solutions are convenient but they might eventually shut down when they realize they are not making enough in order to survive as a business.

Thursday, March 14, 2013

Google Reader migration

So, many seem upset about Google Reader shutting down, and worked up with migration of their feeds to somewhere better.
My current take is Opera browser. It has a built-in RSS feed reader. The reader has a good performance and offers plenty of options I'd expect from a decent feed reader. Another benefit is that it comes with Opera so no extra software to install. Import and export of OPML is a breeze.
So the trial starts.

The issues to resolve:

  • sync across devices/instances
  • Android version
  • no external dependencies

Tuesday, March 12, 2013

ORM Comparisons for .NET or is a site that has a few nice comparisons between .NET object-relational mapping (ORM) frameworks.
The results are mostly from 2009 and 2010 but, fortunately, there has not been too many changes in the meantime.
It is impressive to see the speed differences among frameworks.

Monday, March 11, 2013

AeroFS - Private File Sync and Share

The invitation to AeroFS has just arrived.
AeroFS is your own private "dropbox". It is a full service that allows syncing your various devices without third-party servers.

AeroFS - Private File Sync and Share

Friday, March 08, 2013

Developer Tools - Gadgets API — Google Developers

Google Gadgets Editor contains a template for creating a gadget. The reason I'm interested in gadgets is that this currently seem to be the only way to add JavaScript code to Google Sites. Of course, the code is limited to the content of the gadget, as these are inserted via iframe. That is, however, enough for small, isolated pieces of functionality on hosted pages, like swapping images, etc.

The tool (with the template) is here:
Developer Tools - Gadgets API — Google Developers

Google as also adding App scripts support to Google Sites but I have not looked into it in much detail. 

Thursday, March 07, 2013

Unicode character table

Map of all Unicode characters. Simply amazing. Searchable.

Unicode character table

Tuesday, March 05, 2013

Opera browser beta - Android Apps on Google Play

Opera Beta is out! While I'm enjoying the current Opera Mobile browser, the beta version is a step ahead, showing the upcoming features. Plus, it is a great opportunity to send feedback and contribute to that great piece of software.
Here are some of the pros of Opera Mobile, from my perspective:
  • Text reflow- When zooming in and out, the default option is to reformat the text. So, even when you zoom in on a page, all the text is still displayed so no scrolling is needed. This is just brilliantly implemented.
  • Excellent zoom in/out - I find it very convenient to zoom in with double tap, and go back to full page the same way. 
  • Progress bar - I like the way loading progress is indicated in the address bar, reusing the space and showing how long until all the content is loaded.
  • Full screen view - There is an option to show browser in full-screen view, hiding the Android status bar. Status bar is useful at times and it is quite easy to bring it back. This feature is great in combination with the one below...
  • Address bar hiding - Address bar goes away when you scroll the page down and comes back when scrolling the page up. Similar to default Android browser behavior. It would be great if the Android status bar would hide/show at the same time with address bar. More screen real estate could be used to display the page content.
  • Excellent log-in field matching - Finally a browser that properly matches log-in fields and this works on most pages I tried. I often had issues with other browsers, messing up fields and values.
  • Synchronization - Similar to Chrome, Opera synchronizes across all your browsers, desktop and mobile. 
  • Online access to sync data - The feature is called Opera Link and is also accessible online for access through a web browser - here. Quite convenient to access your bookmarks from a foreign device or PC.
  • Rendering quality - For some reason I just see less weird-looking pages on Opera than in other mobile browsers and the whole browsing feel is much more like browsing on desktop. 
  • Rendering speed - Rendering is just reliable and fast. 
  • Bookmarks that work - Unfortunately for Chrome, my bookmarks got screwed up after scrolling halfway through the list. Opera ones seem to work with even the larger amount of bookmarks, after importing the old ones plus adding new ones to the collection.
  • Show Image - a nice feature for pages where not the whole picture fits the viewing area. Long-tap on image and select "View Image" and it will open in a separate tab. Can be zoomed in and scrolled and analyzed for heart's content then.
  • Tab switching - I find this way of tab switching, with previews, just superior to anything else. Maybe the fact that the whole experience is *fast* contributes to the effect.
  • Integrated download manager - This is extremely convenient for sites that require authentication for download. Now downloading finally works properly! No need to use desktop just to download a file when authentication is required.
  • In-browser Notes - This is still something I'm getting used to but is very usefull and often needed. Especially when notes are synchronized with other devices.
  • Zoom-In when tapping multiple links - This is a great feature. When, while tapping, your finger touches multiple links, the browser will zoom in and mark the ones you touched. That way you can tap on the one you really want.
Notes on Opera Beta:
Opera Mobile Beta is the first version utilizing WebKit rendering engine in Opera browser. Now, this change caused a design overhaul so most of the features listed above look and feel different. The drawbacks:
  • No address bar hiding, nor status bar hiding.
  • No progress bar.
Note, however, that this still is *beta* software and things might, and should, change in the future.

Opera browser beta - Android Apps on Google Play

Sunday, March 03, 2013

Webmaster Central - Verification home

Verification page for Google Sites.

Webmaster Central - Verification home

What is BlogThis! ? - Blogger Help

BlogThis! is a bookmarklet that makes it easy to create a blog post referencing the current page in the browser. A bookmarklet is a hyperlink containing some JavaScript that will pass the URL, page title, and selected text to Blogger. This allows having the link with the page title set in the new post.
Good thing is that this works in all browsers so no extensions needed.

What is BlogThis! ? - Blogger Help

Saturday, March 02, 2013

SearchMonkey - 'find in files' GUI

SearchMonkey is a cross-platform GUI tool for searching the text inside files.

download page

Transfer bookmarks from Chrome to Opera

The process is quite simple. Open Chrome Bookmark Manager, then select Organise -> Export Bookmarks to HTML file.

In Opera, open Bookmark Manager, then File -> Import Firefox bookmarks. Done.


Friday, March 01, 2013

Java (Applets) in Fedora 18

After some applets wouldn't run in either Chrome or Firefox on my Fedora 18 system, it was time for some investigation.
First I tried installing Oracle Java as some applets might be requiring it explicitely.

Oracle Java

Download Java from here. Follow the instructions for installing, from here.
Then, open "about:plugins" in your browser and check if the Java plugin is displayed there.

Verify Java installation here. Test applet support here or on JavaTester.
Remove old versions, as specified here.

While I first installed 32-bit version of Java, as suggested on Oracle's site, this is not correct. The proper version to install, even for applet support, is 64-bit, if on 64-bit system. After installing 64-bit version and setting it to be the active one, using 'alternatives', applets worked in both browsers!

Set default file handlers from Nautilus, Fedora 18

To set the default handler for file types do the following:
  1. Open Nautilus
  2. Locate the file you want to open
  3. Right-click on the file and select Properties
  4. Go to Open With tab
  5. Select the application from the list
  6. Click 'Set as default'
How can I make Exaile the default music player? - Ask Fedora: Community Knowledge Base and Support Forum

Friday, February 22, 2013

RIOT - Radical Image Optimization Tool

Desktop image optimizer. Use it to adjust the image size while retaining a satisfactory visual quality.

RIOT - Radical Image Optimization Tool

Sunday, February 17, 2013

Alacarte - Gnome menu editor

Alacarte is the easiest way to create application launchers (start menu shortcuts) and associate programs with file types.

Use Sublime 2 on Fedora 17 instead of gedit - Ask Fedora: Community Knowledge Base and Support Forum

How to create a new blank file in Nautilus 3.6?

Although maybe not immediately intuitive, it is quite easy and convenient to customize New Document menu in Nautilus 3.6.
Simply create a template file in "~/Templates/" directory and it will become available in the context menu on  right-click in a directory.

templates - How to create a new blank file in Nautilus 3.6? - Ask Ubuntu

Saturday, February 16, 2013

Using Tor with Chrome

Adding "Tor button" to Chrome is rather simple:

  1. Install proxy switch extension. I use this.
  2. Add proxy configuration for Tor. Use Socks 5. Check Tor log for the Socket port to use with the proxy switcher.
  3. On General tab, set quick switch between Direct Connection and Tor proxy.
  4. Activate Tor proxy.
Also check how to set exit node with Tor, here.

Friday, February 15, 2013

Setting an exit node in Tor

To manually set an exit node in Tor, do the following:

  1. Locate a node on the map
  2. right-click no the node, select Copy->Fingerprint
  3. Go to Settings, Advanced
  4. Edit torrc 
  5. Add the following lines:
    ExitNodes servername1, servername2, ...
    StrictNodes 1
  6. Replace servername1, servername2 with the fingerprint(s) of the desired nodes.
  7. Apply selection only (for those two lines)

"Open in Terminal" in Nautilus

There is a cool Nautilus plugin that allows opening a Terminal in the current directory. The package is called "nautilus-open-terminal".

Source: link

Date (Range) Pickers - HTML/JavaScript

As the dates and UI controls are a neverending story, below is a list of controls that can be used for the task.

Date Range Picker
  • DatePicker (link),
  • 86 Calendar (link)
  • jQuery TimePicker AddOn (link)
  • jQuery UI Datepicker (link)
  • Dynarch calendar new (link), comprehensive demo (link) - not free
    • Dynarch calendar, old version (link)
  • ASP.Net Ajax Calendar (link)
  • dhtmlx calendar (link) - not free for non-GPL projects
  • Filament group date range picker (link)
To be added later:
Masked Date Input
Date Picker

Wednesday, February 13, 2013

Troubleshooting MSDTC

If having issues with MSDTC (distributed transaction coordinator) working over the network, check the following links. There are links and steps in there that should be checked or performed in order to identify and resolve the issues.
These include instructions on how to enable DTC over the network, test MSDTC connection using DTCPing tool, and enable permissions to the account used for network communication.

Set alarm ringtone in CyanogenMod 10.1

Latest nightly of CyanogenMod 10.1 brought some unexpected "feature" - the selector for alarm ringtone in Clock app was nowhere to be found.
The good news is that it is still there, just not visible in portrait view. Rotate your phone to landscape and it will become visible in the alarm bottom row, next to Vibrate and Increasing Volume checkboxes.

[NIGHTLY][ROM][4.2.1] CyanogenMod 10.1 for Samsung Galaxy S - Page 258 - xda-developers

Monday, February 04, 2013

Developing Backbone.js Applications, ebook

Here is an early release of "Developing Backbone.js Applications", published by O'Reilly.

Developing Backbone.js Applications

A PDF version can be downloaded from here.

Knockback.js - a bridge between Knockout.js and Backbone.js

Tying the two awesome JavaScript infrastructure libraries together.

Knockback.js Home

Sunday, February 03, 2013

DiskLED - Disk queue indicator in tray!

Over the years I found that one thing indicative of how responsive a whole system is, is the disk queue.
DiskLED is something I'm happy to find. Especially useful for virtual machines where one can't hear the pains of the physical disk drive.

DiskLED - A Flexible Hard Disk and General System Activity Indicator System Tray Applet | sepago