Lately, with my 3d printer to inspire me, I’ve been thinking of all sorts of household gadgets that could improve on the ones I have. This morning, I was thinking about how we never seem to bother replacing the toilet paper on the holder, we just tend to set a new roll vertically on top of the empty roll. But wait — what if the toilet paper holder were vertical! We could just pull the old roll off and drop the new roll on! Brilliant! I rushed to google patent search, didn’t immediately see anything. But then I noticed when I typed ‘toilet paper holder v’ google auto-completed vertical. Sure enough, you can get them everywhere, including on Amazon. This will not stop me from designing and printing some for our house, though.
Author Archives: Brock Tice
Qwest values my privacy and security, or not.
I recently signed up for DSL from Qwest, because Comcast keeps dropping the ball, and I just got an email from them stating
Qwest values the privacy of customer account information. Your security code, user name and password help ensure that you are the only one who can access your account information. Please protect this information from unauthorized users and do not share it with anyone.
In that same unencrypted email, they included my security code, user name, and password. Nice work Qwest. Glad to know how much you value my privacy and security.
Why Bitcoin is Smart, and Not a Scam
In the last week or so there has been a deluge of media attention, Twitter comments, and blog posts about Bitcoin. Unfortunately many people are jumping to the conclusion that bitcoin is a scam, ponzi scheme, etc.
Let me start with some disclaimers: The point of this blog post is not to convince you to use bitcoin, but to clarify the difference between a risky start-up currency and a scam/ponzi scheme/pyramid scheme. I own a bunch of bitcoins, I mine for bitcoins, and if something causes the value of bitcoins to drop to zero (from government crackdown to defects in the system), you could lose any money you’ve invested in bitcoins.
That does not make them a scam.
ADDENDUM #4 Let’s define these words, shall we? I googled them:
scam: A dishonest scheme; a fraud
ponzi scheme: A form of fraud in which belief in the success of a nonexistent enterprise is fostered by the payment of quick returns to the first investors from money invested by later investors
pyramid scheme: A form of investment (illegal in the US and elsewhere) in which each paying participant recruits two further participants, with returns being given to early participants using money contributed by later ones
Addressing each briefly: Bitcoin is a scam – Everything about bitcoin is out in the open, unless someone is telling you it will give you a guaranteed return on investment. Bruce Wagner doesn’t count, he just gets excited. Bitcoin is a p2p ponzi scheme – The bitcoin enterprise is existent, and there’s no payout guaranteed by the system, fed by later investors’ money. It’s a commodity and the value may fluctuate, and who knows whether you or someone else will make gains. Bitcoin is a pyramid scheme – Basically the same as a ponzi scheme, except there’s not even any pretension of a real enterprise (like Madoff’s fake investment fund). Again, bitcoin doesn’t require you to go recruit people and get paid a cut of what they invest in return. Bitcoin is a real thing and that’s easy to verify.
See, bitcoin are designed to be a peer-to-peer digital currency, currently functioning as an easily-transferable commodity. The bitcoin system has a few key characteristics:
- There is a fixed and gradually decreasing rate of monetary inflation (money creation)
- It is very difficult (and rapidly getting more difficult) to make fraudulent bitcoin payments
- It is cheap and very easy to send bitcoins anywhere in the world, in seconds
- If used properly, the system can be anonymous, allowing financial freedom analogous to freedom of speech. An example of where this is useful would be the financial choke-off of Wikileaks.
The system is secured by people doing a certain kind of work with their computers. This work has been called a complete waste of electricity, but it’s not. It secures the network from fraud. (Think for example on how much money and energy is spent securing banks. Is bitcoin’s energy use larger?) As an incentive, the people doing this work (mining) are paid some bitcoins. However, the rate of total payouts is maintained approximately constant by the network, so the more people mine, the more difficult mining becomes. This system of rewards and difficulty is the first example I’ll give of the clever incentives built into bitcoin.
Let me explain.
I heard about bitcoin, investigated it, saw that it had potential. I bought some and set up some hardware to mine for bitcoins. As difficulty went up, along with the value of bitcoins, I realized it was worth my while to keep investing in mining hardware, electricity to power it, etc, so I did, as did others. This made the network more secure, and drove difficulty up again. People became more confident in the system, and more people heard about it, driving up prices. This caused people to bring more mining hardware online, security and difficulty of mining increased, etc. This continues to happen at an exponential rate. At one time there was a risk that someone with a botnet could easily overtake the network. That risk is now minimal and getting (exponentially) smaller every day, especially as bitcoin miners are eagerly buying up the world’s supply of the most efficient mining hardware.
This mining work is essential to the security and functionality of bitcoin. The people putting in the effort to mine are being paid by the network, yes, and this has been criticized as a scheme to make early adopters rich. However, if bitcoin never catches on for anything, the early adopters will be out all of this time, effort, and some of the money they spent on mining hardware. They are taking a risk based on their understanding of the technology and their ability to harness it for return on investment. If this risk pays off they will make a profit. This is the essence of entrepreneurship.
We are seeing a lot of ‘sour-grapes’ griping from people who dismissed bitcoin early on, didn’t buy in, and missed some early appreciation of the currency. You hear similar things from people who failed to buy a stock that subsequently skyrocketed.
There’s a second component to the idea that bitcoins (which have a fixed supply) will become more valuable as more people want them. More people will only want them if bitcoin is useful, and has a community around it, especially a community of merchants willing to sell goods and service for bitcoin. By giving the early adopters bitcoins when they are not yet very valuable, they are given an incentive to build a community and a market around bitcoins. There is no company behind bitcoins. There’s no marketing budget. There are no representatives to go give sales pitches to merchants. There is only the community of bitcoin users. Therefore, for bitcoins to get off the ground, it’s actually very important that the early adopters have a strong incentive to evangelize bitcoin. And really, there’s nothing wrong with them (us, I guess) doing so. We bought in, spent time analyzing, discussing, and running the bitcoin network early on. We think bitcoin is a worthwhile project. We recognize that if we don’t evangelize bitcoin, it’ll fall by the wayside. The value of our bitcoins will be reduced. Most importantly, a technology that we find inspiring, interesting, and useful may become a simple endnote in the history of the Internet. So when you hear bitcoin users extolling the virtues of the project, you can bet your ass it’s because we want the value to grow. Why wouldn’t we? But it’s not so we can cash all of our bitcoins out and leave you holding the bag. It’s so the whole community can benefit as bitcoin grows, and you (the new user) along with it.
One hears complaints about speculators affecting market prices. It’s true that some speculators bought when prices were low, and will sell when prices are high, taking their money and leaving. The speculators are not doing anything bad, however – speculation is something that occurs whenever you have a free market. Speculators provide a useful function in helping to set appropriate prices, by incorporating future expectations about the value of an asset. (We’ll leave further discussion of the utility of speculation, if needed, to a future post.) In the minds of many, the price is not high at all, compared to what it will be if bitcoin succeeds in gaining traction. This is what speculators are betting on, and pricing into the market.
The incentives are working. Bitcoin users are collecting on the forums to set up bounties for useful things (like Android apps — I paid 1000 BTC for something that met my requirements). Bitcoin users invest time and effort in developing tools for other users of the network (see bitcoincharts, bitcoin monitor, bitcoin block explorer). We hang out in #bitcoin-dev and #bitcoin-otc on freenode IRC and explain to newbies how to get miners up and running, how to back up their bitcoin wallets, and answer their questions on the (admittedly) complex system that makes bitcoin work. We help out merchants with information on how to set up for accepting bitcoins for their products and services, write documentation on various aspects of bitcoin, and release open source code to make bitcoin integration easier.
That’s one other thing I want to say. Bitcoin is complicated. Taken alone, any one of its parts (fixed rate of inflation, ease of money transfer, potential for anonymity, proof-of-work and blockchain for peer-to-peer accounting, public key cryptography, SHA256 hashing to hit a target numeric threshold, etc) is not that novel or compelling. What makes bitcoin so cool is the combination of all of these parts into one system. It’s much easier to glance over bitcoin, say, “Oh, it’s just like (dead e-money project X), it’ll just flop”, and post, “bitcoin is a scam, LOL, maybe I can exchange my Flooz for them”, on Twitter than it is to write a long explanatory blog post like this one. Twitter and Facebook have trained us into a “too long; didn’t read” (tl;dr) mentality that doesn’t allow for nuanced dialog.
Finally, a comment on criticizing something before bothering to understand it. There are a lot of paranoid crypto geeks using Bitcoin. They have argued to death the security of the system on the bitcoin forums. Satoshi, the original developer of bitcoin, engaged in some discussion of the system on the cryptome mailing list (i.e. with the Secret Admirers for fellow Cryptonomicon fans) before releasing it to the public. Before you shoot your mouth off about how, “that’s dumb, anyone can just make more and make themselves rich!”, please do bother to check the forums and read the intelligent discussion that has almost certainly already covered your clever criticism.
Now, if you have any insightful or clarification questions, I’ll be happy to try to answer them here.
ADDENDUM #1 Many people have said something like, “There have been many other digital cash schemes, including those based on strong crypto, and they all failed. What makes bitcoin any different?”
The most important difference given the angle of this question is the lack of a central issuer. Bitcoin is an open source project. The code is out there. The network is peer-to-peer. Some of the peering mechanisms (IRC, hardcoded list of known good IPs) need some work, but there is NO CENTRAL AUTHORITY. There is no company to go under, no server farm to be raided, nobody to abscond with the gold from the vault. Bitcoins are “out there” in the network. What happened to Beenz, Flooz, and the others? They shut down, and poof went their currencies. The same would be true of WoW gold, Second Life Lindens, Liberty Dollars, and *gasp* Paypal US Dollars (read this, note especially “FDIC pass-through deposit insurance protects you only against the failure of the bank at which PayPal places your funds, and does NOT protect you against PayPal’s insolvency.”), just to start. Even if every bitcoin client on the planet shut down, until the last copy of the block chain is gone, bitcoins are there.
ADDENDUM #2 Please see also this newbie-friendly thread on the bitcoin forums discussing why bitcoin is not a scam, pyramid scheme, ponzi scheme, etc.
ADDENDUM #3 There was a comment about this being a ‘pump and pump’ vs a ‘pump and dump’ scheme from someone using a real economist’s name via Tor (nice one). Apparently this is an attempt to still make bitcoin sound like a get-rich-quick scheme, but to me ‘pump and pump’ sounds like ‘successfully bootstrap an economy’. There are basically two major scenarios for the future of bitcoin, in my mind. Either it succeeds, or it fails. (It could also limp along, but I’ll leave that out for now.) If it succeeds, anyone buying in will see an appreciation in the value of their bitcoins, long term, until the market eventually reaches some sort of equilibrium and level off. This is what I would like to see happen — everyone is a winner. If it fails, then most of the people with money in bitcoins will see the value of their holdings plummet, including me. This sucks but it still doesn’t make bitcoin a scam. The whole system is out in the open, invest only with your eyes open to the possibilities, positive and negative. Bitcoin investment and use at this stage is not for everyone. We’re just barely into the early adopter stage. Please, however, don’t call it a scam. Nobody is trying to defraud you.
ADDENDUM #5 Per a commenter below, I feel the need to address this because I’m hearing it over and over. People say, “Bitcoin makes early adopters wealthier, so even though it’s interesting and maybe useful, I’ll stay away, because I don’t want to help make them wealthier.” This is shortsighted. It’s like saying you’re not going to buy a stock that you think has a lot of potential because it would make earlier purchasers of the stock wealthier. It’s cutting off your nose to spite your face. Don’t think bitcoin is useful? Don’t use it. But I think it’s silly to avoid it because you think it’s a scam (as discussed here) or to spite earlier users.
Many thanks to nanotube of #bitcoin-otc fame for edits/additions to this post.
If you found this post helpful, please consider a bitcoin donation to the signed address below:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
My address for Bitcoin donations: 1KgsHogAVAb2a9chnBFoSD8d2ExJa1PCp2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iD8DBQFN2XigzB3bHuyIpxcRAlwNAJ0f56WeMOhFSzQ4uokBIT6k05Nf/gCgg9kh
KsARPcy9BpBGAWK7WMObtWY=
=jKDo
-----END PGP SIGNATURE-----
is.gd link: Bitcoin is not a scam
Too Much Power
What happens when you draw too much power through your PCI-e sockets.
If you want to repair it (or pre-emptively upgrade the sockets to handle higher current) you’ll need some or all of these parts (#s given) from Digikey: 2x WM3280CT-ND, WM9918-ND, WM3711-ND (only if you burnt the socket for that last one).
Converting HRS’ OASIS Schedule Output to Google Calendar
The Heart Rhythm Society uses a system called OASIS for online schedule planning. I wanted to put the output into google calendar, but they only output it in formats that were not compatible with Google Calendar. However, one of those formats is CSV, and it’s not too hard to process with perl, so I made a little converter.
Caveats: It was designed to work with this year’s OASIS, it discards some data, it may be full of bugs, etc. It was hacked out in less than an hour until it did its job sufficiently well, then left as it was.
That said, it worked great for me. Also, it puts all posters from a given session in the event description of a single session item. Here it is:
#!/usr/bin/env perl
use strict;
unless (@ARGV == 1){
print "Usage: convert_itinerary.pl <input filename>";
}
open(INPUT, "<$ARGV[0]") || die "Failed to read file $ARGV[0]: $!\n";
chomp(my @input = <INPUT>);
close(INPUT);
my $line = 0;
shift(@input);
print "\"Subject\",\"Start Date\",\"Start time\",\"End Date\",\"End Time\",\"Description\",\"Location\"\n";
my %psessions = {};
foreach my $line (@input){
my @tmp = split(/,/, $line);
my $subject = '';
my $description = '';
my $location = '';
for(my $i=0; $i<=12; $i++){
$tmp[$i] =~ s/"//g;
$tmp[$i] =~ s/^\s+//g;
$tmp[$i] =~ s/\s+$//g;
}
# Use session time if no presentation time given
if($tmp[5] == ''){
$tmp[5] = $tmp[3];
$tmp[6] = $tmp[4];
}
# Split times and dates
$tmp[5] =~ /([0-9]+\/[0-9]+\/[0-9]+)\s+([0-9]+:[0-9]+\s+[AP]M)/;
my $stime = $2;
my $sdate = $1;
$tmp[6] =~ /([0-9]+\/[0-9]+\/[0-9]+)\s+([0-9]+:[0-9]+\s+[AP]M)/;
my $etime = $2;
my $edate = $1;
# Posters
if ($tmp[11] =~ /^Poster Session$/){
my $pskey = "$tmp[7]";
if(!defined($psessions{$pskey})){
print STDERR "Found poster session $pskey\n";
$psessions{$pskey} = {};
$psessions{$pskey}{'subject'} = $tmp[8];
$psessions{$pskey}{'stime'} = $stime;
$psessions{$pskey}{'sdate'} = $sdate;
$psessions{$pskey}{'etime'} = $etime;
$psessions{$pskey}{'edate'} = $edate;
$psessions{$pskey}{'location'} = $tmp[9];
}
if(!defined($psessions{$pskey}{'description'})){
$psessions{$pskey}{'description'} = '';
}
$psessions{$pskey}{'description'} .= "$tmp[0] - $tmp[12] by $tmp[1] $tmp[2]\r";
}else{
$subject = "$tmp[7] - $tmp[8] - $tmp[12]";
$description = "by $tmp[1] $tmp[2]";
$location = "$tmp[9]";
print "\"$subject\",\"$sdate\",\"$stime\",\"$edate\",\"$etime\",\"$description\",\"$location\"\n";
}
}
# print poster sessions
my @subkeys = qw(subject sdate stime edate etime description);
foreach my $key ( keys %psessions ){
my $sep = '","';
print '"';
foreach my $subkey (@subkeys){
print $psessions{$key}{$subkey}.$sep;
}
print $psessions{$key}{'location'}.'"'."\n";
}