Show more

The entire discussion about how we need to rename content warning to content filter or whatever the fuck anyone has in mind reminds me of people arguing homeless people should be called the unhoused. I mean I don’t care what it’s called; it just doesn’t change the substance/essence of what it is and why people are annoyed

Having been here since 2016, I can tell you there is definitely no such thing as a consensus on usage of content warnings on the fediverse. It's a decentralized network that doesn't belong to any one party, so by definition there is no single culture on it. Different corners have different expectations and customs.

boost to pet the cat
__
     />  フ
     |  .  . l
     /` ミ_xノ
     /      |
    /  ヽ   ノ
    │  | | |
 / ̄|   | | |
 | ( ̄ヽ_ヽ)__)
 \二つ

Long post ahead 

@daeyoung @andrew My first programming language was java…I have a special hatred in my heart for OOP, and I’m glad things like scala/clojure etc. exist on the JVM to make it actually useful 😂

My number one recommendation before diving in is installing DrWatson to make package management easier and to prevent dependencies from clogging up your main environment, but reach out if you’d like more! I’m always happy to make conver- I mean, umm…show people alternatives…MUHAHAHAHAHAHA 😂

Long post ahead 

@daeyoung @andrew “Right” in terms of interacting with both computers and data, (and package management) it beats R and python IMO.

TL;DR up front: I’ve found I can accomplish much more with much less, and in a much less convoluted way with julia, and I’ve used R for 8 years, and julia for 3-4, and python intermittently in that time as well. Read on for why I like it.

Some simple syntax examples:

No tabs/spaces issues like python, every block starts with a signifier like function, if, else, etc. and ends with “end”. This makes it very easy to track “delimiter” position and catch unclosed forms.

Broadcasting functions (write a function to operate on a scalar, then apply the following)
f(x)=2x
f(2)->4
f(1:2)-> Error, doesn’t accept vectors
f.(1:2)->[2,4]

Broadcasting the broadcast: if you want to apply other broadcast operators with more complex functions, there’s a macro for it:

y=[1,2]
(f(y)+12/)37 -> fails
(f.(y).+12)./37-> works
@.((f(y)+12)/37)-> works

So you can write expressions to operate on single values, test them accordingly, and have guarantees they’ll apply correctly in an n-tensor context.

Oh, and speaking of n-tensor, you can easily replicate the outer product function in R with broadcasting, and you can still use any binary function as you can in R:

julia:
x=[1,2,3,4]
x.*x’ returns a product matrix
vcat.(x,x’) returns a matrix of paired x values.

R:
x=c(1,2,3,4)
outer(x,x)
the second example doesn’t work in R with outer(x,x,c), and that data structure seems to need manual creation with the matrix function (and it behaves weird anyway).

Mixed iterator loops:
Instead of:

for i in 1:10
j in i+1:11
do something on i and j
end
end

We do:
for i in 1:10, j in i+1:11
do something on i and j
end

And you can add arbitrary amounts of iterators into the flattened statement to make it clear where the logic is happening, and which iterators belong where in nested loops.

First class functions: ease of closure construction, and lambdas are cleaner:

just lambdas:
R: {function(x){return x^2}}
python: (lambda x: x + 2)
julia: (x->x+2)

And lambdas can be nested for nested higher order functions. Like so:

map(x->filter(y->y[,1]!=2,x),data_frame_list) (or something like this)

Making code parallelized is trivial in most cases. Write a function, wrap it with the @everywhere macro and put it in pmap. The same function can be effortlessly compiled to cuda with the @CUDA macro, since almost all of julia and its packages is written in pure julia. (Side effect: no need to be a C++ expert for performance, and modifying dependencies for your work is easy.)

Bonuses:

Package management, creation, and code-sharing between machines is trivial with helpers like DrWatson, which is excellent for academic users, and per-package manifests. (And no pip/conda nightmares)

Dataframe support is excellent, and has similar functions to melt/cast built in. Adding to this, indexing rules make sense as compared to R’s [[]], [], and the differences between $name and [,col] when working with tibbles.

Gadfly more or less == ggplot2 but with more features, and different back-ends like plotly are also available for plots.

Finally, multiple dispatch is pretty dang neat, and the type system doesn’t “try to help” like it does in R which leads to all sorts of wacky bugs that are difficult to locate (like when R tries to help with lists/vecs/matrices,etc).

e.g.
function(x)=x^2 gets compiled to
function(x::Int)
function(x::Float)
function(x::Real)
etc.

But you can specify you only want one and you’ll only get that one, and it also speeds up compilation to a degree.

If you decide you want all of them, the appropriate one is dispatched when required, and this doesn’t have the same limitations of traditional overloading. As explained better here.

End

I hope that helps explain my position, but much of this may just be preferences on my end in terms of how I think about solving problems, and how well this language comports with that. I do suggest giving it a try though, you may like what you find after getting over the initial friction of switching languages. 😄

Guide to Content Warnings

On qoto, the only toots that require a content warning (CW) are:

- Spoilers
- NSFW (Not Safe For Work) – this is up for interpretation, but I assume refers to tits and dicks
- Using a derogatory epithet or racially charged language in a toot that itself is not racist, sexist, homophobic or otherwise hateful speech (such as quoting a passage from The Adventures of Huckleberry Finn for critical purposes)*

Other reasons someone may want to use CW’s here on qoto:

- Strobe effects (to avoid triggering an epileptic seizure in people who are susceptible)
- Violence, accidents, rape, suicide, self-harm, death, etc., including to non-human animals (PTSD, etc.)
- Food (pics of food can prompt people with metabolic syndrome, eating disorders, which are relatively common)
- Pics of drugs (may trigger use by people who are addicted)
- Very long posts (so uninterested readers don’t have to scroll through them)

It’s better if the CW description is more specific (without itself containing CW-eligible content). Instead of just “Spoiler”, say “Spoiler – The Wizard of Oz”. Also, it’s generally a good idea to repeat the CW description within the toot itself at the top of the toot for those who may have the auto-open feature enabled.

What doesn’t need a CW:

- swear words
- content that might hurt someone’s feelings
- unpopular opinions
- political content
- pictures of animals (that are alive and well)
- content from those with autism or who are otherwise neuro-atypical
- using the CW as a title or heading for your toot or trying to place actually content into the CW description is irritating for others

Overuse of the CW feature ultimately undermines it’s usefulness because it forces people to have to click on each toot or just enable the auto-open feature. However, someone with a condition like epilepsy or PTSD, the auto-open feature is not really an option so CW overuse effectively forces people with disabilities to click each toot while everyone else can just enable the auto-open feature, which doesn’t seem fair.

Other Mastodon instances have varying rules and views on CW use.

Note: I’m not an admin or moderator here, this is just my opinion. I don’t always adhere to these guidelines and you can do what you want.

- - - -

* This epithet restriction isn’t listed in the rules, but it was adopted as a compromise in response to some specific events. Of course hate-based speech such as sexist, racist, homophobic or anti-trans speech will not be tolerated. (Note: I personally block anyone who uses epithets in any context because the intent is often ambiguous and you can communicate the same info without explicitly using the epithet.)

Me, writing work emails after reading #JaneAusten:

“My dear Dr. Dashwood—
I trust that you and your graduate students remain in good health. Praise for your latest article is on everyone’s lips. I have not the smallest wish to vex you, but circumstances compel me to trouble you for a meeting. There is not a moment to be lost. I flatter myself that you will endeavour to fill out this Whenisgood poll before Michaelmas.
Until then I remain,
Your humble servant— S.” 🪶

Asymptotics-pilled statisticians definitely bamboozled every generation of statistics acolytes to forget about finite-sample properties, because nobody in my life has every told me the linear-regression prediction interval undercovers because the sample SD underestimates the population SD, which is not even advanced statistics. It's just simple Jensen's inequality 😭😭

Seriously, someone's gotta write a "explaining conformal inference" paper and submit it to for the rest of us.

So someone messaged me privately and asked how absolute this is.. like would we block an instance calling for genocide. I feel my response is import to reiterate here, so here it is:

Its not just about the authorities, it is about the people whose lives are at risk by that call to genocide having the right to see those posts and use that information to look out for their own safety... If someone is doxed, they should know, if someone is threatened, they should know, and they should be able to take action.

Someone saying violent things online doesnt guarantee some police officer will meander by and take them down. The law only tends to get involved once someone is reported, and sometimes not even then. No one will be reporting a site if no one can see or know it is there.

The question is, if someone is being physically threatened and having their life in jeopardy how are you helping them by blocking the privileges of the **victim** and disallowing the victim the right to see the threat placed against them?

In short, I refuse to take away rights from the victim simply because there is a violent bad actor out there. If the victim doesn't want to see it they simply need to import the block list and the problem is solved for them, so why not keep the power in the victims hands?
QT: qoto.org/@freemo/1093198179438

🎓 Dr. Freemo :jpf: 🇳🇱  
I mentioned this in a private message to someone recently about why a small handful of servers block qoto. I wanted to reiterate it here for the ne...

CW - "Mastodon Culture" 

I'd like to share another thought on the CW after encountering a few more thoughts on it.

Most civil instances encourage it's use, when the poster thinks they may be sharing something a little heavy for relative strangers to approach.

There's a flip side, though. Some people don't use it because they are here to be their whole selves. Out, trans, neurodivergent, living with mental or chronic illness, whatever.

1/2

Thoughts on CW 

Some thoughts about toots recommending/demanding the use of CWs.

There will be some who whole-heartedly agree with the idea of using CWs for posts conventionally not concealed behind CWs. Some—like me—will be indifferent but not opposed to using it. And there will also be some who feel like they're being forced to use it.

If you really want to persuade the latter two groups to use CWs more broadly than they're willing to, "this is the way it has been and how it always should be, so take it or leave it" attitude won't work. It borders on guilt-tripping them by saying "you are inconsiderate and insensitive and lack empathy if you don't use CWs." Also, I'm skeptical there's (and will ever be) a bright-line rule as to what makes for a triggering post—it's inherently subjective. Where do we draw the line?

That said, we need to present gains and benefits of CW that apply to those people as well. Personally, I like CW because I tend to want to have a rough sense of what I'm about to read—like a table of contents. What do you like about CWs other than hiding triggering content?

Today I learned that the main developer for mastodon is trans. That explains a lot!

Things I would like to see enacted by the new US Congress Senate

Healthcare :
ban certificate of need laws
Price transparency reform

Environnement
:
Cap and trade system
Cut ev subsidies for people living in areas covered by public transit.

Social :

You need an ID to vote everywhere
Marijuanna decriminalization

Looks like I might just hit 30K followers in the next 3 days or so at current rates... Who wants to have a beer to celebrate?

Meta 

I really want a "boost, but with an added CW" button. Which, I know, is a feature that's been widely wished for and is I think hard to actually design. But I still want it! :)

Just a reminder about Mastodon.

Try not to directly upload videos here.
You have to remember that these videos have to be stored on the server that you're hosted on.

This would also eat up on available bandwidth, storage and memory resources of said servers and slow them down. Which would force server hosts to upgrade at a substantial cost.

Suggested idea...

Upload to YouTube, Vimeo or other video streaming services and share the link to the video here instead.

USpol: midterms, Dems 

Huh Dems outperformed expectations amazing

I just saw there's an option to always show toots marked with content warnings. As someone not dealing with trauma, and who's interested in things that are often hidden by hind CWs, this is great!

(To be clear, I'm not opposed to CW and will try to remember to use them myself. But lots of things I'm interested in, such as politics, get hidden and to have them revealed automatically is convenient.)

FLORIDA HASN'T BEEN A SWING STATE IN YEARS. IT SOLIDIFIED ITSELF AS SOLIDLY RED* BY ELECTING DESANTIS. IT HAS PROVEN IT IS DEEPLY RED BY REELECTING THEM. PLEASE STOP CALLING FLORIDA A SWING STATE.

- A FLORIDIAN

*MINUS ORLANDO AND BROWARD

Show more
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.