Search
Write a publication
Pull to refresh
7
0

User

Send message

Интеграция GNU/Linux и Microsoft Windows

Reading time5 min
Views18K
Из недавно опубликованного топика Mac OS X глазами Windows-юзера я узнал о программе «Parallels Desktop», которая позволяет очень дружелюбным для пользователя образом запускать приложения другой операционной системы. И мне так понравилась эта идея, что я решил попробовать сделать тоже самое с VirtualBox. (как напоминают в комментариях, такая возможность есть и во многих других программах для виртуализации — например, VMWare)

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

Всем остальным предлагаю проследовать «под кат» ↓


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

Памятка пользователям ssh

Reading time13 min
Views1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

Среды разработки С++ для Ubuntu

Reading time3 min
Views278K

Среды разработки С++ для Ubuntu



При переходе на Ubuntu первой задачей был поиск удобной среды разработки.
Перед выбором выступили такие кандидаты: Code::Blocks, Netbeans, Eclipse, Anjuta.
Продолжение под катом.
Читать дальше →

Простым языком об HTTP

Reading time9 min
Views1.5M
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

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

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

Думал, что добьюсь большего к своим 35

Reading time3 min
Views116K


Уже два часа дня? Ничего за сегодня не сделал. Проснулся, потянулся, видел 6 голосовых сообщений — проигнорировал, принял душ, съел 3 вафли и улегся с мыслями, что мне 35, а я так и не выучил французский. Стоп, я не был в душе, это было вчера.


Попытался купить себе новые конверсы (кроссовки), но не смог выбрать между серым и обсидиановым, оба цвета мне не нравятся. Затем я отвлекся на лайфхаки на Medium, залип там минут на 90. Мне 35! Я думал, что уже давным-давно куплю себе крутую обувь и снимусь в фильме. Мой друг Сэнджей и то снялся в инди фильме. Все время рассказывает об этом.

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

Как писать книгу по физике в LaTeX. Cтатья 1

Reading time26 min
Views37K
Это моя первая статья на Хабре.

Глава 1. Введение


1.1 Позвольте представиться и почему я это пишу

Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по ее содержимому. Она отняла у меня очень много времени, что естественно. Что не естественно — это то, что громадная часть потраченного времени ушла на оформление, то есть на изучение языка Латех. И это при том, что я на Латехе пишу всю жизнь, лично написал и опубликовал около 50 статей в разных издательствах.

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

После публикации книги (пока, увы, только на русском языке) у меня возникло громадное желание написать ещё книгу "Как написать книгу по физике в Латехе"
Читать дальше →

Как заставить код выполняться за одинаковое время? Способы от Яндекс.Контеста

Reading time5 min
Views13K
Недавно мы объявили на Хабре, что начинаем принимать заявки на Яндекс.Алгоритм и другие треки чемпионата по программированию Yandex Cup. Уже много лет онлайн-соревнования Яндекса и других компаний проходят на платформе Контест. Меня зовут Павел Тыквин, я один из разработчиков Контеста. Основная задача нашей платформы — получить от участника чемпионата исходный код решения, скомпилировать и запустить этот код, прогнать тесты и вернуть результат. Звучит не очень сложно. Давайте попробуем.

int main()
{
	int n = 500000000;
	int *a = new int[n + 1];
	for (int i = 0; i <= n; i++)
		a[i] = i;
	for (int i = 2; i * i <= n; i++)
	{
		if (a[i]) {
			for (int j = i*i; j <= n; j += i) {
				a[j] = 0;
			}
		}		
	}
	delete[] a;
	return 0;
}
Читать дальше →

Эмуляция NES/Famicom/Денди на веб-технологиях. Доклад Яндекса

Reading time17 min
Views8.4K
Стек TypeScript, Сanvas и веб-аудио позволяет эмулировать компьютерные системы с использованием веб-технологий. В докладе я на примере приставки NES рассказал, как устроена архитектура компьютеров — процессор, программа, периферийные устройства, отображение I/O на память.


Доклад можно разделить на три части:

  1. как устроен процессор 6502 и как его эмулировать, используя JavaScript,
  2. как работает устройство вывода графики и как игры хранят свои ресурсы,
  3. как синтезируется звук с использованием веб-аудио и как это параллелится на два потока с помощью аудиоворклета.

Я постарался дать советы по оптимизации. Всё же эмуляция — дело такое, при 60 FPS остаётся мало времени на выполнение кода.
Читать дальше →

Специалисты по информатике хотят загнать в угол гипотезу Коллатца

Reading time5 min
Views9.2K

Действенная технология SAT-решателей может сработать с печально известной гипотезой Коллатца. Однако шансы на это не слишком велики.




В последние несколько лет Марийн Хиюл использовал технологию компьютеризированных поисков доказательств под названием «SAT-решатель» (SAT от «satisfiability», то есть, «удовлетворяемость»), чтобы покорить впечатляющий список математических задач. Пифагоровы тройки в 2016 году, число Шура 5 в 2017, а недавно и гипотеза Келлера в седьмом измерении, о чём мы не так давно писали в статье "Компьютерный поиск помог разобраться с 90-летней математической задачей".

Однако теперь Хиюл, специалист по информатике из университета Карнеги-Меллона нацелился на ещё более амбициозную цель: гипотеза Коллатца, которую многие считают наиболее сложной из открытых задач в математике (и при этом, возможно, наиболее простой по формулировке). Другие математики, узнавая от меня о том, что Хиюл делает такую попытку, относились к этому с недоверием.
Читать дальше →

Рецепт квантовой памяти

Reading time6 min
Views17K


Ты никогда не сможешь забыть то, что хочешь забыть больше всего.


Однажды в студенческие годы мне попалась на глаза новость о прошедшем в Лондоне чемпионате мира по памяти. На нем люди разных возрастов запоминали тысячезначные числа, десятки колод карт и сотни номеров телефонов. Меня, как человека иногда путающего пин-код от карты, это очень заинтересовало. Я сцепил пальцы в замок и подумал, — "Такая память всегда будет хорошим доводом". И углубился в тему, а вскоре смог запоминать и воспроизводить стозначные числа и порядок карт в колоде. Так каков же он, рецепт хорошей памяти? Сейчас расскажу.

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

Шпионские устройства для контактного и бесконтактного получения информации

Reading time7 min
Views54K


Делаем шпионское устройство своими руками из подручных средств


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

Делаем копию карты-пропуска по фото

Reading time5 min
Views167K

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


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

А вы знаете о том, что в Python есть встроенная СУБД?

Reading time5 min
Views56K
Если вы — программист, то я полагаю, что вы, наверняка, знаете о существовании чрезвычайно компактной и нетребовательной к ресурсам СУБД SQLite, или даже пользовались ей. Эта система обладает практически всеми возможностями, которых можно ожидать от реляционной СУБД, но при этом всё хранится в единственном файле. Вот некоторые сценарии использования SQLite, упомянутые на официальном сайте этой системы:

  • Встраиваемые устройства и IoT.
  • Анализ данных.
  • Перенос данных из одной системы в другую.
  • Архивирование данных и (или) упаковка данных в контейнеры.
  • Хранение данных во внешней или временной БД.
  • Заменитель корпоративной БД, используемый в демонстрационных или испытательных целях.
  • Обучение, освоение начинающими практических приёмов работы с БД.
  • Прототипирование и исследование экспериментальных расширений языка SQL.

В документации к SQLite можно найти и другие причины использования этой СУБД.



Данный материал посвящён использованию SQLite в Python-разработке. Поэтому для нас особенно важно то, что эта СУБД, представленная модулем sqlite3, входит в стандартную библиотеку языка. То есть оказывается, что для работы с SQLite из Python-кода не нужно устанавливать некое клиент-серверное ПО, не нужно поддерживать работу какого-то сервиса, отвечающего за работу с СУБД. Достаточно лишь импортировать модуль sqlite3 и приступить к его использованию в программе, получив в своё распоряжение систему управления реляционными базами данных.
Читать дальше →

Новое доказательство приближает математиков к подтверждению любимой гипотезы Эрдёша

Reading time8 min
Views6.2K

Два математика доказали первый этап любимой гипотезы Эрдёша о закономерностях в последовательностях чисел




Пара математиков доказала первую часть одной из наиболее знаменитых гипотез, касающихся аддитивных свойств целых чисел. Её более 60 лет назад предложил легендарный венгерский математик Пал Эрдёш. Звучит она так: в какой момент в бесконечном списке целых чисел гарантированно появятся закономерности из не менее трёх идущих на одном расстоянии друг от друга чисел – к примеру, 26, 29 и 32.

Эрдёш за свою карьеру сформулировал тысячи задач, однако вопрос того, в каком списке чисел содержатся числа, находящиеся на равных расстояниях друг от друга (то, что математики называют арифметическими прогрессиями), был одним из его любимых. «Думаю, многие люди считали это главной задачей Эрдёша», — сказал Тимоти Гауэрс из Кембриджского университета. Гауэрс, получивший филдсовскую премию в 1998 году, много часов потратил на попытки решить эту задачу. «Практически все достаточно амбициозные специалисты по аддитивной комбинаторике пытались её решить», — сказал он, имея в виду отрасль математики, к которой принадлежит эта гипотеза.
Читать дальше →

Модернизация IDA Pro. Учимся писать загрузчики на Python

Reading time33 min
Views12K


Привет всем,


цикл статей по написанию разных полезных штук для IDA Pro продолжается. В прошлый раз мы исправляли процессорный модуль, а сегодня речь пойдёт о написании модуля-загрузчика (лоадера) для одной винтажной операционной системы, а именно — для AmigaOS. Писать будем на Python. Также я постараюсь раскрыть некоторые тонкости при работе с релоками (они же relocations), которые встречаются во многих исполняемых файлах (PE, ELF, MS-DOS и т.п.).

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

Проблемы научных публикаций

Reading time16 min
Views46K
Для людей, не знакомых близко с научным процессом, может быть не очень понятна важность научных статей. Публикация — это не только распространение информации, но и верификация результатов исследований, а еще самая главная мера эффективности научной работы.

Важность публикаций для ученых описывается выражением «Publish or perish» — «Публикуйся или сдохни». Именно всевозможные библиометрические показатели являются основой для получения грантов, подъема по карьерной лестнице и, в конечном итоге, научного успеха. И поэтому проблемы научных публикаций негативно влияют на всю науку в целом.


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

Как решать проблемы научных публикаций?

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

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


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

Алгоритм ранжирования сегментов речной сети с использованием графов для геоинформационного анализа

Reading time18 min
Views3.4K

Привет, Хабр.


В данной статье хотелось бы затронуть тему применения информационных технологий в Науках о Земле, а именно, в Гидрологии и Картографии. Под катом представлено описание алгоритма ранжирования водотоков и реализованного нами плагина для открытой геоинформационной системы QGIS.

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

Решения визуализации сети для повышения эффективности архитектуры сетевой безопасности и мониторинга

Reading time6 min
Views6.2K
Визуализация сетевого трафика (network visibility layer) является на сегодняшний день критически важным компонентом сетевой архитектуры. Сотовые операторы, финансовые учреждения, государственные организации и крупные корпорации внедряют решения визуализации трафика на своих сетях, при этом совокупный среднегодовой темп роста в данном сегменте рынка по миру для некоторых отраслей достигает 25%.

Предпосылки


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

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

Information

Rating
Does not participate
Registered
Activity