Pull to refresh
51

Погромист

15
Subscribers
Send message
Причем непонятно что делать, если не нравятся все шесть :-)

Что смешно, эта проблема хорошо известна с 2006 (!!!) года. До сих пор не решена.

Это не все!!! У микрософта два (sic!) разных рендерера текста, причем настройки для одного никак не влияют на настройки для другого.

Anti-aliasing cannot be turned off in WPF.

Well I actually do have cleartype turned off. In Display Properties>Appearance>Effects smoothing screen fonts is set to Standard, not to Cleartype. When I turn cleartype on my whole system starts anti-aliasing text everywhere and everything looks blurry, not just WPF. So it looks like WPF ignores the system setting and does anti-aliasing anyway all the time.

Хорошо хоть с тех времен появилось не меньше десятка бесплатных утилит, которые сами исправляют что могут в реестре, раньше шаманить приходилось руками.
У виндового хибернейта есть проблема, и называется она — «пишем ОЗУ на блин без компрессии». При 16Г+ оперативки это реально долго. Кто мешает компрессировать на лету, как это много лет умеет тот же Linux — непонятно, но факт.

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

Впрочем, это можно было бы пережить, пять минут подождать это быстрее чем час обновляться.

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

А еще бывает что уиндоусь наш хибернейт выключила и спрятала, и приходится гуглить как вернуть хибернейт из комстроки:

powercfg.exe /hibernate on

Казалось бы, этой фиче уже лет двадцать, что могло пойти не так :-)
Так а о каком результате речь? О «венде капец» из фиды 1990х? :-) Зачем нам такой результат…

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

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

Ну, в идеале.

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

Что совсем уже смешно, необходимый инструментарий для незаметного обновления системных и не очень файлов в системе есть. Более того — этот механизм был разработан для… поддержки дискет. То есть ему 20+ лет.

Работал он так: при запуске программы с дискеты, страницы кода не мапились на файл, а сначала копировалась в своп, и file mapping настраивался так чтобы указывать в своп.

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

Кто мешает использовать этот же механизм при обновлении? Переместите вашу Очень Важную Системную DLL (точнее ее backing store) в anonymous space, поправьте таблицу сегментов, и все — файл на диске полностью свободен для любых манипуляций, а работа продолжена. Ведь пока DLL не будет выгружена всеми своими процессами — она будет существовать и работать, т. к. ее файловый объект будет активен и все секции также будут существовать. Какая в сущности разница, где будет реальное хранилище — pagefile.sys или скажем zlib.dll? Или даже zlib.dll~~deleted?

Но какого черта почему тогда? А потому что у кернельтима нет нужного тикета, зато есть тикеты на действия с файлами перед выключением / в момент включения. И даже есть тикеты про "город засыпает, мафия просыпается сервисы не останавливаем, а укладываемся в suspend to disk". И еще на лет пять вперед подобных хай критикал ишуев.

А обновления… у нас же есть «общий механизм который позволяет», пусть голова теперь болит у команды TrustedInstaller! Пусть рядом файлы складывают и потом на выключении просто линки перебрасывают, теоретически можно же? Ну да, ребут после ребута не отменяет, но в теории… а у этого тима тоже нет нужных тикетов :-)
Линукс не подходит для геймеров
Стим нагляднейше показывает что это не так. Игр — много, в том числе ААА. И это нативных и без эмуляции… а уж с протоном — их еще больше.

Это уже вкусовщина :-)

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

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

Но — суть в том что в линуксе все отключается, что и продемонстрировано :-)

Также очевидно, что Courier New сегодня использовать — ну вот так, да. Ужос ужасный. Видели бы вы, как его расплющивает на Андроиде!

А вот Arial — «то что надо». И Калибри тоже вполне. Ну и древняя люсида — для консоли огонь, куда как лучше курьера и консоласа (на мой вкус, разумеется).
Есть пара все еще нерешенных проблем а-ля оптимус и прочая гибридная графика.

А еще есть куча мелочей.

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

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

image

Вот в разрешении побольше, смотреть в 100%+, а то будет муть от даунскейла картинки.

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

  • пересобрать freetype, чтобы включить то что отключили из-за странных ограничений
  • покурить мануал, чтобы выяснить какой хинтинг включает bytecode interpreter (hintful)
  • поставить шрифты от WinXP (тахома, вердана, а главное — Microsoft Sans Serif и Arial Unicode)
  • в настройках KDE выбрать правильные шрифты и указать все антиальясинги строго системными
  • в настройках GNOME повторить то что делал в KDE, и это при том что гнома я не использую! но есть скажем LibreOffice...
  • в настройках шрифтов — прописать алиасы на шрифты из ХРюши — я про serif/sans-serif/прочее
  • любимым шрифтам выключить антиальясинг и межпиксельное сглаживание
  • всем прописать хинтинг=hintful (а не slight!)
  • межпиксельное включить для тех шрифтов что не от ХРюши — типа Consolas и Calibri
  • антиальясинг включить тем шрифтам что под него дизайнились — от линуксового Droid и до Segoe от микрософт
  • поставить xsettingsd, прописать его при старте сессии, указать ему настройки антиальясинга, специально для «электронов» — вайбера, слака, скайпа и т д
  • принудительно заалиасить новые Arial/Times на старые
  • ну и совсем никогда не включать автохинтер.


И это я только навскидку вспомнил, там еще были тюнинги для Wine, для хрома, подбор размеров шрифтов для которых не нужно сглаживание только мелкими (6-10 пунктов) но нужно для больших…

В общем, не скучал.

Справедливости ради, для Виста+ подобная же операция ничуть не очевиднее, плюс требует тюнинга реестра и перезагрузки. Потому что есть отдельно от WPF, отдельно от GDI+, и агрессивный font substitution. Вот реально проще Segoe UI в реестре перемапить на ариал или тахому, чем честно равнять.
А главная опасность перехода — что со временем работа в Windows становится дичайше неудобной, без целой пачки мелких фишечек, от тотал командира и до консоли2.

Я докатился до того, что автоматом ставлю не только MinGW и FAR, но и KDE for Windows.
Как в известном белорусском анекдоте

— (жалобно) Господи, есть нечего, денег нет, дети оборванные, совсем беда!
— (глас с небес) Ой не ври, Алесь, не ври!
— (с возмущением) Так что — доллары сдавать что-ли?!

:-)
Совсем не так.

Была команда, да. И в ней был герой (не еще и не сам по себе). Самый подкованный, самый опытный, и самый работящий.

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

И постоянно держал всех заинтересованных в курсе.

Более того — 3/4 кода в его работе появилась именно в виде пожеланий тех, кто пробовал пользоваться. Ему помогали по мере сил — но не могли слишком долго отвлекаться, надо было держать легаси.

И вот наконец светлый день настал, когда на новый движок перевели проект — окончательно и бесповоротно.

Только так.

А, и еще мы тогда работали без аджайлов, грумингов, митингов и т д ;-)

Собственно, сам момент перехода выбрал лично я и в этом был элемент волюнтаризма ;-)
Так это не совместно, это порознь.
то есть цитата про «git pull» относится полностью к вашей команде?

Это одно действие, которое приводит к схожим эмоциям (и описанных одним словом), но с противоположным знаком ;-)

Далее если не уточнять — то дальше каждый представляет тот вариант который ему ближе… что мы и видим в треде.
это же проекты биг босса клиента? Вот он и отдаст.

Вот вы биг босс. У вас есть суплаер с 10летним стажем и у него 20 проектов. Завалил он — один. Сколько проектов вы передадите другому суплаеру, 1 или 20, и почему?

Далее, ваш старый новому — доступ в репу дал? Ключи-логины в облако — передал? Что новому еще надо, чтобы масло с двух сторон тоста намазывали?

А на все остальное — масса причин не сделать или не сделать вовремя ;-)

и потом вываливать на другую команду как снег на голову

А что — это планировалось что-ли? Изначально проект мне должен был уйти целиком и навсегда…

Но вот после того как я все-таки вышел в релиз (никто в это особо не верил) — вот тут-то желающих посуппортать вместо меня и набежало.

Ну, как набежало, так и отскочило ;-)
надо было действовать совместно

Мне эта мантра так нравится, что я ее отдельно вынес.

Сколько такие истории рассказываю — столько ее и слышу. Только видите ли в чем дело… у индусов было свое понимание «совместно». Несколько неожиданное ;-)

Совместно — конечно же всегда лучше. Но вот устраиваться к ним на работу всем тимом, с переездом в Индию — мне как-то не хотелось.

Потому что «совместно» тут было про деньги, а не про код.

Вот поэтому у вас и не складывается картинка ;-)
Ну так надо было уволить тогда и всё. Зачем их оставили на время переделки и после?

Потому что субконтрактор. У которого с другими управлениями свои отношения. И которого некем заменить сразу и в полном объеме. Риск слишком большой.

«Вот так однажды пришло с утра 10 рыл, сказало «git pull», и офигело». Каким образом это означает «отобрали»?

Это два разных кейса.

Первый — когда запулили мои, и были песни, пицца, пиво, и общая радость. Наконец-то древний говнокод выкидываем и переходим на новое ядро! Дождались того мига, ради которого влезли в это болото!

И второй — когда индусы сделали то же самое. Вот тут и офигели в альтернативном смысле, даже сначала попытались обвинить меня в саботаже — не может быть чтобы это и был реальный код! Нам подсунули!

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

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

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

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

Чтобы нанести реванш-два и меня окончательно победить — индусы отправились клепать свой «аналог только лучше». Их нашлось кому поддержать. Но у них не было героев ;-)

«сделай что-нибудь», «через боссов клиента» — вот отсюда.

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

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

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

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

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

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

Что там про «управлять»? ;-)
Вы просто не видели весь гадюшник ;-) Это 10 лет спусчтя смешно вспоминать, а тогда…

раз у вас есть полномочия управлять

Откуда? Я вообще из третьей конторы, не имел никакого отношения ко всем сложившимся на тот момент связям.

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

И в эту комбинацию я зашел с черного хода и через боссов клиента / с ведома и благословения биг босса клиента клиента.

Я конечно мог на дрим-тим жаловаться «на самый верх», но этот ресурс лимитирован ;-) Но никакого касательства к их оперативной деятельности я иметь не мог.
Все про всё в курсе, новая команда делает новое без переработок, старая продолжает поддерживать.

Старая уже не могла поддерживать.

И новая команда сразу знала — ближайших полгода мы вджобываем нон-стоп.

Активное противодействие старого тима шло в комплекте.

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

Мне удалось уволить этот дрим-тим, от 400 индусов осталось примерно 20. Но произошло это сильно позже и валерьянки выпить пришлось изрядно.

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

Новая (мои) — да. Старые — нет. Суппорт все равно нам передали.

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

Не «дали», а они в ходе интриг отобрали себе обратно — суппортить мое решение.

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

Тот был не в курсе, и переиграл. Я тогда уже в итоговый релиз вышел, и проектировал версию 2.0, которая должна была добить дрим-тим и обеспечить передачу не только сгоревшего клиента, но и еще нескольких…

Ну а дрим-тимовские сначала обрадовались что такого выскочку как я — выперли, потом стали в код смотреть — и вот тут уже офигение шло в негативной коннотации ;-)

Ну и еще через месяц меня нашли второй раз… я даже ногами не топал и не требовал самых активных индусов уволить, с этого начали без моих подсказок ;-)

почему ваш герой сам свое решение не стал поддерживать?

Почему же не стал? Очень даже. Довел до того, что скрипты бомбить научились даже местные сейлы. Так что все было в порядке с его работой, отбили обратно ;-)
который считает что полностью поменяет систему и жить станет лучше, а местные люди лохи и ничерта не понимают

Бывает что получается. Иногда. Чаще — нет. Но это же не повод не пробовать…

'я весь в белом, а остальные идиоты'

Вы думаете — в этом дело? ;-)

— Шеф, тут по радио передали — какой-то дятел на лексусе вылетел на встречку и прет как ни в чем не бывало!
— Какой дятел?! Тут их сотни!!!

;-)

Вот странно, когда я рассказываю свои древние побасенки — всегда найдется тот кто спроецирует на свой опыт ;-)

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity