Pull to refresh
12
0
Сергей Смирнов @sergehog

Пользователь

Send message

35 образовательных игр и приложений по программированию для детей

Level of difficultyEasy
Reading time9 min
Views5.2K

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

Задача упрощается, если используются образовательные игры и приложения. Это плюс: осваивать код в игровой форме нравится даже непоседливым ребятам. Они с охотой используют доступные инструменты различных сред, вовлекаются в процесс и начинают приближаться к пониманию «взрослого» программирования, уже давно ставшего второй грамотностью в эпоху IT.

Перейдем к основной теме: сегодня хотим рассмотреть 35 игр и приложений по программированию для детей. В подборке собраны:

- Среды, в которых можно обучиться блочному кодингу (13 штук);

- Игры, полезные для начинающих питонистов (9);

- Развивающие платформы для обучения веб-разработке с использованием HTML, CSS и JavaScript (10);

- Обучающие приложения, предназначенные для подростков (3).

Читать далее
Total votes 23: ↑14 and ↓9+10
Comments0

Матрицы Паули. Финал

Level of difficultyMedium
Reading time8 min
Views3.6K

Матрицы Паули. Финал.

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

Спойлеры, что вас ждет в финале:

Визуализация действия операторов Паули на векторы в динамике.

Концепция объединения линейной алгебры и ТФКП.

Простое определение геометрического произведения.

Взаимодействие ковекторов и векторов: градиент и оператор Лапласа.

Обобщение формулы Муавра на матрицы 2х2

Очень много данных по алгебрам Клиффорда и проективной геометрии в ссылках от моего товарища в конце статьи.

Поехали.
Total votes 4: ↑4 and ↓0+7
Comments4

4 года холакратии — честный отзыв о работе без руководителей

Reading time10 min
Views30K

В этой статье я постарался честно и вдумчиво проанализировать опыт перехода из вертикальной структуры в горизонтальную. Как мы к этому пришли? Как проходил переход? Что с зарплатами? Куда делись руководители, которые вдруг стали не нужны? Если что-то упустил, спрашивайте в комментариях.

Читать далее
Total votes 85: ↑78 and ↓7+88
Comments98

Расширенное пространство (часть II)

Level of difficultyHard
Reading time15 min
Views5.1K

Ультраметрический сосед

В квантовых масштабах наш мир начинает меняться. Он начинает соприкасаться  с ультраметрическим пространством, которым он насквозь пронизан. В микромире деградирует монолитное, цельное пространство с непрерывной метрикой, и достаточно гладкими (регулярными) законами.   В наше пространство начинают врываться потоки энергий, реализуясь в виде виртуальных частиц, которые поставляются  ультраметрическим  пространством. В этом смысле ультраметрическое пространство напрямую олицетворяет вакуум Дирака. При рассмотрении  “планковских”   масштабов  теряется возможности нормально «работать» как с  малыми областями пространства, так и  с микро объектами подобных размеров в силу их не детерминировости и неопределенности  (отсутствуют свойства привычного  пространства, позволяющие фиксировать координаты этого объекта). На этих масштабах работает принцип  Гейзенберга. Обычно этот принцип объясняют тем, что вмешательство прибора измерения, существенно влияет на сам измеряемый процесс, поэтому нельзя одновременно выяснить координаты элементарных частиц и их скорости(точнее импульсы). На  дело не в точности и грубости приборов измерения, как принято говорить сейчас.  Теряются метрики и смысл измеряемых параметров. Области пространства превращаются в сети с квантами пространства в качестве узлов  и связывающими их петлями силовых линий. Что более существенно меняется геометрия и тем более топология пространства. Областями-дырками испещрено  все наше пространство,  наш мир всюду разрывной в каждой своей «планковской» области. Образно эта картина  представляется   в виде композиции  пограничных слоёв, разделяющим пространство нашего мира с архимедовой метрикой и ультраметрическое пространство с не архимедовой метрикой. «Планковские» масштабы - это области квантовых явлений, спиновых сетей с квантами пространства в узлах, и процессами , идущих в ультраметрическом пространстве и управляющими поведением квантовых явлений, в том числе появлением квантовых флуктуаций и  виртуальных частиц в нашем мире.

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments7

Git. Скачем между ветками как древесные лягушки

Level of difficultyEasy
Reading time6 min
Views27K

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):

«Не могу пошарить экран с кодом, у меня другая ветка сейчас».

«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»

«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».

Читать далее
Total votes 84: ↑84 and ↓0+100
Comments71

О спинорах человеческим языком

Level of difficultyHard
Reading time7 min
Views13K

Одной из самых больших сложностей в осознании квантовой механики для меня стали спиноры. Действительно, откройте любое популярное изложение, и вам навешают лапшу на уши о то что "спинор - это такой объект, который при повороте на 360 градусов превращается в свою противоположность". Полезное определение? Кажется не очень.

Ну хорошо, черт с ними с популярными изложениями. Откроем учебник физики. Представление векторов как матриц (почему, откуда?), их разложения по столбцам и строкам, какие-то стрелочки \left| \uparrow \right>, \left| \downarrow \right>, матрицы Паули, Гамма-матрицы, вся эта дичь вроде работает и ее можно использовать для решения уравнения Дирака, но выглядит ли это разумным человеческим языком?

Дело в том, что матрицы очень хорошо выполняют одну роль - роль представления разнообразных геометрических структур. Линейные операторы? Пожалуйста. Элементы алгебры Ли? Вот вам матрицы! Графы - матрицы смежности! Веса соединений нейросетей, и так далее, тысячи применений им! Однако же, глядя на матрицу вы ровным счетом ничего не можете сказать о той структуре, которую она представляет. И именно поэтому изложение спиноров в подавляющем большинстве литературы для меня выглядело какой-то взятой с потолка чепухой.

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

Читать далее
Total votes 21: ↑19 and ↓2+22
Comments17

Что я думаю о Lua после релиза проекта на 60,000 строчек кода?

Level of difficultyEasy
Reading time15 min
Views20K

Интервью-ретроспектива с ведущим программистом видео-игры Craftomation 101 о использовании Lua как основного языка в проекте на 60,000 строчек кода.

Читать далее
Total votes 22: ↑22 and ↓0+25
Comments10

Единый математический язык для физики и инженерного искусства в 21 веке

Level of difficultyMedium
Reading time18 min
Views14K

Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как подспорье более прямолинейной и более общеприменимой векторной алгебры Гиббса. Это было фактически концом поисков объединяющего математического языка и началом распространения новых алгебраических систем, создаваемых по мере необходимости; например, спинорная алгебра, матричная и тензорная алгебры, дифференциальные формы и т. д.

В этой статье мы реализуем возрождение алгебр Клифорда и Грассмана в виде структуры, известной как геометрическая алгебра (ГА). Это понятие было впервые введено в середине 1960-х годов американским физиком и математиком Дэвидом Хестенсом. Прошло 40 лет, но есть признаки того, что его утверждение о том, что ГА является универсальным языком для физики и математики, теперь начинает принимать все более явственные очертания. Во всем мире растет число групп, которые применяют ГА к целому ряду проблем из многих научных областей, обеспечивая чрезвычайно мощную математическую структуру, в которой могут быть выражены самые передовые концепции квантовой механики, теории относительности, электромагнетизма и т. д. При этом, утверждается, что ГА также достаточно проста для преподавания школьникам! В этой статье мы рассмотрим развитие и недавний прогресс ГА и обсудим, действительно ли она является объединяющим языком для физики и математики 21-го века. Примеры, которые мы будем использовать для иллюстрации, будут взяты из ряда областей физики и техники.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments17

Магия тензорной алгебры: Часть 1 — что такое тензор и для чего он нужен?

Reading time7 min
Views359K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение



Это было очень давно, когда я учился классе в десятом. Среди довольно скудного в научном плане фонда районной библиотеки мне попалась книга — Угаров В. А. «Специальная теория относительности». Эта тема интересовала меня в то время, но информации школьных учебников и справочников было явно недостаточно.



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



Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments89

Возможности оптимизации в языках C и C++

Reading time12 min
Views61K
Существует мнение, что C++ имеет заметные накладные расходы по сравнению с C и поэтому он медленнее. Помимо этого, даже, существуют статьи показывающие преимущества в скорости языков с компиляцией налету (JIT — Just-in-time compilation), таких как Java и C#. Сравнить последние мы оставим тем, кто считает их быстрыми, но мы объясним почему это не так. А C и C++ мы сравним на примере задачи поиска данных.
Задача поиска данных часто встречается в: веб-сервисах, системах управления баз данных (СУБД), гео-поиске и аналитике.
Сначала для простоты объяснения поставим задачу поиска элементов полным проходом по массиву из 10 000 000 элементов (структур), содержащих 5 полей с диапазонами значений: amount_of_money(0-1000000), gender(0-1), age(0-100), code(0-1000000), height(0-300). А в следующих статьях добавим в решение индексный поиск.
Мы будем писать кроссплатформенно под MSVC11(MSVS2012) и GCC 4.7.2, и использовать в них частично реализованный стандарт C++11.
Читать дальше →
Total votes 102: ↑89 and ↓13+76
Comments93

Эволюция скорости передачи данных в сетях Wi-Fi

Reading time8 min
Views70K
— Зачем вам в Решётах нубук?
— Чтоб безразмерно использовать возможности блюпупа, и коммутироваться с другими абонентами по всему региону Россия с помощью Ви-Фи!
(С) Уральские Пельмени


Впервые рабочая группа IEEE 802.11 была анонсирована в 1990 году и вот уже 25 лет идёт непрекращающаяся работа над беспроводными стандартами. Основным трендом является постоянное увеличение скоростей передачи данных. В данной статье я попробую проследить путь развития технологии и показать, за счёт чего обеспечивалось увеличение производительности и чего стоит ждать в ближайшем будущем. Предполагается, что читатель знаком с основными принципами беспроводной связи: видами модуляции, глубиной модуляции, шириной спектра и т.д. и знает основные принципы работы Wi-Fi сетей. На самом деле существует не так много способов увеличения пропускной системы связи и большинство из них было реализовано на разных этапах совершенствования стандартов группы 802.11.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments27

Lock-free структуры данных. Concurrent map: разминка

Reading time9 min
Views57K

Мне оказали честь — пригласили выступить на первой конференции C++ 2015 Russia 27-28 февраля. Я был насколько наглым, что запросил 2 часа на выступление вместо положенного одного и заявил тему, наиболее меня интересующую — конкурентные ассоциативные контейнеры. Это hash set/map и деревья. Организатор sermp пошел навстречу, за что ему большое спасибо.
Как подготовиться ко столь ответственному испытанию выступлению? Первое — нарисовать презентацию, то есть кучу картинок, желательно близко к теме. Но надо ещё и два часа озвучивать картинки, — как все это запомнить? Как избежать глубокомысленных «ээээмммм», «здесь мы видим», «на этом слайде показано», несвязных прыжков повествования и прочих вещей, характеризующих выступающего c не очень хорошей стороны в части владения родным языком (это я про русский, с C++ я разобрался быстро — никакого кода в презентации, только картинки)?
Конечно, надо записать свои мысли, глядя на слайды. А если что-то написано, то не худо бы и опубликовать. А если публиковать, — то на хабре.
Итак, по следам C++ 2015 Russia! Авторское изложение, надеюсь, без авторского косноязычия, без купюр и с отступлениями по теме, написанное до наступления события, в нескольких частях.
Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments24

На пороге дополненной реальности: к чему готовиться разработчикам (часть 1 из 3)

Reading time8 min
Views22K

Аннотация


Представляю вашему вниманию материалы одноименного доклада, сделанного мной на конференции ADD-2010 осенью прошлого года.

В докладе после краткого экскурса в историю рассматривается текущее1) состояние дел в освоении дополненной реальности:
  • использование датчиков: акселерометры, гироскопы, магнитные компасы, GPS
    (различные мобильные телефоны, Wii, Sony Move, XSens)
  • использование маркеров: с инфракрасной подстветкой, в видимом диапазоне
    (Sony Move, OptiTrack, Vicon)
  • использование структурированной подсветки
    (на примере Microsoft Surface)
  • Z-камеры, выдающие картику + расстояние до объекта
    (Microsoft Kinect, её предшественники и аналоги)
  • безмаркерный захват движений
    (OrganicMotion, iPi Soft Desktop Motion Capture)
  • сканирование 3d-поверхности по набору изображений:
    (стереокамеры, 3d-сканеры, воссоздание 3d-сцены с движущейся камеры)
Читать дальше →
Total votes 69: ↑68 and ↓1+67
Comments27

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 2 из 6

Reading time7 min
Views143K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Update:


Внимание, статья 4в даёт новую, более простую версию растеризатора.

Давайте знакомиться, это я.



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

В прошлый раз мы нарисовали проволочную сетку трёхмерной модели, в этот раз мы зальём полигоны. Точнее, треугольники, так как OpenGL практически любой полигон триангулирует, поэтому ни к чему разбирать сложный случай. Напоминаю, что этот цикл статей создан для самостоятельного программирования. Время, которое я здесь привожу — это не время чтения моего кода. Это время написания вашего кода с нуля. Мой код здесь только для того, чтобы сравнить ваш (рабочий) код с моим. Я совсем не являюсь хорошим программистом, поэтому ваш код может быть существенно лучше моего. Любая критика приветствуется, любым вопросам рад.

Пожалуйста, если вы следуете этому туториалу и пишете свой код, выкладывайте его на github.com/code.google.com и им подобные и давайте ссылки в комментариях! Это может хорошо помочь как и вам (другие люди могут чего посоветовать), так и будущим читателям.
Читать дальше →
Total votes 119: ↑116 and ↓3+113
Comments122

Порнография с точки зрения эволюционной психологии

Reading time14 min
Views66K
Данный топик был написан по следам бурных обсуждений на Хабре ряда новостей, так или иначе связанных с порно (раз, два, три, четыре). В этих и подобных топиках подымается тема цензурирования интернета и запрета порнографии вообще либо отдельных её жанров. Хотя хабрасообщество в целом довольно либерально относится к порно, обсуждение влияния его на психику — особенно детскую — выливается обычно в нешуточные драмы (самая серьёзная, на моей памяти, была тут).

Между тем, сколько-нибудь заслуживающих доверия данных о влиянии порнографии на общественное и личное здоровье в этих обсуждениях нет; более того, мои попытки по-быстрому найти какие-то вменяемые данные в интернете не увенчались успехом. В поисках ответов на вопросы мне пришлось погрузиться довольно глубоко в научные исследования, и кое-что я в итоге нашёл. Краткий синопсис современных научных взглядов на порнографию и её влияние на человека будет дан под катом после небольшого FAQ'а.

Вопрос: картинки будут?
Ответ: будут.

Вопрос: какое отношение этот топик имеет к Хабру?
Ответ: он интересен читателям Хабра.

Вопрос: нет, всё-таки, какое отношение имеет топик к тематике Хабра?
Ответ: никакого; просто я считаю, что Хабр — это, прежде всего, определённая аудитория, а не тематика.

Вопрос: почему в блог «Интернет»?
Ответ: потому что Internet is for porn.

Если Вам не исполнилось 18 лет, под кат лучше не ходить
Total votes 528: ↑476 and ↓52+424
Comments343

Простой Тайм Менеджер для Android. Часть 2

Reading time12 min
Views9.8K
В этой части мы будем доделывать приложение «Менеджер Времени» из первой части.

Сразу выражаю огромную благодарность Belkin и всем тем, кто плюсанул первую часть, вы помогли мне с инвайтом)

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

План действий:
  • Багфиксы предыдущей версии.
  • Модификация кода, для постоянной работы приложения, а не только для запущенного Activity
  • Уведомления
  • Закинем все это дело на маркет


Сразу хочу извиниться и похвалиться) Извиняюсь за то что заставил вас долго ждать, а похвалиться тем, что на днях Android принес мне первые ну ооооочень хорошие деньги и я на радостях купил себе xbox и проиграл в него все выходные, поэтому и задержался)

Итак, поехали!
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments23

Information

Rating
Does not participate
Location
Tampere, Western Finland, Финляндия
Date of birth
Registered
Activity