Всичко за продан

Преди няколко дни научих, че таксиджиите в София масово карат без един документ, който удостоверява, че са преминали изпит за водач на такси. Изпитът представлявал въпроси за маршрути в София. Поредният днес ми каза: "И триста лева съм давал на ДАИ и (гордо) съм ги изкарвал за един ден)".

Сещам се за една случка преди години - един колега, англичанин си беше харесал българско полицейско яке. Оказа се адски лесно да се намери такова, даже ме врънкаха да си купя и още артикули. Ако не се лъжа за 5 евро направих безценен подарък:

Which stats to trust: Google analytics, Host or WordPress Blog Stats?

I'm using Google Analytics, awstats from cpanel, and a few plugins for wordpress (statpress, wassup). Except Google Analytics they all have unreadable interfaces with a lot of info, that I do not understand.

They all give me different results. I would like to know which one is correct or at least close to the truth. Another problem is Ghostery, which I use - a browser plugin that can block Google Analytics which automatically make its statistics wrong. Recently I was bombarded with requests from Russia and StatPress says Russia is the place where I get most of the requests, which is not right. Until I get an unambiguous answer I'll keep them all running.

What do you think - which gives the best (closest to the truth) stats?


Few days ago I opened The Pirate Bay and was astonished to find it full of ads. Sometime later it happened with another site. Finally, I found the problem. AdBlock was stopped. AdBlock is the plugin that must come preinstalled with every browser. It kills (removes) almost all ads from sites. It's easy to use and to customize (add more sites or ads to the block list).

Georgi said he found something that could accessorize AdBlock even further. Ghostery

sees the invisible web - tags, web bugs, pixels and beacons. Ghostery tracks the trackers and gives you a roll-call of the ad networks, behavioral data providers, web publishers, and other companies interested in your activity.

Since Firefox for Mac is awful. I'm using Chrome which is quite poor on the plugin front. But this one is available for Chrome and works pretty nice:

Mac OS X finally with a real Java

A quote from a newsletter from Oracle.

Oracle and Apple Announce OpenJDK Project for OSX; Java SE 7 and 8 JSRs Approved

Good news all around! Oracle and Apple announced the OpenJDK project for Mac OS X. Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. OpenJDK will make Apple's Java technology available to open source developers so you can access and contribute to the effort.

Furthermore, the JCP Executive Committe has approved the JSR "quartet" for Java SE 7 and Java SE 8. With this ratification, the Java standard will progress through the JCP while the open source reference implementation will be delivered through the OpenJDK project. See you on OpenJDK!

-The Oracle Technology Network Team (See Team Blog)

This means Java SE 7 woud be available for Mac OS X too and that Apple users will receive Java as soon as other platforms dog. Also the four JSRs for Java SE 7, Java SE 8, Project Coin and Lambda Expressions.

Apache redirect 301 with non-english characters

I have a lot of http redirects in my .htaccess file because I'd like to keep links from my old blog alive. Today I found that this redirect works:

redirect 301 /blog/2007/08/15/InMemoriamLorkis.aspx https://mihail.stoynov.com/2007/08/15/in-memoriam-lorkis/

And that this doesn't:

redirect 301 /blog/2007/08/17/%d0%9b%d0%be%d1%80%d0%b0.aspx https://mihail.stoynov.com/2007/08/17/%d0%bb%d0%be%d1%80%d0%b0/

It should look like this:

redirect 301 "/blog/2007/08/17/Лора.aspx" "https://mihail.stoynov.com/2007/08/17/лора/"

WordPress, images and align="right"

Note to self: put this code in every theme's css if it doesn't have it.

img.centered {
display: block;
margin-left: auto;
margin-right: auto;
img.alignright {
padding: 4px;
margin: 0 0 2px 7px;
display: inline;
img.alignleft {
padding: 4px;
margin: 0 7px 2px 0;
display: inline;
.alignright {
float: right;
.alignleft {
float: left;

Supporting wikipedia cookie

I think wikipedia is a great thing. There are studies that it's and Britannica's articles are comparably good, which by itself is a great compliment. It's ads free, its interface rules. It's pretty neat and tidy. I always add 'wiki' at the end of a search if wikipedia is not in the first ten search result, which is rare. I'm not a committer, only fix some minor error occasionally.

These guys operate wikipedia only from donations. Last year they needed $10m to operate. This year I guess it's twice as much. So every year they start a campaign with a picture of Jimmy Wales's face. I don't think he's ugly, but the same face every year? This year they finally changed the face with a lady one. A lot better.

Everyone using wikipedia should support it and I generally dislike people saying that it's just another website. But one does donate something, wouldn't they at least give a browser cookie or devise some other mechanism that would hide the ugly banner on top of every page?

Как да гледаме iptv.bg на iPhone/iPad

Това е ръководство за гледане на телевизии и слушане на радиа от iptv.bg чрез iPhone/iPad. Ръководството е тествано на iPhone 4G, iOS 4.1.

Важно е да се обележи, че ако не можете да гледате iptv.bg от компютъра, няма да можете да го гледате и от телефона - трябва ви wi-fi свързаност от провайдер, който е клиент на iptv.bg (Мтел не е клиент на iptv.bg и дори и радио не може да се слуша).

Необходими програми

Необходимо е телефонът, с който ще се гледа телевизия, да е jailbrеaked (споко, законно е).

  • iFile (има я в Cydia, платена)
    - файлов мениджър
    - има вграден текстов редактор (за отваряне на asx файловете)
  • iPhone Safari Download Manager (има я в Cydia, платена)
    - позволява сваляне на файлове от Safari
  • OPlayer (платена, 2.39€)
    - видео плеър - да плейва WMV8 енкоднати ASF стриймове (iptv.bg ползва такива)

За съжаление и трите програми са платени. С изключение на първата, другите две вероятно могат да бъдат заменени с други, които имат подобна функционалност (FStream успешно беше използван за слушане на радио).

Необходими стъпки

  1. Отворете iptv.bg в Safari и се логнете (създайте си потребител ако нямате):
  2. Изберете си телевизия или радио и изберете разделителна способност (hi-res и lo-res). Гледането на телевизиявисоко качество дори и на iPhone 4G е с насичане, въпреки че разделителната способност се "събира" в екрана на 4G. Ниското качество работи гладко на същия телефон.
  3. Задръжте пръст на тази иконка,  за да се отвори контекстното меню и, след като то се отвори, натиснете "Download Target...", което е част от Safari Download Manager (показано по-долу). Без Safari Download Manager няма да имате червения бутон:
  4. Изберете си папка, в която да запазите asx файла (папката няма никакво значение):
  5. Отворете iFile и намерете папката, в която сте свалили asx файловете:
  6. Цъкнете на синята стрелка вдясно от файла и ще се отвори следното меню:
  7. Изберете "Open with..." и ще се отвори следното меню:
  8. Изберете "Text Viewer" и asx файлът ще бъде отворен с текстов редактор. Asx файловете са мета файлове и всъщност стриймът за гледане на телевизия е този, който е трябва да се копира.
  9. Копирайте избраният адрес:
  10. Отворете OPlayer и изберете "Open URL":
  11. Ще се отвори следната страница, цъкнете на адрес бара:
  12. Изберете пейст, за да копирате адреса от asx файла:
  13. Сега адресът за гледане е зареден и остава само да натиснем бутона Done, за да го заредим:
  14. Voila, вече гледаме телевизия. Това е високо качество и насича сериозно дори и при "избити" други приложения.
  15. Ето и други скрийншоти (ниско качество):
  16. Ръчното вадене на url-тата е адски досадно, но OPlayer помага като запазва последните използвани адреси, а линковете дори и след няколко дни все още са активни (не знам кога expire-ват):

    (Плейлисти не знам как се правят, накрая ме домързя)


Качеството на гледаната телевизия е добро, няма насичане. Може да се слуша радио на фонов режим и да се работи с други програми. Аз започнах тази идилия, защото исках да слушам радио Витоша, а те стриймват само през iptv.bg и така стигнах до гореописаното решение.

Допълнителна информация: https://mihail.stoynov.com/2010/12/07/iptv-bg-on-iphone/.

Изпробвано и работи на iPhone 4G, iOS 4.1. Не съм тествал на iPad, защото нямам такъв под ръка, но смятам, че ще стане. Ако някой друг тества на друго устройство или с други програми, ще се радвам да сподели мнение в коментарите.

Вероятно същото решение може да се приложи и на Android телефони или Windows Mobile, Symbian, Blackberry като се използва същото вадене на стрийма, но не съм пробвал. Всеки споделен опит е добре дошъл.

По-удобно би било ако iptv.bg предлагаха директен линк към asf стрийма. Не пречи да се пита.

iptv.bg on iPhone

(Ръководство на Български за гледане на телевизия от iptv.bg на iPhone/iPad)

iptv.bg is a streaming service for mostly Bulgarian tv and radio stations. The good thing about it is that it's integrated tightly with most ISPs (mine too) so the speed is impeccable. iptv.bg offers paid plans for even more stations.

I don't own a tv set and don't have a cable subscription, so usually don't watch tv. Rarely though, I want to watch a formula 1 race or a football game. Then I use iptv.bg.

iptv.bg offers the following options:

The first two expect browser plugins that allow watching inside a browser window. Since I use Mac OS X with Chrome both these options are not suitable. The third is an ASX file that could be opened with a suitable player.

VLC opens such files directly, but I prefer Mplayer. I personally thing Mplayer is the best player there is, because:

  • it can open everything. Very rarely will there be a file that Mplayer can open and something else can
  • it's the fastest and lightest player I've tried.
  • It has the best controls I've ever seen: arrows and pgup/pgdn can fast-forward/rewind with 10 sec., 1 min., 10 min. respectively.
  • It can open files that are still downloading and even index them (-i option) so that fast-forward and rewind are possible.
  • Can open URLs, user can specify buffer size.
  • Comes bundled with mencoder - an application that can encode/decode video.
  • Has multiple GUIs for different platforms - MPUI and native for Windows, Mplayer OSX for Mac.

The ASX files are meta files and look like this:

<ASX version = "3.0">
        <TITLE>bTV - test live (368x294)</TITLE>
        <AUTHOR>bTV - test</AUTHOR>
        <COPYRIGHT>bTV - test</COPYRIGHT>
        <REF HREF = "http://medicom1.hdtvbg.com:8080/.../btv.asf" />

(Medicom is my ISP)

The problem with Mplayer and iptv.bg is that Mplayer cannot open ASX files and in order to play it, the ASF url in the ASX must be manually extracted and opened in Mplayer which is very annoying.

iPhone and iptv.bg

Where does the iPhone come in the picture? Well, I tried to find whether Mplayer could run on iPhone and found an app (oplayer) that can open streaming asf files. Oplayer successfully opened asf urls from iptv.bg:

Some tips: even on iPhone4 the hi-res streaming is too processor-heavy to run smoothly. the lo-res streaming run very nice.

Oplayer too cannot open asx files directly so the url has to be manually extracted from the asx file which on an iPhone is even more cumbersome and annoying.

All streams that iptv.bg suppies are asf, so I guess any player that supports asf containers and can decode wmv streams can play iptv.bg.

So running iptv.bg on iPhone is possible, but can be made a lot more user-friendly.

Migrating Google Apps

In this first post I explained how Google Apps account were created to be incomplete (only docs, mail, calendar; no reader, groups, so on) and how I had to create a so called "Google Account" for my Google Apps account that would allow me to access all the google services. At this point this stopps working so I decide to migrate to a newer version of Google Apps that allows its accounts to access all google services. All this happens for my stoynov.com account.

So I start the migration and Google says that my new stoynov.com Google Apps accounts will be able access 62 new services and that I can stop some of them. I allowed them all.

Now it says that there's a conflict between my Google Apps accoung for mihail@stoynov.com and my "Google Account" for the same address. Here's what it says when I logged on gmail.com:

It seems that now my new Google Apps account takes precedence over my Google Account and the latter is now moved to a temporary address. It suggests I check these two links (Address No Longer Available and Not sure what to do?).

The stupid thing is that there's no simple "merge" that could provide a wizard and be done with it.

There are three options - create new gmail account, create new non-google account, do it later. Until then the temp address of the old "Google Account" is mihail%stoynov.com@gtempaccount.com.

Since I don't want a new gmail account and no other account, I chose later.

Then I checked my google groups while logged as mihail@stoynov.com. Google said:

It comes out that Google Groups are not available for the Standard Edition of Google Apps. There seems to be a bug that's described here. For a second I thought that I'd lose access to all the groups and would not be able to receive messages. I quickly made a test. The mail came, so no access is lost.

So now I don't have access to groups.google.com, but at least my subscriptions go to mihail%stoynov.com@gtempaccount.com that redirects to mihail@stoynov.com.

Google messed this up and I intend to mail support so that I could be able to fix this somehow.

P.S. But even when/if it's fixed I would have to call all Groups admins to switch my subscription from mihail%stoynov.com@gtempaccount.com to mihail@stoynov.com.

Another ugly thing from that migration is the inablility to be logged to many mails simultaneously - before this migration I could be logged to mihail.stoynov@gmail.com, mihail@stoynov.com, mihail@work.com; today I can be logged to only one. And the nice "switch account" feature is not working. After going to google.com/accounts it worked:

At least that's working out 🙂

The last thing is the difference between the two profiles - mihail.stoynov@gmail.com and mihail@stoynov.com:

Updates to follow.

Gmail Accounts, Google Apps Accounts and Google Accounts

When I chose Google Apps for my domain (stoynov.com) I created myself a Google Apps account at mihail@stoynov.com. I already had a Gmail account at mihail.stoynov@gmail.com that later became a "Google Account". Google accounts have access to all google services like Reader, Docs, Groups, so on. I wanted to migrate my Gmail account to my Google Apps account and still be able to use all google services. Unfotunately Google Apps accounts have access only to a special "Google Apps" version of Docs, Calendar and Gmail, but no access to Reader and very weird access to Groups.

At some point Google decided that "Google Accounts" could be made with emails other that Gmail. And Google proposed that I create a "Google Account" for my Google Apps account, so I did. So at some point I have the following:
mihail.stoynov@gmail.com - my Gmail account.
mihail@stoynov.com - my Google Apps account for stoynov.com domain
mihail@stoynov.com - my "Google Account".

At some point Google suggested that I create a Gmail account for mihail@stoynov.com and suggested the address mihail.stoynov.com@gmail.com so that my "Google Account" would be "complete".

Now what does "complete" mean? Well, here comes the "issue" with google groups. I had been subscribed to many google groups and to some I had admin privileges and to some I didn't. When I created mihail@stoynov.com I wanted to move my subscriptions from mihail.stoynov@gmail.com to the new account. Well, this happened to be harder that I thought. First, non "Google Accounts" don't have access to the web interface of Google Groups (groups.google.com) and thus cannot be admins to such groups. So then I subscribe to these groups with my mihail@stoynov.com "Google Account". And at some point there was a Google Group with the following subscriptions:
mihail@stoynov.com (referring to my Google Apps account)
mihail@stoynov.com (referring to my "Google Account")

There's one other stupid thing - I couldn't have a picture to my "Google Account", because I didn't have a Google Profile. Google Profile looked like a personal page with a lot of personal info. So I chose not to have a picture. But I digress.

This was all working ok, even though it was really stupid, but at some point Google Apps' version of Google Docs didn't work ok with my iPhone and said that I have logged with the wrong account. And then I checked the admin panel of my Google Apps and it said something like "Google is changing, you can migrate your Google Apps to a newer version that would allow you to have access to all Google services. And I said, well finally. Google Apps should have been like this from the start.

Now follows part 2 that explains the migration.