
TL;DR: мы реализовали GDB сервер для ESP8266, который позволяет просматривать стек вызовов и осуществлять ограниченную отладку.
Читать полностью »

TL;DR: мы реализовали GDB сервер для ESP8266, который позволяет просматривать стек вызовов и осуществлять ограниченную отладку.
Читать полностью »

Сегодня быть разработчиком программного обеспечения просто замечательно. Отрасль бумирует, спрос на разработчиков продолжает расти, а зарплаты неустанно покоряют новые вершины.
Однако как долго продлится этот праздник жизни? Ответ под катом!Читать полностью »
По условиям конкурса Underhanded C, исходный код программы должен быть читаемым, ясным, простым и совершенно невинным для постороннего взгляда. При этом программа выполняет некую вредоносную функцию, которая совершенно не очевидна при изучении исходного кода.
В этом году конкурсное задание основано на реальной проблеме контроля за ядерными вооружениями. Задание составлено совместно с некоммерческой организацией Nuclear Threat Initiative, которая борется с ядерным, химическим и биологическим оружием, отслеживая состояние ядерных программ во всех странах мира.
По правилам, программа должна обработать исходные данные и подделать результат обработки. Приз за победу — $1000.
Читать полностью »
Oracle в ближайшее время намерена продолжить судебное разбирательство с Google по поводу «добросовестного использования» исходного кода операционной системы Android. 22 июля этого года компания направила в окружной суд Сан-Франциско письмо, где идёт речь о том, что за пять лет, которые прошли с момента первоначального иска к поисковому гиганту, ситуация коренным образом изменилась, Android получила тотальное превосходство, пришла на телевизионные приставки, появилась в часах и даже в автомобилях. Тем самым Google продолжает нарушать авторские права Oracle на исходный код Java во всё более увеличивающихся масштабах.
Читать полностью »

Github выпустил обновленную версию Github Desktop — программы под Windows 7+ и OS X, которая дублирует функциональность сайта github.com, но при этом работает локально на компьютере разработчика.
Github Desktop упрощает многие действия в рабочем процессе и заменяет Github for Mac и Github for Windows на новый унифицированный интерфейс.
Читать полностью »

Осенью Академический университет и Computer Science Center запускают годовую образовательную программу по основам программирования (code.stepic.org). Программа запускается на платформе онлайн-обучения Stepic. При успешном завершении программы студентам будет выдан диплом о профессиональной переподготовке от Академического университета.
Сложно перечислить все трудности, встающие перед разработчиками при реализации своих идей — от неожиданных проблем железной совместимости, поджимающих сроков, невоспроизводимых багов, до просто недостатков технологии, не позволяющих воссоздать всё желаемое, или слишком больших амбиций. Почитав ряд post mortem-откровений, где девелоперы сетовали на неожиданные препоны, встававшие у них на пути, — можно только даваться диву, что конечный продукт был интересен и играбелен, хоть и не вмещал в себя и половины задуманного. Но в этой статье пойдёт речь о некоторых ярких примерах из истории разработки известных игр, в которых программисты сумели превозмочь трудности и сделали это неординарным способом.

Мы часто говорим кому-то фразы наподобие «Мне нужно всего лишь несколько часов, чтобы это сделать/реализовать/внедрить». Но спустя какое-то время после окончания работ вдруг осознаём, что нам приходится регулярно исправлять баги и ошибки, объяснять устройство и алгоритм работы другим инженерам и разработчикам, или помогать отвечать на вопросы клиентов. И получается, что объём времени, затраченного на поддержку вашего детища, многократно превышает те несколько часов, что ушли на его создание.
В разработке ПО одним из самых трудно усваиваемых правил является то, что с увеличением сложности продукта растут и скрытые издержки. Иногда сложность является лишь следствием каких-то иных проблем. Очень непросто найти баланс между «продающими» и «нагрузочными» свойствами продукта, особенно в свете определения его стоимости и регулирования спроса и предложения. Столь же трудно заниматься поддержкой качества продукта и расширять круг потребителей. Или, скажем, разработать текстовый редактор с богатыми возможностями, одинаково быстро и устойчиво работающий на всех устройствах и поддерживающий совместную работу над документами в реальном времени. Иными словами, зачастую приходится усложнять продукт, чтобы он стал успешным на рынке.
Читать полностью »
В наше время обучаемые нейросети творят удивительные вещи, но эксперименты в этой области продолжают открывать нечто новое. Например, программист Даниэль Джонсон (Daniel Johnson) опубликовал результаты своих экспериментов по применению нейросетей для генерации классической музыки.
К сожалению, на GT нельзя встроить аудиофайл, поэтому приходится давать прямую ссылку, чтобы послушать один из результатов: http://hexahedria.com/files/nnet_music_2.mp3.
Как у него это получилось?
Читать полностью »
Находчивый программист Хантер Скотт написал бота, который автоматически принимает участие в рекламных играх, где нужно опубликовать сообщение с хештегом рекламодателя. Таких игр в твиттере проводится огромное количество, поэтому бот собрал неплохой урожай призов.

Программа представляет собой скрипт на Python, который логинился, искал твиты с сообщениями вроде “retweet to win!”, а затем ретвитил их.
Бот работал непрерывно в течение девяти месяцев и выигрывал в среднем четыре приза в день. «Я не уверен, проделывал ли кто-нибудь подобное, но не видел никаких свидетельств ботов, работающих так же. Зато видел реальных людей, которые вручную проделывали такую работу, ретвитя сотни конкурсов за несколько часов», — пишет Хантер в своем блоге.
Читать полностью »