Читать дальше →
lexich @lexich
User
Векторные иконки на HTML5 + JS
1 min
10K
На первый взгляд это обычные одноцветные иконки, но если призумить — их качество не ухудшится. Очевидный профит таких иконок: с ними можно свободно экспериментировать и не переживать за высоту и ширину, компактный вид, а не куча файлов в папке icons, ну и наверное маленький размер, хотя с этим поспорить можно. Есть некоторые ограничители в цвете, возможен один цвет либо градиент (но думаю с конвертером нарисованного вектора в js код, возможно и больше цветов)
Смотреть иконки
Если вы хотите использовать эти иконки или создавать свои на подобной основе, кликайте по иконке — внизу появится код выбранной иконки, он вставляется в:
paper.path(<код иконки>).attr({fill: "#000", stroke: "none"});
Поддержку иконок на себя берет Raphaël JS Lib
Источник
+82
Трепещи, мир! Мы выпустили PVS-Studio 4.00 с бесплатным анализатором общего назначения
12 min
2.2KПредлагаем вниманию программистов новый инструмент для поиска ошибок в исходном коде приложений на языке Си/Си++. В рамках анализатора PVS-Studio реализован новый набор правил общего назначения. Эта функциональность на данный момент является бесплатной. Вы можете скачать PVS-Studio по адресу http://www.viva64.com/ru/pvs-studio-download/.
В статье кратко рассказывается о новых возможностях PVS-Studio. На примере статического анализа исходного кода проекта TortoiseSVN будет продемонстрировано использование новых диагностических возможностей.
+68
Разбираемся с prototype, __proto__, constructor и их цепочками в картинках
2 min
34KЕсть javascript код:
Затрудняетесь ответить?
Тогда вам стоит пройти под кат ;-) (Далее 600 Кб больших изображений)
- var A = function () {};
- A.prototype.b = 100;
- var a = new A();
- A.prototype.c = 101;
- a.c = -100;
- A.prototype = {};
- A.prototype.b = 536;
- /* 1 */ console.log(a.__proto__.constructor.prototype.b === 536);
- var b = new A();
- /* 2 */ console.log(a.__proto__.__proto__.constructor === a.__proto__.constructor.prototype.constructor);
- /* 3 */ console.log(b instanceof A);
- /* 4 */ console.log(!(a instanceof Object));
Вопрос. Что возвратят выражения 1-4 и почему?Затрудняетесь ответить?
Тогда вам стоит пройти под кат ;-) (Далее 600 Кб больших изображений)
+41
Видео со встречи с Олегом Тиньковым в бизнес-инкубаторе Ингрия
1 min
667Всем Привет!
В субботу 20 ноября в Бизнес-Инкубаторе Ингрия прошла встреча стартаперов с Олегом Тиньковым.
Встреча получилось очень живой, было задано много интересных вопросов.
Олег Тиньков в наших «волшебных» Российских условиях успешно построил 5 разных, реально работающих бизнесов
Полное видео встречи
Фотографии со встречи можно посмотреть на Flickr.
PS не нравиться видео, минусуйте новость. Карму и так уже заминусовали…
В субботу 20 ноября в Бизнес-Инкубаторе Ингрия прошла встреча стартаперов с Олегом Тиньковым.
Встреча получилось очень живой, было задано много интересных вопросов.
Олег Тиньков в наших «волшебных» Российских условиях успешно построил 5 разных, реально работающих бизнесов
Полное видео встречи
Фотографии со встречи можно посмотреть на Flickr.
PS не нравиться видео, минусуйте новость. Карму и так уже заминусовали…
+19
Stackless Python и Concurrence
8 min
15KПеред тем, как перейти собственно к возможностям Stackless и Concurrence, рассмотрим самый простой способ написать сетевое приложение, обрабатывающее несколько одновременных соединений:
Под каждое новое входящее соединение процесс создаёт свою копию через fork(). Это чрезвычайно накладный способ, у которого, к тому же, есть сложности с синхронизацией между процессами. В простом случае они решаются через создание каналов (pipes) между родительским и дочерним процессами и сериализацию данных. В более сложных потребуются примитивы межпроцессной синхронизации. Вспомним ещё про затраты на создание, разрушение и переключение процессов. Это очень ресурсоёмкие операции — как по памяти, так и по вычислительной мощности. Поэтому обработать много одновременных соединений будет весьма сложно.
socket()
bind()
listen()
accept()
fork() ->
read()
write()
...
close()
Под каждое новое входящее соединение процесс создаёт свою копию через fork(). Это чрезвычайно накладный способ, у которого, к тому же, есть сложности с синхронизацией между процессами. В простом случае они решаются через создание каналов (pipes) между родительским и дочерним процессами и сериализацию данных. В более сложных потребуются примитивы межпроцессной синхронизации. Вспомним ещё про затраты на создание, разрушение и переключение процессов. Это очень ресурсоёмкие операции — как по памяти, так и по вычислительной мощности. Поэтому обработать много одновременных соединений будет весьма сложно.
+58
Ликвидатор велосипедов: часть 2
3 min
34K
В этом топике я затрону важную для многих тему — тему рисования графиков в платформе .NET. Вспомните: ведь наверняка когда-то было просто необходимо вывести на экран красивый график… И что происходило? Правильно, появлялся новый велосипед.
Часть первая из серии

+57
KlavaDict
1 min
977
KlavaDict это веб-приложение для запоминания иностранных слов. В данный момент представлено три словаря: англо-русский, немецко-русский и эсперанто-русский. Принцип работы в том, что отображается русское или иностранное слово и 5 вариантов перевода, среди них лишь один правильный, который и нужно выбрать. В случае ошибки правильный вариант будет выделен, и данное слово станет чаще встречаться, пока не закрепится в памяти окончательно. Один урок продолжительностью 5-10 минут (100 слов), хотя прерваться можно в любой момент, это не повлияет на результат обучения. Гарантирую, что после первого же урока выучите несколько новых слов, если конечно не все слова из словаря уже знаете.
dict.klava.org
Нумерация пунктов сделана для того, чтобы можно было выбирать варианты с помощью цифровой клавиатуры.
При нажатии на заголовок, можно вернуться в начало, на экран выбора словаря, правда в этом случае статистика обнуляется.
Приложение оптимизировано и для небольших экранов, можно использовать на iPhone/iPod Touch (возможно и на других платформах, у меня нет сейчас возможности протестировать).
KlavaDict еще на этапе развития, готовятся словари для других языков, и более объемные для уже имеющихся, сейчас используются частотные словари из 2-3 тысяч слов.
UPD: добавлен расширенный словарь (2) со множеством вариантов перевода; штрафные слова теперь те же самые, а не один из вариантов; исправлена ошибка с повторяющимися вариантами.
+54
Ищем решение проблемы потери данных при падении Лисы
3 min
3KТак получилось, что за несколько последних дней Firefox не закрывался нормально дважды. Первый раз он честно сдался (crash) после длительного периода интенсивной работы, неся на борту более 50 экстеншинов, а второй раз: пришел сегодня на работу — а комп выключен. Оказалось, электричество вырубали…
Еще в первый раз я заметил, что не сохранились настройки одного расширения, которым я как раз тогда пользовался. Пришлось заново настроить. Но когда сегодня пришлось во второй раз эти настройки восстанавливать, я подумал, что так быть не должно.
Поискав немного, я нашел, что Firefox делает сохранение настроек в файл prefs.js
(живет по адресу C:\Documents and Settings\User\Application Data\Mozilla\Firefox\Profiles\sDgUfwhg.default\prefs.js)
только при штатном закрытии (и еще при некоторых движениях, которые всплыли в ходе расследования).
Но браузер в наше время практически никогда не закрывается… Значит должно быть решение ;)
Еще в первый раз я заметил, что не сохранились настройки одного расширения, которым я как раз тогда пользовался. Пришлось заново настроить. Но когда сегодня пришлось во второй раз эти настройки восстанавливать, я подумал, что так быть не должно.
Поискав немного, я нашел, что Firefox делает сохранение настроек в файл prefs.js
(живет по адресу C:\Documents and Settings\User\Application Data\Mozilla\Firefox\Profiles\sDgUfwhg.default\prefs.js)
только при штатном закрытии (и еще при некоторых движениях, которые всплыли в ходе расследования).
Но браузер в наше время практически никогда не закрывается… Значит должно быть решение ;)
+15
Впечатляющие анимационные эффекты
2 min
115KTranslation
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
+230
Непрерывное wavelet преобразование
5 min
56KЗдравствуйте, уважаемое хабрасообщество.
В последнее время на хабре стали появляться статьи, так или иначе связанные с анализом и обработкой сигналов и изображений (например Обнаружение устойчивых признаков изображения: метод SURF, Интегральное представление изображений от BigObfuscator), в связи с чем я хотел бы вкратце осветить такой инструмент для анализа сигналов, как wavelet-преобразование.
Для того, чтобы понять смысл вейвлет анализа начнем довольно издалека. В данной статье описывается математический смысл (простыми словами) вейвлет-преобразований, о применимости и его дискретной версии я расскажу позднее.
Спектральный анализ — это один из методов обработки сигналов, который позволяет характеризовать частотную составляющую измеряемого сигнала.
В последнее время на хабре стали появляться статьи, так или иначе связанные с анализом и обработкой сигналов и изображений (например Обнаружение устойчивых признаков изображения: метод SURF, Интегральное представление изображений от BigObfuscator), в связи с чем я хотел бы вкратце осветить такой инструмент для анализа сигналов, как wavelet-преобразование.
Для того, чтобы понять смысл вейвлет анализа начнем довольно издалека. В данной статье описывается математический смысл (простыми словами) вейвлет-преобразований, о применимости и его дискретной версии я расскажу позднее.
Спектральный анализ — это один из методов обработки сигналов, который позволяет характеризовать частотную составляющую измеряемого сигнала.
+60
Разработка приложения на основе протокола oAuth для Twitter API на PHP
5 min
11K
В этой статье расскажу про работу с Twitter API по протоколу OAuth на PHP.
Протокол OAuth предоставляет приложению доступ к данным пользователя без передачи ему логина и пароля пользователя. Новые правила авторизации приложений требуют использование технологии “OAuth” для работы с Twitter начиная с 31 августа.
Тестовое приложение, которое получится в итоге, будет уметь выводить ленту сообщений пользователя, ленту последних статусов его фолловеров и по нажатию на кнопку рядом с каждым статусом фолловера или друга можно будет читать всю ленту этого пользователя.
+35
Обзор нескольких новых плагинов jQuery
4 min
6.4KTranslation
Довольно часто я наступаю на одни и те же грабли. Стараясь выполнить какой-нибудь проект побыстрее, я с головой ухожу в реализацию необходимой функциональности. А через неделю, мне на глаза обязательно попадается описание библиотеки, фреймворка или плагина, воспользовавшись которыми, я мог бы выполнить свою часть работы в разы быстрее. В общем, сейчас я стараюсь быть в курсе готовых решений в интересующих меня областях. В последнее время мне часто приходится работать с javascript и поэтому, сейчас я уделяю особое внимание библиотеке jQuery и ее плагинам. Должен сказать, что упускать из виду такое разнообразие готовых решений просто нельзя. Данная статья сделана на основе обзора «50 Awesome New jQuery Plugins», который я прочитал пару дней назад.
+114
Как собрать Кубик Рубика 5х5х5 (часть 1)
8 min
41K
+214
Обработка Excel файлов с использованием Python
4 min
208K
По работе пришлось столкнуться с задачей обработки xls файлов средствами python. Немного по гуглив, я натолкнулся на несколько библиотек, с помощью которых можно работать с файлами excel.
+45
Пишем драйвер для USB девайса. Pipe 0: что такое usb?
3 min
24KСлучилось так, что пришлось мне писать с нуля драйвер для usb дисплея под windows. Имея возможность — расскажу о деталях столь занимательного процесса.

Итак, почему же шина usb так удобна, и что скрывает за собой слово Universal в расшифровке аббревиатуры.

USB – это simple
Несмотря на то, что написание драйверов считается достаточно трудным, в сравнении с прикладным программированием – и в этом низкоуровневом мире программисты не были обделены вниманием, большим шагом в упрощении создания драйверов стала разработка шины usb.Итак, почему же шина usb так удобна, и что скрывает за собой слово Universal в расшифровке аббревиатуры.
+73
Code Like a Pythonista: Idiomatic Python (part1)
9 min
26KTranslation

Это продолжение перевода статьи Дэвида Гуджера «Пиши код, как настоящий Питонист: идиоматика Python»
Начало и окончание перевода.
Спасибо всем хабраюзерам за оценки первой части, ценные замечания и положительные комментарии. Постарался учесть ошибки, снова жду конструктивного обсуждения.
+59
Несколько фишек для изучающих английский язык
1 min
48K1. Анонимные чаты: omegle.com, chatroulette.com
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm
Надеюсь каждый нашел для себя что-то полезное:)
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm
Надеюсь каждый нашел для себя что-то полезное:)
+152
Материалы продвинутого уровня по Питону
5 min
45K
После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.
К счастью, у Питона есть очень подробная и качественная документация. Но даже в ней многие темы либо только поверхностно затронуты, либо их очень сложно найти (потому что документация большая, и если не знаешь, куда смотреть, не найдешь).
Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.
+130
Знакомство с уровнями распараллеливания
5 min
40K
Распараллелить решение задачи можно на нескольких уровнях. Между этими уровнями нет четкой границы и конкретную технологию распараллеливания, бывает сложно отнести к одному из них. Приведенное здесь деление условно и служит, чтобы продемонстрировать разнообразие подходов к задаче распараллеливания.
+59
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity