Pull to refresh
136
0
Алексей @AterCattus

Гошник

Send message

Поделюсь своим вариантом как можно оказаться в Армении/Грузии на своей машине. Для этого мы воспользовались услугами международного эвакуатора. Самостоятельно добрались на машине до Владикавказа, заодно путешествуя по России, где и отдали перевозчику. А сами уже вылетели в Ереван из МинВод. При желании можно передать машину в Москве, или в других городах.
"На мой взгляд Армения сегодня в России очень сильно недооценена." - в точку(!), я сам тоже такое другим говорил.
После путешествия по Армении отправились в Грузию. Получилось ну очень круто - путешествие-приключение. Могу смело рекомендовать такой вид отдыха - свобода перемещений и утром не знаешь, где будешь спать вечером. Плюс можно планировать путешествие согласно прогнозам погоды.
Что-то вспомнилось. Когда заехали на винзавод Киндзмараули, то на экскурсии нам показали особое место, где заложили вино, которое пойдет в продажу когда будет дружба между Украиной-Грузией-Россией. Три флага стоит. Но,... похоже вино дорогим будет, долго будет хранится, если режим не поменяется.
А автору посоветую глянуть пещеру дедушки Левона - уникальное место, не знаю есть ли где-нибудь еще что-то подобное.

Всё немного иначе.

Считывание данных с дискет контроллером Intel 8272 может производиться в двух режимах: поиск и чтение отдельного сектора; или чтение дорожки целиком. Именно первый режим использовался для считывания операционными системами. Второй режим использовался только в защитах и спец утилитах.

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

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

Если PC работает стабильно медленно, и драйвер дисковода никогда не успевает считать 2 рядом расположенных сектора подряд — то применяется система перемежения секторов — «Interleave». Сектора размещаются на дорожке с чередованием номеров:

1, 6, 2, 7, 3, 8, 4, 9, 5

Приведённая выше последовательность называется «2:1 Interleave». В такой системе, получив от контроллера данные первого сектора, процессор имеет ещё время, пока под головкой пробегает сектор 6, для выдачи контроллеру команды на чтение второго сектора, и при этом второй сектор будет считан на том же обороте диска. Все секторы дорожки можно считать за 2 оборота диска, что хуже, чем 1, но лучше, чем 9 (когда процессор не успевает без Interleave).

Стандартный формат MS-DOS использовал 2:1 Interleave.

Было ещё одно явление, замедляющее процесс считывания. Оно возникало при чтении секторов с нескольких дорожек. В идеале, если процессор и драйвер достаточно быстрые, и Interleave не используется — то две соседние дорожки можно прочитать за два оборота диска. В реальности, однако, после перевода головки на соседнюю дорожку предписывалось подождать 5мс для релаксации механических колебаний головки. На хороших дисководах ждать было не обязательно, но всё равно был риск прихода ошибочных данных в первые миллисекунды после перевода головки.

Таким образом, считав сектор 9 одной дорожки и дав контроллеру команду на шаг и чтение сектора 1 следующей дорожки, мы зачастую пропускали сектор 1, либо он с первой попытки считывался с ошибкой. Приходилось ждать следующего оборота диска, чтобы считать этот сектор. И снова получалась скорость считывания в 2 оборота диска на дорожку, в 2 раза меньше максимально возможной.

Для борьбы с этим явлением было придумано смещение нумерации секторов на соседних дорожках:

Дорожка 0 — 1, 2, 3, 4, 5, 6, 7, 8, 9
Дорожка 1 — 9, 1, 2, 3, 4, 5, 6, 7, 8
Дорожка 2 — 8, 9, 1, 2, 3, 4, 5, 6, 7

Таким образом создавался запас времени на успокоение головки после шага, равный длительности одного сектора. И скорость последовательного считывания составляла уже не половину от максимальной, а падала всего на 11%.

Подобные форматы дискет можно было реализовать только спец утилитами. Стандартные команды форматирования в DOS и Windows это не поддерживали и форматировали все дискеты с 2:1 Interleave.
Здравствуйте, если кратко, то сейчас схема такая:

При заливке фото нарезается несколько базовых типовых размеров (а-ля большой, средний, маленький)
в URL клиент явно указывает viewport, в который надо заресайзить картинку.

Дальше на nginx мы с помощью lua динамически выбираем для заданного viewport максимально близкий физический размер и делаем downscale из него на лету.
Помимо этого можно динамически накладывать фильтры — у нас это blur, pixelize и делать crop по координатам, которые переданы с клиента.

Также на все фотки на лету накладывается watermark, которым можно управлять через параметры URL.

Технически, мы и со стороны PHP и со стороны NGINX используем библиотеку http://www.leptonica.org
В обоих местах к ней написаны наши собственные биндинги (модуль к nginx и расширение к php)

Но сейчас есть множество готовых решений, которые дают похожий функционал из коробки.
Как в виде нативных модулей nginx, так и в связке с https://openresty.org/
Вспомнился анекдот :)
Русский, французский и китайский лингвисты решили написать имена друг друга, каждый на своём языке.

— Моя фамилия Ге, — сказал француз китайцу.
— В китайском языке два иероглифа Ге, но, к сожалению, ни один из них не подходит для фамилии.
— Почему?
— Потому что один имеет значение «колесо», а другой передает звук, с которым лопается мочевой пузырь осла.
— А что плохого в колесе?
— Мужское имя не может быть круглым. Для твоего имени мы возьмем иероглиф Шэ, означающий «клавиатура», «корнеплод», «страница», а также прилагательное «бесснежный» и дополним его иероглифом Нгу, означающим мужской род. В конце я пишу иероглиф Мо — «девственный».
— Но это, мягко говоря, не совсем…
— Никто не будет считать тебя девственником, просто без иероглифа Мо иероглифы Ше-Нгу означают «сбривающий мамины усы».

— Хорошо, теперь я напишу твое имя.
— Моя фамилия Го.
— Отлично, я начну твою фамилию с буквы G.
— Что означает буква G?
— У нас, европейцев, сами по себе буквы ничего не значат, но чтобы проявить к тебе уважение, я поставлю перед G букву H — во французском она все равно не читается.
— Отлично! Дальше O?
— Нет, чтобы показать, что G — произносится как Г, а не как Х, надо после G поставить букву U, а также H — чтобы показать, что U не читается сама по себе, а только показывает, как правильно читать G, и буквы EY, показывающие, что слово не длинное и скоро закончится.
— Hguhey… дальше O?
— Нет, О во французском произносится как А или Ё, в зависимости от стоящих по соседству букв, ударения и времени года. Твое чистое О записывается как AUGHT, но слово не может кончаться на T, поэтому я добавлю нечитаемое окончание NGER. Вуаля!

Русский лингвист поставил бокал на стол, взял листочек и написал «Го» и «Ге».
— И всё?
— Да.

Француз с китайцем почесали в затылке.
— Хорошо, а какая у тебя фамилия?
— Щекочихин-Крестовоздвиженский.
— А давайте просто выпьем? — первым нашёлся китаец.

Русский кивнул и француз с облегчением поднял тост за шипящие дифтонги.
А если пихать не бездумно, то уже на 20 нодах начнут проявляться всякие неприятные спецэффекты, когда из-за временного вылета одной ноды плохет всему кластеру, хотя не должно. Скажем, перезапуск одной ноды может привести к деградации кластера минут на 20. А перезапуски нужны, потому что случаются дедлоки и null pointer exception.
Вы вправду не знаете крупные компании и проекты, которые написаны на Go или просто троллите?
Вот тут есть попытка собрать крупные компании, которые описывают свой опыт, но, как вы догадываетесь, большая часть компаний не рассказывает на публику про свой опыт в блог постах.
Но посмотрите, может быть знакомые компании увидите.

Currently using Go
  • Google — the core Go team work at Google. Most uses of Go at Google are confidential



Jack-of-All-Trades, Master-of-None.
полный список, главную, вроде, не убивает

127.0.0.1 live.rads.msn.com
127.0.0.1 ads1.msn.com
127.0.0.1 static.2mdn.net
127.0.0.1 g.msn.com
127.0.0.1 a.ads2.msads.net
127.0.0.1 b.ads2.msads.net
127.0.0.1 ad.doubleclick.net
127.0.0.1 ac3.msn.com
127.0.0.1 rad.msn.com
127.0.0.1 msntest.serving-sys.com
127.0.0.1 bs.serving-sys.com
127.0.0.1 flex.msn.com
127.0.0.1 ec.atdmt.com
127.0.0.1 cdn.atdmt.com
127.0.0.1 db3aqu.atdmt.com
127.0.0.1 cds26.ams9.msecn.net
127.0.0.1 sO.2mdn.net
127.0.0.1 aka-cdn-ns.adtech.de
127.0.0.1 secure.flashtalking.com
127.0.0.1 adnexus.net
127.0.0.1 adnxs.com
127.0.0.1 *.rad.msn.com
127.0.0.1 *.msads.net
127.0.0.1 *.msecn.net
Я всё же не до конца понимаю про что именно надо рассказать?
Про устройство нашего слаб аллокатора? Индексов в памяти? Файберов? Взаимодействия между тредами?
Вот навскидку несколько видео с моими выступлениями про Тарантул:

www.youtube.com/watch?v=ijLITsbc29w
techforum.mail.ru/report/73

www.youtube.com/watch?v=bM0zK0lwEz8

vimeo.com/111068763
1. nginx проверенный на большом количестве проектов и серьезной производительности (80Гбит с сервера).

2. В мейле есть люди (catap, например), которые написали много разных модулей под nginx и его им будет гораздо проще заточить под себя, чем flussonic или другой аналогичный продукт.

Догадки о том, чего я знаю а чего нет, высказывать не обязательно, они не особенно полезны. Платный nginx я упомянул сразу, при количестве серверов больше сотни вполне может быть дешевле написать свой модуль. Нам разработка модуля (с чуть другими задачами, но тоже дополняющим nginx до медиасервера) обошлась 2.5 человекомесяца работы Сишного разработчика. Работает в продакшене, отлично держит нагрузку 30-40 Гбит, вероятно потянет и 80, не тестировали пока в таком режиме.
Так, что ничего такого нет в написании своего модуля.
Белых не волнуют мнения каких то чернокожих, когда они боряться за их права!
Гуманитарий делает скриншот.
Уже кстати был хороший цикл статей про SQLite.
По части тюнинга конец 3 части, там как раз есть и сравнение типов журналирования.
Часть 1
Часть 2
Часть 3
Ух ты, большое спасибо — ничего из этого не видел и не читал, так что с интересом посмотрю. :) Предложу много всего разного, но думаю, многое будет уже знакомо.

Настоятельно рекомендую архив журнала Game.EXE. У них часто встречались обширные спецматериалы — «Темы Номера» — посвященные как раз внутренней кухне разработки игр; постоянно и увлекательно писали про «Нивал», уделяли много внимания Западу. Если браться за более старые номера, то там просто раздолье интересного чтива. Навскидку, на ум сразу приходит их материал про гейм-дизайн в номерах 11/2005 и 12/2005. Кстати, любовь к id и шотганам — тоже в наличии, с самых первых номеров.

Марк Зальцман — «Компьютерные игры. Как это делается» — изданная в начале 00-ых под вывеской Game.EXE книга. Много интервью с известными и не очень работниками западного геймдева 90-ых — есть и гейм-дизайнеры, и программисты, и музыканты. Должно понравиться.

Внезапно, Game Coding Complete (4th Edition) — несмотря на свое название, первых добрые двести страниц рассказывается про работу программиста в западном геймдеве — конечно же, в том числе про адские переработки и прочие радости. Ведущий автор трудился вместе с Ричардом Гэрриотом над серией Ultima — начиная с VII по Online, а также над Thief: Deadly Shadows. Соавтор работал в EA и написал для книги много мелких отступлений в виде забавных историй из повседневной жизни.

Вот из этих книг можно что-то попробовать, но они уже ближе к практике геймдизайна.

Кое-что интересное про геймдев (и Кармака), но ближе к технической стороне вопроса, можно найти в блогах alenacpp.blogspot.com и fabiensanglard.net. А если интересна история старой Blizzard — недавно писал про то, что скоро выйдет вот такая биография — которая, конечно, копания в интервью и вырезанном контенте не заменит, но уже кое-что.
Перевода не жду, так прочитал оригинал много лет назад. Что было бы на самом деле интересно — так это коллекций дополнительных материалов, как приложение к книге. Помню, какое удовольствие я испытал, обнаружив Dangerous Dave in Copiright Infridgement на ютубе, или коллекцию фоток времен зарождения id.

Есть еще похожая на MoD по тональности книга — The Making of PoP от Мечнера, рекомендую.

Порекомендуйте мне тоже чего-нибудь пожалуйста :)
Скрытый текст
Не
хочу
заканчивать
.
Со
спойлерами
веселее!
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Вам не надоело?
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
У вас стальные нервы.
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
image
1

Information

Rating
Does not participate
Location
Тбилиси, Грузия, Грузия
Date of birth
Registered
Activity