Pull to refresh
0
0

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

Send message

О передаче данных через аудиоразъём

Reading time4 min
Views68K
Одним из важных интерфейсов на мобильных устройствах и планшетных компьютерах является разъём для наушников/микрофона. Однако не стоит думать, что он предназначен только для колонок-наушников-микрофона – его можно использовать в том числе для передачи данных. Об этом сегодня и поговорим.


Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments63

Транзисторный усилитель класса А своими руками

Reading time6 min
Views259K


На Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.

В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.

Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments79

Новый PyCharm 4.5 собрал вместе все инструменты для работы с Python

Reading time2 min
Views43K
Всем привет! Мы выпустили новый PyCharm 4.5, который уже доступен для скачивания.



С момента предыдущего релиза PyCharm 4.0 прошло ровно полгода. За это время PyCharm получил ряд новых полезных инструментов для Python, Django и веб-разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом. Сегодня мы рады рассказать, что же интересного и важного появилось в новой версии PyCharm.
Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments22

Анонс Rust 1.0

Reading time9 min
Views29K
Сегодня мы с гордостью представляем релиз Rust версии 1.0, нового языка программирования для создания более надёжных и эффективных систем. Раст объединяет в себе низкоуровневый контроль над производительностью с удобством и гарантиями безопасности языков высокого уровня. Лучше того, он при этом не требует сборщика мусора или среду выполнения, так что библиотеками на Расте можно безболезненно заменять библиотеки на C (англ.). Если вы хотите поэкспериментировать с Растом, лучше всего начать с раздела «Getting Started» книги Rust Book (если вы предпочитаете читать с электронных книг, Паскаль Хертлиф (Pascal Hertleif) поддерживает неофициальные версии этой книги в электронном виде).
Читать дальше →
Total votes 71: ↑67 and ↓4+63
Comments61

Тренажер для системного администратора или как превзойти своих бывших сокурсников на собеседовании

Reading time5 min
Views80K
Доброго времени суток, читатель Мегамозга!

Эта статья не претендует на how-to, но может стать отличной отправной точкой для будущих выпускников ВУЗов. Именно для тех, кто понимает, что одними знаниями из ВУЗа работодателя не только не удивишь, но и не устроишь.

Здесь я постарался собрать советы по созданию некоего «тренажера» для будущих системных администраторов, которых я, к сожалению, не получил в свое время.

Всех новичков в этой сфере прошу к столу под кат.
Предупреждаю: здесь нет никаких конфигов и мануалов по настройке.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments3

Nginx на стероидах — расширяем функционал с помощью LUA

Reading time9 min
Views54K
Для обеспечения работы всех наших внешних продуктов мы используем популярный nginx. Это быстро и это надежно. Проблем с ним почти нет. Наши продукты также постоянно развиваются, появляются новые сервисы, добавляется новый функционал, расширяется старый. Аудитория и нагрузка только растет. Сейчас мы хотим рассказать о том, как мы ускорили разработку, неплохо увеличили производительность и упростили добавление в наши сервисы этого нового функционала, при этом сохранив доступность и отказоустойчивость затронутых приложений. Речь пойдет о концепции “nginx as web application”.
А именно, о сторонних модулях (в основном LUA), позволяющих делать совершенно магические вещи быстро и надежно.
image
Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments40

Мысли об идеальном языке программирования

Reading time10 min
Views30K


В данной статье я хотел бы поделиться своими мыслями об идеальном языке программирования общего назначения. В первую очередь — о языке, который мог бы заменить С++.

Так случилось, что языки программирования — мое хобби и мой основной интерес в сфере IT. Наверное, любой программист иногда мечтает создать свой собственный — идеальный — язык программирования. Для меня это нечто большее, чем просто мечта, фактически я уже давно собираю всю информацию по различным языкам и проектирую свой собственный язык.

На разных ресурсах я регулярно высказываюсь по вопросам этой тематики. В этой статье я попытался собрать основные мысли воедино. Мы рассмотрим основные недостатки С++, особенности других языков, которые так или иначе можно сравнивать с С++, и — самое интересное — потребности программистов в языковых фичах, на примере библиотеки Boost.

Данная статья не претендует на какую-то техническую полезность (хотя если она будет кому-то полезна, это замечательно). Это статья — приглашение к обсуждению.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments88

Защита для NGINX — NAXSI

Reading time3 min
Views38K

Что такое NAXSI ?


NAXSI = NGINX ANTI XSS & SQL INJECTION
Проще говоря, это файрвол веб-приложений (WAF) для NGINX, помогающий в защите от XSS, SQL-инъекций, CSRF, Local & Remote file inclusions.
Отличительными особенностями его являются быстрота работы и простота настройки. Это делает его хорошей альтернативой например mod_security и апачу.

Зачем нужен NAXSI ?

Очевидно, лучше всего защищаться от вышеперечисленных атак правильно написанным кодом. Но есть ситуации, когда WAF (и в частности naxsi), поможет:
  • Низкое качество кода сайта, при отсутствии возможности/ресурсов все выкинуть и переписать нормально.
  • “Закрытый” код, в котором невозможно исправить ошибки.
  • Неизвестное качество кода в важном для бизнеса участке.


Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments60

Мультиклет R1 — первые тесты

Reading time10 min
Views76K
     Время идёт, и мультиклеточный процессор продолжает расти, развиваться. Пока, правда, не размножается, и состоит всего из 4-х клеток, но это все у него впереди. В данной статье попытаюсь описать основные особенности нового процессора Мультиклет R1, его характеристики и функционал, а также сравнить процессор нового поколения с родоначальником династии — процессором Мультиклет P1.
     Кратко пробежимся по историческим моментам выпуска процессоров, заглянем ненадолго в теоретические основы работы наших процессоров, обратим внимание на особенности нового процессора и его основные возможности, сравним процессоры P1 и R1, покажем прототип первого продукта на R1, и в завершении сделаем небольшой анонс.


Рис 1. Кремниевая пластина процессоров R1
Читать дальше →
Total votes 81: ↑76 and ↓5+71
Comments150

Атака на оракула. Подробный гайд по векторам атак на Oracle DB

Reading time17 min
Views36K


Сегодня я бы хотел поговорить о векторах атак на СУБД Oracle на разных стадиях: как прощупать слабые места базы снаружи, проникнуть и закрепиться внутри плюс как все это дело автоматизировать с помощью специализированного софта. Архитектура и возможности базы данных весьма интересны, занимательных моментов немало, а значит, немало и способов все испортить. Однако не забывай: ломать — не строить, поэтому вся дальнейшая информация предоставлена исключительно с целью выявить недочеты в защищенности тестируемых систем и повысить безопасность.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments5

Hadoop: быть или не быть?

Reading time7 min
Views48K
Здравствуйте, уважаемые читатели!

Некоторое время назад у нас вышел перевод фундаментальной орейлевской книги о фреймворке Hadoop:



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

Поэтому мы решили опубликовать перевод статьи Ананда Кришнасвами, появившейся в блоге Thoughtworks еще в 2013 году, где автор пытается проанализировать, в каких случаях уместно использовать Hadoop, а в каких — излишне.

Надеемся, что материал покажется интересным, вызовет полемику, а Вы поделитесь Вашими впечатлениями о работе с Hadoop и поучаствуете в опросе.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments7

Определяем веса шахматных фигур регрессионным анализом

Reading time15 min
Views85K
Здравствуй, Хабр!

В этой статье речь пойдёт о небольшом программистском этюде на тему машинного обучения. Замысел его возник у меня при прохождении известного здесь многим курса «Machine Learning», читаемого Andrew Ng на Курсере. После знакомства с методами, о которых рассказывалось на лекциях, захотелось применить их к какой-нибудь реальной задаче. Долго искать тему не пришлось — в качестве предметной области просто напрашивалась оптимизация собственного шахматного движка.

Вступление: о шахматных программах



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

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

Строго говоря, настоящая оценка может принимать только три значения: выигрыш, проигрыш или ничья — 1, 0 или ½. По теореме Цермело для любой заданной позиции она определяется однозначно. На практике же из-за комбинаторного взрыва ни один компьютер не в состоянии просчитать варианты до листьев полного дерева игры (исчерпывающий анализ в эндшпильных базах данных — это отдельный случай; 32-фигурных таблиц в обозримом будущем не появится… и в необозримом, скорее всего, тоже). Поэтому программы работают в так называемой модели Шеннона — пользуются усечённым деревом игры и приближённой оценкой, основанной на различных эвристиках.
Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments45

Список ресурсов для изучения Ассемблера

Reading time4 min
Views438K
Доброго времени суток!
Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…

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

UPD
В список начали добавляться ресурсы по программингу микроконтроллеров.
Читать дальше →
Total votes 135: ↑130 and ↓5+125
Comments46

Native Script. Один код для всех платформ

Reading time4 min
Views60K
image

Native script (NS) – это библиотека, позволяющая делать кросс-платформенные приложения, используя XML, CSS, JavaScript. Native script решает ту же задачу, что и уже всем известный phonegap (создание кросс-платформенных приложений), но подходы у них разные. Phonegap использует движок браузера, чтобы отобразить ваш UI (фактически вы получаете веб-страницу), Native script использует нативный рендеринг, использует элементы нативного UI. Следующее важное отличие: чтобы получить доступ к камере, gps и так далее в phonegap необходимо устанавливать плагины, в то время как NS дает доступ из коробки.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments23

Поклонникам китайских пионеров

Reading time3 min
Views18K
Участие в различного рода мероприятиях приводит к грустному выводу: антивирус никому не интересен. Количество посетителей вендорских стендов стремится к нулю. Дошло до того, что уже не разбираются даже знаменитые подарки от Касперского. В основном подходят, чтобы сообщить о проблемах, вопросы «что нового?» и «а как?» отходят в область легенд…

И это на фоне того, что большинство (по моей статистике – примерно 19 из 20) администраторов даже не подозревает о том, что они не реализовали защиту от вредоносных программ – при полной уверенности в обратном. Пример? Да легко! Краткое содержимое статьи «CTB-Locker. Мы решили платить»:

  1. Клиент поймал шифровальшика.
  2. Антивирус плохой, поскольку пропустил его. Нужно сменить.

На самом деле это – типичная ситуация, с которой мы как вендоры сталкиваемся постоянно.

В комментариях, правда, указали, что все антивирусы пропускают. Естественно, развернулась дискуссия о методах защиты. Но что предлагали ее участники? За исключением одного (всего одного! — свой комментарий я не считаю, естественно) участника дискуссии – «Единственный способ борьбы с шифровальщиками — это бэкапы». Убиться и не встать.

Не буду повторять доказательства. Материалов в интернете много, из того, что находится в пределах Хабра, — серия статей «Как поймать то, чего нет». Здесь же опишем только тезисы – и да прочитают их те, кто уверен, что антивирус нужен для защиты от пропуска.
Читать дальше →
Total votes 32: ↑21 and ↓11+10
Comments136

11 важных вещей, которые нужно знать про DevOps — часть первая

Reading time9 min
Views303K

От переводчика


В 2009 года за рубежом возникло движение, которое назвало себя DevOps. На первый взгляд это разработчики с навыками сисадминов и сисадмины с навыками разработчиков. Но на самом деле это отнюдь не так. Данное подход имеет четкие цели, философию, инструменты и методы, которые только некоторые русскоязычные компании начинают использовать. Мне кажется, что данный подход у нас незаслуженно игнорируется и мне хотелось бы рассказать об 11 вещах, которые нужно знать о DevOps, в частности:
  • что такое DevOps
  • каковы его ценности
  • как он внедряется
  • кому он приносит пользу

Надеюсь, этот текст вам понравится.

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments11

Заглянем за кулисы разработки: подборка исходных кодов классических игр

Reading time10 min
Views83K
Обожаю заглядывать за кулисы. Мне интересно, как делаются вещи. Мне кажется, что большинству людей это тоже интересно.

Исторически так сложилось, что видеоигры не делятся исходниками. Конечно, они ведь предназначены для игроков. Но для программистов там всегда есть, на что посмотреть. И некоторые игры всё-таки выпускали свои исходники. А я давно намеревался сделать такую подборку.

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

Многие игры после выпуска исходников были улучшены и дополнены сообществом – я намеренно даю ссылки только на оригинальные исходники. Так что, если вас вдруг интересуют апгрейды – они могут существовать.

Многие игры были рассмотрены на сайте Fabien Sanglard. Если вам интересны подробности их работы, то пожалуйте к нему.

Можно заметить, что многие игры принадлежат id Software/Apogee. Совпадение? Не думаю. id славится открытостью и привычкой выпускать исходники. Старые коммерческие игры уже не имеют ценности и были бы потеряны – не лучше ли, чтобы кто-то учился чему-то полезному на их основе?

Итак, приступим (в хронологическом порядке):
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments12

Реализуем безопасный VPN-протокол

Reading time12 min
Views48K
Снова тема VPN, конфиденциальной передачи данных, безопасности и криптографии. Сейчас, в эру пост-Сноудена, стало модно клепать безопасные, уважающие приватность, невзламываемые, защищённые от спецслужб и цензуры программы. Однако эта статья – не очередной маркетинговый пиар, а, скорее, демонстрация того, как применяются криптографические примитивы и на что стоит обращать внимание при разработке подобного программного обеспечения.



Результатом этой работы предполагается создание работающего клиент-сервера, пригодного для review разработчиками (то есть немного кода на высокоуровневом языке), достаточно производительного, чтобы использоваться в промышленных условиях, имеющего высокий порог безопасности: GoVPN.
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments56

От Python скрипта до WSGI приложения

Reading time4 min
Views50K
Появилась задача написать веб интерфейс управления устройством. Управлять устройством будет Raspberry Pi. Логика управления — python, соответственно и интерфейс хотелось бы python. Хочу поделится своим опытом.

  • 1. lighttpd mod_cgi и простой скрипт
  • 2. web.py на порту 8080
  • 3. WCGI интерфейс
  • 4. Простой сервер WSGI
  • 5. WSGI с использованием wsgiref
  • 6. WSGI c помощью flup
  • 7. web.py приложение с использованием flup
  • 8. Немного особенностей

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments10

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

Reading time4 min
Views15K
На рынке информационной безопасности сейчас очень интересное время. В первом квартале 2015 года американские стартап-проекты, работающие в области ИБ, привлекли $1,02 млрд инвестиций, тогда как за весь 2011 год сумма была менее $1 млрд. Инвестиционные фонды и венчурные подразделения компаний все активнее ищут новые проекты в ожидании резкого увеличения бюджетов, выделяемых на безопасность, отмечает Financial Times со ссылкой на исследование PrivCo.

Причин для столь бурного роста более чем достаточно, и все о них наслышаны. Хакерские атаки на Sony Pictures и Home Depot, «фотоскандалы» Apple, потеря доверия к Bitcoin, появление в 2014 году «уязвимостей века» Heartbleed и Shellshock, а также естественное после такого хаоса ужесточение требований регуляторов почти во всех ведущих странах.

По прогнозам аналитиков Gartner, в 2015 году расходы на информационную безопасность увеличатся на 8,2% и составят $76,9 млрд. Сумма значительная, но и причины для этого не менее существенные. Хакерские атаки лишили Sony Pictures $100 млн, а ущерб шестого ритейлера США, компании Target, расценивается в $162 млн. В случае c американским дискаунтером оружием послужила программа KAPTOXA (позже переименованная в BlackPOS).



Большинство идей по защите информации, на которые обратили внимание инвесторы за последние пару лет, крутятся вокруг облачной и мобильной безопасности, а также технологий поведенческого анализа, как отмечает обозреватель Dark Reading Эрика Чиковски (Ericka Chickowski).
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments1

Information

Rating
Does not participate
Location
Новосибирская обл., Россия
Registered
Activity