Как стать автором
Обновить
94
0
Mad Fish @Mad_Fish

Пользователь

Отправить сообщение

Создание расширения FireFox для начинающих

Время на прочтение8 мин
Количество просмотров48K
В данной статье представлена пошаговая инструкция по разработке простейшего расширения для FireFox.
Это частичный перевод оригинальной статьи.

Это не моя статья, а моего друга (его мыльце: templar8@gmail.com). Он очень хочет попасть на Хабр. У меня самого не хватает кармы для инвайта.
Текст статьи
Всего голосов 104: ↑94 и ↓10+84
Комментарии33

Создание смазывания фона под окном в Windows

Время на прочтение2 мин
Количество просмотров3.9K
Буквально вчера в блогах разработчиков Qt был опубликован топик, в котором описывалось как можно создать эффект размытия фона под окном приложения в Windows Vista и Windows 7.

Под катом его перевод
Всего голосов 23: ↑22 и ↓1+21
Комментарии30

WPF Browser

Время на прочтение1 мин
Количество просмотров12K
Возможность работать и взаимодействовать с веб-страницами в рамках WPF открывает некоторые интересные возможности. Хотя в WPF уже включен веб-браузер — это всего лишь оболочка вокруг ActiveX Control IE. К сожалению, это мешает играться как следует при помощи инструментов WPF.

Смешивая проект Chromium от Google, оболочку под названием Awesomium и немного WPF мы имеем следующее:

Capture

Можете попробовать установить данный браузер при помощи ClickOnce отсюда. Исходный код можно скачать с CodePlex. После установки данного приложения через ClickOnce бывают проблемы с вводом с клавиатуры (просто не работает) – так было и у меня, потому лучше качать сразу готовый zip-архив для того чтобы попробовать. Правда пока пробовать там нечего, больше интереса предоставляет исходный код, состоящий из:
  • Cjc.ThreeDeemium – Пример приложения, в настоящее время без каких-либо функций 3D.
  • Cjc.ChromiumBrowser – Контрол — WPF Chromium веб-браузер.  Зависит от Cjc.AwesomiumWrapper и двух библиотек Awesomium и Chromium C++ (Awesomium.dll and icudt38.dll).
  • Cjc.AwesomiumWrapper – C++ / CLI оболочка над Awesomium (Managed код). Так проще, чем сохранять старый P/Invoke набор, и более приятно смотреть на код
  • Awesomium – C++ заголовки и библиотеки Awesomium / Chromium.

Думаю стоит последить за данным проектом, скорее всего нас еще чем-нибудь удивят: Chris Cavanagh’s Blog

Progg it
Всего голосов 46: ↑28 и ↓18+10
Комментарии7

Никогда не говорите слово …, или регистрация в 2 щелчка мышью

Время на прочтение4 мин
Количество просмотров3.5K

Люди не очень любят регистрироваться. Это же нужно (в общем случае) придумать логин и пароль, зайти в свою почту, дождаться письма, открыть его, перейти по ссылке активации аккаунта, а потом еще этот логин с паролем не забыть. Но ведь уже давно есть способ, с помощью которого все эти шаги не нужны. Более того, не нужно вообще ничего вводить с клавиатуры, 2 щелчка мышью и все, человек зарегистрирован.

Читать дальше →
Всего голосов 223: ↑206 и ↓17+189
Комментарии140

Пишем апплет-переводчик для Gnome [python]

Время на прочтение11 мин
Количество просмотров3.3K

Предисловие



Сидел я как-то тихим вечером, читал англоязычные сайты. Когда понадобилось перевести пару фраз, я как обычно открыл новую вкладку, набрал translate.google.ru, скопировал, вставил текст, нажал перевести, прочитал. И ведь такую длинную последовательность действий приходится проделывать каждый раз, когда есть необходимость перевести текст, пару фраз или целый абзац. Да, можно использовать какой-либо клиент для перевода, но окно программы придется открывать или доставать из-под других окон. Да, последовательность короче, но все равно длинная. Было бы здорово сократить последовательность действий до скопировать, нажать кнопку. Так появилась идея для апплета. Его логика такая:
  • На панели появляется кнопка «GTranslate»
  • Если вам надо перевести текст, то копируете его и нажимаете на кнопку
  • Автоопределение языка

Поехали
Всего голосов 41: ↑36 и ↓5+31
Комментарии66

Раздобываем бесплатные шрифты для русского языка, чтобы пережить Вторую типографскую революцию в Паутине

Время на прочтение7 мин
Количество просмотров33K
На минуту обратите свои мысли вспять, к прошлому, к завершившемуся тысячелетию. Отдайте должное утренней заре Всемирной Паутины, потому что заря эта готова ужé окончательно потухнуть, уступая место куда более яркому сиянию нового дня.

Первая типографская революция произошла во Всемирной Паутине настолько давно, что приходится производить поиски, чтобы установить подробности. Кажется достоверным то, что пишет Ian Graham: в Netscape Navigator 2.0 впервые появился элемент <font> (тогда он позволял задавать только размеры шрифта, и только в условных единицах), а в Internet Explorer 3 у этого элемента появился атрибут face, позволявший задавать начертание, задавать шрифтовое семейство. Википедия подсказывает, что Netscape Navigator 2.0 появился в марте 1996 года, а Microsoft Internet Explorer 3 — в августе того же года. В язык HTML версии 3.2 даже не входил атрибут face, хотя и упоминалося, что такой атрибут существует.

Тринадцать лет назад.

Все эти тринадцать лет для начертания текста сайтов в основном использовались несвободные шрифты, являющиеся частью операционных систем и офисных пакетов. Сайтам приходилося гадать о том, какие шрифты установлены у читателя, а какие не установлены, и какова вероятность того или другого, какие шрифты можно считать безопасными. Сочинялись специальные плагины jQuery и создавались специальные страницы, способные выяснить набор шрифтов на компьютере читателя. Особый дух того времени прекрасно передал despoth, сочинив превосходную серию статей о такой веботипографике, которая основана именно на подборе несвободных шрифтов (часть I часть II часть III часть IV часть V).

Наконец, это время кончилось: явствуют, зримо явствуют признаки Второй типографской революции, связанной с приходом @font-face.

Джон Даггетт сочинил познавательную статью о том, как все мы совсем скоро (после появления Safari 3.1, Firefox 3.5, Opera 10) сможем использовать загружаемые шрифты во всех популярных браузерах, а не только в одном наиболее популярном.

Марк Пилгрим грубо обрисовал ситуацию с лицензированием собственнических шрифтов. Ситуация эта немало напоминает глухой тупик. Даже создателям прекрасной демонстрации возможностей Firefox 3.5, чтобы изготовить страницу, пришлось специально связаться со шрифтопроизводителями и изготовлять такие особые (усечённые) версии использовавшихся шрифтов, чтобы их не было смысла копировать нелицензионно. А вон там предлагают раздавать особые паутинные обкусанные ужатые копии купленных шрифтов (которые сам покупатель вывешивать не имеет никого права, а только ссылаться). Остроумно. Открывает широкую дорогу в сторону Большого Брата: типа как недавно читальники Kindle удаляли книги Оруэлла за нелицензионность (даже честно купленные — просто оставляя стоимость их на счету покупателя в уплату). Так и тут. Внешний шрифт может неожиданно подохнуть, даже купленный заранее.

Всё это значит, что одновременно с переходом к использованию загружаемых шрифтов состоится, вероятнее всего, и переход к бесплатным (а в идеале — даже и свободным) шрифтам в Паутине.

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

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

Список пошёл.
Всего голосов 160: ↑137 и ↓23+114
Комментарии85

Ускоряем запуск браузера FireFox

Время на прочтение2 мин
Количество просмотров36K
Ещё давно приметил, что мой любимый инструмент, запускается значительно шустрее после установки, чем после многомесячного, активного использования браузера. Заметил, но как распорядится этим знанием мыслей не было. И вот, только что наткнулся на полезную тему, где описано это узкое место, а также дан ещё один совет по ускорению запуска браузера.

И так узкое место при запуске это загрузка .sqlite, базы данных вашего профиля. При интенсивной работе с Фоксом, базы разрастаются, в них появляются «пустые места», ну и главный недостаток, файл базы данных становится сильно фрагментированными. Для решения подобной проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
Читать дальше →
Всего голосов 219: ↑206 и ↓13+193
Комментарии215

Набор качественных тем для gnome от ZgegBlog

Время на прочтение1 мин
Количество просмотров3.2K
Официальный сайт

На данный момент представлено 9 хорошо сделанных тем оформления, большинство из них включает в себя набор иконок, тему для GDM, GTK, Metacity, Emerlad и фон рабочего стола.
Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии46

Максимальный поток минимальной стоимости

Время на прочтение15 мин
Количество просмотров85K
Транспортная задача (классическая) — задача об оптимальном плане перевозок товара со складов в пункты потребления на транспортных средствах.

Для классической транспортной задачи выделяют два типа задач: критерий стоимости (достижение минимума затрат на перевозку) или расстояний и критерий времени (затрачивается минимум времени на перевозку).

Под катом очень-очень много текста, т.к. рассказывается один из вариантов решения данной задачи «в картинках» для тех, кто мало знаком с графами. Листинг прилагается.

Путешествие в тысячу миль начинается с первого шага
Всего голосов 173: ↑165 и ↓8+157
Комментарии76

Расширение функциональности готовых программ

Время на прочтение11 мин
Количество просмотров42K
В мире ПО существует огромное количество программ, забытых своими разработчиками. Хорошо, когда уже есть хорошая альтернатива. А если ее нет? В программе может катастрофически не хватать каких-то мелочей, некоторые досадные ошибки могут годами доставлять массу неудобств пользователям, а на новых версиях ОС программа и вовсе может отказаться работать. Далеко не всегда имеются исходные коды, чтобы привести программу в порядок. Если программа простая — не составит труда за короткий срок создать альтернативу. Но если программа большая и сложная, что же делать в таком случае? Не всегда рационально тратить время и деньги на разработку полного аналога, ведь расширить в разумных рамках функциональность и исправить большинство ошибок можно уже в готовом исполняемом файле.
В этой статье будут продемонстрированы методики модификации исполняемых файлов на примере расширения функциональности легендарной игры Age of Empires II (стратегия реального времени).
Читать дальше →
Всего голосов 204: ↑203 и ↓1+202
Комментарии121

Начало пути — Часть 2. Аппаратные решения (Часть 1).

Время на прочтение5 мин
Количество просмотров8.5K
Вот и подоспела вторая часть из серии «Начало Пути»! К сожалению, из-за проблем на работе эту статью пришлось разбить на две части, т.к. времени категорически не хватает.

Итак, мы узнаем о:
  1. Звуковых картах.
  2. Наушниках.
  3. MIDI-Клавиатурах.

P.S. Кстати в этой статье я постарался учесть все ваши пожелания, поэтому хочу предупредить, что все ниже написанное является моим личным мнением.
P.P.S. Цены взяты с сайта muztorg.ru.
Let's go!
Всего голосов 45: ↑41 и ↓4+37
Комментарии73

Начало пути — Часть 1. Программные решения.

Время на прочтение8 мин
Количество просмотров28K
Доброго времени суток всем читателям нашего блога! Это первая статья из серии «Начало пути», в которой я расскажу о программной части нашей маленькой звукозаписывающей «студии». В течении недели будет опубликовано еще три статьи — одна про «железо», вторая про базовые термины, которые могут нам повстречаться и еще одна про основы сведения. Эта серия в первую очередь полезна новичкам, знатоки скорее всего ничего полезного для себя не откроют.
Итак, поехали!
Всего голосов 96: ↑88 и ↓8+80
Комментарии98

Руки прочь от автозапуска!

Время на прочтение2 мин
Количество просмотров3.3K
Не правда ли, удалять с любимой флешки кучу вредоносных элементов, после каждого ее подключения к чужому компьютеру, несколько обременительно? А сколько нервных клеток уничтожают эти элементы? Моих — немеряно!

Все известные мне способы борьбы с подобного рода инцидентами (как то: пересесть на Линукс, отключить автозапуск, не тыкать флешкой куда попало и т.д.) не приемлимы для меня. Потому и пришлось выдумывать свой.

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

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

Суть: запретить кому бы то ни было запись/изменение корневого каталога.
Результат: вся нечисть, попавшая на флешку, ничем не сможет Вам помешать.

Читать дальше →
Всего голосов 87: ↑59 и ↓28+31
Комментарии187

Как зарегистрировать домен бесплатно

Время на прочтение2 мин
Количество просмотров149K
image
На удивление оказывается, что многие незнают о существовании зон, свободных для регистрации. Более того, многие платят за регистрацию доменов в этой зоне деньги — стандартная цена у известных регистраторов от 5 до 15 у.е. за то, что можно сделать самому бесплатно.

Вот какие домены можно зарегистрировать абсолютно бесплатно:
Украина
.net.ua, .od.ua, .org.ua, и множество вида регион.ua
Россия
.com.ru, .net.ru, org.ru, pp.ru, .msk.ru, spb.ru и множество остальных типа регион.ru

Ниже инструкция типа «домен бесплатно для чайников»

Читать дальше →
Всего голосов 231: ↑214 и ↓17+197
Комментарии97

Построение графики на javascript

Время на прочтение1 мин
Количество просмотров12K
dg
Raphaël — небольшая библиотека(20 килобайт) для построения векторной графики на веб-сайтах.

Она использует SVG и VML в качестве базы для создания графики. Учитывая то, что каждый созданный объект — DOM объект, то при помощи JavaScript обработчиков можно легко изменять их свойства и действия.
Читать дальше
Всего голосов 107: ↑103 и ↓4+99
Комментарии58

Стэнфорд открыл учебные материалы по программированию и ИИ

Время на прочтение1 мин
Количество просмотров6.1K
Стэнфордский университет выложил в открытый доступ под лицензией Creative Commons содержание десяти учебных курсов по программирование, искусственному интеллекту, линейным системам и оптимизации. Воспользоваться этими уникальными материалами могут преподаватели и студенты со всего мира.

Каждый курс содержит видеозаписи лекций, полные тексты и тезисы, а также практические задания и экзаменационные билеты. Материалы практически полностью совпадают с той программой, по которой учатся студенты-очники в Стэнфорде. Чтобы скачать материалы, не требуется никакой регистрации или специального запроса. Они просто выложены в открытый доступ в ZIP-архивах примерно по 300 МБ, а видеоролики ещё продублированы на YouTube.

Вот список открытых курсов:
Всего голосов 96: ↑95 и ↓1+94
Комментарии42

Десять смертных грехов веб-типографики

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

1. Использование дефисов вместо тире em-dash.

Free Image Hosting

Если вам нужно прервать мысль, то делайте это с помощью символа (alt+0151), а не парой знаков «минус». Это, пожалуй, главный источник раздражения для всех редакторов.
Читать дальше →
Всего голосов 170: ↑139 и ↓31+108
Комментарии96

Мал, да удал: Trojan-Downloader.Win32.Tiny

Время на прочтение9 мин
Количество просмотров23K
Доброго дня всем.
В сегодняшнем выпуске много технических подробностей. Так что уж извините, если их слишком много :)

Письмо


Итак, начинаем. На входе у нас письмо с текстом «Journalist shot in Georgia! See attached video. Password is 123» и с приложенным файлом «Georgia.zip».

Для более или менее полного анализа нам понадобятся:
— Самый Лучший дизассемблер в мире IDA
— Неплохой Отладчик Windbg
— python 2.5 (строго говоря, подойдет любой, просто у меня 2.5)
— Visual Studio какая-нибудь и Microsoft SDK, чтобы собрать небольшую программу на с++.
— упаковщик программ upx
— ну и чего-то еще по мелочи.

Распаковываем присланный нам файл, и видим, что наши подозрения оправданы: видео там и рядом не ночевало.
joined.exe (md5:607af96b03addadf28cf9280701df191)
Dr.Web: Trojan.Packed.151
Kaspersky: Trojan-Downloader.Win32.Agent.abqe

Читать дальше →
Всего голосов 355: ↑346 и ↓9+337
Комментарии118

Метапрограммирование в C++

Время на прочтение5 мин
Количество просмотров40K
Метапрограммирование — это «программирование программ», то есть написание некой промежуточной программы, результатом которой будет некая часть другой программы. Самый простой пример метапрограммирования — это шаблоны C++. Вместо написания десяти одинаковых функций для разных типов, мы пишем шаблон, и компилятор сам соберет нам эти десять функций.
Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии55

Сам себе антивирус

Время на прочтение5 мин
Количество просмотров4.9K
Жизнь компьютера идет своим чередом, но в один прекрасный момент комп перезагружается, а потом на рабочем столе появляется надпись «У вас вирусы, антивирус качать тут». Кто-то скачивает и ставит, кто-то сносит винду, кому-то везет и его антивирус ловит заразу… А я вам попробую рассказать как решить проблему самому и зачем это нужно.

Читать дальше →
Всего голосов 118: ↑83 и ↓35+48
Комментарии139

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность