Pull to refresh
2
0
Станислав @ArtStea1th

Wargaming, WoT, Computer game developer

Send message

ставил как-то CHDK в 2013-ом ещё, как раз для интервальной съёмки, долгих выдержек (больше минуты) и возможножности сохранять в RAW, т.к. мыльница SX230 HS из коробки не умеет это вот всё, если повозиться - может получиться вполне удовлетворительный результат ;) (тоже у себя с балкона снимал)

Спасибо за отличный доклад!
я про Йоду имел в виду :)
upd. за ссылки кстати спасибо, посмотрел, попробую
А как же двойное отрицание? Или, например фразы вроде 'Казнить нельзя помиловать' (запятую не ставил специально, и здесь скорее не про порядок, но всё равно интересно как разрешаются конфликты подобного рода)

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

смотрели 'Star Wars' в оригинале?, у нас — это просто немного необычно, в оригинале — стоит немного голову поломать, чтобы понять о чём речь и кстати для русскоговорящего — это не составляет особого труда :)
Благодарю за ответ, да, про '3' знал, просто не сразу понял о чём идёт речь, думал о порядке слов, а не о порядке букв. Ещё раз спасибо за статью.
Спасибо за статью, хотел векторизацию, хотел подробнее, не ожидал что будет, приятно удивлён.

1. Вопрос, какой тип БД используется для хранения векторной модели.
2. Правильно ли я понимаю, что редакционное расстояние == Расстояние Дамерау — Левенштейна, почему не назвали как есть?
3.
человеческий мозг достаточно легко восстанавливает информацию даже при потерянном порядке
Ну, на самом деле, я тоже не с первого раза «нагуглил» «правильный меандр». Сперва выдавало что-то про орнаменты.

Что-ж, скорее всего это просто «дело вкуса».

В любом случае ещё раз спасибо за публикацию (и за новое слово в моём словарном запасе :) Всегда приятно видеть на Хабре что-то про NES и другие олдскульные консоли.

Буду ждать с нетерпением русскоязычного продолжения.
В первую очередь спасибо за статью (перевод).

Извиняюсь за занудство, но ни разу не встречал для «квадратных» каналов названия «меандр». Немного сбивает с толку при чтении.

Я сам не успел ещё достаточно поработать со звуком. Занимался немного, себе в удовольствие и в основном с другой стороны, при разработке эмулятора.

И в большинстве источников, англоязычных, встречал для первых двух каналов названия вроде Square или Pulse (в оригинале статьи, кстати, так же Square), в русскоязычных же видел чаще «квадратный» либо «прямоугольный».

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

По поводу ADD() вы просто не знакомы с кодовой базой моего проекта, по «выдранному из контекста» коду это не так очевидно и там на самом деле ещё есть что «выделить», правда разделив выполнение на 3 а не на 4 части ).

Методов, подобных инструкции ADD() много (как я уже писал больше сотни), и подавляющее большинство из них таких как INC(), DEC(), ASL(), LSR(), AND(), ORA(), и пр. выполняются по одной и той же схеме:

1. манипулялии с одним набором флагов
2. непосредственно операция
3. манипулялии с другим набором флагов

Инструкции не вызываются непосредственно, они вызываются из коллекции по коду операции (индексу) в зависимости от исполняемого эмулируемой системой кода.

Сейчас все эти приватные методы, представляющие инструкции просто последовательно объявлены в классе и «вбиты» в инициализвтор коллекции (Action[255]).

Т.е. получается такая хорошая «простыня» на почти 700 строк практически однотипного кода.

Я думаю из описания становится очевидно, что необходимо в будущем, когда вернусь к этой части системы создать класс, например «Instruction», и ннкапсулировать в него последовательное выполнение предварительных действий, с проверкой предусловий, т.е. на какие флаги влияет инструкция, потом выполнение непосредственно тела в большинстве случаев это будет однострочное лямбда выражение, и постусловий (так же как и с предварительными).

Для вызывающего кода наружу будет только один метод вроде «Execute()», и всё это положить в какой-нибудь класс типо «InstructionSet», который выполнит первоначальную инициализацию (конструирование всех инструкций, можно например из xml-ки десериализовать или прямо в коде проинициализировать), а так же по обращению из «ядра» по «опкоду» выполнять инструкцию из внутренней коллекции. Инициализацию и выполнение можно так же отделить, но я думаю в моём случае пока в этом нет необходимости, потом будет видно.

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

благодаря следованию мудрым советам Дяди Боба, в частности SRP (также и в контексте методов) и правильному именованию

+ резко снижается шанс допустить ошибку, и легче найти и исправить в случае чего
+ код тестопригоден
+ код легко читается и понимается, всё очевидно
+ нет надобности в комментариях

и ещё один плюс, код в примере критичен по отношению к производительности, и не могу сказать про все языки и\или виртуальные машины (или отсутствие оных), но в моём случае, поскольку это .NET

+ CLR в рантайме просто отлично инлайнит короткие методы, в итоге мы получаем всё плюсы описанные выше без негативного влияния на производительнось

быстро, красиво и удобно, PROFIT!
вот не рассказывайте всем, что однострочные методы — это плохо, всё зависит от ситуации, или Вы просто не умеете их писать

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

Пример класса:
Register Example

Где-то в другом файле:
Extensions Example

Пример использования (одна из сотен инструкций):
Instruction Example

Чтож, судя по минусу в карму, который не знаю от кого прилетел, я думаю мне всё же стоит публично признать, что разработки Маска самостоятельны, независимы и действительно важнее того чего добились пионеры этой области. (Хотя останусь я все же при своём мнении).


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


Всех благодарю за обратную связь, с уважением.

Именно, он работал на США после войны, и про Королёва первой серьёзной работой которого был аналог Фау-2 Брауна.


Германию, в качестве страны внёсшей вклад в освоение космоса я не хотел принципиально упомянать т.к. цели у них были совсем другие. Которые даже нашли реальное применение (по Великобритании) во время войны.


СССР — конечно тоже позволил Королёву заниматься своим делом преследуя сперва исключительно военные цели, но потом всё пошло немного иначе.

да, вы правы, с юридической точки зрения думаю не должны, тут я прошу меня извинить, я думаю не правильно донёс мысль, я скорее имел в виду в этом смысле, например: "Каждый мужчина должен построить дом, посадить дерево и т.д.". Естественно он тоже ни по каким законам на самом деле никому ничего не должен. Или выражения вроде "Бла-бла-бла — это долг каждого кого-нибудь!".


Естественно это их дело, как распоряжаться своими средствами, я просто высказал как я считаю было бы правильно и как, например, поступил бы я. Маск — отличный пример для подражания. Опять же "правильно\не правильно" к этому слову тоже можно прицепиться, поэтому пишу на упреждение — правильно с моей точки зрения, вы не обязаны её принимать.


Про уже пройденный путь — я полностью с вами согласен (несмотря на то что с вашей стороны это был сарказм). Всё именно так и есть и с порохом и с китайцами и про Королёва.


Каждое следующее открытые — это совокупность предыдущих и без оных невозможно. Наш вид именно таким образом и развивается передавая базу накопленных знаний из поколения в поколение. И всегда есть те, и их не мало, кто эту "базу" развивает, дополняет и вносит посильный вклад.


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

Я не хейтер Маска, скорее наоборот, мне нравится то, что он делает и, я считаю, он правильно распоряжается своими миллиардами. Я так же считаю, что все без исключения из того же списка (миллиардеров) должны инвестировать в науку и развитие человечества на котором они заработали свои миллиарды. Некоторые так и поступают, это благое дело, а не тратить на всякую, простите, х*рню.


Однако, я думаю тут всё-же стоит сделать акцент на "уже пройденный путь", одно дело изобрести колесо и велосипед, и совсем другое потом немного изменить дизайн, да прикрутить к нему систему переключения передач и спидометр.


Первыми быть всегда труднее. Я сейчас про учёных, и про страны (Россию, Америку), которые способстовали развитию новых областей науки и отраслей промышленности. А последователи, они (уже в своих целях) просто поддерживают производство того, что уже отлаженно и обкатано, благодаря безупречным Российским запускам например.


Я ни в коем случае не принижаю его заслуги, но я думаю так же не стоит их и преувеличивать. В этом проекте безусловно есть инновации, но я не думаю, что там так уж много открытий, если они вообще имеют место быть.


Кстати мне так же нравится его "Тесла", я бы не отказался от такой, но всё что в ней используется — открыто вовсе не Маском, он просто правильно использовал то, что уже существовало, правильно вложил деньги, привлёк специалистов из правильных областей.


Плюс с текущим уровнем доступности знаний, где многое "в один клик" — на такое способен чуть ли не каждый более-менее образованный человек, другое дело захочет ли? Или пойдёт да купит себе остров, пару-тройку самолётов, с десяток яхт и т.п.


Он так же в праве рисковать и ошибаться на публику. Ну не получится что-то мир поговорит и забудет, деньги его. Да и до этого много другого получалось, получится ещё где-нибудь и в чём нибудь.


У страны нет права на публичные ошибки и риски, если что-то не получится, поверьте это уж точно лет сто, не забудут, если и вовсе не войдёт в историю. Да и деньги тут не чьи-то личные, а населения этой страны.

Возможно кого-то развеселю, не знаю к какому типу синестезии это онтести, на вики не нашёл (пытался найти "что у меня"), и синестезия ли это вообще.


Заранее приношу свои извинения, не хочу задеть чьи-то вкусы и\или предпочтения. Это просто мои ощущения.


У меня похожая ситуация с языками программирования, в частности именно когда пишу код в Visual Studio, по правде, обычно я больше ни в чём другом и не пишу кроме неё ).


Ощущаются материалы, не прикосновения к ним как на вики, а именно сами материалы, не знаю как это описать, где-то где скулы, за ушами внутри головы, особенно в момент компиляции, например:


C — ощущается (в хорошем смысле) как что-то кристаллическое очень твёрдое, плотное, надёжное, эдакий кремниевый монолит.


CUDA C — как C только более сыпучее, т.е. не монолит как C, а более гранулировано, по ощущениям ближе к кварцу, или кремний опять же как C, только из большего кол-ва мелких кусочков.


C++ — закалённая сталь с вкраплениями минералов.


C# — кварц\кремний в оболочке из плотной, очень прозрачной и чистой, не знаю как этот материал назвать, что-то среднее между резиной и пластиком, как резина гибкий, но плотнее (из похожего материала защитные чехлы для телефонов делали вроде).
При чём при выполнении, после билда в релиз, оболочка сбрасывается, ощущается как С\C++, однако, после билда в дебаг ощущается только оболочка.


Из языков разметки:


HTML — тонкая лёгкая, матовая отбеленная бумага с острыми краями которой можно порезаться.


XAML — практически так же как и HTML — только покрыта небольшим слоем глянца.


XML — как XAML — бумага, глянец, острые края, только не отбеленная.


Мне нравится как ощущается всё — то, что описал выше.


// ниже немного из "другой степи", с чем не могу сказать что работал, но так или иначе пришлось немного столкнуться, и что ощущается "не очень"


Java — ощущается как неньютоновская жидкость, т.е. в IDE — похожа на жидкость, хотя, даже ближе к желе, однако во время выполнения, ощущается как буд-то бы периодически происходит удар (Impact), и всё намертво затвердевает, превращаясь в очень плотную резину, потом плотнось восстанавливается. Здесь плотность ощущается НЕ как нечто хорошее (как в случае с C\C++), а наоборот.


php — по ощущениям как куча неаккуратно нарубленных на щепки трухлявых пеньков, разной длинны, формы, размера.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity