Pull to refresh

«Never say never» или Работаем с таймзонами правильно

Reading time 9 min
Views 70K
VK corporate blog Python *Programming *
Эта статья рассказывает о проблемах, которые поджидают программиста, работающего с часовыми поясами. В теории, вроде, всё хорошо, просто и понятно, но жизнь — штука сложная, и на практике, порой, возникают совершенно неожиданные ситуации.

TL;DR: Работа с таймзонами — это боль и унижение. Никогда не работайте с таймзонами!

Итак, все кругом твердят вам, что при получении времени от пользователя нужно сразу же переводить его в UTC, работать со временем нужно только в UTC и хранить время тоже нужно строго в UTC. Совет, на первый взгляд, выглядит разумным, и следование ему делает вашу жизнь проще… Если только ваша программа не предполагает сложной работы с датами. Записать в базу данных дату и время регистрации пользователя на сайте? Сохранить время отправки сообщения или дату создания заказа в интернет-магазине? Вывести сообщение в лог с указанием даты-времени? Используйте UTC и всё будет в порядке, можете даже не читать эту статью дальше. Любое текущее время можно совершенно спокойно конвертировать в UTC и забыть о проблемах. Но что, если мы хотим работать с временем в будущем? Или в прошлом? Например, если мы пишем сервис календаря, или сервис для отложенной отправки сообщений?

Читать дальше →
Total votes 84: ↑79 and ↓5 +74
Comments 103

Попытка реинкарнации и вброс в Open-Source Яндекс.Подписок

Reading time 2 min
Views 12K
API *Yandex API *
Привет, хабрасообщество! Многие заметили, что Яндекс закрыл сервис подписок. Читая комментарии, у меня возникла идея создать аналог. Поднять его на API от Яндекса, после чего перевести его, так сказать, на автономное питание, заменив API на свое (не переживайте, я не сделаю это так незаметно, как сделал это Великий Желтый).

Был создан репозиторий на гитхабе, зарегистрирован временный домен в зоне .tk (почему временный, я думаю, объяснять не стоит. Кому интересен сей проект, милости прошу под кат.
Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Comments 12

Microsoft Edge и RTC: история боли

Reading time 4 min
Views 14K
Voximplant corporate blog JavaScript *
image Облачная телефония VoxImplant может принимать звонки и звонить на разные источники. Сотовые телефоны, SIP, мобильные приложения, веб страницы. Можно позвонить с сотового на веб страницу, выглядит завораживающе. Если с сотовыми все понятно, то возможность поговорить с браузером требует чего-нибудь кроме HTML и JavaScript. Раньше таким «что-нибудь» был Flash. И мы до сих пор умеем его использовать в качестве fallback-варианта. Но последние несколько лет популярные браузеры звонят совсем не через Flash, а через HTML5 технологию «WebRTC». Которая до недавнего времени была представлена в Chrome и Firefox. Но все течет, все меняется, и в бета-версии Microsoft Edge появилась поддержка WebRTC. Почти. Microsoft традиционно пошла своим путем и сделала «альтернативную» реализацию, которая называется «ORTC». Чем они отличаются и что пришлось пережить нашим разработчикам — читайте под катом.

Под катом: боль, унижение и страдание
Total votes 42: ↑40 and ↓2 +38
Comments 12

Синдром самозванца, часть 2. Почему он возникает и как с ним бороться

Reading time 9 min
Views 10K
ProductSense corporate blog IT career Brain Health

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

Синдром самозванца. Часть 1: что это, как его распознать и надо ли идти к психологу

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 1

О проблемах нормальной оценки фич и как их решить

Reading time 8 min
Views 8.9K
Райффайзен Банк corporate blog Programming *Development Management *Project management *Finance in IT
image

Привет. Давайте я расскажу вам о своем опыте в оценке программных продуктов. Я занимаюсь этим без перерывов уже 15 лет, и мне бы хотелось поделиться опытом и эволюцией моих взглядов на оценку. Уверен, что это будет полезно. Начнем с целеполагания. Зачем вообще оценивать? Кому это надо?

Ответ на самом деле очень простой — людям хочется определенности, в частности ответа на вопрос «когда будет готово?». Когда мне можно в отпуск, когда начнутся продажи, когда делать связанную задачу. С другой стороны — мало ли что люди хотят, почему из-за чужих желаний тратить свое время на это занятие?

Но, в конечном счете, нам всем бы хотелось получать зарплату, а зарплата не из воздуха появляется, ее компания берет из выручки, в отдельном случае — из инвестиций. А чтобы эта самая выручка была, нам надо достигать бизнес-цели. А люди, которые формулируют бизнес-цели очень любят всякие финансовые формулы — ROI, LTV и прочая EBITDA. А в этих формулах постоянно фигурируют сроки. Без них крокодил не ловится, не растет кокос.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 73

Краткая история портативного Hi-Fi или как я стал аудиофилом

Reading time 17 min
Views 31K
Gadgets Sound
Аудиофилов на Хабре принято не любить. Семь лет назад я написал на (тогда еще отдельном ресурсе) Geektimes эмоциональный пост на эту тему: дорогая техника и золотые провода не обязательны для получения удовольствия от музыки. Я до сих пор так считаю, но у того старого поста есть одна особенность: я его писал, уже владея приличным ассортиментом именно той техники, которую критиковал. Несмотря на неочевидный профит от таких аппаратов, они меня всегда привлекали, и я не стеснялся тратить на них свободные деньги. С тех пор прошло много времени, и в обычной, гражданской среде произошло как минимум три серьезных изменения. Во-первых, оформились стриминговые сервисы как поставщик почти любой музыки в любую точку мира. Из-за этого практически исчезли классические оффлайновые музыкальные плееры. В-третьих приобрели популярность беспроводные наушники, а разъем для обычных, проводных начал стремительно исчезать из смартфонов, ломая пожалуй самое невинное и самое полезное легаси.

Я и сам за эти годы изменился, и теперь воздерживаюсь от резких необоснованных суждений. Терпимо отношусь к любому увлечению, если оно не наносит вред увлекающемуся или окружающим людям (особенно окружающим). Я по-прежнему люблю разнообразные гаджеты и ценю не только технологии, но и экспириенс — к чему идеальные, «по науке» технические новинки, если они не радуют? Но все же предпочитаю в списке доводов для покупки иметь какой-то рациональный пункт. Не только «потому что хочу!1», а есть ли в моем новом гаджете какое-то объективное преимущество? Так вот, в этом тексте я постараюсь предложить объективные преимущества современного дорогого портатива. Но заодно выступлю как наблюдатель, попробую определить, с чего началась неудовлетворенность ранними кассетными и CD-проигрывателями, которая в итоге и привела к подлинному расцвету аудиофильской техники сегодня. И какие с этим были связаны не только технические сложности, но и, скажем так, социальные особенности данного феномена.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 110

В десктопном Linux всё ещё больно

Reading time 7 min
Views 88K
JUG Ru Group corporate blog Configuring Linux *System Analysis and Design **nix *

25 августа 1991-го Линус Торвальдс впервые сообщил миру, что работает над новой ОС. Если отсчитывать от этого, то позавчера Linux исполнилось 30 лет, так что можно подвести какие-то итоги: например, скоро ли настанет «год линукса на десктопе»?

А неделю назад я написал о нюансах перехода на Mac. И быстро появились комментарии, что вот в линуксах нет описанных сложностей — мол, непонятно, зачем вообще люди страдают за маками. На мои слова «так в Linux другие проблемы, там многие чинят звук, лазая по форумам» ответили, что это устаревшие стереотипы. А сейчас всё работает из коробки, даёшь детям и они не нарадуются.

Я уже почти десять лет не использовал Linux в качестве основной системы, поэтому подумал: может, действительно напраслину возвожу, а всё уже изменилось и с форумами больше никогда не сталкиваешься? Наконец можно рекомендовать линукс родственникам? Вот-вот к нему придёт массовая популярность?

Захотелось хотя бы бегло глянуть. Тут ещё и повод подвернулся: помогал другому человеку выбрать ноутбук, и он был не против установки линукса. В общем, глянул. И быстро испытал столько ярких ощущений, что написал этот пост.

Читать далее
Total votes 216: ↑153 and ↓63 +90
Comments 1193

Размышления об успешном успехе над сломанным цифровым магнитофоном

Reading time 10 min
Views 11K
«Лаборатория Касперского» corporate blog Old hardware Sound
Говорят, забуксовавший проект иногда лучше бросить, зафиксировав убытки, чем пытаться всеми силами довести до конца. Именно это в 1996 году сделала компания Philips, закрыв проект нового звукового носителя, цифровой компакт-кассеты. Идея использовать для записи сжатого аудио слегка модифицированную аудиокассету наверняка казалась беспроигрышной ее создателям. Но что-то пошло не так, и на полках магазинов устройства Digital Compact Cassette провели всего четыре года.


Когда у меня толком не заработал первый экземпляр магнитофона Philips DCC951, нужно было тоже остановиться, зафиксировать убытки, и закрыть эту тему. Но нет, я был настойчивый! Спустя три года, я вроде бы добился успеха: получил в свое распоряжение полностью рабочий экземпляр цифровой кассетной деки, самой последней и самой навороченной в линейке Philips DCC. Эта статья — рассказ о моих многочисленных страданиях, как я из трех древних и очень редких штук собирал одну работающую.
Читать дальше →
Total votes 49: ↑49 and ↓0 +49
Comments 35