[image]

Флейм о тотальном и фатальном научно-техническом отставании России по Старому

Русские - унтерменьши, не умеющие в науку, как утверждает Старый, или все же развитая технологическая держава мира
 
1 24 25 26 27 28 40

3-62

аксакал


Aaz> Попробовали бы вы в древних Афинах сп...ть с поля брюкву. :p

А вот вы и ошиблись.
Строгость - это так, индикатор того, что происходящее социуму не по нраву, но он не понимает что же не так. :)

А если вы базис прошерстите - то увидите, что если (вопреки всем строгостям) - сумел угнать "брюкву" на свою территорию - ты молодец и вообще герой.
А если у тебя угнали "брюкву" - воевать с негодяями до их смерти!
:)

Это так, краткая выжимка из античной морали.
   109.0.0.0109.0.0.0
+
+1
-
edit
 

AleksejLt

опытный

SEA> Я тоже часто библиотеки использую готовые. Для экономии времени. Особенно на ЕСП32, где с ресурсами все ок и неоптимальные библиотеки по сравнению с оптимальными практически не делают разницы (обычно)

Там народ вообще извращается - запихивает питон/луа и обновляет по "воздуху". Поубывав бы © :)

> А вот на 328 ардуинке приходилось перерабатывать библиотеки, убирая ненужное и оптимизируя. А также делать своё

Я так глубоко не копаю, но я бы хотел, чтобы библиотека делала что-нибудь одно. А все дополнительные плюшки подключались бы через интерфейсы зависимостей. Но увы, на плюсах это, наверняка, тяжело.

SEA> А с ТФТ дисплеями нередко идут ридеры флеш карт. Поэтому и библиотеки их поддерживают.

Мне кажется, что это неправильный путь :) Я же могу решить, что в библиотеки для ТФТ я включу классы для изменения размера картинки, потом какоё-нибудь редактирование и у меня получится монстр-франкенштейн)

SEA> Кстати, компиляторы не включают в код неиспользуемые объекты.

Ещё одно преимущество компилятора перед АСМом :)

SEA> А некоторые библиотеки позволяют отключать ненужное макросами.

Да, я забыл про такие приколы :D #define TRUE:=FALSE //*битесь с*ки!

SEA> Но я понимаю зевса об удовлетворении процессом оптимизации, особенно мелких контроллеров. Просто совсем мелкие потеряли актуальность сейчас

Когда это хобби и приносит радость то почему бы и нет) Просто я избаловался, для меня класс который занимает больше 100 строк уже слишком большой, надо резать)
   116.0116.0
RU 0--ZEvS--0 #04.09.2023 17:42  @Испытателей_10а#02.09.2023 02:27
+
-
edit
 

0--ZEvS--0

опытный

0--ZEvS--0>> Когда/если ...
И.1.> Сегодня 555-ый день СВО. ...
Да. Но что-бы это значило?
И.1.> Так ты, "талантливый инженер" (скромная самооценка, ничего не скажешь), и воевать собираешься?
Во-первых отрадно, что Вы перед тем как написать сей замечательный пост ознакомились с моими прошлыми постами.
Во-вторых я пока не достаточно велик, что-бы позволить себе скромность.
В-третьих Вы писали риторическое "ничего не скажешь", но Вы же сказали. Нет ли здесь досадного и великолепного противоречия?
И.1.> ... и воевать собираешься? Когда начнёшь?
Мы, русские, первыми не начинаем. :p
   52.052.0
+
-
edit
 

0--ZEvS--0

опытный

0--ZEvS--0>> Все можно распараллелить, кроме специально организованных
3-62> Вот снова вы не доныриваете до основ.
А должен всегда доныривать до основ?
3-62> Наличие в голове понятного алгоритма, придуманного тоже головой - достаточное условие для возможности его выполнения.
Точнее не сказать.
3-62> Нудность, время и т.п. - вторичны.
Тоже не спорю.
3-62> И, пока что, в этой реальности - головы заливают алгоритмы в процессоры. А не наоборот.
3-62> :)
Возможно. Но не исключено, что в силу феноменологичности нашего бытия мы чего-то не замечаем. ;)
   52.052.0
RU 0--ZEvS--0 #04.09.2023 18:12  @AleksejLt#02.09.2023 20:29
+
-
edit
 

0--ZEvS--0

опытный

AleksejLt> Ну ESP32 я тоже отношу к "ардуинкам". А уж ресурсов там дофига) Да в той же УНО достаточно памяти.
Дело не только в памяти. Я серию Nucleo тоже люблю, и одним из достоинств STM32 возможность исполнения кода из ОЗУ. А значит код можно подгружать по мере необходимости "на лету" с любого внешнего носителя. AVR так не может. И в этом их основная разница, а не в количестве памяти или разрядности РОН.
>> Помнится хотел один мой друг детства (IT`шник) освоить это дело, написал пару проектов, а на целевой проект у него ресурса не хватало... И он сделал вывод, что МК г**но. :D
AleksejLt> Если он использовал тиньку 13 то могло и не хватить) Неужели он писал на Си и получил такой неоптимальный код?
МК там был что-то вроде ATMEGA8. Не хватило разрешения по времени, для управления тремя сервомашинками.
>> Наверное, потому-что их писали такие же "ламеры" как и те, для кого они предназначены. Хотя может я ошибаюсь.
AleksejLt> Жестко ты их пнул) Я думаю, что ошибаешься, у многих библиотек тысячи и десятки тысяч скачиваний. Просто некоторые вещи удивляют - есть библиотека для работы с ТФТ экраном, а она тянет за собой библиотеку для работы с... картой памяти. И зачем она там? :)
Потому-что, у основного потребителя таких изделий (шилдов) идея показать картинку фотографического качества на дисплей, возникает в первую очередь. А где взять ту картинку, а она должна храниться на легко используемом модуле памяти, а это sd карта.
>> Ну может поначалу. Я например, сразу под задачу выбираю макромодули с процедурами и вставляю в проект. Потом настраиваю уже готовый "Инициализатор", который по резету инициализирует мне всю периферию, все выводы/вводы, таймеры и прочее.
AleksejLt> Т.е. ты давным-давно написал кучу модулей и теперь их используешь? Значит у тебя есть самописные библиотеки? Просто мне кажется, что на Си их гораздо больше, они более проверены и их проще можно использовать)
Ну, я написал библиотеки не "разом" и "давным-давно", а они у меня накопились за все время подобной практики. Время от времени, я их прочесываю и упорядочиваю. Есть и уникальные работы, то есть такие, которые никто не делал. А никто не делал, в свою очередь, потому-что все делают, так, как принято, и зачем изобретать велосипеды.
В основном это все ЦОС.
В некоторых проектах без ассемблера я бы не обошелся, задачи столь специфичные, что только "атомарный" ASM...
>> Ну и если время позволяет, люблю из МК выжать максимум.
AleksejLt> Это круто, но мне кажется, что на Си у тебя получилось бы быстрее. И код вряд ли будет менее быстрым/эффективным)
Да, на Си писать быстрее. И да, код будет столь-же быстрым и эффективным, но пока речь идет об простых задачах. Как только возникает задача, в которой необходима синхронность чего-то и чего-то "до такта", или стабилизация времени исполнения модуля - только ASM... :)
   52.052.0
+
-
edit
 

3-62

аксакал


0--ZEvS--0> А должен всегда доныривать до основ?

Если "талантливый инженер" - то да. Обязательно. :)

0--ZEvS--0> Возможно. Но не исключено, что в силу феноменологичности нашего бытия мы чего-то не замечаем. ;)

Ага. С. Лем. "невозможно распознать бытие в фантомате". :)
   109.0.0.0109.0.0.0
+
-
edit
 

0--ZEvS--0

опытный

0--ZEvS--0>> А должен всегда доныривать до основ?
3-62> Если "талантливый инженер" - то да. Обязательно. :)
Не факт :)
0--ZEvS--0>> Возможно. Но не исключено, что в силу феноменологичности нашего бытия мы чего-то не замечаем. ;)
3-62> Ага. С. Лем. "невозможно распознать бытие в фантомате". :)
Именно! ;)
   52.052.0
+
+1
-
edit
 

0--ZEvS--0

опытный

SEA> Но я понимаю зевса об удовлетворении процессом оптимизации, особенно мелких контроллеров. Просто совсем мелкие потеряли актуальность сейчас
Эх, расскажу одну историю "Как я всех спас". :)

Как то ко мне пришел наш программист МК (Саша) и пожаловался, что задача не выполнима...
Я в то время у них не столько начальник был, сколько старший коллега. Рассказ Саши состоял в том, что Вова накосячил и поставил не подходящий МК. Проект вел не я, и вообще я не знал детали реализации, тонкости внутренней архитектуры и прочее. Саше я сказал - "оставляй макет, скинь мне ТЗ, и свои наработки. Попробую понять что делать". Также сходил к Вове, он разводит платы и в общех схемотехник. Попросил у Вовы посмотреть проект. Он мне показал, ничего не заподозрив.
В общем в одном месте надо было генерировать 2 частоты 25 КГц и 24.948024... КГц.
Короче 12МГц/480 и 12МГц/481. И чтобы это выходило на 2 ножки МК...
Если честно, то я бы поставил несколько корпусов "74HC" в соиках, и сделал бы аппаратный делитель. Место позволяло с огромным избытком, прошивать не надо, ремонт сводится только к замене микросхем, разница в стоимости отсутствует. Но Вова поставил кварцевый генератор на 12 МГц и ATTiny13, чтобы "по современному", а жесткая логика "ушла в прошлое и отмирает".
Сомременность Вовы, ИМХО, что он сэкономил только на труде монтажника, ведь впаять один соик8 проще, чем 4-5 соик 14-16. А вот, что программисту надо прошивку генератора на МК (КАРЛ!!!) писать - это он не учел.
В общем посмотрел я как написал все Саша. Было несколько версий на СИ, и ни одна нормально не работала, хотя написано было очень красиво, граммотно и прочее.
Так за трое плохосонных ночей я написал.
Моя прошивка состояла из чистого линейного алгоритма, без использования переферии, таймеров и даже без прерываний. Идея состояла в том, что надо поднять 2 ножки вместе, подождать нужное время в тактах, опустить одну ножку, и сразу следующей командой опустить вторую. На следующей такой операции написать 1 NOP между подьемами ножек...
Я написал подпрограмму управляемой задержки в тактах. Это не простая подпрограмма, пустой цикл выполняется не один такт, значит мы можем задать время кратно времени выполнения цикла, но не до такта. Поэтому, я сделал еще несколько подпрограмм, с разным количеством "NOP" внутри.
Иначе-говоря, в главном и бесконечном цикле моей программы вызывались всякие подпрограммы
задержек с аргументами и горы NOP`ов.
Принес я через четыре дня *.HEX и *.ASM Саше и отдал. И сказал ему: "Ничего не меняй".
   52.052.0
RU Просто Зомби #04.09.2023 19:48  @Fakir#04.09.2023 13:42
+
-
edit
 

Просто Зомби

опытный

Sandro>>> Горбатиться от детства до старости за еду?
Iva>> как показала история - эту возможность дает феодализм.
Iva>> а капитализм дает больше.
Fakir> Это всё тяга к упрощённым моделям, чёрно-белому телевизору изображению мира и к однозначности.
...
Fakir> Не давал бы феодализм совсем уж никаких лазеек - он бы не переродился в капитализм.

Каждому времени свои фетиши.
Горбатиться уже не надо.
Прикреплённые файлы:
Прогресс.jpg (скачать) [828x649, 40 кБ]
 
 
   116.0.0.0116.0.0.0
RU 0--ZEvS--0 #04.09.2023 20:10  @AleksejLt#04.09.2023 16:53
+
-
edit
 

0--ZEvS--0

опытный

AleksejLt> Да, я забыл про такие приколы :D #define TRUE:=FALSE //*битесь с*ки!
:D Прикольно, неплохая подляна!
Примерно как в той истории про "haht-haht!" :D
   52.052.0

xab

аксакал
★☆

xab>> Кусок кода надо было максимально оптимизировать по времени исполнения.
3-62> Что за "кусок кода"?!
3-62> В формулировке сравнения уже какая-то нелепица начинается.
3-62> После того как "одна задача" заместилась, внезапно, "одним куском кода".

Потому, что вся задача была написана на сях.
На ассемблере была написана вычислительная процедура.

xab>> Разумеется там не было многоуровневых вызовов процедур и методов.
3-62> Ну да. Если сравнивать по printf(%s, "Hello World!");
3-62> то ассемблер уйдет вперед с отрывом.
3-62> :)

С каких херов-то отрыв будет?
Что на сях, что на ассемблере ввод/вывод все равно будет организовываться через функции и драйвера операционной системы.
   116.0.0.0116.0.0.0

3-62

аксакал


xab> С каких херов-то отрыв будет?

В случае ассемблера будет гораздо меньше строк "ритуальных танцев" вокруг регистров. А это - время. Ассемблер выигрывает тут.
   109.0.0.0109.0.0.0

Aaz

модератор
★★☆
3-62> А вот вы и ошиблись.
Правда?

3-62> Строгость - это так, индикатор того, что происходящее социуму не по нраву, но он не понимает что же не так. :)
Вон у нас в руководстве страны два человека с юридическим образованием регулярно ратуют за ужесточение наказаний.
И причём здесь социум?

3-62> А если вы базис прошерстите - то увидите, что если (вопреки всем строгостям) - сумел угнать "брюкву" на свою территорию - ты молодец и вообще герой.
Это пошло уже много после появления кодекса Драконта.
При нём за кражу овощей (именно овощей) карали смертной казнью.

3-62> Это так, краткая выжимка из античной морали.
Это краткая выжимка из ваших извращённых представлений об античной морали. :p
   117.0117.0
LT AleksejLt #05.09.2023 19:05  @0--ZEvS--0#04.09.2023 19:03
+
+1
-
edit
 

AleksejLt

опытный

0--ZEvS--0> Вова поставил кварцевый генератор на 12 МГц и ATTiny13, чтобы "по современному", а жесткая логика "ушла в прошлое и отмирает".

Современно это поставить хотя бы 85-ую :) А переделать схему не судьба? Вы потратили кучу времени на написание кода, мне кажется, что перепроектировать схему на другой МК было бы гораздо быстрее. Или нет?

0--ZEvS--0> Принес я через четыре дня *.HEX и *.ASM Саше и отдал. И сказал ему: "Ничего не меняй".

Это хорошая мина под ваш проект. Прикинь, что другому придется разбираться в этом без тебя? Личностная зависимость это зло)

0--ZEvS--0>Примерно как в той истории про "haht-haht!"

Я знаю только про зенитку, а такой истории не слышал)
   116.0116.0

3-62

аксакал


Aaz> Правда?

Правда.

Aaz> Вон у нас в руководстве страны два человека с юридическим образованием регулярно ратуют за ужесточение наказаний.

И они тоже не в курсе того "как сделать лучше".

Aaz> И причём здесь социум?

Социум знал бы - он бы им подсказал. :)

Aaz> Это краткая выжимка из ваших извращённых представлений об античной морали. :p

Пусть так.

Кстати - так что важнее в наказании - строгость или неотвратимость? ;)
   109.0.0.0109.0.0.0
+
-1
-
edit
 

Дем
Dem_anywhere

аксакал


Fakir> Не давал бы феодализм совсем уж никаких лазеек - он бы не переродился в капитализм.
Вроде лазейку дал не феодализм а мореплавание.
Промышленность по производству кораблей - всегда изрядный хайтек. Да и одёжу морякам надо покупную.
   117.0117.0
RU 0--ZEvS--0 #06.09.2023 00:05  @AleksejLt#05.09.2023 19:05
+
+1
-
edit
 

0--ZEvS--0

опытный

0--ZEvS--0>> Вова поставил кварцевый генератор на 12 МГц и ATTiny13, чтобы "по современному", а жесткая логика "ушла в прошлое и отмирает".
AleksejLt> Современно это поставить хотя бы 85-ую :) ...
Дело было 10 лет назад. В 2012 или 2013... :)
И еще я полагаю, что на 85-ой сделать это было-бы также трудно, как и на 13-ой.
AleksejLt> ...А переделать схему не судьба? Вы потратили кучу времени на написание кода, мне кажется, что перепроектировать схему на другой МК было бы гораздо быстрее. Или нет?
Уже платы были заказаны, оплачены и получены. Стоимость приличная, сроки, переразводка тоже заняла-бы сутки...
Ну и Саша пришел ко мне, пожаловаться на Вову, а мне идти к Вове и убеждать его в неправоте, и в том, что надо все переделать - не хотелось. В конце-концов, я в этом проекте не участвовал, и если бы у мена не вышло написать извращенную программу, то мне пришлось бы послать всех на хрен, и пусть сами разбираются. :D
Ну и опять-же Вы пишете "другой МК", там МК в принципе не годится, это костыль.
0--ZEvS--0>> Принес я через четыре дня *.HEX и *.ASM Саше и отдал. И сказал ему: "Ничего не меняй".
AleksejLt> Это хорошая мина под ваш проект. Прикинь, что другому придется разбираться в этом без тебя? Личностная зависимость это зло)
Все обошлось. Тот проект выгорел, а через пару лет был замещен новой моделью, где не было подобного изврата.
0--ZEvS--0>>Примерно как в той истории про "haht-haht!"
AleksejLt> Я знаю только про зенитку, а такой истории не слышал)
Взято с Хабра:
Проблема была в том, что пацан был настолько умен, что сделал все свои переменные зависимыми от регистра и длины сочетаний букв haht. По какой-то причине ему это нравилось. Например, hahthahthaht отличается от hahtHahthaht, и снова от hahthahthaHt и hahthAhthahT.

Я не потратил слишком много времени, чтобы решить, что тысячи строк кода, как

if (hahthAhthahT >= hahthahthaht ) then hahtHahthaht(hahtHahtHaht,HAhtHahthaht);
else
hahTHahthaht(hahtHahtHaht,HAhtHahthaht);


не стоят внимания и решил отправить всю эту хрень в bitbucket.

А что там про зенитку?
   115.0115.0
RU Конструктор #06.09.2023 17:55  @0--ZEvS--0#06.09.2023 00:05
+
+2
-
edit
 
0--ZEvS--0> А что там про зенитку?

88-мм зенитная пушка FlaK 18/36/37 — Википедия

8,8 cm FlaK 18/36/37 (нем. 8,8-cm-Flugabwehrkanone 18/36/37, буквально 8,8-см зенитная пушка образца 18/36/37), также известное как «восемь-восемь» (нем. Acht-acht) — германское 88-миллиметровое зенитное орудие, находившееся на вооружении с 1932 по 1945 годы. Одно из лучших зенитных орудий Второй мировой войны. Также послужило образцом при создании орудий для танков «Тигр» PzKpfw VI. Эти орудия широко использовались в роли противотанковых и даже полевых орудий. Часто данные орудия называют самыми известными орудиями Второй мировой войны. //  Дальше — ru.wikipedia.org
 

На слэнге- Acht-acht
   99
BG cholev #06.09.2023 20:35  @0--ZEvS--0#06.09.2023 00:05
+
+1
-
edit
 

cholev

опытный

☠☠
0--ZEvS--0> if (hahthAhthahT >= hahthahthaht ) then hahtHahthaht(hahtHahtHaht,HAhtHahthaht);
0--ZEvS--0> else
0--ZEvS--0> hahTHahthaht(hahtHahtHaht,HAhtHahthaht);

Ничего себе- ты  придумал новый язык программирования. Поздравляю  :D 
Если это VB нужно писать: Красиво-да: нет ; {} case insensitive 
 
If hahthAhthahT >= hahthahthaht  Then 
   hahtHahthaht(hahtHahtHaht,HAhtHahthaht)
Else
   hahTHahthaht(hahtHahtHaht,HAhtHahthaht)
End If

Если С подобное надо писать: (все грустно  :( )
if (hahthAhthahT >= hahthahthaht)  {
   hahtHahthaht(hahtHahtHaht,HAhtHahthaht);
}
еlse
{
   hahTHahthaht(hahtHahtHaht,HAhtHahthaht);
}
   2323
?? 0--ZEvS--0 #06.09.2023 20:42  @cholev#06.09.2023 20:35
+
-
edit
 

0--ZEvS--0

опытный

cholev> Ничего себе- ты придумал новый язык программирования. Поздравляю :D
Конечно это все байка, я ее видел в нескольких источниках. Но прикольно!
   115.0115.0
?? 0--ZEvS--0 #06.09.2023 21:34  @Конструктор#06.09.2023 17:55
+
-
edit
 

0--ZEvS--0

опытный

Конструктор> На слэнге- Acht-acht
Теперь понятно! :D
   115.0115.0
RU Дем #07.09.2023 01:13  @0--ZEvS--0#06.09.2023 20:42
+
+1
-
edit
 

Дем
Dem_anywhere

аксакал


0--ZEvS--0> Конечно это все байка, я ее видел в нескольких источниках. Но прикольно!
Почему байка? Просто обсфукатором прошёлся.
   117.0117.0
RU Sandro #07.09.2023 01:13  @0--ZEvS--0#06.09.2023 20:42
+
+3
-
edit
 

Sandro
AXT

инженер вольнодумец
★★
0--ZEvS--0> Конечно это все байка, я ее видел в нескольких источниках. Но прикольно!

Не байка. Я видел подобный код в реале. Только там было проще — всё называлось по принципу m01, m12, m314, m45 и т.д.

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

Идея довольно глупая. Поскольку если код действительно ценный, то его можно запросто привести к нормальному виду. Если нет — то отправить в мусорку вместе с автором. Или, как в нашем(моём) случае, код таки использовать, но автора — в мусорку. Моём, поскольку разбирался в этом m-коде и правил ошибки — лично я.
   52.952.9
?? 0--ZEvS--0 #07.09.2023 01:30  @Дем#07.09.2023 01:13
+
-
edit
 

0--ZEvS--0

опытный

>> ... байка ...
Дем> Почему байка? Просто обсфукатором прошёлся.
По счастью я знаю, что такое обфускатор. Вполне могло быть.
   115.0115.0
AD Реклама Google — средство выживания форумов :)
?? 0--ZEvS--0 #07.09.2023 01:36  @Sandro#07.09.2023 01:13
+
+1
-
edit
 

0--ZEvS--0

опытный

>> ...байка...
Sandro> Не байка. Я видел подобный код в реале. Только там было проще — всё называлось по принципу m01, m12, m314, m45 и т.д.
Не судите строго, "байкой" я обозначаю не обязательно вымысел, а историю из не первых рук.
Sandro> Причина проста — этот деятель хотел сохранить за собой гарантированное рабочее место, поэтому пропускал свой код с нормальными именами через обфускатор, который вот и выдавал такую дичь.
В этой вот конкретной истории видится какой-то издевательский юмор, и мне нравится.
Sandro> Идея довольно глупая. Поскольку если код действительно ценный, то его можно запросто привести к нормальному виду. Если нет — то отправить в мусорку вместе с автором. Или, как в нашем(моём) случае, код таки использовать, но автора — в мусорку. Моём, поскольку разбирался в этом m-коде и правил ошибки — лично я.
Да, во многом согласен.
И еще в Вашем случае, я встречался с подобными метками в дизассемблерах. Ну, то есть, естественно, дизассемблер не знает, что делает ф-ция и как ее обозвать, и ставит номерные метки. А потом, какой-нибудь программист выдает это за свой код...
   115.0115.0
1 24 25 26 27 28 40

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru