• Как делать сайты в 2019 году

    • Translation
    • Tutorial

    Веб стремительно меняется, не отставай и ты!



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


    Давайте-ка шаг за шагом разберём важнейшие принципы веб-дизайна в 2019 году.


    Обязательно дайте пользователю знать, что у сайта есть мобильное приложение


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


    Ну а кратчайший путь к этому — показать здоровенное модальное окно:



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


    Совет: Если у вас нет мобильного приложения, не беда! Просто запихните весь сайт в  webview с отключенной безопасностью и пишите, что это мобильное приложение!

    Читать дальше →
  • Введение в свёрточные нейронные сети (Convolutional Neural Networks)

    • Tutorial
    Полный курс на русском языке можно найти по этой ссылке.
    Оригинальный курс на английском доступен по этой ссылке.


    Выход новых лекций запланирован каждые 2-3 дня.
    Читать дальше →
  • MPPT контроллер заряда на STM32F334C8T6

      В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT. Но сказать это одно, а показать… уже куда интереснее и нагляднее, поэтому сегодня расскажу о своем небольшом вялотекущем проекте такого контроллера.


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


      Фото МРРТ

      Читать дальше →
    • Кислотные аккумуляторы; чтобы больше не было отвратительно читать то что люди о них пишут

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

      Начнем с названия. Я очень часто вижу что тремя буквами А-К-Б называют все что можно зарядить, абсолютно любой аккумулятор. Особенно тремя буквами люди любят называть аккумуляторы типа Li-ion. На самом-же деле АКБ аббревиатура от Аккумуляторная Кислотная Батарея. Под ними подразумевается лишь один тип аккумулятора — свинцовый кислотный. С современной точки зрения это название вызывает некоторый когнитивный диссонанс т.к. на данный момент значение слова «батарейка» т.е. гальванического элемента который зарядить нельзя перешло на слово «батарея». И получается как будто бы из-за слова «аккумуляторная» это аккумулятор который зарядить можно, а из-за слова «батарея» это как будто батарейка которую зарядить нельзя. В реальности-же батарея — просто цепь гальванических элементов и со словом «батарейка» имеет общий лишь корень.

      Далее перейдем к некоторым мифам, а именно главный миф — АКБ для автомобиля имеет некие существенные отличия от АКБ для ИБП. И вот нельзя их применять и там и там.
      Читать дальше →
    • Введение в lock-free программирование

      • Translation
      image

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

        Привет, Geektimes!

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

          Демомейкеры Rgba и TBC поделились с общественностью секретами своего мастерства. Вчера они выложили в открытый доступ исходный код знаменитой демки Elevated, которая победила в номинации PC 4k Intro на фестивале компьютерного искусства Breakpoint в 2009 году. Прошло уже семь лет, но работа до сих пор впечатляет. Просто посмотрите видео, желательно в 1080p.



          Сложно поверить, но этот экземпляр компьютерного искусства процедурно генерируется в реальном времени исполняемым файлом размером всего 4066 байт. Звук тоже синтезируется на лету.
          Читать дальше →
        • Лучшие светодиодные лампы 2015 года

            На сайте lamptest.ru я публикую результаты измерений параметров светодиодных ламп. Цифр там немало и многим сложно в них разобраться. Всё чаще я слышу вопрос — «так какая лампочка самая лучшая»? Хороших ламп много и я решил регулярно публиковать списки лучших ламп.



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

            Читать дальше →
          • Реализация программного кода для модуля индикации на ILI9341 + STM32. Часть 4.2

              Часть 1
              Часть 2
              Часть 3
              Часть 4.1

              Пролог


              Мнения были разные по поводу разбора кода и его необходимости вообще. Я постарался в данной статье реализовать метод «золотого сечения», поэтому:
              а) в конце статьи будет приложен исходник экспертам дальше не читать
              б) приведу алгоритм работы и разберу его
              в) объясню как пользоваться библиотеками SPL
              г) в объеме статьи расскажу как пользоваться определенной периферией, покажу реализацию работы с ней в коде
              д) отдельным пунктом опишу работу с ILI9341, т.к. тема довольно разжевана, то просто расскажу о главном — как обдумано реализовать функцию инициализации (в интернете видел лишь код с фразой: «вот рабочая инициализация, копируйте и не вдумывайтесь что это») и запустить его через аппаратный SPI.

              Слишком подробный разбор кода вы тут не увидите, все будет в меру, иначе мне придется написать книгу страниц так в 200-250. Поэтому изучайте даташиты и прочую документацию (ссылки будут) перед тем, как приступать к написанию программы. Те, кто первый раз сядет за МК — не бойтесь, если возникнут вопросы я вам подскажу и помогу, так что данный код вы осилите.
              Читать дальше →
            • Использование облачной АТС pbxes.com для расширения возможностей VoiP / SIP телефонии

                Так сложилось, что у меня есть несколько SIP номеров от разных VoiP операторов в разных странах мира (США, Израиль, Украина, Россия). В какой-то момент, получив очередной звонок с предложением «купить слона» на мой израильский номер в 4 часа утра (я в США, а израильский телемаркетолог об этом, естественно, не догадывается), я понял, что надо что-то делать.

                В случае с израильским провайдером все было просто — в личном кабинете провайдера изменил настройки, перенаправив все звонки от незнакомых номеров (которые не в «белом списке») в voice mail с 9 вечера до 7 утра.

                Все бы ничего, но через какое-то время я стал получать звонки с предложением купить украинского слона (на украинские номера от Атлантис Телеком и Интертелеком) и российского слона (на номер от Задарма). А тут уже хуже — в личных кабинетах этих трех провайдеров нет возможности перенаправить звонок в voice mail по расписанию или заблокировать какой-то номер. В Задарма и Интертелекоме вообще нет voicemail, с переадресацией тоже не все хорошо (в Задарма — только безусловная переадресация), в Атлантис Телекоме и Интертелекоме — переадресация только на телефонные номера, но не на SIP URI.

                В итоге, было найдено решение с использованием облачной АТС pbxes.com.

                Кому интересно, приложением под катом (много картинок)

                Читать дальше →
              • Расчет и изготовление «сердца» ИИП — импульсный трансформатор. Часть 2

                  Часть 1

                  Пролог


                  И все таки меня пригласили! Теперь дело со статьями пойдет более оперативно. Темой следующей части изначально я хотел сделать схемотехнику какого нибудь блока, а чего ждать? Но тут вспомнил свою школьную молодость и саму великую проблему с которой сталкивался — как изготовить неведомое для меня на тот момент зверя устройство — импульсный трансформатор. Прошло десять лет и я понимаю, что у многих (и не только начинающих) радиолюбителей, электронщиков и студентов возникают такие трудности — они попросту их боятся, а как следствие стараются избегать мощных импульсных источников питания (далее ИИП).
                  После этих размышлений я пришел к выводу, что первая тема должна быть именно про трансформатор и ни о чем другом! Хотелось бы еще оговориться: что я подразумеваю под понятием «мощный ИИП» — это мощности от 1 кВт и выше или в случае любителей хотя бы 500 Вт.


                  Рисунок 1 — Вот такой трансформатор на 2 кВт для Н-моста у нас получится в итоге
                  Читать дальше →
                • Проектирование мощного ИБП двойного преобразования (on-line). Часть 1

                  Пролог


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

                  Немного о себе расскажу — работаю инженером-электронщиком на предприятии, занимающимся производством станков и линий с ЧПУ, а так же мощных импульсных устройств: ИБП, стабилизаторы напряжения, инверторы. Вместе с предприятием прошел путь от проектирования систем от 1 кВт и до 1135 кВт.

                  Мои публикации будут носить больше учебный характер с попытками донести до интересующихся основы силовых расчетов, трассировки плат и ВЧ цепей, программирование микроконтроллеров STM32, а так же ПЛИС от Altera. И конечно еще множество сложных, но интересных вещей. Пожалуй, начнем…
                  Читать дальше →
                • Как мы придумали необычное применение для Amazon IoT Button и заставили секретаршу сбросить несколько килограмм

                    В октябре этого года мы ездили в Лас-Вегас на конференцию Amazon re:Invent и привезли оттуда одну из последних новинок Amazon — бета-версию «волшебной кнопки» IoT Button. Amazon запустил продажи этого чудо-гаджета буквально месяц назад, по задумке он должен помогать ленивым домохозяйкам одним нажатием пополнять запасы всякой хозяйственной ерунды — подгузников, порошков, моющих средств и так далее. Кнопка крепится на любую ровную поверхность, настраивается с помощью мобильного приложения и после нажатия отправляет заказ в Amazon. На следующее утро курьер доставляет товары под вашу дверь, все счастивы и довольны. Но что делать с этой штукой в Украине?!

                    Спойлер
                    В последнем абзаце мы расскажем, как бесплатно получить 10 кнопок.

                    Читать дальше →
                  • Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

                      image

                      До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

                      Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
                      Читать дальше →
                    • Вот что будет, если установить топ-10 программ с Download.com



                      Мы установили десять самых популярных программ с Download.com, и вы не поверите, что произошло! Впрочем, наверное, вы и сами можете догадаться: что-то ужасное. Что-то ужасное — вот что произошло. Присоединяйтесь к нашему веселью!

                      Уже не первый год мы сетуем на то, что нельзя спокойно порекомендовать скачать бесплатную программу, а недавно мы рассказали, как можно безопасно испытывать любое ПО при помощи виртуальной машины. И мы подумали: а почему бы не повеселиться и не посмотреть, что же, в самом деле, произойдёт, если скачивать программы как обычный ничего не подозревающий пользователь?

                      Ради эксперимента мы будем просто прощёлкивать все экраны установки с настройками по умолчанию на чистой виртуальной машине. Мы установим десять приложений из списка самых популярных загрузок. И предположим, что наш персонаж — рядовой пользователь.
                      Читать дальше →
                    • Несколько интересностей и полезностей для веб-разработчика #37

                        Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

                        Buzz.js




                        В последнее время в интернете все чаще и чаще встречаются проекты, где различные интерфейсные элементы сопровождаются определенными звуками. Я бы даже сказал, что UX/UI в вебе переходит на новую ступень эволюции. А Buzz.js одним из первых готов помочь вам в озвучке вашего интерфейса. Это библиотека для работы с HTML5 Audio API с рядом подходящих обработчиков событий.

                        var mySound = new buzz.sound( "/sounds/myfile", {
                            formats: [ "ogg", "mp3", "aac" ]
                        });
                        
                        mySound.play()
                            .fadeIn()
                            .loop()
                            .bind( "timeupdate", function() {
                               var timer = buzz.toTimer( this.getTime() );
                               document.getElementById( "timer" ).innerHTML = timer;
                            });
                        


                        Читать дальше →
                        • +47
                        • 40.5k
                        • 5
                      • Layout страницы за 5 секунд

                          www.layzilla.com

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

                          Можно создавать основу страницы проекта любой сложности.

                          В будущем сделаем поддержку HTML5.

                          Мануал для любителей почитать.
                        • Smooth Video Pack — плавное воспроизведение видео (PAL, 720p, 1080p)

                            Бесплатный пакет Smooth Video Pack (SVP) предназначен для просмотра видео на ПК c эффектом плавности движений.
                            Алгоритмы повышения плавности движений рассчитывают промежуточные кадры, помещаемые при проигрывании между исходными кадрами, при этом создается эффект повышенной плавности движений.

                            Обработка происходит в реальном времени, для этого необходим c2d от 2.5ГГц, 2Гб озу для 720р видео.
                            От себя хочу добавить, что фильмы начинают смотреться совсем по-другому.

                            Пример видео с форума (swf)
                            Ссылка на форум iXBT (FAQ = Просмотр видео на компьютере с эффектом плавности движений)
                            Ссылка на страницу скачивания SVP
                            Ссылка на страницу онлайн помощи по SVP
                            Читать дальше →
                          • iPhone. Год практического использования

                              Откровенно говоря, год назад, когда я покупал Iphone — я так и не нашел какого-то внятного описания best practiсe для iPhone.
                              До этого я уже использовал платформу Symbian(nokia n80) и WinMobile(acer n311) — и обе меня по разным причинам в конце концов разочаровали.

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

                                Компания CompuLab выпустила компьютер fit-PC2, который на данный момент является самым маленьким ПК. Его габариты составляют всего 115x101x27 мм. Работает этот малыш под управлением OS Linux (Ubuntu Linux 8.04). Впрочем, модели с предустановленной Windows XP тоже имеются.


                                fit-PC2 построен на на базе платформы Intel Menlow. На борту у этого ПК процессор Atom Z530, 1 Гб ОЗУ, 160-гигабайтный жесткий диск, гигабитная Ethernet-карта, Wi-Fi, шесть портов USB 2.0, гнездо для флэш-карт miniSD. Есть и гнездо mini PCI Express. Опционально fit-PC2 может поставляться и с SSD-драйвом.


                                Кулеров в fit-PC2 не предусмотрено. Соответственно, шума он толком и не издает. Кроме того, новинка потребляет всего 6 Вт.

                                Стоимость fit-PC2 с процессором Z510 на 1,1 ГГц без предустановленной ОС и жесткого диска составляет $245. С тем же процессором, Ubuntu 8.04 и 160-гигабайтным SATA HDD этот ПК стоит уже $300. Самая дорогая комплектация — процессор Z530 1,6 ГГц, Windows XP и HDD 160 Гб — обойдется в $400.

                                via linuxdevices