I'm not sure why, but poclbm fails to terminate with the application when I click the "close" box. In fact, it ran in the background for almost 4 hours, slowing down my hash rate on another miner and not reporting any shares to slush the whole time. I wouldn't have noticed, except that my fan was still going when I shut down the other one to switch and fired up your program again. This was really the only bugfix issue I noticed. Great job!
I've noticed this too, and it's a problem I've already solved on the program I work on in my real job so I'll just take a look at the code over there and copy it over
I have to run it as an administrator, for some really strange reason that I can't fathom, or it doesn't get access to my old laptop's GPU. This might not be wise, but setting the shortcut to require admin privileges might actually be a good short-term solution.
I use my computers in admin mode by default (shame on me, I know, but I'm lazy), so I'll try to play with the program in a restricted account and see what's up.
The Wishlist
This is my wishlist (not that joshua70448 has to conform... I can still dream!) (and the list is in no particular order):
Hey, I'm always a fan of ideas for new features, gives me something to do
- A fix for the miniscule amounts I sometimes pull... rather than 1 satoshi displaying as 1.000E-08 BTC, having it display as 0.00000001 BTC. This might simply need to be a math-to-text conversion for the purposes of display, though I'm not sure if something like that is possible.
Definitely something I'll fix in the next version, and not that hard to fix either.
- Data from the "statistics" page: I would like a running log of as much of the data as I want to store (i.e., "lines of log to store" settable to 0 (off) and from 1b to 16mb), pulled on a regular basis from the pool's website. I believe this is really about as complex as pulling the information from the user page, though the link with the JSON information at the bottom might warrant its own tab. No math needs to be done on these numbers, just a display-and-log mechanism. If the log is updated and information corrected, highlighting would be awesome.
Yeah, those stats have their own JSON page, I would just add a timer to pull that on a regular basis and log it out to the interface. I plan on implementing that at some point, once I get the major kinks worked out of the rest of the program.
- If we have the API key, why is there a need to manually pull the worker passwords? Auto-populating the passwords from the web page would be awesome, if that's even possible (I don't know anything about slush's API, so this very well might not even be possible or practical).
The API key lets me get the JSON information for your account, including a list of your workers, but sadly it doesn't give me passwords. I tried really hard to build a screen scraper that would let you log into your account and pull your worker passwords for you, but I couldn't get it to authenticate
- A selector which allows data pulled from multiple exchanges, with an "average" price per share (and optionally, from a single exchange).
- A selector which allows multiple currencies to be pulled.
- A way to completely turn off the financials... mainly because I'm not interested in the minute (as in: tiny) gains or losses of the exchange rates while I mine. This one might just be me, but I really don't care about the exchange rate at the moment.
I'll add more interesting stuff for the currencies at some point, and for now you can turn them off by changing the Currency dropbox to
(none) to turn that off (I'll try to make a checkbox that does the same thing at some point).
- An option to donate a small portion of my proceeds to the developer's BTC or NMC fund, with optons for flat-rate amount per time period AND/OR percentage of each payout from slush. I think this is fair, so long as it defaults to being "off" and isn't pumped or hyped any more than the link on the "about" window, etc. (some of us are less concerned about the money and reminders tend to be annoying)
I'll at least add a donation link to the About tab, and I'll consider something like what you're suggesting, I just really hate when developers beg for money in their apps. If I add something, I guarantee it'll be as low-key as possible
- The ability to select a miner other than poclbm (not because I necessarily want to, but experimentation and a snazzy interface like the one for poclbm would be nice... different miners seem to work better with specific pieces of hardware than others... not sure if there's a pattern to this or not).
- The ability to input a command to the command line, such as C:\cgminer\cgminer -w32 -I15 so that an alternate miner can be used, if a new one happens to come out. This could be complicated, though, since it would necessarily have to reject the URL and user/password stuff... just an idea.
These two suggestions are a little trickier, since I've written this program to specifically handle output from POCLBM. An idea for the (not terribly near) future might be some kind of addon system for various mining programs.
- Log export function, copy-to-clipboard, save-to-text-file, send-report-to-developer, etc., just some button so that we don't have to copypasta by hand.
I thought about these when I was first putting the app together, but I was too lazy to actually do them. I'll probably add them in the next release, though; it would make problems easier to diagnose.
- Adjustable log verbosity (export is full verbosity, but we might not want everything in the display).
I'll probably do something similar to the program I work on in my real job, where I use a listview to show the log info with various severity levels (message, warning, error, fatal, etc.).
- An option to set/change worker difficulty.
Sadly, this is another one of those things that I would need to be able to authenticate in order to do, and I can't do that at the moment. If anyone has some C# code that can authenticate to Slush's pool, I would really appreciate it!
The only issues I see are that this community tends to want to look at the code, so open sourcing might be good for marketing purposes here.
I'm definitely a fan of open-source, I'm just not quite ready to release the code yet, I wanted to make sure it was working well and I need to clean up and comment the code (again, I'm a lazy programmer
)
And I'll pass it through my rootkit detectors and multiple virus checkers, really torture-test stuff later on (just to see if there are any compatibility issues with any virus checkers out there, since Chrome apparently labels one of the miners as malware, even though it's clearly not), but for now I'm really liking what I see. I reiterate: great job, joshua70448!
Thanks
One of the reasons I used POCLBM to mine was it doesn't set off the enterprise virus scanner on my work machine, whereas cgminer is blocked as malware (some nasty viruses bring along a copy of cgminer to mine bitcoins on infected machines and send the proceeds to the virus author).