Pull to refresh
0
0
Павел @nimistar

User

Send message

Драйвер шины 1-Wire для контроллеров питанием меньше 5V

Reading time2 min
Views16K
Предлагаемый Вашему вниманию драйвер шины 1-Wire не является чем-то революционным, все использованные схемотехнические решения давно известны. Причиной публикации стало желание не загромождать статью о программной реализации примитивов 1-Wire-master на основе PWM и ICP.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments37

Закон Деметры

Reading time5 min
Views48K

Введение


На данный момент существует множество доказанных временем практик, помогающих разработчикам писать хорошо поддерживаемый, гибкий и удобно читаемый код. Закон Деметры — одна из таких практик.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments27

Скрипт для тех, кому лень разбираться в Linux

Reading time7 min
Views112K
Сфер применения Linux может быть очень много. Особенно, когда арендовать VPS стало можно от $1 в месяц. Кроме стандартного использования под хостинг сайтов, его используют в качестве сервера для игр (CS:GO, Terraria, Minecraft), в качестве Proxy-сервера и VPN-сервера. Под майнинг криптовалют. Под резервное хранилище бэкапов. Под домашнюю торренто-качалку. А также для тестирования, разработки и просто различных экспериментов. Именно доступность VPS на базе Linux с огромным спектром возможного его применения привела к популяризации Linux. Но желающих использовать Linux значительно больше, чем людей, которые умеют его использовать. И часто именно слабые познания администрирования Linux останавливают людей от его использования. Ну или просто усложняют таким людям жизнь — им приходится часами ковыряться в мануалах, форумах и «статьях для новичков».

Да мне и самому надоело лазить по специализированным форумам, каждый раз, когда приходится сделать шаг влево или шаг вправо относительно того, что я уже научился делать. Именно поэтому, со временем, все типовые вещи я свёл в один скрипт с дружелюбным интерфейсом, который умеет делать всё сам. Начиналась всё с малого. Скрипт просто автоматизировал установку нужного мне софта. Но за полгода он превратился уже в весьма серьёзную утилиту весом более 100 Кб, в которой около 2,5 тысяч строк кода. Скрипт ранее нигде не выкладывался. Использовался только в личных целях мной и несколькими моими товарищами. Пришло время им поделиться с публикой. Уверен, многим людям он способен сэкономить кучу времени.

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


Далее подробнее опишу, что и как он делает.
Читать дальше →
Total votes 106: ↑68 and ↓38+30
Comments181

PHP: неправильный путь

Reading time18 min
Views70K
image

В мире PHP-программирования существует набор трендов. Некоторые люди активно продвигают их (в книгах и на сайтах) как «современный PHP», а другие подходы выставляют как устаревшие, глупые или просто неверные.

Похоже, все эти люди без устали стараются заставить каждого программировать так, как они считают нужным. Эта статья написана, чтобы поделиться прагматичным взглядом на PHP-программирование. Взглядом, продиктованным опытом и практическими последствиями, а не популярными тенденциями, теориями или академическими догмами. Материалы, представленные на сайте PHP — The Wrong Way, будут обновляться по мере появления новой информации. Приглашаем всех поучаствовать в этом.
Читать дальше →
Total votes 104: ↑83 and ↓21+62
Comments368

Электровелосипед — доступность и эффективность на личном примере

Reading time6 min
Views51K
В последнее время на Гиктаймсе проскакивают статьи про электровелосипеды, анонсированные крупными компаниями или выложенные на кикстартере и аналогах. Но всех их объединяет одно — низкая эффективность и многократно завышенная цена. Например, Xiaomi Mi Qicycle Folding Electric Bicycle проезжает до 45 км в идеальных условиях при скорости 20 км/ч. Зачем при такой скорости вообще мотор? Но при увеличении скорости каждые 10км/ч увеличивают расход, грубо говоря, в два раза. Да ещё надо учесть то, что чем больше мощности отбираем у аккумулятора, тем меньше ёмкости он отдаст. Делаем выводы про дальность.

Про то, как я дошёл до электротранспорта и какой ценой — под катом.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments166

Ракета в огне. Delta-IV Heavy — FireBall

Reading time4 min
Views21K
Вдохновление написать данный пост про ракетную технику пришло от интереснейших тем про «незаметные сложности ракетной техники». И если не ошибаюсь, то вопрос про «зажигалки» в темах не рассматривался. Пишу первый раз, возможно тема банальная, но мне показалась интересной.

11 июня 2016 года был произведен успешный пуск ракеты тяжелого класса Delta-IV Heavy c КА Orion9 (в рамках миссии NROL-37). Почему старт именно этой ракеты? Во-первых, потому что была запущена в очередной раз самая мощная действующая ракета, во-вторых, это был всего 9-й пуск Дельты Хэви, в-третьих, старты Дельты Хэви очень красивые и эффектные (низкая тяговооруженность, медленный подъем сквозь горящие клубы водорода).

Пуск РКН Delta-IV Heavy NROL-37:



Хоть пуск можно считать и рядовым, даже обычной рутиной, но я бы выделил старты данного типа ракет, у которых есть своя изюминка — так называемый Fireball — пламя разгорающихся паров водорода, сквозь которые стартует ракета. Хоть для наблюдателя это изюминка, для инженеров — это проблема, с которой необходимо бороться. А как это происходит написано ниже.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments96

PHP 7.1: Грядущие изменения

Reading time5 min
Views38K


Ниже приведены основные изменения, привнесенные PHP 7.1. Для получения полного списка утвержденных и обсуждаемых на текущий момент изменений проверьте официальный PHP RFC.

  • Перехват нескольких типов исключений за раз
  • Поддержка Curl HTTP/2 server push
  • Области видимости для констант классов
  • Возвращаемый тип void
  • Единое поведение строковых функций
  • Поддержка строковых параметров в функции list() и новый синтаксис c []
  • Выброс предупреждения при невалидных строках в арифметике
  • Объявление устаревшим mcrypt() и его последующее удаление

Перехват нескольких типов исключений за раз


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

try {
    // to do something
} catch (MyException $e) {
    // Handle this exception
} catch (AnotherException $e) {
    // Handle this in the same way as MyException
} catch (Exception $e) {
    // Handle this in a different way
}

В PHP 7.1, оба исключения, обрабатываемые в примере одинаково, можно поймать одновременно:
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments66

Спросите Итана №50: почему Вселенная не превратилась в чёрную дыру?

Reading time6 min
Views18K

Учитывая, что вся эта материя и вся энергия были так тесно собраны в одном месте, и были такими плотными в момент Большого взрыва – почему же Вселенная не реколлапсировала?


“Es ist immer angenehm, über strenge Lösungen einfacher Form zu verfügen.” (Всегда приятно иметь в своём распоряжении точное решение в простом виде)
– Карл Шварцшильд

Даже если бы вы знали все законы физики во всех местах Вселенной в любой момент, этого всё равно было бы недостаточно для предсказания текущего состояния Вселенной. Поскольку, хотя законы физики устанавливают правила эволюции системы, для старта ей всё ещё требуется набор начальных условий. На этой неделе наш выпуск посвящён вопросу Адреаса Лаузера, который спрашивает:
Хотя у меня нет особых сомнений в том, что теория Большого взрыва корректна, или, как вы бы сказали, неплохо аппроксимирует произошедшее, есть одна вещь, о которой я размышляю, когда думаю об этой части космологии. Есть ли объяснение тому, что Вселенная не превратилась сразу в чёрную дыру? Полагаю, что изначальная её плотность была гораздо выше предела Шварцшильда.

Мы уже обсуждали этот вопрос, но вам нужны дополнительные детали и ответ получше, чем я тогда давал. Вернёмся к моменту рождения самой успешной теории гравитации, ОТО, на 100 лет назад.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments17

Контроль качества воздуха (со2 и температуры) в офисе и дома, своими руками

Reading time3 min
Views45K
Все началось с того что я работаю в офисе, где как водится нет нормальной вентиляции. Зато есть много народу, кому-то все время жарко, другим постоянно дует.

Для контроля качества воздуха в помещении знать температуру недостаточно. Даже с кондиционером часто бывает прохладно, но душно. Спертый воздух. Оказалось, на это больше всего влияет концентрация со2. Когда я узнал стоимость готовых приборов хотел от этой идеи отказаться. Но случайно увидел описание оптического датчика концентрации со2 MH-Z19.

image
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments25

«Умный дом» от Белтелекома. Часть 2

Reading time2 min
Views12K
image
Вот уже больше недели у меня дома используется система «Умный Дом» от Белтелекома. И забегая вперед, хочу сказать, что решил продолжать пользоваться ею, несмотря на свою простоту и небольшое количество датчиков. Правда пока это смахивает на «Мыши плакали, кололись, но продолжали грызть кактус».
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments10

Как обмануть весь мир и стать знаменитым при помощи гуглокарт

Reading time4 min
Views51K


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

Эта новость хорошо бы смотрелась 1 апреля, но вышла она на 7 мая на сайте канадской газеты le Journal de Montreal. Судя по основному ее содержанию, это что-то вроде “Комсомольской правды”, а не “Вопросов археологии”, откуда хотелось бы почерпнуть такую информацию.
Читать дальше →
Total votes 109: ↑97 and ↓12+85
Comments90

Можно ли увидеть невидимое? Прорыв в электродинамике: анаполь позволит скрытно передавать данные

Reading time9 min
Views28K
Сравнительно недавно в престижном журнале Physical Review X была опубликована научная статья на тему “Dielectric metamaterials with toroidal dipolar response”. В ней шла речь о возможности создания метаматериалов, полностью прозрачных для электромагнитных волн за счет возбуждения в них особых мод- “анаполей”.

Мы обратились к одному из авторов этой статьи Алексею Башарину, чтобы получить экспертное мнение относительно уникального явления в анапольной физике, а именно о неизлучающем «анаполе». Специально для нашего корпоративного блога на GT он согласился написать статью в научно-популярном формате и тезисно рассказать, в чем состояла уникальность его исследования, а также дать экспертный комментарий по статье, опубликованной в Nature Communications.

Алексей Башарин, без сомнения, является выдающимся экспертом в своей области, получившем многолетний зарубежный опыт исследований в ведущих исследовательских университетах Греции и Франции. В данный момент Алексей проводит свое исследование в лаборатории «Сверхпроводящие метаматериалы» НИТУ «МИСиС» под руководством Алексея Устинова.


Оборудование лаборатории «Сверхпроводящие метаматериалы» НИТУ «МИСиС» для исследования метаматериалов в сверхпроводящем режиме, которое используется для исследования анаполя в метаматериалах с Джозефсоновскими переходами.

Анаполь (от греч. an — отрицат. частица и polos — полюс) представляет собой неизлучающий источник или рассеиватель, который способен излучать векторные потенциалы, в отсутствие излученных электромагнитных полей, а также рассеивать векторные потенциалы, в отсутствие полей. Благодаря этому мы можем получить уникальную возможность скрывать различные объекты, точнее экранировать их от электромагнитных полей и получить устройства для скрытой передачи данных. При этом передача данных возможна за счет модуляции векторного потенциала, а привычное распространение электромагнитных волн (света) в системе будет отсутствовать. Более того, это может означать, что множество объектов и источников в природе мы просто не видим, потому что они не взаимодействуют с электромагнитными полями, а взаимодействуют исключительно с потенциалами!

Анапольная (тороидная) электродинамика настолько интересна и необычна, что мы даже не можем сказать на сегодняшний день, как потенциалы могут распространяться в вакууме и других средах, как сильно они затухают, каков их процесс дифракции на различных объектах и т.д. И самое главное, как их принимать и детектировать. Ведь нет еще приборов, способных фиксировать потенциалы и их поля.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments111

Перевод отрывков из книги Роберта Хайнлайна «Заберите себе правительство» — часть 4

Reading time12 min
Views14K

Глава 3: Суть и шелуха


«Не факт, что все – именно так»

В этой главе я постараюсь развеять некоторые популярные иллюзии, касающиеся политики.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Шпаргалка Java программиста 2: Триста пятьдесят самых популярных не мобильных Java opensource проектов на github

Reading time39 min
Views167K
Что это и зачем оно надо: Как известно, главное преимущество Java мира в том в нем существует огромное количество open-source проектов на на все случаи жизни, однако найти нужный на github'e не так просто, так как описание проекта часто мало информативно, зачастую сложно даже понять этот проект для Android'a или нет. В этой статье я автоматически и полуавтоматически собрал Java проекты, убрал старые и проекты только для Android'a, выбрал 350 набравших больше всего звезд, разделил по категориям и перевел описания.

Если вы хотите убедиться что базы данных пишут не только на C, найти проекты для работы с большими данными или нейронными сетями, пишите свой язык программирования для JVM и хотите посмотреть как это уже сделано или же просто хотите узнать какие новые возможности можно найти в Java мире open-source то это статья вам, думаю, может пригодится.

В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.


Другие статьи серии: часть 1. JPA и Hibernate в вопросах и ответах

Update: Внимание, актуальная версия со много большим количеством ссылок, находиться теперь в моем github'e проекте useful-java-links, по этой ссылке.


Читать дальше →
Total votes 51: ↑43 and ↓8+35
Comments49

Подсветка клавиатуры с автоматическим включением, но без «мозгов»

Reading time3 min
Views16K
Часто, работая за компьютером, не замечаешь как наступает темнота. Что бы включить свет в комнате нужно вставать, идти к выключателю, это сбивает и отвлекает от работы. Отсюда и пришла ко мне мысль сделать подсветку для клавиатуры, которая будет автоматически включаться в темноте когда работаю за компьютером.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments18

Хранение иерархических структур. Симбиоз «Closure Table» и «Adjacency List»

Reading time6 min
Views45K
Когда перед нами встаёт задача хранения и управления иерархическими структурами данных всегда приходится выбирать из довольно ограниченного набора паттернов. Для того чтобы найти наиболее подходящий шаблон необходимо проанализировать особенности каждого способа хранения и обработки данных и оценить их с учётом задачи и специфики используемой СУБД.

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

Наша цель – разработать свою реализацию, учитывающую требования нашего приложения.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments22

Настоящие ассоциативные массивы в JavaScript

Reading time4 min
Views58K
Использование литерала объекта, как простого средства для хранения пар ключ-значение давно стало обычным делом в JavaScript. Тем не менее, литерал объекта всё же не является настоящим ассоциативным массивом и по этому, в некоторых ситуациях, его использование может привести к неожиданным результатам. Пока JS не предоставляет нативную реализацию ассоциативных массивов (не во всех браузерах, по крайней мере), существует отличная альтернатива объектам, с нужной функциональностью и без подводных камней.
Читать дальше →
Total votes 57: ↑51 and ↓6+45
Comments38

Увеличиваем производительность с помощью SO_REUSEPORT в NGINX 1.9.1

Reading time3 min
Views40K
В NGINX версии 1.9.1 появилась новая возможность, позволяющая использовать сокетную опцию SO_REUSEPORT, которая доступна в современных версиях операционных систем, таких как DragonFly BSD и Linux (ядра 3.9 и новее). Данная опция разрешает открывать сразу несколько слушающих сокетов на одном и том же адресе и порту. При этом, ядро будет распределять входящие соединения между ними.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments31

Чего ждать, когда ждешь ребенка: PHP 7, часть 2

Reading time5 min
Views35K
Это вторая часть нашей минисерии статей «Чего ждать от PHP7». Читать часть 1

Как вы наверное уже знаете, PHP7 придет в этом году! И сейчас самое время узнать что же нового он нам принесет.

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

Новый экранирующий символ для Unicode


Добавление нового escape-символа \u позволяет нам указывать специфические unicode символы внутри PHP-строк (да-да, те самые emoji и не только).

Синтаксис выглядит так — \u{CODEPOINT}, например, зеленое сердце, , может быть выражено как PHP-строка: "\u{1F49A}".
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments88

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity