<adam12>
My MBA drive died in 2016 and I lost so much cool things I worked on previously but never put on Github or backed up :(
<[0x1eef_]>
leah2: Nice!
<[0x1eef_]>
adam12: I have always had that issue, not just for code but also for configuration files. I tried a few approaches but what I found to work best was a local git server.
<leah2>
i just put anything of value online :p
<adam12>
[0x1eef_]: That's a good idea. I triple check my backups now, but a big issue I had when the MBA drive died was .git folders slowing down the backups at the time (I think I was using Backblaze).
<[0x1eef_]>
xD
<[0x1eef_]>
adam12: Roger
<adam12>
So I ignored ~/code because it was usually all on Github. But nope, lots of experiments never made it :(
<adam12>
And no time to experiment anymore, really.
<adam12>
That said, I'm in between contracts so maybe I'll get to do non-ticket work for a bit :P
<[0x1eef_]>
My goal has been to reproduce my environment as fast as I can if I need to reinstall or get a new computer.
<adam12>
That's an interesting idea. After my MBA died, I _refused_ to buy another Mac because of the keyboards. For a year+ I ran a beefy VM in my rack and just mosh'd in. Worked surprisingly well.
<[0x1eef_]>
The keyboard issue definitely pushed me away as well, and now my views on big corporations have only become worse.
<adam12>
I get it. I voted with my wallet for a long while, but at least for work, I need something that works, and FreeBSD/Linux wasn't getting me that, at least on a mobile device. When I was on desktop I'd only run Linux.
<adam12>
bbl.
<[0x1eef_]>
Makes sense.
<weaksauce>
what's wrong with the keyboard?
<[0x1eef_]>
A few years back it changed and became really unreliable. It couldn't survive the wear and tear of things that happen in life, so it would break easily.
<weaksauce>
i broke my mechanical keyboard and used one of the mac pro keyboards i got from work and it's the shit
<weaksauce>
ah maybe this is more rugged
<[0x1eef_]>
It's probably been addressed by now. It's from a good few years back.
nil78 has quit [Remote host closed the connection]
nil78 has joined #ruby
reset has quit [Quit: reset]
brokkoli_origin has quit [Quit: (Leaving)]
brokkoli_origin has joined #ruby
brokkoli_origin has quit [Remote host closed the connection]
brokkoli_origin has joined #ruby
Guest62 has joined #ruby
Guest62 has quit [Client Quit]
brokkoli_origin has quit [Ping timeout: 268 seconds]
jenrzzz has joined #ruby
brokkoli_origin has joined #ruby
jenrzzz has quit [Read error: Connection reset by peer]
jenrzzz has joined #ruby
Starfoxxes has joined #ruby
goofansu has joined #ruby
jenrzzz has quit [Read error: Connection reset by peer]
_ht has joined #ruby
grenierm has joined #ruby
Linux_Kerio has joined #ruby
Linux_Kerio has quit [Read error: Connection reset by peer]
ollysmith_ has joined #ruby
ollysmith has quit [Ping timeout: 256 seconds]
_ht has quit [Remote host closed the connection]
mange has quit [Remote host closed the connection]
dannyAAM has quit [Quit: znc.saru.moe : ZNC 1.6.2 - http://znc.in]
dannyAAM has joined #ruby
jenrzzz has joined #ruby
Vonter has quit [Ping timeout: 276 seconds]
Vonter has joined #ruby
wnd-conn is now known as wnd
schne1der has joined #ruby
grenierm has quit [Quit: Client closed]
grenierm has joined #ruby
grenierm has quit [Quit: Client closed]
grenierm has joined #ruby
OverCoder has quit [Quit: .]
OverCoder has joined #ruby
jas-maelstrom has quit [Ping timeout: 268 seconds]
jenrzzz has quit [Ping timeout: 256 seconds]
jas-maelstrom has joined #ruby
reset has joined #ruby
pvalenta has left #ruby [Leaving]
grenierm has quit [Quit: Client closed]
weaksauc_ has joined #ruby
weaksauce has quit [Ping timeout: 246 seconds]
infinity_fye has joined #ruby
infinity_fye has quit [Remote host closed the connection]
infinityfye has quit [Ping timeout: 268 seconds]
TomyWork has joined #ruby
jenrzzz has joined #ruby
jenrzzz has quit [Ping timeout: 264 seconds]
nil78 has quit [Remote host closed the connection]
nil78 has joined #ruby
infinityfye has joined #ruby
tardybaker has quit [Quit: See ya!]
tardybaker has joined #ruby
jenrzzz has joined #ruby
hightower2 has joined #ruby
jenrzzz has quit [Ping timeout: 276 seconds]
CRISPR has joined #ruby
slurpyb has joined #ruby
gr33n7007h has quit [Ping timeout: 260 seconds]
jenrzzz has joined #ruby
jenrzzz has quit [Ping timeout: 252 seconds]
jenrzzz has joined #ruby
CRISPR has quit [Ping timeout: 276 seconds]
jenrzzz has quit [Ping timeout: 256 seconds]
szkl has quit [Quit: Connection closed for inactivity]
user71 has joined #ruby
CRISPR has joined #ruby
jenrzzz has joined #ruby
jenrzzz has quit [Ping timeout: 260 seconds]
cek has joined #ruby
Vonter has quit [Ping timeout: 264 seconds]
Vonter has joined #ruby
_ht has joined #ruby
CRISPR has quit [Ping timeout: 240 seconds]
jenrzzz has joined #ruby
jenrzzz has quit [Ping timeout: 268 seconds]
Linux_Kerio has joined #ruby
szkl has joined #ruby
rvalue has quit [Ping timeout: 264 seconds]
rvalue has joined #ruby
TomyWork has quit [Remote host closed the connection]
desnudopenguino has quit [Ping timeout: 264 seconds]
___nick___ has joined #ruby
___nick___ has quit [Client Quit]
___nick___ has joined #ruby
pgib has joined #ruby
desnudopenguino has joined #ruby
<henk>
I’m writing a tool (ACME client) that needs to do mostly the same thing for multiple domains: check all its authoritative nameservers for a given record. that’s independent, so I thought I’d parallelize it, with threads or something like that. I’m still kinda new to programming. what methods should I be looking at? what’s a 'modern' way to do that?
<weaksauc_>
henk how many domains
<weaksauc_>
if it's not a huge number it's probably fine to do them sequentially
<henk>
weaksauc_: no, not huge, double-digits. and yes: it is fine sequentially but I _want_ to parallelize it. one reason is "scaling" as I hope others will use my client as well and they may have more. the other is for me to learn how to do this. and I’m not very patient (;
<henk>
bougyman: cool, that would solve it for the http challenge, but for now I need it for DNS requests, not HTTP. thank you
<henk>
I keep reading that plain 'Thread's are not truly parallel because of the GIL and some articles say e.g. »threads in Ruby are more suitable for I/O-bound tasks than CPU-bound tasks«. what I want to do is mostly IO-bound, so they should work fine and be a fairly simple approach, is that correct?
<adam12>
Could look at using Async, tho DNS is funny because resolv.rb has been very much single threaded. I am not sure how it would be affected off the top of my head.
<adam12>
henk: concurrent-ruby (mentioned above) has a fixed thread-pool where you could feed it queries and wait on the values. I normally wouldn't use a thread pool for network IO like this, but like I mentioned, DNS is funny.
<henk>
hm, I don’t think that’s very well suited for my usecase … I need to keep sending the request until the answer I get is the one I want.
<henk>
I will get an answer in any case, so I would have to re-add the query that does not give the answer I want to the queue. compared with just a thread that keeps sending the query until the result is correct, that seems more tedious to me.
<henk>
but I’m a noob, so I may be wrong. what do you think?
<weaksauce>
why do you have to resend the query
<henk>
weaksauce: with the ACME DNS challenge you prove ownership of the domain by putting a given token in the DNS. I deploy this token to the primary authoritative nameserver which then notifies the secondaries who then request a zone transfer from the primary. all authoritative nameservers need to have gotten that update to ensure that the ACME server will get it when it asks for it. so my client is
<henk>
checking whether it has been propagated to them all and only then tells the ACME server "token deployed, please validate". so as long as one of the authoritative NS responds with an error or the wrong data, i.e. not the given token, I need to keep checking it until it returns the right answer. I’m not sure I explained that very well. let me know if anything about that is still unclear.
<weaksauce>
ah i see henk
___nick___ has quit [Ping timeout: 264 seconds]
_ht has quit [Remote host closed the connection]
user71 has quit [Quit: Leaving]
polishdub has quit [Read error: Connection reset by peer]
jas-maelstrom has quit [Remote host closed the connection]
<adam12>
henk: Oh I think I see. You could spin up a thread to wait for the value if that's what you're looking to do. It will allow the rest of the program to not be blocked.
<adam12>
You could still get that with Async.
<adam12>
But you'd need to do a bit of work.
Linux_Kerio has quit [Ping timeout: 256 seconds]
jas-maelstrom has joined #ruby
ruby[bot] has quit [Remote host closed the connection]
<henk>
btw: any feedback to that code and in general on how to build a proper ruby program are welcome! especially negative criticism, i.e. what’s bad about it. and not just the code but everything around it, e.g. that I have no tests. ideally with links how to do this properly, of course, but the criticism alone would be enough. I’m still a ruby noob and have no clue about conventions or tooling,
<henk>
really, but I do want to create high-quality software!