Pull to refresh
0
0
Ivan Fedorov @oxyum

User

Send message

Беспроводная отладка STM32

Reading time3 min
Views11K
Хочу рассказать о необычном использовании ESP8266 в качестве посредника между STM32 и openOCD. У этого способа довольно много недостатков и его применение может быть вызвано только невозможностью использования обычного (проводного) средства отладки.

Плюс у этого способа один и он очевиден, поэтому перейду сразу к недостаткам:

  1. Требуется патчить openOCD
  2. Необходимо изменить прошивку в ESP8266
  3. Низкая скорость работы
Если все еще интересно
Total votes 25: ↑24 and ↓1+23
Comments5

OSSIM — разворачиваем комплексную open source систему управления безопасностью

Reading time12 min
Views142K


OSSIM (Open Source Security Information Management) — система управления, контроля и обеспечения информационной безопасности.
OSSIM «из коробки» включает в себя такой функционал как:
  • Сбор, анализ и корреляция событий — SIEM
  • Хостовая система обнаружения вторжений (HIDS) — OSSEC
  • Сетевая система обнаружения вторжений (NIDS) — Suricata
  • Беспроводная система обнаружения вторжений (WIDS) — Kismet
  • Мониторинг узлов сети- Nagios
  • Анализ сетевых аномалий – P0f, PADS, FProbe, Arpwatch и др.
  • Сканер уязвимостей – OpenVAS
  • Мощнейшая система обмена информацией об угрозах между пользователями OSSIM — OTX
  • Более 200 плагинов для парсинга и корреляции логов со всевозможных внешних устройств и служб

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

Программа курса и материалы по Scala

Reading time14 min
Views48K
Добрый день.

Меня зовут Головач Иван, я практикующий Java Tech Lead с опытом в программировании 10+ лет (Java EE, J2ME, C, C++, M-language, Delphi), который перешел на Scala.

Я подготовил и прочитал как обычные курсы по программированию (Java Core + Junior Java Developer), так и спецкурсы (Multicore Programming for JVM (раз и два)).

В данный момент я стартую спецкурс по Scala и в этом топике хочу поделиться материалами, которые я нашел наиболее интересными/информативными (курс готовился более года).
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments32

Свой простой DynDNS сервер

Reading time5 min
Views30K
Недавно ко мне обратились с вопросом «А какой внутренний IP адрес нужно указать в модеме для проброса порта на сервер?». Ответить на вопрос я не смог, так как давно не был на этом сервере, а квалификация человека на том конце не позволяла залогиниться на сервер и выполнить ip address show. Тогда я задумался над созданием своего простого аналога DynDNS сервера с возможностью хранения IP адресов всех интерфейсов клиента.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments16

Нейронная сеть против DDoS'а

Reading time7 min
Views40K

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

Читать дальше →
Total votes 177: ↑174 and ↓3+171
Comments46

24 способа повысить эффективность поиска в Google

Reading time6 min
Views78K
Листая lifehacker.com, я наткнулся на интересную статью о том, как можно более эффективно использовать поисковый сервис Google. В принципе я не ожидал встретить в ней чего-то принципиально нового для себя, тем не менее после прочтения результаты превысили мои ожидания. Думаю, эта статья может оказаться полезной для многих (ко мне чуть ли не каждый день обращаются люди с вопросами, которые можно решить элементарным поиском за две минуты).
Читать дальше →
Total votes 101: ↑91 and ↓10+81
Comments62

История Искусственного Интеллекта, часть 2. Нейросетевой ИИ — неизбежно или невозможно?

Reading time6 min
Views9.8K
Когда я еще только задумывал писать эту статью, я знал о нейросетях только то, что они вроде как копируют процесс мышления нашего мозга. Я и не подозревал, как я тогда ошибался.
В то время, когда кибернетики еще только начинали играть в свои игрушки, другие более серьезные ученые, работали над более серьезной проблемой. На основании нейрофизиологических данных о строении нейронов, клеток нашего мозга, они пытались воссоздать их структуру. Это было за несколько лет, до того самого семинара, где впервые заговорили об ИИ.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments84

Вредные советы лукавому IT-разработчику

Reading time1 min
Views890
Если деньги прикарманил и работу не сдаешь,
А заказчик напирает, и ему все невтерпеж,

Ты скажи, что ты трудился, что ночами ты не спал,
Но проклятый RAID сломался, и исходный код пропал.

И поэтому сегодня, сделав честное лицо,
Ты заказчику подсунул вот такое говнецо.

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

Что команда там трудилась, что успешно шел проект,
Но потом беда случилась — генеральский, б***ь, эффект.

Мол, министр образованья разработки посмотрел,
А проклятый, сука, сервер, через сутки полетел.

А когда вдруг очутилось, что у профи копий нет,
Им пришлось спасать министра и выкладывать макет.

Ты скажи, что ты хороший и готов проект поднять,
Что готов еще освоить миллионов двадцать пять.

— б***ь = брить :-))
Total votes 172: ↑141 and ↓31+110
Comments152

Габриэль Гарсия Маркес — 13 ФРАЗ О ЖИЗНИ

Reading time1 min
Views5.7K
1. Я люблю тебя не за то, кто ты, а за то, кто я, когда я с тобой.
2. Ни один человек не достоин твоих слез. А те, кто их достойны, никогда не заставят тебя плакать.
3. Только потому, что кто-то не любит тебя так, как тебе хочется, не означает, что он не любит тебя всем сердцем.
4. Настоящий друг — это тот, кто будет держать тебя за руку и чувствовать твое сердце.
5. Наихудший способ грустить о ком-то — это быть с ним и понимать, что он никогда не будет твоим.
6. Никогда не прекращай улыбаться, даже когда тебе грустно, потому что кто-то может влюбиться в твою улыбку.
7. Возможно, в этом мире ты лишь человек, но для кого-то ты — весь мир.
8. Не трать времени на человека, который не желает проводить его с тобой.
9. Возможно, Бог хочет, чтобы мы встречали не тех людей, пока мы не встретим ТОГО ЕДИНСТВЕННОГО. Чтобы, когда это в конце концов случится, мы были благодарны.
10. Не плачь, потому что это прошло. Улыбнись, потому что это было.
11. Всегда найдутся люди, которые сделают тебе больно. Нужно продолжать верить людям, просто быть немного осторожнее.
12. Стань лучше и сам пойми, кто ты, прежде чем встретишь нового человека и будешь надеяться, что он поймет тебя.
13. Не прикладывай столько усилий — все лучшее приходит неожиданно.

Источник: Хутір.info
Total votes 72: ↑41 and ↓31+10
Comments65

Talk on the Run. Говорящий программист

Reading time4 min
Views1K
Я довольно давно сижу в глубоко эшелонированном тылу IT-контор, успешно шесть лет прикидываясь блондинкой и внедряя ростки психологического знания и коммуникативных навыков в программерские головы всех видов и мастей.
И вот дозрела поделиться тем, зачем, собственно, говоря, я это делаю, и как именно.

Зачем?

  • Большинство проектов, с которыми мне приходится сталкиваться, устроены по принципу двух-трех-уровневой иерархии, причем наверху пищевой цепочки находятся серьезные боссы, управляющие серьезными клиентами, а внизу – кодеры за еду разной степени продвинутости. В золотой середине сидят тимлиды, они же техлиды, они же координаторы, на которых, собственно говоря, и ложится основная ответственность за реальный value и реальный delivery.
  • Эти люди чаще всего – собственный продукт компании, начинавшие как молодая шпана, прошедшие длинный путь развития, и при этом – они категорически не рвутся превращаться в больших начальников, поскольку свежий ветер еще шумит у них в голове, и отрываться от своей, любовно возделанной на .NET грядки, им совсем даже не хочется.
  • Тем не менее – к ним приходят и говорят: у тебя растут года, парень, пора руководить, че.

Читать дальше →
Total votes 144: ↑126 and ↓18+108
Comments146

Grub 2 + VHD: установка и загрузка ОС Windows 7 Ultimate

Reading time4 min
Views87K

Введение


Ни для кого уже не секрет, что начиная с версии Windows 7 Ultimate, операционные системы от Майкрософт умеют загружаться будучи установленными на образ жесткого диска формата VHD. Однако, данная возможность «из коробки» доступна только пользователям этой самой Windows 7 Ultimate.

У меня же, убежденного пользователя Arch Linux, потребность в применении этой технологии возникла из-за необходимости иметь винду под рукой в дуалбуте и именно в реальном окружении. 90% процентов задач, для которых нужен Windows, разумеется решаются путем виртуализации, и мощности современного железа, и возможности виртуальных машин, позволяют даже в игры играть в виртуальной среде. Однако, возникла необходимость в использовании пакета «Универсальный механизм», который под вайном работает криво (допускаю и что руки у меня кривые), а в виртуальной среде, понятное дело, безбожно теряет прыть. В общем понадобилась Windows, но таскать разделы на винте и менять его разметку страшно не хотелось ради установки одной программы под винду.

Решение нашлось в реализации загрузки из VHD-образа с использованием загрузчика Grub2, ставшего стандартом де-факто во многих популярных дистрибутивах Linux. Об этом собственно и пойдет речь.

Какие преимущества перед стандартной установкой Windows в дуалбут с линуксом дает такая методика:

  • Весь процесс установки и настройки выполняется в среде OS Linux, с использованием менеджера виртуальных машин VirtualBox
  • Раздел, где хранятся образы может быть любого типа: первичный или логический. Он не обязательно должен быть активным
  • Количество устанавливаемых систем ограничено лишь размерами NTFS раздела. Все системы изолированы друг от друга
  • Не происходит перезапись MBR, линукс-загрузчик остается нетронутым
  • При замене HDD можно просто скопировать Linux (содержимое всех разделов, подробнее об этом здесь) на новый винт, рекурсивно с сохранением атрибутов, установить Grub 2 на новый винт и вуаля — Ваши Windows- системы перенесутся как ни вчем не бывало. Это удобно


Итак, перейдем к описанию метода.

Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments33

Собираем лазерный проектор из доступных деталей

Reading time7 min
Views87K
UPD: Добавлены файлы платы с ЦАП на GitHub

Изначально я планировал сделать Лазерную арфу, но пока получился промежуточный результат — устройство, которое можно использовать как лазерный проектор — рисовать лазером различные фигуры, записанные в файлах формата ILDA. Я в курсе, что многие, кто берется за сборку лазерного проектора, в качестве устройства, управляющего гальванометрами (так и не понял как лучше перевести на русский сочетание “galvo scanner"), используют дешевые слегка модифицированные звуковые платы для компьютера. Я пошел иным путем, так как в конечном счете мне нужно будет полностью автономное устройство, которое может работать без компьютера.



Посмотрим из чего состоит мой лазерный проектор. Стоимость всех деталей составила около 8000 руб, из которых больше половины — это 70mW лазерный модуль.
  1. Гальванометры и драйверы к ним для отклонения луча лазера по осям X/Y
  2. 532нм 70mW лазерный модуль с питанием от 5В Dragon Lasers SGLM70
  3. Texas Instruments Stellaris Launchpad
  4. Самодельная плата с ЦАП AD7249BRZ
  5. Блок питания

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments10

SRP-6: аутентификация без передачи пароля

Reading time5 min
Views33K
Как и было обещано в соседней теме, где рассказывался велосипед, выкладываю описание алгоритма SRP RFC2945 — способе регистрации и аутентификации пользователей безопасным образом по небезопасному каналу. Вот только в процессе подготовки статьи я обнаружил более свежую версию протокола, SRP-6, вместе с реализацией, в связи с чем решил выбросить свои архаичные наработки по SRP-3, и просто дать ссылки на имплементацию новой версии.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments28

Яндекс и Высшая школа экономики открывают факультет Computer Science

Reading time2 min
Views43K
Компьютерная наука так быстро развивается, что классическое образование за ней просто не успевает. Между тем потребность в специалистах в области Computer Science сейчас огромна. Вместе с Высшей школой экономики мы хотим создать факультет, где люди смогут получить полноценное высшее образование в этой сфере. Он будет готовить специалистов по программам «Теоретическая и прикладная информатика» и «Программная инженерия». Занятия начнутся уже в сентябре этого года.



Новый факультет компьютерных наук — это «большой» факультет. В Высшей школе экономики так называются структурные объединения, отвечающие за целую предметную область. Он объединит отделение программной инженерии, а также отделение прикладной математики и информатики, которые уже существовали в Высшей школе экономики. К ним добавится новый департамент — больших данных и информационного поиска. Он будет создан на основе базовой кафедры Яндекса, которая работает в НИУ ВШЭ с 2008 года. Учебный план факультета создаётся совместно преподавателями университета и специалистами Яндекса. В него войдут курсы по машинному обучению, компьютерному зрению, Big Data и другим направлениям компьютерных наук. Лекции и семинары будут вести преподаватели НИУ ВШЭ, сотрудники Яндекса и преподаватели Школы анализа данных.
Читать дальше →
Total votes 96: ↑90 and ↓6+84
Comments50

Гарантированная отложенная доставка сообщения

Reading time5 min
Views11K
Здравствуйте, эта статья более представляет собой наброски для размышления, нежели полноценную статью и её цель — обсудить одну интересную и неактуальную тему.

Постановка задачи

Передать сообщение собеседнику, быстро проверить доставку, гарантировать возможность чтения не ранее, чем через заданное время, причём гарантировать только саму возможность чтения, а не непосредственно чтение.
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments6

Numenta NuPIC: первые шаги

Reading time5 min
Views15K

Введение


Numenta NuPIC — открытая реализация алгоритмов, моделирующих процессы запоминания информации человеком, происходящие в неокортексе. Исходные коды NuPIC на github

В двух словах, назначение NuPIC можно описать как «фиговина, выявляющая, запоминающая и прогнозирующая пространственные и временные закономерности в данных». Именно этим большую часть времени занимается человеческий мозг — запоминает, обобщает и прогнозирует. Очень хорошее описание этих процессов можно найти в книге Джеффа Хокинса «On Intelligence» (есть русский перевод книги под названием «Об интеллекте»).

На сайте Numenta есть подробный документ, детально описывающий алгоритмы и принципы работы, а также несколько видео.

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

Ресурсы, о которых должен знать каждый Android-разработчик

Reading time6 min
Views189K
Сегодня я хочу поделиться с вами моим вольным переводом статьи, написанной Сергеем Повзнером (Sergey Povzner). Сергей ведёт блог bongizmo.com и занимается разработкой туристических гидов под общим названием Citybot.

В то время как Android продолжает свой невероятный рост, всё больше и больше программистов начинают разрабатывать приложения на этой платформе. Если ты начинаешь свой путь сегодня, то ты определенно — счастливчик. За последние годы Android значительно повзрослел и избавился от множества детских болезней. Информации по платформе более чем достаточно. Я же расскажу о самых важных ресурсах.

Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
Читать дальше →
Total votes 133: ↑128 and ↓5+123
Comments33

Что плохого в работе на результат

Reading time11 min
Views216K
Все чаще приходится слышать: "Работай на результат!"

"Работай на результат!" — кричит начальник подчиненному, чтобы заставить этого тупого неповоротливого кретина, принятого в команду по протекции, приносить хоть какую-то пользу общему делу.

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

"Обязательна ориентированность на результат!" — напишет пожилая кадровичка «ГорАвиаВагонМорСтроя» в требования к кандидату на должность помощника бухгалтера, будучи уверенной в том, что раз все так пишут, то и ей надо.

"Наш девиз — Работа на Результат!" — именно так, с двумя Большими Буквами для большего пафоса пишет на корпоративном сайте очередной говноконторы-однодневки молоденькая девочка-всё-в-одном, гордо именующая себя помощником руководителя по связям с общественностью. И этот самый руководитель, даже не знающий, что секретутка это, оказывается, ни больше ни меньше, целый его помощник, тоже употребит эту фразу на фуршете в городской администрации с целью создать себе рекламу в среде местных бюрократов.

Культ карго. Мало кто из произносящих эту фразу может внятно объяснить, какой смысл в неё вкладывается. Люди верят в неё, как в волшебную формулу, заклинание, они пихают её куда ни попадя, надеясь, что она придаст им уникальность, выделит их из толпы таких же неудачников. Организации, Компании, конторы да и откровенные «шараги» не мыслят себя без этого лозунга. Как же это, «Рога и копыта» работают на результат, а мы, что, хуже?



А хуже ли?
Осторожно! Тентакли под катом!
Total votes 255: ↑227 and ↓28+199
Comments174

Установка зашифрованной (TrueCrypt) Windows при Ubuntu по умолчанию

Reading time6 min
Views62K
Нужно: поставить на одну машину одновременно Windows и Ubuntu таким образом, чтобы нельзя было посмотреть содержимое Windows, не имея пароля. CD-ROM'а нет, USB Only.
Работа с виртуалкой из под Ubuntu не понравилась по многим причинам, основная — существенные проблемы производительности.
Решено: ставить параллельно 2 операционки (Windows & Ubuntu) таким образом, что по умолчанию грузится Ubuntu, а Windows размещается на загрузочном разделе.
Читать дальше →
Total votes 66: ↑59 and ↓7+52
Comments28

SORM. Новый элегантный и масштабируемый ORM фреймворк для Scala

Reading time2 min
Views8.2K
Тот, кому доводилось иметь дело с выбором ORM для Scala, наверняка, наслышан о таких библиотеках, как Slick (Scala Query), Squeryl, Circumflex и пр., и, не менее вероятно, согласится со следующими утверждениями: они не абстрагируются от реляционных концепций, они требуют описания модели специфическими способами, API зачастую запутан и рассредоточен, и, наконец, то, насколько предложенные этими библиотеками абстракции в действительности упрощают работу с базой данных является, по меньшей мере, сомнительным.

Так и родилась идея создать фреймворк, который
  1. возведёт абстракцию над базой данных до более высокого уровня, представляя её через стандартные типы данных Scala: примитивы, кортежи, опции, коллекции и тд., а так же стандартные кейс-классы, представляющие собой сущности,
  2. выполняя первую задачу, будет «чистым», что означает полное исключение концепций реляционной стороны из API фреймворка: никаких таблиц, строк и реляционных связей,
  3. возведёт в принцип основы функционального программирования: только немутируемые типы данных, сведение State к минимуму,
  4. будет выполнять за пользователя всё, что он может, за счёт чего достигнет минимизации boilerplate.

Как видите, задачи все стояли достаточно бескомпромиссные, однако они были решены. За счёт этого удалось добиться последовательности, простоты и вытекающей интуитивности фреймворка, — и это при отнюдь не слабых возможностях. Boilerplate удалось, и вовсе, исключить.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments21

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity