UProLa

Неокріпші думки

Хороше і погане

with 7 comments

Хороше

Колись давно я робив багатофазову SVG-шку

Але всі анімації були виконані через JavaScript. Можна сказати, що вся картинка була намальована через джаваскрипт. А потім я взнав, що всі ці анімації та відрисовки можуть бути зроблені декларативно, без коду взагалі. І я налабав ось-такі дві SVG-шки (вони повинні були бути об’єднані, але стало впадлу)


Якщо вам здається, що остання анімація крива, то спробуйте переглянути її в Firefox. Щодо опери не пам’ятаю, але хром нещадно глючний в цьому плані (хоча, брешу, файрфокс також глючний, але в іншому плані)

Обидві написані вручну, всі позиціювання виконані вручну, використано g, use, markers, symbols, xml entities і багато інших цікавих тегів. Планував зробити більше, але як завжди, не вистачило бажання, зміна пріоритетів тощо.

Погане

Зрозумів, що не вся інформація може бути “вільною” і “публічною”. Колись думав, “якщо знання якоїсь інформації допомагає людині, то цю інформацію, або хоча б про її існування, повинні знати всі”. Тепер так не думаю. Чому? Контрприклад.

Ситуація

В метро на станціях пересадки бувають пробки з людей. Конеретно зараз йде мова про пересадку “Золоті ворота” -> “Театральна”.

Чорні стрілки показують рух поїзда, червоні – людей (станція Золоті ворота). Питання стоїть наступним чином: чи можливо взагалі і в якому випадку можна уникнути “пробки” і пробратись на “Театральну” за мінімальний час з мінімальними зусиллями? Питання має право на життя, оскільки іноді відключають один ескалатор (один раз навіть обидва відключили!) і ситуація з пробкою стає схожою на таку картинку:

В цьому випадку можна пробратись на непрацюючий ескалатор і забігти наверх без стояння в пробці (колись я саме так і робив). Але це не є відповіддю на питання, бо не “з мінімальними зусиллями”.

Рішення проблеми

Правильна траекторія руху для задоволення усіх обмежень задачі зображена зеленим кольором на рисунку нижче.

Іншими словами, направляємось на непрацюючий ескалатор, проте в останній момент “втискуємось” на працюючий. Натовп рідко впадає у шок від такої поведінки і пропускає тебе вперед. Результат – мінімальний час очікування (порядка кількох секунд) і зекономлені сили.

Публічність інформації

Після того, як я взнав цей нюанс, я подумав: що буде, якщо всі будуть знати цей нюанс? Це призведе до того, що всі почнуть намагатись втискуватись “в останній момент”, а отже навантаженість підходу до екслатора стане рівномірною, а отже цей прийом перестане працювати. Знову ж таки, іншими словами, для того щоб цей нюанс працював, треба щоб про нього ніхто окрім тебе не знав. Публічність даної інформації не в інтересах тих, хто про неї знає. Я не хочу, щоб про цю справді life-hack інформацію розповідали в школах і по телевізору. Інформація повинна залишатись секретною, нехай і нічого секретного в ній немає.

Власне, коли я це усвідомив, я зрозумів, що на WikiLeaks, Wikipedia, Open Source потрібно дивитись не через рожеві окуляри, а через скептичні. А також, що вільна інформація не завжди повинна бути публічною.

Written by danbst

3 Лютого, 2012 at 12:12

Опубліковано в Програмування

Відповідей: 7

Subscribe to comments with RSS.

  1. Прекрасно ілюстрована стаття. Незважаючи на те що ілюстрації криві. Але вручну розфарбований код – це треба мати терпіння.

    Мені от цікаво, svg не має можливості вказати що цей атрибут дорівнює x(t), а оцей y(t), а в іншого об’єкта інші атрибути дорівнюють цим функціям, де t – номер кадру?

    Бач, ти хочеш аби тобі було краще ніж іншим. А це неетично. Тому золоте правило етики повинно бути “кому є що приховувати, той нехороша людина”. 🙂

    bunyk

    3 Лютого, 2012 at 20:16

    • о таак… саме ось це фарбування я хотів покласти на плечі JavaScript, якраз тоді зрозумів, що більше подібних картинок робити не буду. А також, десь тоді взнав про Inkscape (чи як він називається). До-речі, там навіть коменти є в SVG-шках =)

      Ні, не має. Навіщо імперативщина у чисто декларативній мові? Можливо пізніше напишу про FRP, щоб пояснити, як можна позбутись імперативщини в малюванні картинок.

      ні, я хочу щоб мені ***не стало гірше***. А так, я тільки ЗА комунізм у всьому світі.

      danbst

      3 Лютого, 2012 at 21:59

  2. > Це призведе до того, що всі почнуть намагатись втискуватись “в останній момент” […]

    Ти справді думаєш, що нікому іншому думка про цей твій «лайфхак» не приходила в голову? Що ним ніхто насправді не користується?..

    Розумієш, я просто вбачаю відверте false у засновках твого судження «якщо всі будуть знати, то буде кардинально по-іншому». Достатньо людей вже і так знає, але ситуація є рівно такою, як ми її бачимо.

    ulidtko

    4 Лютого, 2012 at 00:55

    • 1) звісно, не я один такий вумний. по спостереженням, 10%-15% людей цим користуються.
      2) ти маєш на увазі “всі будуть знати, але не всі будуть користуватись”? це спірно.

      danbst

      4 Лютого, 2012 at 02:23

      • та всі це знають, таких “лайфхакерів” кожен день бачиш

        intracer

        5 Лютого, 2012 at 09:38

  3. Ще думок відносно аналізу вигідності лайфхаків. Не все так просто.

    Скажімо, розказати другу класний лайфхак — вигідно. Це буде підкріпленням вашого соціального зв’язку, інвестицією у відносини. Люди так часто роблять.

    Вести фотоблог популярних лайвхаків — вигідно. Ну взагалі, мати популярність вигідно. Настільки, що еквівалентний профіт від «розшарювання» цінної інформації може значно перевищити власне цінність останньої. Відкриті швидкі комунікації (Інтернет) цьому сприяють.

    ulidtko

    4 Лютого, 2012 at 01:09

  4. лайфхак – підніматися сходами прикольно, це чудова розминка. Якщо важно піднятися по такому коротесенькому ескалатору, як на Театральній (на переході :)- ви засиділися за компом

    intracer

    5 Лютого, 2012 at 09:43


Залишити відповідь на intracer Скасувати відповідь