RSS
Pages: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 210
[>] Осциллоскоп на WebGL
habra.15
habrabot(difrex,1) — All
2015-10-14 14:30:02


![][1] В электронной музыке есть интересное направление — музыка для осциллоскопов, которая рисует интересные картинки, если выход аудиокарты подключить к осциллоскопу в режиме XY. К примеру, [Youscope][2], [Oscillofun][3] и [Khrậng][4]. Все красивые видео, генерируемые такой музыкой созданы с помощью записи работы настоящего осциллоскопа на видеокамеру. Когда я поискал в сети эмуляторы осциллоскопов, мне не удалось найти такие, которые рисуют мягкие линии, как в настоящем осциллоскопе. Это сподвигло меня на создацие своего эмулятора осциллоскопа на WebGL: [woscope][5]. В этом посте я расскажу о том как именно происходит рисование линий осциллоскопа в woscope. [Читать дальше →][6]

[1]: https://habrastorage.org/files/bee/ca9/ab6/beeca9ab6f764261958f16c93fba50d0.png
[2]: https://www.youtube.com/watch?v=s1eNjUgaB-g
[3]: https://www.youtube.com/watch?v=J1ylMJwfLmM
[4]: https://www.youtube.com/watch?v=vAyCl4IHIz8
[5]: http://m1el.github.io/woscope/
[6]: http://habrahabr.ru/post/268801/#habracut

[>] Слив данных 180 тысяч пользователей FL.ru
habra.14
habrabot(difrex,1) — All
2015-02-25 22:30:02


Вчера стала известна информация, что неизвестным хакером были взломaны аккаунты администраторов биржи FL.ru (old Free-lance.ru). ![image][1] [Читать дальше →][2]

[1]: http://habrastorage.org/files/f6e/972/ea5/f6e972ea59344e368d2b53824193c288.png
[2]: http://habrahabr.ru/post/251487/#habracut

[>] Эмуляция EEPROM для микроконтроллеров с NAND flash
habra.15
habrabot(difrex,1) — All
2015-10-14 15:00:03


Во встраиваемых устройствах существуют два основных вида долговременной памяти: EEPROM (Electrically Erasable Programmable Read-only Memory) и flash (NAND/NOR). EEPROM — электрически стираемое перепрограммируемое постоянное запоминающее устройство, которое позволяет записывать и перезаписывать данные, подобно тому как это происходит для обычных дисковых накопителей. NAND Flash является разновидностью EEPROM и характеризуется тем, что запись производится блоками, а удаление осуществляется постранично. Перезаписать ячейку памяти в произвольное значение на Flash нельзя. Память типа EEPROM обычно позволяет перезаписывать большее количество раз по сравнению со Flash, зато запись на Flash осуществляется за более короткое время. Еще в пользу Flash можно добавить, что этот тип памяти дешевле в изготовлении, по сравнению с EEPROM, поэтому на данный момент преобладают устройства, в которых мало EEPROM и много (относительно) Flash памяти. [Читать дальше →][1]

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

[>] [Перевод] Портирование Android-приложения под Android TV и Nexus Player
habra.14
habrabot(difrex,1) — All
2015-02-26 13:00:02


![][1] Как уже [писалось в блоге Intel][2], в конце прошлого года Google выпустила новый Nexus Player на базе процессора Intel Atom. В этой статье вы найдете советы, как адаптировать свое Android-приложение для данного устройства в частности и Android TV вообще. [Читать дальше →][3]

[1]: //habrastorage.org/files/e77/f47/7eb/e77f477eb59e412c9b8e23c8f839aef7.jpg
[2]: http://geektimes.ru/company/intel/blog/240338/
[3]: http://habrahabr.ru/post/251323/#habracut

[>] [Перевод] Введение в стрелочные функции (arrow functions) в JavaScript ES6
habra.15
habrabot(difrex,1) — All
2015-10-14 15:00:04


“Толстые” стрелочные функции (=>), так же известные, как arrow функции – абсолютно новая функциональность в ECMAScript 2015 (ранее известном под именем ES6). Если верить слухам, то в ECMAScript 2015 => синтаксис стал использоваться вместо –> синтаксиса под влиянием [CoffeeScript][1]. Так же, не последнюю роль сыграла похожесть передачи контекста this. У стрелочных функций есть две главные задачи: обеспечить более лаконичный синтаксис; обеспечить передачу лексического this с родительским scope. Давайте детально рассмотрим каждую из них! [Читать дальше →][2]

[1]: http://coffeescript.org/
[2]: http://habrahabr.ru/post/268795/#habracut

[>] [Из песочницы] Объединение узлов Proxmox в кластер при помощи OpenVPN
habra.14
habrabot(difrex,1) — All
2015-02-26 13:30:02


Использование среды виртуализации Proxmox, а именно контейнеров OpenVZ, для создания виртуального хостинга ни для кого не станет новостью. Сервер, арендованный на площадке Hetzner, достаточно долго успешно справлялся со своими обязанностями. Но время шло, количество данных увеличивалось, клиенты множились, рос LA… Арендован новый сервер, установлен и настроен Proxmox, администратор рвется настроить кластер, чтобы мигрировать нагруженные контейнеры на новый сервер. В google найдены залежи инструкций, да и на wiki самого проекта Proxmox есть необходимая информация. [Казалось бы, что может пойти не так?][1]

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

[>] Генерация текстур планет как в игре Star Control 2
habra.14
habrabot(difrex,1) — All
2015-02-26 15:00:03






Возможно, кто-то помнит замечательную олдскульную космическую игру [Star Control 2.][1] В свое время меня поразила огромная звездная карта с неизведанными планетами, которые предстояло исследовать на фоне разворачивающейся глобальной катастрофы. С тех пор как авторами были опубликованы исходные коды, игра была портирована под новым именем [The Ur-Quan Masters][2] на большинство современных платформ. Покопавшись в исходниках, я обнаружил простой алгоритм, генерирующий текстуры планет, и написал программу на Python, позволяющую генерировать аналогичные текстуры. [Читать дальше →][3]

[1]: https://en.wikipedia.org/wiki/Star_Control_II
[2]: http://sc2.sourceforge.net
[3]: http://habrahabr.ru/post/251419/#habracut

[>] Антикризисное резервное копирование
habra.14
habrabot(difrex,1) — All
2015-02-26 15:30:02


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

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

[>] [Из песочницы] ZFS on CentOS: работа над ошибками
habra.15
habrabot(difrex,1) — All
2015-10-14 15:30:04


Так как я довольно давно использую ZFS (ещё со времён OpenSolaris), и очень доволен данной ФС в Linux, несмотря на её «неправославную» лицензию, то естественно прочитал свежую [статью об установке данной ФС на CentOS][1]. Заметив в руководстве к свершению подвига несколько ошибок, решил не пройти мимо, как я это делаю обычно. К сожалению, в комментариях отвечать не могу, по совершенно очевидной причине. Работа над ошибками, и некоторые полезные советы под катом. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/268711/
[2]: http://habrahabr.ru/post/268807/#habracut

[>] Правоохранительные органы обрушили ботнет Ramnit
habra.14
habrabot(difrex,1) — All
2015-02-26 15:30:02


Правоохранительные органы вместе с security-компаниями провели операцию по захвату и выведению из строя инфраструктуры крупного ботнета вредоносного ПО Ramnit, который включает в себя более трех миллионов ботов (зараженных компьютеров). В операции [участвовала][1] организация Europol, а также CERT различных стран мира, включая, Германию, Италию, Голландию, Великобританию. ![][2] Сам Ramnit (ESET: **Win32/Ramnit.X**, Microsoft: **Win32/Ramnit**, **Trojan:WinNT/Ramnit**, Symantec: **W32.Ramnit**, **Hacktool.Rootkit**) обладает модульной архитектурой и использовался злоумышленниками для различных целей, в том числе, для кражи данных онлайн-банкинга пользователей. В дальнейшем, эти украденные данные использовались для похищения денежных средств пользователей (преступная схема). Ramnit обладает механизмами самораспространения (файловый вирус), выполняет в системе множество модификаций, а также содержит руткит. [Читать дальше →][3]

[1]: https://www.europol.europa.eu/content/botnet-taken-down-through-international-law-enforcement-cooperation
[2]: //habrastorage.org/files/124/7c0/fe9/1247c0fe944e4e36858e818f83633e83.png
[3]: http://habrahabr.ru/post/251577/#habracut

[>] Производительность дисковых систем серверов HP ProLiant DL360 от Gen5 до Gen8. Всё, что вы не знали и боялись спросить
habra.15
habrabot(difrex,1) — All
2015-10-14 15:30:04


Мы постоянно сталкиваемся с типовой задачей о развёртывании офисного сервера для различных компаний. Чаще всего клиент хочет [купить сервер][1], на котором будут работать офисная почта, например, postfix+\*SQL, ejabberd с тем же \*SQL, samba, а также \*SQL под 1С. В этом случае возникает необходимость изучения производительности дисковых массивов применительно к серверам «рабочей группы» одной и той же модели, но различных поколений. Поскольку наша компания в большей степени специализируется на продукции Hewlett-Packard, анализу подверглись 1U серверы [HP ProLiant 360 5-го, 6-го, 7-го и 8-го поколений:][2] [HP Proliant DL360 Gen5 ][3] с контроллером [P400i][4] [HP Proliant DL360 Gen6 ][5] с контроллером [P410i][6] [HP Proliant DL360 Gen7][7] с контроллером [P410i][8] [HP Proliant DL360p Gen8][9] с контроллером [P420i][10] Во всех конфигурациях контроллера используем кэш размером 256Mb. Стоит отметить отличие в пропускной способности PCI Express шины, посредством которой подключены контроллеры: P400i и P410i — 2GBps (гигабайта в секунду), P420 — 8 GBps (гигабайт в секунду). Для тестирования мы используем следующие жесткие диски: [2\.5" HP 146Gb SAS 10k 3G HDD (431958-B21, 432320-001, 418399-001)][11] [2\.5" HP 146Gb SAS 15k 6G HDD (512547-B21, 512544-001)][12] [2\.5" HP 146Gb SAS 10k 6G HDD (507125-B21, 507119-003, 518194-001, 518011-001)][13] [2\.5" HP 146Gb SAS 15k 6G HDD for Gen 8/9 (652605-B21)][14] [Читать дальше →][15]

[1]: http://westcomp.ru
[2]: http://westcomp.ru/catalog/servery_hp_proliant_dl360_1u/
[3]: http://westcomp.ru/catalog/servery_hp_proliant_dl360_1u/hp_proliant_dl360g5_2x2_83ggts_quad_core_xeon_5440_32gb_8x4_ddr2_pc2_5300f_sa_p400_no_hdd_sas_2_pws/
[4]: http://www8.hp.com/h20195/v2/GetPDF.aspx/c04111741.pdf?ver=23
[5]: http://westcomp.ru/catalog/servery_hp_proliant_dl360_1u/hp_proliant_dl360g6_2x2_67ggts_xeon_quad_core_kh5550_32gb_4x8_pc3_10600_no_hdd_sas_sa_p410_2_pws/
[6]: http://www8.hp.com/h20195/v2/GetPDF.aspx/c04111713.pdf
[7]: http://westcomp.ru/catalog/servery_hp_proliant_dl360_1u/hp_proliant_dl360g7_2x2_8_ggts_xeon_six_core_kh5660_32gb_4x8_pc3_10600r_no_hdd_sas_sa_p410_2_pws/
[8]: http://www8.hp.com/h20195/v2/GetPDF.aspx/c04111713.pdf
[9]: http://westcomp.ru/catalog/servery_hp_proliant_dl360_1u/hp_proliant_dl360p_gen8_2x2_3ghz_six_core_xeon_e5_2630_32gb_4x8_pc3_10600_no_hdd_sas_sa_p420_2_pws/
[10]: http://www8.hp.com/h20195/v2/GetPDF%2Easpx%2Fc04111534%2Epdf
[11]: http://westcomp.ru/catalog/servernye_komplektuyushchie_zhyestkie_diski_hp_diski_sas_sata/2_5_hp_146gb_sas_10k_hdd_431958_b21_used/
[12]: http://westcomp.ru/catalog/servernye_komplektuyushchie_zhyestkie_diski_hp_diski_sas_sata/2_5_hp_146gb_sas_15k_6g_hdd_512547_b21_proizvodstvo_nr/
[13]: http://westcomp.ru/catalog/servernye_komplektuyushchie_zhyestkie_diski_hp_diski_sas_sata/2_5_hp_146gb_sas_10k_6g_hdd_507125_b21_used/
[14]: http://westcomp.ru/catalog/servernye_komplektuyushchie_zhyestkie_diski_hp_diski_sas_sata/2_5_hp_146gb_sas_15k_6g_hdd_for_gen_8_9_652605_b21_new/
[15]: http://habrahabr.ru/post/267435/#habracut

[>] Форматирование Python-кода
habra.14
habrabot(difrex,1) — All
2015-02-26 15:30:02




### Введение

Python, точнее его самый известный представитель CPython, не очень предназначен для каких-либо быстрых расчетов. Иначе говоря, производительность у него не такая уж [хорошая][1]. А вот скорость разработки и читаемости отличная. О читаемости и пойдет речь, а точнее как ее увеличить. [Читать дальше →][2]

[1]: http://benchmarksgame.alioth.debian.org/u64q/python.html
[2]: http://habrahabr.ru/post/251531/#habracut

[>] Параллельное выполнение зависимых задач и синхронизация с условными переменными в shell
habra.15
habrabot(difrex,1) — All
2015-10-14 16:30:03


Как синхронизировать параллельные шелл-процессы, используя named pipes (FIFO-файлы) в качестве условных переменных. Как выполнить параллельно зависимые задач в топологическом порядке с минимумом средств: POSIX shell, mkfifo, POSIX kernel. Как параллельный запуск ускоряет загрузку встраиваемых систем и \*BSD (rc-этап FreeBSD с 27 до 7 секунд) или старт приложений в пользовательских контейнерах Docker, LXC и jail. Как это повышает аптайм в отказоустойчивых кластерах [Jet9][1]. [Читать дальше →][2]

[1]: http://jet9.ru
[2]: http://habrahabr.ru/post/268763/#habracut

[>] MVC и Модель 2. Знания и обязанности компонентов
habra.14
habrabot(difrex,1) — All
2015-02-26 15:30:02


Долгое время я изучал паттерн MVC. Больше полутора лет прошло с тех пор, как я впервые с ним познакомился и в течение всего этого времени я никак не мог упорядочить в своей голове зоны ответственности трех составляющих паттерн компонентов. MVC — это сложное, но потрясающе изящное архитектурное решение. Я не представляю, во что бы превратились современные приложения без данного паттерна. В интернете вся информация разбросана какими-то кусками, и теперь, через полтора года знакомства и бесконечных исследований, я наконец могу сказать: да, я знаю этот паттерн вдоль и поперек. Я решил собрать всю недостающую информацию в одном месте. Это и стало причиной для написания статьи. **tl;dr:** читаем итог. Остальных прошу устроиться поудобнее. [Читать дальше →][1]

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

[>] Эмуляция EEPROM для микроконтроллеров со встроенной flash памятью
habra.15
habrabot(difrex,1) — All
2015-10-14 17:00:05


Во встраиваемых устройствах существуют два основных вида долговременной памяти: EEPROM (Electrically Erasable Programmable Read-only Memory) и flash (NAND/NOR). EEPROM — электрически стираемое перепрограммируемое постоянное запоминающее устройство, которое позволяет записывать и перезаписывать данные, подобно тому как это происходит для обычных дисковых накопителей. Flash является разновидностью EEPROM и характеризуется тем, что запись производится блоками, а удаление осуществляется постранично. Перезаписать ячейку памяти в произвольное значение на Flash нельзя. Память типа EEPROM обычно позволяет перезаписывать большее количество раз по сравнению со Flash, зато запись на Flash осуществляется за более короткое время. Еще в пользу Flash можно добавить, что этот тип памяти дешевле в изготовлении, по сравнению с EEPROM, поэтому на данный момент преобладают устройства, в которых мало EEPROM и много (относительно) Flash памяти. [Читать дальше →][1]

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

[>] Patch Management. Тестирование ежемесячных обновлений ПО
habra.14
habrabot(difrex,1) — All
2015-02-26 15:30:02


_Материал данной статьи основан на опыте установки более 5 000 обновлений для продуктов Microsoft и Adobe._ **Patch Management **– это процесс управления обновлениями программного обеспечения (ПО), без которого вряд ли обходится хоть одна современная компания, думающая о безопасности своей ИТ-инфраструктуры. **Обновления или патчи ** — это дополнительное программное средство, которое применяется для исправления обнаруженных дефектов в программном обеспечении или изменения его функционала. Существуют **2 типа обновлений**:

1. для операционных систем и серверного ПО, которые применяются для поддержки надлежащего уровня безопасности и устранения дыр в защите;
2. для прикладного ПО (например, Microsoft Office, Adobe Acrobat или клиентские части бизнес-приложений), которые необходимы для решения возникших проблем с часто используемыми или важными библиотеками и другими частями исходного кода.

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

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

[>] Не все виджеты одинаково «полезны»
habra.15
habrabot(difrex,1) — All
2015-10-14 18:30:03


Иногда веб-мастера и владельцы сайтов добровольно (естественно, по незнанию) устанавливают себе на сайте компоненты, которые несут угрозу как посетителям, так и самому сайту. В основном это касается любителей халявы: бесплатные премиум шаблоны, “нулленые” коммерческие CMS, плагины, загруженные не с сайта разработчика и прочие “бесплатности”. К этому списку можно смело добавлять javascript и flash-виджеты для сайта: календарь, mp3-плейер, калькулятор, конвертер валют — все эти элементы, кроме полезных функциональных элементов сайта, могут принести целую “вязанку” нежелательного контента или даже распространять вредоносный код, заражая компьютеры и мобильные устройства посетителей сайта. На первый взгляд подобные виджеты размещают только “Васи Пупкины” на страницах своих личных блогов, но за последнюю неделю мне довелось анализировать три коммерческих и достаточно посещаемых проекта, которые также использовали зараженные виджеты (один размещал калькулятор для подсчета суммы заказа, второй – календарь на новостном сайте, третий – онлайн-радио). ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/666/710/219/6667102194954635886cc0f98b473b78.png
[2]: http://habrahabr.ru/post/268815/#habracut

[>] Конкурс по созданию приложений «Весенний марафон»
habra.14
habrabot(difrex,1) — All
2015-02-26 15:30:02


![][1] Уважаемые друзья, Мы решили запустить конкурс по разработке приложений на Delphi и C++Builder XE7, чтобы наградить лучших разработчиков по кроссплатформенной разработке. В этом году мы не стали выделять какую либо платформу, вы можете писать приложение, как для IOS, Android, Windows или MAC OS X, а также настольное и мобильное приложение (связанное с помощью технологии App Tethering. Мы стартуем 26 февраля, зарегистрироваться для участия вы можете до 1 апреля, до 15 мая мы будем принимать ваши работы, а 1 июня – объявим победителей. Регистрируйтесь на сайте конкурса, создавайте приложения на Delphi XE7 и выигрывайте призы: планшет Samsung Galaxy S5, планшет Samsung Galaxy Tab 4 10.1 или лицензию RAD Studio XE7. Если вы разрабатываете на Delphi, но только задумываетесь о создании мобильных приложений, это хороший способ попробовать свои силы. Если вы уже писали приложения на Delphi, конкурс – отличный повод попробовать новый инструмент разработки. [Читать дальше →][2]

[1]: //habrastorage.org/files/060/261/325/060261325ce6454e83ec0e35fc02eb97.png
[2]: http://habrahabr.ru/post/251565/#habracut

[>] Adobe обновила свои продукты
habra.15
habrabot(difrex,1) — All
2015-10-15 03:00:02


Компания Adobe выпустила обновления для своих продуктов Adobe Acrobat & Reader ([APSB15-24][1]) и Flash Player ([APSB15-25][2]). Обновления исправляют большое количество уязвимостей, которые могут использоваться атакующими для удаленной установки вредоносных программ в систему пользователя. Для продуктов Reader / Acrobat исправлено 25 уязвимостей, которые позволяют обходить механизмы безопасности Javascript API (_These updates resolve various methods to bypass restrictions on Javascript API execution_). ![][3] Для обновления Reader следует воспользоваться меню «Справка»->«Проверка обновлений...». Актуальные версии Flash Player и механизмы обновления веб-браузеров Windows см. ниже. [Читать дальше →][4]

[1]: https://helpx.adobe.com/security/products/acrobat/apsb15-24.html
[2]: https://helpx.adobe.com/security/products/flash-player/apsb15-25.html
[3]: http://habr.habrastorage.org/post_images/7d0/bd9/84a/7d0bd984afd2bb9901c5014a5b3649c9.jpg
[4]: http://habrahabr.ru/post/268819/#habracut

[>] Фрактальное пламя — алгоритм построения
habra.14
habrabot(difrex,1) — All
2015-02-26 15:30:02


![][1] Фрактальное пламя (или фрактальные искры, англ. fractal flame) – алгоритм, предложенный Скоттом Дрейвсом (Scott Draves) и использующий для построения изображений системы итерируемых функций (СИФ). Благодаря разным значениям seed для генератора псевдослучайных чисел можно получить множество разнообразных «картин». Хотя фрактальность в них просматривается далеко не всегда, результаты получаются очень интересными. Под катом – краткое описание основных моментов реализации алгоритма. [Читать дальше →][2]

[1]: //habrastorage.org/files/7b0/4ac/6a8/7b04ac6a87c841398f5e6f1bfb1293e3.png
[2]: http://habrahabr.ru/post/251537/#habracut

[>] Microsoft исправила уязвимости в ядре Windows
habra.15
habrabot(difrex,1) — All
2015-10-15 12:30:02


Microsoft выпустила обновления для своих продуктов, исправив 33 уникальных уязвимости. Обновлению подверглись веб-браузеры Internet Explorer и Edge, а также компоненты всех версий Windows и Office. Обновление [MS15-111][1] исправляет пять уязвимостей в различных компонентах ядра Windows (в т. ч. в Ntdll.dll, Ntoskrnl.exe, Smss.exe, Csrsrv.dll). Одна из уязвимостей CVE-2015-2552 (_Trusted Boot Security Feature Bypass Vulnerability_) присутствовала в механизме безопасности Secure Boot (Trusted Boot) и позволяла атакующему отключать проверки легитимности загружаемого кода режима ядра, что в свою очередь позволяло делать jailbreak для Windows RT. ![][2] Компания также перевыпустила обновление KB3084905 (_TPM lockout occurs unexpectedly in Windows 8.1 or Windows RT 8.1_), о котором мы писали ранее [здесь][3]. Обновление исправляло баг в системных файлах Windows и EFI-прошивке, который делал возможным неправильную работу кода ядра с криптографическим блоком TPM. Новое обновление относится к исправлению файла bootmgfw.efi. [Читать дальше →][4]

[1]: https://technet.microsoft.com/library/security/MS15-111
[2]: http://habr.habrastorage.org/post_images/f1c/317/064/f1c3170644a18be60161ed0b987b6b74.jpg
[3]: http://habrahabr.ru/company/eset/blog/267153/
[4]: http://habrahabr.ru/post/268829/#habracut

[>] [recovery mode] Сертификации CompTIA для ИТ-специалистов. Часть 1 из 7. CompTIA A+
habra.14
habrabot(difrex,1) — All
2015-02-26 16:30:02


![][1] **1\. Знакомство с сертификацией** Моя карьера в качестве специалиста в информационных технологиях началась еще во время учебы в университете в 2000 году на производстве компьютеров в одном из крупнейших системных интеграторов Санкт-Петербурга. На участке конвейера, где я работал, осуществлялась потоковая сборка персональных компьютеров, предустановка клиентских операционных систем, а также испытания собранных автоматизированных рабочих мест на соответствие требованиям технического контроля. [Читать дальше →][2]

[1]: //habrastorage.org/files/3e2/e4c/49f/3e2e4c49fa664b8188aa4fa4077aaf1e.png
[2]: http://habrahabr.ru/post/251595/#habracut

[>] Практическая подготовка в пентест-лабораториях. Часть 5
habra.15
habrabot(difrex,1) — All
2015-10-15 15:00:03


![][1] «[Корпоративные лаборатории][2]» — программа профессиональной подготовки в области информационной безопасности, состоящая из теоретической (курсы-вебинары) и практической подготовки (работа в пентест-лабораториях). В данной статье будет рассмотрено содержание именно практической базы, составляющей порядка 80% от общей программы обучения. [Читать дальше →][3]

[1]: https://habrastorage.org/files/7f6/76d/c60/7f676dc601544bdca2476be7cfe69888.png
[2]: https://www.pentestit.ru/labs/corp-lab
[3]: http://habrahabr.ru/post/268843/#habracut

[>] [Перевод] 12 игр, которые обучают детей программированию
habra.14
habrabot(difrex,1) — All
2015-02-26 16:30:02


![][1] Программирование сейчас очень популярно. По всему миру 36 миллионов детей принимают участие в мероприятиях движения «Час программирования». Цель этих мероприятий – помочь детям стать активными, а не пассивными пользователями технологий, а также получить знания, которые в будущем могут помочь устроиться на хорошую работу в нашем все более и более техническом мире. Даже если ваши дети не хотят в будущем зарабатывать на жизнь программированием, базовое понимание принципов программирования развивает мышление и, в дальнейшем, ребенок лучше справляется с решением возникающих задач. Билл Гейтс когда-то сказал: «Если вы учитесь создавать программы, это развивает ваш разум, помогает вам лучше мыслить и создает образ восприятия вещей. В целом, я думаю, что человеку это будет полезно вне зависимости от сферы его деятельности». Такие платформы, как Scratch и Alice позволяют детям (и взрослым) создавать собственные игры и анимации, используя упрощенные методы программирования. Однако не всем детям это интересно. И вот для таких детей существует множество игр, которые обучают базовым принципам программирования в веселой и доступной форме. [Читать дальше →][2]

[1]: //habrastorage.org/files/c47/480/20b/c4748020b9d04df781ef1cf5cef8c830.jpg
[2]: http://habrahabr.ru/post/251583/#habracut

[>] Jii: Масштабируемый комет сервер и клиент
habra.15
habrabot(difrex,1) — All
2015-10-15 15:30:03


Продолжаю серию статей про [Jii Framework][1]. Сегодня настал момент релиза комета, о котором я и расскажу в этой статье. ![][2] [**Jii-comet**][3] — это масштабируемый, готовый к высоким нагрузкам и плохому интернету транспорт, реализующий постоянную связь между клиентом и сервером для мгновенного обмена данными. Jii-comet предоставляет набор компонентов и классов, которые упрощают обмен сообщениями между каналами, подписки на них, обмена данными между серверами и так далее. Сам модуль не умеет доставлять сообщения на клиент и обратно, но в нем заложена абстракция, чтобы это можно было делать любой из существующих популярных библиотек (например, [socket.io][4], [sockjs][5]), а так же чтобы это было надежно и масштабируемо. [Читать дальше →][6]

[1]: http://www.jiiframework.ru
[2]: https://habrastorage.org/files/c04/cc0/3b8/c04cc03b88cb4c61a1c8cda3fde2b632.jpg
[3]: https://github.com/jiisoft/jii-comet
[4]: http://socket.io/
[5]: https://github.com/sockjs/sockjs-client
[6]: http://habrahabr.ru/post/268817/#habracut

[>] Пишем бота для MMORPG с ассемблером и дренейками. Часть 3
habra.14
habrabot(difrex,1) — All
2015-02-26 16:30:02


![][1] Привет, %username%! Итак, продолжим написание нашего бота. Из прошлых статей, мы научились находить адрес перехватываемой функции для DirectX 9 и 11, а так же исполнять произвольный ассемблерный код в главном потоке игры и прятать от различных методов защиты. Теперь все эти знания можно применить в реальных боевых условиях. И начнем мы с исследования программы, для которой мы и пишем бот. [Взглянуть в микроскоп][2]

[1]: //habrastorage.org/files/708/53f/a39/70853fa39f3f4d4f82bc6525a2ebc41f.png
[2]: http://habrahabr.ru/post/251353/#habracut

[>] [recovery mode] Сертификации CompTIA для ИТ-специалистов. Часть 1 из 7. CompTIA A+ и запись вебинара о подготовке к сертификации
habra.14
habrabot(difrex,1) — All
2015-02-26 18:00:02


![][1] **1\. Знакомство с сертификацией** Моя карьера в качестве специалиста в информационных технологиях началась еще во время учебы в университете в 2000 году на производстве компьютеров в одном из крупнейших системных интеграторов Санкт-Петербурга. На участке конвейера, где я работал, осуществлялась потоковая сборка персональных компьютеров, предустановка клиентских операционных систем, а также испытания собранных автоматизированных рабочих мест на соответствие требованиям технического контроля. Под катом история о том, как я становился специалистом по информационной безапасности и запись вебинара [Читать дальше →][2]

[1]: //habrastorage.org/files/3e2/e4c/49f/3e2e4c49fa664b8188aa4fa4077aaf1e.png
[2]: http://habrahabr.ru/post/251595/#habracut

[>] [Перевод] Использование изображений, доступных для чтения и записи, в OpenCL 2.0
habra.15
habrabot(difrex,1) — All
2015-10-15 15:30:03


![][1]До OpenCL 2.0 было невозможно проводить операции чтения и записи изображения в рамках одного и того же ядра. Можно было объявлять изображения как _CL\_MEM\_READ\_WRITE_, но после передачи изображения ядру приходилось выбирать одно из двух: либо _\_\_read\_only_ (доступ только для чтения), либо _\_\_write\_only_ (доступ только для записи). В OpenCL 2.0 появилась возможность читать и записывать изображения в пределах одного ядра. Однако, имеется несколько особенностей, о которых мы подробно поговорим в этом посте. [Читать дальше →][2]

[1]: https://habrastorage.org/files/38f/f10/b7c/38ff10b7c857489ab5d1cb2f70a22482.jpg
[2]: http://habrahabr.ru/post/268851/#habracut

[>] Компанию Lenovo атаковали в отместку за шпионскую программу Superfish
habra.14
habrabot(difrex,1) — All
2015-02-26 19:30:02


![image][1] В полночь на главной странице Lenovo.com появилось слайд-шоу с изображением подростков, явно не предназначенное для рекламы ноутбуков и смартфонов компании. При открытии страницы начинала играть песня «Breaking Free» из кинофильма «Классный мюзикл» (High School Musical). В 7 утра (мск) на сайте висела заглушка, а восстановили его работу только через несколько часов. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/da7/081/25f/da708125f7ef5a115eb379430b5a61a5.png
[2]: http://habrahabr.ru/post/251609/#habracut

[>] Зачем нужен свободный код и как на нем зарабатывать
habra.15
habrabot(difrex,1) — All
2015-10-15 19:00:02


![Linux Torvalds][1] Мы наблюдаем бум [свободных][2] проектов. В основном, благодаря Гитхабу. 23 декабря 2013 года на сервисе был создан [10-миллионный проект][3]. К 23 декабря 2015 года количество проектов более чем утроится: прямо сейчас на Гитхабе [28 миллионов проектов][4]. Многих привлекает идея свободности, потому что она перекликается с идеей «улучшения мира», как основной мотивации продуктивной деятельности человека. Но так как обычная работа программистов в конторах очень далека от open source, возникает вопрос, как кормиться (а желательно, и разбогатеть!), большую часть времени занимаясь свободными проектами. Судя по [последним][5] [вопросам][6] на Тостере, у людей много ожиданий, но мало понимания в этой области. Поэтому я решил написать это эссе.

### Само по себе выкладывание проекта не является улучшением мира

Польза миру это либо польза людям, либо природе, либо культуре/гуманизму, либо экономике, либо науке. Первые три категории не имеют ничего общего со свободным кодом, потому что людям, природе и культуре прекрасно помогает несвободный код. Пользу науке часто рассматривают как ту же помощь экономике, только в очень далекой перспективе, хотя большинство ученых с этим не согласно, считая познание мира самостоятельной ценностью. Но еще учитывая и то, что свободный программный проект с _научной_ новизной — экзотика, сконцентрируемся на том, как свободный код помогает экономике. Вы выложили код. Чем вы помогли экономике в этот момент? Ничем, поэтому и миру вы пока ничем не помогли. Ваш проект может спасать людей от рака, быть бесплатным, экономить миллионы долларов, и при этом быть закрытым. Сконцентрируйтесь не на том, чем вообще полезен ваш проект, а чем полезна _его свободность_.

### Синергетический эффект свободного кода

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

[1]: https://habrastorage.org/getpro/habr/post_images/830/407/7ed/8304077ed5997f3a164f4dedd6254db5.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
[3]: https://github.com/blog/1724-10-million-repositories
[4]: https://github.com/about/press
[5]: https://toster.ru/q/253723
[6]: https://toster.ru/q/257024
[7]: http://habrahabr.ru/post/268845/#habracut

[>] [Перевод] Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 4
habra.15
habrabot(difrex,1) — All
2015-10-16 13:30:03


[![][1]][2] В предыдущих статьях мы говорили о том, что такое событийно-ориентированная система бэктестинга, разобрали [иерархию классов][3], необходимую для ее функционирования, обсудили то, как подобные системы [используют рыночные данные][4], а также [осуществляют][5] отслеживание позиций и генерацию приказов на покупку. Сегодня речь пойдет об исполнении ордеров с помощью создания иерархии классов, которая будет представлять симулированный механизм обработки приказов, связанный с брокерской системой или другим интерфейсом доступа на рынок. Также мы рассмотрим метрики для оценки производительности тестируемой стратегии. [Читать дальше →][6]

[1]: https://habrastorage.org/files/af3/3ff/d49/af33ffd497c1458cac21a2724bd2cb76.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/268929/
[3]: http://habrahabr.ru/company/itinvest/blog/263097/
[4]: http://habrahabr.ru/company/itinvest/blog/264141/
[5]: http://habrahabr.ru/company/itinvest/blog/266623/
[6]: http://habrahabr.ru/post/268929/#habracut

[>] [recovery mode] Сертификации CompTIA для ИТ-специалистов. Часть 1 из 7. CompTIA A+ и запись вебинара о подготовке к сертификациям по ИБ
habra.14
habrabot(difrex,1) — All
2015-02-26 19:30:02


![][1] **1\. Знакомство с сертификацией** Моя карьера в качестве специалиста в информационных технологиях началась еще во время учебы в университете в 2000 году на производстве компьютеров в одном из крупнейших системных интеграторов Санкт-Петербурга. На участке конвейера, где я работал, осуществлялась потоковая сборка персональных компьютеров, предустановка клиентских операционных систем, а также испытания собранных автоматизированных рабочих мест на соответствие требованиям технического контроля. Под катом история о том, как я становился специалистом по информационной безопасности и запись вебинара [Читать дальше →][2]

[1]: //habrastorage.org/files/3e2/e4c/49f/3e2e4c49fa664b8188aa4fa4077aaf1e.png
[2]: http://habrahabr.ru/post/251595/#habracut

[>] Обучение на больших данных: Spark MLlib
habra.14
habrabot(difrex,1) — All
2015-02-26 21:00:02


Привет, хабр! ![image][1] В [прошлый раз][2] мы познакомились с инструментом **Apache Spark**, который в последнее время становится чуть ли не самым популярным средством для обработки больших данных и в частности, **Large Scale Machine Learning**. Сегодня мы рассмотрим подробнее библиотеку **MlLib**, а именно — покажем, как решать задачи машинного обучения — классификации, регресии, кластеризации, а также коллаборативной фильтрации. Кроме этого покажем, как можно исследовать признаки с целью отбора и выделения новых (т.н. **Feature Engineering**, о котором мы [говорили ранее][3], причем [не один раз][4]). [Читать дальше →][5]

[1]: https://spark.apache.org/images/spark-stack.png
[2]: http://habrahabr.ru/post/250811/
[3]: http://habrahabr.ru/post/248129/
[4]: http://habrahabr.ru/post/249759/
[5]: http://habrahabr.ru/post/251471/#habracut

[>] Использование цветовых пространств в ATTiny13a для WS2811
habra.14
habrabot(difrex,1) — All
2015-02-26 22:30:02


****

# И вновь, приветствую, Хабр!

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

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

[>] Как мы домены мониторить начали и что из этого получилось
habra.14
habrabot(difrex,1) — All
2015-02-27 01:30:02


Всем привет! Все началось с того, что у нас в компании развелось очень много доменов которые нужно вовремя продлевать. И вот, после одного провала с продлением доменов, было принято решение начать мониторить дату истечения домена и выводить его в мониторинге Nagios. [Читать дальше →][1]

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

[>] [Перевод] Программа вывода лабиринта в 13… нет. 10 байт!
habra.14
habrabot(difrex,1) — All
2015-02-27 10:00:03


В прошлом, найдя интересное решение при написании демки, я тихо его использовал или же хвастался узкому кругу друзей на демосцене. Но теперь мои возможности достигнуть чего-либо на демосцене подошли к концу, а турниры по минималистскому программированию не проводятся, поэтому я решил написать в блог о своём достижении: генераторе лабиринтов объёмом всего в 13 байт машинного кода x86. Чтобы понять суть достижения, вам надо знать о команде 10 PRINT. Это строчка кода Commodore 64 BASIC, которая при запуске создаёт бесконечный лабиринт. Конечно, её вывод – это не настоящий лабиринт, входа и выхода там нет, и полно закрытых помещений и тупиков. Но выглядит он как лабиринт. Поражает то, как простая команда выдаёт бесконечно сложный шаблон. [Читать дальше →][1]

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

[>] Философия программирования 10 — ИИ
habra.15
habrabot(difrex,1) — All
2015-10-16 15:30:02


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

[1]: https://habrastorage.org/files/077/431/432/077431432b4a48b08b51017d8d882dcc.jpg
[2]: http://habrahabr.ru/post/268935/#habracut

[>] Аудиокодек своими руками — это просто
habra.15
habrabot(difrex,1) — All
2015-10-16 15:30:02


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

[1]: https://habrastorage.org/files/41e/d54/304/41ed54304cea46f58a70800ed24d3fcd.png
[2]: http://habrahabr.ru/post/268905/#habracut

[>] Security Week 42: коллизии в SHA-1, практический взлом роутеров, Android/Безопасность/Грусть
habra.15
habrabot(difrex,1) — All
2015-10-16 15:30:02


![][1]Когда вы находитесь в эпицентре событий, иногда сложно понять, что на самом деле произошло. Находясь в пробке, вы не узнаете, что она произошла из-за ДТП, пока не доберетесь до двух подбитых летчиков, занявших три полосы. До этого момента у вас просто недостаточно информации, чтобы сделать выводы. В индустрии ИБ так часто происходит: тема сложная, нюансов много, а результат некоторых исследований можно реально оценить только через несколько лет. На этой неделе три самых интересных новости о безопасности не имеют между собой ничего общего, кроме толстого слоя подтекстов. Если не заниматься темой постоянно, важность некоторых событий можно оценить неправильно, или не увидеть какие-то важные детали. Попробую, по мере сил, объяснить на примерах, хотя подтексты — штука такая — каждому видится что-то свое. Добро пожаловать в 11 эпизод сериала Security Week им. Срыва Покровов. Традиционные правила: каждую неделю редакция новостного сайта [Threatpost][2] выбирает три наиболее значимых новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти [тут][3]. [Читать дальше →][4]

[1]: https://habrastorage.org/files/bc0/17a/a70/bc017aa70efe4f1b804382226ac60f61.jpg
[2]: https://threatpost.ru/
[3]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[4]: http://habrahabr.ru/post/268907/#habracut

[>] [Из песочницы] Модифицируем плеер Vanilla Music под Android
habra.15
habrabot(difrex,1) — All
2015-10-16 15:30:02


Порой нам недостает функциональности приложений, которые мы используем каждый день. Имея при этом навыки программирования, хочется сделать что-нибудь свое: продукт, который будет иметь все необходимые функции, которые вам нужны. Так я решил написать свой собственный андроид-плеер, но столкнулся с серьезной трудностью — чтобы сделать более-менее пригодный плеер, требуется катастрофически много времени на программирование, а тем более на отладку. Погуглив немного на тему open-source плееров для андроид, я быстро нашел проект Vanilla Music в Google Play, а затем и на Github. Скачав исходники, я вскоре вскоре принялся его модифицировать под свои нужды. Я уже давно пытаюсь освоить программирование под Android и пишу приложения под собственные нужды, иногда выкладывая их на Google Play. В этот раз мне захотелось плеер с переключением песен по клавишам громкости. Это конечно неудобно, если хочешь поменять громкость, поэтому вторая версия идеи звучала так: переключение песен клавишами громкости должно происходить только когда телефон находится в кармане, иначе просто регулировать громкость. Второе, что мне хотелось бы иметь в функционале плеера — возможность сместить время остановки музыки, если я активно использовал телефон. Итак, приступим к практике! [Читать дальше →][1]

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

[>] Steam Files. Часть 2 — BLOB, CDR, VDF, PAK, VPK
habra.15
habrabot(difrex,1) — All
2015-10-16 15:30:02


![Steam Logo][1] После значительной задержки публикую продолжение цикла своих статей. Для ознакомления:

* [Steam Protocol 2 и Steam Files — Введение][2]
* [Steam Files. Часть 1 — GCF/NCF][3]

В данной статье я затрону оставшиеся форматы файлов:

* [BLOB][4] — устаревший формат данных, служащий контейнером для двоичных данных. Содержал в себе базовые параметры (IP-адреса серверов, CRD-запись и еще много чего);
* [CDR (Content Description Record)][5] — бинарный файл, содержащий данные о приложениях и их файлах кеша. На данный момент не используется;
* [VDF][6] — бинарный/текстовый файл, содержащий множество данных и имеющий структуру, зависящую от конкретного применения. Разработан как замена BLOB и CDR;
* [PAK][7] — ранее использовался в Half-Life 1, великое наследие Quake 1, уже не используется;
* [VPK][8] — новый формат игровых архивов внутри самих игр, активно используется на данный момент. Подробное описание файла имеется на [официальном ресурсе][9]. В статье описана только первая версия формата.

Статья представлена только для ознакомления, поскольку актуальной информации здесь относительно мало, а примеров алгоритмов почти нет — всё можно просмотреть в [упомянутом ранее репозитории][10]. [Читать дальше →][11]

[1]: http://habrastorage.org/getpro/habr/post_images/000/dca/198/000dca198a459957c5d705d59a8bc514.png
[2]: http://habrahabr.ru/post/223961/
[3]: http://habrahabr.ru/post/224027/
[4]: #BLOB
[5]: #CDR
[6]: #VDF
[7]: #PAK
[8]: #VPK
[9]: https://developer.valvesoftware.com/wiki/VPK_File_Format
[10]: https://github.com/andreili/steam_libs
[11]: http://habrahabr.ru/post/268921/#habracut

[>] PXE загрузка Thinstation в зависимости от железа тонкого клиента
habra.15
habrabot(difrex,1) — All
2015-10-16 15:30:02


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

[1]: http://thinstation.pro/thin/81-select.html
[2]: http://habrahabr.ru/post/268891/#habracut

[>] За поимку автора Zeus назначена максимальная награда
habra.14
habrabot(difrex,1) — All
2015-02-27 12:00:02


В прошлом году мы [писали][1] о том, что правоохранительные органы США объявили в розыск автора известной банковской вредоносной программы Zeus. С использованием этой вредоносной программы были украдены сотни миллионов долларов с банковских счетов у пользователей по всему миру, а сам бот уже давно породил большое количество своих клонов. Недавно ФБР [увеличили][2] награду за информацию, ведущую к его поимке до суммы в $3 млн. Это максимальная [награда][3], которая когда-либо объявлялась для фигурантов кибер-дел (cyber). ![][4] Фигурант под псевдонимом «slavik» известен в преступном мире уже давно и упоминается как автор одних из самых ранних версий Zeus. В начале прошлого года мы также [писали][5] про поимку правоохранителями другого киберпреступника. Речь идет об авторе другой банковской троянской программы SpyEye под псевдонимом «Gribodemon». Этот бот был основан на исходных текстах Zeus. [Читать дальше →][6]

[1]: http://habrahabr.ru/company/eset/blog/225077/
[2]: http://www.fbi.gov/wanted/cyber
[3]: http://krebsonsecurity.com/2015/02/fbi-3m-bounty-for-zeus-trojan-author/
[4]: //habrastorage.org/files/979/f79/dc8/979f79dc8f174e04809b56652e589abe.png
[5]: http://habrahabr.ru/company/eset/blog/210630/
[6]: http://habrahabr.ru/post/251613/#habracut

[>] О безопасности UEFI, часть заключительная
habra.15
habrabot(difrex,1) — All
2015-10-16 18:00:02


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

[1]: https://habrastorage.org/files/b0e/4d5/c85/b0e4d5c8525c492088a43d909fcbb121.jpg
[2]: http://habrahabr.ru/users/coderush/topics/
[3]: http://habrahabr.ru/post/268423/#habracut

[>] Освоение специальности Data Science на Coursera: личный опыт (ч.2)
habra.15
habrabot(difrex,1) — All
2015-10-17 13:00:03


![][1] Мы публикуем **вторую часть** поста Владимира Подольского [vpodolskiy][2], аналитика в департаменте по работе с образованием [IBS][3], который закончил обучение по специализации Data Science  на Coursera. Это набор из 9 курсеровских  курсов от Университета Джонса Хопкинса + дипломная работа, успешное завершение которых дает право на сертификат. _Читайте [в первой части][4]: О специальности Data Science в общих чертах. Курсы: Инструменты анализа данных (программирование на R); Предварительная обработка данных; Документирование процесса обработки данных._ **_Часть 2_** [Читать дальше →][5]

[1]: https://habrastorage.org/files/52c/123/9b8/52c1239b8a61492bbbefd71f47940a53.png
[2]: http://habrahabr.ru/users/vpodolskiy/
[3]: http://www.ibs.ru/
[4]: http://habrahabr.ru/company/ibs/blog/268491/
[5]: http://habrahabr.ru/post/268893/#habracut

[>] McPaintio — программа, преобразующая изображение в набор мышиных команд, рисующих это изображение
habra.14
habrabot(difrex,1) — All
2015-02-27 12:30:02


![][1]**Привет, Хабрахабр!** В этот раз речь пойдёт о сугубо развлекательном эксперименте. Статья претендует исключительно на пятничное чтиво и ничего феноменального в ней нет. В ней повествуется об истории создания и разработке приложения McPaintio, которое может рисовать изображения в любом\* контексте любой\*\* программы рисования. Статья будет интересна людям, увлекающимся программированием ботов и графической анимацией. Ave, добро пожаловать! [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/cb7/b12/673/cb7b12673b54e1ad8bd73dc9c48a45c0.png
[2]: http://habrahabr.ru/post/251653/#habracut

[>] [Из песочницы] Браузер Vivaldi хранит пароли в открытом виде
habra.14
habrabot(difrex,1) — All
2015-02-27 14:30:03


Прошёл почти месяц, как я открыл в шестнадцатеричном редакторе файл ~/.config/vivaldi/Default/Login Data и увидел примерно следующее: ![image][1] С тех пор ничего не изменилось. [Читать дальше →][2]

[1]: http://habrastorage.org/files/550/b3c/f37/550b3cf37cd64b09adeb5f2f0a2f0875.jpg
[2]: http://habrahabr.ru/post/251671/#habracut

[>] [Перевод] Объекты нулевого размера
habra.15
habrabot(difrex,1) — All
2015-10-17 16:30:03


В чём разница между следующими парами длин и указателей?

size_t len1 = 0;
char *ptr1 = NULL;

size_t len2 = 0;
char *ptr2 = malloc(0);

size_t len3 = 0;
char *ptr3 = (char *)malloc(4096) + 4096;

size_t len4 = 0;
char ptr4[0];

size_t len5 = 0;
char ptr5[];


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

#### malloc(0)

Поведение malloc(0) определено стандартами. Можно вернуть нулевой или уникальный указатель. Второй вариант во многих реализациях выполняется внутренним увеличением длины на единицу (которая затем обычно округляется до 16). По правилам, разыменовать такой указатель нельзя, но обычно несколько байт всё-таки размещаются, и поэтому такая программа не упадёт. Возврат NULL приводит к возможности возникновения интересного бага. Часто возврат NULL из malloc расценивается как ошибка. [Читать дальше →][1]

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

[>] Удалённое исполнение системных команд по запросу через сокеты на Python 3 или как я сайты скачивал
habra.15
habrabot(difrex,1) — All
2015-10-18 11:00:02


_Проект был написан скорее в учебных целях (научиться сетевому программированию в Python), чем в практических. Такую же роль несёт и статься, ведь сейчас вряд ли кто-то будет скачивать сайты, чтобы прочитать пару статеек (за исключением некоторых случаев, когда подобное реально может пригодится)._ Не так давно качество мобильного интернета в моём городе стало постепенно ухудшаться из-за возрастающей на сети операторов нагрузки и некоторые сайты, требующие большое количество соединений (зависимые файлы страницы) стали загружаться ну ОЧЕНЬ медленно. По вечерам скорость опускается на столько, что некоторые сайты могут полностью загружаться в течении нескольких десятков секунд. Есть несколько способов решения данной проблемы, но я решил выбрать немного необычный для нашего времени способ. Я решил скачивать сайты. Конечно, данных способ не подходит для крупных сайтов, вроде Хабра, тут разумнее использовать парсер, но можно скачать и отдельный хаб, список пользователей, или только свои публикации с помощью HTTrack Website Copier, применив фильтры. Например, чтобы скачать хаб Python с Хабра нужно применить фильтр "+habrahabr.ru/hub/python/\*". Этот способ можно использовать ещё в нескольких целях. Например, чтобы скачать сайт, или его часть, перед тем, как вы окажитесь без интернет-соединения, например, в самолёте. Или для того, чтобы скачать заблокированные на территории РФ сайты, если скачивать их через Tor, что будет очень медленно, или через компьютер в другой стране, где данных сайт не запрещён, а потом передать его на компьютер, находящийся в РФ, что будет гораздо быстрее для многостраничных сайтов. Таким образом мы может скачать, например, Wikipedia через сервер в Германии или Нидерландах и получить сайт в сжатом виде по SFTP, FTP, HTTP или другому, удобному для вас, протоколу. Если, конечно, места хватит, для такого большого сайта :) Ну что, начнём!? [Читать дальше →][1]

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

[>] Что там у ReactOS?
habra.15
habrabot(difrex,1) — All
2015-10-19 03:30:02


Спешим поделится нашим прогрессом в разработке, в режиме ассорти. ![][1]

#### Поддержка дополнительных файловых систем понравится человекам

Появилась поддержка разделов жестких дисков с FS Ext2, Ext3 и Ext4.

> Просмотр раздела HDD-диска с файловой системой ext3 в reactos. Спасибо Peter Hater и Thomas Faber за их работу!



> Browsing an Ext3 volume in [@reactos][2]. Thanks to Peter Hater and Thomas Faber for their work on this achievement! [pic.twitter.com/U66m42hXQL][3]
>
> — Pierre Schweitzer (@HeisSpiter)
>
> [17 октября 2015][4]

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

[1]: https://habrastorage.org/files/ef3/329/ee2/ef3329ee2c8746dba7c9decef5aa0023.jpg
[2]: https://twitter.com/reactos
[3]: http://t.co/U66m42hXQL
[4]: https://twitter.com/HeisSpiter/status/655518443073085441
[5]: http://habrahabr.ru/post/269017/#habracut

Pages: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 210