Tyson Williams

137 posts

Tyson Williams banner
Tyson Williams

Tyson Williams

@tyson_mn

I am a software engineer with a passion for creating correct and maintainable code using functional programming.

Katılım Şubat 2020
6 Takip Edilen58 Takipçiler
Sabitlenmiş Tweet
Tyson Williams
Tyson Williams@tyson_mn·
I can't stand X anymore. I have switched to Mastadon: @TysonMN" target="_blank" rel="nofollow noopener">mastodon.social/@TysonMN
English
0
0
0
11
Mark Seemann
Mark Seemann@ploeh·
I seem to recall an @xkcdComic where aliens visit Earth to share that the key to advanced technology is to use a p-value of 0.03 (not 0.05), but I can't find it. Is it something I only dreamt?
English
5
0
5
2.7K
Tyson Williams
Tyson Williams@tyson_mn·
At @forwardnetworks, we typically don't add such a test. Instead, in the body of the commit message, we include the reports from performance runs for a recent previous commit and the current commit.
English
0
0
0
27
Tyson Williams
Tyson Williams@tyson_mn·
@ploeh, do you use TDD to make performance improvements? That is, if you want to make some production code use less time, do you always write a test that fails without that optimization?
English
2
0
0
142
Tyson Williams
Tyson Williams@tyson_mn·
@ploeh Yes, as long as your cache doesn't grow. That is what I meant.
English
0
0
0
5
Mark Seemann
Mark Seemann@ploeh·
@tyson_mn Besides, even if you're concerned about memory footprint of a memoised function, couldn't you address that with cache eviction?
English
1
0
0
41
Mark Seemann
Mark Seemann@ploeh·
@tyson_mn I've been thinking about your distinction between purity and referential transparency, as we discussed in Minneapolis in November. Would you agree that memoisation is another example of an operation that is referentially transparent, yet impure?
English
1
0
0
47
Tyson Williams
Tyson Williams@tyson_mn·
@ploeh I got it. Have the higher-order function that takes a function and returns a memoized function allocate (on the heap) the entire cache. Then it is not possible for the memoized function to have an out of memory exception (because of the memoization). Now this is a great example.
English
1
0
0
18
Tyson Williams
Tyson Williams@tyson_mn·
@ploeh If you put a reasonable bound on the size of the cache, then I think this is a solid example.
English
1
0
0
16
Uncle Bob Martin
Uncle Bob Martin@unclebobmartin·
Typed languages are fine, as far as they go. But unless the type system is Turing complete, type correctness cannot imply program correctness. If your type system is Turing complete then I dare say you’ll want to unit test your types.
English
38
8
174
75.1K
Tyson Williams
Tyson Williams@tyson_mn·
@joshuamck @ploeh This can also be true for deterministic tests while doing TDD in a large code base because not all code is equally clear to all developers even when they made the test fail two minutes ago with their small code change.
English
0
0
0
6
Tyson Williams
Tyson Williams@tyson_mn·
@joshuamck @ploeh At my work, we phase the goal as making test failures actionable. I agree with Josh that long-running tests and non-deterministic tests are better when they have actionable failure messages.
English
1
0
0
14