Pull to refresh
12
0
Дмитрий @charger_lda

Разработчик

Send message

Интерактивная виртуальная игра как форма обучения школьников

Reading time7 min
Views5.4K

Стоит ли запрещать детям доступ в Интернет? Такой вопрос рано или поздно задают все современные родители, и на него уже можно четко ответить — нет. По одной простой причине, что Интернет везде. И гораздо оптимальнее будет использовать его для обучения ребенка. Конечно, придется контролировать и быть в курсе того, какой контент потребляет юный неокрепший мозг. К примеру, этой осенью моя дочь пойдет в первый класс. Для сравнения, я не помню, чтобы в первом классе задавался, как моя дочь, такими вопросами, как «Есть ли в нашем городе мусороперерабатывающий завод?», «Когда человек сможет жить на Марсе?», «Все ли косточки динозавров выкопаны?». Современные дети более любознательные, и это благодаря Интернету. Очень важно сохранить эту любознательность, когда ребенок пойдет в школу. Ведь ребенку может показаться, что в школах скучнее рассказывают о чем-либо, чем в «Фиксиках» или «Гравити-Фоллз». Учителя и лекторы могут показаться менее харизматичными и выразительными, чем, скажем так, научпоп блогеры. А в какой-то момент, ребенок просто сделает вывод, что знаний в Интернете больше и лучше, а в школу идти вовсе необязательно. Именно так было с большинством детей младших и средних классов, которые были вынуждены учиться на удаленке во время пандемии. Они отказывались идти в школу, когда учебный процесс возобновили. Это наглядно показало, что образовательная система нуждается в реформах, что необходимо интегрировать Интернет в процесс обучения, и уж тем более, не противится и запрещать его. Сделать это будет не так просто и не так быстро! Нужны время и деньги, особенно нужны специалисты для разработки баз данных и электронных ресурсов. В то время, когда Facebook создает Instagram для детей младше 13 лет, предлагаю ознакомиться с примерами электронных образовательных ресурсов, которые могут быть полезными для детей всех возрастов, и такими же интересными для них как Майнкрафт, Among Us и YouTube Kids.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments1

Я был неправ. Будущее за CRDT

Reading time8 min
Views7.8K
Несколько недель назад я посмотрел презентацию Мартина Клеппмана про его подход к редактированию в реальном времени через CRDT и ощутил жгучее отчаяние. Его подход хорош настолько, что превосходит всю мою работу за последнее десятилетие, и места в будущем ей уже не видать.

Но начнем сначала.

В 2010 году я работал в Google Wave, где мы пробовали создать совместные редактируемые пространства для замены электронной почты, Google Docks, форумов, мгновенных сообщений и многих других однозадачных приложений. Среди моих инструментов мне особенно нравится среда общего назначения, нигде более как в Wave не сформулированный в то время функционал. В отличие от большинства других инструментов, среда общего назначения не навязывает собственный рабочий процесс, благодаря чему через нее можно планировать праздники, создавать вики-проекты, играть с друзьями в настольные игры, назначать рабочие собрания и много чего еще.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments0

IBM открыла инструмент полностью гомоморфного шифрования для Linux

Reading time4 min
Views26K

Компания IBM опубликовала на GitHub исходный код набора инструментов FHE для Linux. Утилиты работают на платформах IBM Z и x86, поддерживаются Ubuntu, Fedora и CentOS.

Полностью гомоморфное шифрование (FHE) долгое время считалось чем-то вроде чаши святого Грааля в криптографии. Задача действительно казалась нереальной. Тип шифрования FHE предполагает манипуляции зашифрованными данными третьей стороной без возможности расшифровки самих данных или результата манипуляций.

Как такое возможно?
Total votes 66: ↑65 and ↓1+64
Comments35

Фантастические книги, которые вы могли пропустить в 2020 году

Reading time7 min
Views65K

Что делать, когда хочется писать о книгах, но рубеж года уже пройден, а 2021 пока не радует новинками? Можно еще раз вспомнить достойные фантастические романы, которые вышли на русском в 2020, и заслуживают внимания, хотя их авторы, по крайней мере пока, не могут похвастаться большой популярностью в России. Поэтому хочу рассказать о нескольких фантастических книгах прошлого года, которые произвели на меня хорошее впечатление. 

Буду рад, если в комментариях поделитесь своими фантастическими находками.

Читать далее
Total votes 57: ↑54 and ↓3+51
Comments63

Фургоны-детекторы ТВ всё ещё колесят по улицам Великобритании

Reading time13 min
Views74K

Возможно, вы не знали, но Соединённое Королевство требует от каждой семьи, которая пользуется телевизором, приобретать лицензию на эту привилегию. Появившаяся в 1923 году после принятия Закона о беспроводной телеграфии лицензия требовалась всем, кто пользовался радиоприёмниками. В 1946 году под лицензирование попало и телевидение. Средства, собираемые с граждан, используются в качестве основного источника финансирования Британской общенациональной общественной телерадиовещательной организации. Если коротко, то BBC.

Читать далее
Total votes 132: ↑129 and ↓3+126
Comments406

Жесткая вода и накипь. Структура, свойства и способы минимизации ущерба (Steanlab Review)

Reading time88 min
Views96K
Что остается делать темными зимними вечерами в самоизоляции кроме как не перечитывать старые подшивки советских журналов. В зависимости от специализации, у кого-то это журнал Квант, у кого-то Техника Молодежи. В моем случае, из-за профессиональной деформации, подходит только «Химия и жизнь». И вот в одном из номеров этого журнала я натолкнулся на душераздирающее письмо читателя (КДПВ — это оно). И подумал, а ведь действительно, сколько вроде бы не написано на различных сайтах и сайтиках про известковый налет от жесткой воды, а все так же он появляется то в увлажнителях воздуха, то в бойлерах, то даже в радиаторе автомобиля. И все также люди начинают искать ответы, пробуя все подряд рекомендации. Проблема есть (если уж даже Китай тратит 0,2% ВВП страны на борьбу с накипью, в Беларуси 0,5% ВВП тратят на развитие науки и исследований). А если есть проблема, попробуем решить, вложить, используя терминологию читателя ХиЖ «средства в борьбу». Под катом — про жесткую воду, накипь и множество явлений (чаще негативных) которые с этим всем связаны.


Убрать накипь с прибора!
Total votes 94: ↑84 and ↓10+74
Comments131

Подключаем новый Xiaomi Gateway 3 к Home Assistant без паяльника и смс

Reading time5 min
Views111K

Новый хаб от Xiaomi с поддержкой технологий Zigbee 3, Bluetooth Mesh, HomeKit и его подключение к достаточно популярной системе умного дома — Home Assistant, интересует?


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

Почему проекты в IT занимают в 2-3 раза дольше, чем планируется?

Reading time3 min
Views24K
Мы с другом решаем пойти в поход от Сан Франциско до Лос Аджелеса, чтобы заскочить в гости к нашим друзьям на Ньюпорт Бич. Посмотрим на карту и примерно прикинем путь по берегу:

image

Путь займёт около 400 миль, в день мы можем пройти 4 мили в час по десять часов, так что придём мы туда примерно через 10 дней. Мы звоним друзьям и бронируем столик на 6 вечера в воскресенье.

Читать дальше →
Total votes 278: ↑262 and ↓16+246
Comments181

Если вы что-то создаёте, избегайте расписания менеджера

Reading time5 min
Views54K


В книге ”Masters of Doom” о компании id Software и её влиянии на массовую культуру Дэвид Кушнер размышлял о необычном стиле работы ведущего программиста Джона Кармака.

Чтобы повысить производительность и не отвлекаться от работы над движком Quake, тот принял агрессивный подход — начал постепенно смещать начало рабочего дня. В конце концов Джон садился программировать вечером, а заканчивал перед рассветом. Эти непрерывные отрезки тишины, изоляции и глубокой работы позволили ему создать первый в мире сверхбыстрый 3D-движок. Игра Quake произвела настоящий фурор.
Читать дальше →
Total votes 134: ↑131 and ↓3+128
Comments98

Как я не стал программистом в 35 лет

Reading time15 min
Views153K

С самого начала сентября широким потоком хлынули на Хабр публикации об успешном успехе на тему «Детство программиста», «Как стать программистом после N лет», «Как я ушёл в IT из другой профессии», «Путь в программирование» и так далее. Подобные статьи пишут постоянно, но вот сейчас они пошли как-то особенно кучно. Каждый день пишут то психологи, то студенты, то ещё кто-нибудь.

И в каждой статье звучит знакомая песня: главное, что советуют авторы — «стараться», «не сдаваться», «не бояться» и «идти к своей мечте»; а в комментариях очень часто можно встретить мнение, что ежели ты с самого детства любил компьютеры, то работа с ними в итоге неудивительна. Я хотел бы на примере своей биографии подвести читателей к мысли о том, что начальные условия могут быть важнее, чем приложенные усилия. Вера в справедливый мир способствует психологическому комфорту, но не очень-то корректно отражает реальность.
Читать дальше →
Total votes 232: ↑187 and ↓45+142
Comments985

Организация кода в Go

Reading time8 min
Views42K

Зависимости. Дженерики. Они часто звучат в списке проблем в Go сообществе, но есть одна проблема, о которой вспоминают довольно редко — организация кода вашего пакета.


Каждое Go приложение, с которым я работал, похоже, имеет свой ответ на вопрос "Как я должен организовать код?". Некоторые приложения засовывают всё в один пакет, в то время, как другие группируют логику по типам или модулям. Без хорошей стратегии, которой придерживаются все члены команды, вы рано или поздно увидите, что код сильно разбросан по многочисленным пакетам. Нам нужен некий стандарт для дизайна кода в Go приложениях.


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

Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments8

Понимание джойнов сломано. Это точно не пересечение кругов, честно

Reading time4 min
Views310K

Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.


Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


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


Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

Читать дальше →
Total votes 179: ↑138 and ↓41+97
Comments225

Читай старьё

Reading time9 min
Views22K

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


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


Но вот, на днях, читая «Государя» Никколо Макиавелли, я всё понял. В том числе понял, что я уже давно всё понял, и по полкам разложил, не хватало только последнего кирпичика. Сразу в памяти всплыли все доводы, которые я для себя формулировал в течение жизни, касательно истории и материалов о ней.


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

Читать дальше →
Total votes 83: ↑65 and ↓18+47
Comments43

Мой любимый файл в кодовой базе Chromium

Reading time6 min
Views86K
Код Хромиума весьма обширен, там каждому найдётся что-то по вкусу. А я вот решил рассказать о своём любимом файле в нём (а у вас есть такой?). Этот файл отражает всё: боль, разочарование, надежду, упорство, силу воли, ответственность за чужие провалы и самопожертвование. Я иногда читаю его и плачу и проникаюсь пониманием, какая же огромная часть айсберга скрыта под водой. Это, в общем, даже не файл с кодом. Это файл с конфигом, описывающим баги видеокарт, которые Хромиуму приходится обходить для нормального отображения своих страниц на разных платформах. Вот он: https://cs.chromium.org/chromium/src/gpu/config/gpu_driver_bug_list.json

О чём вообще идёт речь? Давайте вспомним, как работает браузер: вы набираете какой-то адрес в адресной строке, браузер загружает контент и отображает его. Чуть детальнее об этом рассказывает хорошая статья «What happens when you type google.com into your browser and press enter?» (и сразу несколько её переводов на Хабре). В ней одним из последних пунктов упоминается, мол, «а теперь, когда всё готово, отрисовываем картинку на экране». Ага, вот так берём и отрисовываем, конечно.
Читать дальше →
Total votes 186: ↑185 and ↓1+184
Comments179

Прекратите нанимать «эффективных менеджеров». Они не только бесполезны, но и вредны

Reading time7 min
Views232K
Каждая компания проходит несколько жизненных циклов от момента своего основания до собственной «крышки гроба». Конец у разных компаний разный: кто-то не выдерживает конкуренции с более молодыми и гибкими командами, продукты которых годами не вылазят из состояния ранней беты, но все же являются более успешными, другие — становятся частью более крупных корпораций.



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

Вот как раз в этот момент компанию начинают захватывать «эффективные менеджеры».
Читать дальше →
Total votes 133: ↑121 and ↓12+109
Comments276

Дверь, которая с нами здоровается по именам и открывает только сотрудникам отдела

Reading time7 min
Views24K

У нас была пара дней промежутка между большими проектами, и мы решили поиздеваться над дверью руководителя подразделения. Just for fun. Потому что дроны нас в лицо уже узнают — чем дверь-то хуже?

На момент старта IT-проекта у нас уже была накладная панель, напечатанная на 3D-принтере. За два дня из железа, готовых библиотек и какой-то матери мы сделали прототип устройства, которое учитывает сотрудников или позволяет проверять, что человек прошёл через турникет именно по своему пропуску.

Никаких денег. Мы использовали только опенсорс.

Вы можете повторить это минут за 15–20 с нашим скриптом.
Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments42

«Never say never» или Работаем с таймзонами правильно

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

TL;DR: Работа с таймзонами — это боль и унижение. Никогда не работайте с таймзонами!

Итак, все кругом твердят вам, что при получении времени от пользователя нужно сразу же переводить его в UTC, работать со временем нужно только в UTC и хранить время тоже нужно строго в UTC. Совет, на первый взгляд, выглядит разумным, и следование ему делает вашу жизнь проще… Если только ваша программа не предполагает сложной работы с датами. Записать в базу данных дату и время регистрации пользователя на сайте? Сохранить время отправки сообщения или дату создания заказа в интернет-магазине? Вывести сообщение в лог с указанием даты-времени? Используйте UTC и всё будет в порядке, можете даже не читать эту статью дальше. Любое текущее время можно совершенно спокойно конвертировать в UTC и забыть о проблемах. Но что, если мы хотим работать с временем в будущем? Или в прошлом? Например, если мы пишем сервис календаря, или сервис для отложенной отправки сообщений?

Читать дальше →
Total votes 84: ↑79 and ↓5+74
Comments103

Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

Reading time11 min
Views167K
Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
Представляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.


То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.

Выдалась однажды такая неделя — безумное время, когда всех вокруг тревожила безопасность. Ощущение было такое, что новые уязвимости появляются ежедневно. Мне было не так уж и просто делать вид, будто я понимаю, что происходит, когда меня об этом спрашивали близкие люди. Их беспокоила перспектива того, что их взломают, что их данные утекут неизвестно куда. Всё это заставило меня на многое взглянуть по-новому.

В результате, скрепя сердце, я решил выложить всё начистоту и рассказать всему миру о том, как я в последние несколько лет воровал имена пользователей, пароли и номера кредитных карт с самых разных сайтов. Возможно, вы — администратор или разработчик одного из них.
Читать дальше →
Total votes 319: ↑312 and ↓7+305
Comments325

Security Week 18: Дыра во всех системах с Intel Core, Apple отобрала сертификат у троянца, рансомварь заполонила планету

Reading time4 min
Views37K
То, о чем так долго говорили большевики безопасники, свершилось. Свершилось почти десять лет назад, а сейчас об этом стало широко известно: в микропрограмме Intel Management Engine обнаружилась уязвимость. В оповещении от Intel указаны версии от 6.0 до 11.6, а, это, на минуточку, все версии, начиная с 2008 года, с платформ для процессоров Intel Core первого поколения.

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

Ежу понятно, что встраивая в материнки легитимный аппаратный бэкдор, надо по-максимуму закрутить гайки в системе безопасности, что Intel и сделала. Код iME, например, зашифрован 2048-битным ключом. Но как обычно, что-то пошло не так, и теперь прогрессивная общественность доподлинно узнала о возможности удаленно захватывать доступ к функциям управления ME. Под угрозой машины, в которых реализованы технологии AMT, ISM и SBT. Ну то есть вообще все на интеловских чипсетах под Intel Core.

Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments65

Как прокрастинировать эффективно: 6 полезных онлайн-сервисов

Reading time4 min
Views55K

Прокрастинация — явление, жертвой которого становятся все, даже животные не могут ему противостоять. Несколько лет назад проблему ярко описал Тим Урбан на страницах своего блога Wait But Why. И раз уж прокрастинация неизбежна, стоит постараться извлечь пользу и из неё — я составил подборку из шести онлайн-сервисов (и их альтернатив), которые помогут научиться чему-то новому, даже когда работать нет никаких сил.
Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments31
1
23 ...

Information

Rating
Does not participate
Location
Кривой Рог, Днепропетровская обл., Украина
Registered
Activity