@chris__martin@functional.cafe
@chris__martin@functional.cafe avatar

chris__martin

@chris__martin@functional.cafe

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

chris__martin, to random
@chris__martin@functional.cafe avatar

Command worth memorizing:

$ ls -ltr

List directory contents with the most recently modified entries toward the bottom.

chris__martin, to random
@chris__martin@functional.cafe avatar

Just because a particular thing has computer chips in it doesn't mean people who think it sucks are "anti-technology."

chris__martin, to random
@chris__martin@functional.cafe avatar

When I open your project in vscode, I immediately see a list of all the words you've misspelled. Why not install a spellchecker plugin in your editor?

chris__martin,
@chris__martin@functional.cafe avatar

A lot of the tools that it takes to act professional in this business, they don't even cost anything, just a few minutes of consideration.

chris__martin, to random
@chris__martin@functional.cafe avatar

The garden pre-bugging strategy works again... write some code, go water the plants, come back and fix the things I realized I did wrong while I was out in the garden

silverseams, to random

Yes neighbors I did in fact step out on the porch to release the Instant Pot pressure, do not judge me.

chris__martin,
@chris__martin@functional.cafe avatar

@silverseams I'm not sure I would feel safe moving that thing under pressure!

chris__martin, to random
@chris__martin@functional.cafe avatar

It's hard for me to imagine what it would take for a major corporate social platform to be incentivized to connect to the open activitypub network

chris__martin,
@chris__martin@functional.cafe avatar

we saw the XMPP form of this dream die twenty years ago, what's changed

chris__martin, to random
@chris__martin@functional.cafe avatar

I used to really overthink organizing haskell imports. IMO just alphabetize them in one big block and forget about it.

chris__martin,
@chris__martin@functional.cafe avatar

Post-qualified imports is a small syntactic change that makes this a lot nicer. The ImportQualifiedPost extension has been available since GHC 8.10 and is included in the GHC2021 version of the Haskell language.

chris__martin,
@chris__martin@functional.cafe avatar

e.g. The following declarations are equivalent:

import qualified Data.Aeson as JSON
import Data.Aeson qualified as JSON

The latter form is called post-qualified and it makes the declarations alphabetize appropriately when interspersed among non-qualified imports.

chris__martin, to random
@chris__martin@functional.cafe avatar

I like how mastodon bios can include 2-column tabular information; that structure shows a better understanding of how people actually use bios

chris__martin, to random
@chris__martin@functional.cafe avatar

Gonna write a post at some point about dependency version ranges, but the main bullet point for starting a new haskell library is: For each dependency, set the range to

^>= x.y.z

where x.y.z is the first three digits of the package's latest release. This will generally work and be fine and you can expand upon it later only if needed.

chris__martin,
@chris__martin@functional.cafe avatar

You'll see a lot of libraries with wider version ranges. They accrued this over time as new versions came out. They probably didn't start like that, and you don't have to.

chris__martin,
@chris__martin@functional.cafe avatar

This goes double for if you see libraries that bend over backwards using CPP to support multiple incompatible dependency versions. Do not imitate this until there is some real need for it!

chris__martin, to random
@chris__martin@functional.cafe avatar

Excerpt from the AWS SQS documentation:

"A message can include only XML, JSON, and unformatted text."

What the hell does that mean? Doesn't the inclusion of "unformatted text" as a possibility mean anything at all is accepted? Why even mention XML and JSON?

chris__martin, to random
@chris__martin@functional.cafe avatar

HASKELL CHALLENGE:

Try to write

"Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[]^_`{|}~)."

in a Haddock comment

chris__martin, to random
@chris__martin@functional.cafe avatar

Child watching movie: why is random stuff happening? Me: haha I don't know. (it was a dick joke, it's always a dick joke)

chris__martin, to random
@chris__martin@functional.cafe avatar

Haskell lets you destructure the hell out of some function arguments in a nested pattern. This simplifies the expression-level part of your function definition! But all you've really done is push that stuff into a different place where it's harder to work with. Save yourself the trouble and don't ever go through a phase where you're writing big complicated patterns.

chris__martin,
@chris__martin@functional.cafe avatar

@abuseofnotation If you have named record fields, just about anything you do in a pattern you could do in an expression instead

chris__martin, to random
@chris__martin@functional.cafe avatar

Every day I turn the bluetooth off, every day the iphone turns the bluetooth back on, and any day I forget will be a day I am plagued by useless noises coming out of some speaker somewhere that the phone managed to find.

chris__martin, to random
@chris__martin@functional.cafe avatar

It is just so upsetting how much easier it is for me to deal with men that my wife has trouble with. As soon as I show up, they're able to recognize that we're people with things to do other than help them with their bullshit. I swear I do not have any extraordinary people skills. It's just, you show up with a dick, and people listen to you.

People will actually apologize to me for the way they dealt with her. They apologize to me

sam, to random
@sam@social.coop avatar

Do I know anyone who's a money advisor who could give me a little (free, sorry :( ) consultation on what options I have for getting money out of retirement accounts and how taxation would work? I need to use some of that money now, desperately, but I have no idea if I'll just have the IRS garnering my wages later and be in an even worse situation if I use it. Doesn't have to be a major long thing, just a quick call or something.

chris__martin,
@chris__martin@functional.cafe avatar

@sam Not a tax expert, but it looks like essentially you enter the distribution amount in part 1 of form 5329 and have to pay a 10% tax on it.

And if it's a traditional IRA, it also counts as income reported on 1040 line 4

chris__martin,
@chris__martin@functional.cafe avatar

@sam No idea whether the bank running your retirement account does tax withholding on the withdrawal. If they don't, to make sure you don't owe any additional penalties/interest, you can take it upon yourself to immediately send the IRS an estimated tax payment for that 10%.

chris__martin,
@chris__martin@functional.cafe avatar

@sam (This is a thing I have learned being self-employed; if you have income that isn't subject to withholding, the IRS expects to receive quarterly estimated tax payments.)

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