chris_archer: (Default)

Протупил с выходом новой модели из серии :)

metro2016

Почти как в 2015, только еще сильнее изгадили подорожник

Код в битбакете обновлен

К счастью, несмотря на гулявшие новости, делать вариант 2016.2 похоже не придется :)

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

include

std::string operator*(std::string& s, unsigned int n)
{
std::string cml;

cml.reserve(s.size() * n);

for (decltype(n) i = 0; i < n; i++) { cml += s; } return cml; } int main() { std::string s = "test"; std::string sss = s*3; std::cout << sss << std::endl; }

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

Ну, не JavaScript, а Java, не отключен, а запрещен к скачиванию, и не в вашем доме, а в домах клиентов ФГУП РСВО

java

src: habrahabr.ru

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

Переселил jabber для домена с монструозного ejabberd на легкий Prosody. Высвободил ~200 МБ оперативы на VPS-ке. В принципе, полет нормальный, только хранение истории на сервере теперь через новый стандарт, который ни один клиент не поддерживает :( Пришлось запилить по-быстрому веб-интерфейс.

Если кому нужна конвертилка истории из mod_archive_odbc ejabberd в mod_mam_sql Prosody — их есть у меня (холст, масло, сыр, PHP)

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

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

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

metro2013

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

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

snapshot4

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

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

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

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

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

Код там же

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

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

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

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

Результат:

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

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

Код модели под катом (C++)
Read the rest of this entry  )

Originally published at Chase Your Dreams!. You can comment here or there.

chris_archer: (Default)

Вот еще забавность:

  1. <?php
  2.  
  3. namespace test;
  4.  
  5. class SomeName
  6. {
  7.         public static function SomeName()
  8.         {
  9.                 echo "something\n";
  10.         }
  11. }
  12.  
  13. $a = new SomeName();
  14. $a->SomeName();
  15. /* печатает something */
  1. <?php
  2.  
  3. // namespace test;
  4.  
  5. class SomeName
  6. {
  7.         public static function SomeName()
  8.         {
  9.                 echo "something\n";
  10.         }
  11. }
  12.  
  13. $a = new SomeName();
  14. $a->SomeName();
  15. /* PHP Fatal error:  Constructor SomeName::SomeName() cannot be static in /tmp/test.php on line 11 */

Причем если предыдущий пример был недоработкой по сути, то это фича

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

$b = new stdClass;
$b->method = function($x) { var_dump( $x); };
$b->method->__invoke('dads'); // string(4) "dads"
$b->method('dads'); // PHP Fatal error: Call to undefined method stdClass::method() in php shell code on line 1
($b->method)('dads'); // PHP Parse error: syntax error, unexpected '(' in php shell code on line 1

*задумался*

Originally published at Chase Your Dreams!. You can comment here or there.

Jadaver

Nov. 9th, 2011 03:32 pm
chris_archer: (Default)

Apache Harmony был моделью Java, полностью неудовлетворенной. OpenJDK – модель Java, неудовлетворенная желудочно. Oracle в застенках готовит модель Java, удовлетворенную полностью.
–shimon (linux.org.ru)

Я всегда подозревал, что Java это кадавр.

Originally published at Chase Your Dreams!. You can comment here or there.

Репо

Jul. 31st, 2011 03:30 pm
chris_archer: (Default)

Завел репо на BitBucket для всякого кода, который я публиковал в дняффке, и подобной мелочевки.

http://code.sunchaser.info/miscellaneous (Mercurial, BitBucket.org)

Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

Решая задачку раздачи инета на второй комп, наткнулся на необходимость получения IP адреса по MAC. Сначала использовал какой-то скрипт на вижуалбейсике, но при даунгрейде Windows XP до Windows 2000 способ отвалился. Тогда я плюнул на тот скрипт и пару bat-ников обвязки и соединил всё в скрипт на Ruby

Собственно имеем:

  1. Комп с линухом и сквидом, раздающий инет. Внутренний IP — динамический
  2. Комп с Windows, на котором нужен инет. IP — динамический, подсеть та же
  3. Нежелание свзяваться с роутером, чтобы избавиться от этого безобразия =)

Наш алгоритм

  1. Пингуем всю подсеть (да, в винде пинг не умеет броадкасты)
  2. Ищем нужный мак в кэше
  3. Пишем в хостс нужный адрес

Read the rest of this entry  )

Originally published at Chase Your Dreams!. You can comment here or there.

chris_archer: (Default)

  1. #!/usr/bin/ruby
  2. require ‘date’
  3. puts "Enter your birthdate (YYYY-MM-DD):"
  4. birth = Date.parse(gets, true)
  5. today = Date.today
  6. age   = today-birth # in days
  7. min_age = (2 * (age – 7 * 365.25)).round
  8. max_age = (age/2 + 7 * 365.25).round
  9. min_birth = Date.today – min_age
  10. max_birth = Date.today – max_age
  11. puts "Your age pool is #{min_birth.to_s} – #{max_birth.to_s}"
  12. if min_birth > max_birth
  13.     puts "You’re too young ^__^"
  14. end
Originally published at Chase Your Dreams!. You can comment here or there.
chris_archer: (Default)

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

http://ithappens.ru/story/825

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

http://ithappens.ru/story/832

Индусы отдыхают. Мне страшно >__< Зато стало понятно, почему из олимпиадников и лаборантов редко получаются хорошие программеры.

Originally published at Chase your dream!. You can comment here or there.
chris_archer: (Default)

[21:55:41] Chris Archer says:
“Прежде, чем мы пойдем дальше, я должен сделать одну вещь, которую я обещал сделать: нанести удар по обработке исключений (exceptions). В последний раз, когда я это сделал, я попал в большую неприятность. В неподготовленном замечании на домашней странице Joel on Software я написал, что не люблю исключения, потому что они, фактически, являются невидимым goto, а это, как я рассуждал, еще хуже, чем явный goto.”
[21:56:11] Chris Archer says:
если я правильно помню, в питоне вообще советуют совать исключения куда ни попадя?
[21:57:15] Hey Jimmy says:
да… ну это чтоб приложение было устойчиво
[21:57:27] Chris Archer says:
мда…
[21:57:51] Hey Jimmy says:
кстати, согласна по поводу неявного goto…
[21:58:01] Chris Archer says:
чем больше я узнаю языков, тем больше люблю сиплюсплюс
[21:58:44] Hey Jimmy says:
плюс стопицот)))

Цитата взята из статьи “Как заставить неправильный код выглядеть неправильно”, где кроме вреда исключений рассказывается еще и о правильной венгерской нотации (не той фигне, что везде пишут)

Originally published at Chase your dream!. You can comment here or there.
chris_archer: (Default)

Задача:

Два мужика встретились в баре и разговорились. Через некоторое время один из них сказал: “Ты думаешь только у тебя семейные проблемы? Послушай про мою ситуацию: Несколько лет назад я встретил молодую вдову со взрослой дочерью, и мы поженились. Недавно мой отец женился на моей падчерице. Это сделало мою падчерицу моей мачехой, мой отец стал моим пасынком. Кроме того, моя жена стала тещей собственного свекра. Идем дальше, у дочери моей жены (моей мачехи) родился сын. Этот мальчик мой единокровный брат, потому что он сын моего отца, но он также сын дочери моей жены, что делает его внуком моей жены. Это делает меня дедушкой моего единокровного брата. Это было бы еще терпимо, пока у нас с женой не родился сын. Теперь сестра моего сына, моя теща, стала еще и бабушкой. Это делает моего отца шурином моего ребенка, сводная сестра которого — жена моего отца. Я шурин моей мачехи, моя жена — тетя ее обственного ребенка, мой сын — племянник моего отца, а я свой собственный дедушка, а ты тут жалуешься на семейные проблемы!”

Поскольку вводить кучу семейных отношений ломает, докажем лишь дедушку.

# j = our generation; i = john's father; k = jane's daughter

male(john). # our protagonist
male(ian).
female(jane).
female(kate).

family(john, jane).
family(ian, kate).

parent(ian,  john).
parent(jane, kate).
parent(X, Y) :- family(X, Z), parent(Z, Y).
parent(X, Y) :- family(Z, X), parent(Z, Y).

father(X, Y) :- parent(X, Y), male(X).

grandfather(X, Y) :- father(X, Z), parent(Z, Y).

# and these couples have children
parent(john, keegan).
parent(ian, jake).

Где Джон — это и есть наш мужик. Для проверки вводим или grandfather(john, john) — выдаст True, или grandfather(X,X) — выдаст X=john.

При решении задачи использовался компилятор SWI-Prolog 5.6.59

Под катом подробно закомментированный вариант.

Read the rest of this entry  )

Originally published at Chase Your Dreams!. You can comment here or there.

Coding

Jan. 17th, 2008 11:09 pm
chris_archer: (Default)

По своему опыту знаю, что японцы пишут код в соответствии с правилами японского языка, когда основная мысль излагается в конце. И лучший код пишут полиглоты.

http://v-alksnis2.livejournal.com/78107.html?thread=6510107#t6510107

Originally published at Chase your dream!. You can comment here or there.

Profile

chris_archer: (Default)
chris_archer

June 2017

S M T W T F S
    123
456 78910
11121314151617
18192021222324
252627 282930 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 18th, 2017 08:12 pm
Powered by Dreamwidth Studios