@tatterdemalion@programming.dev avatar

tatterdemalion

@tatterdemalion@programming.dev

Professional software engineer, musician, gamer, amateur historian, stoic, democratic socialist

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

tatterdemalion,
@tatterdemalion@programming.dev avatar

A fact I’ve recently enjoyed spreading around: all of humanity’s radio communications have traveled about 200 light years from Earth. The diameter of the Milky Way galaxy is ~100K light years. So (in the worst case) we’re like 0.2% of the way to even being a “blip on the radar” of any alien life within our galaxy.

tatterdemalion,
@tatterdemalion@programming.dev avatar
tatterdemalion,
@tatterdemalion@programming.dev avatar

Good idea.

Another tool in the same vein is tldr:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">$ tldr tar
</span><span style="color:#323232;">
</span><span style="color:#323232;">  tar
</span><span style="color:#323232;">
</span><span style="color:#323232;">  Archiving utility.
</span><span style="color:#323232;">  Often combined with a compression method, such as gzip or bzip2.
</span><span style="color:#323232;">  More information: https://www.gnu.org/software/tar.
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - [c]reate an archive and write it to a [f]ile:
</span><span style="color:#323232;">    tar cf path/to/target.tar path/to/file1 path/to/file2 ...
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - [c]reate a g[z]ipped archive and write it to a [f]ile:
</span><span style="color:#323232;">    tar czf path/to/target.tar.gz path/to/file1 path/to/file2 ...
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - [c]reate a g[z]ipped archive from a directory using relative paths:
</span><span style="color:#323232;">    tar czf path/to/target.tar.gz --directory=path/to/directory .
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - E[x]tract a (compressed) archive [f]ile into the current directory [v]erbosely:
</span><span style="color:#323232;">    tar xvf path/to/source.tar[.gz|.bz2|.xz]
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - E[x]tract a (compressed) archive [f]ile into the target directory:
</span><span style="color:#323232;">    tar xf path/to/source.tar[.gz|.bz2|.xz] --directory=path/to/directory
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - [c]reate a compressed archive and write it to a [f]ile, using [a]rchive suffix to determine the compression program:
</span><span style="color:#323232;">    tar caf path/to/target.tar.xz path/to/file1 path/to/file2 ...
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - Lis[t] the contents of a tar [f]ile [v]erbosely:
</span><span style="color:#323232;">    tar tvf path/to/source.tar
</span><span style="color:#323232;">
</span><span style="color:#323232;">  - E[x]tract files matching a pattern from an archive [f]ile:
</span><span style="color:#323232;">    tar xf path/to/source.tar --wildcards "*.html"
</span><span style="color:#323232;">
</span>

How often does branchless programming actually matter?

I’ve started noticing articles and YouTube videos touting the benefits of branchless programming, making it sound like this is a hot new technique (or maybe a hot old technique) that everyone should be using. But it seems like it’s only really applicable to data processing applications (as opposed to general programming) and...

tatterdemalion,
@tatterdemalion@programming.dev avatar

If you haven’t profiled your code and noticed that branch misprediction is a problem, then it doesn’t matter.

tatterdemalion,
@tatterdemalion@programming.dev avatar

This might not be exactly what you’re looking for, but there is verifiably correct software. You can use proof assistants or work in limited computational models (i.e. always-terminating, non-Turing-complete).

One example: statebox.org/what-is/

tatterdemalion,
@tatterdemalion@programming.dev avatar

Do you write unit tests with objects mocked via interfaces? Or polymorphism via interfaces? Those are the main reasons to use DI.

tatterdemalion,
@tatterdemalion@programming.dev avatar

I don’t see any reason to defederate threads just because it is run by Meta

Then you didn’t read the links posted in the OP.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Sorry for making an assumption then. I just didn’t see you address any of the problems stated in those articles.

tatterdemalion,
@tatterdemalion@programming.dev avatar

Join instances you believe will maintain your core values and what you’d like to see

So that is exactly what is happening here. programming.dev users are trying to vote for their core values. It seems that our core values include “fuck Facebook” so that’s probably how the vote will go on programming.dev. This decision only affects programming.dev, and you can leave if you don’t like it.

Side note: I know the “leave if you don’t like it” sentiment is very conservative-sounding when in the context of e.g. choosing a state to live in, but the situation is entirely different when it’s as simple as making a new account. No doubt some people might be upset by decisions made by their instance admins, but that’s just unavoidable, and part of the game of trying to choose your “home instance.” If you want to be exposed to Threads content, then undoubtedly there will be at least one instance that federates.

It's so much easier to comment on Lemmy because it isn't a toxic cesspool waiting to tear you apart

It feels like people are a lot nicer here than on Twitter and Reddit, and even when people disagree, it’s generally civil and not an all-out flame war. Also, there’s no algorithm promoting outrage all the time....

tatterdemalion,
@tatterdemalion@programming.dev avatar

The first figure showing color-coded effort is close, but I would say Rust’s blue “business logic” portion should be smaller. Pattern matching and linear data types can encode a state machine so much more accurately than C. You’re more likely to get the business logic right the first time if you know what patterns to use.

tatterdemalion,
@tatterdemalion@programming.dev avatar

It really helps to hear a historical perspective on this. The issue is not a matter of, “let’s give them a chance and see how it goes.” It’s more like, “we know this has gone very badly in the past and the incentives are clear for Meta to sabotage us.”

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