Search
Write a publication
Pull to refresh
196
0.1
Андрей Дмитриев @AndreyDmitriev

Пользователь

Send message

Магия Ctrl-C Ctrl-V, или как перестать сохранять картинки и начать жить

Reading time9 min
Views41K
image

Одна из немногих стандартных утилит Windows, которой я пользуюсь практически каждый день — это snippingtool, или, попросту говоря, «Ножницы». Свою задачу она выполняет на ура (впрочем, многого от неё я и не требую), а из прочих полезностей можно отметить вставку выделенного региона напрямую в Skype, без необходимости сохранять изображение в файл — достаточно всего лишь нажать Ctrl-V в окне ввода сообщений. Приятно, что название файла в таком случае будет состоять из даты и времени вместо, например, хеша.

Несмотря на то, что в самом Snipping Tool имеется возможность обводить определённые части изображения, порой этого недостаточно:

  • Во-первых, «Ножницы» не умеют обрабатывать комбинацию клавиш Ctrl-Z, т.е. сделать в них Undo не получится, в связи с чем одна-единственная ошибка в редактировании может заставить начать всё с начала
  • Во-вторых, обводить изображение можно только при помощи Pen'а и Highlighter'а, что не очень удобно, когда надо, например, указать на прямоугольную область

Именно по этим причинам я зачастую обращаюсь к mspaint. А вот у него есть обратный недостаток — вставить изображение напрямую из буфера обмена в Skype уже не получится.

В чём же причина такого поведения? Можно ли его исправить? Давайте разберёмся.

Как протекал процесс, и что из этого вышло, читайте под катом.
Читать дальше →

Как вырастить айтишника

Reading time4 min
Views28K


Как недавно признался Цукерберг, «я никогда не стал бы программистом, если бы не играл ребёнком в компьютерные игры». Не станем утверждать, что путь к успеху в IT лежит через геймерство. Но всё же без тесного знакомства с самыми разными программами и гаджетами программисту не обойтись. И в наши дни знакомство это начинается с достаточно раннего детства. Информационные технологии уже давно проникли в нашу жизнь. Современные программисты, в детстве игравшие на приставках и компьютерах, зачастую сталкивались с непониманием родителей, в чьей молодости не было подобных вещей. Зато теперь эти самые программеры сами обзавелись детьми и гораздо лучше понимают их увлечения. Зачастую даже становятся этакими наставниками по хайтек-развлечениями, обучая детей премудростям комбо-ударов, постройки юнитов и частой отправки врагов на респаун. Как волки обучают волчат азам охоты. И нам стало любопытно, во что же программисты сегодня могут поиграть со своими детьми? И не просто поиграть, а с пользой для молодого ума.
Читать дальше →

«Прокачиваем» notepad.exe

Reading time8 min
Views46K
image

Какая ассоциация связана у Вас с клавишей F5? Обновление страницы в браузере? Копирование файла из одной директории в другую? Запуск приложения из Visual Studio? А вот авторы notepad.exe подошли к этому вопросу довольно оригинально — по нажатию клавиши F5 происходит добавление текущей даты и времени в место, куда в этот момент указывает курсор. Всё было бы круто, если бы в notepad.exe была такая популярная и вполне естественная для большинства текстовых редакторов фича, как перечитывание содержимого текущего файла, которая, казалось бы, и должна быть назначена на F5 / Ctrl-R или ещё какой-нибудь общепринятый хоткей.

Мы можем ждать, пока её реализуют Microsoft, выбрать другой текстовый редактор (ведь это не единственное ограничение по функционалу стандартного notepad.exe) или… Взять в руки дизассемблер, отладчик и редактор PE-файлов.

Как протекал процесс, и что из этого вышло, читайте под катом (осторожно, много скриншотов). Перед прочтением данной статьи также настоятельно рекомендую ознакомиться с предыдущими.
Читать дальше →

Гроза, молния и средства защиты электросети своими силами

Reading time8 min
Views175K
По итогам майских гроз пришлось провести ревизию сгоревшего оборудования и хотя ущерб был не так велик материально, но выход из строя некоторого оборудования нарушил устоявшийся комфорт проживания в собственном доме. Так я решил обратиться к специалистам в своей области, проконсультироваться и расширить систему защиты.

Исходные данные: дом, 3 фазы (15 кВт на дом), заземление штырем в 3 м длиной, автономная электросистема на базе солнечных батарей



Читать дальше →

Регистраторам могут запретить приватный WHOIS

Reading time1 min
Views10K


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

Согласно новым рекомендациям, предложенным MarkMonitor и другими организациями, которые представляют те же силы, что поддерживали SOPA, владельцы доменов ассоциированных с «коммерческой активностью» больше не смогут защищать свои приватные данные с помощью служб сокрытия WHOIS. «Коммерческая активность» — понятие крайне широкое, а это значит, что будет затронуто огромное количество владельцев доменов. Служба, предоставляющая Вам услуги приватного WHOIS («провайдер приватности») может быть вынужден опубликовать ваши контактные данные из WHOIS или передать их любому лицу, жалующемуся на Ваш сайт, минуя надлежащие правовые процедуры. Почему владелец небольшого бизнеса должна публиковать свой домашний адрес только ради того, чтоб завести сайт?
Читать дальше →

Сравнение производительности языков на примере простейшего классификатора

Reading time10 min
Views33K
Доброго времени суток, хабр!


Моим основным ЯП является D. Всегда понимал, что он будет проигрывать C++ из-за сборщика, каких-то высокоуровневых плюшек и т.д. Но никогда не доходили руки проверить насколько. Решил написать простенький классификатор (даже не помню метод как называется) и проверить. Результат меня приятно удивил: версия C++ отработала за 5.47 сек, версия D — за 5.55 сек. «0.08 сек при обработке файла в 74Мб это не так уж и много» — подумал я. Но, на всякий случай, решил попробовать собрать код на D с помощью gdc (dmd как frontend, gnu backend) и тут уже в душу закрались сомнения, что я всё сделал правильно: код отработал за 4.01 сек, что более чем на 20% быстрее версии на С++. Решил собрать с помощью ldc2 (dmd frontend, llvm backend): 2.92(!!) сек. Тут я решил разобраться.
Читать дальше →

T.E.E.T.H. на основе Intel Edison найдёт способ замотивировать вас почистить зубы и отправит отчет в облако

Reading time10 min
Views10K
Как было бы здорово, чтобы кто-то или что-то помогало нам заниматься ежедневными, ну, может не особенно развлекательными, но важными занятиями. Такими как чистка зубов. Например, такое устройство, чтобы подбадривало нас, помогало следить за нашими успехами и было очень просто в использовании.

Вот скажите, всегда ли вы чистите зубы положенные 2 минуты?



В этом DIY-проекте мы переделаем обычную, купленную в магазине подставку для зубных щёток в современную бытовую технику интернета вещей.
Читать дальше →

Избавляемся от «исторических причин» в cmd.exe

Reading time5 min
Views47K
image

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

В качестве примера одной из таких вещей можно назвать cmd.exe. Да-да, это тот самый интерпретатор командной строки, входящий в поставку всех современных (и не очень) операционных систем семейства Windows. Исторических причин у него накопилось изрядное количество — достаточно вспомнить хотя бы то, как необходимо производить вставку и копирование в данный интерпретатор (ради справедливости стоит сказать, что в Windows 10 эту ситуацию наконец исправили, да и приложения наподобие ConEmu здорово в этом помогают). Но речь сегодня пойдёт о другом поведении, которое заствляет задуматься впервые столкнувшегося с cmd.exe человека, казалось бы, там, где этого совсем не требуется.

Как вы знаете, одной из команд, которые воспринимает cmd.exe, является «CD». Официальный хелп по этой команде сообщает следующее:

C:\Users\Nikita.Trophimov>CD /?
Displays the name of or changes the current directory.
[...]

Казалось бы, всё просто. Вызываешь CD без аргумента — в stdout выводится путь до текущей директории, передаёшь другую директорию в качестве аргумента — он сменяет текущую директорию на указанную. Подводные камни тут начинаются в том случае, если пользователь решил сменить директорию одновременно вместе с диском. Например, если вы находитесь в директории «C:\Windows\system32», то команда «CD D:\books» не сделает ровным счётом ничего. На мой взгляд, очевидного для новых пользователей в этом совершенно ничего нет, так что их спасает гугл или официальная документация, которая, кстати, сообщает:

Use the /D switch to change current drive in addition to changing current
directory for a drive.

Разумеется, этот вопрос, равно как и причины возникновения подобного поведения, уже не раз обсуждался в интернете (например, тут), так что останавливаться на подобных вещах мы не будем. Вместо этого мы попробуем отладить cmd.exe, чтобы убрать необходимость явного указания ключа "/D".

Как протекал процесс, и что из этого вышло, читайте под катом.
Читать дальше →

Исправляем Alt-Tab в LabView

Reading time4 min
Views8K
Когда пишешь программу в среде LabView, в определенный момент её становится слишком много для того, чтобы уместиться в один экран. «Правила хорошего тона» LabView говорят о том, что в таких случаях надо разбивать один vi файл на несколько subvi файлов. Со временем таких subvi становится очень много. Однако об удобной навигации ребята из NI как-то не позаботились.

Мало того, что LabView сдвигает все свои окна в начало Alt-Tab списка (больше так не делает никто: en.wikipedia.org/wiki/Alt-Tab), так еще, несмотря на активно используемую возможность переопределять иконки для vi файлов, в списке Alt-Tab вместо них – стройные ряды из логотипов LabView:

image

Некоторых такое поведение подталкивает к покупке второго монитора. Для них в значительной степени проблема этим и решается. Еще частично помогает интерфейс Windows Aero с его миниатюрами в меню Alt-Tab. Но вроде бы лежащее на поверхности решение – (а) сделать переключение такое же, как во всех остальных приложениях, и (б) выводить в списке иконки vi – стандартными средствами недостижимо.

Судя по тому, что началось это едва ли не с самой первой версии, а соответствующая «идея по улучшению» пылится на «форуме по обмену идеями» с 2010 года forums.ni.com/t5/LabVIEW-Idea-Exchange/Make-Alt-Tab-behaviour-consistent-with-other-applications/idi-p/1162219, просить об этом National Instruments бесполезно. Однако кое-что сделать всё-таки можно.
Читать дальше →

Электроника для самых начинающих

Reading time6 min
Views71K
Стараюсь читать все статьи на Хабре по электронике для начинающих, DIY, Arduino. И вот только что прочитал статью «Ардуино. 6 шагов». Под впечатлением решил попробовать закинуть свои 5 копеек.

Основная деятельность напрямую не связана с электроникой. Она, как и программирование, всегда были лишь хобби. Семь лет назад я стал папой и вот пришло время научить сына, заодно попутно вспомнить всё, ну и научиться самому.
Читать дальше →

Олимпиада по программированию в LabVIEW. Решение команды-победительницы

Reading time8 min
Views16K
Компьютерные игры про танки являются одними из самых популярных в game-индустрии. История подобных игр насчитывает десятки лет, но популярность их не угасает. Тема танков и танковых сражений получает развитие не только в компьютерных играх, но и является предметом соревновательного процесса в программировании. Например, в 2012 году проходили соревнования по программированию Russian AI Cup — CodeTanks. Участникам предлагалось разработать искусственный интеллект управления танком. Спустя несколько лет подобное соревнование повторилось. Организатором выступила компания National Instruments, которая ежегодно проводит олимпиады по программированию в среде LabVIEW среди студентов и молодых ученых. Участникам олимпиады 2015 года предлагалось разработать алгоритм для автономного управления танком средствами LabVIEW (представление об этой среде программирования можете получить по ссылке: «LabVIEW — первое знакомство»). Данная статья посвящена описанию алгоритма танка-победителя от команды LabVIEWPortal.
Читать дальше →

Как быстро раздать wifi с ноутбука — 3 простых команды

Reading time2 min
Views728K
Периодически я сталкиваюсь с ситуациями, когда необходимо быстро настроить раздачу интернета через WiFi со своего ноутбука и под рукой нет специальной программы. Вот и сейчас мой роутер приказал долго жить и оставил дом без интернета. А не так давно телефон друга отказался подключаться к моему роутеру и мы быстро организовали дополнительный wifi-сигнал с моего ноута, что спасло ситуацию.

И помогают мне в этом 3 команды:
netsh wlan set hostednetwork mode=allow
netsh wlan set hostednetwork mode=allow ssid=FastWifi key=12345678 keyUsage=persistent
netsh wlan start hostednetwork

Под катом я детально расскажу как и что нужно делать и покажу на примере настройки Windows 7.

Читать дальше →

Выход в космос №23: покоряя новый рубеж

Reading time6 min
Views29K
Лука Пармитано

Итальянский астронавт Европейского космического агентства Лука Пармитано, рассказывает о своих ощущениях и переживаниях во время выхода в космос номер 23.
Читать дальше →

НЕ Arduino за 55 центов

Reading time3 min
Views104K


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →

Индивидуальный инвестиционный счет (ИИС) выгодней банковского депозита

Reading time6 min
Views27K


Сегодня я хочу рассказать в деталях об индивидуальном инвестиционном счете (ИИС). Лично я очень долго ждал этого финансового инструмента, так как слухи ходили уже давно, что государство будет поощрять долгосрочных инвесторов, путем налоговых вычетов. Учитывая, что я не сторонник депозитов, так как считаю, что деньги должны работать на вас, а не пролеживать в банке и работать на него в виде выданных кредитов. К тому же бывают ситуации, когда наиболее безопасней держать свои честно заработанные деньги именно в активах, например, в конце декабря 2014 года, у меня было четкое понимание, что ожидаемая инфляция из-за девальвации рубля, лучше всего будет пересиживаться в активах. Потом высокие депозитные ставки – явление временное и когда они понизятся, то у большинства возникнет логическая потребность во вложении своих средств на более выгодных условиях. Я уверен, что работа с индивидуальным инвестиционным счетом (ИИС), как раз отлично решает вопрос доходности выше банковского депозита и при этом риски почти те же самые. Но обо все давайте по порядку.
Читать дальше →

Транзисторный усилитель класса А своими руками

Reading time6 min
Views265K


На Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.

В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.

Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
Читать дальше →

OLED часы на arduino

Reading time7 min
Views125K
На днях я решил создать часы на arduino с отображением времени, текущей даты, дня недели и температуры воздуха на OLED дисплее. Что из этого получилось смотрите на видео.


Читать дальше →

Регулируемый источник питания из БП ATX на TL494. Часть 1 — железо

Reading time10 min
Views420K
Всем привет!

Сегодня хотел бы рассказать Вам о своём опыте переделки самого обычного китайского БП ATX в регулируемый источник питания со стабилизацией тока и напряжения(0-20А, 0-24В).

В этой статье мы подробно рассмотрим работу ШИМ контроллера TL494, обратной связи и пробежимся по модернизации схемы БП и разработке самодельной платы усилителей ошибок по напряжению и току.

image
Читать дальше →

Что нам готовит C# 7 (Часть 2. Pattern matching)

Reading time4 min
Views34K
Продолжая серию статей о новшествах в С#7, акцентирую внимание на, пожалуй, главных нововведениях — Pattern matching и Record type(Примерный перевод «регистрируемые типы»). Эти функционалы дополняют друг друга, поэтому лучше рассказывать о них вместе.
Читать дальше →

56 возможностей Google, о которых вы не знали

Reading time1 min
Views40K


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

Сайт представляет собой рубрикатор карточек, на которые можно кликнуть и посмотреть во всплывающем окне информацию, относящуюся к выбранному вопросу. Как правило, кроме текста к описанию добавлена или галерея, или видео с YouTube. На карточке также указано доступна ли «фича» на разных платформах: на десктопе, Android или iOS. Карточки можно сортировать. Это можно делать либо по категориям, либо выбирая соответствующие продукты Google.
Узнать подробности

Information

Rating
5,693-rd
Location
Ahrensburg, Schleswig-Holstein, Германия
Date of birth
Registered
Activity