Pull to refresh
11
0
Ник Коробко @Klaus

User

Send message

Простой цифровой термометр своими руками

Reading time3 min
Views172K
Наткнулся недавно в интернете на интересный материал, идея заинтересовала, но после сборки отказалась корректно работать, погуглив дальше наткнулся на другой вариант, который и представляю.

Простой цифровой термометр с подключением через COM-порт.


Читать дальше →
Total votes 111: ↑108 and ↓3+105
Comments148

Применение метамодели при проектировании баз данных с несколькими абстрактными слоями

Reading time6 min
Views13K
Классический подход предусматривает разработку структур баз данных, где все сущности информационной модели находятся на одном абстрактном уровне, являются однородными. Однако, сложные и слабо-структурированные предметные области приводят реляционную декомпозицию к комбинаторному взрыву, непропорциональному росту количества таблиц и связей. А динамические предметные области, в которых ежедневные изменения являются нормой жизненного цикла, требуют постоянного реинженеринга структуры реляционной базы данных.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments58

Transmission — внедряем в него плюшки

Reading time8 min
Views23K
Добрый день.
На своём домашнем серваке сменил систему, и собственно софт тоже нужно было переставлять.
Поэтому ради теста просмотрел несколько самых популярных торрент-клиентов, работающих на *nix (rTorrent, Deluge, MLDonkey, Transmission).
Последний понравился мне больше всего, однако для меня нашёлся существенный минус — невозможно переименовывать зашитые в .torrent-файл имена торрентов.
То есть у нас на диске будут всякие разные папки, например — «Krovavaja gora», «Место Преступления Нью-Йорк», а то и просто «7 Сезон».
Мне это не по нраву, я люблю порядок, соотвестсвенно свою фильмотеку (точнее её сериальную часть) организую в виде "%SERIAL_NAME%/Season N".
Transmission увы не позволяет такого. Но так как в основном всё было хорошо, я взялся подгонять клиент под себя.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments43

Учим систему страничной адресации и обработке прерываний

Reading time5 min
Views7.6K
Приветствую. Сегодня поговорим обо всём понемногу. Введём в нашу наработку paging, разберёмся с прерываниями и их видами. Напишем несколько функций, добавим сие в код из предыдущего поста.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments14

Быстрое умножение многочленов при помощи преобразования Фурье — это просто

Reading time9 min
Views79K
Добрый вечер.
Этот пост посвящён быстрому преобразованию Фурье. Будут рассмотрены прямое и обратное преобразования (в комплексных числах). В следующей части я планирую рассмотреть их применения в некоторых задачах олимпиадного программирования (в частности, одна задача про «похожесть» строк), а также рассказать про реализацию преобразования в целых числах.
БПФ — это алгоритм, вычисляющий значения многочлена степени n=2k в некоторых n точках за время O(n⋅logn) («наивный» метод выполняет ту же задачу за время O(n2)). За то же время можно выполнить и обратное преобразование. Так как складывать, вычитать и умножать массивы чисел гораздо легче, чем многочлены (особенно умножать), БПФ часто применяется для ускорения вычислений с многочленами и длинными числами.
Читать дальше →
Total votes 112: ↑105 and ↓7+98
Comments38

Продолжаем написание операционок. Шаг за шагом

Reading time2 min
Views7.8K
На написание этого поста меня подтолкнуло то, что посты iley прекратились, а хабралюди всё же хотели посты по осьдеву. Оговорюсь сразу, я сам изучаю и пишу небольшую ось, но изучаю, так что продвигаться будем вместе. Я собираюсь рассмотреть написание систем под защищённый режим для IA-32, рассказать о:
1) Проектировании;
2) Отладке;
3) Работе с графикой;
4) Работе с дисками;
5) Memory management;
6) Task management;
Возможно о чём-нибудь ещё, если это будет востребовано.
Читать дальше →
Total votes 92: ↑73 and ↓19+54
Comments56

Делаем микросхемы дома — шаги 0 и 1

Reading time3 min
Views109K
В этой статье я расскажу о начале своей работы над совершенно безбашенной задачей: конечная цель в том, чтобы получить рабочую микросхему по «толстым» нормам (5-10µm) дома. Это не первое апреля и я не сумасшедший, это просто моё хобби.

Возникла эта идея не сейчас и неспроста. С детства я хотел быть газосварщиком, и… делать микросхемы. И если по первому пункту мне достаточно быстро удалось сделать дома сварочный аппарат (бутан-водород/кислород), то с микросхемами все никак не складывалось. Долгое время все мысли останавливались на том, что я не знал где можно взять собственно полупроводники необходимой чистоты (и мысли останавливались на ковырянии мощных транзисторов), пока на форуме не подсказали что в принципе, можно и купить пластины. Затем я даже наткнулся на человека, который 20 лет работал над похожей задачей, и в итоге сдался. Пожалуй, тут можно было опустить руки и перестать тратить время на глупые мечты. Но, однажды я увидел ролик чудовищно гениальной женщины – Jeri Ellsworth – она смогла сделать отдельные полевые транзисторы на основе заводских пластин – и тогда я решил, что настало время поплотнее заняться этой проблемой.

В этой статьях я расскажу о своём текущем прогрессе, но не ждите быстрого продолжения – весь процесс может легко занять пару лет.
Читать дальше →
Total votes 289: ↑274 and ↓15+259
Comments192

Поэтично о переводе

Reading time1 min
Views1.8K
Mary had a little lamb,
Its fleece was white as snow;
And everywhere that Mary went,
The lamb was sure to go.

Каждый из нас знаком с системами машинного перевода. Из игрушек, которые выдавали «гуртовщиков мыши», они выросли в серьёзных помощников для перевода или просто чтения иностранных текстов.

Но одно не под силу этим системам — до сих пор они не применялись для художественной литературы.

А зря.
У Мэри был маленький барашек,
Его шерсть была белой как снег.
Куда бы Мэри ни пошла,
Барашек шёл за ней.
Подстрочный перевод

Я представляю прототип системы машинного перевода стихотворений. Маленькая программа может осилить текст любого размера на любом языке. Язык перевода — пока что только русский.

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

Рабочее название проекта — «Тогаталту».

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

Язык разработки — Ruby.

Репозитарий на GitHub.
У нашей Мэри был баран,
Собаки он верней.
В грозу, и в бурю, и в туман
Баран бредет за ней.
С.Я.Маршак
Total votes 58: ↑52 and ↓6+46
Comments63

Привет из свободного от libc мира! (Часть 1)

Reading time5 min
Views29K
В качестве упражнения я хочу написать программу на С. Достаточно простую для того, чтобы дизассемблировать ее и объяснить весь код самой себе.

Звучит несложно, правильно?

У читателя предполагается наличие опыта компиляции программ и работы в Линуксе. Небольшое умение читать ассемблерный код тоже пригодится.
Читать дальше →
Total votes 138: ↑126 and ↓12+114
Comments61

IPython advanced usage

Reading time4 min
Views14K
Данный инструмент знаком большинству разработчиков на Python.
В тоже время, не так много людей подозревают о раширенных возможностях предоставляемых данной интерактивной оболочкой, пользуясь в основном автодополнением.

Terminal 2014 python 2014 125ճ0image

Статья построенна на выдержках из обширной, понятной и красивой документации ipython.github.com/ipython-doc/dev/interactive/index.html
Пропустим такие явные вещи, как автодополнение и история команд, сохраняемая мыжду вызовами.
Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments15

Анонимные сети и timing атаки: Tarzan и MorphMix

Reading time4 min
Views2.5K
Введение | Tor | Tarzan и MorphMix| Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

Tarzan


Tarzan — это еще одна анонимизирующая система с малыми задержками. Она тоже базируется на идеях Чаума и, как и другие, создана для обеспечения анонимности при использовании веб-приложений и мессенджеров. В отличии от Tor, Tarzan основан на peer-to-peer архитектуре. Каждый Tarzan-узел может быть как клиентом так и передаточным узлом. Благодаря этому устраняются timing-атаки анализа трафика между входными и выходными узлами. Ведь, в любой момент кто угодно может присоединиться или выйти из сети, и любой узел может быть потенциальным инициатором потока (клиентом). Для распространения информации об имеющихся в сети узлах используется протокол основанный на механизме сплетен (gossip-based mechanism) похожий на описанный в работе (Harchol-Balter, Leighton & Lewin 1999). Из-за особенностей peer-to-peer архитектуры, нападающий может изобразить из себя столько Tarzan-узлов сколько захочет. Поэтому, в Tarzan предусмотрен механизм для уменьшения вероятности выбора вредоносного узла. Механизм предполагает категоризирование узлов на основе хешей их IP адресов.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments6

LED монитор состояния Continuous Integration сервера

Reading time4 min
Views7.5K
Активное внедрение в компании Continuous Integraion серверов на основе Jenkins (fork Hudson-а) породило много разговоров о «красной лампе» — обычной такой лампе, которая бы стояла у руководителя разработки и сигнализировала в случае неуспешного билда. Интерес взял вверх, и в выходные перешел от слов к делу. В результате, получилось такое устройство:


Что оно умеет:
  • по USB подключаться к компьютеру;
  • отслеживать статус шести проектов Jenkins;
  • выводить информацию о текущем состоянии, используя 4 варианта индикации (два цвета по два режима работы).


Построено оно на базе популярной платформы Arduino (точнее, его не менее популярного клона — Seeeduino).

Основная концепция устройства проста:
  1. На рабочей машине запускается программа, которая слушает статус заданных проектов Jenkins;
  2. При изменении статуса, программа отправляет по UART (через Serial Port, он же COM порт) в Arduino определенный сигнал;
  3. Arduino принимает сигнал и включает соответсвующий светодиод в нужном режиме.

Кажется, что все очень просто? А так оно и есть:
Total votes 82: ↑75 and ↓7+68
Comments37

Команда dd и все, что с ней связано

Reading time4 min
Views611K

В UNIX системах есть одна очень древняя команда, которая называется dd. Она предназначена для того, чтобы что-то куда-то копировать побайтово. На первый взгляд — ничего выдающегося, но если рассмотреть все возможности этого универсального инструмента, то можно выполнять довольно сложные операции без привлечения дополнительного ПО, например: выполнять резервную копию MBR, создавать дампы данных с различных накопителей, зеркалировать носители информации, восстанавливать из резервной копии данные на носители и многое другое, а, при совмещении возможностей dd и поддержке криптографических алгоритмов ядра Linux, можно даже создавать зашифрованные файлы, содержащие в себе целую файловую систему.
Опять же, в заметке я опишу самые часто используемые примеры использования команды, которые очень облегчают работу в UNIX системах.
Читать дальше →
Total votes 323: ↑315 and ↓8+307
Comments119

Заметки о кросс–компиляции приложений под DD-WRT

Reading time8 min
Views19K
Недавно у меня перестал работать вайфай-рутер и после некоторых раздумий я заказал Asus RT-N16. Хотелось наконец–то познакомиться с альтернативными прошивками. Характеристики этого рутера уже описывались на Хабре. Итак, DD-WRT установлена (v2.24), самба заведена, в первый юсб порт воткнута системная флешка, а во второй — внешний жесткий диск. А дальше я заинтересовался: а смогу ли я запустить свои программы на этом рутере? Я не нашел в сети руководства по сборке программ под рутер и надеюсь этой статьей восполнить пробел. Приведу пошаговое руководство с описанием небольших проблем, встреченных на пути.

В качестве подопытной программы мне хотелось запустить Easysync, о которой я недавно писал. Повторюсь, что это открытая программа для синхронизации файлов в стиле дропбокса. Программа написана с использованием Qt 4, а в качестве движка синхронизации используется Unison. Так что, эта статья описывает как откомпилировать Qt, Unison, Easysync для архитектуры MIPS и рассказывает о запуске Easysync на вашем домашнем рутере.
Поехали!
Total votes 58: ↑55 and ↓3+52
Comments42

Пишем интерпретатор трехадресного кода

Reading time6 min
Views7.8K

Введение



Добрый день.
Продолжаю писать о около-компиляторных темах. В этот раз затрону вопрос о проектировании и создании интерпретатора, который работает с синтаксическими деревьями.
Рекомендую ознакомиться с предыдущей статьёй — «Пишем LR(0)-анализатор. Простыми словами о сложном», потому что в интерпретаторе я не строю синтаксический анализатор с нуля, а использую наработки, описанные в той статье. Ах да, еще один немаловажный момент — писать будем на JavaScript. Я не поклонник этого языка, но считаю что это наиболее удобный для общественности способ посмотреть результат. Не каждый рискнёт качать неизвестно что, да и это всё же сложнее чем просто открыть страничку. Нетипичность инструмента компенсируется «учебностью» примера. Скорость работы не важна (100-150 строк лимит, мне кажется больше никто не захочет набирать того чтобы поиграться с интерпретатором), а понятность кода у JS достаточно велика.

Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments8

Свет и освещение

Reading time7 min
Views165K
Часто (в том числе и на хабре) всплывает вопрос освещения, особенно «нанотехнологиченого» светодиодного и зачастую говны священных войн «светодиод» против люминисцентных ламп начинают подбурливать. Больше года я уже собирался написать статью о свете, и оно наконец свершилось.
Из этой статьи вы узнаете почему в фотостудиях не снимают с люминесцентными лампами, почему светодиоды до сих пор не захватили мир и стоит ли ими освещать улицы. Поехали!
Читать дальше →
Total votes 302: ↑297 and ↓5+292
Comments208

Оптимизируем процесс работы в консоли

Reading time4 min
Views16K
Все привыкли редактировать текст в текстовых редакторах, блокнотах, веб-формах и т.д. В процессе набора текста мы пользуемся привычными стрелками, кнопками «End» и «Home», более опытные зажимают «Ctrl» и стрелками шагают по словам (что, кстати, не всегда работает). И при переходе на консоль мы ориентируемся на те же самые правила, даже не зная, что bash предлагает очень удобные средства и комбинации клавиш, которые очень упрощают работу и минимизируют количество операций для выполнения задачи. К тому же, в bash есть удобные средства работы с историей, масса различных подстановок и других интересных функций. Самые часто используемые мной и любым опытным администратором я и опишу в этой статье.
Читать дальше →
Total votes 256: ↑245 and ↓11+234
Comments76

Большая коллекция игр для Ubuntu на DVD — Ubuntu GamePack

Reading time8 min
Views7.8K
Доступна для загрузки Самая большая коллекция игр для Ubuntu — Ubuntu GamePack.

На 4-х DVD-дисках собраны более двухсот увлекательных игр: стратегии, шутеры, симуляторы, фэнтези, головоломки, образовательные игры для детей и многие другие жанры.

Вы сыграете и в классические шахматы, разгадаете загадки, выполните фигуры высшего пилотажа за штурвалом самолета над мегаполисом, почувствуете себя гонщиком, сразитесь на космических баталиях в бескрайних просторах космоса, построите город и постреляте по врагам из автомата в современном шутере.
На дисках есть красочные развивающие игры для маленьких героев от 3-лет.

Большинство игр возможно скачать из официального репозитория Ubuntu или дополнительного www.playdeb.net.
Но преимущество данного сборника состоит в том, что имея его под рукой и не имея БЫСТРОГО интернета (некоторые инсталляции игр занимают более 100М, а такой объем вы вряд ли скачаете быстро по модему), вы с легкостью можете установить игру на компьютере не имеющего подключения к интернет.
Все игры на дисках упорядоченны по жанрам.

Диски содержат только игры и не содержат операционной системы, поэтому требуют предустановленную систему Ubuntu Desktop 10.04 или новее.
Все игры представленные на дисках имеют установочные пакеты для 32-х и для 64-х разрядных систем.

Загрузить сие творение можно:
с FTP — http://ualinux.com/ru/windows-download/category/6-gamepack

c torrent — http://rutor.org/torrent/104504

для жителей Украины будет удобна загрузка с — http://www.ex.ua/view/6131394

Список игр на дисках:
Читать дальше →
Total votes 72: ↑60 and ↓12+48
Comments56

Отслеживание объектов на видео

Reading time1 min
Views51K
Чешский студент из британского университета Суррея Зденек Катал (Zdenek Kalal) в рамках практической части кандидатской диссертации разработал алгоритм Tracking-Learning-Detection (aka Predator) для отслеживания объектов в видеопотоке с самообучением (точность распознавания улучшается с каждым фреймом).

Демо проекта

Исходные коды на github: 1, 2, 3, 4, 5


Читать дальше →
Total votes 171: ↑160 and ↓11+149
Comments79

Information

Rating
Does not participate
Location
Макеевка, Донецкая обл., Украина
Date of birth
Registered
Activity