(изменено ) | 329254@habrahabr

H Передача типа map в функцию в черновиках

Go
Недавно проскакивала статья о том, как устроены разные простые типы и слайсы в памяти. Из этой статьи мы узнали, почему переданный «по значению» слайс в функцию является передачей слайса по ссылке только до того момента, пока слайс внутри функции не потребует реаллокацию в памяти при увеличении своего capacity. Если внутри функции capacity этого слайса изменяется, и он был передан «по значению», а не в виде указателя, то слайс начинает ссылаться на совсем другой массив, совсем не тот, который будет дальше использоваться в вызывающей функции.

Такая особенность слайса может порождать «случайные» ошибки логики работы программы на этапе выполнения, если программист не учел это.

У меня возник вопрос, а нет ли похожей ситуации с типом map? Ведь у него тоже есть capacity, и он тоже может менять аллокацию в памяти при росте числа пар значений.


Говорят, что в будущем ИИ станут настолько умнее, что лишат нас работы, потом ресурсов, и люди вымрут. Так ли это? Под катом интересное мнение Кевина Келли. Если у вас все хорошо с английским, то оригинал публикации вы сможете найти тут.
Есть пару умников, которые любят цитировать всех подряд. Они говорят, что некто великий сказал, что каждый попавший в наш Мир не уйдет невинным, дескать, Мир каждого этой невинности неминуемо лишит. Таким я скажу: «Господа, а как на счет того, чтобы подумать дважды?».
(изменено ) | 329114@habrahabr

H Unreal engine 4. Sequencer вместо Matinee в черновиках tutorial

Долгие годы основным инструментом аниматора в Unreal Engine был инструмент Matinee. UE развивается и почти год назад старичок Matinee был объявлен уходящим на покой. Вместо него нам был представлен инструмент Sequencer. Этот инструмент интуитивно понятен, но, к сожалению, в попытках поискать документацию или уроки по анимации в UE4 — вы неизменно будете натыкаться на Matinee. Уроков мало. Спешу принять участие в борьбе с этим недостатком.

В этой статье проведу краткий экскурс в основы (в том числе исторические) Sequencer. А также расскажу о паре моментов, которые почему-то отсутствуют в документации.

Я не буду повторять официальные туторы от Epic Games. С ними вы можете ознакомиться на youtube.

image


Стояла глубокая ночь. Жена с детьми уже давно легли спать, но я о сне даже и не задумывался. Мне обязательно надо было разобраться. Поэтому я в пятисотый раз подправил код и нажал на кнопку «Запустить».

Хм, выглядит многообещающе.

Если нажать сюда, программа должна вызвать функцию «вычислить следующий шаг». Вот так. А если нажать сюда, то функция должна вызвать сама себя. Отлично. А если сюда, то должно получиться… явно не то, что у меня.



Блин.

Новые правки. Новые ошибки. Часы пролетают один за другим.

«Освоить программирование — дело непростое», — подумал я. А потом подумал: «Потому-то мне и нравится».
(изменено ) | 328926@habrahabr

H Установка Arch Linux для самых маленьких в черновиках tutorial


Всем доброго времени суток! В этой статья мы рассмотрим установку Arch Linux на ПК (или виртуальную машину) и его базовую настройку

Все самое интересное — под катом.
Являюсь одним из разработчиков StaffCounter — системы слежения и анализа действий пользователей компьютеров. Система пользуется определённым успехом в корпоративном сегменте, сейчас в эпоху внедрения ИТ-решений в бизнес (типа CRM-систем, таск-менеджеров и так далее) такой продукт востребован на рынке. Опытом внедрения в различные компании и некоторыми частными случаями я и хочу поделиться.
Андрей Аксёнов

Андрей Аксенов ( shodan, Разработчик поискового движка Sphinx)


Про что доклад? Сразу хочу предупредить, что, несмотря на более интересное название в первом слайде, интересно все равно не будет.



И про менеджмент тоже не будет. Т.е. и секция – ложь, и название – ложь, и даже название такое интересное, увлекательное, завлекающее, которое в первом титульном слайде – тоже ложь. На самом деле будет скучно. Готовьтесь.
| 328900@habrahabr

H Драйвер подмены сертификатов в черновиках из песочницы

Вступление


Authenticode (Аутентификация) является форматом цифровой подписи, который используется, чтобы определить издателя и целостность двоичных файлов программного обеспечения. Authenticode основан на стандартах криптографии с открытым ключом (PKCS) и использует X.509 v3 сертификаты, чтобы связать Authenticode-подписанный файл с идентификационными данными издателя программного обеспечения.

Одно важное использование подписей Authenticode – это подпись PE файлов, которые включают .exe, .dll и .sys файлы.

Подпись исполняемых файлов


Создание тестового сертификата


Для нашей работы сначала мы создадим тестовый сертификат с открытым и закрытым ключом. Для этого предварительно необходимо установить Microsoft Windows SDK for Windows 7. Данный пакет содержит два необходимых файла для создания сертификата:

  • Makecert.exe
  • Pvk2pfx.exe

Запускаем командную строку и переходим в директорию с установленным SDK:

  • cd "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\"

Создаем сертификат и файл с закрытым ключом:

  • makecert -sv "Vladimir Ivanov.pvk" -n "cn=Vladimir Ivanov" "Vladimir Ivanov.cer" -b 01/01/2017 -e 01/01/2020 -r

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


В нашем случае рекомендуется не вводить пароль, оставив его пустым. Нажмите кнопку «Отсутствует».
Около полугода прошло с момента завершения акции для пользователей Habrahabr, когда мы раздавали наши виртуальные серверы практически бесплатно, с огромными бонусами к сроку действия услуги. Многие воспользовались, надеюсь не разочаровали, так как отказов почти не было :) Честно, мы и не думали, что будем повторять эту акцию или даже делать её еще лучше, так как бонусов было роздано на сумму свыше $20 000 суммарно, что весьма затратно, при стоимости услуги от $29 / месяц. С другой стороны — мы запаслись немалым количеством очень хороших серверных платформ DELL R730XD, которые доступны в аренду в Нидерландах и США по уникальной цене для Вас также, стоимостью около 9000 евро за платформу с процессорами новейшего поколения, на которых и построили это решение. Потому выбор был прост. Либо мы не понижаем цены и не проводим акцию и позволяем столь дорогостоящему оборудованию простаивать. Либо мы продаем услуги Вам, пусть и по цене ниже себестоимости, но с перспективой заказа в будущем друзьями, знакомыми, а также просто для получения хороших рекомендаций и отзывов от Вас, так как мы любим наших клиентов делать счастливыми.

И сейчас нам вновь нужна Ваша помощь, так как мы запланировали нечто грандиозное — предоставление данных серверов в 9 локациях США, а затем в Англии и в Австралии. Даже если Вам это предложение не интересно — порекомендуйте нас друзьям / знакомым и мы обязательно Вас отблагодарим. Решение VPS (KVM) с выделенными накопителями, действительно, превзошло все ожидания, и не только клиентов, но и наши. Многие клиенты говорят о том, что данные виртуальные серверы реально очень производительны, и не то, что не уступают физическим, но и превосходят их. До сих пор ни единого отрицательного отзыва и отказа по причине неоправданных ожиданий, а это говорит о многом!