Как стать автором
Обновить
Илья Фролов @iFrolov read-only

Пользователь

Как запустить программу без операционной системы: часть 3: Графика

А я опять попиарю свой любимый сайт и статью про графическую ОС:
wiki.osdev.org/James_T._Klik — можно воспринимать как полезные, или наоборот, вредные советы.
Я эту штуку когда-то переводил на русский, но с тех пор как мне слили кармочку за перевод, зарекся тут публиковать свои тексты.
Портирование эмулятора конечно круто, но в итоге выглядит как набор костылей: «вот тут у нас была баночка с готовым кодом, мы туда еще налили несвежих конвервов, предварительно проварив». Так и подмывает написать в стиле современных быдлокодеров: «ну а чо, 200 мегабайт для программы разве много?».
Не раскрыта работа с банками, хотя кому надо и так все прекрасно знают.
В приведенном коде поиск видеорежима слишком наглый, я бы отсортировал в порядке «хорошести» и взял бы первый, который бы подходил ближе всего. С другой стороны, это уже совместимость и костыли как итог. Хотя вы все равно решили поддерживать сразу 24 и 32 бита, а пишете всегда 32, поэтому мало того что проблема с выравниванием (у меня от этого SIGBUS), так еще и целый байт пишется за буфер.

А теперь ложка дегтя. Почему такие статьи плохи.
Купил я значит «крутую» материнку p8h67-m pro. Гадость редкая, вернуть не получилось, но дело не в этом. В этой «крутой» материнке вместо биоса уже модное UEFI, крутые стрелочки-индикаторы, и вообще ГРАФОН вместо биоса. Надо сказать, подобное говно я видел еще во времена 80486 машин, тогда это называлось winbios и гадость рисовала окошки в стиле win3.11 с поддержкой мышки. Не помню уже, был ли это графический режим или текстовый с извращениями в знакогенераторе — этим многие тогда занимались (вспомнить бы утилитки от нортона).
Так вот. Я немного отвлекся.
В этой новой и модной, молодежной материнке, как вы уже догадались, тоже все графическое. Красивые вкладочки с градиентами, шрифты и вообще дизайнерские высеры по высшему разряду. В магазине все было неплохо, по крайней мере к говняным интерфейсам я уже привык, да и биосом пользуюсь редко.
А вот когда я пришел домой, то покупка превзошла все мои ожидания. Проблема в том, что на моем старом CRT-мониторе я видел обрезанное изображение, часть списков я просто не видел, половину опций я просто не мог выставить, красивые текстурки превращались в разноцветный мусор, ну а выключение питания при походе по менюшкам — это вообще замечательно. Просто поход по меню — даже не переключение опций. Нет, иногда это чудо дизайнерского высера инициализировалось «корректно», дико мерцая экран таки отображал весь экран. В эти недолгие моменты я старался выставить все нужные опции, равно как и запомнить комбинации, дабы можно было управляться вслепую.

Хотя я сам собирался написать низкоуровневое UI, пока мне не надоело решать мелкие нюансы. Может быть тоже такое говно получилось бы.
Хотя идея меня так и не покинула. Ну не нравится мне современный UI, да и дело даже не в текстурках и скинах.

Хотите заблокировать распространённые пароли? Извините, это запатентовано

Меня бесит, что каждый говноресурс считает себя самым важным и необходимым.
К примеру, гугль ну никак не хотел принимать пароль qwerty — пришлось вбить что-то вроде kjhsdgfkjhsgjkhdfieruy, который я сразу же и забыл.
Но я регистрировал аккаунт для гугломаркета, поэтому пароль остался где-то в недрах планшета, все равно про его существование я уже не помню.
Некоторые любят долбить напоминаниями вида «вы не меняли пароль полгода». ДА Я ХОЖУ К ВАМ РЕЖЕ!
«Вы забыли привязать свой телефон» — да хрен ты его от меня когда-нибудь вообще получишь, не собираюсь я разному говну телефон свой давать.
Итог: я даже не знаю своего пароля в гугле, хотя там могло бы быть qwerty и это было бы в моем случае лучше.

Хочу процитировать Каганова:
Хваленый Ubuntu оказался жутким дерьмом. Да, он конечно красивый, и умный, и понимает всякое оборудование (по-моему это не его заслуга), но первый звоночек прозвенел, когда Ubuntu не позволил выставить пароль пользователя меньше 6 символов. Не выдал предупреждение о безопасности, а просто сказал: нет, никак не меньше 6 символов! Не можешь придумать сам — я тебе придумаю набор букв чтоб ты мозг сломал. А не нравится — вообще гуляй отсюда, меньше ставить не позволю! Да какое твое дело, чурка африканская, какой длины у меня пароль? Думаешь, «Q7wEz» подобрать легко, а вот «abc123» — уже все, неподбираемо? Да кто ты вообще такой, указывать мне, какие мне ставить пароли на моем собственном домашнем компьютере? Что ты понимаешь обо мне, моей внутренней сети и моих задачах? А может я полярник один во всей Антарктиде на ноутбуке с отключенным интернетом в негнущихся варежках на пингвиньем пуху, и для меня каждый лишний символ — пытка? Ты думаешь, что ты такой умный, а я такой тупой пользователь, что ты лучше меня знаешь, что мне надо? И у тебя есть право мне жестко навязывать свое мнение? Да ты тогда не Линукс ни разу, ты просто Виндоус! Потому что Виндоус — это не наличие/отсутствие ядра от Торвальдса, а вот эта самая тоталитарная идеология: за тебя все решено, слушай, Пахомыч, свои «валенки-валенки» и не гони, а только деньги плати

Полностью присоединяюсь к Каганову и всячески поддерживаю подобные патенты (хотя патенты и зло). Пользователю виднее, какой пароль он хочет. И если не здравый смысл, то хоть патенты одних идиотов будут сдерживать других идиотов.

Как мы искали Марс-3

Мы ищем марсоход или тестим алгоритм процессинга?
Да и процессинг только улучшает видимость и подсвечивает интересные места, т.е. только помощник.

Хипстерский Bootstrap. Вспомни миллениум!

Делать такие вещи своими руками уже не модно. Это же так смешно — взять готовое решение и засунуть на сайт. А главное оригинально.
Один только я наверное не пользуюсь заготовками и стараюсь сделать максимально оригинально.
Тьфу.

Как мы искали Марс-3

Это можно точно спроецировать на сферу/проекцию (меркатор к примеру) с привязкой координат?
Если можно, то можно склеить 1 очень большую карту всей планеты, как это сделано, к примеру, в Google Maps.
Так как есть разные снимки, то можно было бы сделать несколько разных слоев, дабы оценивать по разным параметрам.

Есть ли смысл от пре-процессинга вроде такого: rghost.net/45223848/image.png
Здесь применено растягивание диапазона снимка + выделение потенциальных объектов
Такой штукой можно раскрасить все карты, если это имеет смысл. Возможно стоит возможность делать пользовательские оверлеи.
Хотелось бы узнать от специалиста нужность такой штуки.

У самого есть обоина для android, которая показывает очень большие картинки (ограничение от jpeg — 65536*65536 пикселей), писал для себя любимого и под свой планшет, потому на люди не выкладывал. Можно бы допилить.

Хипстерский Bootstrap. Вспомни миллениум!

У таблиц должен быть указан border=10 с таким 3д-эффектом, тонкие линии у таблиц в нетскейпе надо было еще уметь сделать, никакого глоу при фокусе форм кроме системного, в заголовке попытка изобразить BLINK + бегущая строка ниже — это чистый нонсенс, ибо работали эти фишки в РАЗНЫХ браузерах, поэтому должно быть что-то одно. Про закругленные уголки вообще смешно. Нету замены HR-тега в виде радужной полосочки. И вообще анимаций мало. Единственно что удалось — кнопки. В общем, кто-то из быдло-дизайнеров прикололся, сделал смишняфку для такого же быдла, а сами тех времен не застали. Тьфу и только.

Как я однажды преподавал программирование не как все

Надеюсь, таких учителей можно было бы расстреливать, если бы такое было в реальном мире.
С прямой трансляцией во все школы, дабы перенимали передовой опыт.

Извлечение звука из фотографий пластинок

Данное задание скорее на сообразительность и решается «устно», как в школе.
Обрати внимание как нарисована пластинка — дорожки широкие, изменения только яркости и строго поперек самой дорожки.
Остается только написать функцию спирали (синус и косинус из школы думаю все помнят) и взять яркостные value. Звук готов.
Можно конечно извратиться с субпиксельными смещениями и попробовать получить большее разрешение звука.
Распознавание речи — для цифр хватит простого peak match, особенно при небольшом семплрейте.

Жаль, что меня в самсунг не берут и тестов таких не дают.

Как слушать радио с использованием powershell и node.js

вы не понимаете…

curl -LA trueLinuxPlayer bit.ly/10BOzy6 | ffmpeg -f mp3 -i — -f s16le -ar 44100 -ac 2 — | sox --bits 16 --channels 1 --encoding signed-integer --rate 44100 -t raw — -t raw — vol 5 | aplay -c 2 -f S16_LE -r 44100

Одна из самых больших DDoS-атак в истории

Спамхаус давно нарывался, не удивлюсь если у кого-то терпение лопнет и пойдет физическое уничтожение.
Вспоминается сюжет End of Evangelion, там правда силы были изначально неравны.

Использование драйверов из Android приложения

Что я узнал нового, прочитав эту статью?
1. Я научился делать приложения с 1 кнопкой
2. Я научился компилировать хелловорлд с JNI, который умеет открывать и читать^wиоктлить файлы
3. Зачем-то выгружаю и загружаю модули, даже если я только что их залил на телефон
4. Я научился смотреть на сообщения от ядра через dmesg.

Иными словами, ничего нового и полезного. Я надеялся увидеть тут мануал по написанию драйверов, ибо мой планшет не видит мою UVC-камеру, не видит блютус-донгла, да и вообще ничего не видит кроме мышки. К примеру, драйвер своей камеры я правил, правда под linux, думал получу новые скиллы и смогу его портировать. А увидел компиляцию нескольких туториалов «как запустить компилятор и не описаться». Ах да, еще увидел название классов, совпадающие с никнеймом.

Шаблон программирования «Текучий интерфейс» в PHP. Свежий взгляд

Так тут все правильно же, из b() возвращается Test, в котором f() нет.

Попытка перевода и озвучки видео в домашних условиях

Лучше заняться улучшением голоса, а не паразитными искажениями.

Попытка перевода и озвучки видео в домашних условиях

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

Попытка перевода и озвучки видео в домашних условиях

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

Резать на фразы — долго, однако man sox спасет от мастурбации

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

Сведение с автоприглушением конечно занимательно, но я предпочел написать утилитку, которая читает два файлав зависимости от тишины одного, регулирует громкость второго, сводя результат. Его еще разик компрессором и можно клеить.

За пережатие видео я бы убивал, поэтому продклеиваю примерно так:
ffmpeg -i source.avi -i mysound.wav -map 1:0 -map 0:1 -vcodec copy -acodec libaacplus -ab 64000 final.avi

аналогично для любых форматов

Хотя поездка на дачу — это конечно круто

Кросс-платформенная мобильная игра и палки в колеса от Android

> Игру мы писали на Unity

Впринципе, этого достаточно, дабы дальше не читать. Однако я, тоже будучи разработчиком под Android, решил проникнуться сочуствием к братьям меньшим.

> наша задача будет только жать «publish» под разные платформы и пить кофе.

Собственно, это главная часть, остальное можно опять не читать. Посаны на раёне прочитали про Юнити и решили срубить бапки. Какое вообще программирование?

> iPad 2 дает приложению под ресурсы немногим больше 100 Мб RAM

Как же этого нам болезным мало. Всего-то каких-то 100 мегабайт. Для сравнения, в 1991 году, компании LucasArts (Lucas Film Games в девичестве) хватало 5 (пять) МЕГАБАЙТ на производство многочасового интерактивного кинца. Здесь же бедным, сирым и убогим дали всего-то 100 мегабайт.

И да, творение 1991 года я прямо сейчас прохожу с большим удовольствием, порой играю в игры со Спектрума (48 КИЛОБАЙТ НА ВСЕ), а топ гуглоплея забит многомегабайтным говном, ИГРАТЬ НЕЧЕГО.

Так может быть не в мегабайтах дело?

> Например, на градиентах вы увидите весьма неприятный dithering.

А отключить дизеринг слабо? Уж не знаю как в вашей юнити грузятся текстуры, а в нормальном андроиде битмапы можно подгрузить как-то так:
BitmapFactory.Options op= new BitmapFactory.Options();
op.inDither=false;

> столкнетесь с крашами на куче устройств, т.к. если устройство видит неподдерживаемый формат, то пытается его заранее распаковать в 32bpp, а в результате — вылетает по памяти.

Значит, отловить эксепшен и скачать картинку поменьше, мы уже не можем?

> Ведь гонять все эти мегабайты туда-сюда — тоже удовольствие небыстрое.

Действительно, осталось понять ЗАЧЕМ гонять туда и сюда.

> Стоит ли говорить, что все эти танцы с текстурами весьма усложняют пайплайн?

Не стоит, просто кому-то надо написать сборочных скриптов.

> И предстоит вам копаться в настройках своего проекта в Google Play и руками отключать какие-то заведомо фейловые устройства. Ну, или иметь нереальный парк устройств.

Вот за дискриминацию устройств, я бы сразу подавал в суд. Но суд — это долго и дорого, поэтому я бы сразу брал топор и ОТРУБАЛ КРИВЫЕ РУКИ. Дебилоиды-менеджеры так боятся обосраться, что даже не показывают свое говно никому, кроме «сертифицированных» говноедов от самсунга и других топовых вендоров. А что делать мне, если я самсунг в гробу видел и взял девайс (на том самом Mali) от никому не известного вендора? Правильно, мне остается только молча вас ненавидеть и желать вам смерти, самой жестокой и мучительной, когда в гуглоплее я не смогу найти приложение. Мне кидают прямую ссылку, кричат ставь — а я не могу. На меня смотрят с недопониманием. Иногда уже установленные приложения, перестают работать — так как ушлые менеджеры догадались включить проверку устройства. Было приложение — и все, его нет. Не, в самом деле, к комментариям в гуглоплее нехватает кнопки «отрубить вот ему руки». Можно даже с галочкой «отрубать с особым цинизмом, подогрев на костре».

> Думаете, вы все контролируете? А вот фигушки!

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

> А также — зашифруйте все важные хранимые циферки (количество денег у игрока и т.п.), т.к. программ а-ля ArtMoney под дроид тоже хватает.

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

В целом, проблем на платформе действительно хватает, но описанное в статье — плачь говноменеджера, который к программистам отношения не имеет.

Что такое RTB: новые технологии интернет-рекламы

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

Я нашел статью (http://libertygrant.co.uk/portal/?p=2111) про такой тип аукционов, и в ней имеется следующий вывод:

"[...] аукцион второй цены заставляет игроков как можно точнее определить для себя настоящую ценность лота и назвать именно ее. Тогда каждый из них имеет гарантию получить лот и заплатить немного меньше – при условии, что он его оценил больше остальных. Для организаторов, в свою очередь, выгода заключается в том, что участники в целом делают более высокие ставки."

То есть в основе лежит именно психологическая, поведенческая уловка, о чем я предположил в первоначальном комменте. Но у меня все равно вызывает сомнение абсолютная успешность этого подхода. Думаю, окончательное решение о предпочтительном типе проводимого аукциона площадка, т.е. продавец рекламного места, решает на основе собственных статистических данных о уровне дохода в том или ином типе. Тем более что, как я подсмотрел в спецификации, протокол OpenRTB позволяет определенным параметром указать тип аукциона при запросе на выставление лота.

Что такое RTB: новые технологии интернет-рекламы

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

Что такое RTB: новые технологии интернет-рекламы

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

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность