Monday, November 8, 2010

Ubunted

В общем, уже как почти месяц как я перешел на Ubuntu. Перед этим хоть и знал и изредко пользовался альтернативными ОС (сервер, который обслуживает look.org.ua на FreeBSD, который я сам "поднимал" и "конфижил"), но как домашнюю все никак не решался установить. Да и специфика работы (в основном разработка на .NET) на это сильно влияла.

И вот с выпуском Ubuntu версии 10.10 решился.

Что понравилось

  • Дружелюбие. При чем не только "для чайников", но и как "адвансед" пользователь я смогу очень удобно разметить диск, указать какую FS (а из десяток на выбор).

  • Софт. Поиск, установка софта проcто очарователен. При чем как и "Центр приложений", так и "Менеджер пакетов". Особо отмечу то, насколько "вливается" установка приложений, которых нет в списке - достаточно с сайта загрузить пакет, как будет автоматически зарегистрирован источник, и софт будет атоматически обновляться.

  • Эстетичность. Многие судят Ubuntu за то, что она копирует макось. Возможно. Но это, блин, красиво. Все на своих местах. Я сначала попробовал другие темы, но вернулся на "дефолтовую" - просто и со вкусом. Хотя немного серовато. Но всякие compiz-эффекты просто радуют глаз и расслабляют (например Win+E, Win-W).

  • Скорость. По сравнению с Windows7 просто поражает то, как ведет себя система сразу после загрузки (которая происходит просто магически быстро - даже заставка с точечками не успевает толком помигать) - а именно отзывчивость системы. Загрузилась - работай. В Windows после загрузки при запуске броузера или другой софта идут какие-то подгрузки винта и т.д. На самом деле мне иногда это было тяжело понять - ведь, к примеру, броузер "весит" метров.. ну еще 20 библиотеки незагруженные. При современных винтах 40мб грузится примерно секунду. Видимо Windows на фоне еще делает много операций.

Что НЕ понравилось


  • "по умолчанию" система ввода плохо дружила с моей мышкой (A4Tech X7) при переключении раскладки. Чинится установкой новой версии xinput (спасибо инфраструктуре PPA это делается в 2 клика). Подсказали на "хабре".
  • то, как встроен чат в систему. Идея отличная, но я не сразу понял что при закрытии "Списка собеседников" я выхожу из онлайна. При этом стандартный клиент, который идет с системой не умеет прятаться в трей. (см. комментарии. может что поменяли)

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

  • в целом имхо "трей" сейчас остается самым слабым местом - наборы иконок там сильно выбиваются из общей целосности интерфейса. Все-таки система треевых иконок (которые в notification area) в Windows7 имхо более продуманна - можно некоторые прятать и показывать по необходимости.

  • Шрифты. Да, стандартные красивые, но я все-таки привык к обычным, виндовым. По этому быстро доставил себе пакет дополнительных шрифтов.



Из "нестандартных" установил Chrome, Skype, Dropbox, VMWare и ощущение от системы просто отличные.

Не хватает только iTunes (для более простой работы с iPad) нет.

Monday, August 23, 2010

Beta-browsers tests: IE9, Chrome, FF4, Opera

Запустил новый Pshychelic на FF4 Beta3 (DirectDraw enabled) - результат практически 1 в 1 с IE:



К сожалению, в других броузерах поддержки апаратного ускорения пока нет.

За одно прогнал свои броузеры на HTML5test.com (June 8, 2010 - version 1.0):


BrowserResult
Chrome 7.0.500.1 canary build (+webgl)232
Chrome 6.0.472.41 beta217
Firefox 4 beta 3190
Opera 10.61159
IE9 (1.9.7916.6000)96


Жаль IE9 плетется в конце не смотря на то, что судя по блогам разработчики ИЕ9 обещают сильную поддержку HTML5...

UPD: Чисто для статистики приведу результат санспайдера на моей машине:



BrowserResult
Chrome 7.0.500.1 canary build (+webgl)275.4ms +/- 0.6%
Chrome 6.0.472.41 beta283.9ms +/- 1.6%
Firefox 4 beta 3558.1ms +/- 5.6%
Opera 10.61281.0ms +/- 0.8%
IE9 (1.9.7916.6000)390.2ms +/- 0.4%


Думаю пора делать новую версию санспайдера - ибо некоторые тесты по 1-2мс, что не дает нормальной точности.

Wednesday, August 11, 2010

Chrome: Stable ahead of Beta?


Сегодня забавный апдейт стабильного хрома до 5.0.375.126. Забавен он тем, что бета-канал имеет версию 5.0.375.125

Гугл как обычно с выкрутасами - неужели они боятся релизить бета-версии больше чем стабильные? Может потому-что на бетах больше народу? :)

Tuesday, June 29, 2010

C#: Invoke method from null-valued variable?

Как-то не задумывался, что конструкции по типу:

A a = null;
a.SomeMethod();


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

Как?

Методы-расширения:

public class A { }
public static class AExt {
public static void SomeMethod(this A a) {
Console.WriteLine("Invoked with "+(a==null?"null":a.ToString()));
}
}


Это конечно хорошо, но имхо это нарушает "читабельность" - лучше явно проверять и обрабатывать null-значения, чем прятать обработку в методы расширения.

Но факт остается факт - у переменной со значением null можно вызвать метод :) Можно спрашивать на собеседованиях чтоб оценить реакцию :)

Wednesday, June 2, 2010

Ищем соратника

Сегодня разместил вакансию на developers.org.ua. Интересно, без дополнительных вложений будут ли обращаться?

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

В общем, ждем новых друзей в нашу дружную команду :)

Tuesday, April 27, 2010

GWT UiBinder - Separation of Concepts

Решил сделать репост очень интересной статейки о том, как шаг за шагом перейти от обычного HTML (или swing-like) к UiBinder-у.

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

Saturday, April 24, 2010

C# 4.0: Небольшие малозаметные, но важные изменения

C# 4.0 вышел вместе с MSVS 2010 еще 12ого апреля. Уже довольно много статей о новых фичах вышло - о динамических типах и DLR, о параметрах и т.д. Но довольно много мелких изменений, который довольно слабо освещены, и о которых не стоит забывать.

Решил перечислить их с небольшими комментариями:


  • Во многие типы наконец-то добавили TryParse (TimeSpan, Enum, Guid).
  • Чуть проще работа со строками: Join'нить и Contact'ить можно все что IEnumerable, добавили String.IsNullOrWhiteSpace
  • Идея Enum'ов как флаги продолжила свою жизнь в виде Enum.HasFlag
  • Наконец-то не надо изобретать велосипед при копировании с одного потока в другой - System.IO.Stream.CopyTo
  • Теперь не надо писать конструкции типа:

    private MyType field;
    public Field { get { return field ?? (field = new MyType()); } }
    Вместо этого можно воспользоваться System.Lazy
  • Добавили System.Tuple<...> - вот этого часто не хватало. Определять свои классы лень только для того, чтоб вернуть два-три значения, а out-параметры не очень красивы.


Это в принципе именно полезные, но мало-заметные изменения. Полный список можно прочитать в этой статейке.

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


Friday, April 23, 2010

Chrome: Desktop Notifications

Случайно наткнулся на ссылочку про нотификации в webkit/chrome.

Сразу подумалось - ВебОсь все ближе и ближе. Ведь сразу же открываются возможность для мейл-клиентов, IM, календарей и т.д.

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

Sunday, April 18, 2010

Google Chrome: enable html5 geolocation

Недавно натолкнулся на тест поддержки HTML5.
Удивило, что в хроме показало "Geolocation 0/5", хотя я точно читал что в хроме добавили поддержку геолокации.

После небольшого гугления оказалось все просто - достаточно добавить параметр " --enable-geolocation"

После этого имеем сразу 142/160 (5.0.342.9 beta, Windows7, x64)



Интересно, какие еще флажки есть для большей поддержки html5?

Saturday, January 16, 2010

GTUG Ukraine

Нашел "братьев по разуму" - клуб любителей продуктов Google.

Оказывается последнее время Google развернул довольно активное участвие в продвижении своих продуктов используя довольно старый способ - user groups.

В Украине это Kyiv GTUG Center и Kyiv GTUG Center.

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

Если будет интересно, сделаю доклад про Google Web Toolkit.