@BoydStephenSmithJr@hachyderm.io avatar

BoydStephenSmithJr

@BoydStephenSmithJr@hachyderm.io

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.

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,
@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.

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

to

a $ b $ c

fixes my type error.

BoydStephenSmithJr,
@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 / . / <<< "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,
@BoydStephenSmithJr@hachyderm.io avatar

@RainofTerra

I'm not ready.

"Your IPv4 address on the public Internet appears to be 98.20.232.59

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."

:blobfoxsad:

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,
@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,
@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,
@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,
@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?
https://stackoverflow.com/a/78355045/1364288
Maybe I didn't read the documentation thoroughly, but I don't think it's actually spelled out in the Haddocks?

BoydStephenSmithJr,
@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,
@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,
@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.

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

Today, everything feels too hard to accomplish. All work tasks and both personal projects with recent progress just make me mentally recoil when I think about them.

If progress isn't made, doom follows.

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

2024-5-10
🧝 5xp ⛩ 167 👣
streak: 2
🟩🟩🟩🟩🟩
⚔ 🦇👻🐺👹🧟
🌰🌰🌰🌰

https://rogule.com

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

I wish Animal Well had a Linux version.

Maybe I should set up my Switch? I bet I can get Hades cheap, and I've heard that I'll like it.

nixCraft, to random
@nixCraft@mastodon.social avatar

Explain what you do in 4 words or less. I’ll go first:

Automate software delivery 🚚

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

@nixCraft Primary caregiver disabled family

Oh, you meant my paid job? Full-stack (Haskell backend) developer

dbsalk, to random
@dbsalk@mastodon.social avatar

"Today is Thursday. Can we skip today? I want it to be Friday."

I feel like the 11yo is way too young to be having these thoughts.

#today #DadThoughts

BoydStephenSmithJr,
@BoydStephenSmithJr@hachyderm.io avatar

@dbsalk School schedules had me quickly appreciating the weekend. I was (and am) still fairly food motivated and Friday had "better" food in the school cafeteria throughout my primary and secondary education.

BoydStephenSmithJr,
@BoydStephenSmithJr@hachyderm.io avatar

@dbsalk My primary school had pizza on Friday; my secondary school had burger and fries-day. My favorite lunches they served at the time.

BoydStephenSmithJr, to random
@BoydStephenSmithJr@hachyderm.io avatar

@adamconover seems to have stopped posting Factually! here since about number 255.

For this one (260), I'll be the hype man: https://www.youtube.com/watch?v=LuDbktG9lD8

foone, to random
@foone@digipres.club avatar

you know what'd be a cool feature for an image editor?
"export last action as code"

where it looks at the last thing in the undo/redo buffer, and saves it out as a program (in C/C++/whateverscripting) that uses an ImageEditorLibrary to do the same thing

BoydStephenSmithJr,
@BoydStephenSmithJr@hachyderm.io avatar

@foone For some reason, I thought the GNU image manipulator could already do this. Maybe it was just the UI focus on playing scripts last time I used it. (I use #Krita for what little image editing I do for a while now.)

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