Pull to refresh
43
0
Александр Вольф @alexwolf

User

Send message

Разработка дополнений только что стала проще

Reading time3 min
Views4.1K
[Developer Hub Logo]С превеликой радостью объявляем, что мы только что запустили Add-on Developer Hub (beta) — всеобъемлющий сборник сведений, где разработчики дополнений могут выяснить, зачем они пожелали бы изготовить дополнение, и как делают дополнения, и управлять списками своих дополнений.

Читать дальше →

Маленький помощник для менеджмента своего рабочего времени

Reading time1 min
Views794
Не у всех на работе есть хороший и качественный тайм трекер, которым удобно и приятно пользоваться. Врожденная лень, подкрепленная неудобством, отодвигает момент заполнения отработанного времени чуть ли не на следующую неделю. И вот сидит такой задумчивый программист, отчаянно пытаясь вспомнить — а что же он делал ровно неделю назад? В который раз занимаясь подобным времякопанием, в голову пришла мысль сделать простенький бумажный тайм- и таск-трекер.

Превью:
image

На часиках отмечаем время приходов-уходов, в записных полях пишем, что делали.

Скачать .docx
Скачать .png
Скачать .pdf от Ogra
Скачать .pdf от enjoint
Скачать .odt от enjoint

Краткая, неполная и вымышленная история языков программирования

Reading time4 min
Views4.5K
1801 — Иосиф Мария Жаккард с помощью перфокарт вышивает «hello world» на ткани. Хабровчане тех времен недовольны отсутствием хвостовой рекурсии, многопоточности и заглавных букв.

1842 — Ада Лавлейс пишет первую программу. Её успехам препятствует маленькая проблемка — компьютера для исполнения этой программы ещё не изобрели. Через полтора века архитекторы корпоративных приложений переймут технику Ады по написанию неисполняемых программ и назовут этот метод UML.
Что случилось дальше?

Некоторые аспекты жизни и чтения с PocketBook (прошел год: недостатки, достоинства, патч 12r7)

Reading time3 min
Views937
Я счастливый владелец PocketBook 301. Я считаю ее самой лучшей книгой всех времен и народов. Что меня больше всего в ней радует?

image

— e-Ink второго поколения, достаточно контрастный, без остаточных следов предыдущей страницы. Вы смотрите не на LCD, а на реальные физические объекты — черно-белые шарики. Это очень важно для сохранности глаз.
— прямая (без конвертации) поддержка всех естественных форматов, txt, html, rtf, fb2, zip, pdf, djvu, jpg, mp3
— отсутствие проприетарных дров и программ, следствие — поддержка под любой ОС без установки ПО. Можно закачать книги в Linux, MacOs, Windows, на любом своем или чужом компьюетере. Или прямо в книгу сохранять из броузера
Читать дальше →

Быстрый доступ к оснасткам Windows

Reading time2 min
Views37K
Вводить в диалоге «Выполнить» (Win+R) или в поисковой строке Пуска (начиная с Vista, работает не для всего). Для домашних версий ОС некоторые оснастки могут отсутствовать.

ncpa.cpl — сетевые подключения. Всегда раздражало, что в Vista нет прямого доступа к сетевым подключениям, а смотреть свойства и включать/выключать сетевые интерфейсы надо. Для Windows 7 это менее актуально — там сеть как-то ближе.

compmgmt.msc — управление компьютером. Я часто захожу туда, чтобы посмотреть что расшарено, как размечены диски, чтобы остановить или перезапустить какой-либо сервис. Там же список устройств подключенных к компьютеру.

secpol.msc — политики безопасности. В WinXP SP2, помню, только там можно было поставить флаг чтобы компьютер мог быть перечислен в любом сетевом окружении. Для Vista более интересен флаг, который позволяет убрать UAC для админов. Если ты под админом, то не нужно постоянно подтверждать каждое свое действие. В Windows 7 по умолчанию настройки таковы, что изменения системных предпочтений не приводит к появлению окна UAC. Что сильно уменьшает желание его отломать =)

control userpasswords2 — хранящиеся в системе пароли. Здесь можно обнулить запомненный пароль. Более интересный вариант — возможность зайти в другую системы под другим аккаунтом. А то зайдешь на расшареное на другом компьютере, потом настройки безопасности перетрясешь — а стучишься по-умолчанию со старыми учетными данными.

msconfig — перечисление запускаемых при старте ОС программ. ИМХО лучше использовать Autoruns от SysInternals, но когда их нет, msconfig тоже может помочь отключить всякую гадость, которая тормозит старт системы.

rundll32.exe sysdm.cpl, EditEnvironmentVariables — переменные окружения. Да, запомнить невозможно. Но один раз введя в диалог выполнить, можно потом вызывать из истории команд.

Дерево категорий с чекбоксами на JQuery

Reading time2 min
Views1.8K

Begin



Делаем каталог. Понадобилось сделать дерево категорий товара/фирм/услуг с бесконечной вложенностью. Каждую категорию можно отметить чекбоксом, чтобы потом можно было получить список/массив всех отмеченных категорий (например для поиска по ним).

Написал такое вот деревце. Реализовал в виде плагина к любимому JQuery )

Что умеет:


  • Если указан пустой див — загружает из указанного скрипта все категории, и подкатегории(вложенные ul, если li имеет класс folder и не имеет вложенного списка(ul) — дерево будет автоматом подгружать этот список из указанного скрипта с указанной глубиной рекурсии(это забота скрипта выдавать запрашиваемые данные с требуемыми параметрами).
  • Если указан готовый список — то можно сворачивать/разворачивать подкатегории, отмечать нужные, которые будут подсвечены заданным классом
  • Получать выбранные номера категорий (value чекбоксов) в массиве
  • Возможность поиска по всем загруженным веткам дерева, вывод результата поиска в указанный див(указывается див для поиска, в котором строка для ввода запроса + див(пустой) для вывода результатов)
  • Число результатов поиска можно ограничить (в параметрах)
  • При клике на одном из найденных результатов — дерево открывается чтобы отобразить заданную ветку и она подсвечивается классом(указывается в параметрах)
  • Можно задать чтобы при клике на родительской категории — внутренние также выделялись
  • Можно задать сообщение которое выдается при попытке выделить лишний чекбокс если число их ограничено.


Вроде ничего не забыл )

Параметры:
Читать дальше →

Дональд Кнут

Reading time8 min
Views50K
image

Дональд Эрвин Кнут — американский учёный, почётный профессор Стэнфордского университета и нескольких других университетов в разных странах, преподаватель и идеолог программирования, автор 19 монографий (в том числе ряда классических книг по программированию) и более 160 статей, разработчик нескольких известных программных технологий. Автор всемирно известной серии книг, посвящённой основным алгоритмам и методам вычислительной математики, а также создатель настольных издательских систем TEX и METAFONT, предназначенных для набора и вёрстки книг, посвящённых технической тематике (в первую очередь — физико-математических).
Читать дальше →

Galaxy Watch — звездное небо на стене спальни

Reading time1 min
Views2K
image

Эти часы придумал китайский дизайнер Кай Ю (Kai Yu) и называются они Галактика. Большая звезда показывает часы, маленькая – минуты. На подложке тускло мерцает еще сотня светодиодных лампочек, формируя картину «реального» звездного неба. Разумеется, лучше всего такие часы будут выглядеть ночью.
Читать дальше →

Проверка вхождения IP адреса в подсеть

Reading time1 min
Views1.7K
В Интернете множество решений данной проблемы, я тоже искал его, но решения мне не нравились своей не производительностью. В языке Perl есть пакет Net::Patricia, который очень эффективно решает данную проблему, метод основан на Patricia Tree.

Установить данный пакет можно через CPAN

perl -MCPAN -e shell
install Net::Patricia

После установки использовать данный пакет можно следующий образом:

#!/usr/bin/perl -w
use Net::Patricia;
# IP tools
my $pt = new Net::Patricia;
$pt->add_string('212.44.12.0/24');
if(defined($pt->match_string('212.44.12.3'))){
print "IN\n";
}else{
print "OUT\n";
}

Версионность данных в MySQL

Reading time3 min
Views2.2K
В 1С есть очень полезная фича — периодические реквизиты, с помощью них можно хранить не только значение, но и всю историю его изменения. Например, если мы храним значение курса бакса по отношению к рублю, то хранится не только актуальное значение, но и значение за вчера, позавчера и т.д.(период хранения может быть любой). В MySQL, к сожалению, такой фичи нет(наверное и не надо). Значит сделаем сами ;).
Читать дальше →

Perl & MS Excel

Reading time1 min
Views1.7K
Возникла необходимость создания красивых отчетов в MS Excel? Так сделаем это с помощью языка perl! :)

Итак, приступим:

use OLE; // используем модуль Win32::OLE
my $excel = CreateObject OLE 'Excel.Application' or die $!; // открываем Excel
$excel->{'Visible'} = 1; // советую Excel делать видимым, чтобы он не висел мертвым грузом в фоне, если вдруг случится косяк
my $workbook = $excel -> Workbooks -> Add(); // создаем новый документ
$workbook -> ActiveSheet -> Range("A1")-> {'Value'} = sprintf("Тест"); // заносим в ячейку A1 значение «Тест»
$workbook -> ActiveSheet -> Columns -> AutoFit; // очень полезная вещь – выравнивание ширины всех столбцов по содержимому
$workbook -> SaveAs("$file"); // сохраняем документ
$workbook -> ActiveSheet -> PrintOut; // если надо - распечатываем
$excel -> Quit; // закрываем Excel


Вуаля!

Ну и некоторые полезняшки напоследок:

$workbook -> ActiveSheet -> Range("A1")-> Font -> {FontStyle} = 'Bold'; // устанавливаем жирный шрифт в ячейке
$workbook -> ActiveSheet -> Range("A1")-> {HorizontalAlignment} = 3; // равнение в ячейке – по центру
$workbook -> ActiveSheet -> Range("A1")-> Borders -> {LineStyle} = 1; // рисуем границы ячейки
$workbook -> ActiveSheet -> Range("A1")-> Interior -> {ColorIndex} = 15; // делаем серую заливку ячейки
$workbook -> ActiveSheet -> Range("A1")-> EntireRow -> Delete; // удаляем строку с данной ячейкой
$workbook -> ActiveSheet -> Range("A1:A10") -> Merge; // объединяем ячейки

Создание палитры

Reading time1 min
Views2.8K
imageОнлайн инструмент для создания цветовых схем. Есть 6 вариантов подборки цветов, возможность корректировки яркости контрастности отобранных цветов или выбор из имеющихся вариантов (темное / светлое и т. п.), возможность просмотреть шестнадцатеричные коды основного цвета и дополнительных, есть функция предпросмотра «сайта» с выбраными цветами со светлым / темным фоном, симуляция различных нарушений восприятия цветов людьми, рандомайзер, а так же API для интеграции с вашим сайтом. www.colorschemedesigner.com
Читать дальше →

Как создать идеал? Продолжение

Reading time1 min
Views2.2K
Да, мы действительно понимаем, что идеал женщины создать невозможно. Но мы и не ставили такой цели, мы создавали визуальный образ «совершенной программы — Аскина». И коль на хабре пошло такое живое обсуждение и тема уже на 3-ем месте в top 30 — мы, специально для вас, попробовали различные варианты Аскины.

image

под катом еще 3 картинки

Как создать идеал?

Reading time4 min
Views19K
В далеком 2007 году, мы, агентство «Shiloff Group», занимались ребрендингом группы компаний «АСК». В комплекс работ входило все: начиная от маркетинга и фирменного стиля, заканчивая наружной и медийной рекламой, ну и, разумеется, сайтом. Для придания уникальности этому сайту мы решили создать идеальную девушку.

image

Под катом 1.4 МБ картинок, будъте бдительны!
Как мы это сделали?

Удобочитаемость веб страниц от Arc90

Reading time1 min
Views1.4K
За таким неуклюжим словом, как удобочитаемость (Readability), скрывается очень элегантная и достаточно эффективная разработка нью-йоркской компании Arc90.

Ребята сделали крайне простую, но от того не менее полезную вещь, а именно: Readabilityбукмарклет (маленькая JavaScript-программа, оформленная как URL и сохраняемая как закладка браузера) или, как они сами говорят, закладка на стероидах, которая избавляет веб-страницу от рекламного мусора и позволяет настраивать текст по вашему вкусу.

Частенько, чтобы нормально прочесть страницу, нам приходится жать Print view. Теперь же достаточно единожды настроить предпочитаемое форматирование текста и добавить Readability в закладки. После этого достаточно, находясь на странице, нажать на закладку, чтобы содержимое страницы преобразовалось волшебным образом, так что даже разухабистый udaff.com, станет возможным читать, не привлекая лишнего внимания.

Before Readbility

After Readbility

Сами создатели вполне доходчиво объясняют идею своего эксперимента. Несмотря на то, что видео на английском языке, понять суть несложно.


Readability: An Arc90 Lab Experiment from Arc90 on Vimeo.

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

Для разработчиков открыт и код.

Изменить этот мир к лучшему — в наших с вами силах!

svn diff notification

Reading time1 min
Views603
Быстрый трюк для получения уведомлений об изменении в svn
Потребовалось получать уведомления об изменениях в svn.
В svn есть возможность настраивать различные hook'и на различные action'ы.
Простой пример получения уведомлений по e-mail(можно использовать команду mail, но в условиях задачи ее не было, так же не было sendmail и прочего. Вообщем можно сделать как угодно, но это самый простой вариант, который подходил под условия задачи).

#!/usr/bin/perl -w
use Net::SMTP_auth;

my $repos=$ARGV[0];
my $rev=$ARGV[1];
my $change_data=`/usr/local/bin/svnlook diff -r $rev /home/svn/masterpanel/`;

$smtp = Net::SMTP_auth->new('smtp.example.com');
$smtp->auth('CRAM-MD5', 'some_login', 'some_pass');

$smtp->mail('svn@example.ru');
$smtp->to('masters@example.com');

$smtp->data();
$smtp->datasend("Subject: svn.example.com\n");
$smtp->datasend('From: svn@example.com');
$smtp->datasend("\n");
$smtp->datasend("$repos\n");
$smtp->datasend("$rev\n");
$smtp->datasend("$change_data\n");
$smtp->dataend();

$smtp->quit;


Теперь этот скриптик необходимо поместить в /home/svn/masterpanel/hooks/post-commit
Дать ему права на выполнения для пользователя владельца.

YouTube EDU — обучающие видеоматериалы из колледжей и университетов

Reading time1 min
Views3.6K


26 марта 2009 года на youtube открыли раздел YouTube EDU, в котором собраны лучшие обучающие видеоматериалы (в основном — лекции и обучающие материалы из колледжей и университетов).

Среди лидеров просмотров: MIT, Stanford University, индийские универститеты.

Представлены целые курсы в виде плей-листов: курс линейной алгебры, введение в биологию, принципы цифровых коммуникаций и многие другие.

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

Upd. Еще один подобный ресурс — academicearth.org (Женя Теплов, спасибо!)
Upd2. University of Washington, Engineering & Computer Science (YasonBy, спасибо!)

Получение ISBN номера из книги в формате PDF

Reading time1 min
Views4.3K
Написал небольшой скриптик, который ищет в PDF книге ее ISBN номер. Скрипт написан на Python с использованием небольшой библиотеки для работы с ISBN.

По умолчанию поиск производится среди первых 10 страниц.

Библиотека доступна по адресу: www.staff.ncl.ac.uk/d.j.wilkinson/software/isbn.py

Скрипт доступен по адресу: pastebin.com/f7d5c3e90

Вывод выглядит так:

$ ./get-isbn.py test.pdf
ISBN-13: ['978-1-59059-585-5']
ISBN-10: ['1-59059-585-8']

Почему POST превращается в GET

Reading time1 min
Views6.6K
Долго пытался понять, почему следующий код при нажатии на кнопку дает запрос методом GET, хотя явно указан POST.

<html>
<head>
</head>
<body>
<form method="POST" action="http://myhost/mydir">
<input type="submit" value="→" />
</form>
<? echo $_SERVER['REQUEST_METHOD'] ?>
</body>
</html>


* This source code was highlighted with Source Code Highlighter.


Оказывается, Апач при POST-запросе на URL папки без конечного слеша, перенаправляет на URL со слешем и при этом запрос трансформируется в GET. Если же слеш поставить, то эффект пропадает.

Вывод: В action формы ставьте всегда слеш в конце URL папки, а лучше используйте URL файла.

UPD: Как подсказывает Nikita, эта особенность (перенаправление на URL с слешем в конце) управляется в apache 2.2 директивой DirectorySlash, она по умолчанию включена и отключать ее не рекомендуют.

UPD2: Получается такая схема
1. Мы посылаем POST на mysite/mydir
2. Сервер отвечает нам 301 на mysite/mydir/ (почему это правильно, описано в документации к Апачу)
3. Браузер делает GET без параметров на mysite/mydir/ (так и надо делать, это описано в RFC 2616)

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

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity