перевод

Постов: 820 Рейтинг: 1853591
12997

Муравьи и Ктулху.

Развернуть
Муравьи и Ктулху.
3717

Подарок любопытному другу

Развернуть
Подарок любопытному другу

*Привет, просто возвращаю тебе твой нос, я нашел его в своем деле. Не благодари!

3360

Crash Bandicoot, или как разработчики упаковывали целые игры в 2MB RAM

Развернуть

Перевод:

Вот вам анекдот из конца 90-ых. Я (Dave Baggett) был одним из двух программистов (вместе с Andy Gavin), разрабатывающих CrashBandicoot для PlayStation 1. 

Crash Bandicoot, или как разработчики упаковывали целые игры в 2MB RAM

Оперативная память была главной проблемой даже в те времена. У PS1 было всего 2MB RAM, и нам приходилось совершать безумные вещи, чтобы уместить в них игру. У нас были уровни, содержащие более 10MB чистых данных, и эти 10 мегабайт должны были постранично загружаться и выгружаться в память динамически, без каких-либо видимых задержек для игрока, при фреймрейте в 30 кадров в секунду.

Crash Bandicoot, или как разработчики упаковывали целые игры в 2MB RAM

В основном это работало за счёт того, что Andy написал потрясную систему подкачки, которая должна была подгружать и выгружать страницы в память размером 64K, по мере того как Crash проходил уровень. Эта система была настоящим произведением искусства, задействовавшая весь диапазон доступных инструментов, начиная от высокоуровневного менеджмента памятью, заканчивая прямой работой с памятью и программированием в опкодах. Andy также пришлось контроллировать расположение байтов на CD-ROM, чтобы даже при скорости 300KB/сек PS1 могла успеть загрузить данные для всех деталей уровня к тому времени как Crash добирался до него.

Я же написал упаковщик, который брал ресурсы игры — звуки, арт, код на lisp для управления существами, и т.д. и упаковывал их в страницы по 64К для системы подкачки, написанной Andy. (Между прочим, задача упаковки в страницы фиксированного размера набора произвольных размеров данных — NP-полная, и, почти не поддающаяся решению за полиномиальное, т.е. сколь либо приемлемое время. Задача о ранце.).

Некоторые из уровней едва помещались, и мой упаковщик использовал целый набор алгоритмов (first-fit, best-fit, и т.д.), чтобы пробовать получить наилучший вариант упаковки, включая стохастический поиск, похожий на процесс градиентного спуска, используемый в алгоритме имитации отжига. По существу, у меня была целая куча разных стратегий упаковки, и я пробовал их все и использовал наилучший получившийся результат

Crash Bandicoot, или как разработчики упаковывали целые игры в 2MB RAM

Проблема использования случайного направленного поиска заключалась в том, что ты никогда не мог быть уверен, что сможешь ещё раз получить точно такой же результат. Некоторые уровни Crash Bandicoot умещались в максимально допустимое количество страниц (21, если не ошибаюсь) только лишь из-за того, что упаковщику повезло и он нашёл этот вариант. Так же, это означало, что как только ты получил упакованный уровень, ты мог поменять код для какой-нибудь черепашки и уже никогда не получить упаковку, помещающуюся в 21 страницу. Были случаи, когда дизайнер хотел что-нибудь поменять и это раздувало количество страниц, и нам приходилось менять что-нибудь в других, почти случайных, местах, до тех пор, пока упаковщик снова не найдёт рабочий вариант. Попробуй объяснить это раздражительным дизайнерам в 3 часа утра :)

Crash Bandicoot, или как разработчики упаковывали целые игры в 2MB RAM

Самым лучшим эпизодом этой ретроспективы и самым худшим периодом времени тогда была упаковка кода ядра на С и ассемблере. У нас было буквально пару дней чтобы выпусть «gold master» версию — наш последний шанс успеть к сезону праздников, до того, как мы потеряем ещё один год. И мы сидели, переставляя C код в семантически одинаковые, но синтаксически разные конструкции, чтобы заставить компилятор выдать код, который был на 200, 125, 50, а потом и 8 байт меньше. Переставляли, например: «for (i=0; i < x; i++)» — а давайте попробуем переписать это в while-цикл и используем для итерации переменную, которая уже использовалась где-то ранее? Это всё делалось уже после того как мы перепробовали стандартные трюки, такие как помещение данных в два последних бита указателя (и это работало только благодаря тому, что адреса R3000 были выровнены по 4 байта).

В конечном счёте, Crash yместился в память PS1, и даже осталось свободных 4 байта! Да, 4 байта из 2097152. Удачи. 

Crash Bandicoot, или как разработчики упаковывали целые игры в 2MB RAM

Оригинал: https://www.quora.com/How-did-game-developers-pack-entire-ga...

9442

Как избавиться от мух на даче: австралийская мухоловка своими руками

Развернуть
Как избавиться от мух на даче: австралийская мухоловка своими руками

(перевод с английского)

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


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

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

Как избавиться от мух на даче: австралийская мухоловка своими руками

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

Как избавиться от мух на даче: австралийская мухоловка своими руками

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


Не удержусь, чтобы не поспойлерить насчет ее эффективности – см. фото ниже. Угадайте, за сколько времени это произошло? Ответ, как и обещал в конце статьи.

Как избавиться от мух на даче: австралийская мухоловка своими руками

Сборка корпуса мухоловки

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

Как избавиться от мух на даче: австралийская мухоловка своими руками

Важно! Я подошел к работе творчески, и решил сделать ловушку для мух так, чтобы она производила впечатление профессиональной.


Для этого:

- Вначале разработал дизайн на компьютере;

- В качестве материала решил использовать австралийский красный кедр;

- Стены будут изготовлены из нержавеющей сетки.

- Базовая пирамида также будет сделана из этой сетки.

Как избавиться от мух на даче: австралийская мухоловка своими руками

Обратите внимание! Красный кедр имеет печально известную и кровавую историю и теперь известен как красное золото. За столетие красное кедровое дерево было почти полностью уничтожено колонизаторами, и нетрудно понять, почему.


Изготовление рамы

Первое, что нужно сделать, это выяснить, какой размер вашей рамы может быть у вас с вашей древесиной. В моем случае это брус 40х40 мм.

Как избавиться от мух на даче: австралийская мухоловка своими руками

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

Как избавиться от мух на даче: австралийская мухоловка своими руками

Обратите внимание! Сетку можно прикрутить к раме саморезами, но, повторюсь, мне хотелось сделать мухоловку высокого качества, поэтому подхожу к процессу профессионально.

Как избавиться от мух на даче: австралийская мухоловка своими руками

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

- Снова вспоминаем о нашей задаче – сделать профессиональную модель. Поэтому вооружаюсь рубанком и снимаю по углам фаску, чтобы придать ножкам более благородный вид.

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

Сборка рамы и крышки

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

Как избавиться от мух на даче: австралийская мухоловка своими руками

Создание пирамиды

Приступаю к созданию самой важной части мухоловки — пирамидальному дну. Этому процессу следует уделить максимум внимания.

Как избавиться от мух на даче: австралийская мухоловка своими руками

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

Как избавиться от мух на даче: австралийская мухоловка своими руками

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


Это важная часть работы, влияющая на эффективность:


- слишком маленькое отверстие — и мухи не войдут;

- слишком большое — и они убегут.

Обратите внимание! Я разрезал вершину пирамиды до 25 мм.

Установка боковых экранов

Если вы все сделали правильно, установка сетки в пазы-прорези не вызовет трудностей.

Как избавиться от мух на даче: австралийская мухоловка своими руками

Установка петель и защелки

Я купил медные петли и крючок-защелку. Затем просверлил отверстия под шурупы в древесине и прикрутил петли к корпусу и крышке.

Как избавиться от мух на даче: австралийская мухоловка своими руками

Обещанный треш

Как и обещал вначале своего повествования, расскажу и даже наглядно покажу, как работает австралийская мухоловка.

Устанавливаю ее на лужайке

Как избавиться от мух на даче: австралийская мухоловка своими руками

Совет! Приманки можно делать самому, а можно покупать в магазинах хозтоваров. Я специально не указываю названия, поскольку для вашей местности их выпускают местные производители. У нас в Австралии есть несколько таких.


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


Пришло время оценить эффективность, и для этого я открыл крышку.

Как избавиться от мух на даче: австралийская мухоловка своими руками

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

- Для начала пересыпал их в пустые пластиковые емкости;

- Затем взвесил на электронных весах. Результат – 2,3 кг!!!

Как избавиться от мух на даче: австралийская мухоловка своими руками

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

Как избавиться от мух на даче: австралийская мухоловка своими руками

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


Видео работы австралийской мухоловки а также фото ее пошаговой сборки можно посмотреть на сайте https://beaver-news.ru/sdelaj-sam/224-kak-izbavitsya-ot-mux-na-dache-avstralijskaya-muxolovka-svoimi-rukami/


P.S. Баянометр ругается на какие-то фото с лисицей - у меня их точно нету.

7736

Нужен переводчик с японского.

Развернуть

На Сахалине в городе Корсаков,  при рытье котлована под фундамент, мы нашли японскую плиту с иероглифами! Нам всем очень интересно что на ней написано.

Нужен переводчик с японского.
Нужен переводчик с японского.
3833

Угадай содержимое банки

Развернуть

"Малолетний шкет моего друга добрался сегодня до кладовой и немного там похозяйничал"

Угадай содержимое банки
5950

Оленёнок

Развернуть

«Соседка моих родителей, славная старая леди, оставила эту записку у их двери».

Пожалуйста, обратите внимание — оленёнок спит прямо под вашим колесом. Спасибо.

Оленёнок
Оленёнок
«Малыш, я уверен, однажды ты убьёшься об кого-нибудь на дороге. Но не сегодня».


Увидено на imgur. Перевод мой.

15082

При безальтернативном выборе из двух противоположных сущностей...

Развернуть
При безальтернативном выборе из двух противоположных сущностей...
Увидено на Imgur. Оригинал.
7494

Экспериментатор

Развернуть

"Мы только выяснили, что наш девятилетний шкет провёл над нами эксперимент. У него выпал зуб, о чём он никому не говорил на протяжении трёх дней и всё это время хранил его у себя под подушкой. Денег он за него не получил. Но когда он сказал нам, что у него выпал зуб, следующей же ночью у него под подушкой оказались деньги. А затем он предъявил нам свои научные доказательства, что зубной феи не существует."

Экспериментатор
3156

Карта Математики

Развернуть

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

Локализированный постер ниже.

Карта Математики
7735

Счастливое спасение

Развернуть

"Женщину от насильника спас насильник - гей, который изнасиловал насильника."

Квай-Гон: "Всегда найдётся рыба больше"

Счастливое спасение
2573

В свете последних событий

Развернуть
В свете последних событий
3878

Желейные мишки глазами медсестры отделения Скорой помощи и её коллег.

Развернуть
Тапками не кидайтесь, я изначально английскую текстовку зафотошопил для удобства чтения.
Желейные мишки глазами медсестры отделения Скорой помощи и её коллег.
4362

Капюшон

Развернуть
Капюшон
При угрозе, Папа способен расбрызгивать святой яд до 25 футов
1128

Дерьмовая жизнь - итальянская версия 7

Развернуть
Привет всем. Еще немного итальянской дерьмовой жизни. Сразу не ругаемся на баяны и типичные придуманные истории, что есть, то есть. С некоторой натяжкой пару постов можно назвать клубнично-ориентированными. Так что ревнители морали, сразу проходим мимо. :)


1. Сегодня первый день работы няни моих детей и я немного переживаю. Прошу ее отписаться, как дела. Около десяти вечера приходит сообщение: «Все нормально, оба ребенка спят». У меня три ребенка.

2. Хотела сделать сюрприз мужу, загруженному работой. Принесла ему обед в офис. Встречаю его нового коллегу. «Марко? Не, его нет, он обедает со своей девушкой».

3. Проиграл пари с друзьями. Мне нужно было забежать в автобус, громко крикнуть: «Вы все дебилы!» и убежать. Все шло хорошо, пока дверь автобуса не закрылась.

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

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

6. Моя тринадцатилетняя дочь пишет домашнюю работу, посвященную Шакире. Поворачивается ко мне, пристально на меня смотрит и грустно так говорит: «Как подумаю, что тебе столько же лет, что и Шакире…».

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

8. Стою перед зеркалом, сушу волосы. Мой парень долго на меня смотрит и спрашивает: «Слушай, а у тебя волосы кудрявые или прямые?». Встречаемся с ним уже почти 8 лет и живем вместе полтора года.

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

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

P.S. Предыдущие выпуски:

1. https://pikabu.ru/story/dermovaya_zhizn__italyanskaya_versiy...

2. https://pikabu.ru/story/italyanskaya_dermovaya_zhist_2_56161...

3. https://pikabu.ru/story/dermovaya_zhizn__italyanskaya_versiy...

4. https://pikabu.ru/story/dermovaya_zhizn__italyanskaya_versiy...

5. https://pikabu.ru/story/dermovaya_zhizn__italyanskaya_versiy...

6. https://pikabu.ru/story/dermovaya_zhizn__italyanskaya_versiy...
3457

Ожидание/Реальность

Развернуть
Ожидание/Реальность
2719

Боль внутри.

Развернуть
Боль внутри.
Группа переводов вк https://vk.com/comictranslate.
7938

"Запустил телесуфлера на DICE Awards прошлой ночью. Это была моя любимая шутка из шоу."

Развернуть
JESSICA:
Но давайте поговорим об играх - у многих других изумительных компаний тоже был отличный год.
Bethesda, Sony, Microsoft, Ubisoft.
И если вы из Electronic Arts и хотите, чтобы мы упомянули вас, вам придется доплатить.
1337

Собирался нарисовать стрит-арт на этом электрическом шкафу, но понял, что меня посадят за это в тюрьму на срок больше чем у насильника.

Развернуть
Собирался нарисовать стрит-арт на этом электрическом шкафу, но понял, что меня посадят за это в тюрьму на срок больше чем у насильника.
2610

Немного расизма от гугла

Развернуть
Немного расизма от гугла