Обновить
107
73.7

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

Отправить сообщение

Особенности удаленной работы в 2025

Время на прочтение6 мин
Просмотры7K

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

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

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

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

Итак, допустим, у нас есть наша BigCRM, работающая на сервере 192.168.100.1, и подключиться к ней снаружи никак невозможно, а классические VPN у нас запрещены некими внешними враждебными силами.

На помощь приходит упоминавшаяся ранее технология i2p.

Читать далее

Подключаем WiFi вручную

Время на прочтение6 мин
Просмотры8.4K

И снова вспомню времена древние, староглиняные: когда-то настройка сети в UNIX-like OS была делом, требующим сложных технических знаний. Нужно было зайти в консоль под правами рутовыми, да указать вручную адрес IP для интерфейса сетевого. Примерно так:

ifconfig eth0 add inet 192.168.1.10 netmask 255.255.255.0 up

Или, ежели админ сети сподобился, да настроил сервер DHCP - то так:

ifconfig eth0 up

dhclient eth0

Да еще не забыть указать адрес сервера DNS:

echo "nameserver 8.8.8.8" > /etc/resolv.conf

А ежели надобность была чтобы оно при перезагрузке сохранялось - то записать эти заклинания в файл типа /etc/rc.local на память долгую.

Теперь-то другое дело: воткнул шнурок в разъем - сеть и появилась, как по щучьему велению.

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

Красота, лепота какая! Но есть нюанс...

Читать далее

Идеального десктопа не существует

Время на прочтение6 мин
Просмотры18K

Это статья‑ворчалка: несмотря на все достижения прогресса — ИМХО, до сих пор оно так и остаётся.

Нет, ну в самом деле, а что у нас появилось хорошего‑то?

Сразу оговорюсь, под словом «десктоп» в данном случае подразумевается некая рабочая среда на ПК, в которой комфортно и удобно работать, причём желательно всем. При этом оставим за кадром сложность настройки или стабильность работы — только и исключительно про удобство. Ну и конечно — с моей, собственной точки зрения.

Читать далее

Забытые технологии: PPP

Время на прочтение4 мин
Просмотры17K

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

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

Как это работало и зачем может пригодиться сегодня (а оно может).

Читать далее

«А теперь засунем X-сервер в контейнер»

Время на прочтение2 мин
Просмотры6.6K

Когда я писал про использование Докера как контейнера с инструментами для работы — вообще‑то речь шла про использование прежде всего доступа через шелл. Ну в самом деле: файлы они и в Африке файлы, редактирую я их Vim‑ом, потому что это удобно, перемещаю MidnightCommander‑ом, по той же причине, для обработки используются Makefile, и всё это окна терминалов.
Во множественном числе.

Читать далее

Не очень стандартное использование Docker

Уровень сложностиПростой
Время на прочтение3 мин
Просмотры18K

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

Нет, в самом деле, а что еще нужно? Несколько файлов с исходным кодом, Makefile для сборки всего этого, MidnightCommander чтобы копировать файлы туда-сюда и удобный текстовый редактор, например Vim.

А еще куча установленных пакетов типа gcc, make, cmake - в общем, настроенная и подготовленная среда, вплоть до указания желаемой цветовой схемы в редакторе.
И вот однажды так получилось, что удобный настроенный компьютер вдруг накрылся медным тазом: жесткие диски тоже выходят из строя.

Читать далее

AI, который всё за нас решит

Время на прочтение3 мин
Просмотры9K

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

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

Для демонстрации, о чем речь - возьмем какую-нибудь LLM и зададим ей простой вопрос:
"Ты знаешь стихотворение У попа была собака?"

Ну, известные "монстры" порадовали: они не только знают это стихотворение, но и способны его воспроизвести.

Но есть и другие: они, что характерно, тоже знают это стихотворение, но выглядит это примерно так:

"Это классический русский текст, написанный Владимиром Маяковским и впервые опубликованный в газете "Гудок" (1925), в нем рассказывается о непростых социальных взаимоотношениях...." блаблабла на целую страницу.

Или так:

У попа была собака
Они решили завести ребенка
Ребенок не вышел
Осталась в семье два человека - поп и собака

Или еще проще:

"У попа была сoбака, которая была чёрная, а она была быстрая."

А вот такой шедевр можно привести целиком:

Читать далее

Делаем домашний сервер из: X88mini13

Время на прочтение10 мин
Просмотры17K

Предыдущие железяки: MXQ 4K и сетевой видеорегистратор

А вот была еще такая интересная штука: ТВ-бокс X88mini13
Для ее прошивки пришлось немного повозиться.

Читать далее

Делаем домашний сервер из: старый регистратор

Время на прочтение6 мин
Просмотры16K

Сделать мини‑сервер из TV‑бокса можно, но вот проблема: встроенная память там никакая, всего‑то 8 гигабайт.
Можно, конечно, воткнуть в него SD‑карту.
Можно подключить USB‑диск, хоть механику, хоть SSD через адаптер.

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

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

В случае какого‑то форс‑мажора, связанного с уничтожением самого сервера (вандализм, пожар, кража) вся информация останется на физическом диске где была, в каком‑то другом месте. Для эстетов — можно сделать и так, что кража диска тоже ничего не даст, если диск зашифрован.
Единственный минус — скорость чтения/записи ограничена.

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

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

Читать далее

Улучшаем систему видеонаблюдения, ч.3

Время на прочтение7 мин
Просмотры1.7K

Распознавание на python работало хорошо, но хотелось еще как-то это ускорить.
Спрашивается: если есть некоторая оболочка, позволяющая запустить модель на python - может быть есть оболочка позволяющая запустить ее на C/C++?
И такая нашлась: https://github.com/Geekgineer/YOLOs-CPP

Копируем:

git clone https://github.com/Geekgineer/YOLOs-CPP
cd YOLOs-CPP

Нам нужны дополнительно некоторые пакеты:

apt install curl libopencv-dev cmake g++

В файле build.sh нужно найти ONNXRUNTIME_VERSION - а потом посмотреть, на что реально она влияет. Описание процесса установки уже отстало от жизни, поэтому придётся ручками.
Скрипт должен скачать соответствующий версии файл - но там, откуда он его скачивает, версия более новая, к тому же скрипт желает загрузить версию для arm64, а там - aarch64.
В общем, вот это надо выполнить вручную: скачать, распаковать, сделать симлинк с нужным названием, закомментировать уже выполненное

ln -s onnxruntime-linux-aarch64-1.20.1 onnxruntime-linux-arm64-1.20.1

В этом пакете лежат include-файлы и so-библиотеки, нужные для сборки и работы.
Библиотеки *so имеет смысл скопировать в /usr/local/lib/

В каталоге YOLOs-CPP/src - три файла-примера использования детектора: для изображений, для видеофайлов и для видеопотока, например с камеры.
Каталог models содержит модели yolo в формате onnx, а include - *.hpp-файлы для работы с ними.

В файлах примеров необходимо правильно выбрать нужную версию модели - если используем yolo11 - то нужны будут YOLO11.hpp и указатели типа YOLO11* в коде *.cpp

Читать далее

Делаем домашний сервер из: MXQ pro 4K

Время на прочтение5 мин
Просмотры14K

К вопросу о том, «что за дом без серверной стойки для души и экспериментов»:
серверная в подвале, с круглосуточно гудящими аппаратами — теперь в прошлом. Для серьезных вещей удобнее купить VDS на хостинге, а для несерьезных...

Ну вот, например, попалась смарт‑приставка для TV MXQ pro 4K.
По описанию на маркетплейсе — там и 64Gb, и тут же одновременно 512Gb (интересно, что именно они имели ввиду?) при цене, скажем так, пакета апельсинов.
Ну, чтож, надо глянуть, чего там внутри.

Ну, софт особо не интересует — Андроид, стандартные для таких приставок приложения типа онлайн‑кинотеатров, ничего необычного.

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

Читать далее

Улучшаем систему видеонаблюдения, ч.2

Время на прочтение4 мин
Просмотры5.8K

Вариант детекции обьектов с помощью CodeProject.AI работал хорошо, но пришлось отдать под него отдельный, хоть и старый, ноутбук, который требовал отдельного питания, заметно грелся, жужжал вентилятором.
Поэтому, с появлением компактного девайса с arm64 и 4 Гб ОЗУ, захотелось перенести всё на него.

К счастью, оказалось что есть готовый Docker и для arm64, достаточно только при создании указать codeproject/ai-server:arm64.

Всё установилось и заработало, причем даже чуть побыстрее чем на старом ноутбуке, и всё в маленькой бесшумной коробочке с питанием от USB.
Но хотелось что-то улучшить...

Стандартно, там внутри для распознавания обьектов используется нечто под названием YOLO 6.5. (да, я понятия не имел что это такое. Работает и хорошо, а что?)
При этом через пользовательский интерфейс система сообщает, что можно обновить до более свежей версии, но при попытке обновить штатным образом, нажатием кнопочек на экране, всё только портится и работать перестает: что-то не удалось найти, что-то не удалось загрузить и так далее.

При этом сама система - это как бы универсальный AI-сервер, на котором можно запускать разные модули, из которых по сути нужен только один.
А что если найти и запустить его отдельно?

Так выяснилось, что YOLO - это довольно известная штука от Ultralytics https://github.com/ultralytics/ultralytics, и актуальная версия там уже 11, а не 6.5.
И что всё это можно запустить под python.
Правда, есть нюанс: я не знаю python, но когда это кого останавливало?

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

Читать далее

Улучшаем систему видеонаблюдения, ч.1

Время на прочтение9 мин
Просмотры21K

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

А для контроля за пространством вокруг эта функция довольно полезна.

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

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

Итак, нам нужен «детектор человеков».

Первым вариантом решения стало использование CodeProject.AI.

Это AI‑сервер, который способен обрабатывать изображения, идентифицируя на них те или иные объекты. Взаимодействие с ним производится через WebAPI.
Несмотря на то, что на сайте указаны различные варианты использования — работают почему‑то только docker‑образы.

Читать далее

Информация

В рейтинге
102-й
Зарегистрирован
Активность