EnglishRussian

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

Вечером однако ситуация улучшилась, но была такой не долго. На следующий день, в среду, весь транспорт вообще работал часов до 10 вечера, что позорище еще то само по себе, и пришлось снова ходить пешочком в морозную погоду. Один ужас творился....

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

Теперь о хорошем. Наконец-то выбил из СофтКея договор, оказывается заявку на регистрацию мою они не получили, вроде как из-за сбоя какого-то. Все решилось имейлом, и то, только вторым. Договор заполнил, приложения, две штуки, им выслал, если все будет хорошо, то скоро они будут в маркете. Дальше наверное будет больше чего рассказать про это :)

Состояние интернет покупок, о которых я писал в предыдущем посте улучшилось. Амазон и ибей их отправили одновременно, что хорошо, теперь я их жду... А тем временем сделал к блогу РСС, можно пользоваться :)

И еще о позитивном, на этих выходных еду в горы на два дня, буду отдыхать :)


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

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

Зайдя в один из них, посмотрев по сторонам, оказалось что наушников беспроводных у них не было, были только гарнитуры. Попробовав какую-то от Samsung, оказалось, что она не играет содержимое плеера, а только работает на звонках. Что мне совсем не подходит, мне нужны именно наушники чтобы слушать подкасты по дороге на работу и в другие места.

Прийдя домой, и поискав на Интернете я нашел в сайте Apple рекомендованное устройство для решения моей проблемы, называется оно, точнее они Motorola S9-HD wireless headphones + D670 Bluetooth Adapter.

Поискав наушники Motorola S9-HD, оказалось, что в местном интернете они есть только в одном магазине, который не вызывал достаточно позитивных эмоций, и по достаточно высокой цене. Поискав в западном Интернете, я нашел эти наушники по сносной цене на eBay. За 100 долларов получилось взять 2 таких наушников с доставкой, PayPal сработал почти без проблем. Единственное – пришлось позвонить на горячую линию банка, чтобы они разрешили операцию без подтверждения CVV. Довольный покупкой я решил написать этот пост, и тут оказалось, что я пропустил одну деталь.

Для того чтобы научить телефон обращаться с наушниками необходим тот самый D670 Bluetooth Adapter, на который вчера я не обратил внимание, и заметил его только сейчас при написании поста. С этим адаптером все оказалось немного сложнее, нашел его на Амазоне, и даже повезло что адаптер отправляют сюда. Называется сей девайс длинным названием Motorola Bluetooth D670 Stereo A2DP Music Streaming Adapter for iPod Classic, iPod Touch, iPhone. Сделал заказ, все подтвердил, снова позвонил в банк, чтобы убрать проверку CVV, потому что Амазон точно будет биллить без него, ведь там даже нет поля куда его вводить. Да и биллить он будет как-то отложенно, пока что не пробиллил.

Буду ждать пока прийдут мне две посылки из-за океана, о результатах обязательно отпишу.

И в дополнение, в прошлом посте писал, что поправил сайтик. Сегодня в закрытую часть дал доступ первому человеку, заодно пофиксив 3 или 4 бага. Чему рад, теперь человек может самостоятельно управлять своими лицензиями, и не дергать меня. Постепенно переведу на сайт всех.


Прошла первая неделя на новой работе. Все прошло позитивно, учитывая что я за всю неделю так ничего и не сделал, поскольку первые три дня были выделены на адаптацию, а вчера была пятница, после корпоратива, о котором расскажу ниже, и день прошел расслабленно. За эти дни я был на, примерно, пяти разных митингов, как вводных так и обычных, и в ожидании пока сделают аккаунт в Microsoft Team Foundation Server, который так пока и не сделали, читал книги по ASP.Net, ASP.Net MVC, а в пятницу, когда сил читать особо не было, то нашел на официальном сайте ASP.Net MVC видео-туториалы, которые довольно живые и интересные. Также на этой неделе в голову пришла идея для второго Windows Phone 7 приложения, оно такое, достаточно сложное чтобы стоить 99 центов :) нужно будет его на выходных реализовать, если успею. В любом случае Softkey меня мучает, до сих пор заявку не утвердили...

Обещают на следующей неделе провести большущий митинг где собираются рассказать про проект, ввести в курс дела, и рассказать процессы, по которым все работает.

О себе напомнил интернет-провайдер, прислав SMS о том, что деньги на счету заканчиваются, и пора бы пополнить баланс. Первый раз я его пополнял при подключении, а это было в мае, и вот настало время для второго раза. Дело в том, что провайдер снимает деньги со счета каждый день, мелкими суммами, что хорошо, и позволяет не так заморачиваться, как это было с другим провайдером. Пополнял баланс с помощью WebMoney, что было быстро и хорошо. Спасибо всем кто мне на эти WebMoney присылает деньги :)

Вчера вечером, после просмотра тех видео о Asp.Net MVC полез на свой сайт, в одно место, из-за которого не удавалось раньше пустить клиентов на сайт, заниматься своими лицензиями самостоятельно. Внес изменения и на днях обновлю сайт на хостинге, буду пробовать если заработает, то это будет отлично!

И последние 2 технические темы в этом посте будут о том, как я переустанавливаю сейчас систему, и связанные с этим события :)

Первый прикол выдал мне новый iTunes 10.5.2, каким-то невероятным образом забывший поставить в систему сервис работы с Apple устройствами, и драйвера для этих самых устройств, что стоило мне где-то час чтобы понять, на что он ругается, и как быть. К счастью в интернете было решение этой проблемы, вместе с недостающими файликами, и теперь все вроде как хорошо.

Второй прикол случился, когда я писал этот пост во время установки Service Pack 1 для Visual Studio 2010. Почему-то, установщик, когда дошел до установки инструментов для работы с офисом, то он попросту закрыл все приложения этого самого офиса, даже не дав им возможности сохранить документы, просто все тихо прихлопнул и продолжил работу. И я этот пост пишу второй раз.

Ну и последняя на сегодня тема, это новогодний корпоратив в новой компании. В сравнении с корпоративом предыдущей компании, как по мне, с моим вкусом и ощущениями мира, было несравненно лучше, и это при том, что я был в совершенно новыми для меня людьми. Гулянка прошла отлично, сервис в заведении был хорошим, напитков и наедков было достаточно. Я доволен :)

P.S. Обновил сайт, новая фича работает как положено, ура! Нужно будет провести тестирование, и некоторые клиенты первыми получат возможность обновлять свои лицензии самостоятельно.


Ну что же, пришел новый год, и во вторник пришел на новую работу. Нас таких, новеньких пришло, аж десять человек, и все были немного удивлены таким количеством. Провели экскурсию, сделали вводную лекцию про компанию, потом бухгалтерия и распределение по командам. Заняло это все где-то с 10 утра до двух дня. Выдали подарочки, хотя еще не все. Обещали чашку корпоративную и еще какие-то плюшки на следующей неделе, приятно то как.

Сейчас уже третий день на работе, утро. По политике компании это последний день для адаптации в команде. Команда, в общем, не большая, но очень позитивная, мне тут нравиться, на данный момент, учитывая то, что я особо ничего не делаю, читаю книжки по программированию :)

Единственное, что, пока не удобно – это транспортировка себя любимого на работу. Надо определиться какой транспорт сюда ходит оптимальным маршрутом от моего места жития, особенно, когда у почти всех маршруток в городе номера маршрутов, да и сами маршруты претерпели изменения. Так что открылось новое место для изучения и расширения горизонтов.

Не знаю почему, но здесь корпоративная новогодняя вечеринка будет только сегодня вечером, а сегодня уже 12е, но в это, в моем случае очень не плохо, ведь два новогодних корпоратива лучше чем один. Потом отпишу, как оно прошло.

И последнее, до сих пор жду ответ от софткея, уже устал ждать…


24 декабря, я шел по улице в супермаркет, чтобы купить еды, и думал, что неплохо было бы обзавестись вторым телефоном, под другого оператора, но деньги как-то тратить совсем не хотелось, а за малую сумму телефон будет менее чем посредственный, с этой мыслью я и дошел до супермаркета, где переключился на другие вещи.

В половину второго ночи, 25го декабря, в голову пришла идея, написать приложение для Windows Phone 7, и пусть оно само заработает мне на телефон. Я тогда встал, взял лист бумаги и записал свою идею в том виде в котором она мне пришла. А утром скачал SDK для Windows Phone 7.1 и начал пробовать, как же это оно, писать для телефонов.

Третьего января приложение было готово, и нуждалось в минимальных исправлениях. И я подал заявку на регистрацию у паблишера, на регистрацию, и я ответа от них жду уже долго, сегодня 7 января. Причем даже на второй имейл ни ответа ни привета, а тем временем часы тикают...

Записал это приложение в конкурс одного из сайтов, условием есть необходимо опубликовать приложение до конца месяца, надеюсь успею...

Кстати комиссии немаленькие. 30% уйдет в Microsoft, 10% паблишеру, и того, ни о каких 99 центах и речи быть не может.

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

Второй темой этого поста будет сообщение о апдейте доргена, сегодня. Исправлено аж два бага, но самое интересное то, что в FileZilla был найден баг, когда файлзила не создает несуществующую папку на FTP автоматически, и это очень печально. Создал им тикет под номером 7869, пусть чинят.

На этом все, хороших праздников :)


Прошло уже как полтора года, как я уехал в далекие дали из дома, и живу отдельно в далеком городе. За эти полтора года много чего произошло, но я ни разу не пожалел о том, что уехал, и за все те разы, что я возвращался наведаться на два-три дня, я не заметил кардинального улучшения положения дел, такого чтобы я захотел вернуться.

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

К своему сожалению, те кто остались будь то из-за лени, нежелания покидать «родные» стены или по еще какой другой причине, в большинстве своем, по моему мнению, скажем так, чтобы никого не обидеть, остались далеко позади от получения того, что жизнь может предоставить. Но это их выбор, когда бываю, то стараюсь попинать, ведь все же приятнее иметь достигших чего-то в жизни товарищей, но эффект это оказывает маленький, если оказывает вообще. Но думающим в голову мысли приходят, на то они и думающие, чтобы смотреть по сторонам да анализировать... но действовать не спешат, а зря, как по мне :) Ведь в мире есть столько всего интересного...

Перейдем к более другой теме, например, сейчас жду ответа по поводу регистрации как Windows Phone разработчик от паблишера. Написал приложение, и хочу его продавать, но об этом в одном из следующих постов. Также завтра последний рабочий день в моей текущей компании, и с 10го числа буду работать в другой, где меня ждут новые интересные задачи и моменты.

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

На этом пока все, в запаснике еще остались темы для двух постов, и новая работа думаю тоже что-то интересное на рассказать, что конечно же не будет подпадать под NDA.

И в дополнение маленькая заметочка. В городе с первого числа поменялись номера у всех маршруток в городе, хотя первого числа в них проезд был бесплатным, но нам, кто первого числа еще отдыхал и душой и телом, от этого было мало толку :) Пока мало-кто привык к новым номеркам, и на некоторых маршрутах изменениях в самих маршрутах, хотя нареканий лично я, в самих маршрутках, еще не слышал :)


Сдал наконец-то сессию утром 30 декабря, еле выползши из пастели в 7 утра. Как я и ожидал самой проблемной стала экономика, хотя не курсовая, а экзамен. Но в итоге все хорошо закончилось, и я рад этому. Еще староста сообщила, что в следующем семестре, который должен закончиться в мае, будет аж 12 предметов, для сравнения, в этом было 9. Буду на четверть умнее :)

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

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

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

Чтобы закончить пост положительно, ведь приближается Новый Год. Расскажу о своей новой идее.

Что-то пришла в голову идея купить новый телефон, точнее не новый, а второй, для использования параллельно другого оператора. Вариант взять денег и пойти купить телефон отпал как-то сам по себе. Зато 25 декабря, где-то в районе пол второго ночи возникла другая идея, навеянная местной атмосферой стартаперства.

Решил я написать платное приложение для Windows Phone, ведь писать бесплатные вещи как-то не интересно, да и телефон второй надо. В этот момент я написал примерно треть или около того всего приложения. Если идея выстрелит и принесет достаточно денег, то можно будет добавить пару новых строчек в свое резюме.

На этой оптимистичной ноте, я заканчиваю этот пост в пол третьего дня, 31 декабря 2011 года. С Новым Годом!


Ныне в этом краю, на Рождество, и перед ним, что было 24 и 25 декабря, по настоящеу календарю, город необычно пустовал, небыло пробок, множества людей на улицах и прочих радостей вечернего города. Необычно как-то было такое наблюдать.

Многие люди празднуют рождество по католическому обряду и календарю, а по виду и не скажеш, не выдают себя, ну да ладно, это не имеет особого значения.

Сдаю последние экзамены и зачеты сессии, напряжно и долго что-то процесс идет, но идет он к своему завершению. Самой напряжной дисиплиной в этот раз оказалась Экономика, где надо курсовую работу даже сделать.. Ну ничего, значит буду работать над этой курсовой, думаю за день сделаю. Вот так вот сессия отнимает всободное время...

В декабре, как раз 25 числа ходил забирал в местном отделении одного интернет магазина новый внешний жесткий диск. От заказа до получения прошло толи 7 толи 8 дней, как-то так, при чем я заказ сделал в субботу. Жесткий диск на 3 Тб оказался непростым, и по началу вызвал вопросы, о том, как заставить систему выдить весь объем. Оказывается в давно проверенной и используемой технологии разбивки жесткого диска на разделы, под названием MBR, есть лимит, он не позволяет использовать диски больше двух терабайт, что по современным меркам не много. Зато, поискав в интернете, нашлась технология поновее, не вспомню как она называется, да и диск подкючать, чтобы посмотреть как-то не охота. Так вот, технология эта разрешает видеть ну очень-очень много места, и я ей пользуюсь :)

Ну и на последок хорошая новость. Делал я недавно фрилансовый заказ для одного из клиентов, и в конце, когда работу приняли, я получил добро на опубликование софтины для всех, бесплатно.

Программка под названием Umax Automative FTP Uploader предназначена для массовой заливки на разные фтп, с возможностью вызова приложения или скрипта, для переподключения интернета, во всяком случае так задумывалось. Пользоваться можно абсолютно бесплатно. С пожеланиями и замечаниями писать можно мне :)

На этом все, встречаем Новый Год!


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

Как итог, получается что мне нормальную карточку делают уже второй месяц.

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

Но это уже менее существенно, карточку хотябы сделали и выдали в этом году. Надо будет завтра им позвонить.

Вторая тема, не очень позитивная – ехал я в трамвае вечером, погода была снежная, все сыпет в лицо, автомобили по дорогам едут не уверенно, и вообще нет желания выходить на улицу, но надо. Еду я значит в трамвае, он останавливается на остановке, и люди выходят. Сказу напротив остановки – дорога, и люди начинают переходить улицу по пешеходному переходу. Несколько человек прошли нормально, а девушку которая шла в конце сбила машина. Авто, я так понимаю, было на летней резине, да еще и какое авто, одно из тех которые используют в гос органах или в охране, все такое с полосочками и прочими опознавательными знаками, правдо без мигалок. Авто это остановилось на самом пешеходном переходу отфутболив девушку. Но она самостоятельно поднялась, что хорошо, а трамвай поехал дальше. Когда часа через пол ехал обратно, то на том месте были те же самые люди, скорая помощь приехала и другая милиция. Улаживать конфликт. Странно это все.

Ну и последняя тема на сегодня. Был в субботу на семинаре от Microsoft. Закрытом между прочим, регистрация была только по инвайтам.

Интересное началось уже при регистрации, когда в конце мне не выдали страничку с поздравлением, а написали, что из-за большой популярности события решение о принятии моей заявки будет рассматриваться позже и о результатах этого рассмотрения пришлют письмо.

Через пару дней пришло письмо с положительным ответом. В субботу я явился в назначеное время в назначеное место, и к своему удивлению оказался первым кто пришел. Всего-же к 10 утра подтянулось человек 20. Формат был странным, нас больше не стало, а докладчик рассказывая информацию со слайда постоянно уходил от него к реальным примерам, и отвел на возникающие по ходу действия вопросы. В общем мне понравилось. За обедом выяснилось, что это нормальный формат мероприятия.

На этом все.


Слушаю подкаст Радио-Т в прямом эфире, и пишу о кастомной сериализации объектов, в приложениях.

Как я делал давно-давно? Делал я просто, сохраняя текстовый файлик в виде ключ=значение по одному в строку. Работает это хорошо, но саппортить тяжело, легко ошибиться :(

Второй вариант, который я недавно использовал – сохранение ini файла через WinApi, который работает довольно быстро, делает правильные файлики, но все-же ошибиться и там можно :( Код класса:

public class IniWorker
{
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
string key,string def, StringBuilder retVal, int size, string filePath);

public string FilePath
{
get;
protected set;
}

public IniWorker(string Path)
{
this.FilePath = Path;
}

public void IniWriteValue(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, this.FilePath);
}

public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(255);
GetPrivateProfileString(Section, Key, string.Empty, temp, 255, this.FilePath);
return temp.ToString();
}

public string IniReadValue(string Section, string Key, string DefaultValue)
{
StringBuilder temp = new StringBuilder(255);
GetPrivateProfileString(Section, Key, string.Empty, temp, 255, this.FilePath);
return string.IsNullOrEmpty(temp.ToString()) ? DefaultValue : temp.ToString();
}

public static void IniWriteValue(string Section, string Key, string Value, string FilePath)
{
WritePrivateProfileString(Section, Key, Value, FilePath);
}

public static string IniReadValue(string Section, string Key, string FilePath, string DefaultValue)
{
StringBuilder temp = new StringBuilder(255);
GetPrivateProfileString(Section, Key, string.Empty, temp, 255, FilePath);
return string.IsNullOrEmpty(temp.ToString()) ? DefaultValue : temp.ToString();
}

}

Примеры вызовов методов я приводить не буду – думаю и так понятно.

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

class OptionsAttribute: Attribute
{
public OptionsAttribute(string Name)
{
this.Name = Name;
}

public string Name { get; protected set; }
}

Сам класс использования сериализации, правда я делал вручную для малого количества свойств с парочкой типов:

class Options
{
public Options()
{
this. PingTimeOut = 256;
this.Load();
}

[OptionsAttribute("PingTimeOut")]
public int PingTimeOut { get; set; }

private void Load()
{
string path = Path.Combine(Application.StartupPath, "options.ini");
if (!File.Exists(path))
{
return;
}

string[] items = File.ReadAllLines(path, Encoding.UTF8);

PropertyInfo[] properties = typeof(Options).GetProperties(BindingFlags.Instance | BindingFlags.Public);

foreach (PropertyInfo property in properties)
{
OptionsAttribute attribute = property.GetCustomAttributes(typeof (OptionsAttribute), false).OfType<OptionsAttribute>().FirstOrDefault();
if (attribute == null)
{
continue;
}

for (int i = 0; i < items.Length; i++)
{
try
{
if (items[i].StartsWith(attribute.Name + "="))
{
string stringValue = items[i].Substring(attribute.Name.Length + 1);
object value = null;

if (property.PropertyType == typeof(int))
{
value = int.Parse(stringValue);
}
else if (property.PropertyType == typeof (bool))
{
value = bool.Parse(stringValue);
}
else
{
value = stringValue;
}

property.SetValue(this, value, null);
}
}
catch (Exception ex)
{
}
}
}

}

public void Save()
{
List<string> configuration = new List<string>();

PropertyInfo[] properties = typeof(Options).GetProperties(BindingFlags.Instance|BindingFlags.Public);

foreach (PropertyInfo property in properties)
{
OptionsAttribute attribute = property.GetCustomAttributes(typeof (OptionsAttribute), false).OfType<OptionsAttribute>().FirstOrDefault();
if (attribute == null)
{
continue;
}

configuration.Add(attribute.Name + "=" + property.GetValue(this, null).ToString());
}

File.WriteAllLines(Path.Combine(Application.StartupPath, "options.ini"), configuration.ToArray(), Encoding.UTF8);
}
}

Вот такие варианты для сериализации в простой текстовый файл. С сериализацией в XML ситуация другая, и она не для этого поста.

На этом все.