Search
Write a publication
Pull to refresh
-1
0
Send message

VPN без VPN или рассказ об нетрадиционном использовании SSH

Reading time10 min
Views54K
По данным ssh.com и Wikipedia, первая версия и реализация протокола SSH увидела свет в 1995 году. Задачей автора было разработать безопасную альтернативу использовавшимся тогда для удалённого администрирования rlogin, telnet и rsh. Любопытно, что появлению протокола SSH поспособствовал инцидент информационной безопасности, в результате которого злоумышленник собрал внушительную базу логинов/паролей от серверов, просто прослушивая университетскую сеть и выделяя пакеты аутентификации (пары логин/пароль в них передавались в незашифрованном виде).

Протокол быстро завоевал популярность и после длительного периода доработок и улучшений был стандартизован IETF в 2006 году. С тех пор он успел стать де-факто стандартом для удалённого управления системами с текстовой консолью. Помимо собственно текстовой консоли в протоколе предусмотрена масса других полезных функций, таких как передача файлов и переадресация портов. Именно о переадресации портов (port forwarding) и её не слишком очевидном применении пойдёт речь в этой статье.
Читать дальше →

Пишем Android-приложение на ассемблере

Reading time5 min
Views24K
image

Эта рассказ о нестандартном подходе к разработке Android-приложений. Одно дело — установка Android Studio и написание «Hello, World» на Java или Kotlin. Но я покажу, как эту же задачу можно выполнить иначе.
Читать дальше →

20 игр, чтобы научить ребёнка программированию

Reading time5 min
Views311K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.

Lazarus — простая анимация при помощи компонента TImageFragment

Reading time8 min
Views13K
Вместо предисловия

В моей недавней статье Lazarus — пишем компонент для анимации спрайтов я описал процесс создания простого компонента TImageFragment, позволяющего отображать заданный фрагмент изображения.

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

При таком подходе отдельные кадры анимации в разных проекциях размещаются на одном изображении, а компонент для отображения спрайта показывает только один выбранный фрагмент этого изображения, используя свойства OffsetX и OffsetY (смещение левого верхнего угла фрагмента изображения по горизонтали и по вертикали).

Множество таких готовых изображений можно найти в Сети — например, вот на этом сайте.
Читать дальше →

Обзор свободного ПО для Android

Reading time22 min
Views135K


Привет Хабр.

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

И так, можно ли пользоваться мобильным устройством без серьёзного ущерба для приватности?

Ответ — да, можно, но для этого необходимо избавиться от ПО и сервисов, бесконтрольно собирающих данные. Для этого понадобится желание что-то изменить и любое устройство на которое можно установить кастомную систему Android (iOS по понятным причинам не рассматривается, а из альтернатив только SailfishOS и GNU/Linux, но эти системы можно установить на очень ограниченное число моделей). Всех кто заинтересовался я приглашаю под кат.
Читать дальше →

Знакомство с простейшей нейронной сетью и ее пошаговая реализация

Reading time5 min
Views42K
Однажды я наткнулся на книгу под названием «Создай свою нейросеть», под авторством Тарика Рашида. В отличие от многих других книг по нейронным сетям, в этой все подавалось простым языком, c достаточным количеством примеров и советов

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

image
Читать дальше →

Lazarus — пишем компонент для анимации спрайтов

Reading time7 min
Views16K
Вместо предисловия

В одесской школе ученики 8-го класса на уроках информатики используют бесплатную кроссплатформенную среду разработки Lazarus (официальный сайт), внешне и внутренне очень напоминающую любимый многими Delphi, использующую версию Object Pascal под названием Free Pascal и в действительности сильно упрощающую процесс вхождения в программирование.

Но детям неинтересно писать программу для вычисления силы тяжести по непонятной им пока формуле F=mg. Практически все дети, которых я пытался учить программированию, с первого занятия хотят написать игру. К счастью, Lazarus прекрасно подходит и для написания несложных игр.

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

Куда приводят поиски идеальной SCADA

Reading time3 min
Views13K

Два года назад я написал статью “SCADA: в поисках идеала”. Идея была проста — превратить Qt Creator в среду для разработки SCADA. Теперь хочу рассказать, какой путь проделан и что получилось.



Удалось ли достигнуть идеального результата? — Разумеется, нет. На то он и идеал, что недостижим. Зато удалось заметно к нему приблизиться.

Читать дальше →

Автоматизированное проектирование радиоэлектронной аппаратуры

Reading time13 min
Views33K
В популярной форме освещаются вопросы автоматизированного проектирования радиоэлектронной аппаратуры (РЭА) на конструкциях печатных плат, основные этапы становления и эволюции систем автоматизированного проектирования (САПР) РЭА, содержание задач автоматизации, организация сквозного цикла выполнения проектных работ с использованием средств автоматизации.

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

Читать публикацию

Заметки фитохимика. Картофель. Часть третья. «Бульба Фугу» или СОЛАНИН

Reading time17 min
Views65K
… картофелине вполне по силам справиться с человеком.
неизвестный народный источник

Самой распространенной «картофельной угрозой» считается соланин, который «образуется в позеленевшем картофеле» и очередная фитозаметка посвящена именно ему, последствиям его употребления, а также способам спасения от оного. Так как в сети Интернет информация очень разрозненная, а то и ее попросту нет — старался писать так, чтобы получился исчерпывающий tutorial (может даже в Википедию когда-нибудь попадет, хотя скорее Хабр сам станет Википедией). Поэтому всем, радеющим за свое здоровье, советую быстрее зайти под cut. Заодно узнаете, почему методички исламских фундаменталистов учат использовать картошку в качестве химического оружия массового поражения и почему беременным женщинам нужно быть очень внимательными при употреблении «позеленевшей картошки» а то и вовсе отказаться от такого варианта, чтобы избежать возникновения неврологических аномалий у плода. UPD: и про безопасность проросшего картофеля.

Читать дальше →

Ограничение прав локального пользователя в Linux до минимума

Reading time5 min
Views42K
Котик Как то раз появилась следующая задача: создать локального пользователя в ОС Linux, с ограниченным доступом к папкам и файлам, включая не только редактирование, но и просмотр, а также возможность использовать только разрешенные утилиты. Предусматривается только локальный доступ, сетевого доступа нет.

Что бы не изобретать велосипед, первым делом начал копать интернет, в результате чего были найдены следующие варианты:

  • ограничения доступа через сетевые службы ssh, sftp (не подошло)
  • разграничение прав доступа самой операционной системой linux (не подошло, хотелось бы универсальное решение)
  • использование chroot (не подошло)
  • использование сторонних утилит, например SELinux (не подошло, усложняет систему).

В результате поиска, был найден встроенный механизм ограничения возможностей пользователя внутри оболочки bash, он называется Restricted Shell или rbash.
Читать дальше →

OpenSceneGraph: Основные приемы программирования

Reading time24 min
Views5.3K
image

Введение


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

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

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

Хотите вечных светодиодов? Расчехляйте паяльники и напильники. Или домашнее освещение самодельщика

Reading time8 min
Views224K


Когда-то давным давно, когда я еще учился в школе, а на дворе был конец перестройки, мой дядя (заронивший в меня интерес к электронике) припер домой сумку вынесенного через проходную завода добра. Собственно, такие сумки он приносил домой вполне регулярно, пополняя запасы, хранившиеся в диване. Диван этот, как вы догадываетесь, манил, и иногда в отсутствии дяди я в него заглядывал с восторгом. Но кое-что из этой сумки в диван не попало, а попало в мои руки. Дядя мне вручил пачку — штук десять — макетных плат, и новенькую нераспечатанную коробку дефицитных, да и не дешевых в то время светодиодов. Причем светодиоды были не простые: вместо привычной маркировки АЛ-что-то там на коробке стоял код из четырех цифр, как я понял — они были экспериментальные. И они были яркие. По сравнению с привычными АЛ307 или АЛ310 — просто ослепительные. И их к тому же было много — штук 50.

Идея «куда это богатство применить» возникла моментально: светодиоды были распаяны на одной из макетниц — сколько влезло (влезли не все), и из них вышел великолепный красный фонарь для печати фотографий, который абсолютно не засвечивал фотобумагу даже в упор. Правда, тут же я узнал о том, что «светодиоды не греются» — это вранье, так что ток пришлось снизить вдвое, с 10 мА на светодиод до 5. А еще через полгода успешной эксплуатации узнал и о том, что «светодиоды не перегорают» — это тоже неправда: первый светодиод в сборке погас, оказался пробит. А со временем и весь фонарь пришел в негодность.

И вот сейчас я снова слышу из каждого утюга про «вечные» светодиодные лампочки, а дома за неполный год перехода на светодиодные лампы перегорела уже третья по счету.
Читать дальше →

Пишем и сводим альбом под Linux (Ubuntu 16.04, Ardour, Hydrogen, Kontakt)

Reading time1 min
Views6.1K
Привет, с вами снова группа, которая записывает и сводит песни на лицензионном, преимущественно свободном ПО. В этот раз — в видеоформате + ссылки на файлы проектов в Ardour. В предыдущих сериях:

  1. Как мы создавали сингл на Ubuntu Studio 13.10
  2. Как мы делали сингл на Ubuntu Studio 14.04
  3. Первая брачная ночь с Ardour 4.0 + обзор новых lv2-плагинов Calf 0.0.60
  4. Собираем свою библиотеку ударных инструментов для драм-машины Hydrogen + проекты в Ardour 4.6
Читать дальше →

Воспроизведение медиафайлов с помощью библиотеки VLCj

Reading time4 min
Views7K

Предыстория


(можно сразу пропустить и перейти к следующему пункту)

При изучении Java, сразу после того как освоил Swing стало интересно, «А как же воспроизвести аудио, или видео?». Долго рылся на просторах Гугла, откопал там несколько библиотек которые в теории должны были дать мне именно то, что я хочу. Но как показала практика, большинство из этих библиотек читают очень малое количество форматов и не очень удобны в использовании. Еще порывшись пару дней, нашел наконец-то то, что в теории должно было помочь мне с решением задачи. Библиотека VLCj берет кодеки из VLC медиаплеера и с их помощью воспроизводит файлы. Еще день страданий с туториалом на официальном сайте и наконец-то удалось запустить воспроизведение видеофайла в JFrame.
Читать дальше →

Тетрис на C# в 100 строк

Reading time5 min
Views96K
UPD. Ссылка на github.
Недавно мне в голову пришла идея — написать простенькую игру в минимальное количество строк. Мой выбор пал на тетрис. В этой статье я опишу свой код.

Для начала стоит отметить, что в свою реализацию я включил только базовые возможности:

  • движение фигурок влево/вправо;
  • падение фигурок;
  • поворот фигурок;
  • удаление заполненных фигурок;
  • окончание игры.

Итак, сперва добавим на форму PictureBox и создадим таймер.
Читать дальше →

Муравейник или крепость? Строю дом по цене квартиры. 3 часть. Электроснабжение

Reading time8 min
Views30K
Часть 1. Строительство
Часть 2. Отопление
Часть 4. Комфорт дома и гаджеты.

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

Обзор пяти HTTP-библиотек для веб-разработки

Reading time3 min
Views35K
Одна из важнейших задач, которую приходится решать программисту при разработке веб-проектов, заключается в организации обмена данными между клиентскими и серверными частями таких проектов. Это может выглядеть так: пользователь нажимает некую кнопку на странице, открытой в браузере, в ответ система выполняет запрос к серверу, после чего сервер отправляет странице запрошенные у него данные. Для того чтобы вывести такие данные, на странице, без её перезагрузки, производится их обработка, после чего страница обновляется и пользователь получает то, что ему нужно.



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

Материал, перевод которого мы сегодня публикуем, посвящён анализу пяти популярных инструментов для работы с HTTP: Axios, Request, Superagent, Fetch и Supertest.
Читать дальше →

Очень простой чат-бот для Telegram для самых маленьких

Reading time3 min
Views36K


Есть 100500 способов и инструментов создать простого serverless чат-бота для телеграм. А наш все-равно будет проще, хотя бы по числу кликов в интерфейсе. Сам бот будет написан на Python, а выполнятся будет на serverless движке Swifty.
Читать дальше →

Собираем собственный аудио усилитель профессионального уровня не (очень) дорого

Reading time4 min
Views137K

Получаем потрясающий стереозвук на основе платы 3e Audio Д-класса




Перевод статьи с сайта IEEE Spectrum, автор – Гленн Зорпет

Несколько лет назад я решил узнать, насколько дёшево можно сделать самому усилитель Д-класса аудиофильского качества. Тогда у меня получилось $523,43. Я смастерил достойный усилок, и статья на IEEE Spectrum всё ещё привлекает читателей и периодические вопросы о том, где можно достать запчасти.

Сожалею, но основные компоненты уже давно исчезли. Поэтому я направлял всех страждущих к наборам от Class D Audio, DIY Class D и Ghent Audio. И пару месяцев назад мне вдруг захотелось проверить, насколько лучше у меня получится сделать усилок сейчас, почти десять лет спустя. Часть мотивации возникла из-за ежегодных списков лучших стерео усилителей с сайта The Master Switch. В списке доминируют усилители стоимостью от $1000 (и десять из них стоят более $2000).
Читать дальше →

Information

Rating
Does not participate
Registered
Activity