20 years ago Gmail revolutionized email.

It’s time for a new revolution - one where your #privacy is respected. 💪

👉 Learn how #Gmail started in 2004, and how you can replace this data-hungry Big Tech: tuta.com/blog/gmail-20-years-o…

At their core, right-wing attacks on the modern Constitution are an attack on liberty for the sake of power. An entire class of Americans looks back at decades past and has no memory (or pretends to have no memory) of marginalization and oppression. They could do what they wanted, when they wanted and to whom they wanted.

Now they don’t have that same control. And they want it back:

nytimes.com/2024/06/06/opinion…&

„Birlikte“-Fest in Köln: Sprengstoffhunden haben angeschlagen | Express
express.de/koeln/birlikte-fest…

Hello fedi, any #DotNet and #NuGet experts here please?
I'm trying to prepare a NuGet package where I need to bundle a folder with a DLL and some accompanying files. Everything is good, the nupkg file is created, the folder is there (I can clearly see it with 7-zip). However, when installing the package, the folder is again there in the NuGet global cache, but not in the project where I install it!
I even asked a StackOverflow question [1] about it, but still no dice. Any thoughts please? Thanks!
[1]:stackoverflow.com/questions/78…
in reply to André Polykanine

no, you don't need a nuspec. You can do all of this using the Pack and PackagePath metadata like you've done with other package contents.

It's not entirely clear what you mean by 'installed into the project', but you should look inside the project.assets.json in your projects obj folder - this file describes how NuGet sees your package and determines which dependencies will actually end up in your project. If you don't see your native binaries in the project.assets.json...

in reply to Chet Husk

@chethusk Sorry, probably I'm not clear. So, step by step:
1. I package my NuGet package using `dotnet pack` and the CsProj you looked at. I'll call this "package".
2. I have another project (I'll call it "app") where I want to *use* the package.
3. I do `dotnet add package` to add the package to the app.
Result? My app does not work because the DLL the package imports is not there at all.
in reply to Chet Husk

hello again! I found your project on GitHub and I think I can explain what's happening.

The first image is what your package looks like today, with everything copied into the `lib/net8.0` directory. NuGet only automatically references _managed assemblies_ from folders using the `lib/<TFM>` pattern, which is why only your main `SharpLouis.dll` assembly is here.

To fix this, you need to tell NuGet about your _native dependencies_. This can be done with a line similar to what you have.

in reply to Chet Husk

Here's the line to make NuGet see your native dependency

```xml
<Content Include="./LibLouis/liblouis.dll" Pack="true" PackagePath="runtimes/win-x64/native" />
```

This is very close to what you already had - the key difference here is the PackagePath - NuGet looks for native dependencies at `runtimes/<RID>/native`, so I've placed the native liblouis at `runtimes/win-x64/native`. When you do this, the package changes - the second image shows NuGet seeing the native deps.

in reply to André Polykanine

My apologies! I should have added alt-text to my screenshots, I'll edit to do so now. The remaining information (the tables, etc) I _should_ be able to figure out shortly - NuGet has a `contentFiles` mechanism that I am aware of but haven't used in a while so I'm having to refresh my memory. If you like, I can submit a PR to your PR when I have it all figured out for easier review.
in reply to Chet Husk

@chethusk Thank you so much Chet! Now everything is there but I have one more issue: in the SharpLouis code itself I'm trying to import the DLL as if it was in the same LibLouis folder where the tables folder and tables.json are, but it's actually in runtimes/win-x64/native. Is there any way to moving it or should I change the code somehow appropriately? Thank you once more!
in reply to André Polykanine

what happens if you publish and run your app with 'dotnet publish -r win-x64'? Publishing is what tells the .NET SDK to layout all of your platform specific dependencies for that platform directly next to your app - otherwise you'll need to do a slight amount of work to tell your app how to look in `runtimes/<RID>/...`. I think we have a doc showing this, let me try to find it.
in reply to Chet Husk

@chethusk Interesting. If I do just:
<Content Include="LibLouis\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<PackageCopyToOutput>true</PackageCopyToOutput>
</Content>
Then I have my DLL where intended, but I started getting random access violation exceptions with message "Attempted to read or write protected memory. This is often an indication that other memory is corrupt." Any thoughts on this also, please?
in reply to André Polykanine

Sorry for the delay, I spent part of the day talking to some folks inside the .NET org that manage native dependencies like you do. One example I was pointed to was the SkiaSharp library - .NET bindings to the Skia graphics API. Here is some of their logic for making the local-build dev cycle work: github.com/mono/SkiaSharp/blob…

All of the projects in the repo that use the library Import this file: github.com/search?q=repo%3Amon…

The latest update to Fotmob for Android, a live football scores tracking app, now offers a more accessible lineup of teams with the exact positions of players. This is a great improvement as Euro 2024 gets underway. We'd like to thank them for this well-thought-out update with accessibility in mind. Check out FotMob accessibleandroid.com/app/fotm…
in reply to Dorothee Janssen

... Auch wenn Mastodon bedeutungslos für die Breitenwirkung ist, bietet es doch Möglichkeiten der Kommunikation.
Beispielsweise die Fediwall. Beim #Katholikentag gab es eine in der Predigerkirche und ich wurde tatsächlich von einem "wildfremden" Menschen gefragt, ob ich gestern nicht einen anderen Pullover angehabt hätte. :librechurch: Da ist Musik drin.
This entry was edited (1 year ago)
in reply to Dorothee Janssen

Klar ist da Musik drin. Aber anderswo ist mehr davon. Ich bleibe dabei, Kirche zuzuraten, erst bei den großen Plattformen anzufangen und dann, wenn Ressourcen übrig sind oder sie mitgemacht werden können, auch auf kleine Kanäle zu setzen. Ausnahme: Wenn das passende Publikum dort geballt ist, dann darauf fokussieren. Aber anfangen würde ich in der großen Menge und daraus raus destillieren, was noch funktioniert.
Unknown parent

mastodon - Link to source

Hanno Terbuyken

Wenn's eine zweite Auflage gibt (dazu müsst ihr aber die erste kaufen), können wir dem vielleicht ja mehr Platz widmen. Mit dem Tod von Twitter gibt es genug Anlass, dem Thema "owning your social graph" & Plattformabhängigkeit noch ein paar Worte zu widmen.

I think about this quote from @georgemonbiot a lot:

“The idea that some people may freely poison others is one of the most astonishing but least contested aspects of modern life.”

theguardian.com/commentisfree/…

Die Sonate in g-Moll von Anna Bon di Venezia hab ich schon eine Weile im Repertoire. Ich habe hier eine Aufnahme des 2. (langsamen) Satzes, bei der ich eine Weile überlegt habe, ob ich sie überhaupt teilen mag. Denn inzwischen spiele ich diesen Satz in einem anderen Tempo. Aber es ist wunderschöne Musik und ich liebe das Salicional-Register der kleinen #Orgel.

rankett.net/w/7CC36Ya88nazZbuA…

#OrgelSonntag #Komponistinnen #KirchenMusik #OrgelMusik

Meta is deploying chatbots powered by AI to impersonate humans in its discussion groups. The chatbots make stuff up—that is their nature. One invents a nonexistent child. Another pretends to have nonexistent merchandise. It shouldn’t be necessary to explain how vile and poisonous this is, but Casey Fiesler @cfiesler spells it out:

theconversation.com/ai-chatbot…

#Meta #AI

This entry was edited (1 year ago)

Does anyone know how many undersea internet cables are connected to each country? So far I'm getting US ad UK have the most but it's old data and there are around 600, but ideally I want to know how it's divided up.

There's info for most of them at this site - submarinecablemap.com/ - but I refuse to manually count unless there's no other option lol.

Yes, this is for the series on who doesn't have internet, thanks for remembering!

Oh yeah, please boost!

This entry was edited (1 year ago)

i made a CLI tool for moving data in and out of GtS and Mastodon instances using the API: github.com/VyrCossont/slurp

it can handle CSV data in Mastodon export format for blocks, bookmarks, follows, and lists. there is no Mastodon CSV format for filters so i made one up. (note that you need to be running GtS 0.15 for filter support.)

it doesn't handle posts or media yet; i have ideas about extending the GtS API to allow backdating posts and suppressing push federation, but probably won't get to that for a while.

#GtS #GotoSocial

Hunger Games Movies Will Continue to Make the Case for Prequels | Den of Geek denofgeek.com/movies/hunger-ga…

From Peter Greco: an interview with Barry Burgess from Pacific Vision, a bit of a review of recent exhibitions and a little preview and hint as to what HIMS may have coming up, possible employment opportunities groups.io/g/tech-vi/message/71…