Dec 5, 2014

TYPO3 7.0 and RealURL

RealURL is not compatible with TYPO3 7.0 because old compatibility classes were removed in TYPO3 7.0 but RealURL must be compatible with TYPO3 4.5.

I plan to release a new version of RealURL somewhere in March 2015. It will compatible with TYPO3 6.2 and newer TYPO3 versions (not with TYPO3 4.5). That new version will use different principles for building URLs: faster and more reliable. This will be completely new code. Configuration will be compatible with existing version with the exception of redirects: they will not be included into new RealURL because I strongly believe it is not a RealURL functionality and redirects should be done in a different way.

That's all news for now.

Nov 24, 2014

Zend Certification Study Guide

I understand why they give 50% discount to it. Not worth the money at all.

It costs $15 at Zend web site and it is absolutely useless. If you can read headings of PHP manual at and 2-3 sentences of each section, this is what this $15 guide gives you: heading at a couple of [worthless] sentences.

Lost money, total crap. Don't buy.

Nov 23, 2014

Why I wouldn't upgrade to Yosemite, iOS 8.1, etc.

Usually when Apple makes updates I upgrade fast. For regular users (non-developers) such updates are easy and bring new cool features. For developers it is a certain amount of pain because developers have to reinstall all kind of tools they use (java, macports, Xcode, and so on). It takes some time but still it is usually worth upgrading.

This time when Apple released Yosemite and iOS 8.x I decided not to upgrade. Why? Because it causes more problems than it is worth. See yourself:

  • Apple broke TRIM for 3rd party SSDs. It is pretty bad not to provide TRIM by default for all drives but to complicate TRIM enabling is even worse. Yes, this can be overruled but the cost is lowering security of the OS. Bad.
  • Continuity. Sorry, no. I do not wish to pick up phone calls on my Mac or iPad. I do not want all my devices to ring at the same time, especially when I am on a call with my boss over Skype. Yes, it can be switched off. But I do not want to go and switch it off everywhere somewhere deep inside settings. I want either a question at installation or this feature to be off by default to preserve compatibility.
  • Stability issues. OS X should not come with wi-fi connectivity issues.
  • Performance issues. Nether iOS, not OS X should be that much terribly slower because some head at Apple decided that transparency is cool and windows now should be transparent. Yes, can be turned off but why the system comes with non-optimal settings?
  • Why does it enforces iCloud on me? I do not want to use your iCloud, Apple!
Apple devices and OS are still the best combination to work with. Nobody made even anything remotely close to the convenience of Apple production for the same price. So I stick with Apple for now but I am looking for something else. Not Windows. May be some Linux, which is optimized for humans (no, not Ubuntu). And good hardware that works smoothly, with multitouch touchpad and proper keyboard work. 404, not found so far.

Nov 21, 2014

Your code tells about you more than you think

Suppose you have the following in your code:

$this->pid_list = $this->pid_list ? $this->pid_list : 0;
if (! $this->pid_list) {
$this->errors[] = 'No pid_list defined';

This translates to: “If the value is not true, than set it to false. If the value is false, set the error message”. As you see, there is some room for improvement here: there is no need to set the value to false if it is not true because it is already false.

When you code, think what you write. The code above tells that the author either does not know PHP well enough or he is not thinking clearly.

Speaking too much

Recently when I communicate with people in various languages, I started to notice that people talk too much. They repeat themselves may times using different words, often speak about unrelated things or completely off topic. Sometimes it takes 5-10 minutes to discuss something, which could be discussed 2x faster.

When you need to communicate to others, make sure that you know your subject and what you want to say. Don't let others sit and think: “What does he really want to say?”

Nov 20, 2014

How to change number of recent places in save dialogs on OS X

I have to save files to various locations from time to time. There are many such locations and my side bar is quite long. Adding more and more items there is not a convenient option because such locations often have short living time. It also clatters the side bar.

Fortunately save dialog has recent locations but unfortunately it is limited to five items. I spent time searching for ways to increase this limit and found it:

defaults write .GlobalPreferences NSNavRecentPlacesLimit -int 10

Sep 28, 2014

Outputting an array with a separator in TYPO3 Fluid

Sometimes you need to output multiple values with a separator and omit empty ones. How do you do it with Fluid?

The following piece of code also uses viewhelpers from an excellent VHS extension.

Jul 17, 2014

What is wrong with these pieces of code?


CREATE TABLE tt_news_cat_mm (
  uid_local int(11) DEFAULT '0' NOT NULL,
  uid_foreign int(11) DEFAULT '0' NOT NULL,


$selectConf['leftjoin'] = 'tt_news_cat_mm ON tt_news.uid = tt_news_cat_mm.uid_local';
$selectConf['where'] .= ' AND tt_news_cat_mm.uid_foreign IS' .
($this->config['categoryMode'] > 0 ? '' : ' NOT') . ' NULL';

Your opinion?

Jan 27, 2014

If you use Forge&Git for your TYPO3 extension...

If you host your TYPO3 extension on Forge using Git, you need to change URL for your remote. Here is the information from the server team: link.

One additional note: if you need a write access to the repository, you will need a second command.

Direct write access:

git remote set-url --push origin ssh://

For Gerrit push:

git remote set-url --push origin ssh://

Jan 17, 2014

Speed up Samba share access in OS X

When you connect to external Samba shares on OS X (especially if you use VPN), you may encounter slow speeds. If you do, most likely you connect using smb:// protocol. In OS X Mavericks in the “Connect to server...” Finder dialog try cifs:// instead of smb://. This is many times faster than smb://.