Pull to refresh
47
0
Boris Nagaev @starius

User

Send message

Как сделать BTC-транзакцию без сдачи из мелких монет

Reading time5 min
Views12K

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


Многие кошельки биткоина при выборе монет для отправки предпочитают использовать крупную монету, баланс которой больше отправляемой суммы. После каждой такой транзакции образуется монета-сдача. Через какое-то время весь кошелёк зарастает такими монетами порядка 0.001 (~10 долларов на текущий момент), которые уже и не на что потратить. Когда в очередной раз мне понадобилось сделать транзакцию, мне пришла в голову мысль, а нельзя ли собрать транзакцию так, чтобы сдачи не было. Кошелёк упрямо предлагал «распилить» ещё одну более крупную монету, так что я решил руками выбрать монеты, чтобы насобирать необходимую сумму. Однако это оказалось не так просто: сумма или получалась меньше нужного значения или слишком сильно его превосходила. В итоге я решил, что должен быть алгоритм, с помощью которого из монет можно собрать нужную сумму или чуть больше. Оказалось, что это не только возможно, но работает настолько хорошо, что сподвигло меня написать эту статью. Но обо всём по порядку.

Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments25

Блокчейн + распределённое хранилище = Sia

Reading time7 min
Views38K

Всем привет! У всех нас есть данные, которые хочется держать под контролем. Мы не хотим потерять к ним доступ и не хотим, чтобы доступ был у кого-то ещё. Где хранить такие данные? Я считаю, что Sia может стать идеальным местом для этого и расскажу, почему.


Sia
Почему Sia?
Total votes 21: ↑19 and ↓2+17
Comments68

Библиотека эмуляции терминала ROTE и Lua привязки

Reading time6 min
Views7.3K
boxshell

ROTE — простая библиотека на языке C, служащая для эмуляции терминала VT100. Она создает терминал и предоставляет доступ к его состоянию в виде структуры языка C. В терминале можно запустить дочерний процесс, «нажимать» в нем клавиши и смотреть, что он рисует на терминале. Кроме того, есть функция для отрисовки состояния терминала в окне curses.

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

Несмотря на всё удобство и внутреннюю красоту ROTE, использовать её напрямую в тестах было бы громоздко. Поэтому я решил упростить задачу, привязав ROTE к языку Lua, который я очень люблю и знаю, как писать тесты. Так и родилась библиотека lua-rote, о которой я хочу рассказать.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments23

Tor Browser без Tor

Reading time2 min
Views33K


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

Так уж получилось, что не всегда есть возможность и необходимость пропускать трафик браузера через Tor, но хочется сохранить защиту от слежки, которую не предоставляет обычный браузер. Такая ситуация может возникать по разным причинам: сайты, блокирующие подключения из Tor (редиски!), плохое подключение к сети, из-за которого жизнь за Tor становится совсем медленной.
Кастрировать Tor Browser
Total votes 23: ↑18 and ↓5+13
Comments10

Пошаговая инструкция: залог для сделок в bitcoin

Reading time6 min
Views36K
Bitcoin очень удобен и надёжен для хранения денег, но как проводить в нём сделки? Традиционные способы включают привлечение доверенной третьей стороны. Оказывается, bitcoin так могуч, что это вовсе не обязательно. Ниже я расскажу, как двум людям, не доверяющим друг другу, провернуть сделку в bitcoin без привлечения третьих сторон.

esrowbitcoin

Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments70

10 занимательных задач

Reading time5 min
Views100K
image
Иллюстрация к последней задаче.

Существуют задачи с простыми и, казалось бы, очевидными решениями, которые, однако, трудно найти. При их решении опасно полагаться на интуицию, ведь правильный ответ зачастую совсем не совпадает с тем, который она подсказывает. В данной статье я предлагаю подборку из 10 таких заданий, упорядоченных по возрастанию сложности; их решения убраны под спойлер. Для получения верных ответов не нужно обладать какими-то специальными знаниями, достаточно лишь находчивости и знания школьной программы.

Перейти к задачам
Total votes 59: ↑40 and ↓19+21
Comments118

Wt, библиотека C++ для разработки веб-приложений

Reading time6 min
Views40K
Всем привет!

Так случилось, что на Хабре не было ни одного упоминания Wt, C++ Web Toolkit, кроме одного комментария.

Библиотека Wt может заинтересовать тех, кто пишет на C++ и захотел посмотреть в сторону Web, но не хочет изучать и/или использовать HTML, CSS, JavaScript, SQL и дополнительные технологии, связанные с веб-разработкой и работой с БД. В данной статье моей целью было обратить внимание сообщества на Wt, а не освещать все его возможности.
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments30

Information

Rating
Does not participate
Registered
Activity