Pull to refresh
-6
0
Send message

Качество воздуха в доме зимой

Reading time4 min
Views89K
image

Зимой воздух в помещении хуже всего. Духота, сухость. Работает отопление, проветривать часто нельзя, потому что замерзнешь. Особенно актуально, когда дома есть маленькие дети.
Как соблюсти баланс? Возможно ли это?

В статье я приведу цифры и расчеты. А еще свой вариант решения проблемы и устройство, собранное для этого. Кому интересно, прошу под кат…
Читать дальше →

Дайджест интересных материалов для мобильного разработчика #278 (3 — 9 декабря)

Reading time3 min
Views5.4K
В нашей еженедельной подборке герои Swift-а, поиск неуловимого бага в React Native, лучшие приложения App Store и Google Play 2018 года, первый стабильный Flutter, первый Яндекс.Телефон и многое другое. Подключайтесь!

Читать дальше →

Как мы удвоили скорость работы с Float в Mono

Reading time6 min
Views8.2K

Мой друг Aras недавно написал один и тот же трассировщик лучей на разных языках, в том числе на C++, C# и компиляторе Unity Burst. Разумеется, естественно ожидать, что C# будет медленнее, чем C++, но мне показалось интересным, что Mono настолько медленнее .NET Core.

Опубликованные им показатели были плохими:

  • C# (.NET Core): Mac 17.5 Mray/s,
  • C# (Unity, Mono): Mac 4.6 Mray/s,
  • C# (Unity, IL2CPP): Mac 17.1 Mray/s

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

В результате этого бенчмарка и изучения этой проблемы мы обнаружили три области, в которых возможно улучшение:

  • Во-первых, необходимо улучшить параметры Mono по умолчанию, потому что пользователи обычно не настраивают параметры у себя
  • Во-вторых, нам нужно активнее знакомить мир с бекэндом оптимизации кода LLVM в Mono
  • В-третьих, мы улучшили настройку некоторых параметров Mono.

Опорной точкой этого теста были результаты прогона трассировщика лучей на моей машине, а поскольку железо у меня другое, сравнивать числа мы не можем.

Результаты на моём домашнем iMac для Mono и .NET Core были следующими:

Рабочая среда Результаты, MRay/sec
.NET Core 2.1.4, отладочная сборка dotnet run 3.6
.NET Core 2.1.4, релизная сборка dotnet run -c Release 21.7
Ванильный Mono, mono Maths.exe 6.6
Ванильный Mono с LLVM и float32 15.5
Читать дальше →

Google держит вас в персональном «поисковом пузыре» даже если выйти из аккаунта

Reading time3 min
Views64K


Все мы давно знаем, что Google, Яндекс и другие коммерческие поисковые системы анализируют историю посещений и поисковую историю пользователя, на основе которых хитрые алгоритмы пытаются предсказать, что «пригодится» человеку в следующий раз. Когда эта технология только зарождалась, она казалась логичной и понятной, но сейчас этот подход выглядит крайне и крайне пугающе. Потому что раньше представители Google, самой популярной поисковой системы в мире, утверждали, что достаточно выйти из аккаунта, чтобы избавиться от «предвзятости» поисковой выдачи и получить нейтральные результаты при использовании сервиса.

Парни из DuckDuckGo в своем исследовании утверждают, что даже при выходе из аккаунта и переходе в анонимный режим, Google продолжает подстраивать поисковую выдачу согласно ранее собранной о пользователе информации. То есть компания не оставляет человеку выбора и все равно манипулирует поиском, даже если действия пользователя явно говорят о том, что он хочет получить «нейтральный» результат.
Читать дальше →

Как строятся оптоволоконные сети

Reading time6 min
Views84K
Всем привет! Меня зовут Дмитрий, я занимаюсь проектированием и строительством волоконно-оптических линий связи (ВОЛС) в DataLine. Сегодня расскажу, как мы создаем оптические трассы для наших клиентов и как устраняем аварии.


Монтажник укладывает волокна двух кабелей в оптической муфте.
Читать дальше →

30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году

Reading time9 min
Views38K

30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году


В течение лета 2018 года было разработано и обновлено множество отличных Android-библиотек и инструментов.


Я составил самый новый неупорядоченный список Android-библиотек, инструментов и проектов, которые могут оказаться интересными или полезными во время вашей повседневной работы. Они также отлично подойдут для вдохновения или экспериментов.


Надеюсь, вам понравится. Давайте начнём!

Читать дальше →

Мой переезд и работа в Австралии

Reading time16 min
Views103K
image

Много было постов про переезд, поросенок Петр не знает покоя в России, решил рассказать про свой опыт переезда и работы в Австралии, может это кому-то будет интересно. Мне тут очень нравится, надеюсь это поможет кому-то найти приятную страну, чтобы осесть, или просто получить клевый опыт работы. Так же думаю, рабочий процесс в моей компании может сподвигнуть кого-то на эксперименты в процессе разработки.

Прошу прощения, что получилось так много и не очень структурировано.
И да, все сказанное ниже является только моим собственным мнением и не является официальным взглядом таких компаний, как SEEK и Jora, это меня мое начальство попросило тут написать.
Читать дальше →

Мониторинг улья и открытый проект

Reading time2 min
Views22K

Пчела на микроконтроллере


Всем привет! Прошло 5 дней с момента предыдущей статьи на тему "умного улья". Как говорится, много думал и гуглил. Еще несколько лет назад не было такого хайпа в области пчеловодства. Сейчас-же поднялась целая волна — кажется, что интернетом пчел занимаются все — от школьников, студентов и до серьезных ИТ-гигантов.


Но эта волна разбивается о прагматизм отрасли пчеловодства.


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


Ибо один человек может потерять интерес, уйти в бизнес, но сообщество останется и будет развиваться!


Под катом уже достаточно сформировавшаяся концепция простой системы мониторинга. Как сделать из всего этого открытый проект — задача со многими неизвестными.

Читать дальше →

Зоопарк коммуникационных протоколов для GPS-трекеров (часть 2)

Reading time5 min
Views15K


Это продолжение статьи про сетевые протоколы используемые с GPS-трекерах. Если в первой части мы обсуждали фрейм декодеры, то во второй части мы посмотрим на варианты кодирование различных типов полезных данных. Многие производители устройств для GPS-мониторинга разрабатывают собственные протоколы прикладного уровня для передачи данных от устройства на сервер, и иногда разработчики прибегают к различным изощренным и не всегда понятным решениям для кодирования данных.
Читать дальше →

Три года аттестаций без руководителей — полёт нормальный

Reading time10 min
Views29K


Наше подразделение работает без руководителей с конца 2015 года. Сами решаем, кому и сколько платить, кто поработал хорошо, а кто не очень, кого нанять, а с кем расстаться. В статье расскажу про самое сложное — работу с людьми. Поделюсь тем, как у нас инженеры аттестуют инженеров, кто теперь делает всю ту полезную работу, которую делали руководители и, конечно же, сколько человек пришлось уволить, чтобы это всё внедрить.
Инженеры могут всё

Как на удалёнке жить хорошо

Reading time8 min
Views64K

Вводная


Казалось бы, на Хабре уже не раз обсуждался вопрос удалённой работы, да и в сети можно найти довольно много информации об этом опыте. Однако, в очередной раз отвечая на вопрос знакомого: “Каково оно, работать из дома?”, я понял, что хочу поделиться и своим опытом. Надеюсь, он будет полезен тем, кто все ещё сомневается, стоит ли оно того.


Итак, меня зовут Артур, и я… удалённый разработчик. В последнее время тема удалённой работы становится всё более “хайповой”, но её история тянется уже лет 40, а NASA по-прежнему поощряет удалённую работу



Работать без привязки к офису можно в качестве удалённого сотрудника, фрилансера или основателя бизнеса. Все эти направления немного отличаются перечнем занятий, которые наваливаются на вас “в нагрузку” к вашей специализации: продажи, маркетинг, работа с клиентами. Что их объединяет — это набор стереотипов, сложившихся в головах у многих. И именно их я и хочу обсудить в этой статье.

Читать дальше →

Дайджест интересных материалов для мобильного разработчика #276 (19 — 25 ноября)

Reading time3 min
Views6.5K
На этой неделе у нас тестирование кроссплатформенных фреймворков, реактивные компоненты, фантастические десктопы, новые ориентиры для маркетологов, собственная реализация говорящей шляпы и много всего интересного!

Читать дальше →

Be a security ninja: secret level

Reading time2 min
Views15K


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

Оформить ИП — единственный путь

Reading time9 min
Views50K
К каждой статье на Хабре, касающейся преимуществ или недостатков оформления ИТ-шника, как ИП, пишутся сотни комментариев сторонников и противников этой схемы. Такое ощущение, будто у рынка еще остался выбор. А я вот уверен, что с развитием удаленной работы, всякими agile-подходами и практиками, которые сложились при взаимодействии с удаленными командами, в ИТ просто нет иного пути. ИП — единственная форма взаимоотношений, которая соответствует реальности, а не с трудом на нее “натягивается” (если не рассматривать более «хитрые» случаи — ООО, ЗАО).

image

Карикатура «Без вариантов» Андрея Абрамова

Под катом изложено исключительно мое ИМХО — опыт человека, более 15 лет отработавшего в России (с российскими заказчиками и работодателями) с самыми разными формами отношений.
Читать дальше →

Повышаем сознательность граждан

Reading time2 min
Views90K
Привет!

Мы тут упоролись и сделали карточки с самыми частыми юридическими ситуациями в жизни. Ну, знаете, типа того, что хочется купить по цене с ценника, а не дают. Или что делать, если вас прямо сейчас забирает полиция. И так далее. На каждой карточке краткий алгоритм, что делать, и в каком порядке. Все карточки мелкие типа шпаргалок, подходят для того, чтобы положить в бумажник три-четыре самые важные.



Почему это важно сделать на бумаге? Потому что она без батарейки, не требует подключения к сети и содержит самые важные номера законов. В общем, бумага очень отказоустойчивая. Естественно, есть и PDF, которую можно просто залить на телефон.
Читать дальше →

Строим систему реактивных компонентов с помощью Kotlin

Reading time7 min
Views11K


Всем привет! Меня зовут Анатолий Варивончик, я Android-разработчик Badoo. Сегодня я поделюсь с вами переводом второй части статьи моего коллеги Zsolt Kocsi о реализации MVI, которую мы ежедневно используем в процессе разработки. Первая часть здесь.

Чего мы хотим и как мы это сделаем


В первой части статьи мы познакомились с Features, центральными элементами MVICore, которые можно переиспользовать. Они могут обладать максимально простой структурой и включать всего один Reducer, а могут стать полнофункциональным средством для управления асинхронными задачами, событиями и многим другим.

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

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

Как украсть деньги с бесконтактной карты и Apple Pay

Reading time24 min
Views275K
Как украсть деньги с бесконтактной карты из кармана? Насколько безопасен PayPass и Apple Pay?

В статье разбираются популярные мифы и сценарии мошенничества с бесконтактными системами оплаты на примере настоящего POS-терминала, карт PayPass/payWave и телефонов с функцией Google Pay/Apple Pay.

Рассматриваемые темы:

  • Можно ли НА САМОМ ДЕЛЕ украсть деньги, прислонившись POS-терминалом к карману? — мы попытаемся полностью воспроизвести этот сценарий мошенничества от начала до конца, с использованием настоящего POS-терминала и платежных карт в реальных условиях.
  • В чем разница между физическими и виртуальными картами Apple Pay? — как происходит связывание физической карты и токена Apple Pay, и почему Apple Pay во много раз безопаснее обычной карты.
  • Используем аппаратный NFC-сниффер (ISO 14443A) — воспользуемся устройством HydraNFC для перехвата данных между POS-терминалом и картой. Рассмотрим, какие конфиденциальные данные можно извлечь из перехваченного трафика.
  • Разбираем протокол EMV — какими данными обменивается карта с POS-терминалом, используемый формат запросов, механизмы защиты от мошенничества и replay-атак.
  • Исследуем операции без карты (CNP, MO/TO) — в каких случаях на самом деле(!) можно украсть деньги с карты, имея только реквизиты, считанные бесконтактно, а в каких нельзя.

Внимание!

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

Материалы в статье представлены исключительно в ознакомительных целях. Все сцены демонстрации мошенничества инсценированы и выполнены с согласия участвующих в них лиц. Все списанные деньги с карт были возвращены их владельцам. Воровство денег с карт является уголовным преступлением и преследуется по закону.

Клонируем бесконтактную карту с помощью мобильного приложения

Reading time16 min
Views165K
Всегда было интересно посмотреть, что происходит у банковской карточки под «капотом». Как реализуется протокол общения банковской карточки и POS-терминала, как это работает и насколько это безопасно. Такая возможность предстала передо мной, когда я проходил стажировку в компании Digital Security. В результате при разборе одной известной уязвимости EMV карт в MagStripe-режиме, было решено реализовать мобильное приложение, которые способно общаться с терминалом по бесконтактному интерфейсу, с использованием своих команд и подробным разбором запросов и ответов. А также попробовать реализовать способ клонирования карт MasterCard в режиме MagStripe.

В этой статье я постараюсь описать, что такое EMV-карта, как она работает и как используя Android можно попытаться клонировать вашу MasterCard карту.

«There are some things money can't buy. For everything else, there's MasterCard»

Что такое EMV карта?


EMV — это международный стандарт для банковских карт с чипом. В разработке этого стандарта принимали участия Europay + MasterCard + VISA, отсюда и название. Попробуем разобраться, как же все таки карта общается с POS-терминалом по бесконтактному интерфейсу.
Читать дальше →

Какие зарплаты для IT-специалистов предлагают работодатели «Моего круга», данные за май-октябрь 2018

Reading time3 min
Views28K
Подходит к концу 2018 год, а значит пришло время ежегодного отчёта о том, какие зарплаты в уходящем году предлагали работодатели в своих вакансиях на «Моем круге». Как и в прошлом году, в этом отчете мы сравним зарплаты, предлагаемые компаниями, с медианой из калькулятора зарплат, в котором мы получаем данные напрямую от специалистов, сравним зарплаты Москвы, Санкт-Петербурга и остальных регионов, а также посмотрим, насколько выросли зарплаты за год.

Зарплаты ИТ-вакансий России, 2018
Читать дальше →

Оптимизация обработки событий в Angular

Reading time8 min
Views16K

Введение


Angular предоставляет удобный декларативный способ подписки на события в шаблоне, с помощью синтаксиса (eventName)="onEventName($event)". Вместе с политикой проверки изменений ChangeDetectionStrategy.OnPush подобный подход автоматически запускает цикл проверки изменений только по интересующему нас пользовательскому вводу. Иными словами, если мы слушаем (input) событие на <input> элементе, то проверка изменений не будет запускаться, если пользователь просто кликает по полю ввода. Это значительно улучшает
производительность, по сравнению с политикой по умолчанию (ChangeDetectionStrategy.Default). В директивах мы также можем подписаться на события на хост-элементе через декоратор @HostListener('eventName').


В моей практике нередко встречаются случаи, когда обработка конкретного события требуется только при выполнении какого-либо условия. т.е. обработчик выглядит примерно так:

Читать дальше →

Information

Rating
Does not participate
Registered
Activity