Use your custom TTF font cross-browser

I had some troubles with Font Awesome library and found solution for them in this Stack Overflow answer.

It also contains links to on-line services for converting .ttf files (officially supported in CSS3 only) to .eot, .svg and optionally to .woff, to make your TTF font supported in a large variety of web browsers:

After conversion use CSS styles as in mentioned answer to get all things working together.

TortoiseGit asking for password on password-less login setup

After months of uninterrupted password-less work, my TortoiseGit started to ask me for a password on some of my remotes, when pushing / pulling. I’m seeking a solution to fix this, as this can drive me crazy. I haven’t found a good fix so far, so don’t treat this article as an ultimate solution. Nevertheless, you can get a quick check-list out of this text to see, what I’ve managed to find out so far.

Read More “TortoiseGit asking for password on password-less login setup”

Git did not exit cleanly (exit code 128)

Probably the most popular error in TortoiseGit is:

git did not exit cleanly (exit code 128)

And all, it tells you, is that something was wrong when calling git.exe internally.

Right… That’s pretty not much, don’t you think?

Well, this StackOverflow question may help you, at least in certain situations. It has 14 answers (from dumbest, like not updating program to newest version) to quite interesting one. This could be a good starting point, before looking somewhere else.

Google Drive for Windows does not sync anything

I had a problem on my Windows 7 x64, that Google Drive for PC was was not syncing anything, when these two factors occurred:

  • a default setting of Automatically detect proxy settings was checked,
  • local Google Drive folder was set in root of a disk (i.e. D:).

Changing Automatically detect proxy settings to Direct connection and moving local Google Drive folder to C:\Google Drive solved problem and files started to sync immediately.

Read More “Google Drive for Windows does not sync anything”

Add sounds and speach to your website or application

Most websites are developed without sounds and if there are any sounds inside then they’re most likely coming from some videos and they’re not single click-like or notification-like sounds, known very well from desktop applications. The same goes for many mobile application, as sounds are mostly found in mobile games.

But, if you do need something like click sound, tick sound or any notification-like short sound, then this article lists some most famous, yet free sites, from where you can get as many such sounds as you need.

No code here, sorry! Refer to other sources on how to embed sound within website or mobile application.

Read More “Add sounds and speach to your website or application”

Get WebSVN to QNAP

This guide assumes, that you have svn already installed on your QNAP, fully configured and working like a charm, and you just want to enhance it with web client (WebSVN). You can use this guide also on any other server, than QNAP, but keep in mind, that it contains some QNAP-specific problems.

Keep in mind: WebSVN (as good as all other alternatives mentioned in the end of this text) are read-only web SVN clients! You can do a lot of useful stuff on your repos, but forget about committing or anything similar that requires write access or changing repository structure.

Read More “Get WebSVN to QNAP”

Setting up password-less connection in Git Bash or cmd

All right, we’re after Setting up password-less connection in Netbeans and Setting up password-less connection in TortoiseGit, now it is time to do the same in “pure Windows”, that is: to be able to establish password-less connection with any Git-based repository in command-line (both cmd and Git Bash).

If you were using your repo in Netbeans and/or TortoiseGit painlessly, but each attempt of doing the same in console, ends up with annoying message:

Disconnected. No supported authentication methods available (server sent: publickey)

then you’re in right place to get help.

Read More “Setting up password-less connection in Git Bash or cmd”

Setting up password-less connection in Netbeans

Following Setting up password-less connection with GitHub in TortoiseGit article, here are tips on how to setup password-less connection between your GitHub account and your local repository operated under Netbeans. The easiest way to setup password-less connection, is to do this on initial GitHub repo clone or pulling. And it will be presented this way, in following article.

Read More “Setting up password-less connection in Netbeans”

Every HTML 5 tag can be used as reference

Remember, that every HTML 5 tag can have id and can be used as reference. Every one!

So, if you want to display some bolded value, then instead of writing:

<span>Cars: <span id="carsValue" style="font-weight: bold"></span></span>

you can use much simpler approach of:

<span>Cars: <strong id="carsValue"></strong></span>

Increasing `loadUrlTimeoutValue` to avoid `Connection to server was unsuccessful` error

If your PhoneGap application loads some external content (either local files or any server-side data) using AJAX, keep an eye on the fact, that on very slow mobile devices, it may end up with error message saying, that connection to given URL failed. Which means a typical timeout.

You may experience the very same issue, if you’re building apps in debug mode and debug server (either yours or default weinre one) is down or responds to slowly.

Read More “Increasing `loadUrlTimeoutValue` to avoid `Connection to server was unsuccessful` error”

Doubled canvas drawings on Android with hardware acceleration enabled

There is a bug in HTML 5 Canvas object exposed on Android platforms, in versions 4.1.1 till 4.3 (newest, as of writing it, though not yet fixed). It causes that, when hardware acceleration is turned on, any drawings on canvas will be doubled at top of the page.

At first, I thought, that this is caused only in Segment Display — a fabulous JS library, that I use. This is why, you’ll find a lot of references to it in this article. But then it turned out to be general Android problem, that appears not only in PhoneGap applications (which uses webview), but also in all pages served on Android 4.1.x+ platform.

So, you’ll also find some ideas, how to work around this problem, if you’re not using Segment Display.

Read More “Doubled canvas drawings on Android with hardware acceleration enabled”
source code

PhoneGap apps must use domain whitelisting to access external resources

If your PhoneGap application loads some external content via AJAX, keep in mind that you have to include domain whitelisting in your config.xml.

PhoneGap is very strange about this, from version to version and from platform to platform, and sometimes allows you to access external resources without domain whitelisting (I had that issue, that this worked on Android 2.x, but failed on 4.x). So, to be sure, add it to every new project.

Read More “PhoneGap apps must use domain whitelisting to access external resources”

Can’t install any application from Google Play

If you’ll ever get some cheap Chinese crap, called tablet, you may face up a strange issue. Though device is most likely equipped with Android 4.0 or newer, it still has old Android Market (not Google Play) installed. Opening Android Market does not perform automatic update to Google Play. And attempt to install any application ends with hang-up. If you’re experiencing this or similar problems, you may find solution here.

Read More “Can’t install any application from Google Play”

Detecting if PhoneGap application is run under Ripple Emulator

As of writing this, Ripple Emulator itself is old, long-time not updated. But, what is much more wrong, it has very, very old version of PhoneGap behind. Currently it is based on version 2.0.0, while we already have version 3.0.0 in local PhoneGap building and 2.9.0 in PhoneGap Build. If you compare PhoneGap API reference from version 2.9.0 with the one inside Ripple Emulator, you’ll see that changes are dramatic. That’s why being able to detect, when your application is running in debug mode (i.e. under Ripple Emulator) is essential.

Read More “Detecting if PhoneGap application is run under Ripple Emulator”

Get language name and ISO code based on native language name

For one of my PhoneGap project’s I needed a function that will convert local (native) language name into international (English) language name. And another one that will return correct two-letter language code (ISO 639-1), again, based on native language name. This was required because PhoneGap applications are returning local name for currently selected language (so, you’ll get polski instead of Polish, Tiếng Việt instead of Vietnamese and so on).

Here are these functions for future reference and for others, who could possible find them useful.

Read More “Get language name and ISO code based on native language name”

Setting up password-less connection in TortoiseGit

Both mysysgit and TortoiseGit are password-less in the meaning, that they don’t store any passwords. If you want to avoid typing your GitHub login password and over and over again, the only option is to setup password-less login using SSH keys. This article is my personal check-list on how to configure each computer as painlessly as possible.

Read More “Setting up password-less connection in TortoiseGit”

Remove Shared Folders Synchronization from context menu item

There are several ways to get rid of Shared Folders Synchronization item from context menu (right-click menu) in Windows. They all depends on version of your Windows or Microsoft Office (responsible for adding this) and level of your computers skills. This post started as a quick example of removing this nasty context menu item, but ended up as a list of solutions, that you can use to remove many things that may slow down your computer. Consider reading this, even if you don’t have Microsoft Office, but your computer seems to be too slow.

Read More “Remove Shared Folders Synchronization from context menu item”

Common hashing functions are unsuitable for passwords

According to PHP team, common hashing functions such as md5() and sha1() are unsuitable for passwords. Why? They’re to fast and by this, not so secure and open to brute-force decrypt. No matter, what you think about this, we must admit, that md5() function is listed among “Text Functions” in PHP’s docs, so it doesn’t even touch “Encryption” or “Security” parts in documentation.

Mcrypt seems to be good alternative to those. And mcrypt-module-open function contains good example on both crypting and decrypting with mcrypt. See mentioned article for more details and other alternatives.

Git in Netbeans — Push or Push to Upstream

Netbeans’ Git client is a bit different that others (like TortoiseSVN) and offers additional option for push/pull commands (starting from version 7.3). It is Push to Upstream and Pull from Upstream. What is the difference from regular “non-upstream” versions. Not to big. Second (“upstream”) ones offer dirrect execution of command, without displaying any dialog (if properly configured). While regular (“non-upstream”) always opens Push to Remote Repository dialog.

So, after initial configuration, it is more convinient to use Push to Upstream instead of Push.

It is always a few clicks less, right? :]

Read More “Git in Netbeans — Push or Push to Upstream”