2018-06-20 06:59:25
[snowblossomcoin/snowblossom] #88 adding pool failover to pool miner

GitHub
2018-06-20 07:01:31
well, there is pool miner failover. It's probably not ideal because it won't try and occassionally try to get back on your preferred pool, but it works.

Tyler Boone
2018-06-20 07:10:15
@Clueless just gnu coreutils

Rotonen
2018-06-20 07:13:03
bah, stupid behavior with precache where it will always connect to the second host because it will always hit the case of looking like it was stalled.

Tyler Boone
2018-06-20 07:14:04
also thought up a better examples of localization:
if a culture expects a different introduction order of things for logic to hold water, the order of wizard pages will have to be shuffled and the contents reworked
what they do to television program formats when they do a local version of something

Rotonen
2018-06-20 07:15:06
@Tyler Boone i like that change as it makes this a stability competition between the pools

Rotonen
2018-06-20 07:15:56
haha. yeah if a lot of people have that set up then if you restart your pool you will lose a lot of miners

Tyler Boone
2018-06-20 07:16:08
not really the behavior I want though...

Tyler Boone
2018-06-20 07:17:23
work on a feature branch for stuff like that so it’ll not end up in production if an emergency release needs to get cut

Rotonen
2018-06-20 07:17:38
I pretty much always use branches

Tyler Boone
2018-06-20 07:17:52
fireduck is the "party in master" dude

Tyler Boone
2018-06-20 07:18:21
Alright, I'm off to bed. wife's getting impatient.

Tyler Boone
2018-06-20 07:18:25
ttyl sir

Tyler Boone
2018-06-20 07:18:31
oh that was a pr, read it as a commit note as a lot of things are

Rotonen
2018-06-20 13:50:44
party in master 24x7

Fireduck
2018-06-20 13:51:01
google got me in that habit

Fireduck
2018-06-20 13:51:38
I can't understand how a company that large works with that many people just checking into master but somehow it does

Fireduck
2018-06-20 14:31:50
staggered a|b testing style deployment and everyone is liable? (pure guess)

Rotonen
2018-06-20 14:59:22
heavy reliance of pre-checking automation

Fireduck
2018-06-20 14:59:28
to do builds and run tests

Fireduck
2018-06-20 15:10:13
obviously someone there was very good at both building processes and pressing people into the mould

Rotonen
2018-06-20 15:10:41
tough stuff, designing for the human element

Rotonen
2018-06-20 15:10:42
it still seems weird to me. how can a developer work on 2 things at once?

Tyler Boone
2018-06-20 15:11:07
I mean... it's throwing away the single biggest advantage of git

Tyler Boone
2018-06-20 15:12:04
many ways to rome

Rotonen
2018-06-20 15:12:43
also the company is older than git

Rotonen
2018-06-20 15:13:52
doesn't mean they don't use it.

Tyler Boone
2018-06-20 15:14:18
Microsoft is too, but git is now the most prevalent repo

Tyler Boone
2018-06-20 15:17:00
but actually yeah you are right. if they aren't on git, it makes total sense

Tyler Boone
2018-06-20 15:17:41
They are on g4 which is a rewrite of perforce

Fireduck
2018-06-20 15:26:21
Devs do two things at once by having multiple checkouts in these citc things. Client in the cloud.

Fireduck
2018-06-20 15:26:32
Some do use branches

Fireduck
2018-06-20 15:26:42
Or a git proxy thing

Fireduck
2018-06-20 15:27:51
It worked very well. I spent most of my time fighting people not tech.

Fireduck
2018-06-20 15:39:14
that's fine. They did an internal implementation that gave them the same thing as git branches

Tyler Boone
2018-06-20 15:39:23
so it's actually like they were using pull requests :slightly_smiling_face:

Tyler Boone
2018-06-20 15:40:29
Yeah. You could clone or run someone's citc client to check it

Fireduck
2018-06-20 16:15:36
i was pointing out their legacy for their workflow predates the modern hot thing and big ships turn slow, and whatever they do seems to be working out ok for them

Rotonen
2018-06-20 16:45:28
@Tyler Boone or I can be a dick and have two pools prepared.
`http://snowday.fun` and not lose any

Clueless
2018-06-20 16:49:24
Add ability to split the main snow field file into chunks and put them on separate media.
This will allow people to:
1. put some stuff in memory filesystems
2. use storage that doesn't quite fit (example, 256gb field on 250gb ssd)
etc.
If we do this nicely, we allow a ton of flexibility without having to special case it all in the miner.

GitHub
2018-06-20 16:50:47
nice, the git integration edits the post

Fireduck
2018-06-20 16:51:00
yeah, I love it

Clueless
2018-06-20 16:51:15
@Fireduck can you connect the discord thing?
People would like to see it.

Clueless
2018-06-20 16:51:17
@Clueless that’d just be being well prepared rather than a dick, IMO

Rotonen
2018-06-20 16:51:40
@Rotonen Kindergarten once told me I should share.

Clueless
2018-06-20 16:51:41
yeah, when I ran HHTT I had three endpoints up

Fireduck
2018-06-20 16:52:24
I'm playing around with their "floating ips" I should be able to push people onto a different VM before spinning this one down.

Clueless
2018-06-20 16:53:12
So a work unit sent to a miner only has any meaning to the mrplow that issued it

Fireduck
2018-06-20 16:53:19
it is basically an ID number

Fireduck
2018-06-20 16:53:32
which has to be matched up to the rest of the block header and block that it relates to

Fireduck
2018-06-20 16:53:59
so currently, nice active-active setup isn't really possible

Fireduck
2018-06-20 16:56:13
I figured, so it'll interrupt the miner slightly, but it shouldn't fail over.

Clueless
2018-06-20 16:56:21
in this case, it's a manual switch

Clueless
2018-06-20 16:56:58
/poll "Continue to maintain SnowBlossomMiner with feature parity to PoolMiner?" "Yes" "No"

Fireduck
2018-06-20 16:56:58
Open Slack to cast your vote in this Simple Poll Open Slack to cast your vote in this Simple Poll Open Slack to cast your vote in this Simple Poll

None
2018-06-20 16:57:55
Is there any difficulty in maintaining feature parity?

Clueless
2018-06-20 16:58:15
Is there a way you can make Miner extensible?

Clueless
2018-06-20 16:58:28
A little, we are going to be adding new features for things like failover, reading from multiple locations

Fireduck
2018-06-20 16:58:31
Then when a common feature comes out, you only put it in Miner, but PoolMiner inherits it

Clueless
2018-06-20 16:58:32
and other improvements

Fireduck
2018-06-20 16:58:48
Yeah, they work differently enough that it would be difficult.

Fireduck
2018-06-20 16:58:57
One deals with work units, the other with whole blocks

Fireduck
2018-06-20 16:59:03
doable, but maybe not worth it

Fireduck
2018-06-20 16:59:24
If someone wants to solo mine, they can always spin up a plow and point a pool miner at it

Fireduck
2018-06-20 16:59:56
seems reasonable to me.

Clueless
2018-06-20 17:08:50
*https://github.com/snowblossomcoin/snowblossom/compare/e9b13d12937b...9793c649a56c*
https://github.com/snowblossomcoin/snowblossom/commit/680f723694646d7135e2ffdbf736fe9cc9d32ef4 - Update web server title
https://github.com/snowblossomcoin/snowblossom/commit/9793c649a56c966a8a26ce62f29ea098547ca210

GitHub
2018-06-20 17:09:19
*https://github.com/snowblossomcoin/snowblossom/compare/9793c649a56c...dbe7217c246b*
https://github.com/snowblossomcoin/snowblossom/commit/dbe7217c246b0b8a5b5ca4870878e5eb5929b8ab - dev 1.1.2

GitHub
2018-06-20 17:09:45
@Clueless, having a backup pool isn't a "dick move", it's totes legit. just convince your users they should put those first

Tyler Boone
2018-06-20 17:33:58
That way the java code can do the headers and proof work while allowing other binary mining programs.

GitHub
2018-06-20 18:15:22
l assume the pool_host config value survive spaces `pool_host=http://snowday.fun`

Clueless
2018-06-20 18:16:24
you make funny assumptions

Tyler Boone
2018-06-20 18:16:42
adjust your algorithm to "assume dumbest thing"

Tyler Boone
2018-06-20 18:23:46
I am using some sort of java properties parser

Fireduck
2018-06-20 18:23:51
I don't actually know what it does

Fireduck
2018-06-20 18:26:34
well, I'll test it

Clueless
2018-06-20 18:26:57
just firewall connections out to pool1, and see if the poolminer connects to pool2

Clueless
2018-06-20 19:27:31
i’d not even assume it survives non-punycode i18n domains

Rotonen