Pull to refresh
44.7
Karma
0
Rating
Boris Nagaev @starius

User

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

AlgorithmsGoCryptocurrencies

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


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

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

News

Show more

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

HostingDecentralized networksBackupData storageData storages

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


Sia
Почему Sia?
Total votes 21: ↑19 and ↓2 +17
Views35.3K
Comments 68

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

Website developmentIT systems testingCLua
boxshell

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

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

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

Tor Browser без Tor

Information Security
Tutorial


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

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

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

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

esrowbitcoin

Читать дальше →
Total votes 43: ↑36 and ↓7 +29
Views34.4K
Comments 70

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

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

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

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

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

Website developmentC++
Sandbox
Всем привет!

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

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

Information

Rating
5,765-th
Registered
Activity