• Почему линукс использует swap-файл

      Жажда тюнинга может завести в неведомые дебри. И, пожалуй, едва ли не самая частая неправильная оптимизация - отключение swap-файла. Если прикинуть частоту, с которой эта ошибка встречается, то, наверное, она входит в негласный top-10 (а может и top-5) самых распространенных, самых бесполезных и самых вредных оптимизаций - потому что swap-файл это одна из самых интересных, сложно понимаемых и недооцененных  сущностей в подсистеме управления виртуальной памятью.

      Читать далее
    • В Азии начнут продавать «умные очки» для коррекции близорукости

        Японская компания Kubota Pharmaceutical Holdings представила устройство Kubota Glasses. «Умные очки» помогают корректировать зрение. Их широкий выпуск планируется начать после завершения всех испытаний.

        Читать далее
      • Как работает алгоритм генерации паролей Castlevania III

        • Перевод
        В данной статье объясняется механизм, используемый игрой Castlevania III: Dracula’s Curse для сохранения и восстановления игрового состояния при помощи паролей. Информация статьи относится к североамериканским и PAL-версиям, выпущенным для NES, а не к японской версии, Akumajō Densetsu, выпущенной для Famicom.

        Система имён и паролей


        В Castlevania III применена комбинированная система имени и пароля. В начале игры игроку нужно ввести имя:


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

        После game over игроку даётся на выбор два варианта: мгновенно продолжить игру с последней точки сохранения или закодировать игровое состояние в пароль, позволяющий продолжить играть в будущем.
        Читать дальше →
      • «А ты точно senior?»

          Привет, я тех/тим лид в одной из продуктовых web компаний - систематически занимаюсь собеседованиями. И главная проблема понять кто перед тобой senior, или не очень. А если еще и нужно согласовать мнение со вторым интервьюером...


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

          добро пожаловать под кат
        • Каркас API на Golang

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


            image


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

            Читать дальше →
          • Почему только прокачка кодинга не сделает из тебя лучшего разработчика


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


              Миф про хорошего разработчика гласит, что он:


              1. Пишет чистый код
              2. Знает много технологий
              3. Быстрее кодит задачи
              4. Знает кучу алгоритмов и шаблонов проектирования
              5. Умеет отрефакторить любой код по Clean Code
              6. Не тратит время на непрограммистские задачи
              7. 100% мастер своей любимой технологии

              Так видят идеальных кандидатов HRы, и вакансии, соответственно, выглядят тоже так.


              Но мой опыт говорит, что это не сильно соответствует действительности.

              Читать дальше →
            • Что не нужно делать, если у вас украли телефон

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

                • его можно отследить по IMEI, а смена IMEI явно не бесплатна;
                • на телефоне могут быть установлены блокировки, снять которые так же не бесплатно;
                • есть приложения с режимом «Антивор», которые передают фото, видео и аудио;
                • даже встроенные возможности Android (и, полагаю, iOS) имеют функцию геолокации пропавшего устройства;
                • устройство может иметь особые приметы, которые довольно сложно устранить «бесплатно»;
                • наверняка где-то рядом есть камеры видеонаблюдения, свидетели и т.п.;
                • при продаже краденного за него сложно будет выручить большую сумму денег.

                Осознавая все это, я действительно не понимал, для чего же воруют телефоны, если, по сути, их легко найти, а денег на этом не заработать? Не понимал до 8 февраля 2019 года, пока у меня у самого не украли телефон.
                Читать дальше →
              • Изготовление печатных плат ЛУТ'ом от А до Я

                Доброго времени суток! Среди моих знакомых бытует мнение, что самостоятельно изготавливать печатные платы (ПП) бесполезно. Учитывая, что современные компоненты далеко ушли от DIP корпусов, то кустарно травить платы под них даже и не стоит пытаться. Тем не менее необходимость в быстрой оценке того или иного компонента всегда есть, и ждать несколько суток заказанной платы времени нет. И это учитывая, что заказ за «несколько суток» дорог, для одноразовой задачи.

                В данной статье я хочу изложить порядок действий, которые позволят быстро изготавливать ПП под компоненты в корпусах подобных TQFP-100, то есть с ногами 0,2мм и таким же зазором, и при этом сводить брак к минимуму.

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

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

                Под катом подробности и трафик.
                Подробности
              • О едком и не очень

                  – Эти идиоты поместили фарфоровый контейнер со «студнем» в специальную камеру, предельно изолированную… То есть это они думали, что камера предельно изолирована, но когда они открыли контейнер манипуляторами, «студень» пошел через металл и пластик, как вода через промокашку, вырвался наружу, и все, с чем он соприкасался, превращалось опять же в «студень». Погибло тридцать пять человек, больше ста изувечено, а все здание лаборатории приведено в полную негодность. Вы там бывали когда-нибудь? Великолепное сооружение! А теперь «студень» стек в подвалы и нижние этажи… Вот вам и прелюдия к контакту.

                  — А. Стругацкий, Б. Стругацкий «Пикник на обочине»

                  Привет, %username%!

                  В том, что я всё ещё что-то пишу — вините вот этого человека. Он навеял идею.

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

                  Поехали.
                  Читать дальше →
                • Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство

                  • Tutorial
                  Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы:

                  Часть 1. Подготовительные работы
                  — 1.1. Создание проекта
                  — 1.2. Зависимости (Dependencies)
                  — 1.3. Страницы: создание фрагментов
                  — 1.4. Адреса: файл ресурсов типа «Navigation»
                  — 1.5. Фрейм: виджет NavHostFragment

                  Часть 2. Элементы навигации
                  — 2.1. Навигация с помощью кнопок
                  — 2.2. Боковое меню (Drawer)
                  — 2.3. Панель инструментов: Toolbar вместо ActionBar
                  — 2.4. Нижнее меню (Bottom Navigation)
                  — 2.5. Всплывающее меню (Overflow Menu)

                  Краткие выводы и ссылка на github
                  Читать дальше →
                  • +8
                  • 18,5k
                  • 5
                • FAQ: что надо знать путешественнику-гику про прививки перед поездкой

                    Мадагаскар закрывает границы!Вакцина — это способ показать иммунной системе сигнатуру угрозы, к которой за несколько циклов обучения будет выработан иммунный ответ.

                    Любая борьба организма с инфекционным заболеванием — это попытки распознать сигнатуру угрозы и выработать контрмеры. В общем случае этот процесс ведётся до полного результата, то есть до выздоровления. Однако могут быть инфекции, которые:

                    • Убивают носителя быстрее, чем будет выработан иммунный ответ.
                    • Меняются быстрее, чем иммунная система сможет «распознать» патогены.
                    • Маскируются и прячутся в местах, где очень сложно получить доступ к патогену.

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

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

                    Почему путешествия опасны?


                    Предположим, вы летите в Африку. Там есть повышенный риск жёлтой лихорадки. Простая вакцина обойдётся вам примерно в 1 500 рублей вместе с приёмом терапевта и услугами процедурного кабинета, вакцина более высокого уровня — в 3 000 рублей. Вылечиться от жёлтой лихорадки специализированными медикаментами нельзя (то есть можно только поддерживать ресурсы организма, пока он сам не справится), заболеть легко, летальность — около 10%, основной вектор — комары. Побочных эффектов у вакцины почти нет. Стоит вакцинация того? Наверное, да. Но решать вам.
                    Читать дальше →
                  • Создаём процедурные глобусы планет

                    • Перевод
                    Искажения, бесшовный шум и как с ними работать.

                    image

                    Генерируем планету


                    Один из простейших способов генерации планеты — использование шума. Если мы решим выбрать его, то у нас есть пара возможных вариантов. Давайте рассмотрим каждый и определим лучший:

                    • Шум Перлина (Perlin Noise) — самый простой вариант. Шум Перлина был разработан Кеном Перлином в 1983 году, он имеет пару недостатков — визуальные артефакты и довольно низкая по сравнению с другими вариантами скорость при генерации больших изображений.
                    • Симплекс-шум (Simplex Noise) — разработан Кеном Перлином в 2001 году как попытка устранения недостатков шума Перлина; это вполне достойное и быстрое решение, однако обладающее серьёзным недостатком: использование трёхмерного симплекс-шума защищено патентом, что делает его довольно дорогостоящим.
                    • Открытый симплекс-шум (Open Simplex Noise) — был разработан KDotJPG с одной простой целью: создать современную и бесплатную версию симплекс-шума, относительно быструю и без искажений.

                    Из этих трёх лично я предпочитаю Open Simplex Noise, который использую в своих личных проектах. Стоит заметить, что в текущей реализации OpenSimplexNoise для получения простого доступа к масштабу, октавам и порождающим значениям потребуется дополнительная работа. В Интернете есть множество информации о том, что делает каждый из этих элементов, и я крайне рекомендую вам её изучить. Однако в своей статье я буду говорить не об этом.
                    Читать дальше →
                    • +38
                    • 7,4k
                    • 7
                  • О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

                    • Tutorial
                    DIY посвящается...

                    Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

                    Читать дальше →
                  • Лучшее из опыта создания чистых и быстрых Angular приложений

                      На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular & JS.

                      Это перевод статьи Vamsi Vempati про его опыт работы над крупномасштабным приложением для компании Trade Me, написанным на Angular.



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

                      В статье в общих чертах описываются методы, которые мы используем в нашем проекте. Текст по большей части связан с Angular, TypeScript, RxJs и @ngrx/store.

                      Кроме того, будут рассмотрены некоторые общие рекомендации по написанию кода, которые помогут сделать приложение более «чистым» и читаемым.
                      Читать дальше →
                      • +11
                      • 7,1k
                      • 6
                    • Наша космическая промышленность. Взгляд на проблемы отрасли с позиции рядового разработчика

                        Я работал в нашей космической промышленности достаточно долго (1983-1995, 2008-2012 годы). Когда читаешь статьи о наших неудачах, в них часто не видны основные действующие механизмы создания проблем.

                        Итак, я хотел бы начать это рассмотрение с принципа «фактической негативной селекции». Кому интересно – прошу под кат (много букв и никаких картинок).
                        Читать дальше →
                      • Ода дня одного программиста

                        Привет, Хабр!

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

                        Знай, это не бред юмориста!
                        Ода дня одного программиста.
                        (прим. авт.)
                        Читать дальше →
                      • Почему я ненавижу фреймворки

                        • Перевод
                        Я собираюсь сделать Java-веб-приложение (да, это будет Java, по некоторым причинам, которые сейчас озвучивать не хочу). В процессе работы, я оцениваю кучу J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container фреймворков.

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

                        Давайте представим, что я решил сделать шкафчик для специй.
                        Читать дальше →
                      • Закон об управлении рунетом — реализация положений и зоны ответственности



                          Вчера на Хабре появилась новость о том, что Минкомсвязи одобрило закон об управлении Рунетом. Этот же закон поддерживает Роскомнадзор и Федеральная служба охраны, плюс Федеральная служба технического и экспертного контроля.

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

                            image

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

                            Я работаю программистом четыре года. Начал с С#, разрабатывая игры, затем перешел на Python и машинное обучение. Потом учил JavaScript и TypeScript для фронтенда. Следующим этапом стала разработка мобильных приложений, так что я занялся Ionic, React и React Native. Заинтересовался бэкендом, начал работать с Go. Чуть позже к списку моих языков и фреймворков добавились Dart, Java и PHP — все три потребовались во время моей работы в Facebook.

                            Я не хочу сказать, что являюсь экспертом во всех упомянутых языках. У меня просто есть опыт работы с ними, больший, чем с другими языками и фреймворками. Почему выбор пал на них? Ну, мне показалось, что они предлагают больше, чем прочие, поэтому так.
                            Читать дальше →
                          • 10 лучших VS Code-расширений 2018 года для фронтенд-разработчиков

                            • Перевод
                            Visual Studio Code, вероятно, можно назвать лучшим современным редактором кода. Если вы пока с ним не работаете — то вам, по крайней мере, стоит на него взглянуть. Для VS Code написано великое множество расширений, которые размещают в каталоге Marketplace, удобный доступ к которому организован из самого редактора.

                            Существуют расширения для отладки и форматирования кода, расширения, облегчающие работу с различными платформами (вроде Heroku, GitHub, Docker, Azure) и технологиями. В Marketplace можно найти темы для редактора, линтеры, средства, облегчающие ввод повторяющихся фрагментов кода, и многое другое.



                            Автор материала, перевод которого мы публикуем сегодня, отобрал 10 лучших VS Code-расширений, предназначенных преимущественно для тех, кто занимается фронтенд-разработкой, то есть, работает с HTML, CSS, JavaScript и с различными веб-фреймворками.
                            Читать дальше →