Обновить
182
Andrew Kambaroff@RaJa

БПЛА, робототехника, разработка, обучение

93
Подписчики
Отправить сообщение
Ключевое слово — иногда. Закрыть к ним доступ можно, если очень надо. Но чаще всего через COM порт ничего не украсть. Кстати, то, что приложение требует привилегированного доступа — чаще всего признак плохого дизайна. Нормальному приложению если оно не для управления компа — он не нужен. Если нужен — пишется драйвер, который ставится один раз в систему. Он должен быть вылизан и тщательно написан. А программа будет с ним взаимодействовать. Неважно — в линуксе или в винде. Это правильный дизайн.
А грязные хаки — это плохой стиль. В новой версии скорее всего работать не будет.
Более-менее, худо-бедно, максимум API — это как раз те фразы, которые оценивают общее положение дел.
В некотором роде завидую вам. спартанские привычки — это неплохо. Я даже в серверном приложении люблю иметь наглядный фронтенд, который позволяет видеть что происходит в реальном времени. А не срезами через кучу утилит или поиском в логах. Я не лезу в двигатель, но тахометр, спидометр, датчик температуры и топлива считаю обязательными на панели управления. Они напрямую не влияют на скорость, но без них управление превращается в лотерею — на сколько еще хватит топлива (памяти, ресурсов проца и прочего), что именно сейчас делает система.
Для сравнения — Gene FTP и любой FTP сервер под Linux. У второго будет возможно больше всяких фич. Но пользоваться первым удобнее.
можно, вот только почему-то очень редко кто-то пишет. Не писать же самому фронтенды ко всему на свете.
Это невозможно. А на деле так и получается — за какое дело ни возьмись — все инструменты недоделаны, не настроены, не работают, чтобы взять и просто пользоваться. Этакий перемотанный изолентой навечно самосборный веломотоавтогибрид. вроде ездит, но неудообно до жути.
О том и речь — пока каждый свой велосипед изобретает, люди просто пользуются приложениями, решают задачи. Им пофигу ОС. Лично я был бы счастлив иметь гибкость linux с удобством приложений под windows или macOS. но не судьба. Линукс-разаработчики в большинстве своем, к сожалению, адепты синей изоленты и мыльниц в качестве корпусов. А те, кто пытаются сделать красиво, увлекаются рюшечками сверх меры. В итоге приложением пользоваться все равно невозможно, просто из-за перегруженности красявостями. Всякие «блики» — имитация стекла и прочая безвкусица в стиле — чем больше красот тем лучше — не добавляют удобства. Эта безвкусица только мешает.
И так кругом — ощущение недоделанности, брошенности на полпути, непродуманности. Никакого ощущения надежности и целостности. Я просто не доверяю этой ОС. А как ей доверять, если она того и гляди подставит тебя в нужный момент :)
Да вот не получается, к сожалению. Без root даже доступа к COM порту не получить. А значит даже Arduino IDE надо запускать из консоли, запущенной от root имени или шаманить предварительно под рутом, настраивая права, которые могут и не сработать в конкретном дистрибе. Чего уж говорить про запуск приложения, работающего с GPIO на Raspberry Pi к примеру. У меня она потому и лежит без дела — программинг в таком стиле вызывает раздражение, вместо удовольствия от хорошо сделанного дело. Все криво, все через одно место нужно делать.
Знаете, я лично много раз задавался этим вопросом, отвечал сходным образом, в описании все нравится. Все логично, понятно, структурно, удобно. книжечку купил, почитал ее для систематизации знаний по самому linux. Но как только начинаю пользоваться не для экспериментов, а для решения задач — начинаются сплошные проблемы — то это не настроено, то то надо перелопатить, то одно с другим вручную дружить нужно. В итоге работашь ты, а не система. Если задача не одинаковая ежедневно (а если одна и та же — нужно выносить ее на сервер), то все средства автоматизации бесполезны — нужны удобные гибкие инструменты. А с этим в линуксе плохо, т.к. энтузиасты не заботились о стандартизации. Все держится на кучке текстовых файлов. Единственное, что стандартизировано — это man, но вот незадача — читать его невозможно — бесконечная страница, в которой запутаешься и пока дочитаешь забудешь, зачем открыл. Отредактировав конфиг в одной из куче помоек с их скоплением, я тут же забываю в котором из init, etc, bin и usr разной степени вложенности он лежит.
В итоге вместо стройной системы — на деле нагромождение разнородных не объединенных общей идеей кусков.
Консоль для меня — как признак незаконченного приложения — логику написали, а frontend нет. Я так привык. Так воспринимаю еще со времен Правец 8 (клон Apple II). приложение должно не просто работать, а быть удобным. И желательно не очень сложным в использовании.
Что касается CodeBlocks — согласен, вполне хорош, мне нравится. Хоть и не без недостатков. Но сильно хуже даже Visual Studio по удобству. Про Embarcadero IDE даже говорить нечего — в RAD разработке с ними никто не сравнился пока. Но этот подход верен для меня. Другим может быть нужно другое.
OpenOCD — это глючный тормоз. Мне не понравился крайне. Отлаживать в нем сплошное мучение — если нужно запустить 10 раз, то уже на 5й терпение может кончиться от скуки в ожидании. А если нужно попробовать несколько идей — то вообще тоска.
Я не очень люблю рисовать блок-схемы, я предпочитаю пробовать небольшими кусками. Писать огромный код и потом ловить в нем баги неделями пытаясь его запустить — не мой метод. Лучше проверять идеи небольшими блоками и соединять их потом. Поэтому компиляция и пробные запуски — довольно большая часть моего времени. И если среда тормозит — это плохо. Это отнимает драгоценное время. Delphi компилирует очень быстро. С/С++ by design медленнее в разы. Если добавить неудобную IDE и медленный отладчик, получается мука, а не разработка.
mc в данном случае ни при чем, но в принципе — так сделать можно и в TC. Только вы опять об автоматизации.
попробую объяснить по-другому — хорошо заточенный нож сам по себе ничего не делает, он не автоматизирует нарезку яблока. Просто вы не будете материться, пытаясь почистить яблоко или отрезать кусок хлеба, а не смять его тупым ножом. Это просто инструмент. Он не заставляет прикладывать излишних усилий, но и не делает дело за меня. Это не автохлеборезка, не циркулярная пила, не кухонный комбайн с таймерами выпечки, готовыми рецептами и возможностью программирования. Это просто нож. Но удобный, хорошо заточенный и универсальный — он режет все, что в принципе поддается резке. Сталь или дерево лучше пилить ножовкой. Но кусок дерева можно отрезать и ножом.
В TC есть встроенный FTP клиент, есть просмотр архивов как обычных папок, распаковка и запаковка, multirename tool, много очень полезных плагинов для ускорения работы в одном и том же стиле — работа как с файлами. И его не нужно мучительно настраивать читая маны и долго запоминая что и как работает. В принципе, можно и мышой тыкать, правда будет сильно медленнее. но можно изменять ширину колонок, одним щелчок сортировать по любому атрибуту файла, собирать результаты поиска в панель, просматривать всю глубину вложенных папок в плоском списке и делать по нему инкрементальный поиск, быстро просматривать содержимое файлов в соседней панели не открывая файлы, а просто перемещая курсор по списку. Встроить инструменты в панель TC. На панели разместить скрипты, сформировать свой favourite directories list, организовать PORT соединие между двумя компами по сети для обмена файлами, синхронизировать каталоги, склеивать и нарезать файлы быстро и просто.
Все это не требует особого изучения и чтения мануалов. Это просто работает. По одну-двум движениям. Это нужно не каждый день, но когда нужно, то срабатывает не заставляя напрягаться и читать, а просто и быстро. Вот за это и ценю.
Этот инструмент позволяет как и остальные инструменты, которые я ценю, делать работу минимально отвлекаясь на сам инструмент.
Мне плевать на ОС, на софт, мне нужно решать мои задачи. если я программирую, то мне хватает сложности задачи, я не хочу изучать опции компилятора, писать make файлы, я хочу писать полезный код, который должен компилироваться в одно нажатие. Когда я захочу что-то изменить в компиляции, я залезу в настройки проекта и поменяю это. Но только тогда. До этого типовая конфигурация должна собираться сама. И я должен иметь возможность этот шаблон изменить. В EmBlocks и Delphi это возможно. В eclipse — нет. в Keil и IAR — нет.
Мне не доставляет удовольствия бороться со средой разработки и героически преодолевать эти трудности. Свою GUI я написал под DOS еще в универе. Свою систему плагинов уже разрабатывал. Это вспомогательные вещи. Они — не самоцель и отвлекаться на них — это зло. Я бы с удовольствием пользовался хорошо написанными и хорошо документированными библиотеками с исходниками. В идеале на 1-2 языках общего назначения типа С/С++ и Delphi. Скрипты для web — отдельный разговор, меня они не очень интересуют.
ну gcc-arm тулчейн вроде кросс-платформенный. В качестве IDE меня устраивает EmBlocks — достаточно гибкая и быстрая среда.
Это как люди которые сравнивают iPAD с планшетом на Win8 — первое годится для потребления контента. Второе — для работы. Если работа заключается не в просмотре текстов и не в тестировании игрушек, то Android и iOS в качестве операционной системы непригодны. Linux, конечно, не так примитивен в выборе инструментов, но ему безумно далеко до той экосистемы. что уже создала Windows среда. И он НИКОГДА не догонит Windows по одной простой причине — Linux — это не ОС, это ядро, а написать софтину под Linux в общем случае не получится, если она требует GUI — нужно писать под конкретный дистрибутив коих слишком много и часто плохо совместимых между собой. Даже DE сильно отличаются и программа под одну среду не будет работать в другой. Под винду же достаточно написать 1, максимум 2 версии — XP и Vista/7/8. Чаще всего одной достаточно, если все грамотно сделать, то и в старушке 9x будет работать.
Поэтому поддерживать софт под разные дистрибутивы Linux очень сложно и дорого и качественный коммерческий софт есть только под 1-2 дистрибутива. И его мало и пишется он по остаточному принципу. С MacOS еще проще — там не только ОС одна, но еще и железо отличается в основном цветом :) То есть у вас огромный выбор конфигураций MacBook Pro — белый, черный, серебристый :)) Утрирую, конечно, но не сильно.
Для задач, которые не нужно автоматизировать. Я привык воспринимать информацию визуально. Нормальный список файлов с инкрементальным поиском мне помогает куда больше чем всякие автодополнения по tab, когда я не знаю что именно ищу. Grep мне не помогает вообще, я по-другому воспринимаю информацию. Консоль мне в общем и целом неудобна. Даже во времена DOS я предпочитал Dos Navigator прямому набору команд. Выбрать десяток файлов клавишей ins и нажать F5 для меня быстрее и удобнее, чем набирать полные пути, перечислять все имена файлов, которые нужно скопировать.Найти нужный каталог визуально и нажать F7 быстрее, чем вспоминать полный путь к нужному каталогу и дописывать к нему имя и так далее. В TC много встроенных средств сравнения файлов (Shift-F2) по содержимому, аналога которых я не нашел в консоли, чтобы они по одному нажатию открывались. А помнить десятки однозадачных утилит и строчить их названия с кучей ключей командной строки, все держать в памяти и постоянно изобретать как бы их применить меня совершенно не интересует — я сосредоточен на задаче и нажимаю нужные пару клавиш почти спинномозговым рефлексом, отвлекаться на вспоминание и набор команд со всякими ключами и написание скриптов, которые понадобятся один раз или два я тоже не люблю.
Я предпочитаю два раза щелкнуть мышью для поиска по датам и размерам файлов в определенном диапазоне, а не набирать кучу команд для этого. Есть поклонники FAR — вот им пофиг какая консоль, они и винде не имеют особой информативности представления информации. А я люблю информативность хорошо проработанного графического интерфейса. Когда информацию несет и цвет и размер и фон и мелкие значки. Это удобно, это быстро и информативно.
Я перепробовал все более-менее развитые файловые менеджеры под Debian, но ни один из них не умеет того, что мне нужно — быстрый и универсальный инструмент типа швейцарского армейского ножа.
Я не знаю, почему все так любят скрипты в линуксе — мне они не особо помогают. Почти все мои задачи одноразовые или редко повторяемые. Писать скрипт дольше, чем сделать это с помощью удобной программы. Писать команду и вспоминать что и как ей передать в качестве параметра — тоже дольше. Я давным давно встроил WinRar в оболочку и щелчок правой кнопкой с командами распаковать в папку с именем архива или запаковать выбранные мной файлы, нажать * для инвертирования выбора, чтобы удалить остальное гораздо быстрее, чем пользоваться tar, bz, gz, zip и им подобными консольными утилитами. Я и под DOS не любил запоминать ключи, все было настроено один раз в DN, а дальше пользовался хоткеями.
Я не выполняю однотипные задачи по многу раз. Если задача повторяется — она мне неинтересна. Я стараюсь от нее избавиться. Мне мало помогают пакетные обработки файлов — фотографии все уникальны, редко когда настройки можно применить к другим. И так почти во всем.
Кстати, нет альтернатив Total Commander — я использую некоторое количество плагинов и его встроенного функционала, благодаря которому вся работа с файлами намного производительнее, чем в консоли, но и консоль в нем также доступна. Все графические и консольные «альтернативы» под линуксом очень убоги в плане функционала.
К сожалению, вы меня неверно поняли.
Ко всему прочему он еще и некрасивый :) это как дополнительный раздражающий фактор. Однако при попытке его допилить, он ломается и становится проблемнее во много раз — все то, что хоть как-то работало, работать перестает, потому что заточено было под один единственный вариант. Стоит захотеть что-то изменить и работает перестает все, что с этим связано. И уже никакой автоматики никаких удобств вообще. Но и то, что надо при этом не удается настроить. Я на самом деле не против бы пилить, если бы это было один раз, а то при каждом добавлении в систему софта или обновлении по необходимости (поставил софтину, а она потребовала обновить по дороге кучу либ) ломается то одно то другое. Это очень похоже на ВАЗ — купил и начинаешь чинить сразу.
Полный списочек нельзя. Я уже писал неоднократно и мне не помогли найти и сам тоже искал упорно.
Слишком большой список будет — софта очень много, который нужен и без него никак.
Примеры — это можно.
FastStonу Image Viewer
Photoshop CS6
Adobe LightRoom
Microsoft Empression Media 2
Delphi 2010 + XE5
Emblocks (CodeBlocks не заменяет — сильно менее удобен для Embedded разработки)
Punto Switcher (экономит нервы, XNeur — несравнимо хуже)
Propellerheads Reason (использую в связке с Casio CDP-120)
WhereIsIt
Diptrace
Track Checker
PtGUI

Альтернативы если и есть, то не работают так, как нужно или не стыкуются с другим софтом или тормозят и глючат или все вместе :)
Некоторым есть бледные альтернативы, но по удобству, скорости работы и сопряжению с другими программами сильно хуже.
Как пример — Gimp. Мало того, что не все, что нужно под него есть даже в виде плагинов, так он еще и не дает работать в Lab с нужными результатами. В итоге я не только медленее в нем работаю, но и нужный цвет получить очень и очень проблематично, а иногда невозможно.
и весь в сырцах открытый :)
Проблема именно в том, о чем говорили парой комментов выше — софтина вроде и есть, но работает криво, а после обновления шансы, что работать перестанет — немалые. И так очень часто — огульно нагуглить можно вроде аналоги, а на деле работают они либо плохо либо вообще не выполняют нужную задачу.
Линукс практически незащищен от экспериментов. Винда даже админа предупредит не раз при попытке сделать нечто опасное для системы. Линукс же никак не предупредит ни о чем. При этом даже в целом правильно сделанная настройка, но в неправильном порядке или с какой-то тонкостью, которую вы упустили, может оставить вас с нерабочим компом. А в винде чаще всего удастся исправить ошибку без фатальных последствий.
Комп, с которого сейчас пишу и еще один десктоп на базе Win7. Работают с 2009 года без переустановок. Успешно и надежно. Десктоп пережил смену двух винтов без переустановки и переезд на SSD под ОС.
Среды разработки:
Delphi 7, 2010,XE5
Visual Studio 2008, 2010
CodeBlocks,Emblocks, CooCox и еще несколько менее активно используемых IDE
активно используется куча cофта для обработки фотографий, аналогов которого на Linux нет.
Разработка часто ведется и программная и аппаратная, с частым подключением девайсов по USB и COM, USB-UART переходниками и прочими способами. В том числе отладка девайсов.
Софта собственной разработки используется до десятка разных программ.
При этом текущий аптайм ноута — 13 дней. Типичный — 40-60 дней. Перезагрузка обычно связана с загрузкой в Ubuntu — проверить идею в линуксе.
у меня пара знакомых точно так же поступила — купили MacBook Pro и поставили винду — потому что внешний вид компа понравился. А MacBookAir за вес купили и тоже винду поставили — потому что под виндой им удобнее, больше нужного софта.
Хакинтош, я кстати, пробовал — работает, не обновляется почти. Проблем особых нет, но и преимуществ перед ПК никаких.
Вы правы, но говоря о линуксе почти всегда имеют ввиду дистрибутивы, потому что ядро само по себе практически никому не нужно (кроме системных разработчиков). Я говорю именно про дистрибутивы. За 10 лет я перепробовал много дистрибов. Наиболее удобными для меня оказались debian based. Сам Debian на серверах и Ubuntu на десктопе (у debian проблемы с дровами даже на сетевухи и видеокарты неистребимы). Но ни одна из них не годится для моих целей. У меня очень обширный список обязательного софта. К сожалению, я не принадлежу к поколению разработчиков, которым достаточно браузера и текстового редактора с подсветкой синтаксиса для работы. Я и разработчик и пользователь, активно используемого софта в том числе бесплатного у меня много и альтернатив ему под Linux такого же качества почти нет. А что касается внешнего вида, то Win7/win8 настраивается без проблем, а в Ubuntu даже ядовитый оранжевый интерфейс не сменить толком, не сломав все шрифты, отступы и весь GUI практически. Настроек в GUI почти нет. Даже если меня беспокоит всего-навсего мелочь, ее изменение оказывается весьма проблематичным — все форумы заполнены обсуждением как это лучше сделать так, чтобы сохранить возможность обновляться, а в итоге все равно работает плохо. Тот же XNeur при автозапуске не работает нормально, пока руками не запустишь. И таких косяков много. А из мелочей состоит общее впечатление от ежедневного использования.
К этому можно привыкнуть, но зачем, когда есть ОС, в которой легко все становится на свои места и не раздражает? В линуксе свои методы работы и я бы ими пользовался, будь они столь же удобны после настройки, но этого не получается. А вся работа полетит к чертям после обновления — обязательно что-то изменят так, что оно станет несовместимо с моими настройками.
Именно, но не только эклипс а еще тонны плагинов и всякой всячины к нему. Работает ОООЧЕНЬ медленно. Особенно на не самом быстром ноуте. На декстопе более-менее терпимо. На ноуте неприемлемо. Вообще я уже неоднократно писал о том, что eclipse меня не устраивает именно тормозами и неудобством настройки. Та же CooCox на его основе урезана до неприличия и тормозит безбожно. Именно это побудило перейти на CodeBlocks и EmBlocks.
«Наковырять» честно говоря не хочется. Если нормального тулчейна нет, значит стелларисы для меня останутся в разделе неудобных и бесполезных для меня МК. Сам по себе МК — это даже не полдела, это так, мелкая крупица. Вокруг него образуется экосистема с отладчиками, IDE, библиотеками софта, готовыми девайсами и схемами, типовыми реализациями, которые вместе имеют куда большую ценность. Именно поэтому морально устаревший AVR до сих пор живет, а STM32 при всей его крутости пока буксует в сегменте новичков — порог входа выше. Но лично для себя я не вижу особого смысла в еще одном ARM МК если нет видимых преимуществ, а разработка под него сопряжена с неудобствами. В таком ключе мне проще выбрать подходящий МК из семейства STM32. Под него вся экосистема есть.
У меня сейчас ровно та же ситуация: на ноуте, с которого пишу стоят Win7 и Ubuntu 12
Так вот в убунту перестал заходить, потому что тормозит все больше и больше, обновления только ухудшают ситуацию. Примитивные операции, не требующие наличия мозга вообще, вроде браузинга в инете и слушаяния музыки/просмотра киношки. Работают в принципе, правда медленнее и менее удобно чем в винде, но терпимо. А вот с разработкой под МК и ПК там проблема — нормальных IDE практтически нет, вечные танцы с бубнами с отладкой и прочие прелести вроде несовместимости кучи библиотек, постоянного притаскивания каждой софтины за собой пол репозитория. Никакого удобного способа запустить софтину от имени другого юзера кроме консоли просто нет. Сответственно, чтобы что-то сделать от имени рута, а при разработке это нужно часто, нет. но и в консоли будут свои косяки. Софт, который якобы выполняет функции аналогов софта под винду, на самом деле очень ограничен, кривобок и уродлив, если с GUI, а без GUI не всегда работает как надо.
В общем, если хочешь что-то сделать — надо все преписывать самому. Итого — не ОС, а конструктор, как и детский конструктруктор — позволяет собрать много чего, но все будет получаться угловато, уродливо и долго. Меня сейчас могут заминусовать, но юзабилити у линукса нет. Вообще нету, как класса. В качестве сервера я использую его с удовольствием, а вот на десктопе просто не годится. Нет ни нужного софта, ни удобства ни приличного внешнего вида. Одни шрифты уродливые чего стоят. Ну и вырвиглазные цветовые схемы.
Очень уж специфический интерфейс ICDI + нормальной среды разработки толком нет. CCS — это медленный слонопотам, пробовал, не понравилось. А открытого тулчейна как для MSP430 нет? а то можно было бы прикрутить его к EmBlocks и получить бесплатную среду разработки без ограничений.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность