Friday, April 11, 2014

Ramblings of a harmless madman

That spot where everything is 99.995% what it needs to be, and that extra 0.005% has such a high cost you can't justify it, but it still really bugs you.

I need (and have) dual displays that work fine for everything EXCEPT they aren't IPS so the colors are a little off when I do photo editing.

Now, I'm not a pro, I don't edit photos that often, and what I have now is completely useable... But it is still enough to annoy me. I can't spend ~$250 for two new IPS monitors that I will need for perhaps 20 minuets a year. And even if I do upgrade the difference for those 20 minuets is negligible. But it still bothers me.

Why does brain worry about such stoopid things? And then, of coarse(sp) I come up with solutions that would make it closer to reasonable, (through still a ways away) and that just encourages my brain to devote more resources to thinking about it.

And all this just leads to thinking about what is really wanted/needed and what one is trying to achieve and so on and so forth, and that really life isn't that bad, but what is the end goal? I don't see how the realization that increased material possessions won't give one happiness leads to enlightenment. It just means it is harder to get excited over stupid trivial stuff like a GPU that goes twice as fast but offers no actual improvement over the gaming experience.

Meh... I should go back to reading my MSE book. It is fun and interesting, but what is the point? Why bother to try to achieve money and power when you know it will just bring more disappointment and responsibility? Maybe I could change the world, but what gives me any more right to change it than anyone else? Would such an imbalance, even with the best intentions, not be oppression? And of all the fools, thinking that they knew better for their fellow man then their fellow man knew for themselves, have any not wrought grater disruption with their meddling than apathy ever could? Ah, but to live as a fool, ignorant of what destruction his creation might bring, and with too little power to ever harm another, that would be bliss. Yet still, I pity such a fool, for despite all the weakness that my strength brings, it is an important part of who I am that I would never surrender.

Well, about time for me to pull my head out of my ass. See you next time in:

Ramblings of a harmless madman!!!!!

Thursday, March 6, 2014

Crypto pt 4: Where are all my DOGEs?

Well, I've lost interest in explaining things now.

It has to do with stuff... and probability, and other stuff... yea

Crypto pt 3: I lied, but then I lied about the lie, so I actually told the truth

Remember how I said it takes a group of people to open the box? That was a lie. (Actually it was true, but you should treat it as a lie right now)

*Note that I may have misunderstood some stuff, so default to someone who knows more than me if they tell you this is wrong.

Anyone can open the box, and in fact only one person can open the box. So who gets to open the box? Well, the probability of being able to open the box is based on how much computing power you have. The box, hereafter referred to as the block, is designed to make it work this way. Why doesn't the person who has the most computing power solve the block first? A: Magic B: Lies. Well, B is sort of redundant given A.

So, if only one person solves the block, why don't they just make it so that they get all the monies?
The answer is that the blocks form a chain, and if the next block solved doesn't match up with the previous block then the code goes WTF, and throws the old block away like an unwanted child. (Mehh.. close enough)

Depending on the coin, there may be a number of confirms needed before the block is considered canon, (I believe 15 confirms means that 15 blocks have to be solved after that block.)

You can generally assume that after just a few confirms (or even no confirms) the transaction was legitimate, but if you were transferring large sums of money you might want to wait a bit. Confirms are more important to the miners because they don't get their coins if the block turns out to be bad, as opposed to the average consumer who will still get their money when a good block reads the transaction, as long as the transaction was good.

So, in order to steal money you would either have to:
A: String along a bunch of concurrent blocks (which would be improbable unless you have a lot of the processing power)
B: Solve a phony block at the same time your transaction is processed and leave with your loot before the next block is solved. (Also really hard, and if you are moving large sums the other party is going to wait for a few confirms anyways)
C: Do something else (This one is most likely, but is also very hard. I don't list it because I don't understand it yet.)
E: Find a flaw no one has thought of and exploit it (May not exist)

Now remember how I said that you had to work as a group to open a box? Well, it ends up being true. While probability factors into opening the box, it is based on processing power. The computing power of any one person is so small that they have to work in teams to have enough power to get a probability greater than zero. Again, we are treating this as magic for the sake of understanding the basics. If it makes you feel any better think of the block solving probability (as a function of computing power) as having a non-linear component.

Crypto pt 2 The basic idea

Ok, so now you have you GPU humming away and you want to know what the frack it is doing.

My assumption is that I will have no idea how this is working in anything more than the broadest terms, so that is what I have focused on learning. This is a bit vague, but it should convey the basic idea.

Basically think of it like this:
There is a big box full of money.
Whoever opens the box gets to say who the money belongs to.
When the box is closed, none of the money can be reassigned.

Now, obviously there is a problem, to transfer money you have to open the box, but if the box is open the monies can be stolen.

Solution: Make it so that the box has to be opened by a bunch of people working together.

Why don't all the people just steal the money? Well, if they aren't all trying to open for the same result, they can't combine their power. Turns out it is hard to get thieves to share the pot. Plus, there is a good chance someone would notice that all their coins are gone, and then a lack of confidence in the coins would make them worthless. (In this case fiat works to the coins advantage)

Now, over time, people get better at opening the boxes. (GPUs get more powerful, dedicated FPGAs get produced, etc) As a result the box makes itself get harder to open, so that no one person can open it. Keep in mind that it is important that the box isn't too hard to open, or no one will be able to get their money out.

Of course, there has to be a reason for people to open the box other than stealing the money inside, and that is where the reward comes in. Upon opening the box, whoever opened it gets a reward that is composed of transaction fees and (in some cases) newly generated coins.

Note that I said whoever (singular) opens the box gets the reward. For now you should just assume that it is split up amongst the group of people who worked to get the box open. What I said about it being a group, actually ends up basically being true, even though it is sort of a lie.

Crypto for dummies

I decided to mess around with cryptocurrency mining for fun. I don't expect to make any money, and you shouldn't either, but if you want to know more about it mining is a good way to go. I hit a few snags along the way though, and this might help you get past them a bit faster.

Note: I have a 5850, and I get around 250 Kh/s. If you have a similar card you should expect to spend about a day mining at one location before you can withdraw coins. (I suggest DOGE if you are just playing around, as the coins have a lower value than LTC, which means you get a bigger number of coins which is more emotionally fulfilling.)

This information assumes that you have an ATI/AMD card and are running windows, and mining DOGE,  LTC, or some other scrypt coin.

If you have downloaded cgiminer and nothing happens after you open RUN.CMD please make sure that cgiminer is in the folder you are running RUN.CMD from.

Your antivirus may have quarantined cgminer because it thinks it is a virus. It may be a virus, I have no idea where you got your file from, but it may not be. An explanation is available here https://bitcointalk.org/index.php?topic=51916.0

You can either compile the windows binary from the official 3.7.2 to be safe, ignore the antivirus warning, or download something that doesn't give you a warning.

https://github.com/kanoi/cgminer-binaries/blob/master/3.6.6/cgminer-3.6.6-windows.7z
Didn't trip my antivirus, but that doesn't guarantee it is safe.

So, now you have cgminer running (hopefully) and you are wondering what all these numbers mean.



In cyan, going from right to left, you have:

Your Kh/s, or your hash rate. If this number is less than 100Kh/s you might want to just give up.
If this number is in Mh/s, chances are you are not scrypt mining (This is what LTC uses) and you should use google to find your answer.

A: This is your accepted shares times the minimum difficulty of the share. For example, a share of 2500 with a minimum diff of 32 will increase your A by 32.
This is not the same as the shares you see on your mining pool's website. The shares on the website are the summation of the diff of every share you submitted divided by the value for that pool's share diff.
Lets say the site counts each share as a diff of 1024, the above submission would get you 2500/1024, or 2, shares from the pool's standpoint.

R: Rejected shares. Same as above, only you don't get anything from these.

HW: Hardware faults. This number should be zero, otherwise use google to find out what you did wrong.

In Purple: current diff required for cgminer to submit the share.

Red: best share: this is the diff value of our best share. Some places require you submit a share of at least some difficulty before you can get any shares. Big is good.

Yellow: This is how aggressive cgminer is being. Higher numbers mean more h/s but you are more likely to have HW faults and bad shares and stuff. This is set in the RUN.CMD file.