Pull to refresh
2
0
Михаил @mixrin

User

Send message

Новая демопати на Пасху в Германии: REVISION 2011 (ex-Breakpoint)

Reading time2 min
Views820
Традиция делать крупную и настоящую (никаких геймеров!) демопати на Пасху в Германии продолжается! Breakpoint просуществовал 8 лет, и в последний раз прошёл в апреле прошлого года. Время двигаться дальше — REVISION 2011.

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

Встречайте: Германия, Саарбрюккен, 22-25 апреля 2011.

Подробнее под катом
Total votes 8: ↑7 and ↓1+6
Comments0

fheroes2 — Open Source движок Heroes of Might and Magic II

Reading time1 min
Views8.7K

free heroes2 — свободная версия движка Heroes of Might and Magic II. Написан с использованием SDL русским (вроде бы) программистом. Существуют порты на Windows, Linux, WM, WinCE, Dingoo a320, Cowon V5… ну почти везде. Все кто хочет узнать больше — под кат
Читать дальше →
Total votes 117: ↑110 and ↓7+103
Comments97

Как писать парсеры на JavaScript

Reading time10 min
Views110K
… а именно как писать LL парсеры для не очень сложных структур при помощи конструирования сложного парсера из более простых. Изредка возникает необходимость распарсить что то несложное, скажем некую XML-подобную структуру или какой нибудь data URL, и тогда обычно возникает либо простыня хитрого трудно читаемого кода либо зависимость от какой то ещё более сложной и хитрой библиотеки для парсинга. Здесь я собираюсь совместить несколько известных идей (какие то из них попадались на Хабре) и показать как можно просто и лаконично написать довольно сложные парсеры уложившись при этом в совсем немного строчек кода. Для примера я буду писать парсер XML-подобной структуры. И да, я не буду вставлять сюда картинку для привлечения внимания. В статье вообще картинок нет, поэтому читать будет трудно.

Читать дальше →
Total votes 60: ↑56 and ↓4+52
Comments53

Приложения из Магазина Windows, которые я использую каждый день, часть 2

Reading time7 min
Views14K
справочное руководство по лучшим приложениям

Это вторая часть моей рекомендации по приложениям из Магазина Windows. Я рекомендую ознакомиться с первой частью, в которой было рассмотрено более 50 приложений доступных для установки. В первой части были рассмотрены самые популярные приложения для работы с социальными сетями, приложения поставляемые Microsoft, новостные приложения и приложения для работы с медиа.

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

OneNote


image

OneNote – без сомнений лучший на сегодня электронный блокнот для Windows 8. Синхронизация с облаком, поддержка перьевого ввода, уникальное для Windows 8 радиальное меню с элементами управления. Крайне рекомендую.
Читать дальше →
Total votes 71: ↑35 and ↓36-1
Comments35

LISP-интерпретатор на чистом C

Reading time21 min
Views19K
Я люблю язык C за его простоту и эффективность. Тем не менее, его нельзя назвать гибким и расширяемым. Есть другой простой язык, обладающий беспрецедентной гибкостью и расширяемостью, но проигрывающий C в эффективности использования ресурсов. Я имею в виду LISP. Оба языка использовались для системного программирования и имеют давнюю и славную историю.

Уже достаточно долго я размышляю над идеей, объединяющей подходы обоих этих языков. Её суть заключается в реализации языка программирования на основе LISP, решающего те же задачи, что и C: обеспечение высокой степени контроля над оборудованием (включая низкоуровневый доступ к памяти). На практике это будет система LISP-макросов, генерирующая бинарный код. Возможности LISP для препроцессирования исходного кода, как мне кажется, обеспечат небывалую гибкость, в сравнении с препроцессором C или шаблонами C++, при сохранении исходной простоты языка. Это даст возможность на базе такого DSL надстраивать новые расширения, повышающие скорость и удобство разработки. В частности, на этом языке может реализовываться и сама LISP-система.

Написание компилятора требуют наличие кодогенератора, а в конечном итоге — ассемблера. Поэтому практические изыскания стоит начинать с реализации ассемблера (для подмножества инструкций целевого процессора). Мне было интересно минимизировать какие-либо зависимости от конкретных технологий, языков программирования и операционной системы. Поэтому я решил с нуля реализовать на C простейший интерпретатор импровизированного LISP-диалекта, а также написать к нему систему макрорасширений, позволяющих удобно кодировать на подмножестве ассемблера x86. Венцом моих усилий должен стать результирующий загрузочный образ, выводящий «Hello world!» в реальном режиме процессора.

На текущий момент мною реализован работающий интерпретатор (файл int.c, около 900 строк C-кода), а также набор базовых функций и макросов (файл lib.l, около 100 строк LISP-кода). Кому интересны принципы выполнения LISP-кода, а также подробности реализации интерпретатора, прошу под кат.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments25

UICloud: Самая большая база пользовательских интерфейсов

Reading time1 min
Views34K


UICloud — это база бесплатных пользовательских интерфейсов с поисковой системой, рейтингом и каталогизатором в которой собрано все от исходников в формате PSD, до готовых решений на HTML, CSS или jQuery: формы, слайдеры, кнопки, календари, элементы и полноценные интерфейсы для мобильных и веб приложений. В проекте уже сейчас можно найти практически все что нужно для облегчения процесса разработки дизайнерам и разработчикам.

На данный момент в базе 23586 элементов и почти тысяча UI-сэтов включающие в себя готовые решения в едином стиле. Проект создан Британской студией Double-J Design целью проекта является создание самой обширной UI базы.
Total votes 163: ↑161 and ↓2+159
Comments40

Ключевое слово this в javascript — учимся определять контекст на практике

Reading time4 min
Views182K
По просьбам некоторых читателей решил написать топик про контекст в javascript. Новички javascript часто не понимают значение ключевого слова this в javascript. Данный топик будет интересен не только новичкам, а также тем, кто просто хочет освежить данный аспект в памяти. Посмотрите пример ниже. Если вы затрудняетесь ответить на вопрос «что будет выведено в логе» хотя бы в одном из пунктов или хотите просто посмотреть ответы — добро пожаловать под кат.

var f = function() {
    this.x = 5;
    (function() {
        this.x = 3;
    })();
    console.log(this.x);
};

var obj = {x: 4, m: function() {
    console.log(this.x);
}};


f();
new f();
obj.m();
new obj.m();
f.call(f);
obj.m.call(f);

Читать дальше →
Total votes 111: ↑108 and ↓3+105
Comments122

Монады с точки зрения теории категорий

Reading time9 min
Views34K

Введение

Кажется, монады в программировании стали загадкой века. И для этого есть две причины:
  • недостаточное знание теории категорий;
  • многие авторы стараюстся не упоминать категории вообще.
Это как говорить об электричестве не используя мат. анализ. Достаточно для замены предохранителя, не хватит, чтобы спроектировать усилитель.

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

Я уверен, что монады с точки зрения категорий почти элементарны.

Содержание

  1. Категория
  2. Функтор
  3. Естественное преобразование
  4. Монада
  5. Монады исключения и состояния
  6. Монады в программировании
  7. Ссылки
Читать дальше →
Total votes 126: ↑105 and ↓21+84
Comments150

Yet another cool story about bash prompt

Reading time10 min
Views37K
Я программист. По крайней мере так написано в трудовой книжке. Почти всё своё рабочее время я провожу в консоли и текстовом редакторе. Мне очень нравится bash. Почти год я жил в zsh, прислушавшись к советам своих многочисленных коллег и знакомых, но в итоге я вернулся в bash и ни капельки об этом не жалею.



Zsh красив, приятен, чертовски функционален, но, признаюсь честно, я не смог совладать со всеми его многочисленными настройками. Я хочу работать, а не бороться со своим рабочим окружением. Простой пример: пару раз из-за автодополнения zsh я удалял все директории и файлы в текущей директории — zsh просто ставил пробел между автодополненной директорией и введённой мною звёзочкой (я хотел удалить всё в выбранной папке). Помните тот эпичный баг с пробелом и удалении директории /usr? У меня было то же самое. Спасибо гиту, выручил в который раз.

Впрочем, дело не в zsh — будь я чуточку умнее, я бы с ним обязательно справился бы, и всё было бы хорошо, но мы, суровые программисты, будем использовать bash и vim, а гламурные zsh и textmate оставим хипстерам и прочим модникам ;)

Я не напишу ничего оригинального и универсального решения я не приведу, но мне всегда нравилось читать конфиги и описания других людей, а если к ним были приложены интересные картинки, так я вообще перечитывал эти статьи несколько раз. Надеюсь, вам тоже будет интересно.
Читать дальше →
Total votes 175: ↑166 and ↓9+157
Comments143

Вышел бесплатный профессиональный видеоредактор Lightworks

Reading time3 min
Views101K
“Бэтмен навсегда”, “Остров проклятых”, “Отступники”, “Король говорит”, “Авиатор”, “Карты, деньги, два ствола”, “Криминальное чтиво” — это далеко не полный список фильмов, смонтированных с помощью Lightworks за его более чем двадцатилетнюю историю. С 1989 года Lightworks сменил несколько владельцев, пока в 2009 его не приобрела компания EditShare — производитель систем хранения видео для ТВ и киностудий. Новые хозяева решили порвать с традицией продавать подобный софт за тысячи долларов, и теперь профессиональная версия Lightworks стоит 60$, а базовая — бесплатна. Причём эта “базовая” версия мало чем отличается от платной и не уступит многим профессиональным версиям других редакторов. Но и это ещё не всё — EditShare собирается в ближайшем будущем выпустить версии для Linux и Mac (именно в таком порядке) и открыть исходники.


Читать дальше →
Total votes 165: ↑160 and ↓5+155
Comments112

Раскрытие IP-адреса пользователя Skype

Reading time1 min
Views88K


Деанонимизация скайп-пользователя по его skypename через нахождение его реального IP-адреса

1. Качаем отсюда пропатченный скайп версии 5.5:
http://skype-open-source.blogspot.com/2012/03/skype55-deobfuscated-released.html

2. Включаем создание файла с дешифрованным debug логом. Для этого добавляем нескольких ключей в реестр.
https://github.com/skypeopensource/skypeopensource/wiki/skype-3.x-4.x-5.x-enable-logging

3. Выбираем функцию добавить скайп контакт, но не добавляем, а только кликаем на него, чтобы посмотреть vcard. Этого будет достаточно.
Читать дальше →
Total votes 172: ↑140 and ↓32+108
Comments77

Nvidia для профессиональных 3D приложений

Reading time6 min
Views179K
Пол года назад я искал себе видеокарту, на которой я смог бы заниматься 3d моделированием, и рендерингом на GPU. В связи с появлением на рынке большого числе рендеров на CUDA мне не терпелось приобрести видеокарту с поддержкой CUDA, а именно Nvidia.

Как некоторые уже знают, Nvidia выставляет на продажу видеокарты нескольких моделей Geforce, Quadro, Tesla, ION, Tegra. В этом коротком сравнении упустим ION и Tegra, т.к. предназначены для мобильных устройств и слабые по производительности.

Нам нужна мощь!

Nvidia power...

Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments35

Erlang. Рекомендации к оформлению кода

Reading time19 min
Views5.1K
Не так давно, в команду пришлось приглашать нового программиста и знакомить его с Erlang. Для ускорения процесса обучения я решил перевести уже давно лежавший у меня материал Erlang Programming Rules and Conventions. Чем в принципе и хочу поделиться с хабровчанами. Надеюсь что он будет полезен тем, кто собирается изучать или уже использует этот замечательный язык. Сразу скажу, что перевод вольный, так что не критикуйте сильно.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments26

На язык Ruby появился стандарт ISO

Reading time1 min
Views1.9K
После четырех лет разработки, 31 марта этого года по результатам голосования (пресс-релиз на японском) был принят стандарт ISO/IEC 30170 на язык Ruby.

Стандарт имеет статус 60.00, что по классификации ISO означает «в публикации».
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments16

Последний год в ИТМО или пишем диплом на факультете ИТиП

Reading time15 min
Views43K
Приветствую хабрасообщество!
В начале прошлого лета, когда пришла пора думать о написании диплома, я прошуршал весь рунет на тему тонкостей и особенностей этого процесса не то, что бы на нашей кафедре, а хотя бы на моём факультете. Не нашлось ничего.
Обычный для большинства универов способ передачи этой информации – от старших товарищей к младшим и далее между младшими. В случае нашего потока горизонтальные и вертикальные связи оказались нарушены настолько, что большинство работало “в слепую”.

Пройдя данный путь до конца, я бы хотел облегчить его тем, кто пойдёт следом и подробно рассказать как это было у нас, на специальности Информационные системы и технологии (230201) кафедры ИС факультета ИТиП СПбГУ ИТМО.
Читать дальше →
Total votes 88: ↑54 and ↓34+20
Comments63

Оформление изображений на CSS3. Часть 2

Reading time2 min
Views4.4K
В предыдущей статье про оформление изображений была затронута тема создания у картинок идеально закругленных углов, строгих теней и других графических «фишек» с помощью свойств box-shadow, border-radius и transition. Т.к. эти свойства обрабатываются некоторыми браузерами некорректно, проблема кроссбраузерности была решена обёртыванием изображения в контейнер, где оно (изображение) используется в качестве фона.

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

К счастью, обходной путь был успешно найден. О нем и будет рассказано в статье.

Читать дальше →
Total votes 65: ↑57 and ↓8+49
Comments34

Уязвимость в sudo

Reading time1 min
Views2.3K
Наверное все заинтересованные лица подписаны на соответсвующие рассылки и нет смысла превращать блог в security-notifications, но тем не менее, уязвимость в sudo 1.8.0 — 1.8.3p1 потенциально позволяет выполнить от рута команду любому локальному пользователю, способному запустить sudo. CVE-2012-0809
Во FreeBSD уже пропатчились, линупсы пока спят, а в случае стабильных веток им всё равно — ветка sudo 1.7 уязвимости не подвержена.

Ошибка кроется в передаче vfprintf argv[0] в функции отладочного вывода.
С помощью ключа компиляции FORTIFY_SOURCE можно усложнить эксплуатацию бага, без него эксплоит совсем простой.
Оригинальное описание.
Total votes 55: ↑49 and ↓6+43
Comments21

CSS 3D эффекты

Reading time2 min
Views14K

Стивен Виттенс переработал свой сайт Acko.net. Виттенс применил 3D функции CSS 3 и небольшую часть JavaScript для создания ошеломляющего 3D заголовка страницы.

Чтобы увидеть 3D в действии вам надо использовать браузер WebKit (Safari или Chrome) т.к. пока только они поддерживают CSS 3D эффекты. В других браузерах, которые еще не поддерживают 3D эффекты сайт все равно нормально просматривается. Чтобы увидеть полный 3D эффект обязательно прокрутите страницу.

Виттенс в своем блоге подробно написал как он создал 3D эффекты и даже сделал 3D редактор, с которым вы можете поиграть.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments49

О регистрации на сайтах

Reading time6 min
Views75K
Мы часто выполняем на многих сайтах действие, которое постоянно эволюционирует и улучшается (а иногда наоборот). Это регистрация. Именно о разных способах и особенностях регистраций на сайтах я бы хотел с вами поговорить. Это не громоздкое исследование, а просто небольшие и (надеюсь) полезные выдержки из моего опыта дизайнера интерфейсов.


Пример удачной регистрации на сайте Tumblr.

Начну с определения самого понятия «регистрация», с ним всё не так просто, как может казаться. В результате полевых исследований нашей компании оказалось, что разные люди (клиенты, посетители и мы сами) нередко воспринимают это слово по-разному. Для того, чтобы избежать непонимания, опишу то, как я сам вижу регистрацию.
Читать дальше →
Total votes 166: ↑144 and ↓22+122
Comments97
1

Information

Rating
Does not participate
Location
Россия
Registered
Activity