Pull to refresh
2
0
Send message

Нил Стивенсон: голод инноваций, большие проекты и научная фантастика

Reading time11 min
Views24K
«Седой ветеран из NASA как-то сказал мне, что посадка на Луну корабля серии «Аполлон» было самым великим достижением коммунизма.»
«Это же вы, вы ослабили хватку!» – объявил Майкл Кроу, президент университета штата Аризона. Конечно же, он обращался к писателям Научной Фантастики. Он как будто бы говорит, что ученые и инженеры в боевой готовности и ищут, чем бы таким себя занять. Пришло время писателям НФ начать выполнять свою часть работы и подпитывать нас большими мечтами, полными смысла.
image

Я успел застать тот период, когда у Соединенных Штатов Америки появилась возможность отправлять людей в космос. У меня сохранились самые ранние воспоминания о том, как я сидел на плетеном коврике перед гигантским черно-белым телевизором и смотрел первые запуски кораблей серии «Джемини». Этим летом, в возрасте 51 года (прим. пер. статья 2011 года), совсем даже не преклонном, я смотрел по телевизору с плоским экраном как последний коспический корабль «Шаттл» покинул пусковую площадку. Видя, как программа по освоению космоса приходила в упадок, меня одолевали печаль и горечь. Где моя космическая станция тороидальной формы? Где мой билет на Марс? Хотя, до недавнего момента, я держал свои чувства при себе. У программы исследования космоса всегда были свои противники, но жалобы на спад активности в данной сфере означают поставить себя под удар, чем незамедлительно воспользуются те, в ком нет сострадания к состоятельному, белому американцу средних лет, детские мечты которого так и не воплотились в жизнь.

Тем не менее, я обеспокоен тем, что наша неспособность соответствовать достижениям программы по освоению космоса 60-х годов может быть симптомом общей несостоятельности нашего общества доводить до ума крупные проекты. Мои родители, бабушки и дедушки были свидетелями создания самолета, автомобиля, ядерной энергии, и компьютера – вот лишь несколько примеров.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments143

Психология читабельности кода

Reading time12 min
Views26K
Всё, что написано ниже, ни разу не претендует на абсолютную истину, но всё же представляет собой некоторую модель, помогающую лично мне находить способы писать немного лучший код.

Каждый программист старается писать хороший код. Читабельность — один из главных признаков такого кода. О ней написано достаточно много книг, но всё же в теме есть пробелы. Например, те самые книги сфокусированы больше на советах КАК написать читабельный код, а не на причинах того, почему один код является хорошо читабельным, а другой — нет. Книга говорит нам «используйте подходящие названия переменных» — но что делает одно название более подходящим, чем другое? Работает ли это для всех примеров подобного кода? Работает ли это для всех программистов, которым попадётся на глаза этот код? Как раз о последнем я и хотел бы поговорить чуть детальнее. Давайте погрузимся немного в человеческую психику. Наш мозг — главный наш инструмент, хорошо бы изучить специфику его работы.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments64

Идея о том, как можно создать единый трекер здоровья с системой принятия решений

Reading time16 min
Views5.8K
В наше время существует множество различных программ для отслеживания тех или иных показателей организма человека. Однако, нет способа собирать их в одном месте и эффективно анализировать. Нужна программа, которая будет делать три вещи — позволять эффективно собирать данные (иметь набор строго определённых типов с границами и инструкциями), иметь мощный поисковик для нарезки данных, их сопоставления и представления в различных формах, а также возможность писать и сохранять интерпретации к этим данным.

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

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


Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments16

Универсальный API для получения информации по чекам

Reading time9 min
Views112K
Привет жителям Хабра.

В данной статье хотелось бы рассказать про API для получения чеков, которое нам не предоставила всеми любимая ФНС.

Когда только появились QR-коды на чеках я подумал «Вау, как круто! Ты сканируешь код и видишь если не всю инфу по чеку, то ссылку на него». И какого же было мое разочарование, когда просканировав такой код я увидел что-то вроде

t=20180518T220500&s=975.88&fn=8710000101125654&i=99456&fp=1250448795&n=1

Но расстраиваться я не стал и подумал, что ФНС позаботилась о нас и предоставила API для получения такой информации. Погуглив некоторое время я понял, что ФНС нам предоставила только мобильное приложение для проверки чека и просмотра той информации, что поступила к ним от магазина.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments84

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

Reading time45 min
Views253K
Об авторе: Хэм Фокке — разработчик и консультант ThoughtWorks в Германии. Устав от деплоя в три ночи, он добавил в свой инструментарий средства непрерывной доставки и тщательной автоматизации. Сейчас налаживает такие системы другим командам для обеспечения надёжной и эффективной поставки программного обеспечения. Так он экономит компаниям время, которое эти надоедливые людишки тратили на свои выходки.

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

Содержание

Примечания

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments4

Сказ о том, как я в Финляндию переехала

Reading time7 min
Views81K
Всего год назад я сидела на Хабре и читала подобного рода статьи для того, чтобы поддержать свой боевой дух, когда решила покинуть родной Казахстан и найти работу в Европе. Но, к моему сожалению, все статьи начинались примерно одинаково: “Меня зовут username и я программирую с 8 лет”. Я вам поведаю совсем другую историю.


Читать дальше →
Total votes 111: ↑100 and ↓11+89
Comments262

Мифы о DevOps

Reading time19 min
Views26K
DevOps — это маркетинговое словечко, за которым ничего нет! Или все-таки есть? Может быть, DevOps — это набор «правильных» инструментов, или это такая специальная культура. И кто вообще должен этим заниматься, что из себя представляет DevOps-инженер? Одним словом, есть некоторые разночтения в понятиях, и очень много мифов. Некоторые совсем тривиальные, и мало кто в них поверит, а некоторые пускают корни в умах уважаемых специалистов. Разбираться будем вместе с опытными DevOps’ерами Александром Титовым и Иваном Евтуховичем (evtuhovich). Хотя они и считают, что DevOps — это решение проблемы производства цифровых продуктов и называть так отдельного человека это в стиле российского бизнеса.


О спикерах: Александр Титов и Иван Евтухович представляют компанию Экспресс 42, которая занимается консалтингом в области DevOps. Среди её клиентов много известных компаний, например, МТС, Райффайзенбанк банк, Альфа-Банк и другие.

За 5 лет работы собралась куча мифов про DevOps, которые существуют в обществе. В своем докладе на РИТ++ 2017 Александр и Иван рассуждали на эту тему. Иван в безапелляционном тоне объявлял расхожее мнение, а Александр пытался убедить слушателей в том, что это лишь миф.
Total votes 38: ↑34 and ↓4+30
Comments8

Что я узнал на личном опыте за годы фриланса

Reading time3 min
Views60K
Первоначально опубликовано в /r/freelance на Reddit, но выкладываю здесь для потомков.

Я занимаюсь фрилансом довольно долго и могу поделиться крупицами знаний, которые я услышал или узнал сам, зачастую нелегким путём.

Типичный штатный сотрудник обходится компании в 2-3 раза дороже его номинальной зарплаты


Используй это в качестве основы для расчёта своих тарифов. $90 в час может показаться дорогой альтернативой сотруднику, который получает зарплату $30 в час, но в реальности это эквивалент $90, и расходы прекращаются сразу по окончании проекта.

Если клиент просит 6+ часов в день, ты потратишь 8 часов


Ты не сделаешь ничего полезного (читай: оплачиваемого) в оставшиеся два часа. Они отняли у тебя целый день, но заплатили только за 75%. В таких ситуациях взимай дневную ставку.
Читать дальше →
Total votes 75: ↑72 and ↓3+69
Comments95

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

Reading time11 min
Views140K

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


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

Читать дальше →
Total votes 124: ↑120 and ↓4+116
Comments303

10000 лайков

Reading time3 min
Views22K
В самом начале января coin и я бродили по холодным и дождливым улицам Лондона и говорили о технологиях, жизни и чём-то ещё. Я время от времени делал фотографии на свой старый Canon EOS 400D, и в какой-то момент мой друг сказал: “Вот ты фотографируешь, фотографируешь, а твои фотографии никто не лайкает”. Я не нашёл что ответить, но вернувшись домой, создал аккаунт в одной из соцсетей, где можно постить и лайкать фотографии, и составил план: за 100 дней набрать 10000 фолловеров и к концу этого срока получать 500 лайков за пост. После этого отобрал пару сотен интересных фотографий и запостил первую. И её лайкнуло только несколько человек. Этого было мало, нужно было придумать какой-то метод.


Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments38

Датчики Холла для бесколлекторного двигателя: возвращение квадратурных энкодеров

Reading time5 min
Views67K
Это уже третья статья, рассказывающая о квадратурных декодерах, на сей раз с применением к управлению бесколлекторными двигателями.


Задача: есть обычный китайский бесколлекторник, нужно его подключить к контроллеру Copley Controls 503. В отличие от копеечных коптерных контроллеров, 503й хочет сигнал с датчиков холла, которых на движке нет. Давайте разбираться, для чего нужны датчики и как их ставить.

Ликбез: принцип работы бесколлекторного двигателя


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


Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments35

Простой фильтр для автоматического удаления фона с изображений

Reading time8 min
Views34K
Существует множество способов удалить фон с изображения какого-либо объекта, сделав его прозрачным (в графических редакторах, специальных сервисах). Но иногда может возникнуть необходимость удаления фона у множества фотографий с минимальным участием человека.

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



Реализация стала возможной благодаря OpenCV и C# обертке OpenCVSharp.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments22

Маленький ноутбук для системного администратора

Reading time16 min
Views138K


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

К сожалению, мой рабочий Thinkpad x200 слишком тяжёл и громоздок для постоянного ношения, а ничего кардинально лучшего не нашлось. Вообще, маленькие ноутбуки в последнее время скатились к подражанию МакБук Эйру — нечто тонкое, блестящее, с минимумом портов, с функциональностью, принесенной в жертву стилю. Такой ноутбук годится только на то, чтобы ставить лайки в фейсбуке, но никак не для работы.

Не найдя ничего достойного, я задумался о том, каким-бы получился ноутбук, если-бы его разрабатывали, думая не о маркетинге, а о потребностях реальных пользователей. Например, системных администраторов. Раздумий набралось на целую статью.
Читать дальше →
Total votes 210: ↑204 and ↓6+198
Comments357

Скрипт нагрузочного тестирования для проверки соответствия текущих параметров каналов связи заявленным

Reading time6 min
Views13K

Проблематика


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

При этом система мониторинга исправно мониторит доступность каналов, потери на них, задержку, но вследствие того, что каналы связи не всегда загружены трафиком, особенно резервные каналы, она не может своевременно выявить все отклонения их параметров от согласованных с операторами связи. Для таких целей требуется проведение периодического нагрузочного тестирования каналов, в результате которого производится проверка потерь на канале при одновременной его загрузке трафиком, утилизирующим канал практически до максимальных значений полосы пропускания, с последующим контролем объема принятого трафика удаленным маршрутизатором. Хочу поделиться своими наработками в части автоматизации данного процесса.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments10

Жизнь внутри черной дыры

Reading time10 min
Views120K
Знаю, что здесь это якобы не приветствуется, но делаю кросс-пост отсюда по прямой просьбе автора — Горькавого Николая Николаевича. Есть некоторый шанс, что их идея перевернёт современную науку. И лучше прочитать о ней в оригинале, чем в пересказе рен-тв или ленты.ру.

image

Для тех, кто не следил за темой. Рассмотрим две вращающихся друг вокруг друга чёрных дыры, допустим, массами 15 и 20 единиц (масс Солнца). Рано или поздно они сольются в одну черную дыру, но её масса будет не 35 единиц, а, скажем, всего 30. Остальные 5 улетят в виде гравитационных волн. Именно эту энергию улавливает гравитационный телескоп LIGO.

Суть идеи Горькавого и Василькова в следующем. Допустим, вы наблюдатель, сидите в своём кресле и чувствуете притяжение 35 единиц массы делить на квадрат расстояния. И тут бац — буквально за секунду их масса уменьшается до 30 единиц. Для вас, в силу принципа относительности, это будет неотличимо от ситуации, когда вас отбросило в обратном направлении с силой в 5 единиц, делить на квадрат расстояния. То есть, неотличимо от антигравитации.

Читать дальше →
Total votes 91: ↑86 and ↓5+81
Comments600

Как уже снова не получить телефон (почти) любой красотки в Москве, или интересная особенность MT_FREE

Reading time6 min
Views189K

UPD0 14.03 8:21 — Телефон больше не получить. Остальные интересные данные пока остались.


UPD1 14.03 10:39 — Дабы не очернять ребят из саппорта MaximaTelecom: Сообщил о ней я окольными путями, но раз пять переспросил и уточнил, дошло ли моё письмо до адресата — короче говоря, убедился, что оно у эфемерного (имена просили молчать) ответственного за вафли лица в метро. Я признаю, что это тупо, но цепочка "проблема в мосметро" → "у меня уже были связи со всяким мос, надо позвонить им" мне показалась весьма и весьма логичной в момент обнаружения уязвимости.


UPD2 14.03 15:40 — Уязвимость была найдена в uid Antxak — суть в том, что в uid лежит md5 телефона без соли. Снова можно искать телефоны.


Пример намайненного телефона

image


UPD3 14.03 18:55 — Уязвимый хэш в uid был заменен на тот же, что и в телефоне. Пока не раскололи последний.


UPD4 15.03 20:51 — Значения и ключи почти всех полей были заменены на предположительно обфускованные.

Читать дальше →
Total votes 131: ↑130 and ↓1+129
Comments102

Кто-то посылает секс-игрушки с Amazon незнакомцам. Amazon не знает, как их остановить

Reading time5 min
Views36K

Заявили бы вы о том, что на ваше имя из магазина пришла уже оплаченная вещь, которую вы не заказывали? Или молча бы пользовались? Такие вопросы в последние недели приходится задавать себе многим американцам. Со всех уголков США вдруг начали поступать сообщения о том, что людям приходят неожиданные товары. В основном – скажем так, интимного характера. В стране задокументированы тысячи инцидентов, на это тратятся очень серьезные деньги. Люди паникуют от таких «подарков», а перед Amazon стоит монументальная задача каким-то образом отличить такие покупки от обычных, чтобы остановить эпидемию. Кто это делает, тайные фетишисты или очень богатые пранкеры? И что делать «жертвам», которым на дом приходит бесплатное барахло?


Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments155

DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

Reading time9 min
Views104K


Предыдущие публикации:

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Прошло уже больше года с момента последней публикации из серии домашней алхимии, посвященной издевательствам над бытовой техникой производству порошка для посудомойки в домашних условиях. Я все еще жив. Большинство тестировавших жуткие смеси, насколько мне известно, живы. В этом посте я хотел рассказать как правильно мыть ржавые гвозди в посудомойке, не растворяется ли картошка с укропом и подвести итог экспериментов за год.
Читать дальше →
Total votes 116: ↑116 and ↓0+116
Comments534

Зомби, которые съедают вашу память

Reading time8 min
Views72K
Что бы вы там себе не думали, а зомби существуют. И они действительно едят мозги. Не человеческие, правда, а компьютерные. Я говорю сейчас о зомби-процессах и потребляемых ими ресурсах. Это будет душераздирающая история о потерянных и снова найденных 32 ГБ оперативной памяти. Возможно, лишь некоторые из вас столкнутся с точно такой же проблемой, но если вдруг это произойдёт — у вас хотя бы будет шанс понять, что происходит.

Начнём с того, что компьютеры под управлением ОС Windows склонны со временем терять память. Ну, по крайней мере, у меня, при моём способе ими пользоваться. После пары недель без перезагрузок (или, например, всего одного уикэнда за который я 300 раз пересобрал Хром) я стал замечать, что диспетчер задач начинает показывать мне очень маленькое количество свободной оперативной памяти, но в то же время в системе нет никаких процессов, которые эту самую память активно используют. В том примере выше (с 300 сборками Хрома) диспетчер задач сказал мне, что в системе занято 49.8 ГБ плюс ещё 4.4 ГБ памяти сжато — но при этом запущено всего несколько процессов, и все они в сумме даже и близко не используют столько памяти:

image

В моём компьютере 96 ГБ оперативной памяти (да, я счастливчик) и когда у меня нет вообще никаких запущенных процессов — я, знаете ли, хотел бы видеть ну хотя бы половину этой памяти свободной. Я правда рассчитываю на это. Но иногда этого достичь не удаётся и мне приходится перезагружать ОС. Ядро Windows написано качественно и надёжно (без шуток), так что память не должна бы пропадать бесследно. Но всё же она пропадает.
Читать дальше →
Total votes 98: ↑98 and ↓0+98
Comments92

Information

Rating
Does not participate
Registered
Activity