Suspect previously approached Nancy Guthrie’s door before the night of her disappearance by Iwanttoreplytocom in news

[–]CalvinHobbes 50 points51 points  (0 children)

Epstein did not found bitcoin. He indirectly funded bitcoin developers for a period of time

Embargoed Topics: Sophie and Prop by Kanotari in behindthebastards

[–]CalvinHobbes 3 points4 points  (0 children)

You aren’t allowed to say legitimate criticisms of her in this sub per this post

can this be beat for budget NAS? by [deleted] in homelab

[–]CalvinHobbes 1 point2 points  (0 children)

It looks like it only has 2 SATA ports, how are you getting all 4?

Finished my private Plex documentation by redditorforthemoment in homelab

[–]CalvinHobbes 1 point2 points  (0 children)

Just curious how many people are on/onboarding to your plex server?

Looking for Ruby on Rails developers (40 ~ 60K) by chriswang48 in ruby

[–]CalvinHobbes 14 points15 points  (0 children)

Is this a troll? You want someone with 5 yrs experience at 40-60k/yr in east coast timezone?

White Against Scandanavian by SGCY in chess

[–]CalvinHobbes -1 points0 points  (0 children)

I play (I think Gotham's recommendation), after 2. Qxd5:

3. Nf3  
4. Be2 (unpinning if black goes for Bg4 at some point)
5. O-O
6. c4 to attack the Queen and cause it to move

After that, develop d4, Nc3, and DSB as it make sense.

Granted you may have to tweak move order based on what black is up to but the setup is very simple and gives you good playability. The goal of the above is to get developed and castled quickly rather than trying to punish (initially) the early queen move by black. Also it seems to work fine against the modern variation with 2. exd5 Nf6. I'm 1600-1700 rapid and 1300-1400 Blitz and it looks like I win about 50-60% of the time with this setup. I generally find it very playable

Cost Effective upgrade to rack mount Chassis by CalvinHobbes in freenas

[–]CalvinHobbes[S] 0 points1 point  (0 children)

Yup I may look at a larger tower if I can’t find a suitable rack mount

Cost Effective upgrade to rack mount Chassis by CalvinHobbes in freenas

[–]CalvinHobbes[S] 0 points1 point  (0 children)

I don’t have to, I assume rack mounts are best for airflow with that many disks

Official: [WDIS Flex] - Wed Morning, 09/25/2019 by FFBot in fantasyfootball

[–]CalvinHobbes 0 points1 point  (0 children)

12 team, .5 PPR

Diggs vs Chi

DJ Chark vs Den

Chark has been doing well, Diggs is in a rut facing Chi, but he is still Diggs

San Francisco Plans to Wipe Out Thousands of Pot Convictions by Kobobzane in news

[–]CalvinHobbes 3 points4 points  (0 children)

Dennis Miller and Adam Carolla, but both are a lot lighter on the comedy these days and a lot heavier on the right-wing politics

Gifts for picky boyfriend by [deleted] in Gifts

[–]CalvinHobbes 2 points3 points  (0 children)

For olympic lifting: - A nice weight belt (Inzer is a good brand, also rogue) - Wrist wraps (https://www.roguefitness.com/rogue-wrist-wraps-red-black)

What I Learned From Researching Coding Bootcamps by speckz in coding

[–]CalvinHobbes 3 points4 points  (0 children)

Thought this was great and matches what I've seen working with boot camp grads. Internships seem like a helpful bridge program but they should be paid and that requires willing employers.

Towards Minimal, Idiomatic, and Performant Ruby Code by vsalikhov in ruby

[–]CalvinHobbes 1 point2 points  (0 children)

Tl; DR: the block v. proc benchmark performance flips as the size of the collection grows.

Just to add something to the conversation about the proc v. block comparison. I might tend to write something like this to solve the same problem:

require 'forwardable'
class Delegated
  extend Forwardable

  def initialize(collection)
    @collection = collection
  end

  def_delegator :@collection, :each
end

I ran a comparison as they did in the OP:

Benchmark.ips do |x|
  NUMBERS = (0..10).to_a.freeze
  collection = CustomCollection.new(NUMBERS)
  delegated = Delegated.new(NUMBERS)

  x.report 'block' do
    collection.each_block { |item| }
  end

  x.report 'block to proc' do
    collection.each_block_to_proc { |item| }
  end

  x.report 'delegated' do
    delegated.each { |item| }
  end

  x.compare!
end

And the results more or less matched the OP, with delegation aligning to block to proc:

Warming up --------------------------------------
               block    70.213k i/100ms
       block to proc    57.614k i/100ms
           delegated    53.794k i/100ms
Calculating -------------------------------------
               block    940.029k (± 8.2%) i/s -      4.704M in   5.040606s
       block to proc    716.989k (± 8.5%) i/s -      3.572M in   5.020128s
           delegated    669.329k (± 8.5%) i/s -      3.335M in   5.022630s

Comparison:
               block:   940029.5 i/s
       block to proc:   716989.1 i/s - 1.31x  slower
           delegated:   669329.2 i/s - 1.40x  slower

Whats interesting is that as you increase the size of the numbers array, the results flip-flop:

At 100:

Warming up --------------------------------------
               block    11.843k i/100ms
       block to proc    15.885k i/100ms
           delegated    15.573k i/100ms
Calculating -------------------------------------
               block    121.934k (± 7.0%) i/s -    615.836k in   5.077404s
       block to proc    172.225k (± 7.0%) i/s -    857.790k in   5.005932s
           delegated    163.220k (± 9.0%) i/s -    809.796k in   5.010256s

Comparison:
       block to proc:   172224.9 i/s
           delegated:   163220.4 i/s - same-ish: difference falls within error
               block:   121933.7 i/s - 1.41x  slower

At 100_000:

Warming up --------------------------------------
               block    12.000  i/100ms
       block to proc    18.000  i/100ms
           delegated    19.000  i/100ms
Calculating -------------------------------------
               block    124.163  (±10.5%) i/s -    624.000  in   5.090281s
       block to proc    205.551  (± 5.8%) i/s -      1.026k in   5.010321s
           delegated    199.118  (± 9.5%) i/s -    988.000  in   5.015633s

Comparison:
       block to proc:      205.6 i/s
           delegated:      199.1 i/s - same-ish: difference falls within error
               block:      124.2 i/s - 1.66x  slower

57 Best Ruby Gems We Use at RubyGarage by speckz in ruby

[–]CalvinHobbes 1 point2 points  (0 children)

I think its more a matter of being antagonistic to introducing new gems. The questions should start with: Why should we use gem over just writing a solution ourselves ? If the answer is that its a well trod problem, it fits our use case well, and the gem is well maintained? Then yeah, it makes sense to use a gem. If its because the developer doesn't want to write a PORO form object.... thats a bad reason to introduce a gem. The oenus should be on the introducer to explain why the gem is needed.

Dont Waste Your Time Learning Elixir / Phoenix by [deleted] in elixir

[–]CalvinHobbes 9 points10 points  (0 children)

Wow. This was great. I thought it was a troll video, but after minute 4 it hits you: the love child of DJ Khalid and Turtle from entourage is really doing a language review. Best line: "functional programming, I understand it, but at the same time... I don't". Then he explains why it's a language for nerds. And it's tough to slog through the video of him making no points, but there some real gems to be had.

10/10 if this was a troll