Pull to refresh
0
0
Send message

Двойной VPN, или как построить цепочку из WireGuard VPN серверов на Windows

Reading time5 min
Views34K

В этой статье мы рассмотрим процесс настройки цепочки VPN серверов с помощью WireGuard на Windows. В Интернете есть множество руководств, посвященных построению и настройке цепочек VPN серверов, однако большинство из них основаны на Linux и требуют определенных навыков администрирования данной ОС. В предыдущей статье мы уже узнали, как настроить WireGuard VPN Server в Windows, здесь же мы используем ту же технологию для создания цепочки WireGuard VPN из двух хостов Windows с помощью WireGuard и WireSock.

Если заинтересовал, то добро пожаловать под кат.

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments34

Советский реактор РБМК: 35 лет после Чернобыльской катастрофы

Reading time10 min
Views32K
Тридцать пять лет назад на АЭС Форсмарк в Швеции сработала система предупреждения о радиационной опасности. После расследования было установлено, что источником радиации была не сама электростанция, а нечто, находящееся за её пределами. В итоге, с учётом направления господствующих ветров, было выяснено, что радиация пришла с советской территории. Советское правительство, после некоторых политических распрей, признало, что источником радиационного заражения была Чернобыльская атомная электростанция, на которой произошла авария.

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



В пользу этой идеи говорит тот факт, что оставшиеся реакторы серии РБМК, включая три установки на Чернобыльской АЭС, функционировали без заметных проблем с 1986 года, а девять из них работают до сих пор. В ходе международного расследования причин возникновения Чернобыльской катастрофы в соответствующих отчётах МКГЯБ постоянно говорится о недостаточном уровне «культуры безопасности».

Анализ обстоятельств, которые привели к созданию четвёртого энергоблока Чернобыльской АЭС и к последующему его использованию, потенциально опасному, может дать человечеству множество знаний о предотвращении катастроф. Это — история о том, какую важную роль культура безопасности играет в отраслях промышленности, где цена аварий измеряется человеческими жизнями.
Читать дальше →
Total votes 52: ↑43 and ↓9+54
Comments238

JNI и Delphi. Использование Java методов при помощи JNI

Reading time3 min
Views3.2K
Всем доброго времени суток!

Сегодня мы рассмотрим такую тему, как использовать Java методы при помощи JNI.
На самом деле все очень просто. Давайте сразу начнем с примера:

Допустим у нас есть некое Java приложение на котором есть простая кнопка и при нажатии на эту кнопку будет исполняться некий код.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        File MyFile = new File("D:\\Sample\\text.txt");
        MyFile.delete();
    }                        


Как мы видим в событии клика на кнопку будет исполняться просто код для удаления файла.
На Java все выглядит ясно и просто, но как же это будет выглядеть на Delphi с использованием JNI. На самом деле все проще чем кажется.
Для этого нам нужно разобрать заглянуть и в класс File, который находится по адресу java.io.File. Из этого класса нам нужно:
Читать дальше →
Total votes 8: ↑4 and ↓4+1
Comments13

Управление по защите данных Германии: телеметрия в Windows 10 1909 Enterprise может быть полностью отключена

Reading time8 min
Views35K

Телеметрия давно стала горячо обсуждаемой темой с момента, когда Microsoft выпустил первую версию Windows 10. Microsoft решил глубоко интегрировать сбор данных в операционную систему — да так глубоко, что у пользовательских выпусков Windows 10 Home и Windows 10 Pro не было опции по полному отключению телеметрии.

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

23 минуты. Оправдание тугодумов

Reading time3 min
Views193K
Я всегда думал, что я – тупой. Точнее, что я — тугодум.

Проявлялось это просто: на совещаниях и обсуждениях я не мог быстро придумывать решение задачи. Все чего-то говорят, иногда умное, а я – сижу и молчу. Даже как-то неудобно было.

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

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

Просто культура в тех компаниях, где я начинал работать, была модерновая. Ну, как там это бывает – «совещание должно закончиться принятием решения». Вот чего придумали на совещании, то и принимается. Даже если решение — полная фигня.
Читать дальше →
Total votes 321: ↑305 and ↓16+365
Comments334

Паскаль играет в Go. Реализация методов и интерфейсов в любительском компиляторе

Reading time3 min
Views3.7K
If I could export one feature of Go into other languages, it would be interfaces. — Russ Cox



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

Тем не менее дебри объектно-ориентированного программирования остались совершенно нетронутыми. Так почему бы компилятору не послужить теперь полигоном для экспериментов в этой области? И почему бы нам не почерпнуть вдохновение из слов Расса Кокса, вынесенных в эпиграф? Попробуем реализовать в Паскале методы и интерфейсы в стиле Go. Затея интересна хотя бы тем, что все популярные в прошлом компиляторы Паскаля (Delphi, Free Pascal) по сути заимствовали объектную модель из C++. Любопытно посмотреть, как на той же почве приживётся совсем иной подход, позаимствованный из Go. Если вы вслед за мной готовы запастись изрядной долей иронии, отбросить вопрос «Зачем?» и воспринять происходящее как игру, добро пожаловать под кат.
Читать дальше →
Total votes 10: ↑9 and ↓1+13
Comments3

Использование замыканий и функций высших порядков в Delphi

Reading time10 min
Views19K
Данная статья является продолжением предыдущей публикации, которая была посвящена анонимным методам. В этот раз речь пойдет о примерах использования функций высших порядков и замыканий, показавшихся автору интересными.
Читать дальше →
Total votes 26: ↑20 and ↓6+14
Comments12

Нейросети для чайников. Начало

Reading time5 min
Views804K


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

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

Заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 258: ↑226 and ↓32+194
Comments91

Почему вам стоит использовать язык Ада для программирования вашей системы

Reading time6 min
Views27K


Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада разрабатывали так, чтобы это был единственный язык, способный работать на всех этих встроенных системах, и при этом обеспечивавший надёжность и быстродействие уровнем не хуже специализированных.

После обновления от 1995 года язык приспособили для систем общего назначения, добавив объектно-ориентированное программирование, не теряя из вида ключевые ценности – надёжность, простоту поддержки и эффективность. Сегодня написанное на Ада ПО формирует основу не только военного оборудования, но и коммерческих проектов в сфере авионики и систем управления воздушным трафиком. Код на Ада управляет такими ракетами, как Ариан-4 и 5, многими спутниками, и бесчисленным количеством других систем, в которых небольшие сбои могут иметь серьёзные последствия.

Возможно, Ада подойдёт и для использования в вашем следующем встроенном проекте.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments22

Написание UDR на языке Pascal

Reading time77 min
Views7.4K

В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования.


В Firebird 3.0 была введена плагинная архитектура для расширения возможностей Firebird. Одним из таких плагинов является External Engine (внешние движки). Механизм UDR (User Defined Routines — определяемые пользователем подпрограммы) добавляет слой поверх интерфейса движка FirebirdExternal.


В данном руководстве мы расскажем как объявлять UDR, о их внутренних механизмах, возможностях и приведём примеры написания UDR на языке Pascal. Кроме того, будут затронуты некоторые аспекты использования нового объектно-ориентированного API.

Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments4

Перестаньте заниматься не своей работой

Reading time10 min
Views92K
Вы легко отзываетесь на просьбу помочь? Вам не трудно сделать пару лишних задач? Вы молча переделываете не очень хорошую работу за коллегами или подчинёнными? Скорее всего, ваша рабочая нагрузка заставляет вас «перегреваться». 

Нередко в малом бизнесе мы занимаемся всем подряд, не замечая того: тестовый сервер будет перезапущен, о чём мы сами и сообщим в чате клиенту вместо инженера; баннер повесить — да погоди, у меня есть доступ к админке, готово; код аналитики — да давай я тебе Tag Manager повешу и покажу, как через него любые теги размещать; вот тут в выгрузке были подозрительные пики и провалы, я тебе сделал дополнительную детализацию… Особенно тяжело ситуация обстоит в компаниях, которые активно работают по заявкам клиентов, и каждый сотрудник берёт в работу самые разноплановые задачи. Как итог: усталость, выгорание, ошибки и завалы собственных невыполненных задач. Знакомо? Давайте искать причины и выходы под катом.

Читать дальше →
Total votes 83: ↑77 and ↓6+71
Comments85

Руководство: как сделать простого бота для Телеграм на JS для новичка в программировании

Reading time5 min
Views54K
Я начал погружение в мир IT лишь три недели назад. Серьезно, три недели назад я даже не понимал синтаксиса HTML, а знакомство с языками программирования заканчивалось школьной программой по Pascal 10-летней давности. Однако я решился поехать в IT-лагерь, для детей которого было бы неплохо сделать бота. Я решил, что это вряд ли так сложно.

С этого начался длинный путь, в рамках которого я:

  • развернул облачный сервер с Ubuntu,
  • зарегистрировался на GitHub,
  • выучил базовый синтаксис JavaScript,
  • прочитал тонну статей на английском и русском языках,
  • сделал, наконец, бота,
  • написал эту статью, наконец.

Выглядел итоговый результат примерно так:


Читать дальше →
Total votes 27: ↑15 and ↓12+3
Comments35

Вопросы будущему работодателю

Reading time3 min
Views56K


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

Под катом список тем, которые покажут проблемные места там, где о них не любят упоминать.
Читать дальше →
Total votes 114: ↑108 and ↓6+102
Comments87

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

Reading time24 min
Views154K

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



Современные часы имеют невероятные дополнительные функции

Читать дальше →
Total votes 168: ↑153 and ↓15+138
Comments387

Upgrade компа серверным SATA SSD на 1.92TB с ресурсом записи от 2PB и выше

Reading time3 min
Views36K


Есть люди, которые любят использовать качественные комплектующие из корпоративного сегмента в быту. Они хотят быть уверенными в том, что их SSD не накроется внезапно из-за сбоя по питанию или write amplification при ежедневном скачивании огромных 4K-торрентов на фрагментированный NTFS-раздел с размером кластера 4K или при очередной компиляции Gentoo из исходников.

Конечно, такие опасения редко сбываются на практике, однако очень приятно пользоваться SSD с Power Loss Protection (1, 2, 3), который имеет практически безграничный ресурс записи. И даже когда ёмкость его станет малой для текущих задач, он всё равно может быть использован как флэшка или как дополнительный диск, подарен или продан.

В этой статье приведён список корпоративных SSD ёмкостью 1.92ТБ, которые сейчас подешевели до уровня потребительских SSD (< $300), но обладают ресурсом записи от 2 Петабайт и выше.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments96

Умный парсер числа, записанного прописью

Reading time10 min
Views30K


Пролог


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


Умным данный парсер делает возможность извлечения чисел из текста с ошибками, допущенными в результате некорректного ввода или в результате оптического распознавания текста из изображения (OCR).


Для ленивых:
Ссылка на проект github: ссылка.


Читать дальше →
Total votes 137: ↑136 and ↓1+135
Comments59

Версионность и история данных

Reading time5 min
Views130K
При разработке баз данных зачастую требуется обеспечить поддержку версионности и хранения истории объектов. Например, у работника может изменяться должность, у должности в свою очередь может меняться оклад — в многомерном моделировании это называется Slowly changing dimensions(далее SCD) — редко изменяющиеся измерения, то есть измерения, не ключевые атрибуты которых имеют тенденцию со временем изменяться. Всего существует 6 основных типов(методов) SCD, которые определяют как история изменений может быть отражена в модели.

Подробнее...
Total votes 64: ↑62 and ↓2+60
Comments50

Rust vs. C++ на алгоритмических задачах

Reading time9 min
Views53K
Не так давно я стал присматриваться к языку программирования Rust. Прочитав Rustbook, изучив код некоторых популярных проектов, я решил своими руками попробовать этот язык программирования и своими глазами оценить его преимущества и недостатки, его производительность и эко-систему.

Язык Rust позиционирует себя, как язык системного программирования, поэтому основным его vis-à-vis следует называть C/C++. Сравнивать же молодой и мультипарадигмальный Rust, который поддерживает множество современных конструкций программирования (таких, как итераторы, RAII и др.) с «голым» C я считаю не правильно. Поэтому в данной статье речь пойдет об сравнении с C++.

Чтобы сравнить код и производительность Rust и C++, я взял ряд алгоритмических задач, которые нашел в онлайн курсах по программированию и алгоритмам.

Статья построена следующим образом: в первой части я опишу основные плюсы и минусы, на которые я обратил внимание, работая с Rust. Во второй части я приведу краткое описание алгоритмических задач, которые были решены в Rust и C++, прокомментирую основные моменты реализации программ. В третьей части будет приведена таблица замера производительности программ на Rust и C++.
Читать дальше →
Total votes 79: ↑72 and ↓7+65
Comments216

Мониторинг производительности дисковой подсистемы при помощи zabbix и block stat

Reading time5 min
Views39K
Вряд ли кто-то будет спорить, что наблюдение за производительностью дисковой подсистемы — чуть ли не важнейшая задача для всех высоконагруженных систем хранения и баз данных. Я изначально столкнулся с этим давным-давно, еще когда приходилось наблюдать за PostgreSQL. В последнее время вернулся к этому вопросу в связи с необходимостью тестирования различных хранилищ.

Сегодня хочу поделиться с сообществом своим текущим опытом на реальном примере zabbix и его связке с block stat.


Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments31

Проект «Морровинд»

Reading time24 min
Views51K
image

Вам нужно сыграть в Morrowind.

(Предупреждение: ниже идут несколько абзацев похвал Морровинду, так что вы можете спокойно пропустить их и переходить к самой сути поста.)

В начале Morrowind вы обычный обалдуй, только что сошедший с тюремного корабля с 87 золотыми в кармане (в этом мире одна буханка хлеба стоит 1 золотой, то есть это примерно 35 фунтов — именно столько вам придётся заплатить за 87 упаковок нарезанного белого хлеба в Tesco). Вашим первым заданием будет получение посылки от человека в другом городе, и вы можете или проехаться на силт страйдере (огромном насекомом с длинными ногами, которым, вероятно, управляет вечно пьяный жуткий водитель — почти как в лондонских автобусах) или прогуляться туда пешком по дикой местности, сражаясь с ордами хищных птиц-переростков железным кинжалом, который вы стянули из бюро переписей. Только ваш кинжал всегда промахивается, потому что, видите ли, создатели боевой системы Morrowind вдохновлялись настольными ролевыми играми, а аниматорам платили не так много, поэтому даже если ваше оружие очевидно вонзается в мясистое тело того, в кого вы, игрок, целитесь, нет никаких гарантий, что вы на самом деле попали.

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

Или вы продолжаете играть и узнаёте о том, как усталость влияет на ваши шансы кого-нибудь ударить (и за кем-нибудь приударить), изучаете игровую механику, покупаете новую мышь, добираетесь до Балморы и погружаетесь в один из самых богатых миров, которые я видел в играх. Вы проживаете сюжет, поднимающий вопросы об организованной религии, ксенофобии, колониализме, племенных легендах, пророчествах, свободе воли и выборе приоритетов между собственными интересами и интересами организации, к которой вы принадлежите.
Читать дальше →
Total votes 92: ↑90 and ↓2+88
Comments33
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity