RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 41
[>] Приглашаем на GDG DevFest Omsk 2014
habra.14
habrabot(difrex,1) — All
2014-12-08 19:30:05


14 декабря в Омске пройдет **GDG DevFest 2014** — уникальная возможность для молодых и опытных IT-специалистов погрузиться в мир новых и перспективных информационных технологий! На мероприятии вы сможете создать собственное приложение с использованием технологических новинок этого года, в том числе, [Android Wear SDK][1], [Web Components][2], [Polymer][3] и [Cardboard][4] VR SDK, а также узнать всю необходимую для этого теорию! ![][5] [Читать дальше →][6]

[1]: http://www.android.com/wear/
[2]: http://webcomponents.org/
[3]: https://www.polymer-project.org/
[4]: https://cardboard.withgoogle.com/
[5]: //habrastorage.org/files/b61/75c/0a1/b6175c0a1c7e4b86805792c5ae820cc3.png
[6]: http://habrahabr.ru/post/245259/#habracut

[>] Что в ORM тебе моем? Околонаучный подход выбора ORM для Android
habra.14
habrabot(difrex,1) — All
2014-12-08 20:30:04


Выбор инструментов, которые так или иначе понадобятся при разработке – один из главных подготовительных этапов на старте нового Android-проекта. В случае, если вы разрабатываете приложение, которое должно в том или ином виде хранить большое количество сущностей – вам не избежать использования баз данных. В отличие от коллег по цеху, разрабатывающих для iOS, у Android-программистов нет удобных инструментов, облегчающих хранение объектов вроде Core Data, предоставляемых платформой (кроме Content Provider, о том почему он не в счет, будет дальше). Поэтому многие Android-разработчики прибегают к использованию сторонних ORM-решений в своих проектах. О том, на что стоит смотреть при выборе библиотеки для вашего проекта, и пойдет речь в этой статье.



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

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

[>] Как изобрести велосипед и познакомиться с FRP
habra.14
habrabot(difrex,1) — All
2014-12-08 22:30:03


Недавно мне выпал шанс заняться веб-приложением для взаимодействия с интерактивной доской (!) для мобильных устройств (!!) на любом стеке технологий, как серверных, так и клиентских (!!!). На этапе прототипа задача представляла собой простейший графический редактор. Заказчик изъявил желание уметь рисовать ломаные каким-нибудь способом, круги, отрезки, произвольные кривые и добавлять текст. Все вроде бы просто, однако, наученный горьким опытом GoF, Фаулера и прочих апологетов всяческих паттернов, я сразу понял, что заказчик лукавит, и что уже через неделю-месяц после прототипа ему понадобится рисовать эллипсы, прямоугольники и кучи прочих ништяков. И все это точно надо будет делать разными способами. По крайней мере, для десктопа и мобил. Собственно, можно все сделать в лоб (для прототипа-то), но выпали выходные, пауза в задачах текущего проекта, и я решил сделать все по-хорошему. И в первый же вечер — **callback hell**. А потом… ![Потому что на работе больше заниматься нечем][1] [И вот так я изобрел велосипед...][2]

[1]: //habrastorage.org/files/baf/f7f/526/baff7f526d994fbb8da8a8d7bddac06d.png
[2]: http://habrahabr.ru/post/245269/#habracut

[>] [Из песочницы] Pebble: добавляем в своё приложение возможности конфигурирования и сохранения настроек
habra.14
habrabot(difrex,1) — All
2014-12-09 01:00:04


С наращиванием функциональности и увеличением сложности приложения возникает необходимость дать пользователю возможность самому настраивать необходимые ему параметры. Приложение в свою очередь должно уметь сохранять эти настройки и предоставить пользователю интерфейс для управления ими. Какие средства и возможности для этого дали нам разработчики Pebble? Документация у проекта Pebble хорошая и целью изложенного не является её дублирования. Это попытка собрать то, что касается хранения данных и возможностей по конфигурированию приложения в одном месте. Далее присутствуют краткие выдержки из документации и немного кода в виде примера проекта. [Читать дальше →][1]

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

[>] Сказ о том как мы «движок для блогов WordPress» заточили под CRM/ERP/ACM систему комплексного управления предприятием
habra.14
habrabot(difrex,1) — All
2014-12-09 10:30:04


![image][1] Многие у нас в стране думают что WordPress это движок для блогов. Особо смелые признали за ней ранг CMS. Но мало кто отважится признать WordPress полноценным фреймворком для создания сложных веб-приложений. А мы не такие. Мы попробовали :) И вот что из этого получилось… [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/801/b2c/8d8/801b2c8d84849d145d5c3fd4d1c8c283.png
[2]: http://habrahabr.ru/post/245329/#habracut

[>] Lock-free структуры данных. Диссекция очереди
habra.14
habrabot(difrex,1) — All
2014-12-09 12:00:04


![][1] Со времени [предыдущего поста][2] из жизни lock-free контейнеров прошло немало времени. Я рассчитывал быстро написать продолжение трактата об очередях, но вышла заминка: о чем писать, я знал, но реализации на C++ этих подходов у меня не было. «Не годится писать о том, что сам не попробовал», — подумал я, и в результате я попытался реализовать в [libcds][3] новые алгоритмы очередей. Сейчас настал момент, когда я могу аргументированно продолжить свой цикл. В данной статье закончим с очередями. Кратко напомню, на чем я остановился. Были рассмотрены несколько интересных алгоритмов lock-free очередей, а под занавес приведены результаты их работы на некоторых синтетических тестах. Главный вывод — всё плохо! Надежды на то, что lock-free подход на магическом compare-and-swap (CAS) даст нам пусть не линейный, но хотя бы _какой-то_ рост производительности с увеличением числа потоков, не оправдались. Очереди не масштабируются. В чем причина?.. [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/fe5/e1d/6b9/fe5e1d6b9d857a50da2edbe8399f44b4.jpg
[2]: http://habrahabr.ru/company/ifree/blog/219201/
[3]: http://libcds.sourceforge.net/
[4]: http://habrahabr.ru/post/230349/#habracut

[>] Час Кода в России
habra.14
habrabot(difrex,1) — All
2014-12-09 15:30:03


С 4 по 12 декабря 2014 года проходит_ беспрецедентная_ акция Час Кода в России. — [www.coderussia.ru/][1] На Хабре даже об [этом писали.][2] ![][3] Но сами организаторы что-то не очень хотят думать, а берут чужое (даже без указания авторства). _Это не история разоблачения, просто наблюдение._ [Читать дальше →][4]

[1]: http://www.coderussia.ru/
[2]: http://habrahabr.ru/company/codabra/blog/244287/
[3]: //habrastorage.org/files/2ba/d7a/b18/2bad7ab188d74d7fae8f5aa62bc6f61e.png
[4]: http://habrahabr.ru/post/245377/#habracut

[>] Как я потерял пароль от Android keystore, но потом смог восстановить с помощью Jetbrains Idea
habra.14
habrabot(difrex,1) — All
2014-12-09 16:30:04


**Предыстория** Жило-было в Google Play Android приложение с несколькими тысячами пользователей. Через год понадобилось его обновить. Ок, запускаем Idea, выбираем «Build» — «Generate Signed APK». Вспоминаю что за это время успел пересесть в Linux, ничего страшного, выбираю файл с ключами, ввожу ранее заботливо записанный пароль… Не подходит. Хмм… Ввожу еще раз, еще… Перебор вариантов, переспрос коллег… Всё плохо. [Что делать, что делать?][1]

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

[>] YotaPhone 2: инновации и безопасность
habra.14
habrabot(difrex,1) — All
2014-12-09 16:30:04


2 декабря в МСИ «Гараж» в Парке Горького состоялась презентация YotaPhone 2. Компания «Актив», в которой я работаю, является технологическим партнером YotaDevices, поэтому мне удалось приобщиться к новому смартфону еще до презентации. Как приверженец платформы iOS я весьма прохладно отнесся к появлению этого девайса, но все же приписываемая ему инновационность вызывала любопытство. ![][1] Подробности под катом [Читать дальше →][2]

[1]: //habrastorage.org/files/20e/a03/096/20ea03096e484b1cb05c68e2deae78c2.jpg
[2]: http://habrahabr.ru/post/245379/#habracut

[>] Современные способы аутетификации и безопасность iOS-устройств
habra.14
habrabot(difrex,1) — All
2014-12-09 17:00:04


Сегодня мы выложим два новых доклада с нашей конференции мобильных разработчиков [ #MBLTDev][1], которая прошла в конце октября в Москве. Оба доклада посвящены безопасности: один от главы EMEA PayPal Тима Мессершмидта про современные виды аутентификации, второй – от ведущего инженера по безопасности viaForensics Андрея Беленко про безопасность iOS-устройств. Тим призвал отказывать от паролей и рассказал, чем их можно заменить. «8,5% пользователей используют в качестве пароля Password или 123456 45% уходят с сайта вместо того, чтобы восстановить пароль или ответить на секретные вопросы. — сказал Тим. — Для повышения безопасности мы в PayPal предлагаем использовать носимые устройства или аутентификацию без пароля (например, OpenID).»




[Презентация][2] [Читать дальше →][3]

[1]: http://mbltdev.ru
[2]: http://www.slideshare.net/elegion/ss-40957408?related=1
[3]: http://habrahabr.ru/post/245367/#habracut

[>] Современные способы аутентификации и безопасность iOS-устройств
habra.14
habrabot(difrex,1) — All
2014-12-09 18:00:04


Сегодня мы выложим два новых доклада с нашей конференции мобильных разработчиков [ #MBLTDev][1], которая прошла в конце октября в Москве. Оба доклада посвящены безопасности: один от главы EMEA PayPal Тима Мессершмидта про современные виды аутентификации, второй – от ведущего инженера по безопасности viaForensics Андрея Беленко про безопасность iOS-устройств. Тим призвал отказывать от паролей и рассказал, чем их можно заменить. «8,5% пользователей используют в качестве пароля Password или 123456 45% уходят с сайта вместо того, чтобы восстановить пароль или ответить на секретные вопросы. — сказал Тим. — Для повышения безопасности мы в PayPal предлагаем использовать носимые устройства или аутентификацию без пароля (например, OpenID).»




[Презентация][2] [Читать дальше →][3]

[1]: http://mbltdev.ru
[2]: http://www.slideshare.net/elegion/ss-40957408?related=1
[3]: http://habrahabr.ru/post/245367/#habracut

[>] Pebble: работа со статической графикой на примере создания 7-segment watchface
habra.14
habrabot(difrex,1) — All
2014-12-09 19:00:04


![][1] Все приложения для часов Pebble делятся на две категории _watchapp_ — просто приложения, и _watchface_ — приложения «часы», которые исходя из названия являются лицом устройства. Отличие «фейсов» — отсутствие реакции на хардварные кнопки, так как «UP» и «DOWN» используются для циклического переключения между установленными _watchface_. Но, наверное, в силу низкого разрешения экрана 144x168 px, найти органично вписывающийся в дизайн часов ватчфейс, который при этом выполняет основную свою функцию — отсчет времени, довольно непросто. Как мне кажется лучше всего на таком экране смотрятся цифры в стиле семисегментных индикаторов. Ниже, подробнее о том, как добавить в свой _watchface_ элегантного минимализма, индивидуальности и уникальных фишек. Итак, немного картинок, обрывков кода и в итоге ссылка на готовый проект. [Читать дальше →][2]

[1]: //habrastorage.org/files/404/ea7/27b/404ea727b7b84d8eb42841b90d584ff0.png
[2]: http://habrahabr.ru/post/245297/#habracut

[>] [Из песочницы] Сериализация C++ с полиморфизмом и прототипами
habra.14
habrabot(difrex,1) — All
2014-12-09 19:30:04


Уже достаточно давно заинтересовался темой сериализации, а если конкретно, то сериализацией объектов, хранящихся по указателю на базовый класс. Например, если мы хотим загружать интерфейс приложения из файла, то скорее всего нам придется заполнять полиморфными объектами контейнер по типу “std::vector<iWidget\*>”. Возникает вопрос, как подобное реализовать. Этим я недавно решил заняться и вот что получилось. Для начала я предположил, что нам все-таки придется унаследовать в базовом классе интерфейс iSerializable, такого вида:

class iSerializable
{
public:
virtual void serialize (Node node) = 0;
};


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

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

[>] Бизнес vs программная инженерия
habra.14
habrabot(difrex,1) — All
2014-12-09 22:30:04


_Где-то я слышал, что в психотерапии существует следующая методика работы с пациентом – пациенту предлагают сесть и написать в свободной, «потоковой» форме все что накипело, волнует, будоражит сознание и, отражаясь на подсознании, не дает спать по ночам. Применительно к этому есть хорошее, нежно ласкающее слух слово – фрирайтинг. Итак, почему я решил это написать – когда сталкиваешься с полным пренебрежением к проектированию ПО как таковому, пренебрежением к качеству и соблюдению хоть какой-нибудь методологии разработки, всегда удивляешься. Когда сталкиваешься с этим раз за разом, об этом уже хочется написать._ [Читать дальше →][1]

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

[>] Полная анонимизация траффика через VPN + TOR/I2P. Собираем миддлбокс с нуля
habra.14
habrabot(difrex,1) — All
2014-12-10 00:30:03


В этой статье будет рассказано, как пробросить весь трафик операционной системы через TOR так, чтобы о наличии TOR-а операционная система даже не подозревала. ![][1] Это поможет не думать о бесконечных настройках прокси и onion, перестать бояться на тему «а не сливает ли торрент клиент мой реальный IP адрес, так как не полностью поддерживает прокси?» и, наконец, быть застрахованным от законодательного запрета TOR-а в России. Когда я говорю «TOR», я подразумеваю «TOR и I2P». По схожей методике сюда можно подключить любой даркнет. Статья — «чисто конкретная». Теория уже неплохо изложена в статье [Pandos][2] 'а [habrahabr.ru/post/204266/][3]. В данном тексте будет дана детальная инструкция «как сделать, чтобы работало».

### Постановка задачи

1. Мой компьютер должен по нажатию одной кнопки переходить в режим «весь трафик — не русский». 2. По нажатию второй кнопки он должен переходить в режим «весь траффик идет через TOR» 3. Третья кнопка — для I2P. 4. Входная TOR-нода должна находиться за рубежом. 5. Все это должно работать под linux, windows, android. Заранее: с OS X и iPhone тоже все в порядке, просто у меня их нету, так что протестить не смогу. [Далее][4]

[1]: http://habr.habrastorage.org/post_images/49e/a24/835/49ea24835969e47be3d690f30a269d8f.png
[2]: http://habrahabr.ru/users/pandos/
[3]: http://habrahabr.ru/post/204266/
[4]: http://habrahabr.ru/post/245435/#habracut

[>] Ubuntu Core (Snappy) с транзакционными обновлениями
habra.14
habrabot(difrex,1) — All
2014-12-10 01:00:05


![][1]Представьте, что ваши облачные инстансы обновляются так же чётко, точно и быстро, как ОС мобильного телефона. Что, если все приложения можно изолировать друг от друга полностью, так что установка какого-нибудь из них не повредит работе другого или что уязвимость в одном повлияет на другие? То есть программы ставятся без зависимостей друг с другом и без сборочных конструкций. Именно такую логику Canonical реализовала в новом образе [Ubuntu Core][2] (Snappy), который сегодня выкатили в облаке Azure и в виде KVM для установки на любой Linux-компьютер. Марк Шаттлворт назвал Ubuntu Core [самым большим нарушением традиции за 10 лет с момента создания Ubuntu][3], потому что здесь не используются пакеты .deb или apt-get. Новая система полностью меняет традиционную пакетную систему серверов и настольных версий Ubuntu. Это нововведение анонсировалось ещё в [мае 2013 года][4]. Тогда говорилось, что новые «клик-пакеты» в первую очередь «коснутся версий ОС для планшетов/смартфонов, но в последствии могут быть применены где угодно, вплоть до не убунтушных дистров и даже не линуксовых осей». Так оно и вышло. Систему сначала опробовали в Ubuntu Phone, а теперь накатили на серверные и десктопные Ubuntu. [Читать дальше →][5]

[1]: //habrastorage.org/files/102/0f8/225/1020f8225cd742f795957e1e4e00135d.png
[2]: http://www.ubuntu.com/cloud/tools/snappy
[3]: http://www.markshuttleworth.com/archives/1434
[4]: http://habrahabr.ru/post/179751/
[5]: http://habrahabr.ru/post/245437/#habracut

[>] [Из песочницы] 6 способов: как добавить security для Rest сервиса в Java
habra.14
habrabot(difrex,1) — All
2014-12-10 02:00:02


В данной статье я попытаюсь описать несколько способов, а точнее 6, как добавить security для rest сервиса на Java. Перед нашей командой была поставлена задача найти все возможные способы добавить security к rest сервису. Проанализировать все за и против и выбрать наиболее подходящий для нашего проекта. Когда я начал искать такую статью в Гугле ничего подходящего не нашел, а были лишь фрагменты и мне пришлось собирать эту информацию по крупицам. Так что думаю, данная статья будет полезна и другим Java разработчикам, пишущим back-end. Я не буду утверждать, что какой-то из этих способов лучше или хуже, все зависит от поставленной задачи и конкретного проекта. Поэтому какой из шести способов подходит больше всего вашему проекту решать только Вам. Я постараюсь описать принцип каждого из подходов и дать небольшой пример с использованием Java и Spring Security. [6 способов][1]

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

[>] Анонимизация всего траффика через VPN + TOR/I2P. Собираем миддлбокс с нуля
habra.14
habrabot(difrex,1) — All
2014-12-10 02:30:04


В этой статье будет рассказано, как пробросить весь трафик операционной системы через TOR так, чтобы о наличии TOR-а операционная система даже не подозревала. ![][1] Это поможет не думать о бесконечных настройках прокси и onion, перестать бояться на тему «а не сливает ли торрент клиент мой реальный IP адрес, так как не полностью поддерживает прокси?» и, наконец, быть застрахованным от законодательного запрета TOR-а в России. Когда я говорю «TOR», я подразумеваю «TOR и I2P». По схожей методике сюда можно подключить любой даркнет. Статья — «чисто конкретная». Теория уже неплохо изложена в статье [Pandos][2] 'а [habrahabr.ru/post/204266/][3]. В данном тексте будет дана детальная инструкция «как сделать, чтобы работало».

### Постановка задачи

1. Мой компьютер должен по нажатию одной кнопки переходить в режим «весь трафик — не русский». 2. По нажатию второй кнопки он должен переходить в режим «весь траффик идет через TOR» 3. Третья кнопка — для I2P. 4. Входная TOR-нода должна находиться за рубежом. 5. Все это должно работать под linux, windows, android. Заранее: с OS X и iPhone тоже все в порядке, просто у меня их нету, так что протестить не смогу. [Далее][4]

[1]: http://habr.habrastorage.org/post_images/49e/a24/835/49ea24835969e47be3d690f30a269d8f.png
[2]: http://habrahabr.ru/users/pandos/
[3]: http://habrahabr.ru/post/204266/
[4]: http://habrahabr.ru/post/245435/#habracut

[>] В системе защиты от подделки запросов PayPal обнаружена серьезная уязвимость
habra.14
habrabot(difrex,1) — All
2014-12-10 04:30:02


Инженер из Египта Ясер Али во время исследования работы PayPal обнаружил критическую уязвимость, которая позволила ему полностью обойти используемую сервисом систему защиты от CSRF-атак ([межсайтовая подделка запросов][1]). Эту уязвимость он подробно описал в [своем блоге][2], мы перевели и адаптировали пост с описанием уязвимости. Для успешного проведения атаки такого рода злоумышленнику требуется заставить жертву обманным путем попасть по специально подготовленной ссылке, с помощью которой он сможет создавать запросы от лица жертвы. Атака возможна только если пользователь авторизован на веб-сайте, который подвергается ей. Пост подготовлен специально для корпоративного блога сайта о платежных системах c мониторингом обменников [Web-payment.ru][3]. [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0
[2]: http://yasserali.com/hacking-paypal-accounts-with-one-click/
[3]: http://web-payment.ru/
[4]: http://habrahabr.ru/post/245445/#habracut

[>] MindStream. Как мы пишем ПО под FireMonkey. Часть 4 Serialization
habra.14
habrabot(difrex,1) — All
2014-12-10 08:30:03


[Часть 1][1]. [Часть 2][2]. [Часть 3. DUnit + FireMonkey][3]. [Часть 3.1. По мотивам GUIRunner][4]. Ещё в начале увлечения программированием мне нравилось работать с файлами. Работа, правда, в основном заключалась в чтении входных данных и записей результатов. Дальше была работа с БД, файлами я пользовался все реже. Максимум IniFile иногда. Поэтому задача сериализации была довольно интересной для меня. Сегодня я расскажу о том, как мы добавили сериализацию в нашу программу, какие возникли трудности и как мы их преодолели. Так как материал уже не новый, то он скорее для новичков. Хотя, кое-какие приемы смогут покритиковать все.



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

[1]: http://habrahabr.ru/post/232955/
[2]: http://habrahabr.ru/post/234801/
[3]: http://habrahabr.ru/post/241301/
[4]: http://habrahabr.ru/post/241377/
[5]: http://habrahabr.ru/post/245441/#habracut

[>] .NET/Mono в Java? Легко!
habra.14
habrabot(difrex,1) — All
2014-12-10 09:00:03


Здравствуйте. Хочу представить свой проект – компилятор .NET/Mono в Java. Целью проекта является создание компилятора, и набора стандартных библиотек позволяющих переносить написанные приложения и библиотеки на платформу Java, версии не выше 1.6. Из аналогичных проектов мне известен лишь проект dot42. Но он заточен под Android и имеет собственную стандартную библиотеку не совсем совместимую с .NET/Mono. Пока есть только альфа версия, и поэтому для реального использования компилятор пока не годится, однако уже частично работоспособен, генерирует валидный код Java и поддерживает часть стандарта ECMA-335. Исходные коды на github.com: [Подробнее о том, что не поддерживается, что поддерживается и как это все работает.][1]

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

[>] [Перевод - recovery mode ] При запуске реплеев игры World Of Tanks на вашем компьютере может исполняться произвольный код
habra.14
habrabot(difrex,1) — All
2014-12-10 12:00:03


Перевод с reddit.com Пару месяцев назад я иссследовал реплеи WoT и их формат. Я обнаружил, что способ, с помощью которого они хранят пакеты данных, позволяет легко получить возможность исполнения произвольного кода. После пары дней улучшения запуска кода в реплее до надежного состояния, я получил возможность встроить произвольный код в произвольный реплей. Этот код выполняется сразу после открытия, и нет способа остановить его с момента когда WoT-клиент начал воспроизводить реплей. [Читать дальше →][1]

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

[>] Как веб-сервер Cowboy и мессенджер Kato помогают друг другу: Немного про Erlang и open source
habra.14
habrabot(difrex,1) — All
2014-12-10 13:00:02


[![image][1]][2] Большая часть сервисов и продуктов, которыми все мы пользуемся каждый день, были построены с применением открытых технологий (open source). Например, сотрудниками Facebook были созданы «открытые» инициативы [Cassandra][3] и [React][4], а в последнее время даже такие апологеты «закрытости» как Microsoft, который ранее пытался уничтожить движение open source, начали открывать свои разработки (корпорация из Редмонда [сделала открытым][5] ядро платформы .NET). При создании мессенджера Kato был использован открытый инструмент для обработки запросов с очень высокой интенсивностью — язык программирования и виртуальная машина Erlang. Эту платформу используют многие популярные проекты и компании (примеры — Amazon, Goldman Sachs, RabbitMQ, WhatsApp, Whisper). Существует крупное сообщество разработчиков, пишущих Erlang-библиотеки. С помощью одной из них, веб-сервера Cowboy, был создан мессенджер [Kato][6] — сегодня мы расскажем об истории этого open source проекта подробнее. [Читать дальше →][7]

[1]: http://habrastorage.org/getpro/habr/post_images/dc8/9d3/c95/dc89d3c95ea311653f922ae7ff7cc4a1.jpg
[2]: http://habrahabr.ru/company/kato/blog/245471/
[3]: http://en.wikipedia.org/wiki/Apache_Cassandra
[4]: https://github.com/facebook/react
[5]: http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx
[6]: https://kato.im/
[7]: http://habrahabr.ru/post/245471/#habracut

[>] Научно-исследовательское программное обеспечение в ВУЗах Великобритании
habra.14
habrabot(difrex,1) — All
2014-12-10 13:00:02


От переводчика В этой заметке коротко о том:

* сколько исследователей пользуется научно — исследовательским программным обеспечением (ПО) в ВУЗах Великобритании?
* какое именно ПО используется?
* сколько исследователей разрабатывает свое исследовательское ПО, сколько является просто пользователями исследовательского ПО, как это зависит от дисциплины, их пола и других факторов?
* какая компьютерная операционная система выбирается разработчиками и пользователями исследовательского ПО?

Так же вы найдёте и ссылку на файл с «сырыми» и детальными результатами исследований, такими как список исследованных университетов, число опрошенных человек от каждого университета, область их работы и так далее. Это будет особенно полезным для тех кто пожелает самостоятельно проанализировать результаты. ![][1] Данная заметка является переводом публикации «Невозможно проводить исследования без программного обеспечения — отметили 7 из десяти исследователей Соединённого Королевства» (англ. [It's impossible to conduct research without software, say 7 out of 10 UK researchers][2]) автора Саймон Хитрик (анг. [Simon Hettrick][3]), в которой он коротко рассказал о результатах статистического исследования программного обеспечения используемого в научных исследованиях нескольких университетов Соединённого Королевства. Саймон является заместителем директора института программной совместимости (анг. [Software Sustainability Institute][4]), от имени которого Университет Эдинбурга и проводил данные исследования (англ. The University of Edinburgh on behalf of the Software Sustainability Institute). Этот литературный перевод с английского на русский. Если будут советы (или видите ошибку), то прошу мне о них сообщать. После публикации этого перевода, я пришлю Саймону ссылку на эту публикацию (разрешение автора на перевод и использование диаграмм из его отчёта у меня уже есть). Благодарности (англ. асknowledgements): Я хотел бы поблагодарить Саймона Хитрика из поддерживаемого EPSRC [Института программной совместимости][5] за его помощь в подготовке материала (англ. I would like to acknowledge the assistance of Simon Hettrick from the EPSRC supported [Software Sustainability Institute][6]"). Далее по тексту — перевод поста Саймона Хитрик.

----

Никто не знает сколько программного обеспечения (ПО) используется в научных исследованиях. Посмотрите в любую лабораторию и вы обнаружите как стандартное, так и специально написанное ПО, которое используется во всех дисциплинах и исследователями всех уровней. Программное обеспечение явно является фундаментальным компонентом исследований, но мы не можем подтвердить это без доказательств. И этот недостаток доказательств является причиной, по которой мы провели исследование используемого научно — исследовательского ПО в пятнадцати университетах группы Рассела (анг. [Russell Group][7] — прим. переводчика). [Читать дальше →][8]

[1]: //habrastorage.org/files/e69/741/24e/e6974124eab84b2e8b8c6bac72710336.png
[2]: http://www.software.ac.uk/blog/2014-12-04-its-impossible-conduct-research-without-software-say-7-out-10-uk-researchers
[3]: http://www.software.ac.uk/about/people/simon-hettrick
[4]: http://www.software.ac.uk
[5]: http://software.ac.uk/
[6]: http://software.ac.uk/
[7]: http://en.wikipedia.org/wiki/Russell_Group
[8]: http://habrahabr.ru/post/245171/#habracut

[>] [Из песочницы] Occlusion Culling и LOD для Unity Indie
habra.14
habrabot(difrex,1) — All
2014-12-10 15:00:07


Доброго времени суток! В качестве хобби ковыряю движок Unity. Хобби явно некоммерческое, поэтому особой нужды в Pro-версии не испытываю. Pro, конечно же, посурьезнее Indie, но для разработки, например, под Android/iOS возможностей второй вполне хватает. За исключением одной – оптимизации и связанного инструментария. Раскидистая клюква, созданная силами движка имеет полторы — две тысячи треугольников. Высокополигональный замок/машинка заставляют картинку в среднем телефоне шизофренически подергиваться, а красивый шейдер для воды — надолго застыть в позе роденовского мыслителя. Ясно, что при появлении в кадре пары — тройки таких объектов, все будет жутко глючить и тормозить. В Pro есть крайне нужная штука, называется [Occlusion Culling][1]. Кратко – отрисовываются только объекты, попадающие в поле зрения камеры (скриншоты под катом). Посмотрел опять на стоимость Pro, почесал затылок, обиделся и ушел сначала искать, а потом и писать костыли. [Читать дальше →][2]

[1]: http://docs.unity3d.com/Manual/OcclusionCulling.html
[2]: http://habrahabr.ru/post/245489/#habracut

[>] Чтение SVG в C++
habra.14
habrabot(difrex,1) — All
2014-12-10 21:30:03


При выборе формата хранения или обмена векторными 2D изображениями, SVG один из главных претендентов, благодаря открытости и распространенности. При всех его достоинствах, авторы, на мой взгляд, чрезмерно увлеклись удобством и гибкостью при создании документов, что привело к большой вариативности и избыточности, а, следовательно, и сложностью чтения. Кроме того, ради компактности были изобретены разные грамматики, встроенные внутрь XML, что тоже добавило головной боли программистам. Сейчас есть несколько C/C++ библиотек, которые могут загрузить SVG и отрисовать его в растр, но это только малая часть возможных применений SVG в приложениях. Я разработал C++ библиотеку, которая должна взять на себя реализацию большинства нюансов спецификации, предоставляя данные SVG в удобном виде. [Читать дальше →][1]

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

[>] Разработка интерактивных систем на OpenFrameworks: Интерактивный звук
habra.14
habrabot(difrex,1) — All
2014-12-10 21:30:03




> Про настройку и визуализацию музыки с помощью openFrameworks мы
>
> [недавно рассказывали][1]
>
> . К сожалению русскоязычной информации по фреймворку OpenFrameworks достаточно мало. Для заполнения этого вакуума — начинаем серию публикаций лекций, что были прочитаны в Екатеринбурге в Институте математики и механики им. Н.Н.Красовского (УрО РАН) Денисом Переваловым.
>
>
>
>
>
> В этой лекции будут рассказаны теоретические основы цифрового звука, и показан пример создания интерактивного приложения по генерации звука на базе захвата изображения с камеры.

**Что такое цифровой звук, и звук вообще?** ![][2] Звук, _в широком смысле_ — упругие волны, продольно распространяющиеся в среде и создающие в ней механические колебания; _в узком смысле_ — субъективное восприятие этих колебаний специальными органами чувств животных или человека. Как и любая волна, звук характеризуется амплитудой и частотой. [Цифровой звук][3]

[1]: http://habrahabr.ru/post/244265/
[2]: //habrastorage.org/files/bbf/08b/720/bbf08b720c2c43229255baaf48ba3fba.jpg
[3]: http://habrahabr.ru/post/245481/#habracut

[>] Авторизация узла Пандоры
habra.14
habrabot(difrex,1) — All
2014-12-10 23:00:03


После статьи о [системе доверия][1], как и после статьи о [Пандоре][2], мне снова пишут люди. Особенно приятно, когда практикующие программисты задают конкретные вопросы. Чтобы в личной переписке не повторяться, я решил написать цикл статей об алгоритмах. Сегодня поговорим о 3-х (уже реализованных в коде) механизмах авторизации: _хэш-загадке_, которая ограждает от DoS-атак, _электронной подписи_, которая идентифицирует узел-собеседник, и _картинке-загадке_, которая отсеивает спамеров и ботов. ![][3] Поговорим о запланированных: бан-листе, системе штрафов, а также ускоренной авторизации по сеансовому ключу после обрыва связи. Для начала взглянем на общую диаграмму сеанса связи: [Смотреть диаграмму][4]

[1]: //habrahabr.ru/post/245111/
[2]: //habrahabr.ru/post/164149/
[3]: //habrastorage.org/files/2d8/d4e/569/2d8d4e569bb0457c9ea231c324bd0d3f.jpg
[4]: http://habrahabr.ru/post/245483/#habracut

[>] Стартовал краудсорсинговый перевод OWASP Testing Guide 4.0 на 30 языков (в т. ч. и на русский)
habra.14
habrabot(difrex,1) — All
2014-12-11 02:30:02


![image][1] Сегодня в твиттере проекта [OWASP][2] появилась [запись][3], приглашающая всех желающих присоединиться к переводу [OWASP Testing Guide 4.0][4]. Присоединиться к переводу можно [здесь][5]. [Что за OWASP такой и немного подробнестей][6]

[1]: http://habrastorage.org/files/0a0/4c1/e59/0a04c1e5905740ec85aa238514fbba12.jpg
[2]: https://www.owasp.org/index.php/Main_Page
[3]: https://twitter.com/owasp/status/542694851041832960
[4]: https://www.owasp.org/index.php/OWASP_Testing_Project
[5]: https://crowdin.com/project/owasp-testing-guide-40
[6]: http://habrahabr.ru/post/245537/#habracut

[>] Использование замыканий и функций высших порядков в Delphi
habra.14
habrabot(difrex,1) — All
2014-12-11 11:00:04


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

[1]: http://habrahabr.ru/post/243721/
[2]: http://habrahabr.ru/post/244945/#habracut

[>] ASH Viewer
habra.14
habrabot(difrex,1) — All
2014-12-11 14:00:04


**Предыстория (2008 г.)** По работе часто приходилось разбираться с производительностью серверов БД Oracle. После выхода Oracle 10g задача по мониторингу и диагностике проблем с производительностью значительно упростилась – с помощью истории активных сессий ([Active Session History, ASH][1]) стало возможно узнать, что происходило с БД в прошлом, что творится на сервере в данный момент, и даже прогнозировать, что будет происходить с нагрузкой в будущем. Но, во-первых, процесс миграции на новую версию достаточно длительный, и некоторые заказчики продолжали использовать старые версии. А во-вторых, средства визуализации истории активных сессий от Oracle, которые имелись в наличии:

* Требовали некоторых телодвижений по их установке и настройке – это Oracle Enterprise Manager Console (DB Console) или Oracle Enterprise Manager Grid Control (сейчас Oracle Enterprise Manager Cloud Control). DB Console из моей (и не только) практики требовал для установки применения очень сильных админских заклятий. Также в целях экономии ресурсов не все хотят ставить на сервера БД дополнительные сервисы или разворачивать на своей площадке отдельную инфраструктуру для мониторинга;
* Обладали рядом архитектурных недостатков. К примеру, в случае зависания сервера БД доступ к информации из истории активных сессий посредством Oracle Enterprise Manager Console становился невозможным, и оперативно выяснить, что «что-то пошло не так» (с) было практически нереально;
* Отсутствовала функциональность в части сохранения данных мониторинга и последующего его анализа на своей площадке.

Из сторонних бесплатных средств, похожая функциональность была реализована в утилите [ASHMON][2] за авторством Kyle Hailey. Но функционал был только для просмотра, и работала она под одну платформу – Windows. В общем, после рассмотрения всех доступных на тот момент вариантов, было принято волевое решение собирать свой «велосипед» из подручных материалов. ![][3] [Читать дальше →][4]

[1]: http://www.oracle.com/technetwork/issue-archive/2013/13-jan/o13dba-1871177.html
[2]: http://datavirtualizer.com/ash-masters/ashmon/
[3]: //habrastorage.org/files/5f6/5ea/1fd/5f65ea1fd954491499c0a9ee1a0337dd.png
[4]: http://habrahabr.ru/post/245507/#habracut

[>] Заявлен релиз Go 1.4
habra.14
habrabot(difrex,1) — All
2014-12-11 17:00:03


[Blog Post][1] [Release Notes][2] [Дистрибутив][3]

###### Значимые нововведения для разработчиков на языке:

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

[1]: https://blog.golang.org/go1.4
[2]: https://golang.org/doc/go1.4
[3]: https://golang.org/dl/
[4]: http://habrahabr.ru/post/245603/#habracut

[>] [Из песочницы] Роскомнадзор сам нарушает 152 ФЗ РФ?
habra.14
habrabot(difrex,1) — All
2014-12-11 19:30:04


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

[1]: http://i.imgur.com/v116RCm.png
[2]: http://habrahabr.ru/post/245635/#habracut

[>] Стартовал краудсорсинговый перевод OWASP Testing Guide 4.0 на 30+ языков (в т. ч. и на русский)
habra.14
habrabot(difrex,1) — All
2014-12-11 21:00:04


![image][1] Сегодня в твиттере проекта [OWASP][2] появилась [запись][3], приглашающая всех желающих присоединиться к переводу [OWASP Testing Guide 4.0][4]. Присоединиться к переводу можно [здесь][5]. [Что за OWASP такой и немного подробнестей][6]

[1]: http://habrastorage.org/files/0a0/4c1/e59/0a04c1e5905740ec85aa238514fbba12.jpg
[2]: https://www.owasp.org/index.php/Main_Page
[3]: https://twitter.com/owasp/status/542694851041832960
[4]: https://www.owasp.org/index.php/OWASP_Testing_Project
[5]: https://crowdin.com/project/owasp-testing-guide-40
[6]: http://habrahabr.ru/post/245537/#habracut

[>] Простая система событий — нестандартный подход
habra.14
habrabot(difrex,1) — All
2014-12-11 22:00:02


Данная заметка является логическим продолжением поста [«SMessage — Простая и предсказуемая система событий для Unity»][1]. Пользователь [erlioniel][2] описал два подхода к построению собственной системы сообщений: с использованием перечислений и классов-сообщений. В своей заметке я хочу рассказать о возможном пути смешения этих подходов и о велосипеде, который может из этого получиться. [Ненормальное программирование][3]

[1]: http://habrahabr.ru/post/245353/
[2]: http://habrahabr.ru/users/erlioniel/
[3]: http://habrahabr.ru/post/245487/#habracut

[>] [Из песочницы] Генератор отчетов ActivityManager. Очередной велосипед, но в профиль
habra.14
habrabot(difrex,1) — All
2014-12-11 22:00:02


**ActivityManager** — это менеджер формирования отчетов, базирующийся на замене шаблонных строк. Основными особенностями ActivityManager являются:

* Независимость от источника данных: поддерживаются все СУБД, для которых существуют провайдеры .Net, и не только;
* Формирование шаблонов без использования COM: все отчеты формируются непосредственно в XML;
* Поддержка форматов отчетов ods, odt, docx, xlsx. Независимость от наличия текстового процессора на конечном компьютере пользователя: эта особенность вытекает из предыдущей;
* Наличие механизмов пред-обработки данных: изменение формата представления ФИО, денежных сумм, целых, вещественных чисел и дат, в том числе и возможность изменения падежа, в котором должны быть представлены конечные данные;
* Наличие механизмов пост-форматирования данных;
* Простота использования и расширения благодаря наличию редактора конфигурации отчетов и простой плагинной архитектуре.

Конфигурацию отчета при помощи ActivityManager можно условно разделить на 3 части: выборка данных, их обработка и непосредственно формирование отчета. Подробную информацию по каждому из этапов смотри в соответствующих разделах. [Много текста][1]

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

[>] Установка Archlinux на телефон с Android во второй раздел SD или просто подпапку системной карты памяти
habra.14
habrabot(difrex,1) — All
2014-12-11 23:30:03


![image][1] Привет всем. Тут уже была [статья][2] на тему Botbrew, где в целом описано что это такое и что это дает. Вкратце:

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

Обычный, классический Botbrew имеет свой репозиторий, но в нем мало пакетов, что грустно. Тем, кто действительно хочет беспредельничать, понравится Borbrew-Basil, который использует дебиановский репозиторий [emdebian][3]. Однако, с ним нынче тоже все грустно, так как

> As of July 2014, updates to the Emdebian distributions ceased. There will be no further updates and no further stable releases.

Получается, что даже те, кто когда-то поставил себе emdebian, нынче в пролете. Данный пост будет о том, как поставить на рутованный телефон [Archlinux][4], но не как обычно в loop образ, а на родную файловую систему Android или второй раздел SD. Предполагается, что имеется рутованный телефон с установленным busybox, включенной отладкой по USB и утилита adb на основном компьютере. [Читать дальше →][5]

[1]: http://habrastorage.org/getpro/habr/post_images/fbc/b6c/2af/fbcb6c2af37f61457195b8e27a03d3d8.jpg
[2]: http://habrahabr.ru/company/xakep/blog/208518/
[3]: http://www.emdebian.org/
[4]: http://archlinuxarm.org
[5]: http://habrahabr.ru/post/221543/#habracut

[>] 6-й санкт-петербургский Perl-воркшоп и хакатон Saint Perl 2014
habra.14
habrabot(difrex,1) — All
2014-12-12 00:30:02






В декабре Perl празднует свой 27-й день рождения. А мы традиционно проводим приуроченный к этой славной дате очередной, шестой уже по счёту, [Saint Perl][1]. В этом году он состоится 20-21 декабря. [Читать дальше →][2]

[1]: http://event.yapcrussia.org/saintperl6/
[2]: http://habrahabr.ru/post/245639/#habracut

[>] Детекторы углов
habra.14
habrabot(difrex,1) — All
2014-12-12 01:00:03


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

* Введение
* Свойства особых точек
* Детекторы углов
* Moravec
* Harris
* Shi-Tomasi
* Förstner
* SUSAN
* Trajkovic
* FAST
* CSS
* Детектор, основанный на глобальных и локальных свойствах кривизны
* CPDA
* Выводы

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

[1]: //habrastorage.org/files/223/0aa/554/2230aa5547674590b5410071da4bb24a.jpg
[2]: http://habrahabr.ru/post/244541/#habracut

[>] Установка, настройка и тестирование Fedora 21 Workstation на личном или игровом компьютере
habra.14
habrabot(difrex,1) — All
2014-12-12 03:00:03


![][1] 9-го декабря вышла новая Fedora 21 Workstation, которую по совокупности параметров можно назвать «самым свежим и стабильным» Линукс-десктопом. За время использования и тестирования Fedora я проникся к этой платформе глубокой симпатией и хочу поделиться этим теплом и знаниями о ней с вами. В течение года я наблюдал за её работой в качестве рабочего и игрового места в разных ситуациях — от станций с «умирающим» железом до нового игрового ноутбука Asus G750JM с Nvidia Optimus. Собранные заметки получились несколько шершавыми, старающимися охватить одновременно и новичков в Линуксе, и опытных пользователей с разработчиками. Прошу простить. Хочу донести большой объем информации в одной статье: и по общей настройке и установке Федоры, и по технологии Nvidia Optimus на ноутбуках, wi-fi с проприетарными драйверами, о настройке симпатичных шрифтов в Java и IDE от JetBrains, запуску игр в Steam на дискретной видеокарте, о результатах сравнительного тестирования игр, графики и браузеров между Федорой и Windows 8.1, и даже об установлении одного «абсолютного» рекорда. Хочу отметить, что свежие десктопные Линуксы также отличаются качественной поддержкой дисплеев высокого разрешения с хорошей отрисовкой шрифтов и оконных элементов, предоставляют высочайшую степень различных персональных настроек, «хаков» и возможностей оперирования с приложениями. Всё это позволяет не только значительно повысить эффективность своей работы, но и сделать это с комфортом для глаз. [Читать дальше →][2]

[1]: //habrastorage.org/files/7f3/362/b71/7f3362b7109f44f0aa05dda11570b075.png
[2]: http://habrahabr.ru/post/245651/#habracut

[>] Как растаращить class-файл
habra.14
habrabot(difrex,1) — All
2014-12-12 09:00:03


![][1]Обычно при компиляции Java-файла получаются .class-файлы примерно того же размера, что и исходник. Меня заинтересовало, можно ли по небольшому исходнику сделать .class-файл, который больше, сильно больше исходника. Можно поискать какие-то короткие конструкции языка, которые компилируются в длинные цепочки байткода, но линейный прирост меня не устраивал. Я сразу подумал про компиляцию finally-блоков: про неё уже [писали на Хабре][2]. Если вкратце, то для каждого finally-блока при непустом try-блоке создаётся минимум два варианта в байткоде: для случая нормального завершения try-блока и для случая завершения с исключением. В последнем случае исключение сохраняется в новую локальную переменную, выполняется код finally, затем исключение достаётся из локальной переменной и перебрасывается. А что если внутри finally снова разместить try-finally и так далее? Результат превзошёл все ожидания. [Читать дальше →][3]

[1]: //habrastorage.org/files/318/23d/27b/31823d27b8b6404386b1fb2811933e2d.gif
[2]: http://habrahabr.ru/post/212759/
[3]: http://habrahabr.ru/post/245333/#habracut

[>] Макросы в haxe: выполняем код прямо во время компиляции (и это нормально)
habra.14
habrabot(difrex,1) — All
2014-12-12 13:00:04


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

[1]: //habrastorage.org/files/cb0/198/fb8/cb0198fb8c874476b3f46e96c9299943.png
[2]: /post/243199/
[3]: http://habrahabr.ru/post/245617/#habracut

[>] No cON Name CTF 2014 Final
habra.14
habrabot(difrex,1) — All
2014-12-12 14:00:04


С 30 октября по 1 ноября в Барселоне проходила международная конференция по информационной безопасности _No cON Name 2014_, в рамках которой уже второй раз проводился финал соревнований «_Capture The Flag_». Команда университета Иннополис BalalaikaCr3w приняла участие в этом соревновании и заняла первое место. Под катом наш рассказ о том, как это было, несколько примеров заданий и благодарности тем, кто нам в этом помог. ![][1] _CTF-зона во время финала_ [Читать дальше →][2]

[1]: //habrastorage.org/files/bb0/ac7/277/bb0ac727781e4d19a59cd47da365b7db.jpg
[2]: http://habrahabr.ru/post/245011/#habracut

[>] [Из песочницы] Vim FileStyle: проверяем открытый файл на соответствие настройкам Vim
habra.14
habrabot(difrex,1) — All
2014-12-12 16:00:04




### **Зачем это нужно**

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

* Пробелы или табуляция
* Длина строки

Несоблюдение приведенных выше параметров стиля _разными_ людьми в пределах одного файла ведет с следующим проблемам:

* Изрезанность кода
* Необходимость горизонтального скроллинга

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

[1]: //habrastorage.org/files/13e/f9f/7cd/13ef9f7cdac74689991ef6d713ffc100.png
[2]: http://habrahabr.ru/post/245691/#habracut

[>] Перенос ОС Windows на другой компьютер средствами ОС Linux
habra.14
habrabot(difrex,1) — All
2014-12-12 16:00:04


После прочтения статьи [«Фривольное клонирование ОС MS Windows XP / Server 2003 своими руками, средствами GNU/Linux»][1] возникло естественное желание дополнить ее в соответствии с реалиями конца 2014 года. В общем, проблема разворачивания той или иной версии Windows состоит из двух частей — во-первых, нужно скопировать данные разделов с эталонного ПК на новый, и, во-вторых, надо обеспечить загрузку Windows на изменившемся оборудовании.

### MBR и таблица разделов

Начнем с копирования данных. Какие же данные нам нужно скопировать? Для Windows XP это MBR (446 байт в начале диска, основная таблица разделов и завершающая сигнатура 55AAh), данные о расширенных разделах и собственно данные системного раздела Windows. Для Vista и Windows 7 добавляется еще и 100-мегабайтный системный раздел (GPT не рассматриваем). При этом нужно помнить, что первый раздел в Windows XP по-умолчанию начинается с сектора 63, а в Windows Vista/7 — с сектора 2048. Естественно, все операции мы будем проводить на незапущенной Windows, загрузившись с [System Resque CD][2]. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/244893
[2]: http://www.sysresccd.org/SystemRescueCd_Homepage
[3]: http://habrahabr.ru/post/245663/#habracut

[>] От математики к обобщенному программированию
habra.14
habrabot(difrex,1) — All
2014-12-12 19:00:07


Здравствуйте! Всего месяц назад в издательстве Addison-Wesley вышла книга [Александра Степанова][1] — русско-американского учёного в области IT — [«From Mathematics to Generic Programming»][2]. Наверняка многие знакомы с его работой [«Начала программирования»][3], выходившей в 2011 году в «Вильямсе». [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD%D0%BE%D0%B2,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D0%B8%D1%87_(%D1%83%D1%87%D1%91%D0%BD%D1%8B%D0%B9)
[2]: http://www.amazon.com/Mathematics-Generic-Programming-Alexander-Stepanov/dp/0321942043/ref=sr_1_1?s=books&ie=UTF8&qid=1418387078&sr=1-1&keywords=From+Mathematics+to+Generic+Programming&pebp=1418387077905
[3]: http://www.ozon.ru/context/detail/id/6279127/#tab_comments
[4]: http://habrahabr.ru/post/245709/#habracut

[>] WiFi Pineapple Mark V: черный ящик для беспроводного перехвата
habra.14
habrabot(difrex,1) — All
2014-12-12 19:00:07


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

#### Описание устройства

**WiFi Pineapple** — это продукт предприимчивых американцев, которые заказали у китайцев Wi-Fi роутер с двумя беспроводными интерфейсами и одним проводным, написали под него прошивку на базе OpenWRT и напичкали утилитами для взлома\\перехвата и анализа трафика. У устройства 3 сетевых интерфейса (2 беспроводных с возможностью работы в режиме монитора и 1 проводной ), 1 USB порт для флешки\\3-4G модема\\GPS-треккера и слот для microSD карт. Так же на корпусе устройства есть набор тумблеров, сочетание которых позволяет запускать устройство с пакетом заранее присвоенных выбранному сочетанию команд, что сокращает время предварительной настройки, если задача является типовой и регулярной. [Читать дальше →][2]

[1]: //habrastorage.org/files/c71/853/dad/c71853dad0c6412788e940146a86754e.jpg
[2]: http://habrahabr.ru/post/245717/#habracut

[>] [Из песочницы] Concurrency структуры в .net. ConcurrentDictionary изнутри
habra.14
habrabot(difrex,1) — All
2014-12-12 22:30:02


Все началось с одного собеседования, которое и натолкнуло меня к написанию данной статьи. Довольно большая часть разработчиков на платформе .Net не понимает базовые вещи, хотя и использует их повседневно, например lock-ом оборачивают все методы, использующие ConcurrentDictionary, хотя можно было бы обойтись обычным Dictionary<>. В науке существуют 3 основных способа реализации конкурентных структур данных: • Lock-free структуры данных; • Fine-grained блокировка; • Transactional memory implementation(транзакционная память); ConcurrentDictionary<TKey, TValue> — это thread-safe аналог Dictionary<TKey, TValue>. В его основе лежит, так называемый Fine-grained блокировка. [Читать дальше →][1]

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

[>] [Из песочницы] Какой цикл быстрее? Тестируем 1С
habra.14
habrabot(difrex,1) — All
2014-12-12 22:30:02


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

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

[>] Поиск наилучшей последовательности просмотра списка 250 лучших фильмов с помощью языка Wolfram Language (Mathematica)
habra.14
habrabot(difrex,1) — All
2014-12-13 02:30:03






_Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно [здесь][1] (архив, ~76 МБ)._

### Введение

Некоторое время назад, если быть точным — 515 дней, вышел пост Маттиаса Одисио (Matthias Odisio) под названием “[Random and Optimal Mathematica Walks on IMDb’s Top Films][2]” (Случайные и оптимальные блуждания _Mathematica_ по списку 250 лучших фильмов по версии IMDB). В нем рассказывается о том, каким образом можно получить оптимальную последовательность просмотра фильмов из соответствующего [списка][3], основанную на близости жанров фильмов и близости постеров фильмов с точки зрения цвета. [Читать дальше →][4]

[1]: http://goo.gl/YJzAUc
[2]: http://blog.wolfram.com/2013/07/15/random-and-optimal-mathematica-walks-on-imdbs-top-films/
[3]: http://www.imdb.com/chart/top
[4]: http://habrahabr.ru/post/245735/#habracut

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 41