Как стать автором
Обновить
0
0

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

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

Зачем нужны попы в ВУЗе?

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

Поводом для данного поста послужила новость о том, что в Национальном исследовательском ядерном университете «МИФИ» открылась кафедра теологии. Я не являюсь воинствующим атеистом, вполне терпимо и с пониманием отношусь к людям верующим — это их личное дело, во что и как верить. Более того, я даже в каком-то смысле одобряю присутствие различных вероисповеданий в нашей жизни: всё-таки лучше, чтобы у человека были хоть какие-нибудь убеждения и внутренние регуляторы, чем совсем никаких, а, кроме того, вся современная история и археология практически существуют за счёт религий — многие интересные и важные с исторической и научной точки зрения археологические находки были культовыми, т.е. появились на свет благодаря существовавшим в те далёкие времена религиям. Также не секрет, что многие великие учёные были верующими и даже входили в узкий круг людей, имеющих к религии чуть большее отношение, чем обычные прихожане (достаточно посмотреть список членов Папской академии наук в Ватикане). И всё-таки новость, указанная выше, наводит на очень невесёлые размышления.
Читать дальше →
Всего голосов 458: ↑392 и ↓66+326
Комментарии1475

Искусство подделки фотографий до цифровой эпохи

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


В нью-йоркском Метрополитен-музее 11 октября открылась выставка “Faking It: Manipulated Photography Before Photoshop”, посвящённая историческому искусству подделки фотографий, ретуширования и фотомонтажа. Некоторые работы можно посмотреть на сайте музея.

Крупнейшая в мире коллекция «отфотошопленных фотографий» доказывает, что люди начали активно заниматься такими манипуляциями задолго до изобретения компьютеров и цифровой фотографии. Более того, многие методы 150-летней давности используются сейчас практически в неизменном виде.
Читать дальше →
Всего голосов 76: ↑59 и ↓17+42
Комментарии21

Прошиваем AVR вручную

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

Картинка для привлечения внимания — xkcd

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

Радуясь, что еще не забыли курс ассемблера, вы кое-как написали программу палочкой на песке. Среди уцелевших вещей каким-то чудом оказалась распечатка документации на контроллер (хорошо, что вы еще не успели пустить её на растопку!), и программу удалось перевести в машинные коды. Осталась самая ерунда — прошить её в контроллер. Но в радиусе 500 километров нет ни одного программатора, не говоря уже о компьютерах. У вас только источник питания (батарея из картошки кокосов) и пара кусков провода.

Как же прошить МК фактически голыми руками?
Читать дальше →
Всего голосов 171: ↑170 и ↓1+169
Комментарии66

О том как я на Java из PDF флэш получал

Время на прочтение6 мин
Количество просмотров8.8K
image
Давным давно, когда трава была зеленее, меня поймали и долго пытали пришлось мне повышать перформанс в одной чудесной связке.

Как задачу понял архитектор


Дано: есть безумный каталог изделий в виде большого количества PDF по паре тыщ страниц каждый. Надо их выдать в веб в виде красочных анимированных презентаций.

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

Проблема: каталоги постоянно меняются, а конвертация только одного гроссбуха из каталога занимает больше часа(!).

Почему так и как улучшить?

Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии13

Разбираем email в Java

Время на прочтение5 мин
Количество просмотров11K
К моему последнему проекту, написанному на 80% на Java, надо было дописать модуль — парсер всех писем, проходящих через сервер. Религиозные мотивы модуля очень странные, но некоторыми деталями хотелось бы поделиться.

В наличии имеются:

Почтовый сервер Postfix со службой доставки Dovecot на CentOS. Ну и JVM.

Структура сообщений

Что такое электронное письмо, его составные части, их примерная структура, заголовки и MIME типы по-человечески описано на википедии.
Более интересной является структура имени файла письма на сервере. Пример имени новоиспеченного (не прочитанного/не запрошенного клиентом) письма:

1348142977.M852516P31269.mail.example.com,S=3309,W=3371

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии6

I2P: Принципы функционирования основных сервисов сети

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


Сегодня мы поговорим о том, что такое NetDB, SusiDNS и о начальной инициализации сети I2P.

Совсем скоро интернет в России станет не свободным, уже сейчас различные провайдеры блокируют те или иные сайты.

И у заблокированного ресурса есть два пути:
1) Надеяться, что пользователь будет заходить на сайт через proxy/VPN
2) Перенести сайт в децентрализованную, анонимную сеть
Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии61

Создаем рекурсивные ярлыки в Windows

Время на прочтение5 мин
Количество просмотров123K
Все мы знаем, что такое ярлык. А что будет, если сделать ссылку ярлыка самого на себя?
Создание ярлыка на ярлык приводит к его копированию. И что будет, если принудительно создать побайтно такой ярлык?

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

Зайти в такую папку обычными файловыми менеджерами будет невозможно.

Но тут не обошлось без ярлыка, и я расскажу, как это сделать и для чего можно использовать.
Читать дальше →
Всего голосов 237: ↑223 и ↓14+209
Комментарии105

Какой Java поток нагружает мой процессор

Время на прочтение3 мин
Количество просмотров27K
Что Вы делаете, когда Ваше Java приложение потребляет 100% ЦП? Оказывается Вы легко можете найти проблемные потоки, используя встроенные Unix и JDK утилиты. Никакие инструменты профилирования не потребуются.
С целью тестирования мы будем использовать простую программу:
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии13

Бесплатный курс по работе с Sublime Text 2

Время на прочтение1 мин
Количество просмотров52K
На Tuts+ опубликован новый курс учебных скринкастов "Perfect workflow in Sublime Text". Он посвящён работе со стремительно набирающим популярность кроссплатформенным текстовым редактором Sublime Text 2. Автор курса — Джеффри Вэй, разработчик и инструктор в компании Envato, автор многих учебных пособий на Tuts+, статей и книг — признаётся, что помешан на текстовых редакторах. Он перепробовал практически всё, от TextMate до Vim, но с тех пор, как освоил Sublime Text, считает его самым лучшим в мире редактором кода.
Читать дальше →
Всего голосов 104: ↑87 и ↓17+70
Комментарии45

NoSQL базы данных: понимаем суть

Время на прочтение9 мин
Количество просмотров582K
В последнее время термин “NoSQL” стал очень модным и популярным, активно развиваются и продвигаются всевозможные программные решения под этой вывеской. Синонимом NoSQL стали огромные объемы данных, линейная масштабируемость, кластеры, отказоустойчивость, нереляционность. Однако, мало у кого есть четкое понимание, что же такое NoSQL хранилища, как появился этот термин и какими общими характеристиками они обладают. Попробуем устранить этот пробел.


Читать дальше →
Всего голосов 137: ↑133 и ↓4+129
Комментарии75

JsTree — деревья это так просто

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

О плагине JsTree на хабре упоминалось лишь в далеком 2009 году. С тех времен все довольно сильно поменялось. Плагин активно развивается. Страница проекта на гитхабе.

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



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

Что мы имеем?


  • Построение дерева на основе html разметки, json и xml формата
  • Drag & drop с тонкой настройкой возможности перемещения нодов по дереву
  • Динамическое добавление/удаление/изменение нодов
  • Возможность построения нескольких деревьев на одной странице и манипуляция нодами между этими деревьями
  • Возможность присвоения нодам произвольных типов (file, folder, drive, да какой угодно), и указать отдельное поведения для каждого
  • Поддержка тем оформления (на скрине в начале статьи пример того, как это реализовал я)
  • Управление с клавиатуры
  • Использование нативных и кастомных чекбоксов
  • AJAX подгрузка нодов, запоминание состояния дерева
  • Плагин красиво и читабельно написан, позволяет писать дополнительные плагины к нему и без проблем кастомизировать.
  • Удобная система байндингов для обработки событий
  • Мультиязычность
  • Управление анимацией раскрытия
  • Поиск по дереву
  • Кастомное контекстное меню
  • Поддержка браузеров: IE 6+, Firefox 2+, Safari 3+, Opera 9+, Chrome
  • Мини-фича, которая меня особенно порадовала — плагин wholerow — выделения нода во всю ширину. А-ля mac style
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии47

Unix как IDE: Введение

Время на прочтение3 мин
Количество просмотров38K
Профессиональные программисты, как новички, так и опытные, обычно придерживаются концепции IDE, или «интегрированной среды разработки». Правда, удобно же иметь самые необходимые средства организации, написания, поддержки и тестирования кода в одном приложении с единым интерфейсом для всех инструментов? К тому же, среда, специально спроектированная для программирования, дает ряд преимуществ, таких как автодополнение, проверка и подсветка синтаксиса.

Подобные средства есть для всех распространенных настольных ОС, включая Linux и BSD, и многие из них совершенно бесплатны, так что вряд ли имеет смысл ограничивать себя в Блокнотом Windows, nano или cat.

Однако, в среде поклонников Unix гуляет в разнообразных вариациях мем о том, что «Unix — это IDE», в том смысле, что средства, которыми разработчики располагают в терминале, легко реализуют основные возможности современных IDE. Вы можете соглашаться или отказываться признать Unix «IDE» в том самом смысле, что Eclipse или Microsoft Visual Studio. Так или иначе, вас скорее всего удивит, насколько законченную среду разработки может являть собой скромный Bash.
Читать дальше →
Всего голосов 108: ↑88 и ↓20+68
Комментарии71

LilacServer – коробка для создания сайтов на Java

Время на прочтение4 мин
Количество просмотров22K
LilacServer - всё необходимое в одной коробке

В данной статье мне хотелось бы рассказать о новом программном продукте, который на днях стал доступным конечным пользователям. Автором этого программного продукта являюсь я, и поэтому мне вдвойне приятно поделиться с читателями информацией, которая наверняка кому-нибудь покажется интересной и полезной. Я работал над этим проектом 4 года (а то и больше, смотря от какого момента считать).

Итак, что же такое LilacServer?
Это веб-сервер, написанный на Java с использованием технологии Java NIO. Главным отличием его от прочих веб-серверов, созданных на Java (например, Tomcat или Resin), состоит в том, что это не только веб-сервер…
Читать дальше →
Всего голосов 46: ↑30 и ↓16+14
Комментарии42

Отладка приложений для Android без исходного кода на Java

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

О чем статья


В этой статье я сжато, без «воды», расскажу как отлаживать приложения для Android не имея их исходного кода на Java. Статья не совсем для новичков. Она пригодиться прежде всего тем кто более или менее понимает синтаксис Smali и имеет некоторый опыт в reversing engineering приложений для Android.

Хочу послушать
Всего голосов 21: ↑21 и ↓0+21
Комментарии22

MIMB – Мульти-установочная и мульти-загрузочная флэшка

Время на прочтение2 мин
Количество просмотров58K
Привет, Хабрачитатели!

В повседневной практике часто нужен набор инструментов – Linux и иногда Windows LiveCD, а также установочные диски различных дистрибутивов. Диски легко подвергаются механическим повреждениям. Учитывая, что набор используемого инструментария и дистрибутивов у каждого не так велик (во избежания развода зоопарка) и зачастую вполне умещается на USB-носителе до 4G, целесообразно поместить все на одну флэшку.
К вашему вниманию флэшка для загрузки Live сборок Linux и Windows и установки дистрибутивов Linux. Подготовлен образ .img, который легко разворачивается при помощи dd. Кому интересно, подробности под катом.
Читать дальше →
Всего голосов 63: ↑53 и ↓10+43
Комментарии42

О языке Kotlin для Java-программистов

Время на прочтение7 мин
Количество просмотров63K
Эта статья рассказывает о языке программирования Kotlin. Вы узнаете о причинах появления проекта, возможностях языка и посмотрите несколько примеров. Статья написана в первую очередь в расчете на то, что читающий знаком с языком программирования java, однако, знающие другой язык, тоже смогут получить представление о предмете. Статья носит поверхностный характер и не затрагивает вопросы связанные с компиляцией в javascript. На официальном сайте проекта вы можете найти полную документацию, я же постараюсь рассказать о языке вкратце.
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии25

Unrolled linked list на Java

Время на прочтение5 мин
Количество просмотров3K
Всем привет.

Время от времени я, как и большинство программистов, изучаю какие-то новые структуры и алгоритмы.

В этот раз мне на глаза попались статьи по cache oblivious алгоритмам. Это такие алгоритмы, которые изначально более оптимизированы для работы с подсистемой кэширования современных процессоров.

Одним из представителей этой группы является Unrolled linked list.

Что же это такое?
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии22

Опасности метода finalize

Время на прочтение3 мин
Количество просмотров22K
Во время написания статьи про использование фантомных ссылок, мне потребовалось сослаться на неудобства возникающие при работе с методом finalize. К тому же, считаю, что данный топик будет полезен всем начинающим java разработчикам, а некоторые пункты будет не лишним вспомнить и матерым программистам, ведь использовать метод finalize очень просто, чего не скажешь о поиске последсвий этого. Даже если вы твердо убеждены никогда не использовать метод finalize, это еще не значит, что ваши предыдущие коллеги их не использовали, и вам не надо понимать как они работают.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии19

Киоск электронного правительства с пасьянсом и маджонгом

Время на прочтение2 мин
Количество просмотров5.4K
Доброго вечера,
Сегодня я расскажу вам о киосках электронного правительства, которые может выключать любой желающий, который любит тыкать куда не надо или хоть раз пользовался GNOME 2. А еще там есть пасьянс.



Локация


Санкт-Петербург, подземный переход метро Ветеранов, выход на Дачный проспект, переход закрывают решетками в 20:00. Так что, наш подопытный терминал расположен довольно удачно (в плане вандалоустойчивости).

В статье в основном фото ЖК-дисплея с мыльницы, их много, не боящихся испортить глаза прошу под кат.
Читать дальше →
Всего голосов 152: ↑141 и ↓11+130
Комментарии178

QNX система работала 15 лет без остановки пока…

Время на прочтение2 мин
Количество просмотров18K
Позвольте рассказать вам историю о компьютере с QNX, который работал 24 часа в день, 7 дней в неделю, 15 лет. Компьютер работал вполне хорошо пока… Ну да, я вернусь к этой части через минуту.

История началась в середине 90-х, когда компания по производству бумаги установила компьютер для контроля давления, температуры и различных других параметров с частотой 5000 раз в секунду. Несколько лет спустя, компания установила второй компьютер с QNX и настроила его как оперативный резерв первого. Таким образом, если бы первый компьютер когда-нибудь вышел из строя, то второй мог бы незамедлительно придти ему на смену.
Читать дальше →
Всего голосов 240: ↑228 и ↓12+216
Комментарии149

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность