• Как я не стал программистом в 35 лет
    +2
    К сожалению, я сталкивался с такими ситуациями и сейчас могу точно сказать в чем проблема: вы не «программист от бога» и чтобы таки стать программистом вам надо жрать гранит зубами, компенсировать гибкость ума другими качествами (настойчивость, аккуратность, умение найти в интернете или книге ответ на вопрос). Т.е. правильно считать, что все остальные программисты имеют перед вами существенную фору и чтобы их догнать, вам надо приложить очень много усилий.
    Подобные примеры случаются в любых отраслях — есть люди, которые могут без подсказок освоить любой музыкальный инструмент или по учебнику/ютубу за пару месяцев выучить иностранный язык. Или начать программировать в любом возрасте на любом языке. Если у вас этого нет, то это еще не крест, но работать придется очень много. Ну или выбрать другую профессию.
  • Huawei начала устанавливать Deepin Linux вместо Windows 10 на ноутбуки
    +4
    Вы знаете, это не такой уж и плохой ответ. Все-таки технологически тут и мобильная связь 4 поколений сразу, GPS + GLONASS, несколько сенсоров с десятками миллионов пикселей каждый, невероятная плотность хранения данных, сверчеткий дисплей. А как под эти телефоны пришлось инфраструктуру изменить-то — высокоскоростные сети везде, оптика между континентами, вышек мобильной связи больше, чем населенных пунктов в мире. Если раньше передовые разработки человечества были у военных и космической отрасли, то теперь они в кармане у каждого и поэтому стали видны и понятны даже спортсменам :)
    А еще если 25 лет назад подобное спросить, то наверное ответили бы про автомобиль или микроволновку.
  • Разбор задачи с собеседования Google: поиск соотношения
    0
    Когда-то мой знакомый ПМ в шутку сформулировал термин превентивное планирование — обработка и переформулирование задачи таким образом, чтобы ее можно было решить без написания программы :)
  • Разбор задачи с собеседования Google: поиск соотношения
    +2
    Алгоритм все так же применяется, просто на другой стадии — на подготовке данных. Т.е. наша инженерная школа подразумевает очень простое и точное решение этой задачи — «видишь не-СИ значение, приведи его к СИ». В данной формулировке задача решается в два умножения. То, чего хочет автор — решение с помощью графа — нам кажется нелогичным, но при этом нормально такой подход использовать для разворчивания намайненных данных в таблицу, т.е. на подготовительном этапе. Тут уже можно проявить фантазию в поиске наименьшего количества конверсий, проставлении коэффициентов достоверности и т.д. Но конкретно представители нашей школы на этом собеседовании будут ошеломлены и обескуражены, ведь это уровень средней школы.
  • Разбор задачи с собеседования Google: поиск соотношения
    +1
    Ну тут я вам не отвечу, я у гугла не был на собеседовании :)
    Здравый смысл говорит о том, что рациональные числа в boost появились в 1999году. Через 20 лет реализовывать их заново это, кхм, странно. Ну может только чтобы впечатлить собеседника.
  • Разбор задачи с собеседования Google: поиск соотношения
    +2
    Во-первых, кустарной реализации на собеседовании (да и в коммерческой разработке) быть не должно, потому что рациональные дроби не делал только ленивый. Если говорить о .Net, то разумно использовать, н-р, Rationals.Net, где числитель и знаменатель задаются BigInteger — оберткой вокруг массива чисел, без ограничений по размеру и порядку. Для C++ берем cpp_rational с такими же свойствами.
    Во-вторых, дробь с e-17 это совсем не много, задается 64-битными числами, пусть и близко к пределу.
    В-третьих, при некотором желании (и желании сделать пару велосипедов) можно использовать представление с мантиссой и экспонентой (даже тот же double) и в рациональных дробях. Ошибка будет накапливаться только при очень большой разнице между исходной и результирующей величиной (ангстремы в парсеки).
  • Самая популярная мобильная игра: как создавалась «Змейка» для телефонов Nokia
    +3
    Конечно! :) Играть же надо было во что-то
  • Разбор задачи с собеседования Google: поиск соотношения
    +16
    Но задача отлично решается при наличии полной таблицы преобразований в метры. Значит перед работой надо неполную таблицу сделать полной, это подготовительная операция. А само преобразование уже потом делается в два умножения. Конечно, мы можем где-то потерять точность из-за количества операций с плавающей запятой, но это тоже решаемо, н-р, рациональными дробями.
  • Разбор задачи с собеседования Google: поиск соотношения
    +42
    Спасибо за перевод!
    Эта статья подводит нас к очень интересной проблеме: американцы привыкли работать с несистемными размерами, поэтому для них естественно использовать цепочку преобразований для перевода попугаев в футы. Первое же, что приходит в голову человеку, знакомому с СИ — перевести все единицы в СИ и назад. Никакого графа, поиска в глубину и т.д. — все «общеизвестные преобразования» должны быть заранее вбиты в таблицу с коэффициентами вроде «1 фут = 0.3048 метра» и все вычисления должны происходить через метры. Если у нас нет таблицы таких «общеизвестные преобразований» в метры и программа стартует с пустой таблицей, то первым делом ее надо «обучить», наполнив эту таблицу. Если данные для обучения выданы в произвольном порядке, то их надо отсортировать так, чтобы они всегда опирались на уже существующие преобразования.
    В любом случае, финальное вычисление после этого будет делаться в два умножения. Я просто не могу себе представить как у автора получился «интуитивный подход», это для нас совершенно неестественно.
  • Шлем отчеты Veeam agent Linux на почту или в Telegram
    +2
    Вы сделали bash скрипт, который шлет что-то с помощью sendmail и curl GET запроса, а затем добавили его в cron? Ну ок, а в чем была проблема? Все-таки это буквально самые азы администрирования под Linux/Unix, даже не пришлось подымать отдельные службы для этого.

    P.S. Прочитал первые 5 слов заголовка как существительные и подумал непонятно что.
  • Самая популярная мобильная игра: как создавалась «Змейка» для телефонов Nokia
    +11
    Моя история про Змейку.
    В 91м году один из компьютерных журналов напечатал листинг Nibbles на QBasic. На то время у меня был ЕС1840 с GW-Basic на дискете с MS DOS, катастрофическая нехватка игр и неуемный оптимизм 8-летнего ребенка. Несколько дней я кропотливо перебивал код из журнала и исправлял опечатки, чтобы в итоге узнать, что инструкции QBasic и GW-Basic не полностью совместимы и код в принципе не запустится — обязательно нужны номера строк, отличаются некоторые операторы, а команда PLAY почему-то не издает звук и ее пришлось комментировать. Так я сделал первый в своей жизни порт. И понеслось :)
  • О сетевой модели в играх для начинающих
    0
    Конечно, использовать любой инструмент можно так, что выйдет какашка. Да и инструмент может быть не подходящий. Но опрометчиво говорить «да ну, не буду тянуть чужую либу, сделаю два сокета, проброшу по-быстрому сериализацию, прикручу шифрование и будет отличный сервер». Не будет. И в худшем случае вы это осознаете в продакшене.
    Есть некоторые исключения, есть люди с огромным опытом, есть задачи, под которые ну никак не подойдет существующий продукт. А есть и грустные истории вроде онлайна Fallout 76 в 24 человека на сервер, который преподносится как игровая фича.
  • О сетевой модели в играх для начинающих
    +5
    Если вы хотите сделать свой сетевой сервер, применяется правило такое же, как с желанием сделать игровой движок: не делайте этого! Скорее всего, с первой попытки у вас получится неповоротливый монстр, с кучей ошибок. Нужны годы, чтобы приблизиться по проработке и возможностям к какому-нибудь Photon Game Engine (или к Unreal Engine в случае 3д движка). И даже через годы вы все-равно будете находить ошибки из-за собственной реализации movement prediction или лаги из-за потери порядка udp пакетов. Массовое тестирование на сотнях проектов и десятках тысяч игроков вам тоже будет не доступно в большинстве случаев.

    P.S. Потратил 15 лет жизни на собственный серверный и игровой движки.
  • Я самый большой скупердяй в инди-разработке игр
    0
    Работают фултайм, получают по договоренности как парт тайм (с разными нюансами, долями и исключениями). Финансирую за счет моих личных проектов, которые еще не совсем слились. В целом, ситуация как у автора статьи — можно делать только финансово взвешенные шаги и если взять, н-р, художника из США на его обычную зарплату, то вся «подушка» закончится через два месяца, а игра еще не будет готова.
  • Комментарий из публикации, перенесённой в черновики.
  • Я самый большой скупердяй в инди-разработке игр
    0
    Ну все же не в одного, нет. У меня есть художник, геймдизайнер, финансист, веб-программер и с недавних пор еще один программер клиента. Не сверх-опытные спецы и работают на удалёнке, но я в любом случае не могу сказать, что тяну «в одного».
  • Российский геймдев, бессмысленный и беспощадный
    0
    Это весьма интересно! Зачастую инсайдерские рассказы пишут программисты, их текст информативен, но не всегда захватывает. У вас же получилось отлично передать эмоции и атмосферу, хотя и информативность не на высоте. Поэтому мы ждемжаждем продолжения :)
  • Древности: Windows 3.1 и жизнь без кнопки «Пуск»
    0
    Потому что были еще другие дискетки, откуда надо было распаковывать игры :) Blackout, Toppler, может еще что-то
  • Древности: Windows 3.1 и жизнь без кнопки «Пуск»
    +1
    Однажды добрый дядя подарил 5-летнему карапузу дискету на 1.2 мегабайта, чтобы туда помещался Принц Персии и пара других игр целиком. Потому что карапуз приходил к маме на работу, дожидался, пока освободится ЕС1840 с двумя дисководами, доставал две дискетки, одну на 360кб, другую на 800кб, доставал засаленную бумажечку и набирал, высунув язык:
    a:
    800.com
    b:
    mkdir prince
    cd prince
    pkunzip a:\prince.zip
    prince.exe


    Ну а после игры удалял, потому что места было мало. Да и дискетка на 800 долго не жила. Правда, и дискетка на на 1.2 тоже долго не прожила :)
    30 лет прошло, а я все еще иногда пользуюсь зипом.
  • Древности: Windows 3.1 и жизнь без кнопки «Пуск»
    0
    После установки WinG + Win32S можно было запускать некоторые программы даже от NT, а потом и 95й! Это был невероятный прорыв, особенно там, где замена ОС была запрещена.
  • Apple запустила программу предоставления оригинальных запчастей независимым сервисным центрам
    +1
    Классная многоходовочка:
    1. Сделать не ремонтируемое на коленке устройство
    2. Запретить его чинить в чужих мастерских, а в своих завысить планку стоимости
    3. Закрутить все гайки по максимуму (запрет работы с не оригинальными запчастями и т.д.)
    4. Дождаться пика возмущения и начать «с барского плеча» раздавать индульгенции сертификации/инструмент/запчасти, вынудив мастерские стать их клиентами
    5. Профит! Довольны клиенты, мастерские, инвесторы.
  • Я самый большой скупердяй в инди-разработке игр
    +6
    Конечно, уже джва года как! :)

    P.S. Спасибо!
  • Я самый большой скупердяй в инди-разработке игр
    +11
    Космическая инди ММО. По-сути долгострой с мизерным бюджетом :)
  • Я самый большой скупердяй в инди-разработке игр
    +6
    Подпишусь под каждым словом. Много лет делаю игру и непонятно как нахожу средства на финансирование фрилансеров и сотрудников. Местами все выглядит ужасно, иногда мне хочется нанять настоящих профи. Потом я заглядываю в свой кошелек и понимаю, что «терпимо» стоит X, «хорошо» стоит X*10, а «сделайте как мы привыкли видеть в Скайриме и Ведьмаке» стоит X*1000.
  • Людмила Бокова предлагает деанонимизировать всех пользователей Рунета
    +2
    [sarcasm]Да что вы там пристали со своими гвардейцами! Подумаешь, всего пару десятков человек зверски избили и покалечили, а ведь где-то в интернете могут детей до истерики довести, вот у сына маминой подруги уже такое было![/sarcasm]
  • Зарабатываем на солнечной энергии или пассивный доход в 25% годовых, практический опыт. Часть 1
    0
    А что с водой было-то? :)
  • Зарабатываем на солнечной энергии или пассивный доход в 25% годовых, практический опыт. Часть 1
    0
    РЭС покупает электричество в 4-5 раз дороже, чем продает. Им выгодно это, чтобы можно было днем меньше мощности подавать в этом направлении. Для примера, представьте, что ваш интернет провайдер арендует канал 100 Gbps, чтобы хватало с запасом на всех. Если несколько абонентов в критичных местах подымут у себя шлюзы, и будут соседей пускать через мобильный 4G, то можно будет арендовать канал 10 Gbps втрое дешевле, а этим абонентам доплачивать.
  • «Яндекс» показал, какими словами ищут забытые фильмы
    +1
    «Фильм где снимался главный эльф» это Матрица, а не Властелин Колец :)
  • Приложения для электронных книг на операционной системе Android. Часть 2. Книжные магазины и приложения для чтения книг
    +1
    Кстати, раз уж мы на программерском ресурсе. Когда-то давно я делал свою читалку, у нее были свои плюсы и минусы (например, книжная полка = файловый менеджер, сверх-быстрый, но не очень точный парсинг, поддержка RTL языков), а затем она понемногу стала мне не интересна и заглохла. Код выложен на github, может кому-то будет надо для своих задач.
  • Проблема с обновлением MikroTik RouterOS на роутерах с 16MB FLASH
    0
    Мне кажется, эту ошибку можно «взять измором» — переключение по stable/beta/devel веткам вместе с несколькими подряд попытками установки в итоге мне давали нужный результат. Я еще не мог понять, почему старичок 750й обновляется с первого раза (у него 128 памяти), а с остальными (962/952/wAP) приходится шаманить. В логи не лез, потому что после 2-3 попытки таки все обновлялось.
  • Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту
    +1
    Ничего особого, просто проявление снобизма и лень отправлять ЛС, потому что они неудобно реализованы :). В лесу, в порту, на берегу. Детальнее тут.
  • Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту
    0
    Где-где?
  • С сегодняшнего дня ФСБ наделена полномочиями инициирования разделегирования доменных имён Рунета
    +2
    С остальными «бывшими» расклад сложнее: на нац. языках полезной информации может быть не много, поэтому мы с удовольствием пользуемся возможностью искать статьи на русском, английском и национальном (а кое-кто еще и на иврите). Но это забирает время и распыляет внимание, поэтому зачастую не активничаем и сидим на хабрах-реддитах-стеках в режиме рид-онли.
  • Новый подход может помочь нам избавиться от вычислений с плавающей запятой
    +2
    Есть ли реализованная библиотека мат функций с таким представлением числа? Проводились ли тесты по скорости и точности?
  • «Гул Земли»: теории заговора и возможные объяснения
    +2
    Слышу холодильник через две закрытые двери. Слышу блоки питания и особенно трансформаторы. Но при этом засыпаю почти моментально — шум раздражает, но его можно и проигнорировать. При этом ночевка на даче это просто праздник для ушей — там есть всякие сверчки и птицы, комарики, но ничего техногенно-монотонного :)
    Был бы более нервным, наверное бы тоже писал про «гул земли».
  • Грузовой «Прогресс» установил новый рекорд «Земля-МКС» — 199 минут
    +1
    А подскажите, это время имеет смысл при сравнении ракет, запущенных из разных точек земного шара? Или такие рекорды могут поставить только стартующие с Байконура?
  • «Мой офис» и ICQ. Эксперты составили список российского ПО для обязательной предустановки на смартфоны
    +1
    Странное и тревожное ощущение, когда смотришь список привычных сервисов, а затем то, что предлагают использовать вместо них. Это ж не на самом деле происходит, да?
  • Солнечная электростанция на дом 200 м2 своими руками
    0
    Параллельные сборки панелей можно не рассматривать поскольку это катастрофически снижает КПД установки.

    У автора как раз гибрид 3х3. Параллельные сборки часто используют, потому что контроллеры обычно имеют небольшой верхний лимит напряжения, порядка 100-150 вольт. Что интересно, при параллельном режиме в проводах ходят огромные токи и существенно растет требование к сопротивлению. Тут было бы как раз экономнее всегда делать последовательное соединение.

    P.S. У моего контроллера предохранители воткнуты вообще на каждый контур. Плюс парочка автоматов на небольшой ток для удобного размыкания. Ну и УЗИП на случай превышения напряжения в цепи (молнии).
  • Солнечная электростанция на дом 200 м2 своими руками
    0
    Работа предохранителей основана на том, что ток в цепи может стать в разы больше нормального. Причин для этого может быть предостаточно, включая замыкание контура АКБ с PV, перепутанные провода, пробой по питанию контроллера. Именно КЗ для солнечной панели не страшно, она при нем начинает немного греться, но не выходит из строя*.

    *Отдельно рассматривается ситуация с КЗ в параллельной сборке, где отказ диодов или заметно меньшее сопротивление одной из панелей пускает весь ток сборки на одну одну панель.
  • Солнечная электростанция на дом 200 м2 своими руками
    0
    Вы не поверите, точно так же, как и любых других предохранителей между источником и потребителем тока =)