Creating CSV file for automatic calendar events import in Outlook/Google Cal

Today I had to create a bunch of Outlook 2016 appointments in my calendar. I wanted to avoid as much as possible the manual, one-by-one creation of the items, so I decided to lurk around for a method, which would allow me to do this work easier.

Quick Google search led me initially to the article “Create Appointments Using Spreadsheet Data”, which was showing up how this can be done with VBA macros. Although this was cool, programmatic way to accomplish the task, I was looking for the KISS principle method: just plain CSV import.

A bit more search and I was all set. The article “How to import a Calendar from Excel to Outlook” described quite straight forward process. However, I found a few discrepancies from what was desrcibed there, so I decided to sum up the differences I encountered, so the next time it’d be easier for me (and probably for my readers) to accomplish this task with Outlook 2016+.

The first difference was that there’s no XLS import in Outlook 2016. I had only CSV. This made useless to define namespace (as the article suggests), because CSV does not export that information.
The second problem, which was not outlined in the article, was which other fields I could use, in order to have more complete data (I needed Category, All Day Event, etc.). The article “Importing stuff into your Outlook Calendar (or Tasks) from Excel” led me to list of all common fields:

Subject, Start Date, Start Time, End Date, End Time, All day event, Reminder on/off, Reminder Date, Reminder Time, Meeting Organizer, Required Attendees, Optional Attendees, Meeting Resources, Billing Information, Categories, Description, Location, Mileage, Priority, Private, Sensitivity, Show time as.

The last issue I had was to find out how to do the Out of office status of the events. Each single event had to be marked as “Out of office”, so this information had to be present in the import file. This article informed me what the values of “Show Time as” column had to be, in order all this to work:

  • 1: Tentative
  • 2: Busy
  • 3: Free
  • 4: Out of Office

My final CSV looked like this (showing just the first row with column names, and the first data row):

Subject,Start Date,End Date,All day event,Categories,Private,Show Time as
This is All Day Event,1/15/2017,1/15/2017,1,MyCategory,1,4

If you save the above code fragment as CSV, the import in Outlook 2016 would be pretty straight forward. It’ll create an all day event with title “This is All Day Event”, marked as Out of Office, on Jan 15, 2017, with category name “MyCategory”.

The coolest thing was when I tried this CSV for Google Calendar too. It worked there as a charm, with the following exceptions:

  • It added two default reminders for each day (sick! Why, Google?)
  • It did not respect the Category name (I guess this is fair)
  • It did not respect the out of office status (well, Google just does not support that, right?)

Except from this, the data was correctly imported there too.

Setting up Thrust Gamepad GXT 39 to work with Elite:Dangerous

Trust GXT 39 Wireless Gamepad is great gamepad, which is quite nice for playing with Elite:Dangerous. I did not want to go to the ridiculously expensive (and large) joysticks, so I decided to try how it’ll work with a gamepad, which I can hold with my hands.

Overall: it’s great, but setting up Elite to work “my way” with it turned out to be a hassle.

Finally, after many attempts, this is my permanent (for now) setup, based on “Generic Joystick” setup from Elite. This post here is for my own future reference, but I thought someone could find it useful for his own needs, too!

To configure it, First of all, start/set “Generic Joystick” setup (warning: this will override your current setup, if it’s custom).

Now do the following customizations:

Setting the Pitch/Roll/Yaw/Vertical Thrust axises mapping to the left/right joysticks of the gamepad

  • Set “Yaw Axis” to [Joy-XAxis], no invert
  • Set “Roll Axis” to [Joy-ZAxis], no invert
  • Set “Pitch Axis” to [Joy-YAxis], no invert
  • Set “Vertical Thrust Axis” to [Joy-RZAxis], WITH invert





Setting additional Landing mode controls

For Landing mode, set Thrust Up/Down/Left/Right to JOY-POV1-UP etc., like on the picture below:


This will give you nice extra control, when your landing gear is deployed.

Gamepad Buttons Configuration

My gamepad buttons are configured according to the following table:

No Action
1 Target Ahead
2 Thrust Up
3 Thrust Down
4 Engine Boost
5 <<FREE>>

Still looking for what to put there!

6 Interface focus
7 Secondary Fire
8 Primary Fire
9 Enable FSD
10 Deploy / Retract Hardpoints
11 <So far, cannot find way to activate>?
12 <So far, cannot find way to activate>?

Here’s how the button mapping looks:


Pre-flight Checklist

For final verification, here’s also my pre-flight checklist:

Have fun! And if you found this useful, drop me a line here. Also, if you have suggestions, let me know Smile.

You’ll find me in Elite:Dangerous as CMDR DonAngel.

My iClever Bluetooth Keyboard

Few weeks ago a very close and trusted friend of mine (thanks, Atanas 🙂 ) sent me a link to this excellent iClever Bluetooth travel keyboard. As I was already quite in need for pocket, travel keyboard, it took me only 5′ to review and purchase it from

I own the thing since a few weeks and every time I use it to do my typing (i.e., type on the tablet an e-mail, blog post or whatever longer), I’m quite delighted what a good solution this keyboard is to my typing need.

The keyboard is small when folded up, but it’s large enough to allow hassle free typing with both hands. It has very smart (and I hope – strong enough to ensure long living) folding mechanics, which allow transformation from its “working size” to “pocket size” in a second. It also has a pouch, which not only protects the keyboard while folded, but also protects the other items the keyboard is close to in the bag, as it’s aluminum body, which could otherwise scratch another sensitive item in your bag (i.e., your phone or tablet).

The keyboard also has four silicone tips, which make it almost stick to the surface while I’m typing. This is a feature, which I like a lot, because most of the pocket keyboards (or at least those I had my hands on) lack this and you need to always relocate the keyboard, which (naturally) moves as a result of your action on the keys. Thanks to these bands, the keyboard stays very solid on the surface you put it on.

I’m using the device with an Android tablet. However, the manufacturer claims that it should work with Windows and iOS too (it has Win key indeed), but I never tried that myself [yet].

Setup is pretty much out of the box: you turn it on (turns on by unfolding), long press the “Bluetooth link” button, pair and you’re good to go. My only trouble was with the fact that I’m Bulgarian Phonetic user and the default Android hardware keyboard settings do not include this keyboard layout. However, FDroid and the Phonetic Layout for External Keyboards resolved this perfectly. Honestly, I’d be pretty screwed, if this was not existing, so thanks guys (modest donation is on its way!).

Below is the picture of the keyboard, which I made for my Amazon review. It stays next to Nexus 9 tablet, so you get the idea of the size when unfolded. The pouch is next to it, i.e. this is the size of the keyboard, when folded. The thickness of the folded keyboard is not more than 10-14 mm.


I highly recommend this thing to anyone, who carries on tablet and has typing needs, which are best served with a keyboard.

This blog post was, of course, typed with this keyboard.

Търся учител по английски / Looking for English Language Teacher

The Bulgarian version, for the English version please see below!

Търся преподавател по английски. Бих искал да организирам обучение на колегите във фирмата (а и на себе си), но не класическия вариант “аз говоря, вие ме слушате и пишете домашни”. Според мен един такъв урок би следвало да изглежда така:

  • Една група е не повече от 8 курсиста
  • Групата се събира веднъж или два пъти седмично.
  • Преподавателят избира (интересна) тема, която се свежда предварително на участниците в курса
  • Участниците се подготвят (доколкото могат)
  • Урокът продължава един учебен час (може и два учебни часа) и е дискусия на избраната тема. Целите са:
    • Курсистите да говорят, за да може да упражняват езика си.
    • Преподавателят да следи грешките при говора, като ги поправя своевременно (по време на, или след урокът)
    • Курсистите да упражняват езика максимално (говорно)
  • Възможно е от време на време да има писмени упражнения (или като домашна), които курсистите да приготвят (доставката може да е чрез е-поща), а преподавателят проверява и показва грешките, за да се учат постепенно курсистите и да усъвършенстват английския си.

Перфектният преподавател би бил с майчин език английски!

Други неща, които търся:

  • Да има опит и желание да бъде част от подобен курс. Това не е класическия “даскалски” модел, така че по-скоро говорим за приятелски диалог, отколкото за скучен час по английски!
  • Да има желание да преподава два пъти седмично с предполагаем начален час или предиобед (10:00), или следобед (16:00). Възможно е и по-късно/по-рано, гъвкави сме откъм това условие.
  • Да може да издава официален разходен документ.

Можете ли да ми препоръчате такъв човек?

The English Version

I’m looking for English language teacher for the teams I manage. I’d like to organize English language training for my colleagues (and for myself), but not the classical “I speak, you listen and write homework” way. I imagine one of the course sessions to look like that:

  • The class consists of up to 8 students.
  • The class is in session one or two times per week.
  • The teacher chooses (an intesting) theme and informs the students
  • Students prepare for the follow-up class (as much as they can afford)
  • The session consists of free talk on/around the chosen subject, during which the following goals should be accomplished
    • The students must talk as much as possible, in order to gain English language talkative skills.
    • The teacher tracks students’ mistakes, and notes them to the students (during or after the session)
    • The students excercise their talkative skills as much as possible
  • Written homework is also possible. The teacher chooses the subject, on which the students have to write. After that the homework is delivered (could be via e-mail), in order to be verified. The goal is the teacher to verify and correct the students’ mistakes in order to improve their written English language.

The perfect teacher should have English as mother tongue!

Additional important stuff:

  • The teacher should have experience and be enthusiastic for this teaching model! This is not the classic “teacher => students” model, so if the teacher does not like it, it won’t work.
  • The teacher should be willing to come twice per week at the office for the classes. Example start hours are 10:00 or 16:00, but in general we’re flexible.
  • The teacher should be able to issue an official expense document for the course.

Can you recommend me such person?

Photo (cc-by-sa) Wm Jas

Programmer’s Personality Test at Doolwind’s Game Coding Site

Today I did the Programmer’s Personality Test at Doolwind’s Game Coding Site. It’s quick (and dirty 🙂 ), but it quite correctly evaluated one of my closest friend’s personality, and (I think) mine too:

Bar Graph

Your programmer personality type is:

You’re a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.
You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.
You work best in a Team.
A good group is better than the sum of it’s parts. The only thing better than a genius programmer is a cohesive group of genius programmers.
You are a liBeral programmer.
Programming is a complex task and you should use white space and comments as freely as possible to help simplify the task. We’re not writing on paper anymore so we can take up as much room as we need.

It was fun and quick.

So, what’re your Developer’s Personality Results 🙂 ?