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

exa, to debian
@exa@mastodon.online avatar

ok the new APT cli interafce is veeery nice.

indymnv, to random
@indymnv@fosstodon.org avatar

Seeing the schedule in conference and the last survey, looks like the community is embracing more the idea of using Rust as a support language.

exa,
@exa@mastodon.online avatar

@indymnv uh, why? (me interested, can you elaborate pls?)

exa,
@exa@mastodon.online avatar

@indymnv ooh, interesting. Like, I could join the crowd asking for actual sub-NP static typing algorithm, we got bitten by the typesystem so many times... (but I'm biased towards haskell instead of rust :) having typeclasses would also solve SOOO MUCH of various other gripes, incl. compilation/load speed).

Anyway nice summary there, thanks!

ljs, to random
@ljs@social.kernel.org avatar

Sometimes I feel like, in an effort for everybody to try to present themselves as hugely empathetic, society has become a hell of a lot less empathetic in reality.

exa,
@exa@mastodon.online avatar

@ljs "hello chatgpt can you rewrite this mail as more empathetic"

exa,
@exa@mastodon.online avatar

@ljs "hello chatgpt please restore empathy"

🤪

mcc, to random
@mcc@mastodon.social avatar

Exactly what affine transformation is the raw function

(x,y) = (x+y, x-y)

Equivalent to? Like if I wanted to express that transformation in terms of translations and rotations.

exa,
@exa@mastodon.online avatar

@mcc tbh I always draw a big "1" and transform the 3 points just to be sure.

exa,
@exa@mastodon.online avatar

@mcc yap might work too. But linear algebra on colors confuses me too much. :D

DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar

AFAIK, there's not an easy way in Haskell to inspect at the type level what type a field has in a record.

What I mean is that that there doesn't seem to be a type family like

type FieldType :: Type -> Symbol -> Type

that we could invoke in ghci like

:kind! FieldType Person "age"

Why would I want this? For libraries like servant and rel8 that use parameterized records where the types of the fields vary heavily with the type parameter.

I guess I could hack it using generics. 🤔

exa,
@exa@mastodon.online avatar

@DiazCarrete wouldn't the label thing that Selda used for SQL work just right? I think it's -XOverloadedLabels or something close to that.

exa,
@exa@mastodon.online avatar

@DiazCarrete (example down below here: https://selda.link/ )

exa,
@exa@mastodon.online avatar

@DiazCarrete I thought it somehow worked directly in the type constraints (see example with Has here: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_labels.html and I recall seeing a library for generating the Has instances). Never tried myself though so maybe I'm misreading the docs.

exa, to programming
@exa@mastodon.online avatar

Hey fediverses, is there any good online shell scripting primer for non-programmers? Something like "automate your stuff with unix" or so, ideally focused on the methodology rather than gory details of shell scripting.

exa,
@exa@mastodon.online avatar

@propersquid it's not for me, it's for the colleagues here. I know learning by doing is best but I don't have much time to supervise and don't want to be that kind of guy who goes
-"hey guys why don't you solve your problems with unix"
-"yay okay! how we do it?"
-"oh just solve problems with unix! you'll see"

typeswitch, to random
@typeswitch@gamedev.lgbt avatar

is stack allocation (including call frames & locals) just a game of russian roulette ... ?

i can't be the only one who thinks this is weird.

exa,
@exa@mastodon.online avatar

@typeswitch it used to be pretty much normal to have 2 or 3 dedicated stacks for different purposes (see e.g. prolog machines). Kinda killed by (among other factors) x86's single SP reg. C and now LLVM&rusts don't help much either.

I hope we could see some cool new multistack code on risc-v (no big network effects yet, and there is no dedicated stack support needed in the cpu)

exa, to random
@exa@mastodon.online avatar

So, did you guys already get a promoted product in a GPT reply? :)

lwpembleton, to random
@lwpembleton@genomic.social avatar

Crashing a user's R session due to license validation errors is not an acceptable function. A license check should never terminate a whole session, even if the package thinks the license is already in use. #rstats

video/mp4

exa,
@exa@mastodon.online avatar

@lwpembleton
TBH, license validation is not acceptable.

jakubzelenka, to random Czech
@jakubzelenka@mastodon.social avatar

Seznam a Seznam Zprávy přitvrdily. Už se na ně s adblockem nepodíváte.

exa,
@exa@mastodon.online avatar

@jakubzelenka

"blokátory"?!!

coolbutuseless, to random
@coolbutuseless@fosstodon.org avatar

Is there a blessed way to create a RAWSXP from an existing chunk of memory within C?

Specifics:

  • The memory is already allocated elsewhere
  • I don't want to use memcpy, just wrap the memory where it is such that the RAWSXP points to it.
  • I don't want the garbage collector to know about it - I will free the memory myself later.
  • It still has to be valid RAWSXP that I can use in R

This is a bit of a callback to this post: https://fosstodon.org/@coolbutuseless/111956983679205597

exa,
@exa@mastodon.online avatar

@coolbutuseless how does writeBin handle the connection? (Most likely it is C code already that can be copypasted or so, or perhaps at least called with lighter parameters than SEXPs)

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

@landesfeind @milesmcbain

Sorry for later reply :D

into .vimrc you put:

vnoremap # y<C-w>w<C-w>"0<C-w>w

then in vim, you start the "running terminal" using e.g. :term R

and you can e.g. send a line to the termial from the editor buffer using V#, or send the whole "paragraph" (usually a code block) using vip#.

Might need window/clipboard marks for more complicated setups.

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