MCP

суббота, 1 мая 2010 г.

Импорт контактов в Outlook

Небольшой хинт по импорту контактов.

Самый дубовый и надёжный способ вытащить контакты с телефона, это запихать их в CSV. Потом их легко можно утащить в тот же Outlook через импорт. В 2010-ом это делается через File, Open, Import, Import from another program or file, Comma Separated Values. Далее выбираете нужный файл, маппите столбцы и радуетесь жизни.

К сожалению, в моём случае, оказалась проблема с русскими именами. Игры с кодировками не принесли результата, в результате получалась или гадость или полная гадость.

Собственно о том, как это исправить: берём Excel, и открываем CSV в нём. Там средства по импорту более развитые, так что результат будет гораздо лучше. Потом делаем Named Range по имортированным данным, сохраняем в xls и делаем в Outlook импорт уже из xls.

Вуаля, всё работает!

воскресенье, 18 апреля 2010 г.

Итоги недели

Ух, ну и неделька выдалась, куча событий, мероприятий и конференций, грех не написать про всё это.

Итак, началась она с того, что в понедельник Microsoft устроила мероприятие посвящённое запуску Visual Studio 2010. Про организацию мероприятия можно писать долго, и в этом будет мало хорошего. Слишком много косяков было, начиная от регистрации, заканчивая отсутствием воды и большим количеством глюков и косяков в самих демонстрациях. Но всё же, мероприятие было весьма полезное. Из него я узнал, что:

  • В новой Visual Studio сделано много улучшений для разработчиков на C++, обещают что сильно всё переделали, добавили новых API для взаимодействия с новыми фичами
  • новый TFS теперь настроен для нормальной работы в небольших проектах с небольшим количеством разработчиков, более шустр и удобен. Можете попробовать.
  • Очень хорошие инструменты для тестеров Intellitrace и прочие. Позволяют детально расписать ситуацию с приложением, записать все действия приведшие к ошибки, и даже при желании видео
  • Сама студия теперь написана на WPF, и позволяет вести более удобную работу с проектом (быстрый зум, работа с несколькими мониторами). Также стал лучше рефакторинг, но до Resharper'а по-прежнему очень далеко.
В среду мы встретились уже юзергруппой и обсудили рефакторинг, как писать под Windows Phone и что делать с XNA Game Studio. Всё весьма просто и интересно. Если есть желание попробовать, то советую это сделать, нет ничего сложного, а симпатичного результата можно добиться весьма быстро.

В четверг Навжот Павера (если я правильно перевёл его имя), в рамках Opera University Tours рассказывал про круть и мощь Оперы.  В принципе, особо нового он ничего не рассказал, зато всё было весьма интересно. Опера развивается, любит стандарты и всё такое. Что интересно, ровно на следующий день в Опере таки-пофиксили проблему с Silverlight, когда от приложений на нём опера с грохотом падала. Не знаю, связано или нет, но приятно.  Также, как я понял, Опера очень не хочет поддерживать кодек h.264 для тега video, склоняется к Therora или же к гугловому VP8, если тот откроет данный кодек. Также планирует развивать Opera Unite дальше, вплоть до вынесения всего этого в отдельный сервис.

Ну и в пятницу был Microsoft Day для студентов, где рассказывали о новых технологиях Microsoft. Там меня не было, но думаю что тоже было весьма интересно

И вся эта толпа событий в течение одной недели. 

четверг, 8 апреля 2010 г.

Про McHost

Сейчас раскручивается весьма мутная история между Оверсаном и Макхостом (я уже запасся попкорном). Не буду вдаваться в подробности спора двух хозяйствующих субъектов, мне интересно другое.

Макхост всегда был мутным хостингом, даже не зная то, что они кинули Синтерру (или не кинули, опять мутно всё), работать с хостингом у которого на главной странице написано хуй, а в рекламе говорится: "конкурент соси" это как-то на мой взгляд весьма неправильно. Единственное разумное объяснение, зачем там хостится — это низкие цены. Неужели для бизнеса лишние несколько долларов играют такую большую роль? Или я что-то не понимаю.

Сам-то я давно говорил, что с русскими хостерами дела иметь не стоит. И пожар в hosting.ua, история с McHost лишнее тому подтверждение. Есть конечно и другие факторы, что colocation всё-таки удобнее в России делать, и с трафиком для России тоже получше, но, блин, по-моему и без этого можно замечательно прожить, купив хостинг в нормальной стране: где-нибудь в Европе или Америке.

воскресенье, 4 апреля 2010 г.

4.04

Сегодня не только Пасха, но и более IT-шный праздник, а именно День Web-программиста. Также празднуют все причастные разработчики, кодеры и верстальщики, в общем все те, кто сталкиваются с вебом. Ну и пользователи могут присоединиться, выпить бутылочку-другую пивка в честь нелёгкого труда программистов.


Сегодня web-разработчики купаются в фонтанах, раскидывают везде теги, пристают к прохожим с вопросами: "Ты под какой браузер верстаешь?", "Пользуешься ли IE6?" и "Что юзаешь, jQuery или табличную вёрстку, ииик?".


К сожалению при попытках выяснить более детальную информацию, я натыкался на полное непонимание со стороны поисковиков, возможно информация об этом дне скрыта и находится под грифом <div style="display: none;"/>, но зато я нашёл, что сегодня ещё день католического святого Исильдора Севильского, который по мнению цекрви сделал первую версию Википедии  (или по мнению википедии он сделал первую версию энциклопедии, в общем, тёмно всё). Тем не менее, с 1998-ого года, Исильдор считается покровителем Интернета. Так что поставьте его иконку на важным роутером, назовите в честь него свой DNS-сервер, и в общем, узнайте, не любил ли он звук бубнов и шаманских плясок. Мало ли что.  

В общем, ещё раз всех причастных и деепричастных веб-разработчиков:
С профессиональным празднегом!

четверг, 25 марта 2010 г.

Спамеры атакуют

Я достаточно часто получаю спам от всяких вконтактиков, моих миров и прочих одноклассников, о том что %some_strange_person% добавил меня в друзья и мне надо зарегистрироваться на сайте и послать его подальше с такими запросами. Но тут появился спамер, который ещё и обиделся на это: типа я сказал как его зовут, а это типа неправильно (а рассылать такой спам по его мнению это правильно?). Так что специально для него публикую его письмо в своём блоге, пусть обижается дальше.

Ваш друг Sasha Shereverov добавил Вас в друзья на сайте http://vkontakte.ru

Вы можете зайти на сайт и просмотреть страницы Ваших друзей, используя 
Ваш e-mail и автоматически созданный пароль: t1IPChTaU

ВКонтакте.ру - сайт, который позволяет миллионам людей находить старых 
друзей и оставаться с ними на связи, делиться фотографиями 
и событиями из жизни.

Чтобы войти на сайт, введите на странице http://vkontakte.ru/login.php
Email, на который Вы получили это приглашение, и пароль: t1IPChTaU
Вы можете изменить пароль в Ваших настройках.

Внимание: Ваша регистрация не будет активирована, если Вы проигнорируете 
это приглашение.

Желаем удачи!

Так что, желаю удачи спамеру  Sasha Shereverov в его нелёгком деле захламления почтовых ящиков дурными сообщениями.

среда, 24 марта 2010 г.

Перевод времени с точки зрения ИТ-шника

Уже давно идут споры о пользе/вреде летнего времени, хорошо это или плохо, и всё такое. На основных доводах я заострять внимания не буду (хотя и на мой взгляд, смысла особого в наличие перехода нет, а вред уж точно есть). Я хочу немного рассказать о том, какие косяки от этого лезут у программистов, ибо с каждым годом, это всё более актуальнее.

Начнём с простого, время бывает UTC и локальное (если не вдаваться в подробности с атомным временем, и всякими календарями). У UTC есть замечательное свойство: оно течёт постоянно и у всех одно и тоже. Т.е. что у программиста в Америке, что у сурового челябинского админа — цифры одни и те же. Соответственно, по возможности хранить время нужно именно в UTC и использовать при внутренних расчётах именно его, конвертируя его для пользователя при выводе на экран. Но на практике, это оказывается не очень удобным, из-за того, что на всех слоях время необходимо конвертировать, в одну или другую сторону, что может привести к страшной путаницы в самом коде и лишним преобразованиям. При этом для локальных программ, вроде бы это всё не страшно, поэтому UTC можно и не использовать, а в результате получаются разные забавные ситуации:
Как-то работали мы с американским заказчиком, во время очередного билда мы закидывали свежую базу с начальными данными. И всё было хорошо, кроме того что всё падало.  Проблема оказалась в том, что сгенерированные данные были в "будущем", и в результате они не находились по фильтру с getdate(). Естественно через 9 часов всё начинало замечательно работать.


Вот небольшой пример того, что может быть, если работать с локальным временем в разных часовых поясах.

Теперь, собственно о переходе на летнее время. Предположим, что у нас есть система мониторинга, которая смотрит живучесть системы раз в минуту, и если она не откликается поднимает тревогу, рестартит приложение, носится с воплями и кричит о том, что всё пропало.
28 марта в 2 часа ночи мгновенно становится 3 часа ночи и по факту система уже не отвечала целый час (!!!) Как результат получим epic fail приложения.

Другой пример: у нас пишутся логи с данными. В последствии мы хотим по ним построить отчёт. Логи длинные, идут годами. Как результат: пишем в UTC, можем получить сдвиг на час в отчёте UTC + Offset который в течение года разный. Пишем в локальном времени: получаем дырку в летнем времени и двойные данные в зимнем (что ещё хуже, если требовать уникальность). В любом случае, ничего хорошего.

Ну и для полноты картины, третий пример, который связан уже с обратным переходом. Представьте себе небольшое кеширование, данные обновляются раз в минуту, в остальных случаях мы просто возвращаем кешированное значение. Когда мы получим два раза по 2 часа ночи, мы в течение целого часа будем сидеть в кеше: надо обновляться когда текущее время больше чем  2:59 + 1, а сейчас опять 2:00. В общем всё просто замечательно выходит. 

А теперь представьте, что делать с системами управления ЖД и авиа-транспортом, когда резко поезда с самолётами начинают опаздывать, а вылета в 2:30 в эту ночь не будет. Представьте, сколько может стоить подобная ошибка со временем в программе?

Так что моё мнение, сугубо со стороны программиста: переход на летнее время может повлечь непредсказуемое поведение программы с такими же последствиями. И что самое интересное, а вот фиг это оттестируешь заранее, просто и не вспомнишь об этом. 

суббота, 27 февраля 2010 г.

Donationware

Есть такая модель распространения софта, как donationware. Другими словами, просто делаешь пожертвование автору хорошей бесплатной программы за его работу. Вроде всё неплохо, и даже замечательно, но на мой взгляд при этой модели, сам процесс оплаты не должен быть сложным, ибо она не обязательна, и сложность в процессе может просто привести к тому, что подарочную копеечку пользователь оставит у себя.

В качестве примера, два приложения, авторам которых, я хотел отдать немного денег, но не срослось. Первое, очень хотело, чтобы я дал не менее $10. Вроде вполне нормальная просьба, но я слишком жадный, и решил, что готов отдать только $5, так что пришлось сказать "до свидания". Возможно, что если бы было написано, что меньше $10 давать бессмысленно, ибо всё уйдёт на налоги, то это изменило бы моё мнение, и я заплатил бы данную сумму, но когда просто, тебя просят сделать пожертвование, если всё понравилось, а потом дают жёсткий отлуп в виде твои копейки нам даром не нужны, это расстраивает. 

У второго приложения было чуть лучше, за исключением небольшой детали, платить нужно было через Plimus, и для оплаты нужно указать чуть ли не марку зубной пасты, который я чищу зубы, оно мне надо? Почему просто нельзя взять и тупо через PayPal передать произвольную сумму?

В качестве обратного примера можно привести World of Goo, у них была распродажа, и можно было купить платную игру, которая стоит $20 хоть за один цент, что разработчикам с учётом комиссии не приносило ничего. Но ведь они решили не жадничать и просто дали эту возможность. Как результат, все оказались довольны.

В общем, к чему я клоню своё нытьё — если хотите собирать пожертвования, не выпендривайтесь, постарайтесь сделать так, чтобы их действительно можно было сделать без особых проблем. Иначе, их проще будет просто не делать.