Ещё один повод для грусти

Current music: Meteors - The Phantom Rider

Задумайтесь на минуту о людях, играющих прямо сейчас на своих 3DS или PS2, подключенных к старым кинескопным телевизорам. Они получают море удовольствия, наслаждаясь своими любимыми игрушками, и ничто не отвлекает их от простого электронного развлечения. И таких очень много. В то время как я сижу с угрюмой миной за своим геймерским компьютером с шестиядерным хай-эндовым процессором, с двумя игровыми видеокартами, несущими на борту 6 гигабайт разогнанной GDDR5 памяти. Сегодня я провёл полтора часа, пытаясь добиться безукоризненной работы на максимуме возможного от очередной игры, но так и не сумел включить в ней SSAA (да и какое-либо заметное сглаживание вообще). Конечно, для меня не стало сюрпризом, что в опциях самой игры никакой возможности его включить нету. Я настраивал существующий профиль для игры, пробуя множество различных вариаций, но ничего не получалось. Я пробовал прикреплять исполняемый файл игры к уже существующим, проверенным на работоспособность профилям, но и здесь снова ничего не добился. Я открывал nvidia inspector (потому что nvidia control panel совершенно бесполезна) чаще, чем мне пришлось бы открывать саму игру для прохождения. На данный момент я уже реально устал от того, что мне приходится разгадывать очередной мозголомный пазл каждый раз, когда я начинаю новую игру, чтобы увидеть всё, что она может предложить. С прошлой игрой вообще некрасиво вышло: я искал решения в интернете и возился с настройкой больше времени, чем собственно проходил её от начала до конца.

И в то время, как я печатаю эти строки, неугомонное чувство ненависти восстаёт из глубин моего сознания. Оно подпитывается постоянными фрустрациями и растёт, но не может найти вектор. Кого я должен ненавидеть за всё это? Разработчиков игр, которые никогда не заботятся о потребностях продвинутых пользователей? Производителей компьютерного железа, которые предпочитают продать тысячу видеокарт lo-mid сегмента вместо полусотни экземпляров hi-end моделей и в соответствии с этим ограничивают возможности кастомизации драйверов? Огромные игровые порталы, которые считают приемлемым публиковать скриншоты вот такого качества? Массы казуальных игроков, которые не знают, из каких компонентов состоит их компьютер, и путают антиалайзинг с анизотропной фильтрацией? Или, может быть, мне стоит ненавидеть самого себя за то, что я знаю и вижу слишком много?

Read One more reason for sadness in English.

One more reason for sadness

Current music: Dead Can Dance - Garden of the Arcane Delights: The Arcane

Think about all those people who are playing on their 3DS or PS2 connected to old CRT TV at the moment. They have a lot of fun playing with their beloved toys and nothing distracts them from an easy going electronic entertainment. There are surely lots of them while I’m sitting here with a rueful mien along my custom-made gaming PC with hi-end six-core CPU and couple of top gaming video cards carrying 6Gb of overclocked GDDR5 memory. I spent last hour and a half trying to run another game flawlessly at its fullest but still was unable to activate SSAA. It came with no surprise there is no such option in the game. I modified existing driver  preset for game many times trying lots of combinations but got nothing. I attached the game executable file to older tested presets and again nothing good happened. I’ve opened nvidia inspector (because nvidia control panel is completely useless)  more times than I will open the game itself. At this point I’m really tired of the fact that I have to solve mindblowing puzzle every time I start new game  if I want to see absolutely everything it has to offer. With last game I spend more time searching for solution in Internet and configuring options than it took me to beat the game itself.

At the time I’m typing this words some restless feeling of hatred raises from the depths of my mind. Powered by constant frustrations this feeling grows but it can not find its direction. Who should I hate for that? Game developers who never care about demands of the advanced users? Hardware manufacturers who prefer to sell 1000 video cards from lo-mid segment rather than 50 hi-end models, and treat drivers customization accordingly? Huge gaming portals that believe it’s appropriate to post such screenshots? Masses of casual gamers who don’t know what hardware is inside their computers and mix up anti-aliasing with anisotropic filtering? Or maybe I should hate myself for knowing and seeing too much?

Читать Ещё один повод для грусти по-русски.

About one of my works

Current music: Kraftwerk - Pocket Calculator

I want to tell about one of the websites I was working on lately. That was a project with a long history. The first time I was involved in autumn of 2012. I added some functionality which was absent since the developer who started the site had left. Also I had to rewrite some parts of the code because of the thing I prefer to call “unscrupulous programming”. What does that mean exactly? It’s pretty easy to explain. My precursor did intentionally write code that wasn’t supposed to work just as client wanted. Instead his programming created problems during usage that were not noticeable by brief look.  There were also mischievous tricks preventing compability with other software solutions. That way he hoped client will be forced to seek his services again and again.

Then couple of times I changed some features so website could meet the changing customer’s beliefs on how it should work, look and sound. Diplomatically speaking, not all of those decisions would have found acceptance by most professional designers and web-developers. However if the client is paying then he is right and I don’t argue with that. There were some additional difficulties mainly because of  the requirement to keep adding and editing of the content simple. Low-skilled computer user should be able to update information on the site.

After all metamorphosis the final result is quite unusual combination of very different technologies which all work together nonetheless. Site is based on the WordPress CMS using few deep buried features. It uses Flash, JavaScript of course,  but the most interesting thing is how pieces of archaic technology connect with modern progressive tools there.

During the work on bringing customer’s vision into reality the biggest difficulty was background music. It was supposed to play smoothly without interruptions while visitor is browsing pages. At first, I tried to make it by placing player in background popup. Not a very delicate decision I must confess. It wasn’t very effective one as well. Browsers are surprisingly effective in blocking popups nowadays. Furthermore the ways of controlling a window from its parent window by JavaScript aren’t cross-browser. It also was too late to rebuilt the whole site to AJAX which allows certain areas of the page to change while others (the one containing player for example) stay still. So, what did I finally choose?

I used frames. Yes, there is no mistake. I really mean those creepy old things that were last time described in HTML 4.01 in previous millennium. Frames took their place among other recognizable features of Web 1.0 era and already became obsolete when I was at school. If you ask search engine about it most likely there will be caution on the first page in the list saying you should restrain from using frames. Surprisingly frames happened to be useful in my situation.

JS works way better on controlling player in near frame than in near window. The problem with frameset structural integrity (normally you can only see correct frameset if you came from the main page of the website) was solved by JS-script which checks environment of the page, and PHP code which generates missing frame on the fly if one was missed. Another classical frames’ problem with displaying correct URL in browser’s address bar was nullified by using of History API, part of HTML5 standart. It’s relatively fresh technology. Some internet browsers just started to support it in last year but History API has already found utilization. You can see it working in russian social network VK for example.

All in all I believe I created rather elegant solution though site looks nothing like a golden medal or trophy you put on the most noticeable place in a room. I learned something new, I got more experience in web-programming. However my personal feelings don’t change the fact it’s just usual official website for small business, highly influenced by customer’s taste, decent at best.

P. S. I must apologize on behalf of all web-developers for sites with such annoying and totally wrong usage of sound. As wage-earners we have to make things we would never do by our own intention (at least I hope so)…

Читать Немного о работе по-русски.

Немного о работе

Current music: Lacrimosa - Verloren

Последнее время я работал над одним сайтом, о котором хочу немного рассказать. Проект этот оказался долгостроем. Первый раз я с ним соприкоснулся ещё осенью. Тогда пришлось добавлять некоторую нереализованную функциональность, оставшуюся недоделанной с момента ухода программиста, начинавшего работу. Кроме того пришлось переписать некоторые участки существовавшего на тот момент кода из-за того, что я предпочитаю называть недобросовестным программированием. Как это понимать? Очень просто. Мой предшественник местами умышленно писал код не так, чтобы он работал, как того хотел заказчик. Он намерено оставлял незаметные на первый взгляд шероховатости, которые бы заставляли снова и снова обращаться к его услугам и препятствовали бы совместимости с фичами от других разработчиков “из коробки”.

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

В итоге многочисленных преобразований получилась очень необычная субстанция, симбиоз различных технологий. Сайт базируется на WordPress, ставшем одним из стандартов де-факто открытых движков, довольно глубоко задействуя его возможности. Есть там и Flash, и JavaScript, но самое забавное, что там причудливо сочетаются и заведомо устаревшие элементы, и довольно свежие, прогрессивные вещи, поддержка которых появилась только в последних версиях браузеров.

Самой большой головной болью стала фоновая музыка, по задумке клиента непрерывно играющая, пока посетитель перемещается по сайту. Сначала попытался реализовать её в виде всплывающего параллельного окна с плеером (вроде того, какое можно увидеть на ли.ру в постах с прикрепленными mp3). Но современные браузеры научились уже очень хорошо бороться с попапами, к тому же возможности управления дочерним окном средствами JS оказались совсем не кроссбраузерными и во многом зависели от персональных настроек пользователя. Переделывать весь сайт под AJAX было уже откровенно поздновато. Выход?

Только фреймы. Да-да, именно те самые страшные штуки, которые последний раз были описаны в спецификации HTML 4.01 в прошлом тысячелетии. Они были отличительной чертой Web 1.0 и успели выйти из моды в то время, как я ещё учился в школе. Если наобум спросить поисковик, скорее всего найдёте несколько рекомендаций обойтись без их использования. И всё же они оказались полезны.

Находящийся в невидимом фрейме простейший плеер из соседнего фрейма управляется куда лучше, чем из соседнего окна. Проблему целостности фреймовой структуры (обычно корректно сайты с фреймами выглядели только при заходе с главной страницы) помогло решить довольно изящное сочетание маленького JS-скрипта, проверящего окружение, и PHP кода, генерирующего недостающую часть на лету по результатам этой проверки. Ещё одну стандартную для фреймов проблему – корректное отображение URL в адресной строке браузера помогла решить свежая, считающаяся новым словом в вебе и таящая в себе полностью ещё не раскрытый потенциал технология HTML5 History API. Последняя, например, сейчас активно используется на сайте социальной сети вконтакте, хотя полноценная поддержка четырьмя основными браузерами появилась только около полугода тому назад.

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

З.Ы. прошу прощения у тех, кому может попасться сайт с такой настойчиво навязываемой музыкой. мопед не мой… ну, вы же понимаете, правда?

Read About one of my works in English.

My console games

Current music: Stillife - Raining December

I came back to console games not so long ago (in autumn of 2011 to be exact) after reasonably long period with PC only. My last hardware (I mean aside from emulation) console was well-remembered Sega MegaDrive II that become true classic in the world of gaming. However I didn’t turn it on since long gone and now powdered by the dust of history 90s.

Back then MegaDrive wasn’t my main and only gaming platform. Just like nowadays I don’t consider PS3 or PS Vita to be the superior devices for gaming. So there are not so many games in my possession (I would prefer to have at least twice as much) but some of them are pretty good exclusive releases.

My console games library
My console games library

Читать Моя консольная библиотека игр по-русски

Моя консольная библиотека игр

Current music: Пикник - Упругие их имена

К консолям я вернулся относительно недавно (только к осени 2011 года) после ооочень солидного перерыва. Последней “железной” (т.е. физически существующей, помимо эмуляторов) консолью у меня была незабвенная, ставшая сейчас уже безоговорочной классикой Sega MegaDrive II, и играл я на ней в последний раз ещё в изрядно припорошенных пылью истории 90-х.

Но как и тогда, так и сейчас консоль не является для меня основной игровой платформой – только как дополнение к PC. Поэтому игр немного, но зато высок процент эксклюзивов. Выглядит это всё вот так:

My console games library
Моя библиотека консольных игр

Read My console games in English

Happy New Year

Current music: Аукцыон - Новогодняя песня

In my opinion that’s the best day to drink and have fun in the whole year. There are no visible political, historical, religious and other unpleasant references. I wish all my readers to have a good time this night and let the upcoming year to be better than previous one.

New year alcohol

About NHL Lockout

Current music: Metallica - King Nothing

Who of the hockey fans don’t know Bill Daly? He is the vice-commissioner of the League, the second person officially. Unofficially he is one of the worst scumbags in the world of sports. It’s looks like some weird time paradox brought here russian gangster from 90s (era of “primary capital accumulation”) to solve the financial and sport problems in NHL. They were just like that: no hair, no comprehension, no willing to discuss anything without the use of force.

Yesterday I read his latest statement about the negotiations:

Have we continued to move toward them (repeatedly) when we have said we wouldn’t? The answer is ‘yes.’ We obviously have stretched to try to make a deal. But at some point, enough is enough.

Then I thought what did league actually gave to NHLPA during negotiations? Where did they move towards the wishes of players? The only thing they “stretched” to is easing their own ultimatums.

– We demand to lower the salaries on the current contracts by 20%.

– Players reject this ultimatum.

One month passed.

– Well, let’s lower the salaries by 10% but another 10% will be paid in few years.

 

– We demand to limit the contracts duration to five years.

– Players can’t agree with that.

Another month passed.

– Alright, we’ll do you a favor allowing clubs to sign their free agents for seven years.

 

– We demand to limit change in salary during the contract to 5% maximum.

– We agree this field needs regulation but not such a strict one. We believe the minimum salary should be at least 25% of the maximum salary during the contract.

Even more time lost here.

– That’s unacceptable. The position of NHLPA is unreasonable.

 

Seriously, I’m not exaggerating here. I just translated the whole story from the language of the diplomatically correct official statements to the language of simple constructive dialogue. Now let’s try to imagine how NHLPA could “move forvard” to the league and club owners.

– We demand to double the salary on all current contracts.

– O_o?!!!!!!

– Maybe we can give you more, let’s add 50% to all salaries.

 

– We demand to cancel the players draft system.

– WTF?!!!

– Okat, only because we love hockey so much and have respect to hockey fans, we will change our proposal. The draft will stay but clubs’ exclusive rights to the players will expire in one year after they were drafted.

 

– We demand to remove the salary cap.

– We are disappointed…

– That’s the hill we die on. Regretfully we are nowhere near the signing of new collective agreement.

 

Is it funny? Then why doesn’t anybody laughs about NHL bosses except Alexander Ovechkin?

Читать Мысль о локауте по-русски

Мысль о локауте

Current music: Sirenia - Lethargica

Есть в американском хоккейном хозяйстве человек по имени Билл Дэйли. Вице-комиссар NHL, второе лицо формально. А неформально рожа, мгновенно рождающая мысли о кирпиче. Будто из России 90-х занесло невесть каким парадоксом этого толстолобого, бритоголового братка порешать вопросы финансовые и спортивные.

Вот сегодня прочитал в свежем СЭксе следующее его изречение:

Меня это разочаровывает, потому что мы теряем день за днем. Встреча вряд ли даст нам что-нибудь, потому что мы не можем больше уступить. Ясно, что Дональд Фер хочет обменяться мнениями в самый дэдлайн.

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

– Требуем уменьшить контракты на 20 процентов.
– Мы не согласны.
Прошёл месяц.
– Хорошо, уменьшим контракты не на 20, а на 10 процентов, но оставшиеся десять процентов выплатим через несколько лет.

– Требуем запретить изменения зарплаты в течение всего контракта, разница не больше 5%.
– Мы тоже думаем, что некоторые ограничения в этой области нужны, но не такие резкие. Игроки согласны на то, чтобы минимальная зарплата составляла не меньше 25% от максимальной.
Потеряно ещё дофига времени.
– Это неприемлимо. Позиция профсоюза необоснована.

И ведь нисколько не утрирую. Только перевожу публичные юридические канцеляризмы на язык простого диалога. А теперь давайте пофантазируем, на какие “уступки” могла бы пойти ассоциация игроков.

– Требуем увеличить действующие контракты вдвое.
– o_0?!!!!!!
– Ладно уж, сжалимся над вами, увеличим в полтора раза.

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

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

Весело? А над боссами NHL пока что-то никто не смеётся, кроме Овечкина.

Read About NHL lockout in English

WinFast 8800 GTX

Current music: Reverend Beat-man - Fuck You Jesus Fuck You Oh Lord

WinFast 8800 GTX is probably the most unique video card I ever possessed. It is well-known and you can even call this piece of hardware legendary. GeForce 8800GTX was ruling the gaming world six years ago. For six months (until 8800 Ultra was released) it was not just good but the best gaming video card available on the market. nVidia won that stage of rivalry with ATI by knockout leading the way in sales as well as in benchmarks. This current edition branded WinFast by Taiwanese company Leadtek was packaged with two free games (Spellforce 2: Shadow Wars and Trackmania Nations) and small pack of software, the most usable of which was PowerDVD (nowadays this player dropped much in popularity due to high price).

winfast 8800 gtx8800 GTX was the first video card of the new era – it supported DirectX 10 in games. Even though mid and lo-end models of 8800 line also were technically capable of DX10, they lacked processing power and practically could not run very demanding heavy games like Bioshock at reasonable quality and framerate.

winfast 8800 gtx back sideAnother interesting feature 8xxx line had in comparsion with older cards was CUDA. This technology allows to compute resource-intensive processes by GPU instead of CPU. While motherboards with two CPU slots are rather rare and expensive you could freely use up to four video cards and each of them alone (with 128 CUDA cores) is more effective in some tasks. That’s where budget mainframes begin their descent from.

A bit of specifications:

GPU Clock: 575Mhz
Memory: 768MB, 384bit GDDR3
RAMDAC: 400Mhz
Minimum recommended power supply: 450W

winfast 8800 gtx box rear side