Monday, 28 April 2014

Priority-based project management

So here we have Project 2013, but what do we see:


Exactly, "Hello Windows 3.1"! But why? I remind the same case with having only 16 colors available to style background of a cell until Excel 2007. But, as Joel Spolsky has described, it's intentional. It's a priority-based development: they had this "issue" on the list for years, but got it to be fixed only recently. I suppose that for Project there is the same case.

Is it good or bad? Well, I hope that Microsoft will be capable of finding additional people to fix that minor but disappointing stuff. Certainly, 95% won't notice a problem, but others 5% will, and that can make sense, because those guys/gals are usually early adopters, evangelists and IT decision makers. It's like a debt, but not technical, rather a task-based debt. Sometimes everyone needs to make a cleanup, at least each year before Easter, right? :)

Monday, 24 March 2014

Узнать код бронирования PNR в Аэрофлот

При покупке билетов на рейсы Аэрофлот у лоукостеров (обычно всё же выходит дешевле :) посредник стандартно выдаст вам номер брони, номер заказа, но не внутренний код бронирования Аэрофлота PNR, что надо вводить на сайте http://www.aeroflot.ru/cms/online_registration. Так вот, извлечь этот номер можно на одном из этих сайтов систем резервирования:
Так, когда заказ идёт через supersaver.ru, то помогает поискать свою бронь по его номеру брони на первом и втором сайте из списка. Если вы покупаете в долларах, также рекомендую попробовать expedia.com, места в нём можно забронировать сразу, даже на Аэрофлот!

Wednesday, 19 March 2014

Network Folders work slow in Windows 7

These steps helped in my case.
  1. Rename registry folder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace to something else, like -NameSpace.
  2. Run netsh interface tcp set global autotuninglevel=disabled.
  3. Restart.

Saturday, 15 March 2014

Can't read 32 Gb SD Card with Ricoh Reader on Lenovo ThinkPad W520, T430s, and others

I had lots of trials and errors with this, but here is the solution for Windows 7 x64. Please do all the experiments with clean SD-card, or you might loose your data on it! Just believe, if you fail at one of the steps, then you'll loose your data.

  1. Google for Ricoh_Card_Reader_2.25.17.01, install and reboot. Official Lenovo's http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS028931 simply don't fit, and even drivers for T431s http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS034692 won't fit, they are 2.14 only, very obsolete.
  2. After insertion of your SD-card, go to Device Manager, locate your "Disk drive" and set "Better performance" instead of "Quick removal". Otherwise you will have terrible lags and fails while opening the card. If you still have lags, try deactivating your security software, especially Microsoft Security Essentials.
  3. Also check that you have "Integrated Smart Card Reader" in "Smart card readers" , but not some default device. If not, please update the corresponding driver online just from Device Manager. Otherwise you may find your data on the SD-card damaged!

Friday, 7 February 2014

Overlay icons limit

Installed some new stuff like SkyDrive and lost your overlay icons for TortoiseSVN? That's because of the overlay icons limit in Windows 7 — no more than 24. You can fix this only by removing some of the registered overlays from here:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
0Ynd is for Yandex.Disk overlays.

Tuesday, 4 February 2014

String as a template parameter in C++03

So you want to instantiate your template with a string literal, but you can do this only by defining it as a constant. This code should work:

#include <iostream>
template <const char* p> Foo () { std::cout << p; }
extern const char s[] = "Hello world!";
void main () { Foo <s> (); }

The tricky part here is extern for s. C++03 requires template arguments to have external linkage. I can't remember any other reasons for using extern const in production code. The reason is that the C++ specs in that point are simply over-restrictive. Fortunately, C++11 doesn't have such a mess.