HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
MagicalTux
btclib
C++2017–2017
MagicalTux / btclib

btclib

quick'n'dirty bitcoin signing lib because too lazy to reimplement ECDSA in pure PHP

2Distinct people
2Mentions
1Explicit recommenders
8GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

quick'n'dirty bitcoin signing lib because too lazy to reimplement ECDSA in pure PHP

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

>"I know PHP! How hard could running an exchange be?" -Mark Karpelès This is the same guy who infamously wrote: >"PHP can do anything, what about some ssh?" -Mark Karpelès…

DonHopkins used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour2 dated mentions

Observed mentions: 2017-09-18 06:36:01 UTC to 2017-09-18 13:41:34 UTC.

012017-09-18 06:00:00 UTC to 2017-09-18 07:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsSep 18, 06:002017-09-18 07:00:00 UTC to 2017-09-18 08:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-09-18 08:00:00 UTC to 2017-09-18 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-09-18 09:00:00 UTC to 2017-09-18 10:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 18, 09:002017-09-18 10:00:00 UTC to 2017-09-18 11:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-09-18 11:00:00 UTC to 2017-09-18 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-09-18 12:00:00 UTC to 2017-09-18 13:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-09-18 13:00:00 UTC to 2017-09-18 14:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsSep 18, 13:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Sep 18, 06:002017-09-18 06:00:00 UTC2017-09-18 07:00:00 UTC101
Sep 18, 07:002017-09-18 07:00:00 UTC2017-09-18 08:00:00 UTC000
Sep 18, 08:002017-09-18 08:00:00 UTC2017-09-18 09:00:00 UTC000
Sep 18, 09:002017-09-18 09:00:00 UTC2017-09-18 10:00:00 UTC000
Sep 18, 10:002017-09-18 10:00:00 UTC2017-09-18 11:00:00 UTC000
Sep 18, 11:002017-09-18 11:00:00 UTC2017-09-18 12:00:00 UTC000
Sep 18, 12:002017-09-18 12:00:00 UTC2017-09-18 13:00:00 UTC000
Sep 18, 13:002017-09-18 13:00:00 UTC2017-09-18 14:00:00 UTC101

What Hacker News says

2 sources
DonHopkins·Sep 18, 2017Recommendation phrase
>"I know PHP! How hard could running an exchange be?" -Mark Karpelès This is the same guy who infamously wrote: >"PHP can do anything, what about some ssh?" -Mark Karpelès https://web.archive.org/web/20100701145902/http://blog.magic... >"quick'n'dirty bitcoin signing lib because too lazy to reimplement ECDSA in pure PHP" -Mark Karpelès https://github.com/MagicalTux/btclib ಠ_ಠ The Dunning Kruger effect runs deep in that that one. It's no surprise he was drawn to PHP, given Rasmus Lerdorf's disdainful anti-intellectual attitude about computer science, programming, security, and unit testing. Birds of a feather! If you didn't already know about the inventor and lead developer of PHP's anti-intellectual attitude, here are some classic quotes: https://en.wikiquote.org/wiki/Rasmus_Lerdorf "There are people who actually like programming. I don't
Read the rest
understand why they like programming." -Rasmus Lerdorf "I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say "Yeah it works but you're leaking memory everywhere. Perhaps we should fix that." I’ll just restart Apache every 10 requests." -Rasmus Lerdorf "I do care about memory leaks but I still don't find programming enjoyable." -Rasmus Lerdorf "I don't know how to stop it, there was never any intent to write a programming language [...] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way." -Rasmus Lerdorf "I was really, really bad at writing parsers. I still am really bad at writing parsers." -Rasmus Lerdorf "I really don't like programming. I built this tool to program less so that I could just reuse code." -Rasmus Lerdorf "I actually hate programming, but I love solving problems." -Rasmus Lerdorf "For all the folks getting excited about my quotes. Here is another - Yes, I am a terrible coder, but I am probably still better than you :)" -Rasmus Lerdorf Then there was the time that Rasmus Lerdorf cut an official but fatally flawed public release of PHP 5.3.7 without bothering to run the unit tests, which would have caught his sloppy bug he just checked in that broke crypt(). This guy who thinks he's "probably still better than you" had to admit that maybe he "went a bit too fast" when he didn't actually bother to run any of the unit tests first before releasing a new version of PHP with a terrible security flaw in crypt(), because so many of the tests produced error messages, and even though the tests caught his bug, he didn't feel it was worth the hassle of wading through all those pesky error messages to see if he'd introduced yet another security related bug. I sure hope no online banks depend on the crypt() function! > 5.3.7 upgrade warning: [22-Aug-2011] Due to unfortunate issues with 5.3.7 (see bug#55439) users should postpone upgrading until 5.3.8 is released (expected in a few days). https://www.reddit.com/r/programming/comments/jsudd/you_see_... >r314434 (rasmus): Make static analyzers happy >r315218 (stas): Unbreak crypt() (fix bug #55439) # If you want to remove static analyser messages, be my guest, but please run unit tests after http://svn.php.net/viewvc/php/php-src/trunk/ext/standard/php... https://plus.google.com/113641248237520845183/posts/g68d9RvR... >Rasmus Lerdorf >+Lorenz H.-S. We do. See http://gcov.php.net >You can see the code coverage, test case failures, Valgrind reports and more for each branch. >The crypt change did trigger a test to fail, we just went a bit too fast with the release and didn't notice the failure. This is mostly because we have too many test failures which is primarily caused by us adding tests for bug reports before actually fixing the bug. I still like the practice of adding test cases for bugs and then working towards making the tests pass, however for some of these non-critical bugs that are taking a while to change we should probably switch them to XFAIL (expected fail) so they don't clutter up the test failure output and thus making it harder to spot new failures like this crypt one. "I throw together things until it works then I move on." -Rasmus Lerdorf
In How the Bitcoins Were Stolen from Mt. Gox [video]
> The thing that sucks is, it was impossible to tell any of this was going on. It was impossible to know the details of this exact bug - but it was possible to know that something was wrong at MtGox before the takedown. Of the two-dozen or so people I know who held Bitcoin at the time only one lost funds on MtGox - the rest had long left Gox or were never comfortable using it. The main administrative issues were withdrawal delays[0], MtGox not being able to prove their reserves satisfactorily[1] and having accounts seized[2]. ID verification was slow, and support was almost non-existent. If you read the forums in the ~12-18 months before MtGox went down there was a lot of conversation about what was wrong at MtGox. The tech issues were horrible code[3] (read the description of that repo and tell me if you would trust it with bitcoin), pre
Read the rest
vious hacks[4], many more hack claims and the internal trading bot being traced by outside researchers. I don't blame anybody for not seeing these issues - there was a lot of FUD at the time and many who saw attacks on MtGox as attacks on Bitcoin. Nobody really wrote a good and concise "this is why you shouldn't use MtGox" post anywhere. Hearing after it was taken down that someone knew it was bad is useless and only self-serving. I don't think it is possible for a third party to hold your bitcoins for you in a secure way that is also convenient. You can pick any bitcoin company or exchange and claim its insecure and you'll eventually be right for many users. One of the only ways to avoid the problems and store your bitcoins safely but also still be able to use them is with a hardware wallet. There has been a lot of improvement since MtGox with "vault" products, better multisig implementations, better auth, and offline signing etc. but still some way to go. [0] https://bitcointalk.org/index.php?topic=179586.0 [1] https://bitcointalk.org/index.php?topic=209362.0 [2] https://techcrunch.com/2013/08/23/feds-seize-another-2-1-mil... [3] https://github.com/MagicalTux/btclib [4] http://www.dailytech.com/Inside+the+MegaHack+of+Bitcoin+the+...
In How the Bitcoins Were Stolen from Mt. Gox [video]

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.