All streams
Search
Write a publication
Pull to refresh
230
199.4
Андрей Дмитриев @AndreyDmitriev

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

Send message
О, спасибо за мысль, я честно говоря об этом как-то и не думал. По идее должен быть открыт.
Мне оказалось проще всего сделать это на LabVIEW. На всё ушло несколько минут.
Вот так это выглядит:

Я подписи включил, чтобы чуть понятнее было.
Это по сути while цикл. List Folder получает список файлов в массив. Если файлов больше нуля, то берётся первый и его полный путь отправляется в System Exec (скажем так, это аналог ShellExecute). Файл коммандный естественно. После выполнения файл удаляется. Идею можно допилить — скажем, реагировать на зависания или сохранять логи, но мне в общем-то хватает.
А я вот себе слепил малюсенького робота, который постоянно запущен, и который мониторит в дропбоксе папку «Commands» и если там появляется файл с соответствующей командой, то исполняет её (например dir d:\MyData >D:\DropBox\list.txt — создаёт файл с листингом директории или там copy d:\MyData\MyFile.txt d:\Dropbox\MyFile.txt — копирует файл в дропбокс и т.д.). Очень удобно — теперь даже если какой нужный файл на работе забыл (а компьютер там включён постоянно), то его удалённо в дропбокс можно положить и через некоторое время он оказывается у меня. (всякие другие сервисы удалённого доступа на работе закрыты кучей файрволлов, а вот дропбокс пока не прикрыли).
Давным давно в лаборатории ФизТеха я работал на ДВК (аналог DEC PDP11). Там в составе компьютера был RAM диск на 1 мегабайт (плата где-то 25x35 см, битком набитая микросхемами — РУ5 или РУ7) — неслыханная по тем временам роскошь. И при старте системы на этот диск скидывалась система RT11, компилятор Си и редактор и система перезапускалась с него. А при интенсивном обращении к этому диску (например при компиляции или копировании) раздавался хорошо различимый не то шорох не то шипение. Вот это реально было похоже на магию. Скорее всего шумел блок питания из-за меняющейся нагрузки, но я всегда говорил, что это слышно, как электроны бегают да информацию переносят…
Кстати, опыт тех лет дал мне возможность практически полностью освободиться от ощущения «магии» — в документации присутствовали даже принципиальные схемы плат, и они были относительно простыми.
А вообще нет никакой магии. Есть только биты да байты, ну и трудолюбивые электроны, которые их таскают туда-сюда… :)
Немецкая виртуальная клавиатура, кстати, несколько отличается от физической (если сравнивать с той, что лежит у меня на столе).
Во-первых, клавиша "#" должна находиться не в первом ряду, а в третьем.
Во-вторых, левый и правый Alt должны отличаться (правый Alt, он вообще-то Alt Gr)
Хотя там, вроде в css можно покопаться и это дело подкорректировать.
Спасибо, тоже зарегистрировался… Хабрейшим харлейшим возможно и не стану, зато хоть домашний аквариум слегка автоматизирую, если ещё не все контроллеры расхабрили… Коллеги, а CAN шину к этой штуке подцепить можно? Есть вот у меня одна нездоровая идейка…
он получил $4000 с компании Various Inc.…, которая прислала на каждый из его четырёх почтовых ящиков по одному письму с одинаковым содержанием: «Hello my name is Rebecca, I love you»

Вот, блин, у меня ж в папке «Спам» валяется целое состояние!
Офигенно, если не сказать больше. Дело даже не столько в эффекте, сколько в относительно несложной реализации. Кажется, я знаю, с каким микроконтроллером я продолжу упражнения с паяльником.
Что касается самого эффекта, то мне кажется, что просто двух светодиодов на одну сторону маловато — надо три или четыре — ну тут каждый, кто захочет повторить, может это усовершенствовать. Спасибо!
Ну я потому и взял в кавычки, а лучшей аббревиатуры и не придумалось. К сожалению порой это именно так и выглядит, и «Bug» сильно преобладает над «Behaviour»…
Тут ещё важно, чтобы «TDD» не превращалось в «BDD». Это когда с горы летит растущая лавина багов, а вы на сноуборде от неё уворачиваетесь. Можно, конечно, и финиша достичь, а можно ведь с размаху и в дерево вмазаться.
Я работаю на DELL уже десять лет. Вообще техника оставляет двоякое впечатление. С одной стороны мне нравится как собраны десктопы (Dimension были хороши, Optiplex, пожалуй чуть похуже, но тоже нормально). Сейчас работаю на Optiplex 780 — хорошая тихая машинка.
С другой стороны у коллег один за одним ломаются ноутбуки — в основном перегрев видеокарты. Ну и блок питания — какой-то кошмар (у меня M6500, раньше был M90) — весит как кирпич и греется как утюг.
Нормальный фанат будет гоняться за старыми виниловыми пластинками и выкладывать за них десятки или сотни баксов (на барахолке в том числе, конечно), а потом сдувать с них пылинки. Я знаю одного, который тащится от Beach Boys — у него целый шкаф забит пластинками, кассетами и CD плюс соответствующая техника чтобы это слушать.
Всё же зарплаты нельзя рассматривать «абсолютно», в отрыве от контекста. Я, например, живу в Германии, и даже в пределах одной страны зарплаты заметно отличаются по регионам — на юге, в районе Франкфурта или Мюнхена они выше, на севере ниже, на востоке — там где раньше была ГДР, ещё ниже. С другой стороны и стоимость жилья и жизни тоже заметно «пляшет» от региона к региону. Снять двухкомнатную квартиру километрах в двадцати от Гамбурга можно за 600-700 евро, а в центре Гамбурга будет уже под тысячу. Ну а что касается сравнения с Россией — то тут вообще нельзя сравнивать. Приведу пример — у меня сейчас две дочки в детский сад ходят, на полдня, с восьми до двух. Знаете, сколько я плачу за это? 400 (четыреста) евро в месяц. Причём это самый обычный стандартный садик (и расходы этим не ограничиваются, время от времени с родителей собирают по десятке-двадцатке на всякую фигню). Я не знаю, сколько стоит детский сад в Петербурге, но полагаю, отнюдь не 16000 рублей. Так что уровень зарплат вполне нивелируется окружением — любое общество найдет способ отнять заработанное. Другое дело, что в России существуют определённые «перекосы», например, стоимость аренды жилья сейчас заоблачная (в конце 1999 года мы снимали однокомнатную квартиру за 60 долларов). А в центральной Европе/северной Америке уровень жизни и зарплаты более-менее «устаканились», и в результате программисты в разных странах или регионах на схожих позициях имеют примерно одинаковый уровень жизни, несмотря на разные зарплаты.
> Написано оно на C# и умеет при помощи Google Translate переводить сообщения.

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

А вообще спасибо, я почерпнул пару идей.
Как только раскладка «устаканится», так и начну осваивать, ага :)
Потом займусь разработкой курса и тренажёра «Дуо на двух клавиатурах»
А я себе на позапрошлой неделе слепил так сказать, бюджетный вариант:



Правда, у меня случай клинически тяжёлый, поскольку я в LabVIEW код рисую:



Не скажу, что стало сильно удобнее, но иногда пользуюсь (раскладки при этом переключать вообще не требуется).
Странно, про LabVIEW в обзоре ни слова, а ведь в этой среде можно создавать многопоточные приложения для многопроцессорных систем уж много лет лет как. Причём весь код параллелится по умолчанию без дополнительных телодвижений. В последних версиях можно даже явно задать, на каком из процессоров выполнять while цикл, и на сколько процессоров распараллеливать конкретный for цикл. Впрочем, продукт сей довольно экзотический, это да.
Извините, не дописал,

Я это к тому, что такой подход в некоторых случаях может работать. Но обычно серьёзное качественное программное обеспечение всё же проходит определённые более-менее классические стадии — написание требований, сбор пожеланий пользователей, разработка дизайна, кодирование, тестирование, документация… И все бумажки в общем-то помогают сделать именно то, что требуется. Причём эти «бумажки» должны писаться для себя и для программистов, которые будут в будущем поддерживать проект, а не для того, чтобы отчитаться перед начальством.
У меня есть опыт выпуска продукта через прототип в условиях ограниченного времени, но этот прототип сразу был нацелен на запуск в производство (и сопровождался какой-никакой документацией, по крайней мере было страниц сорок требований и десятка два страниц, описывающих сложные и нетривиальные места в дизайне).
Есть и негативный опыт — был сделан некий прототип, практически без документации, отложен на пару лет «в ящик» по разным причинам, а затем была сделана попытка реанимировать и продолжить разработку. Программисты чуть не умерли, разбираясь во всяких «заглушках» типа «а вот это мы отложим на потом», «а вот тут я рыбу заворачивал». Пришлось практически переписать всё с нуля. Как результат — небольшая задержка выпуска, и суммарно времени было потрачено больше, чем было запланировано.
Вы сделали несколько весьма «сильных» заявлений, особенно если вырвать их из контекста:
"… Мы сели проектировать. Это было самой главной нашей ошибкой..."

"… Пока вы будете пол года марать бумажки, ..., ваши конкуренты-прототипщики уже давно выпустят продукт..."
Коллега, ну ведь и я не утверждаю, что восстановить можно что угодно из чего угодно. В случае маленького квадрата с большим ядром размытия (относительно размеров квадрата) работать не будет. Кроме того синтетический контрастный квадрат даёт очень сильные высшие гармоники (каких практически нет в вышеприведённой картинке), которые моментально убиваются в ноль при размытии.
Вот что происходит с квадратом 20x20:

Первый ряд — умеренное размытие. Второй ряд — сильное размытие.
Слева направо: исходная картинка, её фурье, функция размытия, фурье после размытия, размытая картинка, восстановленное обратной функцией фурье, восстановленная картинка.
Как видите, что-то даже восстанавливается, но с заметными артефактами.

Information

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