RSS
Pages: 1 ... 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ... 210
[>] В клиенте OpenSSH обнаружена серьёзная уязвимость CVE-2016-0777
habra.15
habrabot(difrex,1) — All
2016-01-15 16:30:03


![][1] Сегодня стало известно о новой уязвимости в клиенте OpenSSH получившей идентификаторы CVE-2016-0777 и CVE-2016-0778. Ей подвержены все версии программы от 5.4 до 7.1. Обнаруженный баг позволяет осуществить атаку, **приводящую к утечке приватного ключа**. Аутентификация ключа сервера предотвращает атаку типа man-in-the-middle, так что злоумышленникам понадобится сначала получить доступ к машине, на которую вы пытаетесь зайти. Хотя, при подключении к машине впервые, не сверяя ключ, MITM возможен. До тех пор пока вы не обновите уязвимые системы рекомендуется использовать следующий фикс:

echo -e 'Host *\nUseRoaming no' >> /etc/ssh/ssh_config


Обновления для различных ОС уже выходят, в том числе выпущена [portable версия][2] OpenSSH 7.1p2. Клиент OpenSSH версий от 5.4 до 7.1 содержит код экспериментальной функции «roaming», позволяющей продолжать сессии. Серверная часть этой функциональности никогда не была опубликована, но существующий код клиента уязвим — злоумышленники могут получить часть памяти клиентской машины, содержащую приватный ключ. **По умолчанию эта функция включена**, поэтому узявимость достаточно серьёзна. [Читать дальше →][3]

[1]: https://habrastorage.org/files/c9e/9d7/28c/c9e9d728c5a1419295e7340f2c1cb795.jpg
[2]: https://lists.mindrot.org/pipermail/openssh-unix-dev/2016-January/034680.html
[3]: http://habrahabr.ru/post/275137/#habracut

[>] Security Week 02: уязвимые вебкамеры, продолжение истории с Juniper, Zero-Day в Silverlight и как его нашли
habra.15
habrabot(difrex,1) — All
2016-01-15 20:30:03


![][1]На этой неделе одной из самых обсуждаемых новостей стало [окончание][2] поддержки Microsoft Internet Explorer 8, 9 и 10. Данные версии браузеров перестанут получать обновления даже в случае обнаружения серьезных уязвимостей. Новость достаточно очевидная, чтобы не тратить на нее много места в дайджесте, но она наводит меня на еще одну мысль. Тем, кто пользуется IE 8, уже давно пора обновиться, и возможно прекращение поддержки их наконец-то подтолкнет к этому шагу. Обновиться достаточно просто, хотя кому-то придется для этого купить новый компьютер, но и это — не большая проблема. Проблемы начнутся, когда «компьютеров» с аналогичным подходом к разработке и развитию, когда типичный софт и железо устаревают максимум за 2-3 года, будет несколько десятков в каждой отдельно взятой квартире — от счетчика электроэнергии до чайника и электроплиты. Заметный упор в сторону «умных» бытовых приборов на [CES][3] (пока в основном довольно странных и безумно дорогих холодильников и стиральных машин) показывает, что это произойдет довольно скоро. В нынешнем виде такие устройства могут работать десятилетиями. А в будущем? Представьте себе экосистему Android, распространенную на утюги и кофемолки. Получатся небезопасные устройства, которые надо обновлять, небезопасные устройства, которые не поддерживаются производителем, небезопасные устройства, о которых даже сам производитель не знает, что они небезопасные. Какая-то не очень радужная перспектива, но пока я не вижу других вариантов развития. Производителям «умных вещей», увы, придется набить те же шишки на лбу, которые для производителей «больших» операционных систем давно пройденный этап. Все выпуски дайджеста — [тут][4]. [Читать дальше →][5]

[1]: https://habrastorage.org/files/f7b/595/448/f7b595448388499ba73b4e7ef9352a81.jpg
[2]: https://threatpost.ru/older-ie-versions-losing-security-support-on-tuesday/14136/
[3]: https://blog.kaspersky.ru/bionicman-ces-2016-impressions/10442/
[4]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[5]: http://habrahabr.ru/post/275185/#habracut

[>] Отменено решение Невьянского суда о блокировке Bitcoin сайтов
habra.14
habrabot(difrex,1) — All
2015-05-16 11:00:02


![][1] В Свердловском областном суде состоялось второе, оно же последнее, заседание по поводу решения Невьянского суда о признании информации на сайтах криптовалютной тематики запрещенной к распространению на территории Российской федерации. Суд отменил решение о блокировках. Напомним, что с 13 января семь сайтов, связанных с тематикой Bitcoin, были [заблокированы][2] Роскомнадзором по решению Невьянского городского суда. В свою очередь суд принял его после обращения Невьянского городского прокурора с заявлением в защиту неопределенного круга лиц. Кому интересно, вот более подробный [таймлайн][3] событий. [Подробности][4]

[1]: //habrastorage.org/files/95f/67b/697/95f67b6979a34bdd8e1146bfcd1c1e99.jpg
[2]: http://geektimes.ru/post/244151/
[3]: http://bits.media/news/blokirovka-roskomnadzorom-bitcoin-saytov/
[4]: http://habrahabr.ru/post/258085/#habracut

[>] Читаем контейнер закрытого ключа КриптоПро средствами OpenSSL
habra.15
habrabot(difrex,1) — All
2016-01-16 01:00:06


Речь пойдет о файлах primary.key, masks.key и header.key, которые лежат в директории ххххх.000 на флешке. Данные файлы входят в состав криптоконтейнера закрытого ключа электронной подписи криптопровайдера КриптоПро, формат которого нигде не опубликован. Целью данной статьи является чтение контейнера и преобразование закрытого ключа в формат, который может быть прочитан в библиотеке OpenSSL. Долгое время было распространено ошибочное суждение, что достаточно сделать нечто вида (primary\_key XOR masks\_key) и мы получим закрытый ключ в чистом (raw) виде, однако забегая вперед, можно утверждать, что в КриптоПро было применено более сложное преобразование, в худшем случае состоящее из более чем 2000 (двух тысяч) операций хеширования. Стоит упомянуть о существовании утилиты [P12FromGostCSP][1] которая позволяет конвертировать ключ в формат P12, доступный для работы с OpenSSL, но утилита имеет следующие существенные недостатки:

* Читает контейнер не напрямую, а через криптопровайдер, поэтому там, где кроме OpenSSL ничего нет, не работает.
* Если в свойствах ключа не отмечено, что ключ «экспортируемый», то конвертировать его невозможно.
* В демо версии не формирует файл с ключом, эта возможность присутствует только в платной версии.



# Файл primary.key

Содержит 32 байта ключа в формате Asn1. Это только половина ключа, полный ключ получается при делении этого числа по модулю Q на маску. Поле, хранящее модуль Q в библиотеке OpenSSL имеет название order. Маска лежит в файле masks.key ![primary.key][2] [Читать дальше →][3]

[1]: http://soft.lissi.ru/downloads/
[2]: https://habrastorage.org/files/0aa/ee2/1ef/0aaee21ef1774fd790b79cdaa1aa6bf3.png
[3]: http://habrahabr.ru/post/275039/#habracut

[>] Отменено решение Невьянского суда о блокировке Bitcoin-сайтов
habra.14
habrabot(difrex,1) — All
2015-05-16 12:30:02


![][1] В Свердловском областном суде состоялось второе, оно же последнее, заседание по поводу решения Невьянского суда о признании информации на сайтах криптовалютной тематики запрещенной к распространению на территории Российской федерации. Суд отменил решение о блокировках. Напомним, что с 13 января семь сайтов, связанных с тематикой Bitcoin, были [заблокированы][2] Роскомнадзором по решению Невьянского городского суда. В свою очередь суд принял его после обращения Невьянского городского прокурора с заявлением в защиту неопределенного круга лиц. Кому интересно, вот более подробный [таймлайн][3] событий. [Подробности][4]

[1]: //habrastorage.org/files/95f/67b/697/95f67b6979a34bdd8e1146bfcd1c1e99.jpg
[2]: http://geektimes.ru/post/244151/
[3]: http://bits.media/news/blokirovka-roskomnadzorom-bitcoin-saytov/
[4]: http://habrahabr.ru/post/258085/#habracut

[>] [Из песочницы] Обход CloudFlare ScrapeShield в Java (Android)
habra.14
habrabot(difrex,1) — All
2015-05-17 00:30:03


[][1] В некоторый момент времени мне пришлось решить проблему, описанную в заголовке. Долго размышлял, писать ли очевидное, в итоге решил, что кому-то это может пригодиться. Причина достаточно тривиальна — являясь автором Android-клиента к [весьма нишевому сайту][2], я в то же время не вхожу ни в число его администраторов, ни в число соучредителей. Таки образом ни о каких решениях руководства сайта я не осведомлён до момента их фактического вступления в силу. Не так давно на этот сайт началась DDoS-атака, и администрация включила DDoS-защиту от CloudFlare. Соответственно, приложение-клиент, использовавшее до этого стандартные механизмы авторизации через POST+Cookie, перестало авторизовывать пользователей. Общение с администрацией ни к чему не привело — «что мы можем сделать, лучше уж без мобильных клиентов, чем вообще никак». Естественно, всё это начало отражаться на рейтингах и породило весьма нелестные отзывы. [Читать дальше →][3]

[1]: http://habrastorage.org/files/628/163/0e2/6281630e29884e0e9db761167faa4f7f.png
[2]: http://www.diary.ru
[3]: http://habrahabr.ru/post/258101/#habracut

[>] [Перевод] Что такого особенного в Nim?
habra.14
habrabot(difrex,1) — All
2015-05-17 14:30:02






Язык программирования [Nim][1] (ранее именовался Nimrod) — захватывающий! В то время как [официальная документация с примерами][2] плавно знакомит с языком, я хочу быстро показать вам что можно сделать с Nim, что было бы труднее или невозможно сделать на других языках. Я открыл для себя Nim, когда искал правильный инструмент для написания игры, HoorRace, преемник моей текущей DDNet игры/мода Teeworlds. _(прим. пер. На синтаксис Nim имели влияние Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.)_

# Запускаем!

Да, эта часть всё ещё не захватывает, но просто следите за продолжением поста:

for i in 0..10:
echo "Hello World"[0..i]


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

[1]: http://nim-lang.org/
[2]: http://nim-lang.org/docs/tut1.html
[3]: http://habrahabr.ru/post/258119/#habracut

[>] Генераторы дискретно распределенных случайных величин
habra.15
habrabot(difrex,1) — All
2016-01-16 12:30:05


Данная статья является продолжением поста [ Генераторы непрерывно распределенных случайных величин][1]. В этой главе учитывается, что все теоремы из предыдущей статьи уже доказаны и генераторы, указанные в ней, уже написаны. Как и ранее, у нас имеется некий базовый генератор натуральных чисел от 0 до RAND\_MAX:

unsigned long long BasicRandGenerator() {
unsigned long long randomVariable;
// some magic here
...
return randomVariable;
}


С дискретными величинами все интуитивно понятнее. Функция распределения дискретной случайной величины:



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

####





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

[1]: http://habrahabr.ru/post/263993/
[2]: https://habrastorage.org/files/792/3a5/cb7/7923a5cb7e36429cacaad61739956285.png
[3]: http://habrahabr.ru/post/265321/#habracut

[>] Модифицированный драйвер из ReactOS упрощает жизнь под Windows на Chromebook
habra.14
habrabot(difrex,1) — All
2015-05-17 20:00:03


![image][1] Многие обладатели хромобуков приобрели их исключительно для того, чтобы использовать их вместе с Windows. Установка данной ОС на хромобук сопряжена с рядом трудностей, например, с неработоспособностью встроенной клавиатуры и тачпада. В хромобуках используется Google embedded controller, спецификации для которого еще не открыты и не существует свободных драйверов или драйверов под другие платформы. Участник [сообщества][2] по «портированию» Windows на Acer C720, скрывающийся под ником_ coolstar_, нашел оригинальное решение указанной проблемы. Он создал необходимый драйвер, взяв за основу исходные коды i8042prt из ReactOS.

> Thanks to some code from [@reactos][3] & some patches I made, I have the Acer C720's keyboard working everywhere in Windows; with no kbdhelper :)
>
> — CoolStar (@coolstarorg)
>
> [16 мая 2015][4]

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

[1]: http://habrastorage.org/getpro/habr/post_images/4e5/afa/0e2/4e5afa0e20710ebb1fe4a1e2170857d1.png
[2]: http://community.acer.com/t5/Chromebook/GUIDE-Install-Windows-8-on-the-Acer-C720/td-p/217491
[3]: https://twitter.com/reactos
[4]: https://twitter.com/coolstarorg/status/599494255837478912
[5]: http://habrahabr.ru/post/258135/#habracut

[>] Как правильно внести свою лепту в Open Source проект: простые подсказки
habra.15
habrabot(difrex,1) — All
2016-01-16 15:00:04


Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные. Такие проекты как [Bootstrap][1], [Angular.js][2], [Elasticsearch][3], [Symfony Framework][4], [Swift][5] и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир. Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д. Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат. ![][6] [Читать дальше →][7]

[1]: https://github.com/twbs/bootstrap
[2]: https://github.com/angular/angular.js
[3]: https://github.com/elastic/elasticsearch
[4]: https://github.com/symfony/symfony
[5]: https://github.com/apple/swift
[6]: https://habrastorage.org/files/e52/8f0/8cd/e528f08cd83a4585a6f092776f535678.jpg
[7]: http://habrahabr.ru/post/275219/#habracut

[>] Поверхностный реверс инжиниринг IronPython
habra.14
habrabot(difrex,1) — All
2015-05-18 00:30:02


Привет, хабрахабр! Столкнулся я с необходимостью модифицировать поведение одной чужой программы, написанной на языке Python. Казалось бы что сложного, Python ведь, бери исходник да модифицируй сколько влезет. Но не тут-то было. Дело осложнялось тем, что программа не просто была написана на Python, она была ещё и откомпилирована при помощи [IronPython][1] и никаких исходников не имелось. Для обычного, так скажем, канонического CPython существует Over 9000 различных декомпайлеров байткода из файлов .pyc обратно в .py, например [мой любимый] [uncompyle2][2] и другие, а для IronPython ничего подобного я не нашёл. То ли плохо искал, то ли таковых действительно не существует. Пришлось разбираться самому. Говорю сразу, процесс я не автоматизировал, всё так сказать hand made. [Кому интересно -- прошу под кат][3]

[1]: http://ironpython.net/
[2]: https://github.com/Mysterie/uncompyle2
[3]: http://habrahabr.ru/post/258123/#habracut

[>] Измерение веса полезных ископаемых в горнорудной промышленности. Теоретическая основа
habra.15
habrabot(difrex,1) — All
2016-01-16 15:30:03


В горнодобывающей промышленности для транспортирования полезных ископаемых из шахты на поверхность применятся много техники. Это самоходные установки, наклонные съезды с вагонами, шахтные подъемные установки (ШПУ или ). Вот о ШПМ мы и поговорим. ![][1] Они бывают разных типов, как по используемым подъемным сосудам (скип, клеть, бадья), так и количеством подвешенных подъемных сосудов (одноконцевые, двуконцевые). Очень много нюансов там, в плане механики. Посмотреть описание можно [тут][2] и [тут][3]. Приводы тоже бывают разные. Постоянного и переменного тока. Для переменного тока это могут быть высоковольтные асинхронные электродвигатели с фазным ротором, синхронные электродвигатели, низковольтные асинхронные электродвигатели с короткозамкнутым ротором. Поговорим о ШПУ с высоковольтным асинхронным электродвигателем с фазным ротором. [Читать дальше →][4]

[1]: https://habrastorage.org/files/5c6/40c/0a8/5c640c0a81094475b4cc0acc0c71aa3a.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D1%8A%D1%91%D0%BC%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0
[3]: http://dic.academic.ru/dic.nsf/ruwiki/1198380
[4]: http://habrahabr.ru/post/275141/#habracut

[>] Как я проходил первый хак квест CTF Ratazana
habra.14
habrabot(difrex,1) — All
2015-05-18 02:30:06


![][1]

#### Введение

В качестве введения я расскажу кратко о хак квесте Ratazana CTF. Его организовали специалисты из ЦИС (Центр Информационной Безопасности), представительство которого располагается в г. Бишкек Киргизия. Это первый отлично организованный хак квест. Он был прост и интересен и скорее всего служил так называемой отправной точкой (так сказать организаторы хотели прощупать уровень участников).

#### Коротко о квесте

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

[1]: //habrastorage.org/files/46f/04c/d8b/46f04cd8b90145f4a590746fafa6d3b1.png
[2]: http://habrahabr.ru/post/258065/#habracut

[>] Размещай и властвуй! Используем размещающий new для оптимизации кода на C++
habra.14
habrabot(difrex,1) — All
2015-05-18 12:00:15


![][1] Создавая объект за объектом, мы часто не обращаем внимания на такую «мелочь», как динамическое выделение памяти. Наравне с копированием и сериализацией, выделение памяти из кучи через new постепенно сводит на нет преимущества C++ в скорости. Чем интенсивнее мы пользуемся заветным new, тем сложнее становится приложению, поскольку память кончается, фрагментируется и всячески стремится утекать. Эта участь уже постигла удобные, но неявно опасные для производительности контейнеры STL: vector, string, deque, map. Особенно обидно терять скорость на выделении небольших объектов в больших количествах. Но есть способ обработать размещение памяти таких объектов на стеке, при этом скрывая детали реализации в специальный класс данных. В этом нам поможет механизм размещающего new — непревзойденный способ оптимизации приложения, полного частых и мелких выделений памяти из кучи. [Читать дальше →][2]

[1]: //habrastorage.org/files/d0d/4e3/6bf/d0d4e36bf0624c7b881fce6125434c2b.jpg
[2]: http://habrahabr.ru/post/257893/#habracut

[>] Автоматическое тестирование JavaFX приложений
habra.14
habrabot(difrex,1) — All
2015-05-18 12:30:12


![][1] Добрый день! В мире, в котором стоимость ошибки на этапе внедрения превышает в сотни и тысячи раз стоимость исправления на этапе разработки, нужно всегда искать ответ на вопрос: «а как это тестировать автоматически?» Вопросы автоматизации тестирования JavaFX приложений глобальная паутина практически не освещает. Но всё же удалось найти несколько интересных идей, и я хочу поделиться с вами своими наблюдениями. В статье я расскажу как находить компоненты на JavaFX форме, как проверять их свойства, как кликать на них и так далее. Это минимально необходимый набор входных точек в автоматизацию тестирования JavaFX приложений. [Читать дальше →][2]

[1]: //habrastorage.org/files/864/62a/07a/86462a07a43947d49b2226fd453807c1.jpg
[2]: http://habrahabr.ru/post/257981/#habracut

[>] Система плагинов и модулей в Unreal Engine 4
habra.15
habrabot(difrex,1) — All
2016-01-16 23:00:03


![][1] Здравствуйте меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Сегодня я расскажу как создать свой модуль, а потом как создать плагин в Unreal Engine 4. [Читать дальше →][2]

[1]: https://habrastorage.org/files/932/2a8/5d2/9322a85d2f824646bfeb3682a3278488.jpg
[2]: http://habrahabr.ru/post/275239/#habracut

[>] [Перевод] Майним Bitcoin с помощью бумаги и ручки
habra.14
habrabot(difrex,1) — All
2015-05-18 13:00:08


В один прекрасный момент мне захотелось прикинуть, насколько быстро можно майнить биткойны вручную. Оказалось, что для майнинга используется хеширование SHA-256, а оно достаточно простое и может быть вычислено даже без компьютера. Само собой, процесс очень небыстрый и совершенно непрактичный. Но, пройдя все шаги на бумажке, можно хорошо разобраться в деталях работы алгоритма. ![][1] _Один криптографический раунд_ [Читать дальше →][2]

[1]: //habrastorage.org/files/6d2/378/cd6/6d2378cd68ea4d2e8d717a952fa83726.png
[2]: http://habrahabr.ru/post/258181/#habracut

[>] Введение в KDF на примере решения криптографического ребуса
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


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

[1]: https://habrastorage.org/files/5fd/590/331/5fd5903316584521900e8d95a08670ed.jpg
[2]: http://habrahabr.ru/post/259199/#habracut

[>] Лекции Технопарка. 2 семестр. Java
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09







В эфире очередной выпуск материалов рубрики «Лекции Технопарка». На этот раз вы можете изучить лекции курса, посвящённого углублённому программированию на Java. Цель курса — получение студентами практических навыков создания клиент-серверного приложения на примере разработки сервера простой многопользовательской online-игры в малых группах (4-6 человек). [Читать дальше →][1]

[1]: http://habrahabr.ru/post/259125/#habracut

[>] Новости проекта Qucs: подготовка к релизу 0.0.19
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


![][1] [ Qucs ][2] — это симулятор электронных схем с открытым кодом. О нём рассказывает моя предыдущая [ статья на Хабре][3]. Сейчас наш проект готовится к следующему релизу 0.0.19, который выйдет до 1 сентября текущего года. За время с предыдущего релиза (1 сентября 2014) 6 разработчиков совершили более 700 коммитов. Данная заметка содержит краткий обзор ожидаемых новшеств. Скачать снапшоты предрелизной версии можно здесь:

* Исходный код (все платформы Linux, MacOS, Windows): [sourceforge.net/projects/qucs/files/qucs/0.0.19-snapshots][4]
* Инсталлятор для Windows: [sourceforge.net/projects/qucs/files/qucs-binary/0.0.19-snapshots][5]

**Снапшоты не рекомендованы для использования в повседневной работе! Это тестовая версия! Для работы используйте стабильную версию 0.0.18** О найденных багах сообщать в наш багтрекер: [github.com/Qucs/qucs/issues][6] Под катом краткий обзор изменений [Читать дальше →][7]

[1]: https://habrastorage.org/getpro/habr/post_images/4db/83b/0ff/4db83b0ffb894726173680d6e3206469.png
[2]: http://qucs.sourceforge.net/
[3]: http://habrahabr.ru/post/248005/
[4]: http://sourceforge.net/projects/qucs/files/qucs/0.0.19-snapshots/
[5]: http://sourceforge.net/projects/qucs/files/qucs-binary/0.0.19-snapshots/
[6]: https://github.com/Qucs/qucs/issues
[7]: http://habrahabr.ru/post/259193/#habracut

[>] Язык программирования APL
habra.15
habrabot(difrex,1) — All
2016-01-16 23:00:03


Тысячи языков программирования были изобретены за первые 50 лет развития компьютеров. Одни из них были характерными, другие следовали традиционным, эволюционным путем их предшественников. У некоторых революционных языков наблюдалась четкая направленность, дифференцирующая их от большего количества собратьев общего назначения. LISP подходил для обработки списка. SNOBOL использовался для обработки текстовых данных. SIMSCRIPT помогал в моделировании. А язык APL предназначался для математики с акцентом на обработку множества. APL (от А Programming Language — язык программирования) был разработан в 1957 г. профессором Гарварда Кеннетом Айверсоном (Kenneth Iverson), который в дальнейшем перешел работать в фирму IBM. ![][1] _Кеннет Айверсон (1920 — 2004) — канадский ученый в области теории вычислительных систем, создатель языка программирования APL_ [Читать дальше →][2]

[1]: https://habrastorage.org/files/c20/413/6a2/c204136a28374cf6a2c912353ab687b8.jpg
[2]: http://habrahabr.ru/post/275177/#habracut

[>] VPN-расширение Hola продает пользовательский трафик и содержит уязвимости удаленного выполнения кода
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


4 дня назад администратор борды [8chan][1] (доска /beast/ которой заблокирована в России) сообщил о DDoS-атаке на сайт, которая выглядела как стократный приток обычных посетителей. Самое большое увеличение нагрузки получил скрипт для постинга post.php (капчи на борде не было); DDoS привел к падению PHP-FPM, под которым выполнялся скрипт. В ходе исследования трафика выяснилось, что для совершения атаки были использованы каналы пользователей с [Hola][2] — популярным браузерным расширением для доступа к заблокированным сайтам, пользующееся популярностью как за рубежом, так и в России. Пользователи расширения, сами того не зная, отдавали свои интернет-каналы дочерней фирме [Luminati][3], которая, по сути, владела более 9 миллионами уникальных выходных нод, за счет расширения и каналов пользователей. Зарабатывают они, судя по всему, очень неплохо: первые 100 гигабайт трафика обходятся клиентам в $20 за гигабайт. В FAQ проекта не было никаких упоминаний об использовании каналов пользователей, однако в Hola быстро добавили несколько пунктов на этот счет. Теперь, если вы не хотите отдавать свой канал Limunati, вам придется заплатить $5 в месяц. [Архивная версия FAQ][4] [Текущая версия FAQ][5] После опубликования данной информации администратором 8chan, [группа ребят нашла 4 уязвимости в данном расширении][6]:

* Чтение произвольных файлов до NULL-байта (/file\_read.json)
* Раскрытие уникального идентификатора пользователя (/callback.json)
* Раскрытие адресов некоторых функций (/procinfo/ps, для последующего обхода ASLR)
* Удаленное выполнение кода (/vlc\_mv.json и /vlc\_start.json)
* Повышение привилегий до SYSTEM под Windows

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

[1]: http://8ch.net/
[2]: http://hola.org/
[3]: https://luminati.io/
[4]: https://archive.is/tgujS
[5]: http://hola.org/faq
[6]: http://adios-hola.org/
[7]: http://habrahabr.ru/post/259177/#habracut

[>] [recovery mode] Добавляем в игру мультиплеер с помощью Node.JS и Frida. Часть 1
habra.15
habrabot(difrex,1) — All
2016-01-17 11:00:03


![][1] На хабре уже есть пару упоминаний об инструменте Frida([Frida-node или немножко странного кода][2], [Точки соприкосновения JavaScript и Reverse Engineering][3]). В одной статье уже упоминается использование Frida на практике, однако почти везде инструмент используют как фреймворк для реверс-инжиниринга и исследования функционала программ (может даже взлом).   Я же хочу рассказать о процессе превращения одной любимой для меня однопользовательской игрушки в полноценную, многопользовательскую.   [Читать дальше →][4]

[1]: https://habrastorage.org/files/c6c/138/ef1/c6c138ef18b148f0a9b3553f6f0353ad.jpeg
[2]: http://habrahabr.ru/post/268997/
[3]: http://habrahabr.ru/company/dsec/blog/253309/
[4]: http://habrahabr.ru/post/275235/#habracut

[>] [Перевод] Лучшая подарочная книга для начитанных фанатов JavaScript
habra.15
habrabot(difrex,1) — All
2016-01-17 16:30:02


Здравствуйте, уважаемые хаброжители! Мы вынашиваем амбициозные планы по изданию вот такой [книги][1]: ![][2] Как вы понимаете, эта книга требует не только литературного перевода, но и классной полиграфии, хорошей бумаги, широкого формата и т.п. Поэтому предлагаем ознакомиться с замечательной публикацией об этой книге, появившейся в блоге автора Ангуса Кролла спустя несколько месяцев после публикации оригинала. Приятного чтения, и поучаствуйте пожалуйста в опросе! [Читать дальше →][3]

[1]: http://www.amazon.com/Hemingway-Wrote-JavaScript-Angus-Croll/dp/1593275854/
[2]: https://habrastorage.org/files/d9f/bf7/570/d9fbf7570a4c44ebbe92ace3e20a5d49.jpg
[3]: http://habrahabr.ru/post/275245/#habracut

[>] DevConf 2015: Интервью с автором — PHP6 не будет! Встречаем PHP7
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


![][1] На вопросы оргкомитета [DevConf 2015 ][2] отвечает Дмитрий Стогов -[ лидер проекта PHPNG][3] и один из основных разработчиков PHP; ведущий инженер в Zend Technologies. ** — Расскажите пару слов о себе. ** _Последние лет 10 работаю в Zend, где 2/3 времени занимаюсь развитием Open Source PHP, и, в основном, усовершенствованиями связанными с производительностью. Собственно, почти все что связано с производительностью в PHP-7 (да и в PHP-5) придумано или заимствовано и реализовано мной._ [Читать дальше →][4]

[1]: https://habrastorage.org/files/f57/8e8/672/f578e8672e4741a5b98de5cea056f137.jpg
[2]: http://devconf.ru/
[3]: http://habrahabr.ru/company/devconf/blog/223579/
[4]: http://habrahabr.ru/post/259163/#habracut

[>] Атака на пользователей Linux или как собрать ботнет руками админов
habra.15
habrabot(difrex,1) — All
2016-01-17 21:30:02


Для чистоты эксперимента предлагаю перейти по [ссылке][1] и выполнить по указанной инструкции «установку полезных пакетов». Инструкция для владельцев Ubuntu. По ссылке всего лишь «демонстрация» данного вида атаки, но в любом случае данные действия лучше производить на виртуалке. Ниже описание того, что случилось, в том случае, если вы не поленились произвести указанные выше действия. [Читать дальше →][2]

[1]: http://sli.su/linux_copy/index.html
[2]: http://habrahabr.ru/post/275075/#habracut

[>] Sexy primes, «медленный питон» или как я бился о стену непонимания
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Многие разработчики, особенно принимающие активное участие в проектировании системы, наверняка сталкивались с подобной ситуацией: приходит коллега (разраб, проектлид или продажник не суть важно) с очередной идеей-фикс: давай перепишем все на java, scala и т.д. (любимое подставить). Вот и мне в очередной раз «спустили» такую идею в немаленьком-таком legacy проекте. Не совсем переписать, не совсем все (ну в перспективе). В общем перейти с питона (а у нас там еще и тикль модульно присутствует) на scala. Речь пока шла о разработке новых модулей и сервисов, т.е. начинать с наименее привязанных к middle-level и front-nearby API's. Как я понял в перспективе возможно совсем. Человек — не разработчик, типа нач-проекта и немного продажник (для конкретного клиента) в одном лице. Я не то, чтобы против. И скалу уважаю и по-своему люблю. Обычно я вообще открыт ко всему новому. Так, например, местами кроме тикля и питона у нас появляются сервисы или модули на других языках. Так, например, мы переехали с cvs на svn, а затем на git (а раньше, давно-давно, вообще MS-VSS был). Примеров на самом деле масса, объединяет их один момент — так решили или как минимум одобрили сами разработчики (коллективно ли, или была группа инициаторов — не суть важно). Да и дело в общем в аргументах за и против. Проблема в том, что иногда для аргументированной дискуссии «Developer vs. Anybody-Else» у последнего не дотягивает уровень знаний «материи» или просто невероятно сложно донести мысль — т.е. как-бы разговор на разных языках. И хорошо если это кто-нибудь типа software architect. Хуже, если имеем «беседу» например с чистым «продажником», огласившим например внезапные «требования» заказчика. Ну почему никто не предписывает, например, плиточнику — каким шпателем ему работать (типа с зубцами 10мм клея же больше уйдет, давайте может все же 5мм. А то что там полы-стены кривущие никого не волнует). И шуруп теоретически тоже можно «закручивать» молотком, но для этого же есть отвертка, а позже был придуман шуруповёрт. Утрирую конечно, но иногда действительно напоминает такой вот абсурд. Это я к тому, что инструмент в идеале должен выбирать сам разработчик или иметь в этом как минимум последнее слово — ему с этим инструментом работать . Но что-то я отвлекся. В моей конкретной истории аргументов — за scala, у человека как всегда почти никаких. Хотя я мог бы долго говорить про вещи, типа наличие разрабов, готовые наработки, отточенную и отлаженную систему и т.д. и т.п. Но зацепился за его «Питон очень медленный». В качестве примера он в меня кинул ссылкой на [Interpreting a benchmark in C, Clojure, Python, Ruby, Scala and others — Stack Overflow][1], которую он даже до конца не прочитал (ибо там почти прямым текстом есть — не так плохо все с питоном). Имелось ввиду именно вот это (время указано в секундах):

Sexy primes up to: 10k 20k 30k 100k
---------------------------------------------------------
Python2.7 1.49 5.20 11.00 119
Scala2.9.2 0.93 1.41 2.73 20.84
Scala2.9.2 (optimized) 0.32 0.79 1.46 12.01


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

[1]: http://stackoverflow.com/questions/11641098/interpreting-a-benchmark-in-c-clojure-python-ruby-scala-and-others
[2]: http://habrahabr.ru/post/259095/#habracut

[>] [recovery mode] Всего хорошего и спасибо за рыбу
habra.15
habrabot(difrex,1) — All
2016-01-18 08:30:03


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

[1]: http://habrahabr.ru/post/275297/#habracut

[>] Прототипное ООП для Lua
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Привет, я придумал свой велосипед для реализации прототипного подхода ООП в Lua. Основные фишки

* Single inheritance
* Traits
* LuaJIT

Перейдем сразу к примерам.

-- подключаем модуль
local object = require("object")

-- определяем наш класс, который на самом деле объект
local HelloClass = object:extend(function(class)
-- конструктор (необязательно)
function class:init(name)
self.name = name
end

-- метод класса
function class:sayHello()
print("Hello " .. self.name)
end
end)

local hello = HelloClass:new("John")
hello:sayHello()


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

[1]: http://habrahabr.ru/post/259145/#habracut

[>] Единорог в поисках внеземного разума: анализ кода SETI@home
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


![][1]_Существует две возможности: либо мы одиноки во Вселенной, либо нет. Обе одинаково ужасны. (с) Артур Чарльз Кларк_ Дискуссии о том, одиноки ли мы во Вселенной, будоражат умы людей уже не один десяток лет. Серьёзное отношение к этому вопросу имеет проект [SETI][2], занимающийся поиском внеземных цивилизаций и возможностью вступления с ними в контакт. Об анализе исходного кода одного из проектов этой программы — SETI@home — и пойдёт речь в данной статье. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/a46/deb/4e7/a46deb4e744297bad3a0886245818614.png
[2]: http://www.viva64.com/go.php?url=1615
[3]: http://habrahabr.ru/post/259151/#habracut

[>] [Перевод] Перевод: full stack разработчик — это миф
habra.15
habrabot(difrex,1) — All
2016-01-18 11:00:02


![][1]Вашему вниманию предлагается перевод любопытной статьи [Скотта Хадфилда][2], CTO и со-основателя стартапа “Hello Pretty”. Сейчас в половине вакансий, связанных с вебом и серверной разработкой, встречается волшебная фраза “full stack”. Чаще всего с эпитетами вроде “джедай”, “супер-герой” и “ниндзя”. Кого ищут все эти люди, и кого им на самом деле удается получить в свою команду? [Читать дальше →][3]

[1]: https://habrastorage.org/files/aaa/5fe/8a5/aaa5fe8a5b9e4681866a1a5543d6c35e.jpg
[2]: https://medium.com/@hadsie
[3]: http://habrahabr.ru/post/275229/#habracut

[>] «ВКонтакте» запускает программу BugBounty
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Всем известная социальная сеть «ВКонтакте» объявила о запуске программы BugBounty. Среди сервисов, заявленных в условиях:

* \*.vk.com
* login.vk.com
* \*.vk.me
* \*.vk-cdn.net
* \*.vkmessenger.com
* \*.vkontakte.ru
* \*.vk.cc
* Официальные мобильные приложения VK

О каждой найденной уязвимости можно сообщить, используя платформу [HackerOne][1]. Минимальная награда за найденную брешь составляет 100$. При этом необходимо быть внимательным — эксплуатация обнаруженной уязвимости против пользователей социальной сети может привести к полному отказу от выплаты награды за нее. [][2]

[1]: http://hackerone.com/vkcom
[2]: http://habrahabr.ru/post/259137/#habracut

[>] [recovery mode] Шифрование фотографий в Google Диск
habra.15
habrabot(difrex,1) — All
2016-01-18 13:30:03


Нужно зашифровать важные фотографии и другие документы, поместить их в облако в зашифрованном виде и синхронизировать с другим Android-устройством? Вам кажется, что все это довольно сложно, а работать с зашифрованными данными будет неудобно. Это не так. В этой статье будет показано, как реализовать данный сценарий всего за две минуты. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/2fe/880/b98/2fe880b986b947cf8098adc97c5da16b.jpg
[2]: http://habrahabr.ru/post/274999/#habracut

[>] Что было на PHDays V: признаки перехвата GSM-сигнала, лучшее время для взлома Wi-Fi, будущее шифрования
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


[![][1]][2] Технологическая сингулярность ожидается только через 15 лет, но фазовый переход Positive Hack Days происходит прямо сейчас. Пятый форум посетили рекордное число участников — более 3500 человек, что сравнимо с ведущими международными хакерскими конференциями, а количество докладов, секций и различных активностей перевалило за сотню. На площадке состоялась невероятная конкурсная программа со взломом ракет, электроподстанций, банкоматов, железной дороги, а главные хакерские соревнования года PHDays CTF выиграла команда More Smoked Leet Chicken, лучше всех преуспев в увлекательных биржевых спекуляциях, — поздравляем! Но обо всем этом мы подробно расскажем чуть позже. В данном материале коротко рассмотрим ряд сугубо практических техник и рекомендаций, которые мы отметили 26 и 27 мая в ЦМТ. [Читать дальше →][3]

[1]: https://habrastorage.org/files/779/9cb/f55/7799cbf5548d4fd6815fdc4b5d1c6f65.png
[2]: http://habrahabr.ru/company/pt/blog/259135/
[3]: http://habrahabr.ru/post/259135/#habracut

[>] Выписываем цифровой сертификат и проверяем подпись с помощью BouncyCastle
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Флагманским продуктом нашей компании является Рутокен ЭЦП — устройство с российской криптографией «на борту». Для интеграции устройства с браузерами был выпущен [Рутокен Плагин][1]. Демонстрацию возможностей плагина можно посмотреть на [тестовых площадках][2]. Некоторые из них предполагают работу с цифровыми сертификатами, хранящимися на устройствах. Например, [Демо-банк][3] при регистрации пользователей выписывает пользовательский сертификат, а при логине в систему запрашивает его и проверяет. Для реализации данных задач на сервере используется библиотека BouncyCastle. ![][4] В данной статье будут рассмотрены примеры ее использования для выписки сертификатов по запросу PKCS#10, а также для проверки подписи CMS, выработанной по российским криптоалгоритмам. [Читать дальше →][5]

[1]: http://www.rutoken.ru/products/all/rutoken-plugin/
[2]: http://demo.rutoken.ru/
[3]: http://demobank.rutoken.ru/
[4]: https://habrastorage.org/files/641/614/686/6416146868a64957aa64067d96963fdb.jpg
[5]: http://habrahabr.ru/post/257407/#habracut

[>] Макросы в InterSystems Caché
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


![Monet tulips in holland][1]

## Введение

Хочу рассказать про использование макросов в InterSystems Caché. Макрос — это символьное имя, заменяемое при компиляции исходного кода на последовательность программных инструкций. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов. Это может быть как статический код, так и результат выполнения COS. Рассмотрим, как их можно использовать в вашем приложении. [Читать дальше →][2]

[1]: https://habrastorage.org/files/b33/692/4d9/b336924d93b9462c85673595077e3511.jpg
[2]: http://habrahabr.ru/post/258081/#habracut

[>] Опыт использования Intel Multi-OS Engine для разработки iOS-приложения на Java
habra.15
habrabot(difrex,1) — All
2016-01-18 13:30:03


![][1]В августе на Intel Developer Forum в Сан-Франциско [мы][2] представили нативное мобильное приложение для iPаd для мониторинга пациентов, разработанное с помощью платформы [Intel Multi-OS Engine][3]. Приложение предоставляет данные о наиболее важных параметрах состояния пациента, подключаясь к прикроватным мониторам по WiFi-сети (более подробно о самом приложении и его функционале можно почитать на [нашем сайте][4]). В данной статье мы поделимся опытом использования платформы Intel Multi-OS Engine, которая позволяет разрабатывать нативные приложения для iOS на Java. [Читать дальше →][5]

[1]: https://habrastorage.org/files/2fc/7f3/b0b/2fc7f3b0bfed4935a1fb327bdc72de3a.png
[2]: http://auriga.com/
[3]: https://software.intel.com/en-us/multi-os-engine
[4]: http://auriga.com/blog/ru/auriga-idf-intel-inde/
[5]: http://habrahabr.ru/post/275305/#habracut

[>] Взлом банковских карт, автомобилей и мессенджеров и др. особенности обучения на лучшей магистратуре Нидерландов
habra.15
habrabot(difrex,1) — All
2016-01-18 13:30:03


Всем привет! Меня зовут Марат Нигматуллин. Я — студент[ Университета Иннополис][1], который готовит специалистов по информационным технологиям. Вуз активно сотрудничает в вузами-партнерами из числа лучших университетов мира с целью адаптации лучших практик. Сейчас я нахожусь как раз в одном из таких — в Университете Амстердама и обучаюсь по программе [System and Network Engineering][2], с будущего учебного года эта программа будет предлагаться уже самим Университетом Иннополис. История, которую я хочу рассказать, достаточно простая, но от этого не менее интересная. Нюансы обучения за рубежом, сходство нидерландского и русского языков, интересные практические задания, университетская комиссия по этике и ещё много других подробностей под катом. ![][3] [Читать дальше →][4]

[1]: http://university.innopolis.ru/
[2]: http://gss.uva.nl/future-msc-students/information-sciences/content35/study-programme/study-programme.html#anker-research-projects
[3]: https://habrastorage.org/files/b2e/ca5/471/b2eca54719e54e0691ec9442a809400c.jpg
[4]: http://habrahabr.ru/post/275161/#habracut

[>] Читаем переписку клиентов Ubank с саппортом
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


![][1] Я уже писал об [уязвимости в мобильном приложении Альфа-Банка][2], которая позволяла получать выписки по любому клиенту банка. В этот раз я решил проверить мобильное приложение сервиса по приёму платежей [Ubank][3]. Для анализа запросов, посылаемых на сервер, я опять использовал программу [Fiddler][4]. Как её настраивать, я повторно описывать не буду, кому интересно, могут прочитать об этом в [вышеуказанной статье][5]. Единственное, что я сделал по другому, это воспроизводил запросы не через плагин Postman в Google Chrome, а используя встроенный в Fiddler инструмент Composer. Исследуя запросы, отправляемые приложением на сервер, я обнаружил, что при загрузке истории переписки с саппортом не выполняется проверка на привязку идентификатора сообщения к сессии пользователя, а соответственно, перебирая id сообщений, мы можем получить переписку других пользователей с поддержкой. Итак, используя Fiddler, я записал запрос получения содержимого сообщения из переписки с саппортом: [Читать дальше →][6]

[1]: https://habrastorage.org/files/512/9ee/5c0/5129ee5c03d3415099084e93cfe47d61.png
[2]: http://habrahabr.ru/post/243105/
[3]: https://www.ubank.ru/
[4]: http://www.telerik.com/fiddler
[5]: http://habrahabr.ru/post/243105/
[6]: http://habrahabr.ru/post/252877/#habracut

[>] 9 секретов онлайн-платежей. Часть 1: настройка 3-D Secure
habra.15
habrabot(difrex,1) — All
2016-01-18 13:30:03


![image][1]_Российский рынок e-commerce живет в условиях кризиса, сейчас то время, когда одной из ключевых задач для успешного «выживания» является настройка всех «винтиков» механизма вашего сайта. Один из таких «винтиков» — это сервис приема онлайн-платежей на сайте. При правильном подходе он может стать фактором успеха, а при неверном использовании — привести к серьезным проблемам. В данном выпуске, первом из серии «9 секретов онлайн-платежей», содержащей восьмилетний опыт работы команды [PayOnline][2], мы поделимся правилами настройки протокола 3-D Secure для успешной обработке платежей на вашем сайте._

### Краткий экскурс в историю вопроса

Создатель протокола 3-D Secure (3DS) – международная платежная система Visa (программа Verified by Visa). 3DS поддерживается ключевыми мировыми платежными системами: MasterCard SecureCode и J/Secure от JCB International. [Читать дальше →][3]

[1]: https://habrastorage.org/files/15b/95f/26f/15b95f26ffec455a872253f31a4e7c56.JPG
[2]: http://payonline.ru/?utm_source=habrahabr&utm_medium=referral&utm_campaign=webpayments-main
[3]: http://habrahabr.ru/post/275101/#habracut

[>] Работа инфраструктуры Tor: подробная визуализация в проекте TorFlow
habra.15
habrabot(difrex,1) — All
2016-01-18 13:30:03


Для инструмента, который должен обеспечивать анонимность пользователя в сети, Tor удивительно «прозрачен». Как [известно][1], c помощью Tor пользователи могут сохранять анонимность в интернете при посещении сайтов, ведении блогов, отправке мгновенных и почтовых сообщений, а также при работе с другими приложениями, использующими протокол TCP. Анонимизация трафика обеспечивается за счёт использования распределённой сети серверов — узлов. Технология Tor также обеспечивает защиту от механизмов анализа трафика, которые ставят под угрозу не только приватность в интернете, но также конфиденциальность коммерческих тайн, деловых контактов и тайну связи в целом. Компания, которая занимается визуализацией данных, сейчас собрала доступную в Сети информацию о размещении узлов Tor, обслуживающих серверах, пропускной способности некоторых сетей и дата-центров, задействованных в системе Tor. Эту информацию визуализировали и представили в доступном для понимания виде. [Читать дальше →][2]

[1]: https://ru.wikipedia.org/wiki/Tor
[2]: http://habrahabr.ru/post/275289/#habracut

[>] Microsoft заставит перейти на Windows 10 владельцев новых микропроцессоров
habra.15
habrabot(difrex,1) — All
2016-01-18 13:30:03


Компания [анонсировала][1] в своем блоге информацию, согласно которой владельцы компьютеров с микропроцессором современной архитектуры Intel Core Skylake и установленной на них Windows 7 или Windows 8.1 досрочно лишаться возможности получать необходимые обновления. Пользователям таких ОС на микропроцессорах указанной архитектуры предлагается обновиться до Windows 10 в течение 18 месяцев. После июля 2017 г. не перешедшие на эту ОС пользователи будут лишены возможности получать обновления в полном объеме. ![][2] Microsoft указывает, что устройства на архитектуре Skylake под управлением Windows 10 работают гораздо эффективнее чем указанные версии Windows. Возможно, это стало одной из причин того, что компания досрочно прекратит их поддержку (т. н. best supported Windows experience) и, таким образом, будет стимулировать пользователей к переходу на новую ОС. После июля 2017 г. критические и прочие обновления для Windows 7 и 8.1 на Skylake будут доставляться только в том случае, если компания сможет обеспечить их «полную совместимость и надежность» с другими архитектурами. [Читать дальше →][3]

[1]: https://blogs.windows.com/windowsexperience/2016/01/15/windows-10-embracing-silicon-innovation/
[2]: https://habrastorage.org/files/aa0/fda/97b/aa0fda97bfad4128a62fdc83ffa70b33.png
[3]: http://habrahabr.ru/post/275275/#habracut

[>] [Из песочницы] Сниффинг истории браузера с помощью favicon
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Метод позволяет определить посещаемые пользователем сайты с помощью запроса иконок сайта со страницы. Идея этого метода пришла мне в голову при обсуждении с другом возможностей аналитики поведения пользователей на его сайте. Мы обсуждали, какие метрики нужно и какие не нужно собирать о его посетителях. Я подумал, что было бы неплохо узнать, какими еще сайтами пользуются его посетителями. В голову тут же пришел старый, но известный [способ][1] с CSS-стилями. Тот способ основывается на использовании метода DOM элемента [getComputedStyle][2]. Будучи вызванным у HTMLAnchorElement, он позволяет различать :visited и обычные состояния ссылок на популярные сайты. Баг давно закрыли и больше им воспользоваться нельзя. Мой метод основывается на том факте, что favicon.ico посещаемых пользователем сайтов, скорее всего, будут находиться у него в кэше и, соответственно, загрузятся быстрее, чем тех сайтов, на которых он ни разу не был. Браузеры очень агрессивно кэшируют favicon.ico, еще более увеличивает надежность такого способа. Ниже приведен полный исходный код proof-of-concept реализации этого способа. С его помощью можно продемонстрировать, что вы посещаете сайт habrahabr.ru, но ни разу не были на сайте hornet.com. [Читать дальше →][3]

[1]: http://jeremiahgrossman.blogspot.ru/2006/08/i-know-where-youve-been.html
[2]: https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle
[3]: http://habrahabr.ru/post/259073/#habracut

[>] Заметки о SQL и реляционной алгебре
habra.15
habrabot(difrex,1) — All
2016-01-18 16:00:03


![][1] На Хабре и за его пределами часто [обсуждают][2] реляционную алгебру и SQL, но далеко не так часто акцентируют внимание на связи между этими формализмами. В данной статье мы отправимся к самым корням теории запросов: реляционному исчислению, реляционной алгебре и языку SQL. Мы разберем их на простых примерах, а также увидим, что бывает полезно переключаться между формализмами для анализа и написания запросов. Зачем это может быть нужно сегодня? Не только специалистам по анализу данных и администраторам баз данных приходится работать с данными, фактически мало кому не приходится что-то извлекать из (полу-)структурированных данных или трансформировать уже имеющиеся. Для того, чтобы иметь хорошее представление почему языки запросов устроены определенным образом и осознанно их использовать нужно разобраться с ядром, лежащим в основе. Об этом мы сегодня и поговорим. Большую часть статьи составляют примеры с вкраплениями теории. В конце разделов приведены ссылки на дополнительные материалы, а для заинтересовавшихся и небольшая подборка литературы и курсов в конце. Содержание

* [Реляционная алгебра][3]
* [SQL][4]
* [Реляционное исчисление][5]
* [Равенство формализмов (теорема Кодда)][6]
* [Conjunctive Queries (CQ)][7]
* [Вычислительная сложность][8]
* [Свойства и анализ запросов][9]
* [Пример использования RA для оптимизации запросов][10]
* [Литература, материалы и слайды][11]

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

[1]: https://habrastorage.org/files/0db/fb4/d0d/0dbfb4d0d4dd40fa9d12e9287e2cdc9a.png
[2]: http://habrahabr.ru/post/145381/
[3]: http://habrahabr.ru/post/275251/#relational_algebra
[4]: http://habrahabr.ru/post/275251/#SQL
[5]: http://habrahabr.ru/post/275251/#relational_calculus
[6]: http://habrahabr.ru/post/275251/#codd_theorem
[7]: http://habrahabr.ru/post/275251/#conjunctive_queries
[8]: http://habrahabr.ru/post/275251/#complexity
[9]: http://habrahabr.ru/post/275251/#query_analysis
[10]: http://habrahabr.ru/post/275251/#query_optimization
[11]: http://habrahabr.ru/post/275251/#literature
[12]: http://habrahabr.ru/post/275251/#habracut

[>] SMS-чат на коленках
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


![image][1] Понадобился нам как-то смс-чат для небольшой группы пользователей. Основными требованиями были надежность и простота реализации. В наличии был средненький офисный компьютер с Windows ХР на борту, USB-модем Huawei E1550, сим-карта с положительным балансом и среднестатистический эникейщик. Хотелось нам следующего: инженеры из числа оперативного персонала, заступая на дежурство, подключаются к группе чата и могут обмениваться между собой короткими текстовыми сообщениями. Это полезно при решении проблем, касающихся нескольких отделов (релейщиков и энергетиков, например). Когда присутствие в группе не требуется – можно выйти и сообщения не получать. Теоретически все было просто. Берем GSM-модем, пишем программу, которая проверяет на нем входящие сообщения, выдергивает из них нужную информацию, производит обработку и передает по списку подключенных абонентов. [Читать дальше →][2]

[1]: https://habrastorage.org/files/9ee/20c/963/9ee20c96342543a7901fc6bbd544139e.jpg
[2]: http://habrahabr.ru/post/259057/#habracut

[>] [Из песочницы] 3 место за 11 шагов в конкурсе по JavaScript от Hola
habra.15
habrabot(difrex,1) — All
2016-01-18 16:30:08


Наверняка у многих из вас перед глазами уже мелькали заголовки статей с [конкурсом от Hola][1], который недавно подошел к своему логическому завершению. В [окончательных результатах][2] мне посчастливилось быть на 3 месте. По этой причине я позволил себе поделиться описанием [своего решения][3], а также того, как я до него докатился. [Читать дальше →][4]

[1]: http://habrahabr.ru/company/hola/blog/270847/
[2]: http://habrahabr.ru/company/hola/blog/275111/
[3]: https://github.com/hola/challenge_mail_filter/blob/master/submissions/Evgeny%20Zeyler/filter.js
[4]: http://habrahabr.ru/post/275343/#habracut

[>] [recovery mode] OWASP TOP-10: практический взгляд на безопасность веб-приложений: №1 — инъекции
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Мы рады представить Вам очередную статью из нашей серии о безопасности Web-приложений для **не**программистов и начинающих разработчиков, плохо понимающих проблематику. В этой статье мы поговорим о важности фильтрации данных и таком распространенном и очень опасном типе уязвимостей, как инъекции. Все системы (сложные и не очень) хранят большое количество данных и различных объектов. Например объектов бизнес-логики, таких как учетные записи пользователей, счета в системе, транзакции, записи журналов операций, и т.д. Для того, чтобы к этим объектам можно было обращаться, каждый из них, в том или ином виде, имеет свой уникальный идентификатор. Кроме того, объекты могут содержать произвольные наборы полей. Все поля также имеют свои уникальные имена или идентификаторы. Все эти объекты, и не только эти, хранятся в таблицах, где каждая строка – 1 объект. Например, объект «Клиент» может иметь следующий набор полей: id, имя, фамилия, e-mail, мобильный телефон, и храниться в таблице вида: [Читать дальше →][1]

[1]: http://habrahabr.ru/post/259047/#habracut

[>] [Из песочницы] Samba4 — использование Python Scripting Interface
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Samba4 имеет встроенный интерфейс на Python. Многие утилиты (samba-tool, например) полностью реализованы на Python с применением этого интерфейса. Все, что делалось из LDAP-интерфейса, можно сделать на Samba 4 Python Scripting. Преимущества — файловый доступ, значит высокая скорость, некоторые фичи, которых нет в LDAP. Например, можно взять хэш паролей пользователей из одной базы и перекинуть в другую. Да и самих пользователей с их SID-ами, паролями и всем прочим перекинуть в другой домен (без заморочек с SID-history). [Читать дальше →][1]

[1]: http://habrahabr.ru/post/259029/#habracut

[>] Автоматизация Jira на Groovy
habra.15
habrabot(difrex,1) — All
2016-01-18 23:00:06






В крупных организациях часто возникает необходимость прикрутить к JIRA какой-либо дополнительный функционал, которого нет в стандартной поставке: автоматизацию, интеграцию с другими системами и прочие кастомизации. Зачастую это решается сторонними плагинами, в **Atlassian Market** их огромное количество. Но что делать, если подходящего плагина нет? Или он стоит 3000$, а вам нужна всего одна функция в нем? Очевидно, написать свой. Ещё один вариант для расширения — плагины, добавляющие возможность использовать свои скрипты в JIRA: [ScriptRunner ][1](Groovy), [Jira Scripting Suite][2] (SIL), [JJupin][3] (Jython). В этой статье я расскажу о самом популярном и функциональном из них — [ScriptRunner][4] от [Adaptavist][5]. [Читать дальше →][6]

[1]: https://marketplace.atlassian.com/plugins/com.onresolve.jira.groovy.groovyrunner
[2]: https://marketplace.atlassian.com/plugins/com.quisapps.jira.jss
[3]: https://marketplace.atlassian.com/plugins/com.keplerrominfo.jira.plugins.jjupin
[4]: https://scriptrunner.adaptavist.com
[5]: http://www.adaptavist.com
[6]: http://habrahabr.ru/post/271805/#habracut

[>] [Из песочницы] Двойная диспетчеризация
habra.14
habrabot(difrex,1) — All
2015-06-01 11:28:09


Не так давно столкнулся по службе с весьма любопытной задачей. Но нет ничего нового под луной — и задача вам давно знакома: двойная диспетчеризация в C# в терминах статической типизации. Подробнее объясню ниже, но тем, кто и так всё понял, скажу: да, я буду применять «посетителя», но довольно необычно. Ещё несколько оговорок, перед тем, как сформулировать задачу строже: я не буду останавливаться на том, почему мне не подходят dynamic, явная проверка типов через приведение и рефлексия. Тому две причины: 1) цель — избавиться от runtime исключений 2) хочу показать, что язык достаточно выразителен, даже если не прибегать к перечисленным средствам и оставаться в рамках строгой типизации. [Подробности][1]

[1]: http://habrahabr.ru/post/259031/#habracut

Pages: 1 ... 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ... 210