Vulpo One

Don’t Blink

Видимо, окончательно переходя на путь “Embrace, Extend, Exterminate”, Гугл решил форкнуть WebKit. Возрадуйтесь, верстальщики! Теперь, когда готовится исчезнуть Presto, движок Оперы, появится новый движок — Google Blink.

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

Опс, на Хабре пишут:

Если вы загорелись использовать Blink в своих проектах, то тут небольшое разочарование, потому что движок слишком плотно привязан к кодовой базе Chromium, поэтому без неё Blink фактически бесполезен. Тем не менее, можно будет использовать наиболее лёгкий Chromium Embedded Framework.

https://habr.com/ru/post/175377/

Это таки плохо.

И на всякий случай, если вы пользуетесь Хромом или Хромиумом, старайтесь не моргать :3

chrome-dont-blink-2

Comments


PHP 5.5 yield

Извращаюсь с новой игрушкой

<?php
$a = function () {for ($i = 0; $i < 10; $i++) yield $i;}; foreach ($a() as $i) echo $i; // 0123456789

Жаль, что не работает foreach ($a as $i) echo $i;, тогда можно было бы написать короче

<?php
foreach(function () {for ($i = 0; $i < 10; $i++) yield $i;} as $i) echo $i;

Или будь PHP похож на одного из своих предков, можно было бы

<?php
foreach((function () {for ($i = 0; $i < 10; $i++) yield $i;})() as $i) echo $i;

Даже извращения не работают типа

<?php
foreach((function () {for ($i = 0; $i < 10; $i++) yield $i;})->__invoke() as $i) echo $i;

Если кто не догнал, я пытаюсь сделать вот это:

(0..9).each { |i| print i }

Comments


Adding Java Style

Оппа, оппа, Java Style

Что делает эта программа?

 1<?php
 2
 3use SimplePHPEasyPlus\Number\NumberCollection;
 4use SimplePHPEasyPlus\Number\SimpleNumber;
 5use SimplePHPEasyPlus\Number\CollectionItemNumberProxy;
 6use SimplePHPEasyPlus\Parser\SimpleNumberStringParser;
 7use SimplePHPEasyPlus\Iterator\CallbackIterator;
 8use SimplePHPEasyPlus\Operator\AdditionOperator;
 9use SimplePHPEasyPlus\Operation\ArithmeticOperation;
10use SimplePHPEasyPlus\Operation\OperationStream;
11use SimplePHPEasyPlus\Engine;
12use SimplePHPEasyPlus\Calcul\Calcul;
13use SimplePHPEasyPlus\Calcul\CalculRunner;
14
15
16$numberCollection = new NumberCollection();
17
18$numberParser = new SimpleNumberStringParser();
19
20$firstParsedNumber = $numberParser->parse('1');
21$firstNumber = new SimpleNumber($firstParsedNumber);
22$firstNumberProxy = new CollectionItemNumberProxy($firstNumber);
23
24$numberCollection->add($firstNumberProxy);
25
26$secondParsedNumber = $numberParser->parse('1');
27$secondNumber = new SimpleNumber($secondParsedNumber);
28$secondNumberProxy = new CollectionItemNumberProxy($secondNumber);
29
30$numberCollection->add($secondNumberProxy);
31
32$addition = new AdditionOperator('SimplePHPEasyPlus\Number\SimpleNumber');
33
34$operation = new ArithmeticOperation($addition);
35
36$engine = new Engine($operation);
37
38$calcul = new Calcul($engine, $numberCollection);
39
40$runner = new CalculRunner();
41
42$runner->run($calcul);
43
44$result = $calcul->getResult();
45$numericResult = $result->getValue(); // 2

Она вычисляет 1+1!!!

https://habr.com/ru/post/172119/

Comments


Стоимость проезда в питерском метро: Часть 3

Ахахахаха! Вот она, модель моей мечты, срывающая покровы!

В тарифах 2013 года метрошное начальство наконец облажалось с тарифами.

metro2013

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

Напоминаю график для прошлых тарифов.

metro2012

Код в репозитории обновлен

Comments



WP Simple XRDS

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

xrds-simple.zip UPD: удалено т.к. больше не актуально

Comments


Стоимость проезда в питерском метро: Часть 2

Сделал более аккуратную модель и добавил проездной на 70 поездок

Стоимость проезда в метро Санкт-Петербурга

  • Проездной на 70 всё же рулит, но в ограниченном промежутке
  • Проездной на 50 тож рулит
  • Да и вообще, тут график понятнее, смотрите сами

Код там же

Comments


Стоимость проезда в питерском метро

Лафа с пешком до работы кончилась и я решил узнать какой всё же проездной на метро выгоднее. Естественно, лёгких путей мы не ищем и на интуицию полагаться не будем.

Итак, модель. Для простоты смоделируем “год” в 360 дней из 12 месяцев по 30 дней. Ну, для простоты. Для примерного результата этого достаточно. И заставим модель кататься по проездным этот год

  • Не брались проездные на 90 дней — один из них не может быть выгоднее жетонов (1890/70 = 27 рублей за каждую поездку), другой — подорожника (1560/60 = 26 рублей за каждую поездку)
  • Не брался месячный проездной на 70 поездок. Сначала я его неправильно смоделировал, а потом заломало. Про него — отдельно

Результат:

image0

Абсцисса — число поездок в неделю, ордината — средняя стоимость одной поездки

  • Не стоит париться с проездными, если вы ездите меньше раза в день. Думаю, это и так очевидно.
  • Подорожник рулит необычайно
  • Нет особого смысла в “толстых” проездных (25/15, 50/30) — они незначительно выгоднее вариантов “полегче” на тот же период
  • Проездной на 20 рулит над подорожником с 9 до 14 поездок
  • Проездной на 40 рулит над подорожником с 9 до 17 поездок и безусловно рулит над проездным на 20 :)
  • Если вы ездите больше 1 и меньше 3 раз в день, скорее всего вам будет выгоднее проездной на 40 поездок
  • В остальных случаях берите подорожник. Вообще, берите подорожник, с ним не надо паритсья с проездными
  • Проездной на месяц привязан к календарному месяцу. Может он и выгоден, но мне с такой привязкой париться неудобно
  • Все эти тарифы — или от балды, или разводилово

Код модели (C++):

Continue readingComments


Supplemental к кукам

Зря я посоветовал .co.cc: если зайти на http://co.cc/, то он поставит свои куки и затея пойдет прахом. Тем же страдает и российский da.ru.

Вот список “чистых” бесплатных зон: .tk, .cu.cc и .int.tf / .net.tf / многовсякого.tf (у последнего dns на стадии бета-тестирования)

Если знаете еще такие, пишите.

Comments


WP Super Cache против куки для картинок

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

Тем более если это ничего не стоит, почему бы это не сделать? В WordPress с плагином WP Super Cache сделать это элементарно, если вы можете создавать поддомены или добавлять новые домены к своему сайту.

В первом случае, если у вас адрес блога www.sitename.com или, скажем, blog.sitename.com, то создаем субдомен static.sitename.com и указываем его на ту же папку с вордпрессом. Если адрес высшего уровня (без www или blog), то тут можно только второй способ — регистрируем отдельный домен. Вовсе необязательно его покупать — сгодятся и бесплатные .tk или .co.cc (.co.cc плох) любой степени ужасности — вам всё равно не давать на них ссылки. Схема та же — указываем его на ту же папку.

Дальше идем в настройки плагина WP Super Cache на страницу CDN и прописываем в поле Off-site URL (Основной URL) наш свежесозданный адрес (у меня — sunchaser.tk)

image0

Всё! Работает по той же схеме, что и настоящий CDN — все ссылки на статичные файлы будут переадресованы на новый адрес автоматически

Comments