Aug. 9th, 2016

ewoke: (Default)
http://www.hanselman.com/blog/AnalysisParalysisOverthinkingAndKnowingTooMuchToJustCODE.aspx


"
Lately, I've been noticing that the more experience I gain, the longer it takes me to complete projects, or certain tasks in a project. I'm not going senile yet. It's just that I've seen so many different ways in which things can go wrong. And the potential pitfalls and gotchas that I know about and remember are just getting more and more.

Trivial example: it used to be just "okay, write a file here". Now I'm worrying about permissions, locking, concurrency, atomic operations, indirection/frameworks, different file systems, number of files in a directory, predictable temp file names, the quality of randomness in my PRNG, power shortages in the middle of any operation, an understandable API for what I'm doing, proper documentation, etc etc etc.
"

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

Простой пример: то, что должно быть "хорошо, давай запишем в файл". Теперь я беспокоюсь о разрешениях на запись, блокировке файла, параллельном доступе, atomic operations, indirection/frameworks, разных файловых системах, количестве файлов в каталоге (значимо! на фат32 макс 512 файлов на каталог, потом "ку-ку", прим. перев.), предсказуемых именах временных файлов, качестве случайности выдачи в моем генераторе случайных чисел, отключения питания в середине любой операции, ясного АПИ для того, что я делаю, ясной документации, и т.д и т.п

p.s. В то время, как быдлокодеры НЕ ДУМАЮТ, они ТУПО ШАБЛОННО ДЕЛАЮТ ТО, ЧТО ТИПА РАБОТАЕТ, действительно знающие люди проводят время в подобных мученях.

p.p.s Навеяло https://habrahabr.ru/post/301924/

p.p.p.s. Отстается открытым вопрос ЧТО ДЕЛАТЬ? Где та золотая середина, где на одном краю применение QT с его библиотеками по несколько десятков мегабайт (делающих то же самое, что вин32 апи, т.к. суть обертки.. весом в дородную ОС) и практически ассемблерный уровень самого вин апи, на другом.
ewoke: (Default)
https://habrahabr.ru/post/307158/

Существует ли закон Мура объективно? Или это негласная договоренность между производителями?

Сложно заглянуть под ковер корпорации и в головы людей, работающих в них. Но мое личное мнение, что 18 месяцев на «удвоение мощности» — это производственный срок на выпуск нового продукта. Это же чертовски удобно, когда целая армия потребителей, каждые два года с нетерпением ждут «вдвое быстрого процессора» и с негодованием смотрят на старый и очень медленный камень, купленный за бешенные деньги на прошлое рождество.


* Проорал в голосину
ewoke: (Default)
Попробуйте это:
Выключите ноутбук,
отключите источник питания,
выньте аккумулятор,
нажмите и удерживайте кнопку питания в течение 30 секунд,
положить батарею обратно, подключите шнур питания.



Я уже писал о том, что проблема с невключением или с незарядом АКБ в ноутах Lenovo решилась таким образом.

Но вот сегодня ноут HP Paviloin dv5, с неработающим (программно отключенным, об этом даже говорит hp connection manager) WiFi. На верхней сенсорной панели - там где горит рыжим или синим значок файфай, ничего нет, при том что остальные значки (регулировка звука) светятся.

Чертова магия, да?


Many of you might be curious to know why did this solution work? Well, the answer is not that complicated either. The touch buttons work on some sort of sensing of skin touching the surface, and must involve some electric charges to accumulate on the surface of the touch buttons. On removing battery and power, and pressing power button while battery removed, you have discharged the surface of eclectic charge imbalances and it starts working. It will be too much science to discuss beyond this point.

, ответил автор решения https://fixim.ru/problem/q673-не_работает_сенсорная_панель
ewoke: (Default)
первая часть http://ewoke.livejournal.com/409160.html

Быть пораженным достойным врагом - честь, милорд. Бесчестие - быть пораженным машинами врага, созданными из останков наших машин.

Летопись Противостояния, стр. 345


итак, у нас есть большой массив, описывающий игровой мир. массив состоит из координат X и Y объектов, и типа этих объектов.

давайте заселим его уже кем-нибудь!

кем - рано еще. а вот чем - самое время.

разбросаем по карте скопления металла (СМ).

(для упрощения - на главном массиве тип объектов описывается не битовой комбинацией, а байтом; т.е имеем массив их 2х байт на X, 2х байт на Y, и 1 байт на тип объекта)

цикл инициализации 1 - раскидываем скопления.

возьмем часть от возможных 16к объектов, для описания СМ, пусть будет 1к пятен, для начала.

(чтобы было чем "питаться" производству в начале игры)

x= random (60000)
y= random (60000)
o= metal_spot

повторить 1024 раза

теперь цикл 2 - инициализируем состояние пятен

берем еще массив в 1024 однобайтовых значений, и задаем им случайные 1..255 значения

готово!

теперь, при рендеринге картинки, мы смотрим, попадают ли координаты объекта на карте в наш viewport ("окно", через которое мы смотрим на игровой мир), является ли объект СМ, и если это так, рендерим СМ, просто "напыляя" в цикле 1..15 (собственно, плотность СМ, уменьшенная в 16 раз, чтобы лишний раз не занимать CPU рисованием) кружочки случайного размера случайным образом вокруг точки с координатами СМ в игровом мире, в пересчете на viewport.

т.е. для значений X и Y от 0 до 600, все элементарно.
если координаты превышают 600, мы делим на 600, а остаток считаем за экранные координаты.

вот как то так.

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

Profile

ewoke: (Default)
ewoke

October 2025

S M T W T F S
   1234
5 67891011
121314 15161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2026 02:28 pm
Powered by Dreamwidth Studios