Команда связей с сообществом Rust рада сообщить о первом ежегодном соревновании Underhanded Rust. Это соревнование должно проверить наше предположение о готовности языка Rust и его экосистемы к написанию легко читаемого и надежного кода. Воодушевившись примерами Underhanded C и Underhanded Crypto, мы хотим, чтобы вы заставили Rust работать неправильно, используя лёгкий для чтения код, к которому сложно придраться. Нам нужна ваша помощь в поиске брешей в языке и способов их исправления. Сможете ли вы написать стопроцентно безопасный код, скрывающий логическую ошибку, или так спрятать эксплойт в unsafe коде, чтобы он прошел аудит? Попробуйте это сделать!
Рубрика «Программирование» - 619
Соревнование Underhanded Rust 2016
2016-12-21 в 10:44, admin, рубрики: 1 похожа на l, Rust, underhanded, баги, взлом, информационная безопасность, код ревью, ненормальное программирование, Программирование, системное программирование, хакерыПрограммирование SPI Flash с помощью Arduino и SD-карты
2016-12-21 в 9:14, admin, рубрики: arduino, SPI Flash, микроконтроллер, Программирование, программирование микроконтроллеровПредыстория
Во время очередной уборки был случайно выключен удлинитель, к которому были подключены работающие системный блок и монитор. Системный блок состоит из:
- материнская плата — ASRock B75 Pro 3
- процессор — Intel Core i5-3570
- блок питания — Corsair CX750M
После включения системник начал издавать пять противных писков, что вроде как соответствует неисправности процессора. Процессор, судя по Яндекс.Маркету, на данный момент стоит от 11000 руб. Покупать довольно накладно, а недорогой, но слабенький не хочется. В общем, немного испугался…
Порылся в интернете, выяснил, что точная причина неисправности может быть совсем другая. Это вселило небольшую надежду. Но надо как-то найти эту самую причину.
В первую очередь подключил другой старенький БП — комп не запускается.
Для дальнейших проверок принес домой автомобильный комп. Состав:
- материнская плата — ASRock B75M-ITX
- процессор — Intel Pentium G640T
Как хорошо, что компоненты оказались взаимозаменяемыми.
Вытащил из автомобильного компа процессор, вставил его в домашний — комп не запускается. Но появилась надежда, что процессор все таки цел, а неисправна материнка, которая дешевле (хотя новые на чипсетах не H61 и H67 — дефицит).
Далее домашний процессор вставил в автомобильный комп — комп заработал. Следовательно, процессор живой, а проблема в материнке. Начал грешить на BIOS (Winbond 25Q64BVAIG).
Читать полностью »
Архитектура ассемблера Go
2016-12-21 в 9:07, admin, рубрики: asm, C, compiler, Go, gophercon, ассемблер, Блог компании Badoo, Компиляторы, Программирование
Привет! Меня зовут Марко Кевац, я системный программист Badoo в команде «Платформа», и я очень люблю Go. Если сложить эти две вещи, то вы поймёте, насколько я люблю ассемблер в Go.
Совсем недавно мы рассказывали на Хабре о том, на каких конференциях побывали. Одной из них была GopherCon 2016, где практически всем запомнился доклад Роба «Командира» Пайка про Go-шный ассемблер. Представляю вам перевод его доклада, оформленный в виде статьи. Я постарался дать в тексте как можно больше ссылок на релевантные статьи в «Википедии».
Читать полностью »
Итоги GeekWeek 2016 и возвращение ужасного БАГа: зима вместе с GeekBrains
2016-12-20 в 18:22, admin, рубрики: geekbrains, mail.ru, Блог компании GeekBrains, Блог компании Mail.Ru Group, курсы по программированию, обучение программированию, Программирование, программирование с нуля
14-19 ноября образовательный портал GeekBrains совместно с Mail.Ru Group провёл онлайн-конференцию GeekWeek 2016 для начинающих и опытных IT-специалистов. Для тех, кто не в курсе, IT-сфера является одним из наиболее динамично развивающихся направлений в экономиках большинства стран мира. Для постоянного развития требуется много ресурсов. А главный ресурс — человек.
Именно по этой причине каждый год проводится онлайн-конференция GeekWeek 2016. Главная цель — не просто заинтересовать сферой информационных технологий, но и обеспечить практическими навыками, необходимыми для успешного начала карьеры.
Читать полностью »
Марк Цукерберг рассказал о своем AI-помощнике Jarvis
2016-12-20 в 18:00, admin, рубрики: alexa, amazon, Facebook, JARVIS, php, python, Джарвис, ИИ, искусственный интеллект, код, Программирование, умный дом, Цукерберг
Вчера Марк Цукерберг рассказал об итогах своего личного проекта, который он запланировал для себя на 2016 год. Целью основателя Facebook было создание функционального AI-помощника с голосовым управлением по аналогии с системой из комиксов и фильмов Marvel о «Железном Человеке».
Разработка Цукерберга носит то же имя, что и система из комиксов — Jarvis. При этом Марк отмечает, что создание подобной системы оказалось даже проще, чем он ожидал.
Читать полностью »
Подборка фреймворков для машинного обучения
2016-12-20 в 7:27, admin, рубрики: machine learning, Parallels, parallels desktop, Блог компании Parallels, виртуализация, машинное обучение, Программирование, Разработка робототехники, рунет, технологии
В последние годы машинное обучение превратилось в мейнстрим небывалой силы. Эта тенденция подпитывается не только дешевизной облачных сред, но и доступностью мощнейших видеокарт, применяемых для подобных вычислений, — появилась ещё и масса фреймворков для машинного обучения. Почти все из них open source, но куда важнее то, что эти фреймворки проектируются таким образом, чтобы абстрагироваться от самых трудных частей машинного обучения, делая эти технологии более доступными широкому классу разработчиков. Под катом представлена подборка фреймворков для машинного обучения, как недавно созданных, так переработанных в уходящем году. Если у вас все хорошо с английским, то статья в оригинале доступна здесь.Читать полностью »
Что случается, когда программист занимается подбором автомобилей
2016-12-20 в 6:09, admin, рубрики: diy или сделай сам, web-интерфейсы, автомобили, автомобиль мечты, Автомобильные гаджеты, букмарклеты, Лайфхаки для гиков, оптимизация, подбор автомобилей, Программирование, скрипты, метки: web-интерфейсыОткрыли мы с другом компанию по подбору автомобилей с пробегом. Если никогда не слышали о таком — мы помогаем людям не купить «ведро». Увы, в Москве большинство машин, предлагаемых на вторичном рынке, заслуживают именно такой оценки.
Чтобы найти достойный экземпляр приходится обработать иногда за сотню объявлений. Происходит это примерно так: смотрим фотографии, описание, отмечаем какие-то нюансы, после чего звоним продавцу и задаём более двадцати вопросов. Далее уже решаем, стоит ли смотреть машину вживую.
Lock-free структуры данных. Iterable list
2016-12-20 в 6:01, admin, рубрики: c++, iterator, libcds, lock-free, map, Алгоритмы, параллельное программирование, Программирование
Lock-free list является основой многих интересных структур данных, — простейшего hash map, где lock-free list используется как список коллизий, split-ordered list, построенный целиком на списке с оригинальным алгоритмом расщепления bucket'а, многоуровневого skip list, являющегося по сути иерархическим списком списков. В предыдущей статье мы убедились, что можно придать такую внутреннюю структуру конкурентному контейнеру, чтобы он поддерживал thread-safe итераторы в динамичном мире lock-free контейнеров. Как мы выяснили, основным условием для того, чтобы lock-free контейнер стал итерабельным, является стабильность внутренней структуры: ноды не должны физически удаляться (delete). В этом случае итератор суть просто (быть может, составной) указатель на ноду с возможностью перехода к следующей (оператор инкремента).
Можно ли такой подход распространить на lock-free list?.. Посмотрим…
Читать полностью »
Оптимизация одного запроса с GROUP BY в PostgreSQL
2016-12-20 в 3:11, admin, рубрики: gist, group by, postgresql, sql, высокая производительность, индексы, оптимизация запросов, Программирование
Сразу скажу, что в этой статье нет универсального совета на все случаи, а рассмотрен случай оптимизации лишь небольшого класса запросов. Тем не менее такие запросы могут встречаться во многих проектах.


