@exa@mastodon.online
@exa@mastodon.online avatar

exa

@exa@mastodon.online

postdoc (programming languages, haskell, bioinformatics) https://github.com/exaexa

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

typeswitch, to random
@typeswitch@gamedev.lgbt avatar

is there ever a good reason to allocate a contiguous buffer in memory that is greater than 4GB ?

asking for a friend

exa,
@exa@mastodon.online avatar

@typeswitch programmers are super lazy and in many languages regular arrays are still the only "sensible" interfaces between program parts...

this is a pretty regular occurence:

from numpy import np
a=np.read("this 100gb blob of extracted features from pics")
scale_columns(a)

exa,
@exa@mastodon.online avatar

@typeswitch (also literally anything that happens in matlab)

exa,
@exa@mastodon.online avatar

@typeswitch yeah, IMO kinda usual style of processing stuff in the applied data sciences. Just load a matrix. I see this in bioinformatics mostly, but no illusions about other areas being much better....

Generally the accepted way of doing stuff is not to optimize until they hit some hard allocation limit, and then they optimize the data against the maximum possible allocation size because they're typically not the kind of programmer who'd know how memory allocation works.

exa,
@exa@mastodon.online avatar

@astrid @typeswitch

yeah many HPCs now have dedicated bigmem nodes to handle this kind of stuff :D

(also, let's just attach 500GB of M2 swap right? 🤩 )

exa,
@exa@mastodon.online avatar

@typeswitch @astrid
Like, I'm certainly not saying that 4GB isn't enough memory for everyone and that loading a 100GB blob is a good idea :)

matvil, to random
@matvil@fosstodon.org avatar

Just a reminder how beautiful is.
Albert-Chib Gibbs sampler for binary probit regression.

exa,
@exa@mastodon.online avatar

@matvil it is 💓 but might get 1 line more beautiful with a @. and/or ifelse

(also probably a tiny bit faster for bigger data because the array wouldn't get 2 filtered writes but just 1 regular)

xChaos, to transit Czech
@xChaos@f.cz avatar

Před devátou a už 275W z panelů. Kafe umleto, uvařeno a vypito. Ponožky schnou. Ale na start závodu do Lyonu je to pořád štreka...

@spring

exa,
@exa@mastodon.online avatar

@xChaos je nekde prosim mapa? (mozna jsem ji nekde prosvihnul)

exa,
@exa@mastodon.online avatar

@xChaos ooo vyborne diky!

milesmcbain, to random
@milesmcbain@fosstodon.org avatar

So my holiday reading was the (neo)Vim user manual. It’s very impressive to me how once you get a sense of the model - the concepts and how they relate… this vast surface area of functionality that seemed hard to remember before just becomes a thing you can derive commands in using logic and a handful of higher level principles.

There are wrinkles for sure, but overall I think it’s an impressive feat of design. 👏👏👏

I already made myself a minimal IDE in 5 lines of config. 🤣

exa,
@exa@mastodon.online avatar

@milesmcbain I like how the based IDEs always reduce to something like "hey editor pls remember that I indent with 2 spaces". And gets way better than anything else around.

Btw I've got a ctrl-enter "rstudio emulator" working somewhere for 2-window vims. If you'd find that handy pls ping me, I'd go find the great total of 2 config lines which did it. :D

kevinmoerman, to opensource
@kevinmoerman@fosstodon.org avatar
exa,
@exa@mastodon.online avatar

@kevinmoerman oooooh yes, we started doing 100% as mandatory for all new projects like a year ago. It helps SO MUCH.

Now we try to cover the 100% with Literate-rendered docs, which is also very useful, kinda guarantees that everything in the package is up-to-date documented.

exa, to mastodon
@exa@mastodon.online avatar

If I forget to switch a post to "quiet public" before posting (I fail at that with replies all the time) is there any way to switch it to quiet without deleting and redrafting? It doesn't seem to work for me. Or am I doing something wrong?

exa,
@exa@mastodon.online avatar

@underlap ah yeah kinda assumed so... Maybe there could be a good "default" options for replies

exa,
@exa@mastodon.online avatar

@underlap ahhh good point. Makes sense. Thanks :)

exa,
@exa@mastodon.online avatar

@underlap

Bonus: I forgot to switch my previous reply to quietpublic despite really trying to not forget to switch it.

Bonus bonus: I see now that replies to quietpublic stay quietpublic by default, that sounds pretty much OK then.

someodd, to haskell
@someodd@fosstodon.org avatar

Could I get some love, please?

I feel I'm developing lots of software in for and cool things.

A showcase of some of my projects: https://www.someodd.com/showcase

My GitHub (please follow, star): https://github.com/someodd

exa,
@exa@mastodon.online avatar

@someodd heyho, is there any bigger deployment around of the gopher thingys?

typeswitch, to random
@typeswitch@gamedev.lgbt avatar

mini-announcement: I've decided to publish Yotta.

Yotta is a forth-like language with a very small core. In the beginning, all you can do is:

  • emit machine code,
  • emit machine code that emits machine code,
  • define new words ... that emit machine code

With just those primitives we define an x86-64 assembler, and from there we use that assembler to define most of a forth.

Check it out: https://github.com/typeswitch-dev/yotta/

exa,
@exa@mastodon.online avatar

@typeswitch thank you, this is lovely.

Forth is underrated. :)

someodd, to random
@someodd@fosstodon.org avatar

I'm just thinking about how if you properly package your software for easy installation especially on a variety of popular operating systems, you're really putting yourself ahead of the herd, I think.

I feel like generating a Debian package for a cabal/Haskell project should just be one or a few commands, yet it generally has been very involving for me, even if I also have a nix flake. Tips?

exa,
@exa@mastodon.online avatar

@someodd main debian packaging tip: Forget you are the package developer. Embody a frustrated sysadmin 8 years from now, using your package for landing airplanes or something, and trying to get their server patched with a new unofficial patched version that fixes something critical discovered 2 hours earlier.

abuseofnotation, to haskell
@abuseofnotation@mathstodon.xyz avatar

A nice guide on the different types of type systems:

https://serokell.io/blog/look-at-typed-lambda-calculus

But I find such articles ridiculously hard to understand, especially system F (although I have been coding in for years).

Ironically, dependently-typed seem much simpler. In non-dependently-typed systems it's very hard to pinpoint the connections between types and terms. In dependently-typed systems, terms and types are the same thing.

Anyone feel the same way?

exa,
@exa@mastodon.online avatar

@abuseofnotation Feeling the same way - definitely.

Feeling many systems kinda approach the problem wrong, maybe we should have the constrained program synthesis way instead of typechecking-first everywhere by default - yeeeeeees very much.

lupyuen, to random
@lupyuen@qoto.org avatar

"Wait for Interrupt instruction (WFI) provides a hint to the implementation that the current hart can be stalled until an interrupt ... so a legal implementation is to simply implement WFI as a NOP" 🤔

Source: https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf

exa,
@exa@mastodon.online avatar

@lupyuen ...what's wrong with that?

exa,
@exa@mastodon.online avatar

@lupyuen if by "loop forever" you mean "the hart isn't going to execute past the WFI instruction", then yeah that code might be wrong

exa,
@exa@mastodon.online avatar

@lupyuen anyway I guess fixing this with 1 extra instruction that loops forever over the WFI is quite valid. I assume your interrupt handler will be able to jump over that, right?

pmidden, to haskell
@pmidden@fosstodon.org avatar

Anyone have a example of scotty + dynamic code reload?

exa,
@exa@mastodon.online avatar
egonw, to random
@egonw@social.edu.nl avatar

how did we get in a situation where we now have to make abstracts of abstracts of journal articles? and why is all this still not machine readable?

exa,
@exa@mastodon.online avatar

@egonw
teeeeech
deeeebt

henrikbengtsson, to random
@henrikbengtsson@mastodon.social avatar

package question:

Is there ever a valid reason for a package to set/modify an R option permanently, e.g. when the package is loaded? Say, options(digits = 5), options(na.action = 'na.pass'), ...

Except for options defined by the package itself, and temporary tweaks (e.g. withr::with_options()), I cannot come up with a single case where this should be allowed. On the contrary, I'm leaning toward it should be banned. But, I'm reaching out to the community to see if I missed something

exa,
@exa@mastodon.online avatar

@henrikbengtsson unless the package explicitly says something like "just loading this gives cool defaults for XXX", it is very shady and should be banned.

pglpm, to privacy
@pglpm@emacs.ch avatar

Today I suddenly found these "who to follow" suggestions in between posts (for privacy I covered icons and account names). Never seen "suggestions" before. Is Mastodon becoming like Twitter or its ilk? Particularly worrying is the "personalized suggestion" – then something is tracking what I do? Or am I misunderstanding something?

@louis

exa,
@exa@mastodon.online avatar

@pglpm @shaedrich @louis

PS maybe we are looking at the whole concern from a slightly different perspective, would the "transparency" way do it for you, or your view is more against the analytics in its entirety, e.g. as an "unnecessary exploitation surface"?

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