Многие хабрапользователи наверняка знакомы с квайнами — программами, выводящими собственный исходный код. Сегодня я хочу показать как сделать интересный вариант квайна — ZIP-архив, который распаковывается сам в себя.
Артур @m4dn3ss
Пользователь
Бинарные часы своими руками (Mega32, DS1307)
6 min
60KПожелав собрать бинарные часы, я так и не нашел приемлемой готовой конструкции в сети. Большинство часов обладали серьезным недостатком – при отключении питания, настройки времени сбивались. По счастливой случайности, незадолго до этого, я начал осваивать язык Си и микроконтроллеры AVR. Итак, было решено подкрепить полученные знания практическим опытом, а заодно изобрести велосипед. А еще я очень люблю зеленые мигающие светодиоды.


+76
Как я собирал свой мод dd-wrt для ASUS RT-N13U
2 min
25KНачну с предыстории. Попался мне в руки за недорого сей чудо девайс ASUS RT-N13U и сразу появилось желание использовать его по полной, но к сожалению родная прошивка оставляла желать лучшего и я побрел искать альтернативы на просторах интернета и набрел на dd-wrt.
+7
Asus официально признал DD-WRT как альтернативную прошивку
1 min
69KЗайдя на dd-wrt.com увидел в верхней части банер, пройдя по которому, я попал на страницу официального сайта Асуса ( сюда )
Ниже идет вольный перевод(заранее извиняюсь за возможные неточности):
Помимо этого, так же приведен список роутеров, уже поддерживающих DD-WRT, среди которых RT-N16, RT-N13U,WL-520g c/u и другие.
ASUS highly values the DIY community. Due to popular demand, ASUS now provides DD-WRT compatible routers for all your network needs. We plan to expand support for this popular firmware for more of our outers, so keep an eye out for more ASUS routers with support for DD-WRT in the future.
Ниже идет вольный перевод(заранее извиняюсь за возможные неточности):
Асус высоко ценит свое DIY сообщество. В соответствии с популярной тенденцией, Асус теперь предоставляет роутеры, совместимые с DD-WRT для любых ваших сетевых нужд. Мы планируем улучшить поддержку этой популярной прошивки для большего количества наших роутеров в будущем.
Помимо этого, так же приведен список роутеров, уже поддерживающих DD-WRT, среди которых RT-N16, RT-N13U,WL-520g c/u и другие.
+73
Тьюринговская трясина
4 min
5.9KTranslation

Алан Перлис
Что такое Тьюринговская трясина? Это состояние, в котором программа становится столь могущественной, столь обобщенной, что усилия по решению с её помощью какой-либо конкретной задачи равны или превосходят затраты на написание с нуля программы, которая решает только данную задачу.
+115
Простой сервис уведомлений через Twitter
3 min
3.3K
Twitter уже для многих людей стал повседневным средством общения и получения информации. Лично я каждый день открываю его по несколько раз с телефона, да и на десктопе клиент запущен постоянно.
Возникла идея, что неплохо бы получать через него какие-то напоминания, раз уж я пользуюсь им каждый день.
За вечер был написан небольшой бот для напоминаний.
+53
Простой индикатор раскладки клавиатуры в курсоре на С++
2 min
38K
+70
Sqrt-декомпозиция (корневая оптимизация)
3 min
24KSqrt-декомпозиция — это метод, или структура данных, позволяющая в режиме онлайн проводить такие операции, как подсчет суммы на отрезке за
и обновление элемента за
. Существуют более эффективные структуры, такие как дерево фенвика или дерево отрезков, которые оба запроса обрабатывают за
. Однако я хочу рассказать про корневую оптимизацию, т.к. в этом методе заложена идея, применимая к задачам другого типа.

Пусть нам задан массив A[i], на который поступают запросы вида:
Мы можем предрасчитать массив частичных сумм, а именно:
. Однако на запрос изменения, потребует пересчета частичных сумм (содержащих этот элемент) и в худшем случае составит асимптотику порядка
, что не есть хорошо.


Постановка задачи
Пусть нам задан массив A[i], на который поступают запросы вида:
- посчитать сумму на отрезке [L; R] (позже, мы поймем, что аналогично можно вычислять функции min, max, gcd и др.
- добавить к элементу A[i], delta
Наивная реализация
Мы можем предрасчитать массив частичных сумм, а именно:
for(int j = 0; j < i; j++) B[j] += A[i];
и тогда на запрос суммы [L; R], мы будем возвращать B[R]-B[L-1] за 
+35
Google Transit: тихая революция в общественном транспорте
2 min
7KСреди многочисленных проектов компании Google есть один очень важный проект, которым компания занимается уже более пяти лет, и в то же время он на удивление мало освещается в прессе. Речь идёт о стандарте GTFS (изначально Google Transit Feed Specification, но с 2009 года расшифровку сменили на General Transit Feed Specification) — общий протокол для расписания общественного транспорта, который компания Google предложила в 2006 году.

Сейчас Google получает информацию от 475 транспортных компаний США и Европы, но пока что расписание на Google Maps полноценно работает только в четырёх американских городах (Бостон, Портленд, Сан-Диего, Сан-Франциско) и двух европейских (Мадрид, Турин). Жители этих городов могут в привычном интерфейсе Google Maps смотреть, через сколько минут на остановку придёт нужный автобус, троллейбус или трамвай — c июня 2011 года для этих городов работает функция Live Transit Updates, то есть обновление в реальном времени информации о реальном местонахождении транспорта.

Сейчас Google получает информацию от 475 транспортных компаний США и Европы, но пока что расписание на Google Maps полноценно работает только в четырёх американских городах (Бостон, Портленд, Сан-Диего, Сан-Франциско) и двух европейских (Мадрид, Турин). Жители этих городов могут в привычном интерфейсе Google Maps смотреть, через сколько минут на остановку придёт нужный автобус, троллейбус или трамвай — c июня 2011 года для этих городов работает функция Live Transit Updates, то есть обновление в реальном времени информации о реальном местонахождении транспорта.
+45
Компилирование заголовочных файлов или документация на халяву
5 min
15KДля кого эта статья
Вряд ли опытные C++ разработчики найдут что-нибудь новое и интересное в этой статье. Максимум банальную команду
gcc -c -x c++ -I ./ */*/*/*/*.h
которую они и так знают.
А вот если Вы — разработчик начинающий, или только в первый раз строите документацию по своему проекту, или пробовали это однажды, но увидев тот бред, что сгенерировал doxygen, удалили его и забыли как страшный сон, добро пожаловать под кат, скорее всего Вы найдете дальше парочку полезных мыслей.
+34
Онлайн-блокнот note-pad.net
4 min
4K
Представляю вашему вниманию веб-сервис note-pad.net, предназначенный для замены простого бумажного блокнота. Я стремился сделать так, чтобы можно было просто открыть сайт, записать что-нибудь и закрыть его. Мой блокнот состоит из большого текстового поля на весь экран и колонки кнопок справа, предназначенных для перелистывания страниц.
Всего в блокноте 36 страниц, добавлять и удалять их нельзя. Если нужно больше страниц, можно завести несколько блокнотов. Всё как в жизни.
Изначально на сайте был минимум опций, но за два года он оброс хорошей функциональностью: автосохранение, шифрование в браузере, скачивание блокнота в виде файла, горячие клавиши, переход по ссылкам из блокнота, сортировка страниц перетаскиванием, поиск, гибкая настройка внешнего вида. Впрочем, это не усложняет использование блокнота.

В этой статье я постараюсь рассказать о разработке сервиса и его технических особенностях.
+6
Письмо Джона Нэша в АНБ от 1955 года
2 min
28KАгентство национальной безопасности США рассекретило изумительные письма, которые знаменитый математик Джон Нэш отправил им в 1955 году.
Джон Нэш предложил для тех времён совершенно революционную идею: использовать в криптографии теорию сложности вычислений. Если прочитать письмо от 18 января 1955 года, то вызывает восхищение, насколько пророческим оказался анализ Нэша о вычислительной сложности и криптостойкости. Именно на этих принципах основана современная криптография. Первая работа в этой области была опубликована только в 1975 году.
Отсканированные копии рукописных писем Джона Нэша
В своё время власти так и не проявили интереса к работе чудаковатого профессора математики. Или, что тоже возможно, использовали идеи Нэша втайне от него.
Джон Нэш предложил для тех времён совершенно революционную идею: использовать в криптографии теорию сложности вычислений. Если прочитать письмо от 18 января 1955 года, то вызывает восхищение, насколько пророческим оказался анализ Нэша о вычислительной сложности и криптостойкости. Именно на этих принципах основана современная криптография. Первая работа в этой области была опубликована только в 1975 году.
Отсканированные копии рукописных писем Джона Нэша
В своё время власти так и не проявили интереса к работе чудаковатого профессора математики. Или, что тоже возможно, использовали идеи Нэша втайне от него.
+130
[archlinux] До нас добрались бинарные логи!
2 min
5.8K
Надеюсь, вам уже страшно жить, потому что иначе Дейв к вам придет.
Нет, не верно, Дейв всё равно к вам придет. А еще Леннарт и много других добрых людей.
+2
Узбекский математик Б.Пономарев разгадал теорему Ферма! Проверим?
3 min
12KДавным-давно в 1637 году Пьер Ферма имел глупость написать на полях «Арифметики» Диофанта следующее: «… невозможно разложить куб на два куба, биквадрат на два биквадрата и вообще никакую степень, большую квадрата, на две степени с тем же показателем. Я нашел этому поистине чудесное доказательство, но поля книги слишком узки для него».
После этого, утверждение, что никакую степень, большую квадрата, нельзя разложить на две степени с тем же показателем называют Великой теоремой Ферма. Простая формулировка обеспечила ей большую популярность среди ученых математиков-профессионалов и любителей.
Несмотря на это, она была полностью доказана лишь в 1995 году, используя теории эллиптических кривых.
Недавно сразу несколько достаточно авторитетных по местным меркам новостных порталов взорвала новость: Узбекский математик разгадал теорему Ферма — Математик из Ташкента Борис Пономарев утверждает, что отыскал «простое оригинальное доказательство» Великой теоремы Ферма — загадки, над которой ученые всего мира бьются вот уже 350 лет (например, здесь, здесь и здесь). В одной из них даже было приведено доказательство.
После этого, утверждение, что никакую степень, большую квадрата, нельзя разложить на две степени с тем же показателем называют Великой теоремой Ферма. Простая формулировка обеспечила ей большую популярность среди ученых математиков-профессионалов и любителей.
Несмотря на это, она была полностью доказана лишь в 1995 году, используя теории эллиптических кривых.
Недавно сразу несколько достаточно авторитетных по местным меркам новостных порталов взорвала новость: Узбекский математик разгадал теорему Ферма — Математик из Ташкента Борис Пономарев утверждает, что отыскал «простое оригинальное доказательство» Великой теоремы Ферма — загадки, над которой ученые всего мира бьются вот уже 350 лет (например, здесь, здесь и здесь). В одной из них даже было приведено доказательство.
+76
Рейтинг фантастических романов, или Я сделаю свой «IMDB для книг», с преферансом и библиотекаршами
8 min
7.8KДолго выбирал между «Алгоритмами», «Читальным залом» и «Я пиарюсь», в итоге остановился на Data Mining.
Эта история началась в конце октября, когда я очередной раз пытался выбрать, что бы мне почитать. Лично я с собой в отпуск/в дорогу беру что-нибудь из фантастики (как, думаю, и большинство присутствующих), причем категорически не люблю всякий модный новодел.
И вот, терзаясь муками выбора, я забил в поиск «IMDB for books» и… не нашел ничего пристойного. Весь интернет забит рекомендательными сервисами для книг, и все они выдают полную чушь. Вот, например, топ имхонета для раздела «Самая лучшая фантастика и фэнтези»:
Эээ… Это совсем не то, что я ожидал увидеть на первых местах в рейтинге фантастики. «Мы пойдём другим путём», — подумал я. Отказавшись от идеи найти нормальный читательский рейтинг, я просто пошёл в Вики, нашёл список лауреатов премий Хьюго и Небьюла и выбрал пару-тройку книг — как, собственно, я всегда раньше и делал.
«А не замутить ли мне свой рейтинг книг, взяв за основу престижные премии?» — внезапно подумал я. И замутил. Знакомьтесь: top-books.info
Эта история началась в конце октября, когда я очередной раз пытался выбрать, что бы мне почитать. Лично я с собой в отпуск/в дорогу беру что-нибудь из фантастики (как, думаю, и большинство присутствующих), причем категорически не люблю всякий модный новодел.
И вот, терзаясь муками выбора, я забил в поиск «IMDB for books» и… не нашел ничего пристойного. Весь интернет забит рекомендательными сервисами для книг, и все они выдают полную чушь. Вот, например, топ имхонета для раздела «Самая лучшая фантастика и фэнтези»:
1. Мастер и Маргарита. Михаил Булгаков, 1940 год
2. Цветы для Элджернона (рассказ). Дэниел Киз, 1959 год
3. Цветы для Элджернона. Дэниел Киз, 1966 год
4. Битва Королей. Джордж Мартин, 1998 год
5. Рыцарь Ордена: Клинки у трона. Сергей Садов, 2000 год
6. Голубятня в Орехове. Владислав Крапивин, 1983 год
Эээ… Это совсем не то, что я ожидал увидеть на первых местах в рейтинге фантастики. «Мы пойдём другим путём», — подумал я. Отказавшись от идеи найти нормальный читательский рейтинг, я просто пошёл в Вики, нашёл список лауреатов премий Хьюго и Небьюла и выбрал пару-тройку книг — как, собственно, я всегда раньше и делал.
«А не замутить ли мне свой рейтинг книг, взяв за основу престижные премии?» — внезапно подумал я. И замутил. Знакомьтесь: top-books.info
+67
Боитесь что снова закроют ex.ua? Не стоит — все можно скачать на сервере Министерства внутренних дел Украины
1 min
15KЗаходим на 91.227.69.2/Install и качаем. Там и пиратская Windows с ключем и MS Office, и еще много чего:
+325
Как мы погрузили телефон в подсолнечное масло
1 min
32K
Как всем известно, подсолнечное масло является весьма неплохим диэлектриком. Масло можно даже использовать в системе охлаждения компьютера. И мы решили провести эксперимент с мобильным телефоном, погруженным в подсолнечное масло.
Но для пущей убедительности мы установили ip-камеру прямо напротив дисплея телефона, что позволит любому желающему позвонить на погруженный мобильник и увидеть свой номер телефона. Пустячек, а приятно.
По этой ссылке расположена онлайн камера: телефон в масле.
Как начинался эксперимент, смотрите на этом видео:
+95
Тролльская схемотехника. Решение
1 min
4.3KНесколько месяцев назад много шума наделала задача от пользователя Youtube Fredzislaw100 про три светодиода с выключателями (пост на Хабре). Напомню: на видео показано, как из обычных, на первый взгляд, деталей — батарейки, резистора, трех светодиодов и трех выключателей — собирают последовательную цепь, в которой каждый выключатель управляет своим светодиодом.
В чем же секрет фокуса? Недавно автор опубликовал разгадку.
В чем же секрет фокуса? Недавно автор опубликовал разгадку.
+58
Аспирантура в Швейцарии, собственный опыт и наблюдения
7 min
35KВ своем посте я хотел бы рассказать об аспирантуре в Европе в области Computer Science — в частности, в Швейцарии, базируясь на собственном опыте прибывания здесь в течении года и будучи PhD студентом. Прежде всего, хотелось бы рассказать больше подробностей о повседневных вопросах, связанных не столько с научной деятельностью, сколько с повседневными заботами — как, что, почему, для чего и что дальше.
+45
Не зная брода, не лезь в воду. Часть вторая
8 min
11K
В этот раз я хочу поговорить о функции printf. Все наслышаны об уязвимостях в программах, и что функции наподобие printf объявлены вне закона. Но одно дело знать, что лучше не использовать эти функции. А совсем другое — понять почему. В этой статье я опишу две классических уязвимости программ, связанных с printf. Хакером после этого вы не станете, но, возможно, по-новому взгляните на свой код. Вдруг, вы реализуете аналогичные уязвимые функции, даже не подозревая об этом.
СТОП. Подожди читатель, не проходи мимо. Я знаю, что ты увидел слово printf. И уверен, что автор статьи сейчас расскажет банальную историю о том, что функция не контролирует типы передаваемых аргументов. Нет! Статья будет не про это, а именно про уязвимости. Заходи почитать.
+117
Information
- Rating
- Does not participate
- Registered
- Activity