Чтобы добавлять сообщения и комментарии, .

@dmitriid:
dmitriid

2836465#25 > постоянные тяжбы

ну так и у эппла постоянные тяжбы, и?

отсрочки старта новых моделей
Не было отсрочек. А сели и были, то по совершенно другим причинам

запреты
На модели 4-летней давности

важно, что если эппл с рынка уйдёт, самсунг и другие его займут. и прибыль будет уходить в инновации.
Ахахаххахахаха инновации. Можно услышать, что такого инновационного создал Самсунг? А то про начинку iPhone 6S люди писали кипятком от собственно инноваций. А про Самсунг никто никогда даже близко не говорит «Самсунг внедряет инновации».

Ну и да. То, чем занимается Apple, — инновации в чистом виде. Прямо по определению

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

@dmitriid:
dmitriid

Решение задачи, описанной тут: juick.com было выполнено тут: juick.com

Прекрасные комментарии в коде и описания

@dmitriid:
dmitriid

Стандартная банковкая задача + предыстория + условия. Все тут: juick.com

@dmitriid:
dmitriid

*erlang *haskell *ктонановенького

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

Есть модуль X, реализующий API-вызов «изменить сумму заказа».

Заказ
— может быть отправлен или неотправлен
— может быть предоплачен или не предоплачен
— может быть помечен, как несущий риск, или не помечен
(и т.п., см. по ходу пьесы)

Заказ — это сущность, получаемая из базы данных c уже готовыми свойствами. То есть нет последовательности вызовово create_order->risk_check->....->change_sum. Когда-то кем-то где-то был создан заказ. Через две недели мы получили API-вызов, который требует изменить сумму в этом заказе.

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

Конечно, в конце концов интересут решение Шага 3. Но интересно увидеть и весь процесс Шаг 1 -> Шаг 2 -> Шаг 3

Шаг 1

— если заказ неотправлен и непредоплачен, сумму можно увеличивать и уменьшать

— если заказ отправлен, сумму нельзя увеличивать, можно уменьшать

— если сумма увеличивается, мы должны провести risk check. если risk check не проходит, товар никак не помечается, но изменение суммы не проходит

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


Шаг 2

Потом оказалось, что не, так нельзя, поэтому внеслись изменения.

Изменение суммы:

Все то же самое, что и в первой задаче, только:

— увеличивать можно на max(фиксированная сумма1, процент1 от оригинальной суммы заказа)

— уменьшать можно на max(фиксированная сумма2, процент2 от оригинальной суммы заказа),
где сумма1, сумма2, процент1, процент2 — это конфигурация, считываемая из базы данных

Если изменение не попадает в эти рамки, то увеличить/уменьшить нельзя

Шаг 3

И этого оказалось недостаточно

Все то же самое, что и в шаге 2. Дополнительно:

— если заказ предоплачен (неважно, отправлен или нет), можно увеличивать сумму, если это разрешено конфигурацией магазина. Сумма, на которую можно увеличивать высчитывается, как в шаге 2

— если заказ предоплачен, неотправлен, и сумма увеличивается, надо сделать auth-запрос в банк. если он не срабатывает, увеличить нельзя.

— если заказ предоплачен, отправлен, и сумма увеличивается, надо сделать auth-запрос в банк на разницу в сумме, а потом сделать capture запрос на всю сумму. Если хоть один из них не срабатывает, увеличить нельзя.

@dmitriid:
dmitriid

Тут на одном програмерском форуме программисты на полном серьезе заявляют, что «От исчезнование Apple'а ничего в мире в худшую сторону не изменится. Совсем ничего. Примерно как кока-кола.». А вот если исчезнет Газпром, то не забывайте, что «это и сервисные компании и разведка и бурение и подземные хранилища и танкеры и треминалы и СПГ и производство компресоров…», всем станет хуже.

Вы говорите, каша в голове только у необразованных людей? Ага-ага

@dmitriid:
dmitriid

Вот какого хера Apple не использует стандартный USB порт ©

Наверное, вот почему: twitter.com

@dmitriid:
dmitriid

Тут рядом в #2724274 «смишно» рассказывают про Apple'овские коннекторы. Мол, надо было microUSB использовать

Как-то все забывают, что стандартов USB — штук 8 (и два уже deprecated) и почти все несовместимы друг с другом. В следующем году еще один будет, Type C (они наконец-то осилили придумать коннектор, который все равно, как втыкать). Ах да, Type C будет обратно несовместимым. Естественно, ведь единственным обратно совместимым USB-стандартом был USB 3.0.

При этом у Apple'а за 13 лет было ровно два типа коннекторов: оригинальный 30-pin и Lightning, причем lightning на голову выше microUSB.

Но, естественно, Apple — говно, и ничего не понимают :-\

@dmitriid:
dmitriid

Про власть. facebook.com … и facebook.com

Это — всё, что хочу сказать.

@dmitriid:
dmitriid

Смешно наблюдать, как весь интернет ржет над Грибом-идиотом, вещающим про Wi-Fi на АЭС. Еще смешнее наблюдать, как все игнорируют просто прекрасную цитату из того же текста:

«Согласно нашему закону, сейчас более пятнадцати структур могут проводить личный досмотр граждан. А ФСБ не имеет на это право. Очевидно, что ликвидация этого пробела уже давно необходима», — сказал член ОП Максим Григорьев.

но действительно, Wi-Fi — это же так прикольно, быгыгыгыгыгы.

:-\

@dmitriid:
dmitriid

thedailyshow.com

@dmitriid:
dmitriid

Вот зачем я ходил на Neo4J meetup? Опять хочется сесть рисовать велосипед с использованием graph-databases.

@dmitriid:
dmitriid

Макс, по поводу либерализма и Штатов: да, тоже согласен. Как всегда, тут тоже спектр :) По поводу либерализма у меня недавно появилась любимая цитата: rsdn.ru

@dmitriid:
dmitriid

А пример в точности похожий на /0 сейчас не найду, алень тренироваться в google-foo

@dmitriid:
dmitriid

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

@dmitriid:
dmitriid

Получил ответ от HR'а. Выгонять не собираются :)

@dmitriid:
dmitriid

HR'ы убивают

Уже две, а то и три недели пишу повсюду, что опаздываю на новую работу (должен быть 21-го ноября, но хорошо, если к тому времени я только поеду в Бухарест забирать residence permit, с которым вообще можно полететь). То есть буду хорошо, если 23-24-го.

Сегодня получаю:

Hi Dmitrii,

We want to welcome you to your first day here at Klarna on Monday the 21th of November, at 09:30.

и т.п.

Пишу, мол, спасибо, и смайлик ставлю


Получаю:

Have a nice weekend and see you Monday :)

Это при том, что она полностью в курсе всех моих перипетий с документами и проч.

И шо теперь ожидать? :)

@dmitriid:
dmitriid

brew install erlang
хухъ. HiPE вылетает при компиляции LLVM (по дефолту в последних ОСях)

brew install —disable-hipe erlang
хухъ. все равно заходит в hipe пытается его компилить erlc, после чего вылетает со странными ошибками

brew install —use-gcc erlang
все счастливы, даже hipe компилируется, В СТРАНЕ НАДОИ РАСТУТ, КУРЫ ПОРОСЯТСЯ, СЧАСТЬЕ ВСЕМ, ВСЕ ХОДЯТ ДОВОЛЬНЫЕ, УЛЫБАЮТСЯ



вот какого выхухоля оно заходит в hipe, если —disable-hipe?

@dmitriid:
dmitriid

Что меня раздражает в текущем состоянии… ну, скажем, веба — это невозможность нормально, без геморроя, повторить его поведение на собственном хостинге.

Я хочу собственный DropBox
Я хочу собственный Amazon S3 (с прозрачным и быстрым назначением CNAME'ов, как и в S3)
Я хочу собственный Jabber-сервер с гейтами в ICQ, например (сейчас пользуюсь бесплатной версией hosted.im
Я хочу еще там что-то, что сейчас не упомню.

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

@dmitriid:
dmitriid

Думаю над редизайном и обновлением erlanger.ru. Предварительный deadline: Новый год. Но для этого надо еще форум и вики перевести на Zotonic. ыыыыы

@dmitriid:
dmitriid

В Кишиневе первые снежинки