@BoydStephenSmithJr@hachyderm.io avatar



Born 1980-05-15 in Mena, AR
Cis White Male He/him
Liberal Democratic Socialist Idealist
Professional Haskell Programmer
Lives in Cove, AR
(24 years resident of Fayetteville, AR)

Please use Wire (or Signal) for private messaging.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

So, I've long known MS Excel is a POS that only survives off momentum and lock in, but I at least expected that it could write out CSV files

Yes, it has the option, but then it uses semicolon (not comma) as the delimiter! Some idiot thought the delimiter should be based on your list separator character in your localization settings.

Best bit? MS Excel doesn't have an option to use semicolon (or localized character) as a delimiter on input. So it can't open the invalid CSV it generates.

dpiponi, to random
@dpiponi@mathstodon.xyz avatar

Given a random number generator that generates points uniformly in the unit interval [0,1] can you generate uniformly distributed points in the unit circle using only algebraic functions? In a finite number of steps - so no rejection sampling, loops, recursion. No "almost always" finite either.

Just wondering about sitiations where it seems you can't avoid trig functions.

@BoydStephenSmithJr@hachyderm.io avatar


r <- rand
theta <- rand <&> (* 2 * pi)
return (r, theta)

Is that even "uniform"? I'm not sure that isn't "more dense" toward the origin.

Is using sphical/cylindrical coordinates the same as using trig?

@BoydStephenSmithJr@hachyderm.io avatar

@dpiponi https://stats.stackexchange.com/a/406914 is old enough that it's probably not cursed by generative "AI". I think it gives a solution "just" using squares, roots, and arithmetic. But, I don't really understand it -- I've forgotten too much maths, if I ever understood uniform sampling -- so it might be sneaking in something non-algebraic.

Mrfunkedude, to random
@Mrfunkedude@mastodon.social avatar

Tempted to make Linux my full time OS but I just spent $40 on a windows app.

@BoydStephenSmithJr@hachyderm.io avatar

@Mrfunkedude Sunk Cost Fallacy

Anyway, I've been told not to advocate for Linux usage here, so I'll just say I hope you are happy with whatever OS choice you make.

@BoydStephenSmithJr@hachyderm.io avatar

@Mrfunkedude @_ I don't believe the toots/replies were directed at me, but they certainly discouraged telling people to use free software in general and Linux in particular.

Don't recommend Linux when people are complaining about MS Recall. Don't talk about Krita when people bemoan the cost of Adobe software. Etc.

I'm honestly never sure when people want a reply at all. I've certainly been accused of being a "reply guy" and I don't want to upset people with that behavior.

calmeilles, to random
@calmeilles@mstdn.social avatar
@BoydStephenSmithJr@hachyderm.io avatar

@calmeilles Aww, now I miss Google+ again.

tiffanycli, to random
@tiffanycli@mastodon.social avatar

What voice should OpenAI use now that ScarJo’s is off-limits? Wrong answers only.

@BoydStephenSmithJr@hachyderm.io avatar


Your choice of:

  • Male 1: Arnold Schwarzenegger
  • Male 2: Robert Patrick
  • Female 1: Kristanna Loken
  • Female 2: Summer Glau

(And now, I explain the joke: these are actors that played terminators in the first 3 movies and the series.)

hungryjoe, to programming
@hungryjoe@functional.cafe avatar

Potentially silly question

A lot of codebases have a CI step that validates that the code is formatted correctly

Is there a compelling reason not to do this as part of the unit test framework?

Like, pull in your code formatter as a test dependency, and write a test that checks the formatting.

Advantages are

  • the CI config would be simpler
  • you're less likely to forget to run the formatter
  • versioning the code formatter along with the other dependencies
  • you get the formatting errors bundled with the test output

Disadvantages are???

@BoydStephenSmithJr@hachyderm.io avatar

@hungryjoe I think there's value in separate steps for several reasons. The primary one being semantic difference: unit testing checks semantics of the compiler output, format checking addresses the syntax of the compiler input.

The secondary is related: I want to be able to format check code that doesn't currently compile.

As a practical matter, IME format checking is faster than unit testing, so I do the former much more often. Unit testing is rarely triggered by an editor save (IME) e.g.

@BoydStephenSmithJr@hachyderm.io avatar

@hungryjoe I think you need to be careful with that because of the LACK of semantic distance. Ideally, there would never be any diagnostic emitted by the local format check that wasn't emitted by the CI format check and vice-versa. Using the unit test framework for one and not for the other just makes it more likely that the processes diverge.

maralorn, to haskell
@maralorn@chaos.social avatar

I have real trouble developing an intuition for NoDeepSubsumption.

I always only notice by sheer luck that changing

a . b $ c


a $ b $ c

fixes my type error.


@BoydStephenSmithJr@hachyderm.io avatar

@maralorn I also still have problems with this in , too.

Best tip I have is to pay more attention to the 'forall's. Compose / . / &lt;&lt;&lt; "fixes" the 'forall', which can cause type checking to fail elsewhere or, if "a" is higher-rank, there (it forces "b" to be monomorphic; higher-rank "a" might require a polymorphic "b'). Application / '$' (in GHC) doesn't "fix" the forall.

I think the difference might be "deeper", but for me it's able where the "choice" for the forall is made.

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

Skipping the ycombinator site and linking directly to: https://berthub.eu/articles/posts/cyber-security-pre-war-reality-check/

It's not a comforting read, but I think a good one.

(h/t @simonmic)

RainofTerra, to random
@RainofTerra@terra.incognita.net avatar

It’s weird that people still joke about IPv6 as if it’s not on the cusp of being the majority of public IP traffic.

@BoydStephenSmithJr@hachyderm.io avatar


I'm not ready.

"Your IPv4 address on the public Internet appears to be

Your Internet Service Provider (ISP) appears to be WINDSTREAM

No IPv6 address detected

You appear to be able to browse the IPv4 Internet only. You will not be able to reach IPv6-only sites."


governa, to ps4
@governa@fosstodon.org avatar
BoydStephenSmithJr, (edited )
@BoydStephenSmithJr@hachyderm.io avatar

@governa These speedrunning categories are getting ridiculous. PS4JB: LGTV%, really?

typeswitch, to random
@typeswitch@gamedev.lgbt avatar

you want types because you want the compiler to prevent people from writing bad code.

i want types because i want the compiler to help me write good code.

we are not the same.

@BoydStephenSmithJr@hachyderm.io avatar

@typeswitch Reject the type usage binary! As a proud user and implementor of bidirectional typing, I embrace both your descriptions; my pronouns are check/infer.


BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

According to my bathroom scale, I gained 6 lbs. yesterday.

Part of me wants to see how many days I can do that in a row.

potus, to random

I just imposed a series of tariffs on goods made in China:

25% on steel and aluminum,
50% on semiconductors,
100% on EVs,
And 50% on solar panels.

China is determined to dominate these industries.

I'm determined to ensure America leads the world in them.

@BoydStephenSmithJr@hachyderm.io avatar

@potus Do the tariffs go to workers? If not, you've injured the American worker and enriched Billionaires while hurting International relations.

(Yes, I know that Threads won't show whoever runs the potus account this reply.)

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

What should I play? https://steamcommunity.com/id/bss03/games/?tab=all I want something I can play on my Debian Linux desktop with a mouse and keyboard that I can get into and out of quickly.

I keep bouncing off games recently. I started Littlewood, but had to go help around the house before I really got out of the tutorial -- so I'm I'm disengaged, and unlikely to start it up and read the same dialog boxes again.

I tried DF, but I don't have the will to properly plan an embarkation -- took me "forever" to find a spot.

monkeyborg, to random
@monkeyborg@triangletoot.party avatar

I like it when a singer says “guitar!” in the middle of a song, and then a guitar solo starts. How did they know that was going to happen?

@BoydStephenSmithJr@hachyderm.io avatar

@monkeyborg It's performative, by saying "guitar" by themselves, they have done a "guitar" solo.

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

What's the over-under on "civilization" surviving until (28 July) 2061? If we are going to run out of splinter-free toilet paper before then, I'm going to quit avoiding the things I like that are bad for me.

BoydStephenSmithJr, (edited ) to random
@BoydStephenSmithJr@hachyderm.io avatar

Your value is NOT in what you produce. Your value is NOT in what you consume. Your subjective experience -- the joy, wonder, awe, etc. -- is the unique and incomparable value you bring to the universe.

Yes, make great things. Yes, take only what you need. Yes, improve yourself, your community, and the world in any way you can. But, remember--especially when everything is just too much: just being is enough.

(Or at least, that's how I'm justifying my own lack of productivity today.)

nixCraft, to random
@nixCraft@mastodon.social avatar

The highest-paid software engineers write little to no code. Can you guess what they do all day?

@BoydStephenSmithJr@hachyderm.io avatar

@nixCraft IME, cause problems for lower-paid software engineers. ;) /s

DiazCarrete, (edited ) to haskell
@DiazCarrete@hachyderm.io avatar

I know that Megaparsec doesn't backtrack automatically and that you have to use "try" for that, but this behavior of "many" was unexpected. Why oh why doesn't it parse the final space?
Maybe I didn't read the documentation thoroughly, but I don't think it's actually spelled out in the Haddocks?

@BoydStephenSmithJr@hachyderm.io avatar

@DiazCarrete IIRC, we don't "try" by default because it can cause excessive backtracking, and having that even be a possibility holds references to things, increasing memory usage, and decreasing performance.

So, yeah, anytime you want to "noncommittally consume", you have to use try explicitly.

foone, to random
@foone@digipres.club avatar

I love when sites have 1.5factor authentication.

You put in your username, and it's like "hey, log in with a code to your phone, or a password!" and my password manager already filled the password, so I just hit continue.

and then it asks me to verify a code it sent to my phone anyway for 2fa

BoydStephenSmithJr, (edited )
@BoydStephenSmithJr@hachyderm.io avatar

@foone Extremely frustrating when your phone dies while you are traveling, and you are trying to find and pay for parts / repair services.

Yes, I do have backup codes, at home.

vie, to random
@vie@hachyderm.io avatar

🌶️ take of the day: maybe we shouldn't be merging linear types into a language with a partial head function in its base library.

@BoydStephenSmithJr@hachyderm.io avatar

@vie Come on, don't you know unsafeDrop is way cooler than use-after-free in C! /s

I don't honestly know where the middle-ground is tho.

w7voa, to random
@w7voa@journa.host avatar

At a campaign fundraiser in California, President Biden mentions that Trump, during the pandemic, had suggested people "inject a little bleach in your arm. That's what he said. I wish he had done a little bit of it himself."

@BoydStephenSmithJr@hachyderm.io avatar

@w7voa That doesn't strike me as presidential. Trump might be an illiterate villain, but I still don't want him to engage in self-harm; I just want to prevent him from harming (himself or) others.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • osvaldo12
  • mdbf
  • Youngstown
  • cisconetworking
  • slotface
  • rosin
  • thenastyranch
  • ngwrru68w68
  • khanakhh
  • megavids
  • ethstaker
  • tacticalgear
  • modclub
  • cubers
  • Leos
  • everett
  • GTA5RPClips
  • Durango
  • anitta
  • normalnudes
  • provamag3
  • tester
  • lostlight
  • All magazines