Mass modification of ID3 tags and MP3 filenames

I’m a puristic person and perfection maniac. Every of tens of thousands of MP3 files in my audiobook library must have a precisely filled up ID3 Tag and correct file name. For most operations on both tags and filenames, I’m using my own piece of software, written in Delphi years ago. However, since it does not support operations on ID3Tagv2, I was forced to strip these tags manually, using “magical” key combination in Winamp (see below). But, for large set of files some batch program must be used. And here you’ll find short notice on some of them.

Read More “Mass modification of ID3 tags and MP3 filenames”

Images in GitHub’s wikis

GitHub is the best place (known to me) for doing a not-too-much-demanding management or collaboration of not-too-big projects. It offers you (of course!) repository hosting, powered by simple, yet effective bug and issues management and wiki pages for help or guides for your project. And the only problem, that beginners usually face, is hosting images for that wikis. GitHub allows you to upload images to issues in issue tracker and does all the dirty work of hosting them for you. But, a bummer appears, when it comes to images in wikis, because Add image button in any wiki page editor allows you to enter URL only and there is no way to simply upload them to your wiki.

Read More “Images in GitHub’s wikis”

Use custom ringtones in Microsoft Lumia phone

I’ve been struggling for hours to force my Microsoft Lumia 535 to display (and allow me to select) any .mp3 file as custom ringtone. Finally, this WindowsPhone.se answer solved my problems. However, there were some side notes and differences with my Lumia 535, that are not mentioned in this article, so I decided to write following post to further extend it.

Read More “Use custom ringtones in Microsoft Lumia phone”

Remove default search engines in Opera

This is a revised and updated version of this Super User answer on how to easily remove default search engines in Opera browser. By default they’re not editable or removable at all. Official statement is, that this feature was “forgotten”. But, we all know the facts, that Opera is being paid for keeping these default search available and making removal of them as hard as possible to the end user.

Read More “Remove default search engines in Opera”

Hide right sidebar in Adobe Acrobat Reader

If you’re annoyed with Tools / Fill & Sign / Comment right sidebar in Adobe Acrobat Reader (it is pretty useless, but still occupies a lot of space), then you can hide it with a simple trick.

Press Ctrl+H or select View > Reader Mode to enable Reader Mode.

This will hide all extra stuff (all toolbars and sidebars) except actual document area. If you would like to bring left sidebar (with navigation panel etc.) back, then simply press that keyboard shortcut or select that menu option again, to disable Reader Mode. Left sidebar should return, while right sidebar should remain hidden.

Purge Windows of private data when disk formatting is not an option

When I was hired by my previous employer, I was allowed to use office computer partially for private purposes, i.e. I was allowed to install Dropbox and use Google Chrome with my private account to sync all bookmarks and use password manager.

When I left this employer, to my surprise, I was refused to format system disk. And so, I have come with this short checklist or memo-like article of which steps should be undertaken or considered in similar situation.

Read More “Purge Windows of private data when disk formatting is not an option”

Fresh XAMPP installation — a step-by-step guide

This is more like my private memo, to have a clean check-list of steps I usually undertake, when installing fresh XAMPP for Windows installation. Most steps aren’t unique to my environment, so this article can also help others, that are stuck at some point. Note, that this is purely development environment-oriented installation guide, as XAMPP is not meant to be used as production server.

Read More “Fresh XAMPP installation — a step-by-step guide”

Relative file paths and migrations in Yii1

Watch out for relative file paths. When using them in any action, files lands in a folder (from that relative path) in root directory folder (where they’re is expected, at least according to me). But, when you use the very same path in a migration, then files will land in a folder in protected folder. I have just found this to my surprise.

To “fix” this, you need to add:

dirname(__FILE__).'/../../'.

in front of your relative path (which makes it no longer relative, though).

Details on Yii forum.

Copy remote files with copy() function

Seven years old comment in PHP manual, which still shines like a real gem! You can use copy() function to easily (one-liner!) copy remote files, without doing messy fopen() stuff:

if(!@copy('http://someserver.com/somefile.zip','./somefile.zip'))
{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}

steve a h, whoever you’re or were, I salute you!

Private repository with public issues on GitHub

On contrary to BitBucket, GitHub does not allow you to have private repository with public issues. But, you can setup a two different repositories — private for code hosting and public for issues (read more in GitHub Help). And, what is most important and what not everyone knows — GitHub’s commit message’s grammar parsing is powerful enough to handle crossed commits.

Read More “Private repository with public issues on GitHub”

Quick mobile UI review

I don’t like jQuery Mobile for being ugly and slow and I don’t like paid full-featured stuff like Sencha or Kendo. You won’t find them here. I like fast and beauty mobile applications, especially those written in PhoneGap. So you will find performance-first, beauty-second UI frameworks here. With special emhasis on being PhoneGap-oriented. Only quick review without any unnecessary blah-blah.

Read More “Quick mobile UI review”

Move repository from GitHub to Gogs or any other remote

This is basically a check-list on pushing entire local repository, with all branches, tags and entire history to brand new remote repository and changing default remote setting in local repostiory from one to another. A compilation of this and this answers on Stack Overflow plus some own thoughts. Gogs and GitHub are quite similar to each other and all operations an made on command-line, so you can use this article as an aid in migrating one remote repository to another.

Read More “Move repository from GitHub to Gogs or any other remote”

Installing Gogs on Windows [discontinued]

This article is unfinished and discontinued! It contains a lot of useful information, but will not lead you to the very end. The only reason, for which I wanted to install and use Gogs was the fact, that my programming model (Yii2-based) required me to have a really large number of private repositories (each for every component, that my applications are using). And storing them on GitHub was very expensive.

However, as of May 11, 2016 GitHub has announced an unlimited number of private repositories available for every paid plan. This rendered Gogs completely useless for me. But, in the same time, it was also a very relief for me, because even though a whole long year passed since I started writing this article, I have never actually even touched problem of reconfiguring Composer to use source other than GitHub (Gogs).

Feel free to use this article to learn more about Gogs and its installation on Windows, but keep in mind, that this artice is unfinished and pretty much likely will never be finished.

Read More “Installing Gogs on Windows [discontinued]”

Is PhoneGap’s applications size a big problem to end users?

Since PhoneGap wraps HTML5 and Javascript code (plus all the stuff) into native app wrapper, then we may assume, that in general PhoneGap-based mobile applications will have significantly higher size in compare to native mobile application. This is true in most scenarios and this leads us to a question, if large mobile application size may be a problem to end user?

By an accident, I run into this question from December 2011 asking, if 4 MB of executable size for mobile devices is too much for a simple application. Even though it is over 3,5 years after asking this question, the general rule remains. I found my answer to this question quite interesting and thus I’m sharing it in here.

Read More “Is PhoneGap’s applications size a big problem to end users?”

actionParams are not available in ACF’s matchCallback

When using matchCallback in AccessControlFilter in Yii2, an attempt to read $action->controller->actionParams or Yii::$app->controller->actionParams inside this callback fails, because these attributes are empty.

This is by design, because AccessControlFilter is executed at an earlier stage than parameters binding.

If you need to read action parameters inside matchCallback (for example to judge, if user has access to particular action, basing on action’s parameters) then the only way is to read them from Yii::$app->request->get(). More details here or here.

Multi-folder usage of IrfanView’s batch mode

Batch conversion tool (B in main screen or File > Batch Conversion/Rename) in IrfanView is both flexible and powerful tool that allows you (as menu item says) to: quickly convert many images, quickly rename many files or mix these two operations.

The Add All button in mentioned tool’s window is even more powerful, because it lets you add files (to be converted or renamed) from given folder and all subfolders. But not everyone knows, that the same goes for saving converted files. They also can be placed by IrfanView in many folders

Read More “Multi-folder usage of IrfanView’s batch mode”

Enabling Polish letters in Delphi 2010

Using non-Latin keyboards with Delphi and non-Latin characters in code was always a big problem in Delphi.

To enable correct support in Delphi 10 you have to:

  • go to Tools > Options > Editor Options > Key Mappings,
  • uncheck Use Ctrl-Alt keys.

Hopefully in Delphi 2010 you can do this from IDE settings. You don’t have to play with stupid .reg files to change some dully strings in Windows Registry, as you were forced in Delphi 5 to achieve the same.

Deploying a PhoneGap app to Windows Marketplace

After Deploying a PhoneGap application to iTunes (App Store) and Deploying a PhoneGap app to Google Play articles, here comes the time to deal with Windows Mobile platform and Windows Marketplace. This article should provide you with all the necessary information on how to successfully submit your .xap file (compiled locally or through Phonegap Bulid) to Windows Marketplace.

Read More “Deploying a PhoneGap app to Windows Marketplace”

Remove system menu button from PhoneGap application

By default your PhoneGap application will contain system menu button, even on those systems (Android 4.0+) that doesn’t support this button any more (i.e. applications written for this system should not use this button; it is handled anyway and you can use it, if you really wish to).

On most new devices user pressing this button will be simply ignored by system and nothing will happen. So, this problem reduces itself to purely aesthetic means (whether you care about seeing that unusable button on system bar, when your app is active, or not).

However, there are reports, that PhoneGap applications crashes on small group of devices, when user presses this not handled system menu button. In this case, more radical solutions must be considered.

Read More “Remove system menu button from PhoneGap application”

Install and run OS X Yosemite in Virtualbox on your Windows

There are so many articles in the Internet (type Mac OS X virtual machine to Google or your favorite search site to get thousands of them) about running OS X on PC in VirtualBox, that writing another one is just a pure stupidity. Instead, this article includes only a quick check-list to extract essential information from these articles and leave all unnecessary garbage blah-blah behind.

This post is a short version of this article. Refer to it for all details, explanations, solutions for a possible problems and things like that. This guide assume, that you’re installing OS X inside a virtual machine only for one purpose — sending your iOS apps to iTunes through ApplicationLoader program. For this reason, certain parts of original guide are skipped. If you intend to use OS X for other purposes, you may need to enhance your knowledge, by reading missing parts from other sources.

Read More “Install and run OS X Yosemite in Virtualbox on your Windows”