RSS
Pages: 1 ... 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 ... 133
[>] Уязвимость скриптов инициализации Cryptsetup в Debian: достаточно просто зажать Enter
habra.16
habrabot(difrex,1) — All
2016-11-16 16:00:06


![][1]

В безопасности Debian и ряда других дистрибутивов Linux обнаружилась огромная брешь, которая оставалась незамеченной с версии 2.6. Все интернет-издания ссылаются на [отчет][2] авторства Гектора Марко и Исмаила Риполла из компании Cybersecurity Group.

Уязвимость находится в скриптах, которые дают доступ к разбивке системы на разделы, при условии, что процедура защищена с помощью Linux Unified Key Setup (LUKS). Сведения о «слабом месте» были обнародованы 11 ноября во время конференции по безопасности [DeepSec 2016][3] в Вене. Название доклада, прозвучавшего со сцены, — «Злоупотребление LUKS для взлома системы».
[Читать дальше →][4]

[1]: https://habrastorage.org/files/041/784/405/041784405a404ad1a02df1c92c68c2b7.png
[2]: http://hmarco.org/bugs/CVE-2016-4484/CVE-2016-4484_cryptsetup_initrd_shell.html
[3]: https://deepsec.net/
[4]: https://habrahabr.ru/post/315376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Сотворение мира Опыт создания разумной жизни своими руками
habra.16
habrabot(difrex,1) — All
2016-11-16 18:00:05


Иногда проводишь день в попытках без использования терминов «рекурсивный вызов» и «идиоты» объяснить главному бухгалтеру, почему на самом деле простое изменение учетной системы затягивается почти на неделю из-за орфографической ошибки, допущенной кем-то в коде в 2009 году. В такие дни хочется пооборвать руки тому умнику, который сотворил этот мир, и переписать все с ноля.

![image][1]

TL;DR
Под катом история о том, как я в качестве практики для изучения Python разрабатываю свою библиотеку для [агентного моделирования][2] с машинным обучением и богами.

[Ссылка ][3]на github. Для работы из коробки нужен [pygame][4]. Для ознакомительного примера понадобится [sklearn][5].
[Читать дальше →][6]

[1]: https://habrastorage.org/files/8fd/c07/73c/8fdc0773c47140ddb1b93904dcbfdcbc.jpeg
[2]: https://ru.wikipedia.org/wiki/%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
[3]: https://github.com/pavmav/sandbox-learn
[4]: http://www.pygame.org/download.shtml
[5]: http://scikit-learn.org/stable/install.html
[6]: https://habrahabr.ru/post/315424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Пишем протоколы счетчиков Меркурий 230 и Меркурий 200 для OpenSCADA
habra.16
habrabot(difrex,1) — All
2016-11-16 18:00:05


**Для кого **
— Для тех кто использует OpenSCADA, но не может реализовать больше чем решения «из коробки»
— Для тех кто ищет СКАДу для себя, но так и не может определится
— Для тех кто забросил этот проект, так и не разобравшись как он работает

**Зачем **
— Данное решение позволяет считывать показания счетчиков меркурий 230 и меркурий 200 без каких либо лимитов
— Это бесплатно

[![][1]][2]
Проекту openscada (oscada.org) уделяют не заслужено мало внимания, о нем написана всего одна статья на хабре. Большинство инженеров боятся трогать и трехметровой палкой этот продукт, черт его знает какой этот ваш линукс. Разрабатывает его уже не первый десяток лет фактически один человек, Роман Савоченко.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/0a4/e49/280/0a4e49280b46438e8d59e48697dec11f.jpg
[2]: https://habrahabr.ru/post/315430/
[3]: https://habrahabr.ru/post/315430/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Визуальный генератор регулярных выражений
habra.16
habrabot(difrex,1) — All
2016-11-16 20:00:04


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

Большинство из нас, впервые столкнувшись с данной проблемой, начинают забивать в поисковых системах что-то типа: «regexp online generator» и к своему великому сожалению осознают что гугл сломался все результаты в поиске являются сервисами для проверки корректности уже составленного регулярного выражения (или я плохо гуглил).


### А как же составить это самое регулярное выражение?


![image][1]
**До недавнего времени существовало 2 ответа на этот вопрос:**

1. Изучить документацию по регулярным выражениям и составить регулярку самому
2. Попросить кого-то более опытного сделать это за вас
Теперь, после нескольких месяцев разработки, рад представить и 3-й ответ:

» [Генератор регулярных выражений][2]


### История


Давным давно, в одном проекте пришел довольно интересный и сложный запрос от внутренних пользователей. Персоналу технической поддержки нужно было самим задавать правила валидации для определенных полей, разным пользователям. Правила должны были часто и очень оперативно изменяться.
[Читать дальше →][3]

[1]: http://boobooka.com/wp-content/uploads/2013/08/jackie-chan-wtf-face-i16.jpg
[2]: https://uiregex.com/ru
[3]: https://habrahabr.ru/post/315442/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обзор децентрализованных крипто-платформ. Часть 2: Lisk
habra.16
habrabot(difrex,1) — All
2016-11-16 21:00:05


![image][1]Этим постом мы продолжаем цикл обзоров блокчейн-платформ ([Часть 1: Waves][2]), которые крайне редко упоминаются и обсуждаются в российских СМИ, однако, широко известны в узких «криптовалютных» кругах и среди энтузиастов.

Во втором материале цикла речь пойдет об open source блокчейн-платформе Lisk, которой к марту этого года за время предварительной продажи монет (ICO) [удалось собрать][3] 14 009 BTC и более 80 млн XCR на общую сумму 5,9 млн долларов.

Я решил подробнее ознакомиться с функционалом этой платформы децентрализованных приложений, которая дает разработчикам возможность самостоятельно участвовать в экосистеме проекта. При этом сами разработчики постепенно отказываются от привычного термина dapps в пользу термина «блокчейн-приложения».
[Читать дальше →][4]

[1]: https://habrastorage.org/files/8da/623/2f2/8da6232f2aa14454b626ed749998062e.png
[2]: https://habrahabr.ru/company/web_payment_ru/blog/310082/
[3]: http://www.coinfox.ru/novosti/5160-lisk-ico-ends-with-5-880-000-attracted-during-crowdfunding
[4]: https://habrahabr.ru/post/313294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание динамических анимаций в WatchKit
habra.16
habrabot(difrex,1) — All
2016-11-17 10:30:03


_Обнаружил эту статью в черновиках. Если её не опубликовать сейчас, то уже никогда – она безвозвратно устареет и место ей только на помойке._

Не так давно компания Apple представила WatchKit Framework для разработки приложений под свои фирменные часы Apple Watch. На данный момент iOS 8.3 SDK очень ограничен – весь код выполняется на iPhone/iPad, а на часах находится только интерфейс и картинки. Таким образом, при любом взаимодействии с элементами интерфейса – код выполняется на iOS-устройстве, а сигнал проходит от часов до устройства по Bluetooth и обратно. Создание анимаций из заранее нарезанных кадров – задача довольно примитивная и уже разжевана во многих блогах. Под катом речь о создании динамической анимации, кадры который подготавливаются на CoreGraphics.

![][1]
[Я люблю динамические анимации][2]

[1]: https://habrastorage.org/files/d9e/2b7/a93/d9e2b7a9376d4053a70bcb267fee6d84.gif
[2]: https://habrahabr.ru/post/254397/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на встречу с практикующими защитниками АСУ-ТП
habra.16
habrabot(difrex,1) — All
2016-11-17 13:30:04


Каждый месяц мы проводим встречи CoLaboratory, на которых технические специалисты с различными интересами могут встретиться и поговорить с экспертами «Лаборатории Касперского». Очередная встреча, которая пройдёт 21 ноября в нашем московском офисе, будет посвящена защите автоматизированных систем управления технологическими процессами. На ней выступят специалисты с опытом проектирования, внедрения и эксплуатации АСУ ТП, которые поделятся своим опытом в вопросах защиты таких систем.

![image][1]

[Читать дальше →][2]

[1]: https://habrastorage.org/files/e2d/e04/3a6/e2de043a655b441d9ca30fe3add53700.jpg
[2]: https://habrahabr.ru/post/315404/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сноуден в Россию, Хэммонд за решетку
habra.16
habrabot(difrex,1) — All
2016-11-17 13:30:04


В ноябре 2016 года Джереми Хэммонд стал на 3 года ближе к тому, чтобы выйти из тюрьмы и начать пользоваться компьютером без уведомления своих инспекторов и не только «в образовательных целях». Про него сейчас уже не пишут, а если забить в гугл, то появится очень странная выдача, включая новости о смене ведущих в Top Gear, а ведь это человек, который [пополнил Wikileaks документами из Stratfor][1].

![][2] [Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/%D0%A5%D0%B0%D0%BC%D0%BC%D0%BE%D0%BD%D0%B4,_%D0%94%D0%B6%D0%B5%D1%80%D0%B5%D0%BC%D0%B8#.D0.94.D0.B5.D0.BB.D0.BE_Stratfor
[2]: https://habrastorage.org/files/c68/6e5/899/c686e589909b41e6aa404d2ecc458bef.jpg
[3]: https://habrahabr.ru/post/315474/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Второй митап сообщества любителей Rust в «Лаборатории Касперского»
habra.16
habrabot(difrex,1) — All
2016-11-17 17:00:03


Весной прошёл [первый митап][1] сообщества rustycrate.ru в штаб-квартире «Лаборатории Касперского». А в мире Rust за прошедшие полгода произошло много интересного: были реализованы футуры и асинхронный ввод-вывод поверх них, сделан первый выпуск системы поддержки IDE, появилась инкрементальная сборка. Иными словами, опять есть о чем поговорить.

![image][2]

Поэтому, 22 ноября в 19:00 мы собираемся провести еще один митап сообщества. И приглашаем всех, кого интересует этот язык программирования в наш московский офис. На встрече мы планируем обсудить опыт реального применения Rust в задачах системного программирования и тестирования. Поговорим о том, что получается хорошо, а что — не очень. А докладчики из сообщества расскажут, как Rust помогает им и как его готовить, чтобы он помогал вам.

[Читать дальше →][3]

[1]: https://events.kaspersky.com/event/rust
[2]: https://habrastorage.org/files/464/06e/1bd/46406e1bd79d4ab38507f0a0773c41f2.jpg
[3]: https://habrahabr.ru/post/315502/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вышел ReactOS 0.4.3 под кодовым именем «Haters gonna hate»
habra.16
habrabot(difrex,1) — All
2016-11-17 18:00:04


Мы знаем, что скажет типичный хейтер:
![][1]

Но мы все равно представляем вашему вниманию новую версию нашей OS. Большой пресс–релиз на английском с картинками и видео [здесь][2], чейндж лог [тут][3], а скачать образы можно [там][4]!

Из пресс-релиза вы сможете узнать удивительный факт, что новый разработчик проекта Питер Хейтер (Peter Hater, да-да, не все хейтеры одинаково бесполезны!) вместе с Андреасом Майером весьма результативно потратил уйму времени и сил на завершение интеграции «новой» версии библиотеки для обслуживание сокетов winsock, которую ранее разработали [Алекс Ионеску][5] и Гед Мёрфи. Новая библиотека Winsock позволила существенно улучшить совместимость с сетевыми приложениями, такими как клиент GoG (Good old Games) и новые версии модулей для разработки на языке Python (2 и 3 версий)


Всего за три месяца было устранено более 340 ошибок, в частности исправлена [страшная регрессия][6], которая таилась во всех предыдущих релизах года с 2010 (но о ней никто не сообщал), приводившая к повреждению заголовка таблицы разделов на дисках с GPT при использовании LiveCD. [Читать дальше →][7]

[1]: https://habrastorage.org/files/dd2/6a9/6a9/dd26a96a9e8d4fde99c91f97b21ee432.jpg
[2]: https://www.reactos.org/project-news/reactos-043-released
[3]: https://reactos.org/wiki/ChangeLog-0.4.3
[4]: https://www.reactos.org/download
[5]: https://habrahabr.ru/post/312734/
[6]: https://jira.reactos.org/browse/CORE-12261
[7]: https://habrahabr.ru/post/315518/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на субботний день GeekWeek в оффлайн
habra.16
habrabot(difrex,1) — All
2016-11-17 18:00:04


![][1]

Сейчас в самом разгаре [недельная онлайн-конференция Geek Week][2]. Послезавтра она завершится, и это будет единственный день конференции в оффлайн-формате. В московском офисе Mail.Ru Group вы сможете послушать выступления IT-специалистов из разных компаний и вживую пообщаться с единомышленниками. Программа — под катом.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/6da/5e0/490/6da5e049060e4148a2919c777fd47160.jpg
[2]: https://habrahabr.ru/company/mailru/blog/315034/
[3]: https://habrahabr.ru/post/315508/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Узнаю, когда увижу» — изучаем точность Google Cloud Vision с помощью Tumblr и NSFW контента
habra.16
habrabot(difrex,1) — All
2016-11-18 03:30:03


![image][1]



Для небольших команд и технологических стартапов облачные сервисы зачастую являются единственным шансом наладить бизнес-процессы и выпустить продукт на рынок в разумные сроки. Такие крупные игроки как Google, Microsoft, Amazon, Яндекс предлагают широкую линейку продуктов всем желающим. И если к надежности корпоративной почты вопросов не возникает, то к сервисам машинного обучения порою следует относиться настороженно.
Особенно тогда, когда вы пытаетесь научить машину различать объекты, разницу между которыми не всегда можно внятно описать даже знающему человеку. Насколько точны алгоритмы, лежащие в основе решений "из коробки" от крупных компаний?

[Читать дальше →][2]

[1]: https://habrastorage.org/files/4e6/f2c/64c/4e6f2c64c20449a08e2c79551e46f74c.jpg
[2]: https://habrahabr.ru/post/315532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Этикет и этика пользования OpenSource
habra.16
habrabot(difrex,1) — All
2016-11-18 08:00:04


Написать этот пост меня побудило [справедливое замечание][1] пользователя VBart к моему же предыдущему посту, который сейчас в черновиках. После соответствующих правок опубликую черновик — ссылка на комментарий заработает.

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

Здесь как нельзя лучше подходит «золотое правило христианина»: «Относись к другим так, как хотел бы, чтобы относились к тебе», поэтому представим, что мы уже написали абстрактный проект (не суть важно, какой именно) и хотим, чтобы к нему относились хорошо.
[Поехали!][2]

[1]: https://habrahabr.ru/post/315098/#comment_9907108
[2]: https://habrahabr.ru/post/315530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Телнет и ботнет
habra.16
habrabot(difrex,1) — All
2016-11-18 09:00:03


Недавняя крупнейшая DDoS атака на DNS-серверы компании Dyn на Хабре [не прошла незамеченной][1]. Особенностью этого блэкаута стала широкое применение `http` запросов c IoT устройств и открытый 23-й `tcp` порт, используемый службой `telnet`.


![][2]





Оказывается, _телнет жив_ и хорошо устроился на встроенных системах и приманках. По злому-ли умыслу или человеческому недомыслию что это, глупость или измена? telnet порт был открыт и вовсю гадил у _огромного_ количества IoT устройств, за несколько месяцев до блэкаута, но контр-мер не принимали, пока гром не грянул.

[AYT 246 are you there?][3]

[1]: https://habrahabr.ru/search/?q=ddos+dyn
[2]: https://habrastorage.org/files/2ba/f08/3c6/2baf083c6cfa49cfba262efd135a8e78.png
[3]: https://habrahabr.ru/post/315266/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уязвимость в продуктах VMware позволяет осуществлять выполнение кода на хост-системе виртуальной машины
habra.16
habrabot(difrex,1) — All
2016-11-18 09:00:03


[![][1]][2]

Китайские специалисты по информационной безопаности обнаружили уявзимость в продуктах VMware, которая позволяет злоумышленнику получать доступ к виртуальной машине и осуществлять выполнение кода на хост-системе.

Ошибка была проэксплуатирована в ходе хакерских соревнований PwnFest, которые состоялись в рамках проходившей в Южной Корее конференции Power of Community. Участники китайской группы исследователей Qihoo 360 также смогли взломать новый смартфон от Google под названием Pixel, а также Microsoft Edge и Adobe Flash, выиграв в общей сложности [более полумиллиона][3] долларов призового фонда — по [данным][4] СМИ, уязвимость VMware была оценена в $150 000. [Читать дальше →][5]

[1]: https://habrastorage.org/files/134/4ca/724/1344ca7241d44f12be6b381807cc6097.png
[2]: https://habrahabr.ru/company/pt/blog/315540/
[3]: http://www.chinapost.com.tw/china/business/2016/11/15/483920/Chinese-hackers.htm
[4]: https://threatpost.com/vmware-patches-vm-escape-vulnerability/121953/
[5]: https://habrahabr.ru/post/315540/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Квантизация изображений
habra.16
habrabot(difrex,1) — All
2016-11-18 12:00:04


Квантизация — уменьшение цветов изображения ([wiki][1]). Конечно, сейчас мало кому это необходимо, но задача сама по себе интересная.

![][2]
_Квантизированная [Лена][3] привлекает внимание_

Например, старый добрый формат GIF использует палитру, максимум на 256 цветов. Если вы захотите сохранить серию своих селфи как gif-анимацию (кому бы это надо было), то первое, что вам, а точнее программе, которую вы будете для этого использовать, надо будет сделать – создать палитру. Можно использовать статическую палитру, например [web-safe colors][4], алгоритм квантизации получиться очень простым и быстрым, но результат будет «не очень». Можно создать оптимальную палитру на основе цветов изображения, что даст результат наиболее визуально похожий на оригинал.

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

Далее вас ждёт скучное и непонятное повествование о методе медианного сечения, алгоритму рассеивания ошибок (шума квантизации) по Флойду-Стейнбергу (и не только), особенностях цветового восприятия человеческого глаза, а так же немного говнокода. [Читать дальше →][5]

[1]: https://en.wikipedia.org/wiki/Color_quantization
[2]: https://habrastorage.org/files/469/4b9/630/4694b96305f64f1287f6e8b4dee40a8a.gif
[3]: https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D0%BD%D0%B0_(%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5)
[4]: https://websafecolors.info/
[5]: https://habrahabr.ru/post/315490/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лепим микросервис
habra.16
habrabot(difrex,1) — All
2016-11-18 12:30:03


Подкинули задачу сделать микросервис, который получает данные от RabbitMQ, обрабатывает, и отправляет данные дальше по этапу в RabbitMQ. После отправки задания, я посмотрел на то что поучилось. Оказалось, что этот набор компонентов можно использовать для быстрого прототипирования [pipeline архитектуры][1]



Используемые компоненты:


* [REACT-CPP][2];
* [AMQP-CPP][3];
* [RapidJSON][4];
* [LevelDB][5];
* [Easylogging++][6].

Для примера буду делать микросервис для выдачи рейтинга игроков. От ядра системы в микросервис приходят следующие сообщения:


* _player\_registered(id,name)_;
* _player\_renamed(id,name)_;
* _player\_won(id, points)_.

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

[Читать дальше →][7]

[1]: https://habrahabr.ru/company/oleg-bunin/blog/310418
[2]: https://github.com/CopernicaMarketingSoftware/REACT-CPP
[3]: https://github.com/CopernicaMarketingSoftware/AMQP-CPP
[4]: https://github.com/miloyip/rapidjson
[5]: https://github.com/google/leveldb
[6]: https://github.com/easylogging/easyloggingpp
[7]: https://habrahabr.ru/post/315268/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Go panic(), runtime error и их реализации в своей ОС на Go+asm Part 0x000c03f.(float32)
habra.16
habrabot(difrex,1) — All
2016-11-18 14:30:04


Всем привет!
Недавно я писал про реализацию пустых интерфейсов в Go, та статья, как можно догадаться имеет прямое отношение к разработке ОС на Go, да данная тема не заброшена и не забыта, но была отложена на долгий срок.
Под катом: «выкидываем» asm прокси-методы, имплементируем методы panic() и поддержку рантаймовых ошибок
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315566/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Представляем библиотеку right-angled, конструктор гридов для angular2
habra.16
habrabot(difrex,1) — All
2016-11-18 14:30:04


![][1]

Сегодня хотим рассказать о том, как мы решили отдать долг open source сообществу и создали библиотеку [right-angled][2]. Только вчера мы перевели ее в статус beta и решили поделиться этой отличной новостью с Хабрасообществом c самым первым.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/63c/6bc/ddf/63c6bcddfe51438596fad6c19a877313.png
[2]: https://github.com/eastbanctechru/right-angled
[3]: https://habrahabr.ru/post/315558/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Какой язык программирования стоит выучить первым? (ʇdıɹɔsɐʌɐɾ: ɯǝʚɯо ņıqнqvиʚɐdu)
habra.16
habrabot(difrex,1) — All
2016-11-18 15:00:05


[][1] Многие начинают путь к изучению программирования, открыв поздним вечером Google. Обычно ищут что-то вроде «Как выучить…». Но как тот, кто ищет подобное, решает, какой именно язык программирования выбрать?

Кто-то, начитавшись сайтов и блогов крупнейших компьютерных компаний, рассуждает так: «В Кремниевой долине что ни слово –  то Java. Думаю, это – то, что мне нужно». Бывает и так: «Haskell. Он ведь на пике популярности. Страшно подумать, что будет дальше. Определённо – Haskell». И даже так: «Этот суслик на логотипе Go – такая няшка. Хочу знать Go».
[Читать дальше →][2]

[1]: https://habrahabr.ru/company/ruvds/blog/315572/
[2]: https://habrahabr.ru/post/315572/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Безопасность в IoT: Стратегия всесторонней защиты
habra.16
habrabot(difrex,1) — All
2016-11-18 16:00:04


Чтобы обеспечить надлежащий уровень безопасности для инфраструктуры IoT, необходима стратегия всесторонней защиты. В рамках неё обеспечивается защита данных в облаке, защита целостности данных при передаче в Интернет, а также безопасное производство устройств.

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

![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/d9b/efb/f0c/d9befbf0cb0745ffab699a33c3be97bb.jpg
[2]: https://habrahabr.ru/post/315578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Знакомство и старт разработки на ПЛИС iCE40 от Lattice Semiconductor
habra.16
habrabot(difrex,1) — All
2016-11-18 16:00:04


![][1] Здравствуйте! Сегодня мы познакомимся с новым семейством дешевых и малопотребляющих ПЛИС от Lattice Semiconductor семейств iCE40LP/HX/LM, научимся работать с фирменным компилятором iCEcube2 и редактором кода Sublime Text 3, а также программировать чип на отладочной плате Lattice iCEstick с помощью прошивки, написанной на SystemVerilog.

Все будет сопровождаться подробными инструкциями и скриншотами.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/17d/bb6/6f2/17dbb66f2d5442e9a06451e233ed3ada.jpg
[2]: https://habrahabr.ru/post/315588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Виртуальные события в C#: что-то пошло не так
habra.16
habrabot(difrex,1) — All
2016-11-18 17:30:03


![][1] Недавно я работал над новой C#-диагностикой V3119 для статического анализатора PVS-Studio. Назначение диагностики — выявление потенциально небезопасных конструкций в исходном коде C#, связанных с использованием виртуальных и переопределенных событий. Давайте попробуем разобраться: что же не так с виртуальными событиями в C#, как именно работает диагностика и почему Microsoft не рекомендует использовать виртуальные и переопределенные события?
[Читать дальше →][2]

[1]: https://habrastorage.org/files/6c7/ea3/42c/6c7ea342c1f14774b73f299b16cdd4af.png
[2]: https://habrahabr.ru/post/315600/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Обход CSP при помощи расширений Google Chrome
habra.16
habrabot(difrex,1) — All
2016-11-18 19:00:04


Не так давно настроил я на своем проекте CSP ([content security policy][1]), и решил что жизнь удалась. Ведь теперь невозможно подгрузить скрипты с запрещенных ресурсов, и даже о попытке сделать это, я буду уведомлен соответствующей ошибкой. А если кто-то и подгрузить скрипт, то все равно ничего не сможет передать, ведь ajax запросы отправляются только на мои сервера.

Так я подумал, и был какое-то время спокоен.
[Читать дальше →][2]

[1]: https://habrahabr.ru/company/nixsolutions/blog/271575/
[2]: https://habrahabr.ru/post/315608/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 46: обход OAuth 2.0, низковольтный ICMP DDoS, приватность iOS и обход локскрина
habra.16
habrabot(difrex,1) — All
2016-11-19 11:30:03


![][1]Давно у нас не было научных работ по теме безопасности, и вот, пожалуйста. На европейской конференции BlackHat EU исследователи из университета Гонконга показали примеры некорректной реализации протокола OAuth 2.0, которые, в ряде случаев, позволяют украсть учетные записи пользователей. Так как речь действительно идет о научном исследовании, то и терминология соответствующая — без всяких этих «ААААА!1 Один миллиард учеток можно легко взломать через OAuth 2.0». Впрочем нет, oh wait, примерно так работа и называется ([новость][2] и само [исследование][3]).

Как бы то ни было, проблема, обнаруженная исследователями, заключается не в самом OAuth, а в его конкретных реализациях. Необходимость внедрять системы Single-Sign-On не только для веба, но и для мобильных приложений (принадлежащих не только владельцам сервисов идентификации типа Facebook и Google, но и третьей стороне) привела к тому, что стандарт OAuth 2.0 начали надстраивать кто во что горазд, не всегда соблюдая методы безопасности.

В результате авторизация пользователя местами происходит как попало: в исследовании описывается ситуация, когда авторизоваться от имени другого пользователя можно, зная только его логин (обычно это e-mail). Впрочем, описываемые сценарии атаки предусматривают наличие позиции man-in-the-middle, и возможны не всегда. Из обнаруженных в ходе исследования проблемных приложений большинство работает с китайским identity provider Sina, а из 99 исследованных аппов, поддерживающих OAuth через Google и Facebook атаке подвержены всего 17. Решить проблему можно на стороне провайдеров: если доверять данным только от самого сервера идентификации, и не доверять данным от приложения (которые могут быть подделаны по пути), то элегантный хак работать не будет.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/b64/993/169/b64993169c9e461db33c2ead78b704c0.jpg
[2]: https://threatpost.ru/oauth-2-0-hack-exposes-1-billion-mobile-apps-to-account-hijacking/19139/
[3]: https://www.blackhat.com/docs/eu-16/materials/eu-16-Yang-Signing-Into-Billion-Mobile-Apps-Effortlessly-With-OAuth20-wp.pdf
[4]: https://habrahabr.ru/post/315610/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О сравнении объектов по значению — 4, или Inheritance & Equality operators
habra.16
habrabot(difrex,1) — All
2016-11-19 17:30:04


#### В [предыдущей публикации][1] мы получили вариант реализации сравнения объектов по значению для платформы [.NET][2], на примере класса Person, включающий: {#v-predyduschey-publikaciihttpshabrahabrrupost315168-my-poluchili-variant-realizacii-sravneniya-obektov-po-znacheniyu-dlya-platformy-nethttpswwwmicrosoftcomnet-na-primere-klassa-person-vklyuchayuschiy}


* перекрытие методов [Object.GetHashCode()][3], [Object.Equals(Object)][4];
* реализацию интерфейса [IEquatable (Of T)][5];
* реализацию Type-specific статических метода Equals(Person, Person) и операторов ==(Person, Person), !=(Person, Person).

Каждый из способов сравнения для любой одной и той же пары объектов возвращает один и тот же результат:


**Пример кода**
Person p1 = new Person("John", "Smith", new DateTime(1990, 1, 1));
Person p2 = new Person("John", "Smith", new DateTime(1990, 1, 1));
//Person p2 = new Person("Robert", "Smith", new DateTime(1991, 1, 1));

object o1 = p1;
object o2 = p2;

bool isSamePerson;

isSamePerson = o1.Equals(o2);
isSamePerson = p1.Equals(p2);
isSamePerson = object.Equals(o1, o2);
isSamePerson = Person.Equals(p1, p2);
isSamePerson = p1 == p2;
isSamePerson = !(p1 == p2);


При этом, каждый из способов сравнения является коммутативным:
x.Equals(y) возвращает тот же результат, что и y.Equals(x), и т.д.



Таким образом, клиентский код может сравнивать объекты любым способом — результат сравнения будет детерминирован.



#### Однако, требует раскрытия вопрос: {#odnako-trebuet-raskrytiya-vopros}



Как именно обеспечивается детерминированность результата при реализации статических методов и операторов сравнения в случае наследования — с учетом того, что статические методы и операторы не обладают полиморфным поведением.

[Читать дальше →][6]

[1]: https://habrahabr.ru/post/315168/
[2]: https://www.microsoft.com/net
[3]: https://msdn.microsoft.com/library/system.object.gethashcode.aspx
[4]: https://msdn.microsoft.com/library/bsc2ak47.aspx
[5]: https://msdn.microsoft.com/library/ms131187.aspx
[6]: https://habrahabr.ru/post/315258/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Файловая система, дешево и быстро
habra.16
habrabot(difrex,1) — All
2016-11-19 19:30:03


Разработчикам часто приходится иметь дело с файлами, представляющими из себя
древовидную структуру: XML, JSON, YAML, всякого рода языки разметки вроде
Markdown или Org-mode. Облегчая в общем и целом нашу жизнь, такие файлы имеют
склонность к бесконтрольному росту, в какой-то момент из решения превращаясь в
проблему.



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



Но существует и альтернатива, о которой — ниже.

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315654/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Алгоритм Форчуна на C++ для построения диаграммы Вороного на плоскости
habra.16
habrabot(difrex,1) — All
2016-11-19 23:00:04


Приветствую, уважаемые читатели данной статьи! В статье я дам описание имплементации _алгоритма Форчуна_ (англ. _Fortune's algorithm_) для построения _диаграммы Вороного_ (англ. _Voronoi diagram_) с использованием нативных сбалансированных двоичных деревьев поиска (для уникальных элементов) (англ. BST, _binary search tree_), предусмотренных стандартом _C++_, — ассоциативных упорядоченных контейнеров [`std::map`][1] и [`std::set`][2].


[Читать дальше →][3]

[1]: http://en.cppreference.com/w/cpp/container/map
[2]: http://en.cppreference.com/w/cpp/container/set
[3]: https://habrahabr.ru/post/315658/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка Virtual Private Network на AWS EC2 c OpenVPN на Linux
habra.16
habrabot(difrex,1) — All
2016-11-20 12:00:04


Amazon Web Service предоставляет возможность бесплатного запуска в течение тестового периода (12 месяцев) серверов Amazon EC2. Такой сервер может быть использован для VPN (англ. Virtual Private Network — виртуальная частная сеть). При использовании этой технологии удаленный сервер служит посредником между вашим компьютером и другими серверами в Интернет.



Это может быть полезно в случаях когда необходимо зайти на сайт в обход блокировок (для вашего провайдера вы связываетесь с вашим VPN сервером, а не с сайтом с которого вы фактически получаете данные), или, скажем, иметь постоянный IP с которого осуществляется доступ к определенным сервисам, или иметь IP связанный не с тем регионом в котором вы физически находитесь (сайт определяет заход с IP вашего сервера, а не с IP вашей рабочей машины)

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315664/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Код, за который мне до сих пор стыдно
habra.16
habrabot(difrex,1) — All
2016-11-20 15:30:04


![image][1]


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

Это произошло со мной в 2000 году. И я никогда не смогу этого забыть.

Свою первую строку кода я написал в 6 лет. Хотя я не вундеркинд. Тогда мне очень помог отец. Но я уже попался на крючок. Мне это нравилось.

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

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

Позже я сумел помочь оплатить часть своего обучения работая фриласером. Я создал несколько сайтов электронной коммерции для некоторых местных компаний.

К 21 году я сумел попасть на постоянную работу программистом в интерактивную маркетинговую компанию из Торонто, Канада.

Компания была основана доктором медицины и многие из ее клиентов были крупными фармацевтическими компаниями.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/a02/e65/198/a02e65198c9fee49f511e78ef955f2b7.jpg
[2]: https://habrahabr.ru/post/315668/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Поддержка https совсем без настроек
habra.16
habrabot(difrex,1) — All
2016-11-20 17:00:04


Написал программу для автоматического выписывания ssl-сертификатов налету (при первом запросе к домену).
Для начала работы программы её достаточно просто запустить, настраивать не надо совсем (даже домены для сертификатов указывать не надо).

[github.com/rekby/lets-proxy/releases/latest][1]

Подробности внутри.
[Читать дальше →][2]

[1]: https://github.com/rekby/lets-proxy/releases/latest
[2]: https://habrahabr.ru/post/315678/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Деконструкция мифа о глубоком обучении. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2016-11-20 19:00:04


Оптимизм по поводу нейронных сетей разделяют не все — или, по крайней мере, уровень такого оптимизма бывает разным. Старший преподаватель факультета компьютерных наук ВШЭ [Сергей Бартунов][1] согласен, что нейросетевая область сейчас на подъеме. С другой стороны, он хочет внести в происходящее некоторую ясность, определить реальный потенциал нейросетей. Вне зависимости от точки зрения докладчика, глубокое обучение и правда не проникает в нашу сферу совсем уж стремительными темпами. Традиционные методы обучения всё ещё работают и не обязательно будут вытеснены машинным интеллектом в ближайшей будущем.


Под катом — расшифровка лекции и часть слайдов Сергея.

[Читать дальше →][2]

[1]: https://www.hse.ru/staff/sergey-bartunov
[2]: https://habrahabr.ru/post/315138/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Расширения языков С и С++. Часть 1
habra.16
habrabot(difrex,1) — All
2016-11-20 19:30:04


Данная статья (и я надеюсь что серия статей) посвящена нестандартным расширениям языков С и С++, которые существуют практически в каждом компиляторе.
Языковые расширения — это дополнительные возможности и фичи языка, не входящие в стандарт, но тем ни менее поддерживаемые компиляторами. Исследовать эти расширения очень интересно — в первую очередь потому, что они возникли не на пустом месте; каждое расширение — результат насущной необходимости, возникавшей у большого числа программистов. А мне интересно вдвойне — поскольку мне нравятся языки программирования и я разрабатываю свой, часто оказывается что многие мои идеи реализованы именно в расширениях языка. Стандарты языков С и С++ развиваются крайне медленно, и порой, читая описание расширений, так и хочется воскликнуть «ну это же очевидно! почему этого до сих пор нет в стандарте?».

Языковые расширения — это такая «серая», теневая область, про которую обычно мало пишут и мало знают. Но именно этим она и и интересна!

Предварительно могу сказать, что будут рассмотрены компиляторы общего назначения gcc, msvs, clang, intel, embarcadero, компиляторы для микроконтроллеров iar и keil, и по возможности многие другие компиляторы. Больше всего расширений в GCC, что не удивительно — свободная разработка способствует воплощению разных языковых фич. К тому же, информация по расширениям GCC вся собрана в одном месте, а информацию по остальным компиляторам придется собирать по крупицам. Поэтому начнем с GCC.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315676/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Пять инструментов systemd, которые стоит начать использовать прямо сейчас
habra.16
habrabot(difrex,1) — All
2016-11-21 12:30:03


![][1]

Эта статья призвана познакомить читателя с находящимся в арсенале _systemd_ набором инструментов.



Когда наконец удается смириться с уходом _systemd_ от тех принципов, что лежали в основе ветхозаветной _System V_ с ее простыми текстовыми файлами и засильем скриптов, начинаешь видеть неоспоримые преимущества новой системы инициализации и поставляемых с ней инструментов. В этой статье мы поговорим о четырех из них, а также упомянем еще один, который вы наверняка уже знаете, но вряд ли использовали описанным здесь способом.

[Читать дальше →][2]

[1]: https://habrastorage.org/files/a6a/c9f/aaf/a6ac9faaf0d74b379c81bfa3e6fb3e29.jpg
[2]: https://habrahabr.ru/post/315706/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему я бы не стал использовать Rails для нового проекта
habra.16
habrabot(difrex,1) — All
2016-11-21 13:30:05


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

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Мониторинг и настройка сетевого стека Linux: получение данных
habra.16
habrabot(difrex,1) — All
2016-11-21 14:00:04


![][1]

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

Также рекомендуем ознакомиться с [иллюстрированным руководством на ту же тему][2], там есть поясняющие схемы и дополнительная информация.

**Содержание**
1\. [Общий совет по мониторингу и настройке сетевого стека Linux][3]
2. [Обзор проблематики][4]
3. [Подробный разбор][5]
3.1. [Драйвер сетевого устройства][6]
3.2. [SoftIRQ][7]
3.3. [Подсистема сетевого устройства в Linux][8]
3.4. [Механизм управления принимаемыми пакетами (Receive Packet Steering (RPS))][9]
3.5. [Механизм управления принимаемыми потоками (Receive Flow Steering (RFS))][10]
3.6. [Аппаратно ускоренное управление принимаемыми потоками (Accelerated Receive Flow Steering (aRFS))][11]
3.7. [Повышение (moving up) сетевого стека с помощью netif\_receive\_skb][12]
3.8. [netif\_receive\_skb][13]
3.9. [Регистрация уровня протокола][14]
3.10. [Дополнительная информация][15]
4. [Заключение][16]

[Читать дальше →][17]

[1]: https://habrastorage.org/files/87c/247/7b4/87c2477b48ca450ebaf422832db71333.jpg
[2]: http://blog.packagecloud.io/eng/2016/10/11/monitoring-tuning-linux-networking-stack-receiving-data-illustrated/
[3]: #1
[4]: #2
[5]: #3
[6]: #4
[7]: #5
[8]: #6
[9]: #7
[10]: #8
[11]: #9
[12]: #10
[13]: #11
[14]: #12
[15]: #13
[16]: #14
[17]: https://habrahabr.ru/post/314168/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Stacker: Nginx, DB(Mysql, Pgsql, Redis), PHP7+xDebug за 5 минут
habra.16
habrabot(difrex,1) — All
2016-11-21 16:30:04


Устали от LAMPов, MAMPов, ручной настройки, конфликтов? Хотите получить полностью настроенное и готовое к работе окружение для web разработки с Nginx, DB(Mysql, Pgsql, Redis), PHP7 на борту и с настроенным xDebug и все это за 5 минут? Stacker идет на помощь!
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315738/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Dart meet-up 30 ноября в Петербурге: доклады от разработчиков из Google, опыт перехода на Dart c С# и JS
habra.16
habrabot(difrex,1) — All
2016-11-21 16:30:04


Недавно TechCrunch [подробно рассказал][1] о новом витке развития языка программирования Dart. Google как разработчики языка теперь не только делают большую ставку на использование дарта в создании своих ключевых сервисов (AdWords, AdSense), но и намерены более активно влиять на рост всей экосистемы, в том числе и в России, и поддерживать компании, использующие Dart в своих проектах. Первая встреча, посвященная использованию Dart в России пройдет 30 ноября в Петербурге, в офисе компании Wrike.

![][2]
[На встрече][3] мы обсудим новый виток в развитии языка Dart, поговорим с разработчиками языка из Google, сможем задать им свои вопросы. Мы также уделим внимание необходимой инфраструктуре для работы с языком, успешным кейсам и проектам, сделанным на Dart, и выясним, каковы особенности перехода на дарт со скриптовых (JavaScript) и типизированных (C#) языков.

[О программе и докладах][4]

[1]: https://techcrunch.com/2016/10/26/googles-dart-programming-language-returns-to-the-spotlight/
[2]: https://habrastorage.org/files/788/4c9/2c0/7884c92c0d7d4536bbb37d6eb36efdcc.jpg
[3]: https://wriketeam.timepad.ru/event/406818/
[4]: https://habrahabr.ru/post/315732/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Microsoft SQL Server для Linux: мост между мирами Linux и Windows
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


Система управления реляционными базами данных Microsoft SQL Server [имеет давнюю историю][1] – идея продукта зародилась еще в середине 80-ых, а первая версия появилась в 1988 году. Его основой стал язык запросов Transact-SQL, созданный совместно Microsoft и Sybase. Стратегия дальнейшего развития Microsoft SQL Server приобрела цельный и завершенный вид в 2010 году. Тогда было объявлено, что SQL Server будет представлять собой единый продукт, реализуемый в настольных системах, в центрах обработки данных и в облаке (в 32- и 64- разрядном вариантах).

[![][2]][3] [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/Microsoft_SQL_Server
[2]: https://habrastorage.org/getpro/habr/post_images/427/978/e14/427978e14fc45e662f3a2659341d13c4.jpg
[3]: https://habrahabr.ru/company/ruvds/blog/315766/
[4]: https://habrahabr.ru/post/315766/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Qemu.js с поддержкой JIT: фарш всё же можно провернуть назад
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


Несколько лет назад Фабрис Беллар [написал jslinux][1] — эмулятор ПК, написанный на JavaScript. После этого был ещё как минимум [Virtual x86][2]. Но все они, насколько мне известно, являлись интерпретаторами, в то время как написанный значительно раньше тем же Фабрисом Белларом Qemu, да и, наверное, любой уважающий себя современный эмулятор, использует JIT-компиляцию гостевого кода в код хостовой системы. Мне показалось, что самое время реализовать обратную задачу по отношению к той, которую решают браузеры: JIT-компиляцию машинного кода в JavaScript, для чего логичнее всего виделось портировать Qemu. Казалось бы, почему именно Qemu, есть же более простые и user-friendly эмуляторы — тот же VirtualBox, например — поставил и работает. Но у Qemu есть несколько интересных особенностей


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

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



И вот, после двух лет неспешного ковыряния в свободное время исходников Qemu появился работающий прототип, в котором уже можно запустить, например, Kolibri OS.

[Читать дальше →][3]

[1]: https://habrahabr.ru/post/119424/
[2]: https://habrahabr.ru/post/198192/
[3]: https://habrahabr.ru/post/315770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JetBrains Night в Москве. Видео. Первые шаги с TeamCity DSL
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали разработчикам из других компаний о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и вообще делились опытом (т.е. слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains).

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

В предыдущих постах Дмитрий Жемеров [рассказывал про язык Kotlin][1] (там до сих пор продолжается умеренно живая дискуссия в комментариях), а затем Максим Мазин и Валерия Андрианова [делились практическими советами по интеграции серверных продуктов и использовании новых Agile-досок][2].

Если вы раньше не знали, что билды в TeamCity можно настроить с помощью DSL (например, чтобы проще было менять и использовать эти настройки в других проектах), то
[вот видео об этом][3]

[1]: https://habrahabr.ru/company/JetBrains/blog/314826/
[2]: https://habrahabr.ru/company/JetBrains/blog/315244/
[3]: https://habrahabr.ru/post/315652/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы заново собирали серверы в американском ЦОДе из России
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


_Сегодня мы хотели рассказать вам о том, как наши ребята за три часа повысили производительность кластера для тестирования ПО в 4 раза, просто «пораскинув мозгами»._

![image][1]

Upd. Этот пост это — НЕ МАСШТАБНОЕ ТЕСТИРОВАНИЕ — это реальная история из практики с забавными моментами. Мы повысили плотность ВМок в 4 раза, если вы ожидаете увидеть сравнительное тестирование, графики и анализ производительности, вам не сюда. Тут сегодня скорее душевное чтиво.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/cf5/fa2/3b3/cf5fa23b304e63960f5b34cc9ce335f7.jpg
[2]: https://habrahabr.ru/post/315722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выбор технологий для большого и не очень большого веб-проекта
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


За годы работы я часто слышу вопросы о выборе технологий для того или иного веб-проекта. Кто-то спрашивает у нас, как у разработчиков, как правильно, а кто-то приходит и просит сделать на какой-то конкретной технологии. Проблема в том, что большинство выбирают технологии по субъективным причинам, и пока я не слышал достойного и понятного рассуждения, которое позволило бы выбрать технологию объективно, основываясь на фактах, а не желаниях. Даже немногие итишники могут правильно выбрать технологию, ведь для этого нужно: понимать специфику проекта, иметь многолетний опыт разработки на нескольких языках, знать, как устроены подобные проекты и т.д.

Но прежде, чем что-то выбирать, давайте посмотрим, какие технологии бывают, чем они отличаются и в каких случаях какую технологию выбрать.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Lenovo исправила уязвимости в прошивках своих компьютеров
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


Lenovo исправила две важные уязвимости в системном ПО своих компьютеров. Уязвимости исправляются обновлением [LEN-9903][1] (_Intel ME protection not set on some Lenovo Notebook and ThinkServer systems_) и [LEN-8327][2] (_Microsoft Device Guard protection bypass_). Первая уязвимость с идентификатором CVE-2016-8222 заключается в неправильной конфигурации Lenovo системного механизма чипсетов Intel — Intel Management Engine на некоторых моделях ноутбуков и компьютеров ThinkServer.

![][3]
Вторая уязвимость с идентификатором CVE-2016-8222 чем-то похожа на известную прежде уязвимость ThinkPwn, о которой мы уже писали [здесь][4]. Уязвимость может позволить атакующему перезаписать важные системные переменные BIOS и вызывать сервисы SMM режима работы микропроцессора, т. е. на уровне привилегий минус второго кольца (-2).

[Читать дальше →][5]

[1]: https://support.lenovo.com/ru/ru/solutions/LEN_9903
[2]: https://support.lenovo.com/ru/ru/product_security/len_8327
[3]: https://habrastorage.org/files/76e/488/045/76e488045d8b46bb9f377a989cdf69fc.jpeg
[4]: https://habrahabr.ru/company/eset/blog/305844/
[5]: https://habrahabr.ru/post/315744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Расширения языков C и C++. Часть 1
habra.16
habrabot(difrex,1) — All
2016-11-21 20:00:03


Данная статья (и я надеюсь что серия статей) посвящена нестандартным расширениям языков C и C++, которые существуют практически в каждом компиляторе.

Языковые расширения — это дополнительные возможности и фичи языка, не входящие в стандарт, но тем ни менее поддерживаемые компиляторами. Исследовать эти расширения очень интересно — в первую очередь потому, что они возникли не на пустом месте; каждое расширение — результат насущной необходимости, возникавшей у большого числа программистов. А мне интересно вдвойне — поскольку мне нравятся языки программирования и я разрабатываю свой, часто оказывается что многие мои идеи реализованы именно в расширениях языка. Стандарты языков C и C++ развиваются крайне медленно, и порой, читая описание расширений, так и хочется воскликнуть «ну это же очевидно! почему этого до сих пор нет в стандарте?».

Языковые расширения — это такая «серая», теневая область, про которую обычно мало пишут и мало знают. Но именно этим она и и интересна!

Предварительно могу сказать, что будут рассмотрены компиляторы общего назначения gcc, msvs, clang, intel, embarcadero, компиляторы для микроконтроллеров iar и keil, и по возможности многие другие компиляторы. Больше всего расширений в GCC, что не удивительно — свободная разработка способствует воплощению разных языковых фич. К тому же, информация по расширениям GCC вся собрана в одном месте, а информацию по остальным компиляторам придется собирать по крупицам. Поэтому начнем с GCC.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/315676/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разделяемые указатели и многопоточность. И снова о них, в который раз
habra.16
habrabot(difrex,1) — All
2016-11-22 10:30:04


![][1]

Глава из книги "Современное программирование на C++" называется "В сто первый раз об интеллектуальных указателях". Все бы ничего, но книга была издана в 2001 году, так стоит ли в очередной раз возвращаться к этой теме? Мне кажется что как раз сейчас и стоит. За эти пятнадцать лет поменялась сама точка зрения, тот угол под которым мы смотрим на проблему. В те далекие времена только-только вышла первая де-факто стандартная реализация — boost::shared\_ptr<>, до этого каждый писал себе реализацию по потребности и как минимум представлял себе детали, сильные и слабые стороны своего кода. Все книги по C++ в то время обязательно описывали одну из вариаций умных указателей в мельчайших деталях.
Сейчас нам дан стандарт, и это хорошо. Но с другой стороны, уже не требуется понимать что там внутри, вместо этого достаточно три раза повторить мантру _"используйте умные указатели везде где вы бы использовали обычные указатели"_, и это уже не так хорошо. Я подозреваю что далеко не все отдают себе отчет что данный стандарт — лишь один из возможных вариантов интерфейса, не говоря уже о разнице между реализациями различных вендоров. При выборе стандарта был сделан выбор между различными возможностями учитывающий разные факторы, но, оптимальный или нет, этот выбор очевидно не единственен.
А еще на stackoverflow например снова и снова задается вопрос — "потокобезопасны ли умные указатели из стандартной библиотеки?". Ответы даются обычно категоричные, но какие-то мало информативные. Если бы я например не знал о чем идет речь, то наверное бы не понял. И кстати, все сравнительно новые книги описывающие новый стандарт C++ этому вопросу тоже уделяют мало внимания.
Так давайте же попробуем сорвать покровы и разберемся с деталями.

[Читать дальше →][2]

[1]: https://habrastorage.org/files/ed3/c27/14b/ed3c2714b20d44f49daa617b7428dcce.png
[2]: https://habrahabr.ru/post/311560/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уничтожить SSD за 7 секунд: тактическая защита информации от несанкционированного доступа
habra.16
habrabot(difrex,1) — All
2016-11-22 11:30:03


> _«Любую ценность контролирует лишь тот, кто в состоянии её уничтожить»
> — Дюна, Фрэнк Герберт_



На втором курсе универа мой одногруппник устроился на работу помощником админа. Через месяц в столовке он нам (был я и еще три одногруппника) похвастался, что написал софтину, которая позволяла ему качать файлы из интернета через корпоративный аккаунт (напомню, что по диалапу в те времена одна mp3шка качалась час). Другой одногруппник за пивасом рассказал это уже в своей компании друзей, а те без его ведома решили прикольнуться. Базы данных с номерами телефонов, адресов, ГАИ и прочие давно гуляли по рукам, городок маленький. Звонок:

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

Парень не появлялся в универе где-то неделю, а свой жесткий, дискеты и оперативку он измолотил в крошку.

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

Защита от [несанкционированного доступа][1] бывает не только софтовой, но и хардкорной. Ситуации всякие бывают, и защищать информацию приходится ценой ее жизни. «Так не достанься же ты никому!» или «Ultima ratio regum» (последний довод королей).

Сегодня — репортаж из лаборатории по оперативному уничтожению информации. (Спасибо эксперту по ИБ Олегу Позднякову из "[Детектор Системс][2]" за право доступа.)
[Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D1%81%D0%B0%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF
[2]: http://www.detsys.ru/
[3]: https://habrahabr.ru/post/306520/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Зловреды-вымогатели для IoT опаснее «традиционных» зловредов
habra.16
habrabot(difrex,1) — All
2016-11-22 12:30:03


![][1]

[Зловреды, используемые для вымогательства][2] (ransomware), в этом году стали [одной из серьёзнейших киберугроз][3]. И сегодня все — от обычных пользователей до корпораций и правительственных организаций — стараются обезопасить себя от программ-шифровальщиков. Однако, мы пока игнорируем начало следующей волны атак зловредов-вымогателей, которые нацелены на шифрование не файлов, а устройств, подключённых к интернету вещей. И это может быть куда опаснее и убыточнее, учитывая вездесущую и крайне разнообразную природу IoT. [Читать дальше →][4]

[1]: https://habrastorage.org/files/22c/78a/cc9/22c78acc950a4c19a263852dbab1b394.jpg
[2]: https://ru.wikipedia.org/wiki/Ransomware
[3]: http://www.zdnet.com/article/ransomware-is-now-the-top-cybersecurity-threat-warns-kaspersky/
[4]: https://habrahabr.ru/post/315730/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Open Source-законодательство
habra.16
habrabot(difrex,1) — All
2016-11-22 13:00:04


Здравствуйте, я тут подумал, что системы управления версиями вроде GitHub — это идеальная площадка для экспериментов в области электронного законодательства.

Ведь как работают депутаты? Они правят законы. Почти любой законодательный акт является правкой уже существующих документов. У законов есть редакции — точно так же, как ревизии у кода.

Например, я залил сюда [сюда][1]\* Конституцию Российской Федерации и предлагаю внести в нее правки. Можно и другие законы внести и их тоже поправить. И не обязательно России.

Мне интересно, если любой желающий имеет возможность предложить свои редакции существующих норм — кто что предложит? Сколько народу поддержит чьи правки? Какие будут комментарии? Сколько возникнет форков?

Welcome, как говорится.

\* Если кому показался знакомым никнейм, то да, это я, надеюсь, никто не против, что меня тут снова захабрили. [][2]

[1]: https://github.com/DileSoft/law_rf
[2]: https://habrahabr.ru/post/315792/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Детский интернет глазами отца. Опыт пользователя
habra.16
habrabot(difrex,1) — All
2016-11-22 17:30:04


![][1]
_[ncmares, deviantart][2]_

В интересное время мы живём. Весь мир опутан единой информационной сетью Интернет, в которой проводят львиную долю своего свободного времени как взрослые, так и дети. Стоп! Дети… Это что же, они смотрят то же самое, что и мы, взрослые?! Понятно, что мультики, котиков, простенькие игры, домашние задания. Но, мы ж смотрим не только это. И на вполне безобидный запрос «киска» порой получаем несколько иную киску, чем ожидает ребёнок. И это – одна из основных проблем единого информационного пространства, в котором вся информация в равной степени доступна практически всем подключившимся. И тут передо мной, как и перед любым ответственным родителем, встаёт вопрос о том, можно ли как-то оградить психику ребёнка от потока негатива и знаний, которые ему пока что рановаты.

Ещё совсем недавно всё было просто. Для доступа в сеть был лишь один (чаще всего) компьютер. Родительский. Дети же допускались к нему исключительно под присмотром, поэтому дозировать пребывание в сети, равно как и контролировать контент было довольно просто. Сейчас же времена изменились. Практически у каждого ребёнка есть свой собственный гаджет: смартфон или планшет. И порой родителям неведомо, что их чадо там смотрит.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/e26/4f8/e38/e264f8e380514d91ad1958c7b0859f93.png
[2]: http://ncmares.deviantart.com/art/Perfect-Organism-615249748
[3]: https://habrahabr.ru/post/315742/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 ... 133