Gmail - лучший email сервис из существующих, но увы - нет ничего идеального. В частности спонсорские линки в правой части окна при просмотре писем не только отвлекают глаз от основного текста, но еще и шпионят. А особо
параноидальные осмотрительные личности чувствуют дискомфорт из-за того, что Google просматривает все письма для улучшения релевантности рекламы и делает еще весьма спорные относительно personal privacy вещи. После обновления gmail у многих перестали действовать блокирующие плагины и скрипты, а у кого-то их и не было. Так или иначе, напишу о том, как можно быстро заблокировать sponsored links для тех, кто этого еще не сделал или не находит для этого времени.
* Способ для тех, у кого стоит браузер, а не Internet Explorer :)
** Под пользователей Opera можно использовать
скрипт
- Ставим аддон Adblock Plus для Firefox.
Он предназначен для блокировки банеров, рекламы и прочей гадости на страцах.
- Устанавливаем Adblock Plus Element Hiding Helper.
Этот плагин расширяет возможности Adblock Plus и позволяет создавать правила для блокировки отдельных элементов страницы (для борьбы с текстовой рекламой - наш случай)
- Подписываемся на EasyList фильтр.
Изначально в Adblock Plus пустой список блокируемых элементов, но для облегчения своей жизни можно подписаться на уже созданные фильтры, что мы и делаем.
- На иконке Adblock Plus ("ABP") выбираем пункт "Select element to hide" (или жмем CTRL+SHIFT+K) и осторожно выделяем поле "Sponsored Links" в gmail.
Если все же выделили не то, что нужно, можно удалить созданное вами правило в настройках Adblock Plus (удалям все, что связано с gmail.com)
- Добавляем правило фильтрования.
Теперь страница gmail будет выглядеть так:
ИМХО: Adblock Plus удобный и мощный аддон Firefox из списка must have.
>> Tags:
firefox,
gmail
| Time:
2:17:00 AM
Как я уже писал раньше, недавно я перешел на Linux и теперь в качестве ОС использую Ubuntu 9.04 Jaunty. Впрочем подробнее о своих впечатлениях от этой системы я напишу позже в отдельном посте.
Одна из немногих функций, которая мне не понравилась в Ubuntu, так это Network Manager applet — такая себе графическая оболочка для управления сетевыми интерфейсами. Не понравилась из-за слабой функциональности и плохой совместимостью с терминалом (то есть изменения, сделанные через командную строку она либо не воспринимала, либо меняла на свои). Средством борьбы с таким неудобством было его отключение :)
Но это повлекло за собой некоторые последствия, о которых я долгое время не догадывался. Браузер (Firefox) начал всегда стартовать в режиме Work Offline. Как оказалось, нету ничего раздражительней, чем каждый раз клацать File → Work Offline, что бы снять галочку. Я долго искал решение в интернете, которые не работали (ведь я не знал причины), пока не нашел новый способ на сайте ghacks. Как оказалось, Firefox по умолчанию проверяет наличие соединения с интернет по средствам того самого Network Manager applet. После его отключения Firefox конечно же запаниковала и начала включаться в Offline режиме. Что бы это исправить, нужно зайти в настройкиии конфигурации браузера about:config и найти строку:
toolkit.networkmanager.disable
Нужно установить значение этого параметра на true, то есть отключить использование Network Manager'а Firefox'ом.
Перезапускаем браузер и убеждаемся, что теперь все работает отлично. Надеюсь этот совет сэкономит время и нервы пользователям Firefox, которые тоже не любят аплет Network Manager.
PS: Из-за своего нетерпения я все пытался сегодня установить FF 3.5 RC2, но он напрочь отказывался принимать плагины — нигде их не находит. Если кто подскажет, как это исправить, буду рад. (Советы "подождать релиза" не принимаются — это и так default way)
>> Tags:
firefox,
Linux,
ubuntu
| Time:
6:51:00 PM
Последняя запись в блоге сделана 2 месяца назад. И заголовок поста объясняет это — сессия, какие еще нужны объяснения? :) Она, слава Богу, не 2 месяца, а только 2 недели, но чем к ней ближе, тем меньше свободного времени остается. Зачетная неделя прошла – теперь остались 3 экзамена.
Но чем меньше свободного времени остается, тем больше чего-то полезного делается. За эти 2 месяца я много чего узнал и набралась уйма материала, о котором хотелось бы рассказать. Но угадайте что? Да — сейчас опять маловато времени ибо через 3 дня самый важный экзамен. Такая жизнь. Так что публиковаться начну после него, а еще активнее и вовсе после окончания сессии (а это 26 июня).
Вкратце список того, о чем буду писать:
- Освоение мощного framework'а Qt. Для курсового по программированию потребовали GUI и я выбрал Qt из-за ее популярности и кросс-платформенности. Как оказалось, в Qt все очень удобно и юзабельно. Так что советую каждому, кто как-то связывает себя с графическим интерфейсом начать именно с нее. И ради Бога – не используйте для интерфейса конченый MFC и CLR. Вас же за извращение посадят!
- Переход на Linux. В интернете множество похожих форумов, статей и блогов. Причина банальная – я перешел на Linux, чему очень рад :)
- Latex и Word Processors. Проедусь по некоторым текстовым редакторам и выберу оптимальный вариант для верстки документов. Так же начинаю знакомиться с Latex.
- Web 2.0 – выскажусь о некоторых интересных проектах в интернете.
- Информационная безопасность & программирование. Речь пойдет о выученном за 1й курс обучения: элементарная математика, программирование криптоалгоритмов. Работа с большими числами, алгоритмы поиска простых чисел и т.д.
- А также о всем, что посчитаю интересным и полезным.
Ну а пока удачи мне на экзамене :)
| Time:
2:28:00 AM
Повернувся з довгожданого концерту Вакарчука 'вночі'. Я обожнюю їх творчість, але на живому концерті довелося побувати вперше: то Океан Ельзи не приїздив, то я був у Штатах, коли вони представляли 'Міру'. Але нарешті Святослав влаштував тур з новим проектом 'вночі', тому я не міг пропустити таку подію.

З першим кроком у залу відчувалася особлива атмосфера - туман (синтетичний дим) окутав ряди, лунав спокійний джаз - повітря наповнювалося спокійним і чутливим звуком саксофону. Відчувалося щось магічне - одразу захотілось відкинутися у кріслі з відчуттям повного вдоволення, усе відійшло на задній план - залишився лише дим, музика та 'кав'ярня
вночі'. Це магія джазу. Півгодинна затримка концерту промайнула в одну мить. Лише зрідка окремі "соціологи" перевіряли теорію масової поведінки, починаючи аплодувати, і згодом увесь зал, не усвідомлюючи причини, аплодував пустій темній сцені з неоновим написом. Нарешті вийшов Мілош, увесь Океан Ельзи та інші учасники проекту (скрипач, джаз-мен, полтавський гітарист, який виявляється теж брав участь у проекті). Після того, як всі зайняли місця та налаштували інструменти, вийшов Святослав. Одразу відіграли 2 пісні, після чого він привітався з залом. Хоча промов між піснями було небагато, відчувалося, що концерт - це тепла бесіда. Музика була надзвичайною. Сам Вакарчук сказав, що проект '
вночі' створювався, заради експериментальної, унікальної музики. Так воно і є. Далі немає сенсу описувати сам концерт - це потрібно відчути, послухати.

Ця магія тривала близько двох годин. Після виконання останньої пісні пролунало лише "Дякую. Бувайте" і весь гурт покинув сцену. Увімкнулося світло. Але це було не так, Святослав не міг так закінчити концерт. Люди вже почали залишати зал, але більшість просто встали і почали кликати його: "Ва-кар-чук, Ва-кар-чук...". Звійсно, через хвилину він повернувся. Разом з ним кілька музикантів. І вони зіграли останню пісню. Потім тепле прощання. "До зустрічі".
| Time:
12:54:00 AM
Прошло первое Гран-При F-1 2009 в Мельбурне. Все проведенные изменения в регламенте, требованиях к командам и болидам были направлены исключительно на добавление зрелищности и интриги в гонки. Впервые за много лет стали использовать слики, введена спорная система KERS и вообще болиды сильно поменялись внешне по сравнению с предыдущими несколькими сезонами. И похоже после всех скандалов, споров и непонятков это удалось. Первая гонка оказалась серьезной сенсацией - достаточно только факта, что Ferrari не дошла до финиша. Продажи билетов на следующие Гран-При возросли по сравнению с продажами в это же время прошлых сезонов. Несмотря на кризис, Формула-1 сейчас в центре событий (скандалов), а значит удалось создать интерес. Думаю, этот сезон будет одним из самых интерессных и насыщенных. Что и нужно фанатам.
>> Tags:
F1,
personal
| Time:
12:15:00 AM
Проснувшись сегодня утром я с восторгом обнаружил выход новой версии компилятора GCC 4.4.0! Полный список изменений ясно где - на
сайте GCC. Из особенностей, которые я заметил, можно выделить автоматическую оптимизацию циклов и поддержку OpenMP 3.0. Исправлено множество ошибок и недоработок, поддержываються новый типы данных типа
__float128. В changelist можно еще много чего интерессного найти, особенно для линуксоидов, которым я пока не являюсь :)
Тешусь пока виртуальной Fedora :)
>> Tags:
C++,
Compilers,
GCC,
Linux
| Time:
11:28:00 AM

На
Хабре появилась
статья о новом сервисе для хостинга исходников типа
pastebin:
ShowMeCode. Что меня больше всего привлекло, так это фича слежения за историей изменения каждого сниппета и возможность откатиться до любой версии. Хотя на Хабре прозвучали критические комменты, сейчас я вижу сервис весьма удобным и полезным. Есть пара функций мне малопонятных, например, свзяка сниппетов по их ID - я так и не понял, в чем ее суть. Есть опция делать исходники private, скрывая от остальных. Для обмена сниппетами сразу под кодом дана прямая ссылка, которую можно отослать другу. Сервис неплохой и симпатичный, но так же как и pastebin, не работает с кириллицей. Неужели так сложно поставить нормальную кодировку? И это создавалось русскоязычным человеком... Я понимаю, что нормальный программист оставляет камменты на английском. Но есть еще и ненормальные учащиеся, которым приходиться все расписывать на русском, еще и скрины вставлять :) Ну да ладно. Еще я лично не понимаю, зачем была прикручена рейтинговая система - не вижу никаких ключевых критерий для сортировки по рейтингу.
В итоге можно сказать, что сервис новый, интерессный, со своими достоинствами и недостатками. Пока что первых нашел больше. Думаю, в дальнейшем он будет развиваться и становиться только лучшим.
>> Tags:
development,
Programming,
services,
Web2.0
| Time:
3:20:00 AM
Сегодня очень хорошая и сообразительная девушка подкинула задачку. Имеем следующий код:
Copy Source | Copy HTML
int x = 2;
std::cout<<x <<x-1 <<x-- <<x;

Что выведется на экран? Как оказалось ответ не так прост, как кажется на первый взляд, и к тому же абсолютно неоднозначный.
Компилятор от Microsoft (Visual Studio 2008) выведет на консоль 1021
Результат при использовании cout и printf одинаков, но это явно не то, что ожидается от выражения. Если же взять GCC, а точнее его порт на Windows - MinGW, то получим следующее при использовании cout:
2121
при использовании printf:
1022
Стало интерессно разобраться, что же все-таки происходит. Не без помощи моего Linux'оидного друга выяснилось, что каждый компилятор обрабатывает подобные выражения по-своему. Я решил исследовать поведение трех наиболее популярных компиляторов: Microsoft, GCC и Intel C++ Compiler.
Действия Visual Studio 2008 следующие: она читает строку слева направо, но операции выполняет в порядке их приоритета. Таким образом первым выполниться постфиксный декремент и на третьей позиции окажется '2', а на остальных '1'. Далее при выводе второй позиции от значения отнимется 1 и на консоль выведется '0'. В итоге имеем 1021.
GCC в данном случае поступает наиболее логично, на мой взляд. Он читает строку и последовательно выполняет операции перед выводом. Но нюанс в том, что работа cout и printf отличается: cout выполняется слева направо, а printf наоборот. Логику несложно проверить.
При выводе с помощью cout получаем то выражение, которое ожидали: первая позиция неизменна, на второй значение уменьшается на 1, на третьей значение переменной сначала выводиться, затем декрементируется и следовательно на четвертой позиции мы получим '1'.
Printf действует справа налево: четвертая и треться позиция неизменны (после вывода третьей позиции значение уменьшается на 1), на второй позиции текущее значение уменьшается еще на 1 и выводиться на консоль, на первой - все без изменений.
Intel C++ Compiler поступил наиболее запутанно. Printf ведет себя, как в Visual Studio 2008, а cout, как в GCC:
printf: 1021
cout: 2121
В итоге убедились, что каждый компилятор отрабатывает подобное выражение по-разному и следовательно ни в коем случае нельзя писать такой неоднозначный код ибо это может привести к непредсказуемым и сложно определимым ошибкам. Лучше не лениться писать пару лишних строк кода ради гарантии правильной работы программы.
UPD: Еще раз поругаю Windows - в последнем
MinGW используется старая версия (3.4.5) компилятора GCC. Текущая версия: 4.3.3. Спасибо
amd4ever за подсказку в комменте и проверку под GCC 4.3.2 ;)
>> Tags:
C++,
Compilers,
Programming
| Time:
1:23:00 AM
Что то я совсем заругал Microsoft с его Windows'ом. Хотя им полезно, как монополистам :) Но пора и других поругать. Что мне больше всего понравилось из опыта жизни в США, так это настрой тамошних людей и их внутренние чувства. У американцев есть чувство чести и гордости. Они гордяться всем, что у них есть. И всегда стремятся это улучшить, модифицировать, зделать удобней, функциональней.
Славянский же менталитет почему-то является обратным отображением таких идей. Ибо для многих недоразвитых существ, думающих, что они люди, главным подвигом будет что-то сломать, испортить, высмеять. Местный народ - это просто верх цинизма. Ведь кому стало лучше от того, что что-то испортилось? Тому идиоту, который это зделал - у него резко подымается самооценка, ибо не хватает ума понять большего. Следствием такой "культуры" является неправильное и сильно искаженное понятие об обязанностях, приличиях и вообще морали. Безкультурщина глобальная, вообщем.
А заставило меня лишний раз задуматься над этим некоторые действия (точнее бездействия) нашего университета. Администрация не обращает внимания на многие вещи, которые стоят потраченного времени и сил. Начнем с
официального сайта. Длиннющее обращение ректора на домашней странице, это конечно хорошо, но это ли нужно человеку, который заходит на сайт университета? Никакой информативности, только перечисление общих пунктов, хотя было бы логичнее розказать о них поподробнее в нескольких разделах. Последняя новость в правой колонке от 14го марта 2009 года. Посмотрите на календарь... Далее идет плохо структурированая навигация, а раздели весьма псевдо-информативны, непонятное поле для авторизации. А сайт библиотеки это вообще отдельный вопрос. Web-дизайнерам и просто людям со вкусом не заходить - возможны случаи суицыда и приступы слепоты.
Причем всегда все вопросы ссылаются на то, что некому и некогда этим заниматься. Некому заниматься в IT ВУЗе? А чем тогда заниматься? В университете достаточно специалистов нужных областей. Сайт - это лицо университета, он должен быть на уровне. Почему? Да потому что должно быт чувство гордости за свой университет, стремление сделать его лучше, а не перебиваться нещастным статическим сайтом, который не обновляется месяцами.
То же самое касается и вопросов на более локальном уровне. Наша кафдера (точнее отдельные люди, которые стремятся к лучшему) организовала форум. Форум очень простенький и порой даже слишком. Но его все-таки создали. Но далее выяснилось: хостинг используется бесплатный, от третих лиц, домен тоже не самый звучный. На кафедре с компьютерным парком в несколько десятков, если не сот компьютеров не нашлось машины под сервер? Почему нельзя сделать поддомен для отдельной кафедры? Почему университет ничерта не делает ради развития информационных технологий на уровне студентов? Если кто-то считает это ненужным, или нецелесообразным - он глобально ошибается. А потом удивления, почему студенты наплевательски относятся к учебе. Ведь это все связано. Университет должен иметь солидный сайт. Каждой кафедре должно быть место для свободного общения, публикаций и обьявлений. Это подымает продуктивность, в конце концов.
К сожалению существует много похожих ляпов в нашем ВУЗе и не только. Про некоторые, наиболее важны я еще напишу позже. А после... будем их исправлять.
>> Tags:
IT
| Time:
3:31:00 AM

Время на тулбаре показывает 3:05 утра, за окном покапывает дождь с мокрым снегом и часа через полтора начнется рассвет. Передо мною мой обиженый Windows'ом ноутбук, не понимающий почему его до сих пор не удостоили нормальной операционной системой. Вот и я задаюсь этим вопросом... Почему так? Потому что вот уже третий час от полуночи я пытаюсь прикрутить
GTK+ к
Eclipse IDE. В нормальной ОС, тобишь Linux Debian, Fedora, etc инсталяция библиотеки
GTK под
GCC происходить вводом одной строки в консоль. Но в Windows это можно проделать только с помощью ритуальных танцев с бубном, молитв всем существующим богам, и обязательно нужно проследить, что бы Юпитер не перекрывал Сатурн, а плутон находился в одной проскости с Нептуном. Еще при попытке установки GTK+ под MinGW наблюдаются резкие магнитные явления на Солнце, а Марс краснеет еще больше чем обычно. Радует только то, что я не додумался сделать этого вчера - в пятницу тринадцатого. Тогда точно сработал бы Адронный Коллайдер.
Ну а если без мифов всех культур планеты Земля, то проблема у меня интерессная. Eclipse сначала долго не хотел находить нужные includes. Затем трабл доставил линкер. Часа за полтора это было решено, но тут подуспел апофигей акта сего: Eclipse выдал ошибку... содержащуюся в header'е самого GTK: gutils.h. Ну мы люди своеобразные, не обращаемся в саппорт, а сразу открываем файл и комментируем глючную функцию - решение оригинальное, не так ли? Пересобираем исходник, и что? Опять выделывается линкер и не находит нужные библиотеки. Я на своем первом курсе вообще туго понимаю, как все происходит. Благо есть сосед-линуксоид более обознанный, чем я. Но кроме потери сна мы ничего не достигли.
При этом стоит заметить, что в портированном bash под Windows через консоль все прекрастно компилируется, запускается - грех жаловатьбся. Почему же наша подруга Eclipse так меня подставляет? Про Visual Studio я вообще молчу. Там только, что бы нужную опцию найти, нужно дождаться лунного затьмения. В остальных IDE в настройках есть хотя бы поле поиска по опциям...
Выводы: Консоль жжет, IDE - зло. Linux - SIMPLE, Windows - /* ... */
3:24. Индифферентно улыбаюсь в монитор. Буду собирать через консоль.
Теперь понимаю, почему так мало Виндузовых разработчиков, юзающих GTK+, Qt и другие хорошие, кроссплатформенные продукты. Что еще сказать? Голова уже кипит. Нужно лечь спать до рассвета :)
>> Tags:
Eclipse,
GTK+,
IDE,
Programming,
Usability
| Time:
3:27:00 AM
Ну тут, я думаю, без комментариев... Нет, правда, что сдесь можно сказать? Круче этого может быть только:
"Ошибка: клавиатура не обнаружена. Нажмите F2, что бы продолжить, ESC - что бы выйти"
Какие части тела отрывать за такие гениальные умозаключения системы я не знаю. Был бы им респект, если бы действительно
магическим телепатическим образом машина подключалась к интернету и скачивала драйвер на Ethernet controller. Но, увы, таких чудес не случается даже в Linux и Mac. Где
Microsoft с его бюджетом и возможностями находит таких гениальных специалистов, а главное - позволяет им так программировать наиболее используемую ОС в мире? Ну і де красота, де екібана? Просто слов нет... Одним словом - мелкомягкие.
>> Tags:
IT,
microsoft,
Usability
| Time:
12:24:00 AM
Что-то последнее время мои посты сводились к разным наблюдениям и обнаруживании фичей :)
После прочтения был в легком шоке, и не от масштаба созданной проблемы, а от степени незащищенности информационных систем. Все-таки в XXI столетии живем, неужели нету никаких средств сделать защиту от Чехских провайдеров дураков? Ввести стандарты, методы проверки или хотя бы обнаружения неисправностей. А то получается вся судьба интернета в руках уборщицы, которая случайно задела кабель...
>> Tags:
Internet,
personal
| Time:
2:03:00 AM
Абсолютно случайным образом обнаружил прикольную фичу то ли Firefox, то ли Википедии... А может это результат их симбиоза. Вообщем при вводе поискового слова в адрессной строке на русском Википедия выдает мне статью на английском. Статья соответствует введенной теме на русском, причем релевантность 100%. Напрашивается вопрос: с каких пор Firefox обзавелся искусственным интеллектом? Конечно, случается это потому, что по умолчанию у меня включена английская Википедия, но помоему такая фича весьма интерессная. Любопытно, каким образом она реализована. Кто знает чего больше об этом, feedback in comments, please.
>> Tags:
Internet,
Usability
| Time:
1:30:00 AM
Заметил одну приятную фичу в нашем университете. Фича эта не может не радовать ибо является доказательством, что универ живет в ногу со временем. Более или менее.Вообщем обнаружил я вот что: хотя бы раз в день я синхронизирую свой SE с ноутом. Помимо контактов, календаря и тд программа синхронизирует еще и время телефона с интернетом.
Сегодня поставил напоминание на начало одного из перерывов, что бы не забыть зайти на кафедру. Дальше случилось чудо - напоминание на телефоне зазвонило завибрировало как раз в тот миг, когда прозвучал звонок. А следуя из более раннего наблюдения, что таймер, по которому даються звонки, настроен на одинаковые промежутки времени, можем сделать заключение: таймер звонков не только запрограммирован звонить через определенные промежутки, но еще и синхронизирован с интернетом. Ибо я считаю такое совпадение очень маловероятным. Для продвинутых стран - это конечно не новость. Стыдно таким хвастаться, например, перед школами Мичигана, в одной из которых я учился. Но для Украинских университетов это прогресс. :)
>> Tags:
personal
| Time:
9:35:00 PM

Решил установить
Eclipse, как альтернативу
Visual Studio и для работы с
GCC. Но что бы все настроить, пришлось немного порыскать в интернети и потенцевать с бубном. Что бы облегчить жизнь людям осознанным, не всегда юзавшим MS VS пишу tutorial на установку Eclipse под Windows.
1: Download
Для работы с Eclipse вам потребуется скачать следующее:
1: Установка Eclipse
- Распаковываем архив с Eclipse в отдельную папку (например: C:/Eclipse). Можно и любую другую директорию, но я не советую запихивать ее в иерархию. Будет лучше и удобнее, если папки с компиляторами, IDE и т.п. будут лежать в корне диска. Visual Studio не в счет - там бесполезно, все никак у людей.
- Запускаем установку MinGW.
В пунктах меню выбираем:
-> Download and install
-> Current
-> Выбираем MinGW base tools и g++ compiler
-> Указываем директорию установки. (Напимер C:\MinGW)
- Устанавливаем GDB отладчик.
В мастере инсталяции везде жмём Next.
В качестве директории для установки - указываем директорию с MinGW
(например C:\MinGW).
2: Запуск Eclipse
Открываем в папке с Eclipse файл "Eclipse.exe"
При первом запуске программа попросит указать "workplace" - там будут храниться все наши разработки и проэкты.
Далее создаём новый проект, что бы проверить работоспособность IDE:
Кликаем на Workbench
File -> New -> C++ Project
Вводим название проекта, из папки Executable выбираем Hello World C++ Project, жмём Next. В появившимся окне указываем данные разработчика программы (то есть наши) -> Next -> Finish.
Через несколько секунд в окне Project Explorer появится ваш проект. Попробуйте скомпилировать проэкт: Project -> Build Project (При этом фокусировка должна быть на окне с кодом, иначе нужное меню бедет недоступно). Если все прошло успешно, нажмите Ctrl + F11, что бы запустить программу. В нижнем доке на вкладке консоль должен появиться консольный вывод выполняемой программы. Если Вам удалось сказать миру "Hello", то все готово.
Удачной работы в Eclipse!
>> Tags:
Eclipse,
IDE,
Programming
| Time:
4:55:00 PM