Обновить

Компания VDSina.ru временно не ведёт блог на Хабре

Сначала показывать

Преобразуем проект на Python в исполняемый файл .EXE

Время на прочтение3 мин
Охват и читатели549K

С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python.

В этой статье я расскажу, как преобразовать проект на Python в исполняемый файл. Решение будет работать вне зависимости от количества файлов .py в приложении. Стоит учесть, что Auto PY to EXE работает только с Python 3.5 или выше.
Читать дальше →

Качать железо или играть железо? Про тренажёрные залы для геймеров и будущее киберспорта

Время на прочтение8 мин
Охват и читатели4K

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

А в преддверии начала летних Олимпийских игр в Токио пройдут киберспортивные турниры по Rocket League и Street Fighter V. Проведение чемпионатов уже утверждено Международным олимпийским комитетом, а спонсором мероприятия выступит компания Intel. Призовой фонд Intel World Open составит до 500 тысяч долларов на каждую дисциплину. Отборочные соревнования пройдут в онлайне, запись откроется 15 мая и продлится до 31 мая.

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

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

Этический антидизайн. Разработка продуктов, которые не вызывают привыкания

Время на прочтение6 мин
Охват и читатели13K

Вирусные интернет-мемы для захвата внимания эксплуатируют целый ряд багов (когнитивных искажений) человеческого мозга

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

Но здесь возникает риск, что человек «подсядет» на совершенно бесполезный продукт. Конечно, это мечта бизнеса. Поэтому некоторые дизайнеры сознательно или бессознательно манипулируют людьми, эксплуатируя их слабости.
Читать дальше →

Программное обеспечение для ракет и космических кораблей SpaceX

Время на прочтение5 мин
Охват и читатели12K
image

С самого своего начала полёты в космос зависели от компьютеров, как на земле, так и в самом космическом аппарате; SpaceX поднял этот принцип на новый уровень. Недавно мы поговорили с руководителем разработки ПО Dragon Стивеном Гердингом о сложных особенностях разработки программного обеспечения для различных миссий SpaceX.

23 апреля SpaceX и НАСА запустили на Международную космическую станцию вторую миссию Dragon (Crew-2), ставшую первой космической миссией на проверенных лётными испытаниями Falcon 9 и Dragon. Примерно 24 часа спустя Dragon автономным образом состыковался с МКС, благодаря чему к орбитальной лаборатории впервые оказались пристыкованными два Crew Dragon. Это ознаменовало начало новой эры SpaceX, теперь цель компании заключается в регулярной отправке астронавтов на МКС.

Работа Гердинга и других инженеров-ракетчиков над разработкой ПО в основном выполняется на языке C++, который является главной опорой для кода компании со времён её основания. Программное обеспечение считывает текстовые конфигурационные файлы. «Мы изобрели простые специализированные языки для описания такой информации, чтобы их могли настраивать другие инженеры компании, не занимающиеся разработкой ПО».

Эффективность — ваш враг

Время на прочтение8 мин
Охват и читатели75K

Есть большая вероятность, что причиной большинства проблем в вашей жизни и работе является недостаточная бездеятельность. В статье мы расскажем, как устроена бездеятельность и почему вам её нужно больше.

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

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

Попав в офис (разумеется, заполненный дымом сигарет), вы немного удивлены, что он совсем не похож на людской муравейник. На самом деле, окружающие вас люди практически ничего не делают. Рядом с офисом вашего героя его секретарша отдыхает за своим столом. Назовём её Глория. Похоже, она совсем ничем не занята. Вы в течение получаса наблюдаете, как она читает, приводит в порядок свой стол и болтает с проходящими мимо секретаршами. Они тоже не выглядят занятыми. Озадаченный тем, что Тони тратит свои деньги на бездельников, вы решаете остаться ещё на несколько часов.
Читать дальше →

OpenNotes — когда пациент знает, чем он болен и как его лечат

Время на прочтение7 мин
Охват и читатели3.9K

Обычно вы посещаете врача по случаю болезни или ежегодного медицинского обследования. Во время приема доктор измеряет несколько показателей — пульс, артериальное давление, вес, — которые зачастую не позволяют судить о состоянии здоровья в целом. При наличии подозрений на серьёзное заболевание вас могут отправить на более подробные исследования и анализы или к профильному специалисту. А что если ежегодный медосмотр далеко не самой эффективный метод? Рутинное обследование предоставляет врачу довольно мало информации, но при этом отнимает достаточно много времени. Несвоевременность или недостаточность информации не позволяет вовремя диагностировать серьёзные проблемы со здоровьем. Ваша медицинская карта по большей части состоит из спорадических измерений, констатаций фактов и диагностических кодов, удобных для выписки счетов за услуги. Слишком многое в процессе сбора и использования медицинской информации служит потребностям исключительно врачей, аптек, больниц и страховых компаний. Акцент получения и анализа должен быть смещён в сторону пациентов.
Читать дальше →

Почему сениор-разработчики чаще получают отказ на собеседованиях?

Время на прочтение7 мин
Охват и читатели37K
image

Собеседование сениор-разработчика — это тайна; собеседование джуна — это триллер.

Собеседования на позицию джуниор-разработчика высасывают из кандидата всю алгоритмическую энергию. Даже для участия в тренировочном собеседовании нужна большая доза сахара и кофеина. Но надо признать: они слишком предсказуемы.

Существует миллион веб-сайтов для практики алгоритмов, YouTube-каналов для подготовки к собеседованиям и постов в блогах, рассказывающих, как устроиться в Google. Разумеется, подготовка к таким собеседованиям требует времени, но с ними вполне можно справиться.

Самое важное для прохождения собеседования на должность сениор-разработчика — понять, что такая же стратегия не подойдёт для него.
Читать дальше →

«Плати сколько скажут». Вопрос по ограничению счёта AWS остаётся неотвеченным 10 лет

Время на прочтение4 мин
Охват и читатели20K

Когда пользователь попросил отменить платёж

На Хабре публиковались истории пользователей AWS, которые случайно «влетали» на тысячи долларов. Грубо говоря, просыпаешься на утро — а за ночь виртуальные машины масштабировались и накрутили сумасшедшие деньги. Или по итогам месяца неожиданно приходит дикий счёт.

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

Казалось бы, ситуацию можно легко исправить, если установить лимит на максимальный бюджет или твёрдый лимит на ресурсы.

Но Amazon специально этого не делает, несмотря на жалобы клиентов. Проблема отслеживается ещё с 2011 года.
Читать дальше →

Хостинг блога на GPS/LTE-модеме

Время на прочтение4 мин
Охват и читатели9.6K
image

GPS/WWAN/LTE-модем телефона PinePhone


В процессе разработки ПО на PinePhone я наткнулся на любопытное сообщение в dmesg:

[   25.476857] modem-power serial1-0: ADB KEY is '41618099' (you can use it to unlock ADB access to the modem)

Для контекста скажу, что в PinePhone есть модем Quectel EG25-G, отвечающий за GPS и беспроводную связь PinePhone. Это оборудование — один из немногих компонентов телефона с закрытыми исходниками.

Когда я увидел это сообщение и упоминание ADB, я сразу же подумал об Android Debug Bridge, то есть о ПО, стандартно используемое для общения с Android-устройствами. Я подумал: «Разумеется, это не может быть тот самый ADB». Ну, оказалось, что так оно и есть.
Читать дальше →

Управляем контактами GPIO из C# .NET 5 в Linux на одноплатном компьютере Banana Pi M64 (ARM64) и Cubietruck (ARM32)

Время на прочтение27 мин
Охват и читатели23K
dotnet libgpiod

Когда заходит речь про программирование на C# .NET для одноплатных компьютеров, то разговоры крутятся только в основном вокруг Raspberry Pi на Windows IoT. А как же Banana/Orange/Rock/Nano Pi, Odroid, Pine64 и другие китайские одноплатные компьютеры работающие на Linux? Так давайте это исправим, установим .NET 5 на Banana Pi BPI-M64 (ARM64) и Cubietruck (ARM32), и будем управлять контактами GPIO из C# в Linux. В первой части серии постов, подключим светодиод и кнопку для отработки прерываний и рассмотрим библиотеку Libgpiod (спойлер, библиотеку так же можно использовать в C++, Python) для доступа к контактам GPIO.

Мобильные приложения перестали быть подходящей идеей для стартапов

Время на прочтение7 мин
Охват и читатели28K
image

В феврале 2009 года СМИ по всему миру начали рассказывать о «вундеркинде» — девятилетнем сингапурском мальчике по имени Лим Динг Вен, ставшем самым юным разработчиком приложений для iPhone.

Он создал приложение Doodle Kids, позволяющее рисовать пальцами на экране iPhone. За две недели его скачали более четырёх тысяч раз.

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

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

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

Четыре ошибки программистов, которые я осознал, только когда стал CTO

Время на прочтение5 мин
Охват и читатели46K
image

Я работал программистом более пяти лет. Не особо впечатляет, ведь кто-то из вас, вероятно, имеет в три раза больший опыт, но мне нравилось думать о себе как о сениор-разработчике. Звучит серьёзно и солидно, правда?

Однажды мне предложили стать Chief Technology Officer (CTO) в медтех-стартапе. Поработав некоторое время на этой новой должности, я могу обернуться назад и сказать, что не был сениор-разработчиком. Не поймите меня неправильно — я по-прежнему считаю, что обладаю отличными знаниями программирования, особенно веб-разработки; но если это так, почему я не думаю, что был сениором?

Всё это из-за четырёх заблуждений, которые у меня были.
Читать дальше →

Sousveillance — наблюдение за наблюдающим

Время на прочтение9 мин
Охват и читатели9.2K

Чувствуете ли вы себя комфортно, когда вас снимают на камеру? Вряд ли, если не считать случаи, когда вы участвуете в съёмках ток-шоу или находитесь на дне рождения (свадьбе, корпоративе и т.п.). Если во время разговора собеседник включает камеру на смартфоне, люди рефлекторно становятся осторожнее и закрываются. Даже когда вы хорошо знаете собеседника и знаете причины видеосъёмки, вы все равно чувствуете себя открытым и незащищённым. Как рыбка в аквариуме, или приведу более грубое сравнение — как бактерия под микроскопом, когда вы находитесь под постоянным видеонаблюдением: со стороны частной компании, на которую вы работаете, госучреждений, банков или любых других организаций.

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

Стив Манн предлагает перестать пассивно соглашаться быть просто наблюдаемым, и принять более активное участие и начать «обратное наблюдение». Когда Большой Брат следит за тобой, начни следить за ним в ответ.
Читать дальше →

Я научился кодить в основном благодаря порно

Время на прочтение4 мин
Охват и читатели31K
image

… и оно научило меня довольно полезным навыкам.

До сих пор помню первую строку кода, которую мне довелось изменить: я увеличил единственное значение integer, чтобы сделать больше диаметр взрывов в игре Clonk Rage. Я ценю этот момент, потому что тогда я впервые взглянул внутрь программы.

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

Повторюсь, в то время меня постоянно одолевали проблемы. Я едва держался на плаву, отчаянно пытаясь добраться до уровня, на котором смогу понимать паттерны, наследование и интерфейсы.

Затем при помощи инструмента imacros, который вам, вероятно, знаком, я открыл целый мир скриптинга. Этот инструмент имеет функцию записи макросов, позволяющую автоматизировать действия без единой строки кода (но при желании его можно писать).

Я использовал этот инструмент для автоматизации раздражающего процесса публикации постов из моего tumblr-блога про порно на сайт под названием sex.com (его в то время рекламировали как «Pinterest» для порно). Со временем этот блог вырос в целую сеть блогов, курирующих нишевый контент и позволявший мне оплачивать аренду жилья.
Читать дальше →

Ближайшие события

Shadow – гибрид сетевого симулятора и эмулятора

Время на прочтение4 мин
Охват и читатели6.7K

Shadow запускает реальные приложения, такие как Tor или Bitcoin. Изначально он создавался для экспериментов над Tor, но вырос в крупный проект, который широко используется для исследований в таких местах, как Кембриджский и Колумбийский университеты. В этой статье будут рассмотрены главные особенности проекта, описаны его плюсы и минусы, а также разобран простой пример работы.
Читать дальше →

Используем GPU для повышения производительности JavaScript

Время на прочтение7 мин
Охват и читатели19K
image

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

Но думали ли вы об использовании мощи GPU для повышения производительности веб-приложений?

В этой статье я расскажу о библиотеке ускорения JavaScript под названием GPU.js, а также покажу вам, как повысить скорость сложных вычислений.

Что такое GPU.js и почему его стоит использовать?


Если вкратце, GPU.js — это библиотека ускорения JavaScript, которую можно использовать для любых стандартных вычислений на GPU при работе с JavaScript. Она поддерживает браузеры, Node.js и TypeScript.

Кроме повышения производительности есть и множество других причин, по которым я рекомендую использовать GPU.js:

  • В основе GPU.js лежит JavaScript, что позволяет использовать синтаксис JavaScript.
  • Библиотека берёт на себя задачу автоматической транспиляции JavaScript на язык шейдеров и их компиляции.
  • Если в устройстве отсутствует GPU, она может «откатиться» к обычному движку JavaScript. То есть вы ничего не потеряете, работая с GPU.js.
  • GPU.js можно использовать и для параллельных вычислений. Кроме того, можно асинхронно выполнять множественные вычисления одновременно и на CPU, и на GPU.

Учитывая всё вышесказанное, я не вижу никаких причин не пользоваться GPU.js. Давайте узнаем, как его освоить.
Читать дальше →

Py4J – мост между Python и Java

Время на прочтение4 мин
Охват и читатели19K


Название Py4J можно встретить разве что в списке библиотек, используемых PySpark, но не стоит недооценивать данный инструмент, который обеспечивает совместную работу Python и Java. В этой статье будет кратко описана работа Py4J, рассмотрен пример использования и перечислены сильные и слабые стороны библиотеки. В конце будут описаны альтернативные способы связи Java и Python.
Читать дальше →

Бизнес, делающий аристократов

Время на прочтение13 мин
Охват и читатели6.9K

Знание истории полезно, как и любое знание, если его применять правильно.

Наверное, семья бергамцев Тассо знала ту часть истории, где рассказывалось об организации почты во времена Римской империи. И это знание позволило им со временем стать основателями самой крупной почты средневековой Европы.

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

Например, предания рассказывают о Амадео Тассо, который в 1290 году, когда Милан захватил и присоединил к себе Бергамо, силами 32 своих родственников, организовал постоянное курьерское сообщение между Миланом, Венецией и Римом. Ничего больше о той «почте» нам не известно, как долго она просуществовала и какое значение имела — не ведомо. Но знаем о папском покровительстве «бергамаскам» — этим словом, которое стало тогда синонимом слова «курьер», называли работников этой службы.
Читать дальше →

Почему стоит использовать тег <picture> вместо <img>

Время на прочтение6 мин
Охват и читатели61K
image

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

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

Выбор между тегами picture и img может показаться мелким решением, но сделав правильный выбор, вы сможете повысить и удобство для пользователя, и производительность.

В этой статье мы расскажем о различиях между тегами picture и img и объясним, почему тег picture более совершенен, чем img.
Читать дальше →

Сравниваем четыре опенсорсные альтернативы Disqus

Время на прочтение4 мин
Охват и читатели9.1K


Disqus всех задолбал. Из некогда удобной встраиваемой платформы для комментирования он превратился в многомегабайтного монстра с кучей сторонних скриптов и трекинга и совсем перестал устраивать технически подкованных блогеров и администраторов, причем положение дел всё хуже с каждым годом. Удивительно, что так и не появилось стопроцентного аналога, совместимого с Disqus, но опенсорс-сообщество всё же выкатило довольно крутые системы комментирования, ориентирующиеся на его замену. Рассмотрим самые интересные и жизнеспособные из них.
Читать дальше →