Как стать автором
Обновить
172
Eugene @hardexread⁠-⁠only

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

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

Разминка для шеи в терминале

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



Код и инструкция по установке

P.S. после небольшого допиливания можно заменить любую другую утилиту.
Всего голосов 67: ↑61 и ↓6+55
Комментарии16

Мой инструмент для тайм-трекинга и выписывания инвойсов

Время на прочтение1 мин
Количество просмотров64K
Привет! В честь наступающего понедельника я хочу поделиться инструментом для трекинга рабочего времени, который я сам написал и которым сам пользуюсь. Как фрилансер, я работаю по почасовой оплате и для меня важно:
  • учитывать затраченное по задачам время
  • выписывать заказчикам инвойсы

Под влиянием симптома NIH я написал самый лучший в мире тайм-трекер :)

Читать дальше →
Всего голосов 61: ↑55 и ↓6+49
Комментарии48

Веб-интерфейс для кофеварки на Ajenti через HTCPCP

Время на прочтение5 мин
Количество просмотров19K
Надоело бегать за кофе и жать кнопки на кофеварке? Сделай к ней веб-интерфейс!




Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии10

PyFence: верификация типов для Python

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


PyFence — самопальная утилита-библиотека, которая позволяет следить за соответствием типов во время отладки вашего проекта. PyFence берет информацию о типах из docstring'ов функций в стандартном формате Sphinx. То есть, если у вас уже есть документация, больше ничего делать для использования PyFence не нужно!

Например, возьмем следующий класс:
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии18

ExConsole — экстренная консоль для Python

Время на прочтение1 мин
Количество просмотров4.9K
Пост обещает быть сверхкратким.

ExConsole позволяет встроить интерактивную консоль-отладчик в Python-приложение. Консоль вызывается при фатальном исключении либо по приему SIGQUIT (он же Ctrl-\).

Пример использования:

import exconsole
exconsole.register()

do_dangerous_stuff()


Пример работы с консолью:

Activating emergency console
----------------------------
Caused by:
ZeroDivisionError
integer division or modulo by zero

Stack frames:
  [  0] example.py:17

  [  1] example.py:15
              Tester().test()
  [  2] example.py:9
                  self.inner()
  [  3] example.py:6
                  self.divide(2, 0)
> [  4] example.py:3
                  return a / b
On frame 4
Source:
           def divide(self, a, b):
    >>         return a / b

Press Ctrl-D to leave console
Type "_help()"" for built-in commands

>>> print a,b
2 0
>>> _f(3)
On frame 3
Source:
           def inner(self):
    >>         self.divide(2, 0)

>>> print self
<__main__.Tester instance at 0x7f67c9a0e440>


Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии9

Красивые трейсбеки в Python

Время на прочтение1 мин
Количество просмотров21K
Как часто вам присылают подобные отчеты об ошибке?

Traceback (most recent call last):
...
  File "...", line ..., in ...
    process(lst[index])
IndexError: list index out of range


Ох, если бы только узнать значение lst и index на тот момент...

python-catcher — автоматическая генерация HTML-трейсбеков с локальными переменными и исходниками, + загрузка в интернет — пользуйтесь на здоровье.



Читать дальше →
Всего голосов 94: ↑89 и ↓5+84
Комментарии21

Редактирование конфигов в Python

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


Вам когда-нибудь приходилось парсить и программно вносить изменения в чужие конфигурационные файлы? А в файлы с ненормальными форматами вроде того, что у NSD или BIND9? А если формат предусматривает переносы строк, смысловые отступы и сохранение комментариев, задача быстро покидает категорию тривиальных.

Вот почему я делюсь с вами библиотекой python-reconfigure.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии32

Имитируем адаптацию глаза к темноте в 3D, или HDR для чайников

Время на прочтение4 мин
Количество просмотров42K
Всем знаком эффект временной слепоты, когда вы входите в темное помещение из светлого.  Согласно распространенному заблуждению, чувствительность зрения регулируется размером зрачка. На самом деле, изменение площади зрачка регулирует количество поступающего света всего лишь в 25 раз, а основную роль в адаптации играют сами клетки сетчатки.

title

Для имитации этого эффекта в играх используется механизм, называемый tonemapping.

tonemapping — процесс проекции всего бесконечного интервала яркостей (HDR, high dynamic range, от 0 и до бесконечности) на конечный интервал восприятия глаза/камеры/монитора (LDR, low dynamic range, ограничен с обоих сторон).

Для того, чтобы работать с HDR, нам понадобится соответствующий экранный буфер, поддерживающий значения больше единицы. Наша же задача будет состоять в правильной конвертации этих значений в диапазон [0..1].

Читать дальше →
Всего голосов 113: ↑111 и ↓2+109
Комментарии31

Имитируем ночное зрение человека в 3D-игре

Время на прочтение4 мин
Количество просмотров58K
Сегодня мы будем заниматься постпроцессингом изображения в DirectX.

Как известно, в темноте зрение человека обеспечивается клетками-палочками сетчатки, высокая световая чувствительность которых достигается за счет потери цветочувствительности и остроты зрения (хотя палочек в сетчатке и больше, они распределены по гораздо большей площади, так что суммарное «разрешение» выходит меньше).

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

В результате мы получим что-то вроде следующего (смотреть на весь экран!):

До: унылый польский шутер


После: финалист IGF и лауреат всех наград E3

Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии57

Ajenti 0.4

Время на прочтение1 мин
Количество просмотров1.7K
За короткий срок мне удалось выполнить почти все ваши, хабраюзеры, заказы на функциональность, и теперь я просто хочу донести до вас новость о выпуске новой версии (осторожно, пост-changelog!).

Традиционная картинка для привлечения внимания:

image
Читать дальше →
Всего голосов 191: ↑181 и ↓10+171
Комментарии163

Ajenti — полгода спустя

Время на прочтение2 мин
Количество просмотров11K
Казалось бы, не так давно я представлял Хабру свой проект.
Откликнулось много людей, некоторые пришли и оставили свой след в исходниках и истории коммитов, некоторые исчезли, кто-то все еще с нами.
Я хочу выразить всем им свою благодарность, потому что без них у меня вряд ли что-нибудь получилось.
А сегодня я наконец выпускаю альфа-версию проекта.

Под катом вас ждет много интересного, а сейчас дохабракатный мотивационный скриншот:

image
Читать дальше →
Всего голосов 250: ↑244 и ↓6+238
Комментарии165

OpenSource проект ищет разработчиков

Время на прочтение1 мин
Количество просмотров4.3K
Здравствуй, Хабр! Я хочу представить тебе свой некоммерческий проект и найти единомышленников/соразработчиков.

Мотивационный скриншот




О проекте
Всего голосов 234: ↑221 и ↓13+208
Комментарии142

SyncStream — библиотека C# для передачи данных по нестабильным каналам

Время на прочтение3 мин
Количество просмотров2.3K
Недавно нашел старую самопальную библиотеку, реализовавшую простой протокол передачи данных в пакетах по TCP.
После обработки напильником и долотом получилось очень даже ничего (:

Встречайте — библиотека SyncStream для передачи данных по глючащим каналам:
  • Восстанавливает синхронизацию между сервером и клиентом, если часть данных «провалилась» по пути
  • Проверяет целостность всех доставляемых пакетов
  • Имеет механизм гарантированной доставки для особо важных пакетов
  • Не завязан на низлежащий протокол передачи — можно прикрутить даже к лазерному каналу


Читать дальше →
Всего голосов 50: ↑36 и ↓14+22
Комментарии38

CES 2010: ioSafe Solo NAS под гусеницами бульдозера

Время на прочтение1 мин
Количество просмотров1.5K
В Лас-Вегасе всегда все делали слишком. Такой же была и презентация сетевого хранилища ioSafe.
ioSafe Solo NAS защищает диск от огня, жидкости и давления. SSD-версия хранилища имеет еще более невероятную защиту.


Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии83

Обзор ОС МСВС 3.0 r14 от 07.2009 в картинках

Время на прочтение2 мин
Количество просмотров60K
В статье описана установка МСВС и мои впечатления от того, что установилось.
Желающие всегда могут найти дистрибутив где надо, а именно — на торрентах.

image

Осторожно, под катом мегабайты скриншотов
Читать дальше →
Всего голосов 144: ↑123 и ↓21+102
Комментарии166

Информация

В рейтинге
Не участвует
Откуда
Düsseldorf, Nordrhein-Westfalen, Германия
Зарегистрирован
Активность