• Поднимаем SOCKS прокси для Telegram
    0
    Если не секрет где впс по 1евро? Дешевле двух не видел.
  • GDPR. Практические советы
    0
    А если не оказываешь услуги, но житель ЕС зарегистрировался на моем российском форуме и указал свое имя-фамилию?
  • История про блокчейн и немного про биткойны
    0
    Вот и сам собой отпал вопрос, который я все хотел спросить: как можно разрабатывать нечто связанное с криптовалютами в России? Как я понимаю, в России, чтобы заниматься официально темами связанными с криптографией нужна лицензия ФСБ.
    Правильно ли я понимаю?
  • История про блокчейн и немного про биткойны
    0
    Насколько мне известно, Hyperledger не использует майнинг, правда ли это?
    Если так, то мне не понятно, как это может функционировать?
    Пытался читать про Hyperledger — там так написано, что понятно еще меньше, чем с обычными криптами.
  • Криптовалюта для новичков. Как начать пользоваться Биткоином
    0
    Пока еще не очень понятно… Появляются всякие новые механизмы и алгоритмы за которыми и уследить нелегко. Например, вот это: en.wikipedia.org/wiki/Hyperledger (хотя это и не очень новинка)
  • Криптовалюта для новичков. Как начать пользоваться Биткоином
    0
    Coinbase does not currently support buys in your country.
  • 19 корпораций, которые используют технологии блокчейн и распределенные реестры
    0
    Вот мне интересно, в каком блокчейне не нужны майнеры?
    Как я понимаю смысл блокчейна — невозможность быстрого пересчета всей цепочки данных.
    Каждый новый блок данных включенный в блокчейн должен быть подписан именно «красивым хэшем». Красивый хэш трудно подобрать и вычислить — для этого и есть майнеры, которые за свои усилия берут деньги.
    Если блокчейн это просто цепочка с данными без красивых хэшей, то ничто не мешает организации произвольно менять давние записи и в легкую пересчитывать их хэши от начала до конца. И в чем тогда смысл?
  • 19 корпораций, которые используют технологии блокчейн и распределенные реестры
    +3
    В таких статьях не хватает технических деталей, которые превращают ее в «желтушную» статью. Вместо упоминания 19ти проектов, которые не понятно как работают лучше бы рассказали об одном проекте, но с подробностями.
    Вот, например, тот же проект Майкрософт:
    Microsoft заявил о поддержке проекта ID2020 для создания единого глобального документа идентификации личности, который можно было бы использовать по всему миру. Главная миссия проекта – помощь людям без документов, которых насчитывается более одного миллиарда.
    Для этого софтверный гигант совместно с Accenture и Avanade разрабатывает прототип цифровой системы на основе блокчейна, использующей Microsoft Azure.

    Что такое на «система на основе блокчейна использующая Azure»?
    Ну и другие вопросы вроде «а майнер кто?», что майнят и за какие деньги.
  • Управление hardware-продуктом: путь тяжелых компромиссов
    0
    Я как-то участвовал в разработке контроллера для, скажем, газового котла.
    Так заказчик сразу сказал, что мы делаем контроллер, они его два дня тестируют и принимают.
    Все — никаких позже доделок-переделок, апдейта фирмваре более не предусматривается.
    Заказчик рассматривает сложное микроконтроллерное устройство, как деталь, выточенную на станке — садится на посадочные места — значит все ОК.
    Пытался рассказать им про жизненные циклы, про возможные баги в микропрограмме, про систему контроля версий исходных кодов микропрограммы- смотрят на меня непонимающим взглядом.
    Думаю у них даже и эксель таблицы не было.
    Но так дело и не пошло, хоть и контроллер сделали и даже приняли его.
    Заказчик в итоге решил, что проще покупать импортные контроллеры — дешевле и морок меньше.
  • Управление hardware-продуктом: путь тяжелых компромиссов
    0
    «Потребность пользователей» — это вообще довольно абстрактное понятние.
    Зачастую «потребность» приходится насаждать рекламой (или введением новых законов), прежде чем она действительно станет «потребностью».

  • Управление hardware-продуктом: путь тяжелых компромиссов
    –1
    А какой программой пользуется менеджер для сопровождения программного продукта?
  • Багодельня — марафон по убийству престарелых багов
    –1
    Нет, не пробовал и не буду. Это что-то с железом — там специфичный микрокомпьютер, что-то или с драйверами или с АПИ, которое плохо документированно, но используется методом проб и ошибок.
  • Багодельня — марафон по убийству престарелых багов
    +2
    Как можно пофиксить трудновоспроизводимый баг?
    Ну вот правда — его же нужно сперва увидеть?
    Вот у меня есть тикет «Device hangs over weekend» — это тестеры оставляют его работать на выходные, приходят, а устройство висит.
    Ну сделали они мне этот тикет, а что там на самом деле происходит — да ктож его знает…
  • Алгоритм Пинг-Понг или критика Обратной Польской Нотации
    +1
    Те, кто пишет на форте никогда мысленно не представляют выражение в традиционном скобочном варианте, чтобы потом его разбирать. Они сразу в голове представляют себе выражение в стековом виде. Мозг легко к этому привыкает.
    Конечно, если формула напечатана в книжке и ее нужно разобрать — и переписать в оп, ну может это и не просто.
  • Алгоритм Пинг-Понг или критика Обратной Польской Нотации
    0
    Я говорю о том, что прямо в программе программист может писать в польской записи (ну если бы были такие языки, кроме форта).
    Например вот так:
    if( a b | )
    {
    c = a b d * +;
    }

    И как по мне — это достаточно удобно.
  • Алгоритм Пинг-Понг или критика Обратной Польской Нотации
    0
    Как по мне, так мозг программиста достаточно гибок, чтобы выражения сразу в программе писать в польской записи. Я так писал и никаких трудностей не испытывал.
    Наоборот:
    1) сокращается длина выражения, так как нет лишних символов в виде скобок, короче текст программы
    2) нет разночтений в приоритете операций, об этом просто не нужно даже помнить, очередность исполнения определяется стеком, а не типом операции.
  • Как я blakecoin майнер делал
    0
    А что Вас конкретно интересует? Я могу попробовать ответить…
    Есть еще статья marsohod.org/projects/proekty-dlya-platy-marsokhod3/363-blake
    Но она в принципе про то же самое.
  • Как я blakecoin майнер делал
    0
    Да нет… это очень маленький процент…
    Плата находит за сутки может 6-7 тысяч нонсе и из них только 3-4 не верные. Ерунда.
    Плата проходит диапазон нонсе от нуля до FFFFFFFF примерно за 12 секунд.
    Вот это сколько за сутки просчитает примерно 7 тысяч. Каждый найденный нонсе пересчитывается процессором, чтоб убедиться что он верный.
  • Как я blakecoin майнер делал
    0
    Я тоже так думаю, но вот что-то у меня не получается с пулом. Возможно старая версия cgminer 3.1.1 имеет не совершенный протокол обмена с пулом.
  • Как я blakecoin майнер делал
    0
    Ну не знаю… А что нужно делать? Тут же уже похоже все сделано…
  • Как я blakecoin майнер делал
    0
    Quartus PowerPlay говорит, что:
    +-------------------------------------------------------------------------------------------+
    ; PowerPlay Power Analyzer Summary;
    +----------------------------------------+--------------------------------------------------+
    ; PowerPlay Power Analyzer Status; Successful — Sat Jan 27 16:52:36 2018;
    ; Quartus Prime Version; 17.0.0 Build 595 04/25/2017 SJ Lite Edition;
    ; Revision Name; blakeminer;
    ; Top-level Entity Name; blakeminer;
    ; Family; Cyclone V;
    ; Device; 5CSXFC6D6F31C6;
    ; Power Models; Final;
    ; Total Thermal Power Dissipation; 3592.59 mW;
    ; Core Dynamic Thermal Power Dissipation; 2828.63 mW;
    ; Core Static Thermal Power Dissipation; 471.21 mW;
    ; I/O Thermal Power Dissipation; 292.75 mW;
    ; Power Estimation Confidence; Low: user provided insufficient toggle rate data;
    +----------------------------------------+--------------------------------------------------+
  • Как я blakecoin майнер делал
    0
    Этот человек олицетворяет мое отчаяние, когда потратил кучу времени и сил на исследование, а оно не приносит результата… Увы на этот уходящий криптовалютный поезд уже не успеть…
  • Как я blakecoin майнер делал
    0
    А я в пуле.
  • Как я blakecoin майнер делал
    0
    Теоретически да, так должно быть. А вот в исходниках я этого не увидел. И глазами смотрел и с GDB проходил — по крайней мере в драйвере для платы icarus — кажется нет там такого. Ищется только первый нодходящий нонсе и все.
    Почему так — я не знаю. Может это баг, а может фича. Как узнать?
  • Как я blakecoin майнер делал
    0
    Да-да, я понимаю. Возможно в статье не удачная формулировка для простоты изложения. На самом деле я сам никаких решений не принимаю. Плата ВСЕГДА возвращает нонсе только если в хэше 32 бита нулей. Это довольно редкое событие. Потом этот нонсе проверяется в cgminer программными методами с помощью CPU. Тут дальше бывает два варианта. Иногда очень редко вероятно в следствии перегрева происходит аппаратная ошибка вычислений и нонсе оказывается не верным. Программа перепроверяя отфильтровывает такие случаи (они бывают раза 3-4 за сутки). Второй вариант событий — нонсе проверяется программой — достигается ли таргет, а именно весь хэш рассматривается как длинное двоичное число, которое сравнивается с длинным двоичным числом таргета. Меньше-равно или больше. cgminer принимает решение и высылает результат пулу или нет.
  • Как я blakecoin майнер делал
    0
    Вы меня извините, вот такие общеизвестные фразы — ну что об этом говорить. Это понятно. Дьявол кроется в деталях: особенности реализации протокола, последовательность команд, очередь заданий, правила поиска нонсе.

    Вот такой пример. Я смотрю исходные тексты и вижу, что при нахождении первого удачного нонсе с 32-мя ведущими нулями некоторые майнеры возвращают этот нонсе и дальше не продолжают считать хотя полный диапазон всех возможных нонсе еще не пройден, но они запрашивают следующее задание. Это вообще правильно или нет?
    По большому счету на одном блоке данных может быть несколько удачных нонсе с 32-мя или более ведущими нулями. Почему нужно или можно прекращать считать и брать следующее задание? Ответ на такой простой вопрос вы нигде ни в какой в документации не найдете.

    Или еще замечательное. Все знают, что нужно рассчитывать хэш от некоторого блока данных, но никто не упоминает, что кое-где исходные данные проходят через процедуру be32() которая изменяет очередность байт данных big-endian… Пока это поймешь — с ума можно сойти.
  • Как я blakecoin майнер делал
    0
    Я абсолютно уверен, что сама плата считает верно и процесс получения заданий и вычисление нонсе — все идет как положено.
    Вот в чем я не уверен — у меня старая версия cgminer 3.1.1 (только для нее были патчи) — возможно в протоколе стратум были какие-то изменения в более поздних версиях. Возможно проблема при обмене сообщениями с пулом или еще что-то такое на более высоком уровне.
    Как в этом разобраться? Я пока не знаю.
  • Как я blakecoin майнер делал
    +2
    Можно только примерно предсказать. Если считать, что альтеровский ALM примерно эквивалентен Xilinx LogicCell (хотя это наверное не так), то считаем: в моем проекте 3 хэшера заняли 31 тысячу логических элементов. А тут в Kintex7 326 тысячи элементов. Получается в 10 раз больше. Ну будет наверное 30 хэшеров. Если у меня 360МХэш в секунду, то будет 3,6ГХэш в секунду.
    Но тут еще один момент. PowerPlay говорит, что мой проект в CycloneV будет потреблять 3,5Ватта. То есть может оказаться на чипе Xilinx 35Ватт. Тут нужно будет очень хорошее охлаждение, иначе сгорит.
  • Как я blakecoin майнер делал
    0
    Может это и интересный проект, но с FPGA туда войти довольно трудно — нет исходников на которые можно опереться или на которые они ссылаются.
    Можно конечно брать исходники от kramble -те, что я использовал в этой работе для блейка, но нет никакой гарантии, что они окажутся как-то совместимыми. Ну а сопряжение хоть и возможно, но может оказаться довольно трудоемким.
  • Как я blakecoin майнер делал
    0
    Честно говоря мне не очень ясна логика работы пула. Не может же он всем одинаковые задания раздавать — это как мне кажется было бы странно. В таком случае выигрывал бы всегда один и тот же самый быстрый майнер — а ведь этого я думаю нет. Или я ошибаюсь?
    Мало понять логику конкретного алгоритма хеширования, нужно еще понимать логику всей системы — вот этого понимания у меня пока нет.
  • Теория дряхлого ноутбука
    +15
    А что фейсбуком вообще кто-то может пользоваться?
  • Скрытый JS-майнинг в браузере
    0
    Я вот правда не понимаю, что можно намайнить в JS?
    Тут видеокарту запускаешь майнить какй нибудь копеечный блейккоин и ничего не выходит — слишком маленький хэшрейт всего 1,3Гхэша.
    Я понимаю, что клиентов получается много, но их же как-то синхронизировать нужно, раздавать каждому свое задание.
  • Почему важно проверять, что вернула функция malloc
    0
    Странно, что когда я привожу конкретный пример про рисование линии с помощью функции рисования пикселей мне приводят контр доводы про полет спутника.
    Несопоставимые вещи.
    В конкретно моем примере проверка на ноль в функции рисования пикселя может значительно сказаться на быстродействии программы, так как эта проверка будет вызываться миллионы раз в графической программе, а может быть вызвана всего один раз при инициализации графической системы.
    Гораздо разумнее задокументировать АПИ и описать требования к параметрам, чем проверять «везде» и «всегда».
    Давайте я другой пример приведу.
    Представьте, что вы пишите программу майнинга криптовалюты и ваш код на OpenCL будет работать на тысяче процессоров в видеокарте. Вы передаете в процедуру параметры и указатели на блоки памяти. Будете всегда проверять указатели на ноль? Или все же не станете этого делать? Ведь от быстродействия кода зависит прибыль майнинга…
  • Почему важно проверять, что вернула функция malloc
    –2
    В принципе, это я и ожидал прочитать в ответ.
    Иными словами, не существует обязательного правила всегда проверять указатель на ноль. Иногда такая проверка не лишнее, а иногда очень даже и вредная.
    Все по обстоятельствам.
  • Почему важно проверять, что вернула функция malloc
    0
    Ну окей, ошибся, быстро писал.
    Например, там malloc.
    Вопрос по существу — нужно ли проверять везде на nullptr или нет.
  • Почему важно проверять, что вернула функция malloc
    0
    С другой стороны представьте себе объект, который выделяет память. Тут можно проверить результат — а выделилась ли память на самом деле. Действительный указатель на выделенную память запоминает в переменной, члене класса объекта. Далее объект вызывает другие функции других классов и передает им параметром этот указатель.
    Нужно ли во всех функциях принимающих параметр указатель проверять его на ноль?
    Не потеряется ли эффективность программы если по сто раз проверять, то что один раз должно быть проверенно?

    Или вот, например:

    void draw_pixel(char* framebuffer, int x, int y)
    {
    //SHOULD I DO THAT?
    if(framebuffer==nullptr) return;

    //draw pixel actually
    ..................
    }

    void draw_line(char* framebuffer, int x1, int y1, int x2, int y2)
    {
    //SHOULD I DO THAT?
    if(framebuffer==nullptr) return;
    for( ..N.. ) {
    draw_pixel(framebuffer,x,y);
    }
    }

    main()
    {
    char* screen = new char[width*height];
    //actual check for null
    if(screen==nullptr) { cout << OOPS; return -1; }
    draw_line(screen, 100,50,500,800);
    }

  • Пришло время для открытых и свободных процессоров?
  • Написание blockchain менее чем за 200 строк кода на Go
    0
    Как мне кажется PoW так же мало что гарантирует (но может я и ошибаюсь).
    Да, каждый блок подписан «красивым хэшем», на который нужно потратить усилия.
    Проблема в том, что у первых блоков не требовался «сильно красивый хэш».
    У первых блоков в цепочке, защита (difficulty) была хороша на тот момент времени, когда они создавались. Иными словами, первые блоки чейна посчитанные на CPU пересчитать нынешними асик майнерами — плевое дело. Единственная но существенная проблема как изменить и пересчитать скажем только первые N блоков и потом присоединить измененные начальные блоки к последующим неизмененным (которые все труднее и труднее пересчитывать)?
    Далее с течением времени производительность вычислителей скорее всего будет расти.
    То что сейчас невозможно быстро пересчитать будет возможно пересчитать через некоторое время.
  • Пришло время для открытых и свободных процессоров?
    +2
    Еще ядро MIPS забыли.
    Вроде бы открытые исходники для академических нужд.

    Правда, что-то мне не верится, что открытые исходники процессора, кто-то сможет реально смотреть/исправлять/вести отладку.

    Понятно, что openRISC или MIPS можно попробовать в FPGA. А вот аналог Core i7 ни в какой FPGA не поместится.
  • Пришло время для открытых и свободных процессоров?
    0
    То-то и оно…
    Спекулятивный доступ дает выигрышь в быстродействии. Если его нет, то получится более медленное исполнение. Вот и выбирайте… Быстро, но с уязвимостью, или медленно, но без уязвимости.