Pull to refresh
112
Karma
0
Rating
Alexander @loginsin

User

Мигать лампочками не модно или дампер картриджей dendy на недорогой atmega

Она, однако, на 3.3В, поэтому ещё шифтеры надо будет ставить. Консоль работает на 5В.

Мигать лампочками не модно или дампер картриджей dendy на недорогой atmega

Схему, каюсь, не нарисовал, только разводка платы. Да, вы правы, можно было бы и SPI использовать, но каскада из 595 там два, и второй пришлось бы либо вешать туда же, регулируя /OE каждого каскада отдельными ногами, либо заполнять вручную.

А вот 165-й, похоже, можно туда подключить (он один). Спасибо за идею!

Отправляем SMS-сообщение на телефон с помощью R

Мы же же всё ещё про автоматизацию? Простые консольные скрипты могут справиться с вызовом одной внешней команды значительно лучше (в контексте данной задачи), чем любой другой ЯП. Эта статья не показывает преимущества R, какие-то его особенности или что-либо ещё. Вся суть сводится к тому, чтобы скачать непонятный бинарник и в <any language> его запустить с некоторыми параметрами. Уровень студента первого курса, а не хабра.

По второму пункту. Когда аналогов нет - то и вопросов нет. Но лучше использовать некую обёртку-интерфейс, а не прямой вызов команды.

PS: Вдруг пригодится: https://stackoverflow.com/questions/23412265/how-do-you-send-email-from-r

Отправляем SMS-сообщение на телефон с помощью R

Назавание темы все-же не совсем корректное

Скорее: ставим какой-то софт и через system() его вызываем. Тут R не нужен, тут и cmd.exe (windows) или простейший sh (*nix) справятся. И вообще использовать system() в любом ЯП - плохая (ОЧЕНЬ плохая) практика.

Классика: скачаем всякое, напишем 5 строчек уровня hello world и статья с громким заголовком на хабр готова.

Настройка маршрутизации в сети с неподконтрольным роутером

F660 не смог я в бридж занастроить. А с впн (и внутрь, и наружу, и GRE, и разные другие всякие) и SIP - проблем нет: весь трафик, включая ARP транслируется прям как есть в порт сетевой карты (ну IP свапается с публичного во внутренний).

SFP вызовет куда больше плясок с бубнами и финансами, чем установка галочки в админке.

Настройка маршрутизации в сети с неподконтрольным роутером

DMZ там нормально работает. Можно отключить все wifi, dhcp и что там еще есть, назначить DMZ на конкретный внутренний (по отношению к mgts роутеру) ip, и этот ip выдать своему x86 серверу. Схема прекрасно работает уже кучу лет.

#define CPP WTF

Ждал комментария:

#define true false

Но не увидел. Пришлось написать самому.

Производная как смысл жизни или что такое дифференциал(d)

Последняя формула вызывает большие сомнения. Если функция в точке x0 непрерывная и гладкая, то этот предел равен строго нулю.

PS: Не совсем понял, зачем писать свою вольную интерпретацию производной, которая достаточно строго и весьма внятно описана в школьных учебниках. Хабр молодеет?

Дорожная карта по изучению C++

Абстракционизм, паттерны и всякое такое. В плюсах это делается чуть дешевле, но за счёт б0льшего количества "плюшек" выглядит дороже. Нужно (хотя бы вкратце) ознакомиться с историей языка, чтобы понять цель введения той или иной возможности.

Дорожная карта по изучению C++

ачевсмысле? Прекрасно все делается. Идёшь в github и ищешь c++ winapi. Находишь много разных вариантов фреймворков - на любой вкус и цвет. Другой вопрос, что мало желающих лезть в winapi, оттого в этой теме разброд и шатания.

Банки ультимативно лезут к нам в ш̶т̶а̶н̶ы̶ личную жизнь

Я тоже так думал, когда у меня была карта одного из банков средней величины. Так вот, они ввели условие: нет движения по счёту? Вводится комиссия в размере около 5к в год. Знаете, как об этом узнал? Спустя 2-3 года на почту письмо пришло, что срок действия карты заканчивается, а внизу мелким шрифтом было написано, что если я хочу закрыть счёт, то должен закрыть небольшой должок перед банком.

Банки ультимативно лезут к нам в ш̶т̶а̶н̶ы̶ личную жизнь

Не забудьте и счет закрыть, а то попадёте на комиссию за непользование счётом. «Ну а то, что не видели — так сами отказались приложение ставить», — скажут вам.

В сборке 21318 Windows 10 буфер обмена получил инструмент управления

Так ведь всегда был Clipboard Viewer или как там его.

CRTP: Пример на паттерне «Мост»

 parseFile(ParserInterface<Impl> parser)

что-то тут не так. Или специально сделано не константной ссылкой?

Как написать игру на C++

Какого выбора и зачем?
Кроссплатформенность это дополнительная сложность.

Действительно. Столько всего разного вокруг и так все сложно. Виндовс, линуксов целый зоопарк, макоси. Еще и для смартфонов целый пакован осей напридумывали. Буду прогать под венду, а остальные пусть мучаются — сами виноваты.

Знаете, вы правы.

Ну и славно. :-)

Как написать игру на C++

Вот вы вроде бы много гневных слов написали о моем коде, но она вся неконструктивная. Ну, может быть магические константы еще можно вынести, а по остальным пунктам никакой конкретики.

Про логические ошибки выше вам написали (бесконечные циклы с загрузкой процессора в top, неверное применение системной функции и т.д.). К чему мне повторяться?
Нечитаемость очевидна. Мало того, что простыня кода, так еще и скриншотами оформленная.

Вы действительно хотите от каждой статьи о C++ разжевывания всех концепций с начала до конца?

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

Что конкретно дает кроссплатформенность студентам, изучающим основы программирования?


Возможность выбора. Очевидно же.

Как написать игру на C++

Вопрос в том, почему не применил ООП?
Потому что статья рассчитана на тех кто только-только освоил синтаксис уровня C. Читай: школьников и студентов. Более продвинутые читатели сами придумают абстракции, в которые это все можно обернуть.

Тогда не нужно писать про C++, потому что его идея именно в абстракциях.

Что конкретно не так с тем, что код примитивный?

Ну хотя бы с остальными аргументами согласны. И, да, такой код можно показать только с целью как не надо делать. Способ обучения на чужих ошибках — тоже вполне себе способ.

Какой? Много вы людей со своим подходом обучили?

Нет никакого «моего» способа. И штамп «сперва добейся» здесь не работает.
Если вы чему-то хотите научить (и тем более C++), то нужно сперва показать основы абстракций, как из них составлять логические цепочки, получая в конце концов единое целое, в котором, тем не менее, можно заменить любой компонент без ущерба целостности. И, что немаловажно, код должен быть понятным и читаемым.

Что конкретно дает кроссплатформенность студентам, изучающим основы программирования?

Вы, должно быть, шутите? А если не шутите, то, выражаю надежду, что вы пересмотрите свои взгляды.

Как написать игру на C++

ООП подход весьма существенно отличается от процедурного. У вас как раз процедурный, так что вопрос тот же: а причем тут C++?
Код примитивный с "магическими" константами, с логическими ошибками, абсолютно ненаглядный и, более того, прибит гвоздями к конкретной платформе. Думаю, что для обучения должен быть иной подход.
Про скриншоты IDE ("защита" от копипасты кода?) уже намек дали.
Статья уровня местного форума или локального бложика, но никак не для хабра.

Яндекс отключил расширения с аудиторией в 8 млн пользователей. Объясняем, почему мы пошли на такой шаг

Про «модифицировало код» — утомишься от таких сообщений при установленном adblock и Co.

Windows: достучаться до железа

Этот момент (с перебором и отображением хендлов в свой процесс), как раз, не очень сложный. А вот решения проблемы, если среди этих всех хендлов проскочит блокирующий pipe, в user-mode не существует. При попытке получить его символическое имя (в user-mode) поток заблокируется в ожидании данных в этом pipe и сбросить его не получится даже через TerminateThread. Ну а процесс останется висеть до ближайшей перезагрузки. Поэтому различные UnBlock, ProcessHacker и, да, ProcessExplorer, используют драйвер уровня ядра, где получают имя через ObQueryNameString (пример).

У SystemObjectInformation другой недостаток: должен быть включен глобальный FLG_ENABLE_HANDLE_TYPE_TAGGING, и тогда можно будет из тегов вытянуть имя файла (так работает, к примеру, openfiles.exe).

В целом соглашусь, что без уровня ядра найти референсы на драйвер изящным способом невозможно. А вот в Linux, кстати, можно даже в командной строке обычным поиском в /proc/{pid}/fd/

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity