It has definitely been way too long since I posted here.  One of the things that has happened since my last post is that I am kind of a “Bitcoin expert” now…  Honestly, I feel that there is so much that I still don’t know about it, BUT I do know a lot more than a lot of average people.  I was even on an internet radio show/podcast, to talk about it because it had been in the news and they didn’t know anyone else who can talk enough about it.  There have also been a few requests to do a talk at some local conference, so I thought I would right this and at least get some things out with maybe less alcohol involved than that show.

I’ve dabbled in Bitcoin and other cypto-currencies since it was still possible to find blocks of 50 Bitcoins with a CPU, and I did find one…  Those coins are long gone though.  I really had no idea they would be worth as much as they had been or even as they are now.  At that point in time $5 each seemed like a lot for them, and that price had been pretty stable.  I cashed out the 32 I had left with Mt. Gox and lost 1/3 of the money in bank transfer fees.

Before I get into more about my experiences with Bitcoin, I should probably explain what it is.  Bitcoin is a virtual currency that can be split into amounts of basically any size. All the transactions are public and not reversible. The owners of the sending and receiving accounts may be unknown to someone looking at the transaction details, but the sending account, receiving account, amount, and any associated message, will be publicly visible. You can also see the current balance of any account because you would know all the transactions to and from the account. The massive ledger of all Bitcoin transactions is referred to as the Blockchain. There is even a website that allows you to browse the Blockchain. In order to send and receive Bitcoins, you will also need a copy of the Blockchain. The most common way to do this, would be to install a wallet on your computer and let that download it. With the amount of transactions, it could take days to download, and a few GB of space on your machine… You could also trust a cloud wallet, but they could just close up, leaving you with nothing. That ended up being the case with Mt. Gox and people who trusted them. There is also malware that is designed to steal Bitcoins from the wallet on your computer, so you need to encrypt that wallet, if you have one.

Bitcoin mining is hard…really hard… Some sort of computing device or devices try to find a block of Bitcoins. Blocks started at 50 Bitcoins, and are currently at 25. The size will cut in half every few years. The block reward amount also includes transaction fees that were added to the transactions that were processed. Blocks are found around every 10 minutes, and the difficulty changes every two weeks, to account for changes in the computational power of the network. The difficulty is so high right now that people need to be working with other people, who all are using hardware that is made to ONLY MINE BITCOIN (and will probably be obsolete in 6-12 months). I wouldn’t recommend mining Bitcoins, unless you have hundreds or thousands of dollars lying around that you would be fine with losing.

Many different companies accept Bitcoin now. Most of them go through a company like Bitpay or Coinbase, to accept Bitcoin, but convert it to another currency right away. Usually transactions need to be verified at least a couple times before they consider the funds to be transferred. Each verification happens when a new block is found (so, around every 10 minutes). Some other currencies were designed to decrease that time, but none are as widely used as Bitcoin.

Since I’m not sure who (if anyone) will read this, I’ll just explain that much right now. I can explain more, if anyone has questions.

Posted in Bitcoin | Tagged , | Leave a comment

Dell, Fix Your Bios

This issue has been a problem for me for some time now. I have spent hours with Dell support, with no real help. I basically gave up hope of any solution until I listened to “What Would Google Do?” by Jeff Jarvis. He described how writing a blog post about his Dell issue resulted in a solution. I don’t have any kind of following like he has, and I don’t know if anyone from Dell will ever actually read this. Hopefully they do, because it is their only chance on getting me back as a customer. Since this Dell, I have bought an ASUS and a Gateway laptop, and will be keeping with that trend unless something is done.

My problem isn’t related to anything that Dell stated that my Inspirion 1520 laptop could do, and doesn’t do. It is related to what it should be able to do. I upgrade all my machines as much as I can, although I don’t really get into overclocking and pushing them more that way. I mostly just upgrade with parts that work in them or at least should work in them. I ordered my 1520 with about the highest specs I could at that time 2GB memory, 2.2 GHz Core2, and 8600 GT. I upgraded the hard drive a few times, upgraded the CPU to a 2.5 GHz Core2, upgraded the memory to 4GB (Dell’s listed max), and added an internal turbo memory card. I was even running 64 bit Windows, instead of 32 bit that it came with. Everything was going good, until I took a machine learning class that I needed to process large amounts of data in memory, which I discussed some of that in a previous post.

I needed more memory, and I did not know how much more… I looked up the chipset and around a lot of blogs. They told me that the chipset max is 8GB. When laptop memory got down to $400 per 4GB module, instead of $800 per module, I bought a pair. I installed them, started it up, and it was stuck on the bios screen… Maybe one of them is bad. I run it with just one, boots fine. I try just the other, and that boots fine too. Maybe the limit really is 4GB. I try a 2GB and a 4GB, and that boots fine… Maybe it is still really only using 4GB. I loaded up a lot of apps, and was about to use over 4GB of the memory… Then, I chat with Dell, and after maybe 45 min, the guy I was talking to though maybe it was just a little over the 8GB with those modules and that was the issue.

After spending a lot of time looking around in forums and blog posts about similar setups, I look at a blog from a Microsoft employee again. He originally pointed me to the memory I bought, so I was going to let him know of my issue. He had a Dell, but it was in their business line. He said that with that model, they had the exact same issue, until Dell fixed it in the bios. He said there for some reason, memory over 7GB was causing that issue until they fixed it. He suggested I contact Dell again with that info, and let them know, so they can fix it.

I chatted again with Dell support. This time the guy was saying that there was no way I could use over 4GB in that laptop model. I told him I was running 6GB fine. His response was “well good for you”. WHAT?!? I don’t remember if it was more of that support person or another one during the few more times I have tried to contact support since then, but I was also told that they have no control over what gets fixed or doesn’t get fixed in their bios because it was up to whatever the developers wanted to do. I highly doubt that is right because I am a developer and we don’t get to make that kind of decisions when there are issues.

Although I could have returned my other 4GB module, and take a large hit from the restocking fee, I decided to keep it, in hopes that one day Dell would fix it. So far that day has not come. Hopefully this post isn’t a complete waste of time because I really want to be able to use my machines to the level that I should be able to use them. If this is not fixed though, I will not be buying another Dell, because if I can’t upgrade them to the hardware limitations because there are bugs in their code, I would rather shop somewhere that I can do that.

Posted in Complaint, Dell, Intelligent Systems | Tagged , | Leave a comment

250 GB is nothing (with math)

As a U-Verse customer, I am very concerned about the new bandwidth cap. There are a lot of people who believe “nobody will use that much” then throw out a lot of possibly made up statistics and grids of what 250 GB could be in usage. I am going to take a look at it in a different way. The plan I have is 12 Mbps, and I realistically usually get 11.5 Mbps (which I am fine with). My maximum speed is usually the speed that I get as long as the source can support it. How long can I use that speed before hitting the cap?

Well here is some math:

I can only use my full internet speed for a little over TWO DAYS… Given that an average month is about 30 days, 49.47 hours is just a little over 1/15th of the time. Every month I pay $45, and that price has not gone down at all. Being that I can only use it for about 1/15th of the month without being charged more, my plan is now effectively worth a little over $3/month. What if I used it all month? How much would that cost?

Here is a little more math:

This means that the cost of fully using the service that I pay for is now 1611% of what it was before the caps. Can anyone say price gouging..?

Posted in Uncategorized | Leave a comment

Poker Hand Test Data

While looking for some code to use for a screenshot because Microsoft rejected my first WP7 submission due to the original icon I used, I came across some code from a graduate class I took. The class was on intelligent systems. The main tool we used in that particular class was Weka. Weka comes with some sample datasets, and there are a variety of sites that have datasets that Weka can use. My group was looking at a dataset of poker hands, although like the dataset creators, we didn’t have much luck. Their dataset had random cards with suits. I think the same card couldn’t appear twice, although I am not completely sure on that.

The objective of having the dataset would be to feed Weka a list of hands with a value to represent what the hand was. Weka would then create a model by learning how to classify a poker hand without knowing any rules of poker. We would then use the model in another program to have it determine what the hand was.

One issue with their dataset was that without pre-processing of the data, a suit mattered as much as the card value. Order also seemed to effect the classification because 2,3,4,5,6 may get classified differently than 2,4,3,5,6. Since they made the dataset to simulate real hands being drawn, the statics are about the same for the hand types. I think they had actually had to add some royal flushes manually because they didn’t randomly produce any. The problem with a dataset consisting of small amounts in some of the classifications is that the model would have trouble correctly classifying those because it had not been trained enough with them. Also, being 5 or so off of a specific group is not seen as a big issue when there are thousands of sample hands.

I created a program to create an ARFF file (basically a csv file with Weka headers) which consisted of n hands that were evenly distributed. Basically it randomly picks the hand type, and then randomly creates a hand that fits the chosen type. We ignore the suit because in reality it doesn’t really matter, what matters is whether or not the suit of the cards is the same. We have one field for that. The cards are also ordered after the hand is picked in order to eliminate the order classification issue. We didn’t see that as an issue because that could be something people do mentally while playing poker. If anyone wants to use this file, I have uploaded it here.

The classifiers in Weka that we used were JRip and Multi-Layer Perceptron. Using a JRip model would correctly classify 89.76% of the time. Our model with the multi-layer perceptron classified correctly 97.37% of the time. Using the generated models, another group member made a java app that would allow the user to create a poker hand and use the model to classify it.

Update 1/19/2012: I posted the source to the above program on GitHub a little while ago to test Git for work. It is available here.

Posted in Intelligent Systems, School | Tagged | Leave a comment

Unreliable Caller ID

I really wish the caller ID on my Samsung Focus was reliable.  It usually works with correctly connecting numbers to my contacts, although there have been a few cases that it doesn’t.  One issue was that all the contact connections in my call history and text messages became disconnected a few weeks ago.  I think that was maybe a one time thing though because it hasn’t happen since them.  The other issue is my phone going to some strange state where it looks like it has reset, but hasn’t actually reset.  I made a video a while ago of this.

When my phone gets in this state, caller ID no longer works. It just displays the number, which wouldn’t be that bad if I knew every contact on my phone… My phone may go to this state a few times a day or maybe only once in a few days. I have not found any thing causing it to go to this state. I do have a SanDisk 32 GB MicroSD card, which may have something to do with it, although I have a lot more than the 8GB of internal memory used up now, so resting it would be kind of annoying right now.. Hopefully the NoDo update has some effect on this issue, although I won’t know until AT&T releases it.

Posted in WP7 | Tagged | Leave a comment