eu_tomat
-
Публикации
2 666 -
Зарегистрирован
-
Посещение
-
Победитель дней
331
Комментарии блога, опубликованные пользователем eu_tomat
-
-
Циферка потерялась.Вот как выглядят три синусоиды с разными частотами: 110 Гц, 220 Гц, 40 Гц - на одинаковом масштабе.
-
-
23 оттенка зеленого:

-
3
-
-
Как обойти цензуру и читать удалённые сообщения в чате форума
Блог пользователя: qwertyMAN
Эмблемой агентства Пинкертона стал открытый глаз с девизом: «Мы никогда не спим».Интересный способ, но это нужно постоянно всех подозревать и мониторить чат. -
Говорят, наш брат Сизиф был проклят аналогичным образом: брутфорсил какие-то простые формулы, и даже получал какой-то результат, но результат его всегда разочаровывал.
Для начала придерусь к коду: n["T"] удобнее записывать в более компактной форме n.T. На результат не повлияет, но код станет светлее. Но твой код погубило не это. Он выдает именно тот результат, который и должен. Брутфорс тут вообще не нужен. x,y,z = maxX,maxY,maxZ – вот и вся программа.
Математика здесь такая: при увеличении размера параллелепипеда в любом из измерений его объем растет быстрее площади. А так как твоя печка пытается максимизировать это отношение, то она займет любой доступный ей объем.
В этом контексте имеют смысл две вещи:
1) при заданном одном размере вычислить два оставшиеся;
2) при заданном количестве стройматериала вычислить оптимальные размеры будущего строения.
-
2
-
-
А зачем нужна отдельная функция для получения строки конфига?
При этом еще и конфиг зачем-то три раза перечитывается.
Есть же более простое решение, записываемое короче и работающее быстрее:
ls = io.lines(fpath) username, workspace, path = ls(),ls(),ls()
-
3
-
-
Вот, тебе же не влом писать свою операционку. Вряд ли ты ее напишешь, не копаясь в чужом коде.Вот тебе не влом было копаться в чужом коде...)
А этот код оформлен более-менее достойно, и разобрать его не сложно – в этом его большой плюс.
В конце концов, это самое позитивное, что я мог сделать с этим кодом в тот момент. Тебе же понравился результат?
-
Да, я видел, как там завернуто. Но это как раз таки понятно: задержка – лучшее время для обработки событий. В пределах тика задержка вполне себе удовлетворительная, если обработчики событий не ресурсоемкие.
К задержам без sleep (без yield) я отношусь плохо, т. к. это шаг к лагодрому. Но если задержка длится миллисекунды и используется раз в минуту, то почему бы и нет.
-
На практике же выходит значительная разницаПришлось вернуться к os.clock: аптайм давал неточное время. Мы можем здесь положиться на клок, так как этот код не будет делать yield во время слипа, только при вынужденном торможении (и тогда разность будет незначительна).
c0=os.clock() t0=computer.uptime() for i=1,10^7 do end print(os.clock()-c0,computer.uptime()-t0) -- 2.92 2.94 c0=os.clock() t0=computer.uptime() for i=1,1000 do os.sleep(0.05) end print(os.clock()-c0,computer.uptime()-t0) -- 2.37 71.4
Само по себе использование os.sleep(0.05) неявно делает yield. -
Оу, классно! Не ожидал от Lua возможности даже имитировать указатель на переменную.
Но у меня сомнения относительно os.clock(). Всегда думал, что это время, затраченное процессором на выполнение кода, а оно совпадает с реальным временем лишь в случае, когда процессор 100% своего времени тратит на выполнение кода именно на этом компьютере. Что-то типа активной части uptime.
-
1
-
-
Я хотел акцентировать внимание не на том, от чего следует уйти, а на том, куда желательно прийти. Все мы говнокодим в начале пути: сначала пелёнки пачкаем, потом ломаем инструменты на уроках труда, залагиваем сервер майнкрафта, заплёвываем какахами своих оппонентов по форуму, и даже превращаем в брак целые партии продукции на заводе. Почти все понимают, что это плохо, но не у каждого получается этого избежать. Кто-то не знаком с теорией, у кого-то не достаточна практика, а кому-то нужен практический совет и живой пример. Последнему и посвящена запись моего блога. Или у тебя возникло чувство, что мой текст недостаточно длинный?
-
2
-
-
О, классная тема, qwertyMAN! Спасибо, что напомнил мне опубликовать позабытый текст. Заходи на огонек.
пп.1,3: Krutoy уже всё объяснил. Высосано из пальца. Следует исходить из требований задачи, а если они тебя не ограничивают – то из личных предпочтений.
пп.2,4: Тема комментариев весьма противоречива и холиварна.
Во-первых, комментировать код следует настолько, насколько это помогает самому автору впоследствии разобраться в своей же программе. Новички склонны комментировать элементарные действия, а более опытные программисты комментируют блоки покрупнее, поясняя алгоритм или структуру программы. Также имеет смысл комментировать всякие нестандартные трюки. Впрочем, для кого-то использование числа вместо булевой переменной – вполне рутинный подход.
Во-вторую очередь код нужно комментировать так, чтобы он был понятен потенциальному читателю. Читатель бывает разный, на каждого не угодишь, поэтому в случае сомнений думай в первую очередь о том, сможешь ли ты сам быстро понять свой код, например, через год.
Дилемма: использовать длинные и легко читаемые названия переменных или же использовать короткие, один раз прокомментировав их?
Я в небольшом проекте предпочитаю короткие названия с комментариями: код короче, и читается быстрее.
В проекте с большим количеством переменных удобны более длинные названия переменных.
Но опять же, всё относительно. Есть, например, ООП, пространства имен и прочее, позволяющие уменьшить количество переменных в зоне видимости.
В целом спорные советы, смущающие новичков. Только к глобальным переменным нет вопросов.
И нет ничего плохого в написании кода в обычном блокноте или даже в редакторе OpenOS. Мазохизм, конечно, но есть любители, сделавшие свой выбор осознанно.
-
2
-
-
1. Шрифт не понравился. Нужна возможность настраивать нужный шрифт в конфиге.
2. Теперь не получается скопировать и сразу запустить на выполнение несколько команд вместе с переводами строки.
Например, раньше для быстрой проверки свойств можно было просто вставить в консоль весь текст целиком:
lua com = require('component') s = com.openperipheral_sensor for k,v in pairs(s) do print(k,v) endТеперь приходится либо копировать по одной строчке, либо создавать файл под такие эксперименты. -
О, теперь даже ферму деревенских жителей можно автоматизировать! Вот это реальный чит!
-
Как бы с новым геолайзером не пришлось использовать 33-кратное сканирование. Но ты прав, не так страшно всё это. Мы ж программисты, придумаем новую копалку круче прежней.Какие-то детские копалки вы используете, тройное сканирование дальних областей даст нормальное приближение к реальной плотности блока. Конечно, энергии уходит больше, но под землей куча угля, его ведь можно прям в роботе жечь.
-
1
-
-
Ссылочкой на баян поделишься? В твоей теме я выложил результат, здесь же объяснил, как его достичь. Там же я пообещал выложить этот текст, и лайки, оставленные под обещанием, говорят, что необходимость есть.Но неужели была такая необходимость расписывать длиннопост и повторять то что уже ранее говорил в чате? Так и хочется сказать - это баян.
К чему это? К тому, что кодеров много, а ошибки одинаковые. Не ты первый, не ты последний. Подчистишь код, и все узреют его великолепие. Программирование очень тесно связано с математикой, не всегда можно отделить одно от другого, и оптимизация должна выполнятся на всех этапах. Если ты пренебрегаешь логикой и математикой, твой алгоритм будет плохим изначально, и даже виртуозное владение прикладным языком ему не поможет. Но и пренебрежение языком тоже способно сильно ухудшить готовый результат. Математика в алгоритме, математика в коде — все это говорит о том, что твоя программа написана в спешке, об этом мой пост. Про использование pcall, например, я не стал говорить. Может, потом расскажу, если буду часто видеть подобное.Странно было сравнивать мой код где я нубил в математике, с кодом где нубят в программировании. К чему это??? Я смотрел чужой код чтобы обучится оптимизации кода и не пишу подобных костылей.
Неужели этот вопрос и вправду интересует тебя больше всего? Пишу ли я программы, играю ли я на сервере – это ни имеет никакого отношения к данному тексту. Как и все люди, я делаю, что могу, а что не могу – не делаю. Я даже в сингл редко захожу. А чтобы писать программы, требуется владение предметом.И самое интересное. Ты докапываешься ко всем подряд прогам. Может уже начнёшь выкладывать свои на форум? Я вообще не в курсе пишешь ли ты проги, такое ощущение что ты только как обсуждать проги ничего и не можешь.
Кстати, именно поэтому я и не докапываюсь, как ты выразился, «до всех программ» – у меня просто нет времени на изучение их всех. Мало прочитать код, требуется еще понимать механику Майнкрафта и модов. Кроме того, есть вещи, которые меня вообще не интересуют. Например, темы мини-игр, декора или графики я бегло просматриваю, просто пытаясь понять, что там обсуждается, и зачем оно нужно. Не понял – прохожу мимо. Да простит меня твой Cube, но и он меня не заинтересовал, я не знаю, зачем он нужен, и мне даже в голову не приходило заглянуть в его код.
Еще раз посмотри, до каких программ я докапывался: либо там откровенный тупняк новичка в десятке строк, либо меня заинтересовала идея программы, и в этом случае я готов читать код.
Так что, Cube пройдет мимо, не обижайся. Внезапно увлекшись турелями, я и так отложил рыбалку Asior'а, а там еще есть, с чем разобраться. Сам Asior не спешит с правками, поэтому поле свободно. Далее на очереди Quant с его модемом на редстоуне. Что поделать, тащат меня эти штуки. До них-то я и докопаюсь. Еще хочу докопаться до геошахтера Артема, но т. к. его самого уже нет на проекте, мне будет проще самому всё написать с нуля от логики до реализации. Вот, тогда-то ты и погрызешь мой код. А пока я буду всех радовать иными формами творчества.
Твори добро, брат, и тогда никто не помешает тебе дюпнуть чемодан с иридием.P.S. и не пали мои бэкдоры плз. (если найдёшь)
-
2
-
-
Жизнь – борьба. Одни создают помехоустойчивый код, другие его расшатывают.А может он, избыточностью - помехоустойчивость улучшал ?

-
1
-
-
Даже три функции. Твой код меня поразил еще летом, но тогда я внезапно выпал из проекта.О, моя костыльная функция для робота.
Сейчас же твой код пришелся очень кстати. Шедевральная избыточность.
-
1
-
-
Тебе ли не знать, познавший Матрицу. Желания – говорить ли об алгоритмах, или писать программы – не обязаны быть синфазными. Всему свое место и время.Ваша логика тоже удивляет, говорить об алгоритмах при этом "А так как писать программы я не сильно хочу".
Тут уже диванной аналитикой попахивает.
-
1
-
-
О, да! Хороший совет.Теперь главное вовремя перезагружаться, чтоб зависаний небыло))
P.S.:Встретимся на рыбалке. Сейчас мне этот проект наиболее интересен. Планируешь доработку своей схемы и программы?
-
А что за метод такой? Что-то я не смог нагуглить ничего подобного.сканирование ресурсов в толще породы осуществляется геосканером методом “фалангового сканирования” (“бегущий кластер”, “удар катаны” )
-
-
Не буду цитировать запрещенный на этом сайте рекламный ролик, все и так его помнят.
Asummonster, сёстры не спешат комментировать мой пост, а конкретно эта установила для меня очень высокую планку, написав в разделе "обо мне":
- А я Томат.Если вы не яблоко, вам будет трудно меня заинтересовать.
-
4
-
2
-
-
Понимаю твою боль, мой Крутой брат. Но много ли сестер пишут код у нас на проекте?
Сестры, откликнитесь! Если вам интересны мои посты, плюсуйте комментарий Крутого брата, оставляйте свои комментарии, и тогда я буду писать и для вас тоже. Простите меня, если вас не заметил. Будьте счастливы все на IT-сервере.

Запускаем дронов!
в Totoro Cookies
Блог пользователя: Totoro
Опубликовано:
Игроки выросли, а дроны остались.
https://www.youtube.com/watch?v=pCrpb_N6YG8