Google Calendar App on Android

On Android the Google Calendar app synchronizes with all the calendars from the gmail account. However it has an extra calendar called “My Calendar”. This calendar is the default one and is not synchronized.

So if one creates an appointment with default settings, this appointment will not be synchronized. Lame.

This calendar can neither be switched off, nor can it be made not default.

Super lame – I need everything to be sync’ed.


So there’s this business trip that’s very important for our current project. The night before we depart I get the feeling I’m going to get sick. So I buy the usual stuff I use in these situations to avoid getting sicker.

But this time it’s different: only in a couple of hours I turn into a vegetable. But the boss says that this thing is very important for our future, so I promise him that I’ll take another handful of drugs and be ready in the morning. The night is hell. The next morning I’m late. The boss is angry.

Just as we leave the city there’s this minor car accident with another car. It’s too small to report. But the boss is stubborn. We wait for a couple of hours for the traffic police, which are stranded a few kilometers away trying to remove a bus from the speed lane.

They arrive, my boss is not very cooperative, I’m still a vegetable. They say they have to drag him to police HQ to do some stuff.

Finally they let us go and after a long trip we go to where we’re headed. I sleep for 11 hours – still the night is hell. We do our business the next day and go back.

There’s this problem with the brakes of our vehicle so we stay another couple of hours somewhere in the middle of nowhere to fix it.

Finally we’re back. The boss wants me to do some presentation the next day – I say NO, I need to get better first !!!

For these two days all I ate was one fried egg and half a little of water.

The final result is:


Google Android’s Contacts application deletes contacts while synchronizing with gmail - solution

So there’s this Android phone. It’s a HTC Magic.

It has a special app called Google Contacts. And I found a problem. That when I add a contact and then synchronize it with google servers it would make the contact disappear.

I found out why. When Google Contacts application first contacts a google account it make a new group called “Phone Contacts”. And there are all the contacts from the phone. There are other contacts in your gmail account mostly emails, so you don’t want them as contacts in Google Contacts, right? But they are there by default because the sync-ing downloads all the contacts from gmail.

There’s an option to choose which group to sync – all or just “Phone contacts”. I chose “Phone contacts”.

Now, why does sync-ing make the contact disappear? Well, because Google Contacts application creates it by default in “My Contacts” group. Then it uploads it to gmail and removes it from the phone’s Google Contacts application.

The solution is to move all phone contacts to “My Contacts” and sync only that group.

(I don’t think that it would work with “Phone Contacts” group, because when creating a contact with the phone’s application it does not ask in which group to put the contact).

Best of luck to all.

The worst work week ever

This post is from the series “Imagine a project” 🙂

So, imagine a project where there’s a deadline for acceptance tests. These tests would determine whether the project is successful (the client accepts it) or it is not. Now, imagine that this project is behind schedule. It’s been behind schedule for as long as you’ve been working on it.

So this deadline is a week away from this fictional current moment. There are a couple of things that have to be implemented. These things are doable, but what happens instead:

  • First, a power surge, nothing serious, just a couple of hours.
  • Then, the data center is down for a couple of hours, again nothing serious.
  • Then, there’s no internet for 5 hours – it comes out that the main route for the ISP to the office is down due to a power surge.
  • Then a very important server that is already in production blows up – and there’s no backup system to take it’s place. Yes, I know, mea culpa – it’s our fault that we didn’t (and still don’t) have a recovery plan.
  • Then out of a sudden the most important person in the project goes to a vacation for 2 (two) full days without any prior notice, and this is 2 (two) days before the acceptance tests.
  • Then the internet goes down again for half a day, and the ISP says it’s going to be down the day after it, AND it could be down on the day of the acceptance tests, so the maintenance team could not be able to monitor the servers.

What does the team do?

  • First it rewrites the software module on the blown server, so it could be hosted on one of the other servers. Only in a couple of days.
  • Then the whole team moves to another location with internet so that the work could go on.
  • Then it renegotiates with the ISP that the downtime be after the acceptance test.
  • Then it works it’s ass off so that the project could stand a chance.

What kind of a great team is that?

What kind of magicians can pull this off?

And then the boss says the team is unprofessional. Make him read this!

Tip: how to make Outlook reconnect faster to an Exchange server

I have a problem.

In our company we use MS Exchange as a mail server and we’re away from the company network we can connect to Exchange via a special VPN software. This software disconnects pretty often. When I reconnect it takes quite a while for Outlook to figure out there a working connection. It does eventually but I have to wait for that to happen since I want to make sure a mail is being sent correctly.

I found out that setting “Work offline” on and off quickly makes Outlook connect a lot faster:

outlook work offline mode

There’s this problem though – it’s tedious to go click on the menu and then on the menu item so many times per day. So a solution:

  1. Right click somewhere on the toolbar –> Customize:
    outlook 2007 customize toolbar
  2. Make a new toolbar:
    outlook 2007 new toolbar
  3. Then the most unnatural step – drag the menu item from the File menu to the new toolbar:
    outlook 2007 add a button to a toolbar
  4. Press Ctrl while dragging, this way the button will be copied, not moved.
  5. That’s pretty much it. Now pressing the button quickly is very easy:
    outlook 2007 the new toolbar on place

Курсът “Социални мрежи” във Факултет по математика и информатика на Софийски Университет

Участвам в избираем курс във ФМИ и днес мина първата ми лекция.

Курсът се казва “Социални мрежи” (официално “Теория на мрежите”) и основната му цел е да запознае студентите с Facebook, Twitter, LinkedIn и други от гледната точка на разработчиците на софтуер.

В него ще бъдат обяснени понятия като социални медии, семантични мрежи и други, но основната му цел е да покаже как се разработват приложения за основните социални мрежи.

Най-популярният програмен език в тази сфера е PHP, а база – MySQL.

Моята задача беше да запозная студентите с SQL като език и MySQL като сървър.

Сайтът на курса е

Лекцията е тук: Databases 101 with MySQL.

How to make Eclipse validate XSL (and of course XML) files

Intro on Eclipse

Eclipse has two major bundles:

  • Eclipse IDE for Java Developers
  • Eclipse IDE for Java EE Developers.

Info here:

The major difference is that Eclipse for JavaEE includes the Web Tools Platform (WTP). WTP has editors, designers, JavaEE perspective, new projects and so on.

I generally prefer to use the ‘Java’ perspective as opposed to the ‘JavaEE’ perspective, because the latter is too cluttered, but the one thing from WTP without which I cannot live is the XML editor. There are variations for XSL transformations and XML Schemas.

XML Schemas (XSD)

By default Eclipse can validate XML Schemas, because it has the schema for XSDs. Did you get this one? Let’s try again. XSD is a language written in xml that defines rules for xml files who want to conform to certain rules. This allows us to validate such files versus a schema. Finally XSD is also XML, so there is a special XSD Schema that defines how to write XSD Schemas. And the dog catches its tail.

XML Schema language is also defined in DTD. DTD is the predecessor of XSD.

Anyway, if you want to learn more, go to W3C Schools - the best place to learn XML, XSD, XSLT. This is also the official site of WWW Consortium (W3C) which handles the expert groups that define these standards.

Where is XSL.xsd?

XSL is written in xml, so there is an XSD Schema that defines how to write XSL files.

The schema for XSLT 2.0 (2007 revision) is here: (the most up-to-date)
The DTD for XSLT 1.0 (1999 revision) is here: (I couldn’t find XSD for XSL 1.0, maybe because XSL 1.0 is too old)

So the only thing I need to do is put XSL.xsd in Eclipse?

Yes. Here’s how: go to Window –> Preferences and then to XML –> XML Catalogs:

(XML Catalogs are a very interesting topic. There’s an article on them in this blog here)

Eclipse 3.5 preferences

Then "Add”:

Add XML Catalog from http

There are 3 ways to add an XML Schema to Eclipse

  1. Via an URL (as in the picture)
  2. Via a workspace location
  3. Via a file on the file system

How do we validate?

Here’s how:

Validate button in Eclipse

Via the "Validate" button on the context menu on any XML/XSL file.

The exact same thing can be performed for any XML File that has to be validated against an XML Schema (or DTD, of course)

Рубриката No comment: "Българският софтуер по световните стъпки на пловдивския джаз II"


Здравейте Михаил Стойнов от […],

Имаме удоволствието да Ви поканим на джаз сешън под надслов "Българският софтуер по световните стъпки на пловдивския джаз II". Събитието е в чест на връчването на два златни медала за софтуерни продукти от иновативната бизнес платформа ОРАК R6 на провеждащото се в момента 65-то юбилейно издание на Международния технически панаир в Пловдив. Джаз сешънът ще се състои в нощта на музеите и галериите - 2.10.2009 /петък/ от 19.30 часа, в градината край басейна на хотел SPS,Пловдив /срещу магазин Метро/

За резервация и безплатен електронен ВИП куверт, моля направете онлайн регистрация на или на национален телефон 0700 1 1234 /24 часа в денонощието/

Нека със световен джаз и чаша пловдивска бира отбележим поредния успех на българската софтуерна индустрия !

Поздрави от целия екип на ОРАК Инженеринг !
Очакваме Ви !

За ОРАК Инженеринг:
ОРАК Инженеринг е лидер на пазара за комплексни софтуерни бизнес продукти и решения за търговия, туризъм и производство, носител на златен медал от Пловдивския технически панаир за продукта ORAK R5 през 2004г., 2007г и на два златни медала за продукти от иновативната бизнес платформа ORAK R6 през 2009г . В България компанията е представена в градовете София, Варна, Бургас, Пловдив, Стара Загора, Слънчев бряг и Банско. Извън страната ОРАК Инженеринг има свои представителства в Македония, Сърбия, Румъния, Турция, Украйна, Русия, САЩ и Обединени арабски емирства. През последните 13 години екипите на ОРАК Инженеринг, в страната и чужбина, имат успешно внедрени над 5000 търговски обекти, ресторанти, заведения, магазини, складове на едро и дребно, разносна търговия, супермаркети, фитнес зали, бензиностанции, обменни бюра, фризьорски салони, хотелски комплекси, управление на собственост, СПА центрове, месо и млекопреработващи предприятия, управление на паркинги и др., които осигуриха многофункционална среда за работа и постигнаха висока ефективност и полезност.