RSS
Pages: 1 ... 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ... 133
[>] CTFzone write-ups — Deeper into the WEB
habra.16
habrabot(difrex,1) — All
2016-12-16 10:30:04


![image][1]



Друзья, надеемся, что выходные у всех прошли хорошо, и вы снова готовы немного поломать голову над заданиями CTFzone. Мы продолжаем публиковать райтапы к таскам, и сегодня мы разберем ветку **WEB**. На всякий случай запасайтесь кавычками и вперед ;)



Направление WEB было вторым по популярности после Forensics, в общей сложности хотя бы одно задание решили 303 человека. Кстати, из них задание на 1000 решили всего пять участников, поэтому ему мы уделим особое внимание. Задания на 50 и на 100 уже публиковались, так что мы сразу перейдем к таскам посложнее.


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

[1]: https://habrastorage.org/files/de8/9a6/d67/de89a6d6758147509de16c07f02a2bf3.png
[2]: https://habrahabr.ru/post/317422/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Логика сознания. Часть 9. Искусственные нейронные сети и миниколонки реальной коры
habra.16
habrabot(difrex,1) — All
2016-12-16 10:30:04



_Приходит ветеринар к терапевту. Терапевт: — На что жалуетесь? Ветеринар: — Нет, ну так каждый может!
_

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

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

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

[>] Как мы уже 4 года выживаем в условиях двух релизов в день
habra.16
habrabot(difrex,1) — All
2016-12-16 12:00:03


![][1]

**Здравствуй, Хабр!** Сегодня я хочу завершить цикл статей об организации тестирования (начавшийся с изучения [ошибок][2] и [опыта][3]), рассказав о том, как же все-таки Badoo выпускает два качественных серверных релиза каждый день. _Кроме пятницы, когда мы релизимся только утром. Не надо релизиться в пятницу вечером._
Я пришел в Badoo чуть более четырех лет назад. Все это время наши процессы и инструменты для тестирования непрестанно развивались и совершенствовались. Для чего? Число разработчиков и тестировщиков увеличилось примерно в два раза — значит, для каждого релиза готовится больше задач. Количество активных и зарегистрированных пользователей тоже удвоилось — а значит, и цена любой нашей ошибки стала выше. Для того чтобы доставлять пользователям максимально качественный продукт, нам нужны всё более и более мощные средства контроля качества, и эта гонка не заканчивается никогда. Цель этой статьи не только продемонстрировать работающий пример, но и показать, что **какими бы крутыми ни были ваши процессы контроля качества, наверняка можно сделать их еще лучше**. Технические реализации некоторых инструментов вы сможете найти по ссылкам на другие статьи, о некоторых из них нам еще предстоит написать.

В Badoo существует несколько разных QA-флоу, отличие которых обосновано разными средствами разработки и целевыми платформами (_но мы используем для них общие системы: JIRA, TeamCity, Git и т.д._), и я вам расскажу о процессе тестирования и деплоя наших серверных задач (а заодно и веб-сайта). Его можно условно разделить на 5 больших этапов (_хотя тут, конечно, многие мои коллеги считают по-разному_), каждый из которых включает в себя и ручную, и автоматизированную составляющую. Постараюсь рассказать вам по очереди о каждом из них, отдельно выделяя то, что изменялось и развивалось в последние годы.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/04e/500/2d0/04e5002d064c403d87652e424f1b99ac.png
[2]: https://habrahabr.ru/company/badoo/blog/301764/
[3]: https://habrahabr.ru/company/badoo/blog/316050/
[4]: https://habrahabr.ru/post/317700/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разгоняем сборку Swift проекта в Xcode
habra.16
habrabot(difrex,1) — All
2016-12-16 12:30:04


![image][1]
Статья о том как починить инкрементальную компиляцию в Xcode для Swift проектов и ускорить build phases для Cocoapods и Carthage, ничего не поломав.



Небольшой спойлер: на трех разных проектах получилось сократить время инкрементальной сборки в 9 раз!



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


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

[1]: https://cloud.kilograpp.com/f/54a6286b80/?dl=1
[2]: https://habrahabr.ru/post/317650/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интегрируем две системы видеонаблюдения: Axxon Next и SureView
habra.16
habrabot(difrex,1) — All
2016-12-16 14:00:03


Перед программистами [Edison Software][1] была поставлена задача — разработать программные компоненты, обеспечивающие взаимодействие между ПО Axxon Next и Immix. Сервис SureView очень популярен в Великобритании, и дабы укрепить свои позиции на рынке видеонаблюдения, разработчики Axxon Next (ITV) решили совершить хитрый стратегический ход и интегрироваться, отдав исполнение заказа на аутсорс компании Edison Software. На разработку и отладку плагина интеграции ушло 316 часов.

![image][2]

ПО [Axxon Next][3] является продуктом российской компании ITV, являющейся разработчиком программного обеспечения для систем безопасности и видеонаблюдения.

Axxon Next — высокопроизводительная система видеонаблюдения, с интуитивно понятным пользовательским интерфейсом, поддерживающая более 6000 наименований IP-устройств и позволяющая строить легко масштабирующиеся системы видеонаблюдения любой сложности. Следует отметить, что полный функционал системы включен в любую лицензию, даже если в ней будет всего одна камера.

ПО Immix является продуктом американской компании [SureView systems][4] и представляет собой видео-ориентированную программную платформу, предназначенную для приема тревожных событий из систем видеонаблюдения, контроля доступа, платформ автоматизации и ситуационных систем информирования.

Результатом разработки должен был стать плагин для ПО SureView, предоставляющий возможность использования из ПО SureView следующих возможностей ПО Axxon Next.

* Отображение в ПО SureView живого видео от ПО Axxon Next.
* Проигрывание и управление проигрыванием в ПО SureView архива видео, хранящегося под управлением ПО Axxon Next.
* Управление из ПО SureView поворотными (PTZ) устройствами, подключенными к ПО Axxon Next, включая использование предустановок (Presets).
* Получение в ПО SureView событий о возникших тревожных сообщениях от ПО Axxon Next.
[Читать дальше →][5]

[1]: http://www.edsd.com/
[2]: https://habrastorage.org/getpro/habr/post_images/8fa/b60/c89/8fab60c8936d74d8d79bc9df27101a3c.jpg
[3]: http://www.itv.ru/products/axxon_next/
[4]: http://www.sureviewsystems.com/
[5]: https://habrahabr.ru/post/317290/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VulnHub Решение простого 64Base: Boot2Root
habra.16
habrabot(difrex,1) — All
2016-12-16 14:00:03


![][1]
Совсем недавно на [VulnHub][2] опубликовали новый образ виртуалки под названием [64Base Boot2Root][3]. Задания, как и статья рассчитаны на новичков. Так что не удивляйтесь, если какие-то из решений покажутся слишком простыми.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/208/56a/94c/20856a94c4d3448cab41b28e6b709875.png
[2]: https://www.vulnhub.com/
[3]: https://www.vulnhub.com/entry/64base-101,173/
[4]: https://habrahabr.ru/post/317346/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Обертываем алгоритмы в итераторы
habra.16
habrabot(difrex,1) — All
2016-12-16 14:30:04


Здравствуйте, дорогие читатели.

Сегодня пятница, а у нас на борту продолжается напряженный отсмотр и анализ новинок по C++, желательно с учетом C++ 17. В ходе этого увлекательного занятия мы набрели на [блог][1] Яцека Галовица (Jacek Galowicz). Из сравнительно свежих материалов нам особенно понравилась статья, размещенная под катом.
[Читать дальше →][2]

[1]: https://blog.galowicz.de/
[2]: https://habrahabr.ru/post/317762/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Мониторим фриланс площадки в slack
habra.16
habrabot(difrex,1) — All
2016-12-16 16:00:04


В этой статье мы бы хотели рассказать о нашей новой платформе Job Freelance Scanner, которая находится в свободном доступе. В поисках нового проекта порой приходится мониторить фриланс площадки на наличие подходящего предложения. Это порождает ряд проблем: поиск по разным сайтам, вбивание в поиске нужных ключевых слов, отсеивание дубликатов — все это отнимает время. Плюс, надо помнить читал ли ты это предложение. Вот было бы удобно мониторить это одним инструментом, при этом в онлайн режиме.

Наша компания занимается разработкой интеграционных решений и регулярно нуждается в поиске предложений в этой области. Таким образом, сформировалась задача: разработать платформу для мониторинга предложений о работе с крупных площадок. Платформа должна отслеживать предложения, содержащие некоторые ключевые слова, и публиковать их в [slack][1] канале.

После реализации приложения и локального запуска мы решили опубликовать его для сообщества, предоставить свободный доступ для использования, а также опубликовать исходники. В итоге, мы представляем платформу Job Freelance Scanner.


## Возможности


Job Freelance Scanner — платформа для мониторинга предложений с крупных глобальных площадок по поиску работы, разработанная компанией Leadex Systems. Эта платформа позволяет получать предложения единым потоком в канал связи (Slack) от таких площадок как:

* [Upwork.com][2]
* [Freelancer.com][3]
* [Guru.com][4]
Сообщение о новом предложении о работе поступают в кратчайшие сроки после публикации, что позволяет осуществлять мониторинг свежих предложений и откликаться на них одним из первых. Пример сообщения с предложением о работе в канале slack:

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

[1]: https://slack.com/
[2]: http://upwork.com
[3]: http://freelancer.com
[4]: http://guru.com
[5]: https://habrastorage.org/files/80d/699/3ad/80d6993ad663408a9b55952ac5623808.png
[6]: https://habrahabr.ru/post/317752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Взлом без взлома или семь способов найти утечку информации ресурса
habra.16
habrabot(difrex,1) — All
2016-12-16 20:30:05


## Небольшое вступление


Многие считают, что бизнесом движут информационные технологии: управление складом, управление логистики, прогнозирование, ситуационное моделирование, оценка рисков, системная динамика и т.д. Но в большинстве своем бизнесом управляет информационное противоборство. Из двух компаний, производящих один товар, победит не та компания, что выполняет работу лучше, а та, что победит в тендере. То есть не важно, как хорошо и качественно ты производишь товар, а важно то как правильно используешь полученную информацию. Если грамотный руководитель получил правильную информацию и если эта информация правильно подготовлена, то тогда и навороченные аналитики не нужны. Всю нужную информацию он держит в руках.
[Читать дальше →][1]

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

[>] Security Week 50: социализация криптолокеров, аудит OpenVPN, уязвимость в ядре Linux
habra.16
habrabot(difrex,1) — All
2016-12-16 23:00:04


![][1]Только мы обсудили, что криптолокеры стали вредоносной темой года не за технологии атаки, а благодаря, скажем так, социальным аспектам проблемы, как пришла [новость][2], это подтверждающая. Вымогатель Popcorn Time назван в честь перспективного, но зарубленного на взлете софта для удобного скачивания фильмов из торрентов. Лоренс Абрамс, владелец сайта BleepingComputer, [обнаружил][3], что код трояна явно не дописан, из-за чего не всегда работает связь с командным центром.

Но главной особенностью трояна является альтернативный вариант расшифровки: жертве предлагается отправить друзьям ссылку, по которой, предположительно, скачивается такой же троян, и в случае если два адресата установят вредоносную программу, ключ отправителю будет предоставлен бесплатно (иначе требуют 1 BTC). Предположительно, так как сайт в сети Tor на момент анализа вредоносной программы был недоступен.

В общем, на практике конкретно эта схема работать вряд ли будет. Не стоит забывать и о том, что распространение вредоносных программ преследуется уголовным кодексом вне зависимости от намерений или необходимости срочно расшифровать рабочие документы. Но попытка интересная: дистрибуция вредоносного контента самими жертвами происходит часто, но жертвы обычно об этом не догадываются. А тут дилемма покруче, чем «платить или не платить выкуп». Очень хочется верить в то, что данная технология развития не получит.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/e7b/d24/bcd/e7bd24bcd3ad4145a01822744b810cf5.jpg
[2]: https://threatpost.ru/ransomware-gives-free-decryption-keys-to-victims-who-infect-others/19626/
[3]: https://www.bleepingcomputer.com/news/security/new-scheme-spread-popcorn-time-ransomware-get-chance-of-free-decryption-key/
[4]: https://habrahabr.ru/post/317794/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Проект CallSharp: I/O Call Instrumentation на платформе .NET
habra.16
habrabot(difrex,1) — All
2016-12-17 16:00:04


Чтo мнe нpaвитcя вo вcякиx paзpaбoтчecкиx тулax, тaк этo тo, чтo oни нe тoлькo пoмoгaют peшaть кaкиe-тo зaдaчи, нo пopoй eщe и _учaт_ пpoгpaммиpoвaнию. Tулa, пpo кoтopую я xoчу paccкaзaть – oнa имeннo тaкaя. СаllShаrр – тaк нaзывaeтcя мoй пpoeкт – пытaeтcя aлгopитмичecки вывecти цeпoчку вызoвoв нa ocнoвe нaбopa вxoдныx и oжидaeмыx выxoдныx дaнныx.




![][1]



[Если интересно...][2]

[1]: https://habrastorage.org/files/393/f89/b7b/393f89b7b2354847aabec1af459c890e.png
[2]: https://habrahabr.ru/post/317816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Автоматизация бизнес-процессов. Часть 2. Adaptive BPM
habra.16
habrabot(difrex,1) — All
2016-12-18 03:00:03


![image][1] Итак, в [первой части][2] было рассмотрено, какие бывают бизнес-процессы по степени их устойчивости к изменениям, технические концепции для реализации конкретного типа БП, а также пример логики добавления/удаления таска из адаптивной модели БП.
В этой части статьи собираюсь подробней описать, чем же adaptive BPM (aBPM) отличаются от normative BPM (nBPM) и от Adaptive Case Management (ACM), затем представить архитектуру получившейся aBPM системы.


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

[1]: https://habrastorage.org/files/294/874/bb8/294874bb813347248fd26f1239e7a699.jpg
[2]: https://habrahabr.ru/post/316926/
[3]: https://habrahabr.ru/post/317820/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VulnHub Разбор HackDay: Albania
habra.16
habrabot(difrex,1) — All
2016-12-18 03:00:03


Продолжаем разбор лаб с [VulnHub][1]. На этот раз займемся [HackDay: Albania][2]. К образу имеется следующее описание, из которого видно, что это таск с HackDay Albania's 2016 CTF
> This was used in HackDay Albania's 2016 CTF.
> The level is beginner to intermediate.
> It uses DHCP.
> Note: VMware users may have issues with the network interface doing down by default. We recommend (for once!) using Virtualbox.
Таск как и [прошлый][3] рассчитан на новичков. Поэтому в некоторые моменты в статье будут рассмотрены более подробно.
[Читать дальше →][4]

[1]: https://www.vulnhub.com
[2]: https://www.vulnhub.com/entry/hackday-albania,167/
[3]: https://habrahabr.ru/post/317346/
[4]: https://habrahabr.ru/post/317822/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] TeamCity как Debian-репозиторий
habra.16
habrabot(difrex,1) — All
2016-12-19 10:00:03


… или использование _TeamCity_ для сборки `*.deb`-пакетов и не только.



Написать статью меня побудило знакомство с модулем [tcDebRepository][1]. Я наивно полагал, что "вот сейчас я его подключу, и всё волшебным образом заработает". Как водится, не заработало, и в конце концов был накоплен некий опыт, который захотелось систематизировать.



Статья ни в коей мере не является введением в основы _TeamCity_ и предполагает, что читатель уже знаком и собственно с _TeamCity_, и с инфраструктурой _Debian GNU/Linux_. Если вы уже представляете, что такое continuous integration, но ещё ни разу не держали в руках _TeamCity_ — вам, наверное, [сюда][2]. О сборке пакетов в Debian можно почитать в [Debian New Maintainers' Guide][3].



Для игр (на случай, если кто-то захочет воспроизвести результаты) использовался сервер _TeamCity 10_ и 3 агента п/упр _Debian 8.0 (Jessie)_. 3 агента — это лимит в случае _TeamCity [Professional][4]_. Всё ниженаписанное, думаю, без проблем переносится на любой другой дистрибутив на основе _Debian GNU/Linux_, напр., [Astra Linux][5].

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

[1]: https://github.com/tcplugins/tcDebRepository
[2]: https://www.youtube.com/playlist?list=PLQ176FUIyIUZGrzpC-C_jwXpsa22XKXdt
[3]: https://www.debian.org/doc/manuals/maint-guide/
[4]: https://www.jetbrains.com/teamcity/buy/#license-type=new-license
[5]: http://www.astralinux.com/download.html
[6]: https://habrahabr.ru/post/204496/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Снова проверяем исходный код Umbraco
habra.16
habrabot(difrex,1) — All
2016-12-19 12:30:03


![][1] Время неумолимо. Казалось бы, только недавно мы анонсировали выход статического анализатора для C# кода, проверили первые проекты и начали писать про это статьи. И вот уже прошел целый год с этого момента. Год кропотливой и сложной работы по улучшению характеристик анализатора, добавлению новых диагностических правил, сбору статистики ложных срабатываний и устранению их причин, взаимодействию с пользователями и решению массы других вопросов. Год множества маленьких и больших побед на том трудном, но невероятно интересном пути, который мы для себя выбрали. Пришло время повторной проверки проекта, первым попавшего к нам для исследования с помощью нового C# анализатора год назад — Umbraco.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/fed/057/0cb/fed0570cbf254481b176ed573e653acf.png
[2]: https://habrahabr.ru/post/317900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Используем oEmbed, чтобы добавить телефон в хабрапост
habra.16
habrabot(difrex,1) — All
2016-12-19 13:30:03


![][1]Неделю назад произошло очередное [улучшение][2] Хабра, и кроме всего прочего, была добавлена возможность вставлять контент с помощью механизма oEmbed. Я хочу немного рассказать, что это за зверь, и продемонстрировать, как он работает с чем-нибудь популярным, вроде [jsFiddle][3], чтобы добавить в хабрапост необычное. Например — телефон.

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

[1]: https://habrastorage.org/files/ee3/268/123/ee3268123a9c45eebbf75e1cf607a007.png
[2]: https://habrahabr.ru/company/tm/blog/317490
[3]: https://jsfiddle.net
[4]: https://habrahabr.ru/post/317858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как Яндекс научил машину самостоятельно создавать переводы для редких языков
habra.16
habrabot(difrex,1) — All
2016-12-19 17:00:03


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

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

![][1]

**Правила против статистики**

Машинный перевод, то есть автоматический перевод с одного человеческого языка на другой, зародился в середине прошлого века. Точкой отсчета принято считать Джорджтаунский эксперимент, проведенный 7 января 1954 года, в рамках которого более 60 фраз на русском языке были переведены компьютером на английский. По сути, это был вовсе и не эксперимент, а хорошо спланированная демонстрация: словарь включал не более 250 записей и работал с учетом лишь 6 правил. Тем не менее результаты впечатлили публику и подстегнули развитие машинного перевода. [Читать дальше →][2]

[1]: https://habrastorage.org/files/b64/188/0f2/b641880f265a42c99213e7674f339d44.png
[2]: https://habrahabr.ru/post/317910/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Статьи, лежащие в основе подхода Facebook к компьютерному зрению
habra.16
habrabot(difrex,1) — All
2016-12-19 23:30:06


Знаете такую компанию — Facebook? Да-да, ту самую, у сайта которой **1,6 миллиардов** пользователей. И если взять все посты-поздравления с днем рождения, ваши позорные детские фотографии (у меня они такие), того дальнего родственника, лайкающего каждый ваш статус, — и вот вам множество данных для анализа.

С точки зрения анализа изображений Facebook весьма далеко продвинулся со сверточными нейронными сетями (Convolutional Neural Network, CNN). В августе подразделение Facebook по исследованиям в области искусственного интеллекта (Facebook AI Research, сокращенно FAIR) опубликовала [блог-пост][1] об алгоритмах компьютерного зрения, которые лежат в основе некоторых их алгоритмов сегментации изображений. В этом посте мы кратко изложим и разъясним три статьи, на которые ссылается этот блог.

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

[1]: https://research.facebook.com/blog/learning-to-segment/
[2]: https://habrastorage.org/files/a3b/9d4/987/a3b9d498742a47d8bd865f249aa5862d.png
[3]: https://habrahabr.ru/post/317930/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как не писать лишнего
habra.16
habrabot(difrex,1) — All
2016-12-20 00:30:03


![][1] Все программисты сталкиваются с _boiler-plate_ кодом. Особенно Android-программисты. Писать шаблонный код — дело неблагодарное и, я уверен, что нет программиста, которому бы это доставляло удовольствие. В один прекрасный день я начал искать решения. Несмотря на то, что идея довольно проста: генерировать шаблонный код в отдельный класс и позже вызывать этот код в рантайме, готовых решений не нашлось, и я принялся за дело. Первая версия была реализована как один из подмодулей одного из рабочих проектов. Более двух лет я был доволен этим решением. Оно действительно работало и работало именно так, как я этого ожидал. Время шло, модуль дополнялся новыми функциями, рефакторился, оптимизировался. В целом [PoC][2] можно было назвать успешным, и я решил поделиться проектом с комьюнити.

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

[1]: http://jeta.brooth.org/static/images/jeta.png
[2]: https://en.wikipedia.org/wiki/Proof_of_concept
[3]: https://habrahabr.ru/post/317970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как Skype уязвимости чинил
habra.16
habrabot(difrex,1) — All
2016-12-20 02:30:03


![][1]

#### Короткий ответ: никак, им пофиг.



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

TL;DR:

* **Любой может заблокировать ваш аккаунт навсегда** так, что вы больше не сможете им пользоваться. Для этого достаточно знать только имя аккаунта. В большинстве случаев Skype откажет вам в восстановлении доступа. Microsoft знает об этой проблеме несколько лет.
* Механизм генерации восьмизначных одноразовых кодов аутентификации (Microsoft Security Code), которые используются для восстановления пароля к аккаунту Microsoft, уязвим. Атакующий может угадать код.
* Техподдержка Skype уязвима для атак социальной инженерии. Microsoft считает это нормальным.
* Техподдержка Skype не знает, что на самом деле происходит с вашим аккаунтом, и почему он заблокирован. В любом случае вы получите стандартный ответ, что ваш аккаунт заблокирован за нарушение правил, даже если аккаунт был удален по вашему запросу.
* Skype по-прежнему раскрывает ваш IP-адрес, в том числе и локальный (тот, что на сетевом интерфейсе). В некоторых случаях возможно раскрытие контактов, подключенных с того же внешнего IP-адреса, что и вы. Например, членов семьи, подключенных к домашнему роутеру.
* Атакующий может скрыть активную сессию из списка авторизованных клиентов (команда _**/showplaces**_) используя старые версии SDK. Таким образом, зная пароль, можно незаметно просматривать переписку жертвы.

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

[1]: https://habrastorage.org/files/09a/f14/e02/09af14e02e2b40178b7f543e83707803.png
[2]: https://habrahabr.ru/post/316912/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Оптимизация одного запроса с GROUP BY в PostgreSQL
habra.16
habrabot(difrex,1) — All
2016-12-20 10:30:05


![image][1]

Сразу скажу, что в этой статье нет универсального совета на все случаи, а рассмотрен случай оптимизации лишь небольшого класса запросов. Тем не менее такие запросы могут встречаться во многих проектах.

[Ускоряем запрос с GROUP BY в 10 раз][2]

[1]: https://habrastorage.org/getpro/habr/post_images/454/70a/08a/45470a08af92d4c1a7ca64b6f252de46.png
[2]: https://habrahabr.ru/post/317980/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Подборка фреймворков для машинного обучения
habra.16
habrabot(difrex,1) — All
2016-12-20 12:00:04


![][1]

В последние годы машинное обучение превратилось в мейнстрим небывалой силы. Эта тенденция подпитывается не только дешевизной облачных сред, но и доступностью мощнейших видеокарт, применяемых для подобных вычислений, — появилась ещё и масса фреймворков для машинного обучения. Почти все из них open source, но куда важнее то, что эти фреймворки проектируются таким образом, чтобы абстрагироваться от самых трудных частей машинного обучения, делая эти технологии более доступными широкому классу разработчиков. Под катом представлена подборка фреймворков для машинного обучения, как недавно созданных, так переработанных в уходящем году. Если у вас все хорошо с английским, то статья в оригинале доступна [здесь][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/files/607/8f3/196/6078f31969604d079bcf3e9d84210ec7.png
[2]: http://www.itworld.com/article/3026262/data-science/13-frameworks-for-mastering-machine-learning.html
[3]: https://habrahabr.ru/post/317994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Здравствуй, дорогой Мегафон
habra.16
habrabot(difrex,1) — All
2016-12-20 12:00:04


Пишет тебе из маленькой деревни подо Ржевом простой и скромный разработчик сайтов.
Хочу поговорить с тобой, Мегафон, о такой теме как реклама. Точнее, о нормативном документе №38-ФЗ, главе 2, статье 18.
Я не помню, дорогой Мегафон, чтобы я вставлял коды твоих рекламных баннеров в код сайтов, которые разрабатываю. Больше того, я не помню чтобы я давал согласие на то, чтобы ты сам вставлял их в трафик идущий на мои мобильные устройства с этих и любых других сайтов. И даже простого согласия на показ мне рекламы на мобильных устройствах я тоже не давал.
Так почему же ты, дорогой Мегафон, вынуждаешь меня смотреть эту рекламу даже когда я открываю инструменты разработчика в десктопном браузере чтобы просто протестировать какой-либо сайт?
Я, конечно, рад за тебя, ты можешь на основании строки user-agent показывать на мобильных устройствах свои баннеры, но подумай все-таки об указанном выше ФЗ. Возможно все-таки стоит соблюдать законы? [][1]

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

[>] Lock-free структуры данных. Iterable list
habra.16
habrabot(difrex,1) — All
2016-12-20 13:30:03


![][1] Lock-free list является основой многих интересных структур данных, — простейшего [hash map][2], где lock-free list используется как список коллизий, [split-ordered list][3], построенный целиком на списке с оригинальным алгоритмом расщепления bucket'а, многоуровневого [skip list][4], являющегося по сути иерархическим списком списков. В [предыдущей][5] статье мы убедились, что можно придать такую внутреннюю структуру конкурентному контейнеру, чтобы он поддерживал thread-safe итераторы в динамичном мире lock-free контейнеров. Как мы выяснили, основным условием для того, чтобы lock-free контейнер стал итерабельным, является стабильность внутренней структуры: ноды не должны физически удаляться (delete). В этом случае итератор суть просто (быть может, составной) указатель на ноду с возможностью перехода к следующей (оператор инкремента).
Можно ли такой подход распространить на lock-free list?.. Посмотрим…
[Читать дальше →][6]

[1]: https://habrastorage.org/files/817/b38/f79/817b38f7937a41259c48998f2cb990a0.png
[2]: https://habrahabr.ru/post/250383/#MichaelList
[3]: https://habrahabr.ru/post/250523/
[4]: https://habrahabr.ru/post/250815/
[5]: https://habrahabr.ru/post/314948/
[6]: https://habrahabr.ru/post/317882/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рекуррентные формулы для расчета ошибок итерационного суммирования двоичных чисел ограниченной длины
habra.16
habrabot(difrex,1) — All
2016-12-20 14:00:07


[innotor][1]
В настоящей статье мы продолжим рассмотрение проблемы компьютерных вычислений десятичных чисел с помощью двоичной арифметики, которая была затронута в предыдущем топике [1]. В статье речь пойдет об ошибках, которые в литературе принято называть ошибками округления. И, в частности, ошибок, которые порождаются в результате итерационного суммирования большого числа одинаковых десятичных чисел, представленных в двоичном виде ограниченным разрядным пространством. В результате исследований были получены простые рекуррентные соотношения, позволяющие точно определить ошибку компьютерных итерационных вычислений частичных сумм любого количества одинаковых слагаемых, на любом шаге итерации.
[Читать дальше →][2]

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

[>] Прототип RFC HTTP-кодов состояния для ошибок разработчиков (диапазон 7XX)
habra.16
habrabot(difrex,1) — All
2016-12-20 18:30:04


Ребята с Railscamp пришли к выводу, что текущая спецификация HTTP неполна: ибо у разработчиков есть много способов «прострелить себе ногу» в коде, но нет никакого формализованного способа, чтобы сообщить природу ошибки конечному пользователю :)

Был предложен RFC со следующими кодами состояния (HTTP status codes), сообщающими о причинах ошибки. Предполагается, что эти коды будут включены в спецификации HTTP в диапазоне 7xx.

Коды занимают весь диапазон от 701 до 799 и поделены на 10 групп.
Вот некоторые из них:
* 707 — Can't quit vi
* 724 — This line should be unreachable
* 725 — It works on my machine
* 726 — It's a feature, not a bug
* 735 — Fucking IE
* 767 — Drunk
* 780 — Project owner not responding
**Все коды доступны [здесь][1].** Приятного чтения!

![][2]

P.S. Это шутка. Ваш кэп. [][3]

[1]: https://github.com/joho/7XX-rfc
[2]: https://habrastorage.org/files/0a7/5a3/4ce/0a75a34cefe54118972d9eb99f0c1e21.png
[3]: https://habrahabr.ru/post/318054/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уязвимость в системе мониторинга Nagios позволяет осуществлять повышение привилегий
habra.16
habrabot(difrex,1) — All
2016-12-20 20:30:04


![][1]

Исследователь информационной безопасности Дэвид Голунски (Dawid Golunski) [обнаружил][2] серьезную уязвимость в популярной системе мониторинга ИТ-инфраструктуры Nagios. Ее эксплуатация позволяет злоумышленнику добиться повышения привилегий в системе. [Читать дальше →][3]

[1]: https://habrastorage.org/files/f81/7d0/677/f817d0677b424a75ac9ca090e41b361f.jpg
[2]: https://legalhackers.com/advisories/Nagios-Exploit-Root-PrivEsc-CVE-2016-9566.html
[3]: https://habrahabr.ru/post/318050/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Состоялся релиз Veeam Agent for Linux 1.0 (Free, Workstation, Server Edition)
habra.16
habrabot(difrex,1) — All
2016-12-20 21:30:04


Много лет компания Veeam выпускала продукты только для виртуальной среды. Но последнее время нас постоянно спрашивали: «А когда появится что-нибудь для физических машин?» Проанализировав запросы пользователей и свои возможности развития в этом направлении, мы выпустили **[Veeam Agent _for Microsoft Windows_][1] (ранее известный как [Veeam Endpoint Backup FREE][2]).** Кстати, в ближайшее время выйдет версия 2.0, в которой будет представлено много интересных возможностей.



**Сегодня мы рады представить первую официальную версию [Veeam Agent _for Linux_][3]!** Veeam Agent _for Linux_ позволит защитить физические машины под управлением Linux, развернутые локально или в публичном облаке. **Инструмент самостоятельный, установки Veeam Backup & Replication не требует** (хотя и может использовать репозитории Veeam Backup & Replication в качестве целевого хранилища).



![image][4]

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

[1]: https://www.veeam.com/endpoint-backup-free.html
[2]: https://www.veeam.com/endpoint-backup-free.html
[3]: https://www.veeam.com/linux-cloud-server-backup-agent.html
[4]: https://habrastorage.org/files/5a3/291/f4d/5a3291f4d1cd47d9a3f98b655dabe416.png
[5]: https://habrahabr.ru/post/317952/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Итоги GeekWeek 2016 и возвращение ужасного БАГа: зима вместе с GeekBrains
habra.16
habrabot(difrex,1) — All
2016-12-21 03:00:04


![][1]

14-19 ноября образовательный портал GeekBrains совместно с Mail.Ru Group провёл онлайн-конференцию GeekWeek 2016 для начинающих и опытных IT-специалистов. Для тех, кто не в курсе, IT-сфера является одним из наиболее динамично развивающихся направлений в экономиках большинства стран мира. Для постоянного развития требуется много ресурсов. А главный ресурс — человек.

Именно по этой причине каждый год проводится онлайн-конференция GeekWeek 2016. Главная цель — не просто заинтересовать сферой информационных технологий, но и обеспечить практическими навыками, необходимыми для успешного начала карьеры.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/9b4/769/88d/9b476988da68497bbf02db82e9d7b23c.png
[2]: https://habrahabr.ru/post/318074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Враг внутри: приглашаем хакеров и докладчиков на PHDays VII
habra.16
habrabot(difrex,1) — All
2016-12-21 08:30:03


[![][1]][2]

23 и 24 мая 2017 года в московском Центре международной торговли состоится международный форум по практической безопасности [Positive Hack Days][3].

Тема седьмой конференции — Противостояние: Враг внутри. Пока футурологи пугали нас Большим Братом и боевыми Терминаторами, нашими противниками неожиданно стало множество цифровых устройств: автомобили и детские игрушки, платежные терминалы и сенсоры «умного» дома, и даже камеры наблюдения, обещавшие улучшить нашу безопасность. Теперь это оружие хакеров. Как бороться с врагом, когда линия фронта размыта и атаковать нас может даже кофеварка? [Читать дальше →][4]

[1]: https://habrastorage.org/files/5d8/fb4/475/5d8fb44750a745e1ab0a239750d45165.png
[2]: https://habrahabr.ru/company/pt/blog/318070/
[3]: http://www.phdays.com/
[4]: https://habrahabr.ru/post/318070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VulnHub Разбор заданий с CTF SkyDog: 2016 — Catch Me If You Can
habra.16
habrabot(difrex,1) — All
2016-12-21 08:30:03


![][1]


Продолжаем разбор лаб с [VulnHub][2]. На этот раз будем разбирать решение [CTF][3] с недавней конференции по информационной безопасности [SkyDog Con][4]
[Читать дальше →][5]

[1]: https://habrastorage.org/files/f68/722/438/f6872243880b4e7ab552a69ebee3d78e.png
[2]: https://www.vulnhub.com/
[3]: https://www.vulnhub.com/entry/skydog-2016-catch-me-if-you-can,166/
[4]: http://www.skydogcon.com/
[5]: https://habrahabr.ru/post/317878/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Модуляризация в JavaSE без OSGI и Jigsaw
habra.16
habrabot(difrex,1) — All
2016-12-21 09:30:04


[mvn-classloader][1] — загрузчик классов и ресурсов из maven совместимых репозитариев. Этот проект позволяет добавить ограниченную по возможностям и не сложную систему модулей в JavaSE приложение, где не нужна вся мощь и сложность OSGI.

![][2]
Про то что еще позволяет делать mvn-classloader кроме модулей узнаете в статье.
[Читать дальше →][3]

[1]: https://github.com/igor-suhorukov/mvn-classloader
[2]: https://habrastorage.org/files/526/613/fa5/526613fa5ab944ce88848c8e61486b49.jpg
[3]: https://habrahabr.ru/post/317578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Elixir в биоинформатике
habra.16
habrabot(difrex,1) — All
2016-12-21 13:30:05


![][1]

В этой статье я расскажу о своей попытке использования библиотеки [GenStage][2], а в частности модуля [Flow][3], для реализации одного из алгоритмов биоинформатики. На протяжении последних двух лет я занимался разработкой комплексной системы хранения и поиска результатов метагеномного анализа ([метагеномика][4]) углеводородного сырья. Наверное, для многих это китайская грамота. Фактически такой анализ означает выявление всех типов микроорганизмов, обитающих, к примеру, в залежах нефти. Некоторые из этих микроорганизмов, преимущественно бактерии, способны разъедать стальные трубы и создавать множество других неблагоприятных эффектов.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/c96/277/739/c96277739bfd49da84997fb8391b8148.jpg
[2]: https://hexdocs.pm/gen_stage/Experimental.GenStage.html
[3]: https://hexdocs.pm/gen_stage/Experimental.Flow.html#content
[4]: https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%B0%D0%B3%D0%B5%D0%BD%D0%BE%D0%BC%D0%B8%D0%BA%D0%B0
[5]: https://habrahabr.ru/post/318104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Архитектура ассемблера Go
habra.16
habrabot(difrex,1) — All
2016-12-21 13:30:05


![image][1] Привет, Хабр! Меня зовут Марко Кевац, я системный программист Badoo в команде «[Платформа][2]», и я очень люблю Go. Если сложить эти две вещи, то вы поймёте, насколько я люблю ассемблер в Go.

Совсем недавно мы рассказывали на Хабре о том, на каких конференциях побывали. Одной из них была [GopherCon 2016][3], где практически всем [запомнился доклад][4] Роба [«Командира»][5] Пайка про Go-шный ассемблер. Представляю вам перевод его доклада, оформленный в виде статьи. Я постарался дать в тексте как можно больше ссылок на релевантные статьи в «Википедии».
[Читать дальше →][6]

[1]: https://habrastorage.org/files/f4a/50e/d6d/f4a50ed6d13e445eaf3d9c55293e7999.jpg
[2]: https://habrahabr.ru/company/badoo/blog/317442/
[3]: https://gophercon.com/
[4]: https://www.youtube.com/watch?v=KINIAgRpkDA
[5]: https://en.wikipedia.org/wiki/Rob_Pike
[6]: https://habrahabr.ru/post/317864/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Невычислимые функции на примере Busy Beaver Game
habra.16
habrabot(difrex,1) — All
2016-12-21 15:30:04


![][1]



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



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

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

[1]: https://habrastorage.org/files/6e8/7dc/4f7/6e87dc4f79a5414fb4c98fabf51958ac.jpg
[2]: https://habrahabr.ru/post/317996/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Соревнование Underhanded Rust 2016
habra.16
habrabot(difrex,1) — All
2016-12-21 15:30:04


[Команда связей с сообществом Rust][1] рада сообщить о первом ежегодном соревновании Underhanded Rust. Это соревнование должно проверить наше предположение о готовности языка [Rust][2] и его [экосистемы][3] к написанию легко читаемого и надежного кода. Воодушевившись примерами [Underhanded C][4] и [Underhanded Crypto][5], мы хотим, чтобы вы заставили Rust работать неправильно, используя лёгкий для чтения код, к которому сложно придраться. Нам нужна ваша помощь в поиске брешей в языке и способов их исправления. Сможете ли вы написать стопроцентно безопасный код, скрывающий логическую ошибку, или так спрятать эксплойт в [unsafe][6] коде, чтобы он прошел аудит? Попробуйте это сделать!

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

[1]: https://community.rs
[2]: https://www.rust-lang.org/
[3]: https://crates.io/
[4]: http://www.underhanded-c.org/
[5]: https://underhandedcrypto.com/
[6]: https://doc.rust-lang.org/book/unsafe.html
[7]: https://habrahabr.ru/post/318122/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Еще три онлайн-курса Mail.Ru Group в открытом режиме
habra.16
habrabot(difrex,1) — All
2016-12-21 15:30:04


![image][1]

C 5 по 15 декабря наш отдел образования Mail.Ru Group открыл в режиме без сроков и дедлайнов еще несколько курсов, записанных на платформе Stepik по мотивам занятий в [Технопарке][2]. Их можно проходить в удобном для вас режиме без риска потерять баллы. Даже занимаясь не спеша, у вас будет шанс получить сертификат с высокой оценкой.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/657/822/051/657822051d044f709e64acbd8ff847ec.jpg
[2]: https://park.mail.ru/
[3]: https://habrahabr.ru/post/318116/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Генерация фиктивных данных с Elizabeth
habra.16
habrabot(difrex,1) — All
2016-12-21 15:30:04


![][1]



**Elizabeth** — это библиотека для языка программирования Python, которая помогает генерировать фиктивные данные. Один из простейших примеров использования библиотеки — это заполнение баз данных для приложений на Flask или Django. На данный момент библиотека поддерживает 16 языковых стандартов и 18 классов-провайдеров, предоставляющих разного рода данные.



Возможность генерировать фиктивные, но в то же время валидные данные бывает очень полезна при разработке приложений, которые подразумевают работу с базой данных. Ручное заполнение базы данных представляется довольно-таки сложным и изнурительным процессом, но по-настоящему все усложняется в тот момент, когда требуется сгенерировать не 10-15 пользователей, а 100-150 тысяч. В этой статье я постараюсь обратить ваше внимание на инструмент, который в разы упрощает процесс начальной загрузки базы данных на этапе тестирования.

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

[1]: https://habrastorage.org/getpro/habr/post_images/ab1/bcf/dff/ab1bcfdffcf1341a01e9bc3acfbb2229.png
[2]: https://habrahabr.ru/post/318120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Искусство программирования» в подарок
habra.16
habrabot(difrex,1) — All
2016-12-21 16:30:03


Друзья, праздник к нам приходит! А пока он приходит, я хочу предложить вам подарок: 3-х томник «Искусство программирования» Д. Кнута, издание 3.

![][1]
Четвертого тома на момент покупки еще не вышло, но сейчас можно докупить.
[Интересно в чем подвох...][2]

[1]: https://habrastorage.org/files/172/761/618/172761618abd47ac951b80728dd97304.jpg
[2]: https://habrahabr.ru/post/318124/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Опыт работы со взломанным сервером
habra.16
habrabot(difrex,1) — All
2016-12-21 16:30:03


![image][1]

Хочу поделиться своим опытом начинающего системного администратора. Так уж случилось, что мой первый блин комом — это было предложение заняться инфраструктурой в одной маленькой компании. Ситуация сложная. Никакой автоматизации, все вручную и по принципу: работает — не трогай, а если не работает и никто не заметил, то считай, что работает. Предыдущий сотрудник не оставил почти никакой документации. Вот доступ к серверам, кофемашина — там, вроде всё…
[Читать дальше →][2]

[1]: http://citru.net/habr-post/head.png
[2]: https://habrahabr.ru/post/318126/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Декабрьский релиз ReSharper Ultimate 2016.3
habra.16
habrabot(difrex,1) — All
2016-12-21 18:00:04


Привет, хабр!

Больше года мы не делились здесь новостями о релизах в семействе инструментов ReSharper Ultimate. Это не значит, что работа встала, напротив: ее было много.

Читатели нашего [англоязычного блога][1] уже в курсе, что в ReSharper 2016.3 появилась начальная поддержка Visual Studio 2017, C# 7, VB.NET 15 и возможность запуска и отладки .NET Core юнит-тестов. Под катом вы найдете обзор этих и других обновлений в .NET продуктах и в ReSharper C++.

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

[1]: https://blog.jetbrains.com/dotnet/
[2]: https://habrastorage.org/files/3f0/b78/24b/3f0b7824b11540c18d3570158b47404a.png
[3]: https://habrahabr.ru/post/317936/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Быстрый курс Redux + websockets для бэкендера
habra.16
habrabot(difrex,1) — All
2016-12-21 19:30:03


Это краткое руководство и обучение по фронтэнеду для бэкендера. В данном руководстве я решаю проблему быстрого построения пользовательского интерфейса к серверному приложению в виде одностраничного веб-приложения (single page app).



Основной целью моего исследования является возможность за разумное время (для одного нормального человека) получить удобный и простой в использовании интерфейс-черновик к серверному приложению. Мы (как разработчики серверной части) понимаем, что наш приоритет — серверная часть. Когда (в гипотетическом проекте) появятся во фронте профи своего дела, они все сделают красиво и "правильно".



В роли учебной задачи представлена страничка чата с каким-то умозрительным "ботом", который работает на стороне сервера и принимает сообщение только через WebSocket. Бот при этом выполняет эхо ваших сообщений (мы тут не рассматриваем серверную часть вообще).

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

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

[>] [Из песочницы] Настройка сервера Quake Live — пошаговое руководство
habra.16
habrabot(difrex,1) — All
2016-12-21 19:30:03


Quake 3, как много в этом звуке…

![][1]
За последние 16 лет, с момента выхода первой версии, q3 изменился не сильно. Не поймите неправильно — игра менялась. Развились и канули в лету турнирные моды (Привет, osp, cmpa — мы вас помним!), родился quake live в браузере, перебрался в steam, нативный клиент для линукс. Чемпионатов стало меньше, игроков на серверах — тоже.

Но бесшабашная динамика осталась практически неизменной. В современной инкарнации, Quake Live — всё та же старая-добрая игра, вобравшая в себя все лучшие наработки за прошедшие годы.

Чего стоит только сервер minqlx, написанный на python, с поддержкой плагинов и кросс-серверной статистикой на qlstats.net, и огромный marketplace в стиме с дополнительными режимами игры, картами, звуками.

И хоть серверов сейчас намного больше, чем игроков — данный очерк скорее претендует на демонстрацию возможностей, и не призывает их бездумно плодить. Но, если вы просто хотите свой небольшой сервер для игры с друзьями долгими зимними вечерами, и не знали с чего начать, или Вам просто интересно, как сейчас происходит процесс установки — добро пожаловать под кат!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/da3/089/d15/da3089d15dbd4df99a5bf86a53e68937.jpg
[2]: https://habrahabr.ru/post/318146/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Многопоточная сказка о потерянном времени
habra.16
habrabot(difrex,1) — All
2016-12-21 22:00:05


В публикации [Сказка о потерянном времени][1] [crea7or][2] рассказал, как он опровергал [Гипотезу Эйлера][3] на современном CPU.

Мне же было интересно узнать как покажет себя GPU, и я сравнил однопоточный код с многопоточным для CPU и совсем многопоточным для GPU, с помощью архитектуры параллельных вычислений [CUDA][4].
[Читать дальше →][5]

[1]: https://habrahabr.ru/post/317588/
[2]: https://habrahabr.ru/users/crea7or/
[3]: https://ru.wikipedia.org/wiki/Гипотеза_Эйлера
[4]: http://www.nvidia.ru/object/cuda-parallel-computing-ru.html
[5]: https://habrahabr.ru/post/318066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] 7 шагов к локализации ПО
habra.16
habrabot(difrex,1) — All
2016-12-22 11:30:04


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


[Читать дальше: 7 W4g08 K I0K4I134L11 n0][1]

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

[>] Умный дом NooLite. Сценарий №1 — «Хозяин дома»
habra.16
habrabot(difrex,1) — All
2016-12-22 11:30:04


Доброго дня, уважаемое сообщество.

Сегодня хочу поделиться с Вами опытом построения умного с использованием оборудования компании НооТехника, а если точнее, то реализации сценария «Хозяин дома». Что я под этим понимаю? Запуск особого «сценария», в момент прихода домой «хозяина». Под хозяином в данном случае понимаю самого себя, а сценарий состоит из включения источников света в зоне прихожей и декоративного освещения в других комнатах.
[Читать дальше →][1]

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

[>] Можно ли вычислять биткоины быстрее, проще или легче?
habra.16
habrabot(difrex,1) — All
2016-12-22 11:30:04


![][1]
Все началось с того, что я решил поближе познакомиться с биткоинами. Хотелось понять, как их добывают. Статьи про биткоины и блокчейны последнее время встречаются часто, но таких, чтобы со всеми техническими подробностями, таких не очень много.

Самый простой способ разобраться во всех деталях — изучить открытые исходники. Я взялся изучать Verilog исходники FPGA майнера: [https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner.git][2]. Это не единственный такой проект, есть еще несколько примеров на github, и все они, хоть и разных авторов, похоже работают приблизительно по одной схеме. Вполне возможно, что автор то у них всех изначально был один, просто разные разработчики адаптируют один и тот же код под разные чипы и разные платы… По крайней мере мне так показалось…

Вот и я, поизучав исходники Verilog, адаптировал проект с github к плате Марсоход3 на основе ПЛИС Altera MAX10, 50 тыс. логических элементов. Я смог запустить свой майнер и даже смог запустить процесс вычисления биткоинов, но бросил это дело через пол часа из-за бесперспективности. Слишком медленно по нынешним временам работает мой FPGA майнер. Ну и пусть.

Честно говоря, меня во всем этом проекте заинтересовали не сами биткоины (ну их, эти денежные суррогаты ))), но скорее математическая сторона алгоритма SHA256. Вот об этом я и хотел бы поговорить. Я провел несколько экспериментов с алгоритмом SHA256, может быть результаты этих экспериментов покажутся вам интересными. [Читать дальше →][3]

[1]: https://habrastorage.org/files/cdc/697/eac/cdc697eacc7a4bf4907c3b8407279cf7.jpg
[2]: https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner
[3]: https://habrahabr.ru/post/318174/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Excel «Всемогущий» и Redmine: как генерировать задачи прямо в Excel
habra.16
habrabot(difrex,1) — All
2016-12-22 15:00:04


![][1]


В далёких от IT проектных организациях Excel часто используется в качестве инструмента обработки бог весть каких данных.

Передо мной встала задача в очень сжатые сроки наладить в Excel мониторинг весьма специфичного проекта с попутной выдачей заданий в проектные отделы. Касательно мониторинга ТЗ было более-менее определено и весь функционал был реализован средствами VBA самого Excel.

С выдачей заданий всё было не так однозначно. Поскрипев креслом, я решил попробовать отправлять задачи в Redmine прямо из Excel, получая обратно гиперссылку и номер задачи.

Статья написана инженером-проектировщиком для таких же новичков в программировании, автоматизирующих подручными средствами рутинную работу. Буду рад любым замечаниям!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/389/1b0/e86/3891b0e86c384484992b8334c2645886.png
[2]: https://habrahabr.ru/post/318198/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Попытки открытия новой шашечной тактики или что делать с несбыточной мечтой
habra.16
habrabot(difrex,1) — All
2016-12-22 15:30:04


### Введение


Спортивная игра «Шашки» является одной из игр человечества, которые компьютер ещё не просчитал полностью. Есть новости о том, что ученые нашли стратегию, при которой компьютер никогда не проиграет. За свои 9 лет, посвящённых этой игре, я встретил лишь одну программу, которую никак не мог выиграть. Пожалуй, мой спортивный опыт позволит сделать предположение, что это была программа реализующая стратегию описанную выше. К моему большому удивлению, она занимала лишь 60 Мбайт. А может быть, там была хорошо обученная нейронная сеть в основе? Но всё же мне не верится, что просчитать их невозможно. Там всего лишь 10^20 позиций, неужели мой компьютер не справится с такой задачей? А также, неужели нет тактики, в которой в начале партии соперник отдаёт шашку и оказываются в тактическом преимуществе?! Ни одного дебюта такого я не встречал. Пойду проверю…
[Читать дальше →][1]

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

[>] Космос зовет: нужен математик-специалист в области численного решения стохастических дифференциальных уравнений
habra.16
habrabot(difrex,1) — All
2016-12-22 16:30:04


Александр [4110][1] Шаенко (экс-инженер Даурия Аэроспейс, ныне главарь проекта краудсорсингового спутника «Маяк») и Степан Тезюничев пишут открытый софт для моделирования теплового режима спутников.

Репозиторий [тут][2].

![][3]

До этого, Саша писал дисер — «Метод решения задачи лучистого теплообмена без матрицы угловых коэффициентов» ([диссертация][4], [автореферат][5]). Код [тут][6]. (он на VB.NET, тормозной, но работает и даже есть документация)

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

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

Основную сложность ребята вроде решили, построив массивно-параллельный алгоритм расчета хода излучения с методом Монте-Карло на CUDA. Теперь они хотят использовать для интегрирования своей системы, а она большой размерности, порядка 100 тыс. неизвестных, и жесткая, подходящий метод интегрирования по времени. Обычные явные методы требуют слишком мелкого шага по времени, а неявные требуют много раз вычислять правую часть, что ресурсозатратно.

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

[1]: https://habrahabr.ru/users/4110/
[2]: https://bitbucket.org/account/user/radiosity/projects/SOL
[3]: https://habrastorage.org/files/fad/32a/4e1/fad32a4e1bcd4e1d8a17025ac72e2db0.jpg
[4]: https://vk.com/doc1385813_204486061?hash=235bd7c41b5f0993de&dl=bc1347bfb8588ffcc1
[5]: https://vk.com/doc1385813_204485980?hash=eb7c9ee0c5f18e229f&dl=efffea1493e938809d
[6]: https://sourceforge.net/projects/thorium/
[7]: https://habrahabr.ru/post/317856/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ... 133