Pull to refresh
183
0.4
Константин Власов @CaptainFlint

Разработчик

Send message

Превращаем Midnight Commander в консольный браузер для GIT

Reading time4 min
Views13K

Вместо предисловия...


Мне давно хотелось отсматривать код примерно как это сделано в meld, но только в консоли, и еще мне хотелось чтобы это все было увязано с системой управления версиями файлов GIT. В общем чтобы все делалось 1 кнопкой не выходя из mc.

Ydiff

Однажды у нас на канале (или это было на траке...) проявился некто Daniel Borca пошумел-пошумел и убежал, видимо не понравилась ему наша бюрократия, но зато оставил он после себя несколько сыроватых патчей, к готовившемуся релизу 4.7.0-pre1 миднайт коммандера. Один из них содержал в себе ydiff.[ch] и zdiff.[ch]… Как оказалось, то что я хотел получить, было давно уже реализовано в древнем форке mc-mp и в последней версии ru-fork. После 2-х дневного «перепиливания» я подключил функцию сравнения файлов к последней версии mc… Полдела было сделано. :)
Читать дальше →
Total votes 64: ↑58 and ↓6+52
Comments13

США: криптография — охота на ведьм началась?

Reading time4 min
Views4.5K

Как уже, наверное, известно всему уважаемому хабрасообществу, с некоторых пор администрация нынешнего президента США Барака Обамы взяла курс на закручивание гаек в сфере взаимодействий с неугодными правительству США странами: Куба, Иран, Сирия, Ливия, Судан и Северная Корея (иногда в этот список включают еще Ирак). Занимается этой задачей выпало незабавенному U.S. Department of Commerce, Bureau of Industry and Security — огранизации, как это известно по её прошлым деяниями, достаточно бюрократической и воспринимающей все приказы довольно прямолинейно.

События развивались стремительно: в середине января 2010 года вылилось это в то, что крупнейшие хостинги открытых проектов — такие, как SourceForge и Google Code получили «письма счастья» с настойчивыми рекомендациями прекратить доступ к программным проектам с открытыми исходниками, так как они могут содержать [цитирую]certain technology[/цитирую], которые запрещены к экспорту из США. Под этими «некоторыми технологиями» понимается криптография, причём на этот раз — вся.

SourceForge и Google Code подчинились, извинившись перед своими пользователями, но разведя руками — в конце концов — они обычные американские компании, мол, нам очень жалко, но we also live in the real world и вынуждены подчиняться законам.

Вчера, 7 февраля 2010 года, юристы SourceForge после пары недель баталий, выработали таки компромиссное решение, которое, безусловно, лучше, чем то, что было, но…
Что же придумали в SourceForge?
Total votes 127: ↑121 and ↓6+115
Comments198

Application Verifier для программиста: тестирование Windows-приложений

Reading time7 min
Views20K
Возможно в Вашем проекте и не пишут try { /* code */ } catch(...) { } для того чтобы избежать исключений при работе с памятью, умеют закрывать хендлы и знают о виртуализации Windows Vista, а программы никогда не падают по непонятным и редко повторяемым причинам.

Тогда Вам повезло, можете переходить к следующему топику.
Но если это не так...
Total votes 60: ↑55 and ↓5+50
Comments20

Шпаргалка по расшифровке имен видеофайлов

Reading time8 min
Views287K
Как то стало интересно что значат разные буковки/цифарки через точку в названиях видеофайлов.

Пост — результаты гугления, обобщения, структуризации и некоторой правки орфографии.
Возможно, кому то пригодится. Я, например, перестал связываться с TC.
Читать дальше →
Total votes 334: ↑273 and ↓61+212
Comments81

Подсветка синтаксиса в less

Reading time1 min
Views5.4K
Администраторы Unix-подобных ОС очень часто пишут командные сценарии для автоматизации выполнения рутинных задач, используя свой любимый тектовый редактор. Время от времени приходится открывать написанные однажды сценарии, чтобы что-то в них подсмотреть. Я это делаю с помощью less. С помощью последнего мне очень понравилось читать раскрашенные руководства и захотелось того же при обычном просмотре текста в консоли (shell-сценарий, html-документ и пр.).
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments6

Аналог Time Machine для Windows

Reading time3 min
Views23K
Time Machine Каждый из нас иногда теряет информацию. По своей ошибке (дрогнувшая рука, не вовремя нажатые клавиши CTRL+S), либо по неудачному стечению обстоятельств (выбило пробки, завис компьютер). Иногда речь идет о пустяках. Бывает, что приходится заново выполнять работу. В худшем же случае, ценная информация оказывается безвозвратно утеряна.

Все мы знаем, что необходимо периодически делать бэкапы. Знаем, но не делаем. А если и делаем, то, по закону подлости, когда надо, копия месячной давности — это лучшее, что удается найти. А ведь случается и так, что утерянный файл было создан всего лишь пару часов назад.
Когда я не мог определиться с темой диплома, один знакомый рассказал мне про TimeMachine от Apple и предложил сделать аналог для Windows. Непрерывная защита данных – это то, о чем я всегда подсознательно мечтал.
Читать дальше →
Total votes 131: ↑127 and ↓4+123
Comments110

Добавление скриптинга в программу с помощью Lua

Reading time6 min
Views20K

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

В этой статье, с помощью простой программы, я хочу показать пример встраивания Lua в ваш проект.

Примеров программ, которые используют Lua достаточно много. Далеко не полный список программ, использующих Lua, можно посмотреть здесь Lua Wiki и здесь Wikipedia
Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments120

Создание плагина для браузера с помощью NPAPI

Reading time6 min
Views25K
NPAPI это набор API, позволяющий создавать плагины для Firefox, Chrome, Safari, Opera. В этой статье я хочу дать первоначальные сведения о создании плагина на базе NPAPI. Будет приведен пример плагина под Windows, но и разработчикам на Mac и Unix статья будет полезной, т.к. описывает общий подход к созданию плагинов, использующих NPAPI.

NPAPI плагин это модуль, который «цепляется» к браузеру и отвечает за обработку определенного content type (например application/x-shockwave-flash).

О том как появился и менялся NPAPI вы можете прочитать на странице в Wikipedia
Полное описание API можно получить на странице Gecko_Plugin_API_Reference
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

Сверхплавное передвижение объектов

Reading time2 min
Views7K
Иногда у веб-разработчиков возникает задача, которая требует плавного движения объекта по экрану. Это может быть строка загрузки, какой-то спрайт (например, машинки на клавогонках) или что-то ещё. Проблема возникает, когда сдвиг даже на одну точку кажется слишком резким и портит общее ощущение от происходящего. Как этого избежать? Использовать приёмы антиалиасинга.

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

Как это сделано?
Читать дальше →
Total votes 217: ↑212 and ↓5+207
Comments103

Новая версия CMS/CMF MODx Evolution 1.0

Reading time2 min
Views2.9K
MODx Evolution 1.0
В то время, когда прекрасные представители человечества дружно бухали отмечали свой профессиональный праздник, в сообществе MODx произошло одно замечательное событие, а именно вышел долгожданный релиз (%username%, скачай, например!) за номером 1.0.

Демонстрационный сайт | Админка MODx

Логин: admin
Пароль: demo

Запасной аэродром: Демонстрационный сайт | Админка MODx

Логин: admin
Пароль: demo

Что такое MODx?


MODx — это свободная система управления сайтом и фреймворк для создания веб приложений c открытым исходным кодом под лицензией GPL. Система невероятно гибкая и легкая в освоении!
Что же там нового?
Total votes 63: ↑49 and ↓14+35
Comments96

Читаем руководства в цвете

Reading time1 min
Views1.7K
Учитывая, что День системного администратора только раз в году, а так хочется побольше ярких дней, давайте внесем немного цветов в серые будни доблесных бойцов невидимого фронта! :)

Раскрашиваем будни системного администратора...
Total votes 76: ↑68 and ↓8+60
Comments32

Самая маленькая игра в мире (58 байт)

Reading time3 min
Views53K
Для тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».

Прочитав историю одного байта, вспомнил свою историю.

Когда я учился в школе и только начинал программировать меня очень привлекал ассемблер и оптимизация. А именно — кропотливая оптимизация, с подсчетам тактов и байтов. На летних каникулах у меня с двоюродным братом появилась идея написать самую маленькую игру в мире.

Первый прототип, размером 80 байт, был готов на следующий день. (Поскольку о контроле версий тогда я даже не догадывался, то остается верить воспоминаниям). С этого момента началась моя борьба за байты. Помню, довольно быстро размер был уменьшен до 65 (или около того), дальше каждый байт давался все с большим и большим трудом. К концу лета результат был 58 байт.

Сюжет и управление


Вы несетесь по трассе на грузовике с двумя прицепами. Слева от вас разделительная полоса, справа обочина укрытая травой. На дороге встречаются люди и деревья (может ямы). Ваша задача: не сбивать людей и не врезаться в деревья (не попадать в ямы).
Управление: стрелки влево-вправо — поворот; Esc — пауза.

Скриншоты и код
Total votes 329: ↑326.5 and ↓2.5+324
Comments133

Спецификации протокола Scope

Reading time2 min
Views1.4K
Ни разу до этого не писал переводы, если есть замечания, пожалуйста, в хабрапочту.

Сегодня мы рады представить спецификации протокола Scope. Этот протокол используется для связи Оперы с отладчиком Dragonfly. Он также используется в компании Опера для автоматизированного тестирования браузера.
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments22

Расширенный сборник CSS-хаков

Reading time4 min
Views37K
Статья является расширенным сборником CSS-хаков в сравнении с аналогичной статьей.
Под хаком подразумевается метод, позволяющий воспринимать CSS только определенному браузеру.
Хаки могут использоваться не только для исправления багов в верстке, но и в случае использования определенных особенностей браузера для ускорения рендеринга web-страницы в нём (к примеру CSS3-свойства)

Подробности под катом
Total votes 116: ↑110 and ↓6+104
Comments77

Учебник по языку программирования Python (хабраиндекс)

Reading time1 min
Views313K

Серия статей «Основы Python»


I, Начало
II, Строки
III, Списки, кортежи, файлы
IV, Генераторы списков
V, Определение функций, основы
VI, Расширенное определение функций

Об основах языка Python в сжатой форме

Продвинутый уровень


Сила и красота декораторов Короткий экскурс в метапрограммирование.
Итерируем все и вся Специфика циклов в Питоне.
Как я учился работать с XML
Консервация объектов в Python Использование модуля Pickle.
Memoization в Python Оптимизация работы программ.
Простейшее рисование с помощью PIL
Regexp и Python: извлечение токенов из текста
Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

http://netsago.org/ru/docs/1/12/
Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

http://djbook.ru/
Учебник по Django (Python-фреймворк для веб-приложений)

Читать дальше →
Total votes 164: ↑161 and ↓3+158
Comments61

Превентивная защита ваших и не ваших скриптов

Reading time1 min
Views30K
Наверное не ошибусь если скажу, что очень большая часть мегахакерских_взломов основаны на закачке PHP-скрипта в каталог, доступный для записи в него файлов скриптами (0777, например). Это каталоги для заливки фотографий товаров, аватарок и т.п.

Я еще несколько лет назад «допер» до способа предотвратить на корню подобные вещи. Закачать — может и закачают, а воспользоваться не смогут. Это казалось очевидным все это время, но мало кто это реализовывает. К примеру, только в последнем патче популярного форума SMF была добавлена подобная штука.
Поэтому, для тех, кто не задумывался…

Всё просто. Во все каталоги, доступные для записи, закачиваем (или добавляем строчки к существующему) .htaccess с содержимым:

php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

Этим самым мы отключаем PHP в данном каталоге и заставляем все скрипты отображаться как HTML.
Это можно сделать просто на всякий случай. Лишним уж точно не будет.
Разумеется, только для Apache. Если кто-то знает как подобное реализовать в IIS — напишите. :)
Total votes 132: ↑100 and ↓32+68
Comments90
12 ...
7

Information

Rating
1,560-th
Location
Белград, Белград, Сербия
Registered
Activity

Specialization

Software Developer
Senior