@ythos@dotnet.social avatar

ythos

@ythos@dotnet.social

#Technology, #CTO, co-founder of @endjin. We help small teams do big things with data, cloud, people, and process. He/him.

I'm interested in #archaeology #food #nffc #theatre #warhammer #politics #physics #compsci #dotnet and just about everything.

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

ythos, to dotnet
@ythos@dotnet.social avatar

We've just published a series of 17 (!) posts on common patterns in JSON Schema; lots of these have been culled from questions asked in the JSON-Schema Slack channel.

They are written from the perspective of .NET developers who are used to JSON serialization as a code-first exercise, and want to migrate towards schema-first (with generated code examples from Corvus.JsonSchema).

https://endjin.com/blog/2024/05/json-schema-patterns-dotnet-data-object

#dotnet #json #jsonSchema

ythos, to dotnet
@ythos@dotnet.social avatar

Some new features in Corvus.JsonSchema - our low-allocation, high-performance serialization & validation library for .

V3.0.10 brings support for arrays of rank >= 1, including C#12 collection expression initializers, and the ability to set values deep within an array of rank > 1.

We detect fixed-size numeric arrays of any rank, and allow you to convert to- and from-Span<T> for use in vectorized APIs such as System.Numerics.TensorPrimitives.

https://github.com/corvus-dotnet/corvus.jsonschema

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

has a casing problem with all of its offerings.

.NET, .Net, .net, Dotnet, DOTNET, .net, NuGET, nuGet, NUGET, NuGet, NUGet,…

end the madness.

Losing My Mind GIF

ythos,
@ythos@dotnet.social avatar

@khalidabuhakmeh from now on we will be ALTERNATING capitals.

DoTnEt
MiCrOsOfT dOtNeT

Except for the letter A which will alternate between @ if capital and å if small

So

DoTnEt Fr@mEwOrK
MiCrOsOfT dOtNeT fRåMeWoRk

ythos, to ai
@ythos@dotnet.social avatar

I'm working on some content about and development, and this is my "work in progress" of the landscape at the moment. Observations and suggestions welcome.

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

What needs is another command bus implementation. I've never seen a one implemented in the space.

ythos,
@ythos@dotnet.social avatar

@khalidabuhakmeh there's always room for one that is even more over engineered, doesn't take advantage of any existing low-level constructs, and ideally has vague performance and memory allocation characteristics.

ythos,
@ythos@dotnet.social avatar

@heaths @khalidabuhakmeh that's the CLI stuff not the command bus stuff, isn't it? Maybe I misunderstood. But Spectre.Console is your go-to library in dotnet land for CLIs. Really beautiful (and now adopted by the msbuild team!)

ythos, to ML
@ythos@dotnet.social avatar

If you are interested in and want to get a handle on some foundational , you can do a lot worse than Linear Done Right. I have the print version of the 3rd edition, and the 4th edition is available as a PDF as well as in print. https://linear.axler.net/

poppastring, to random
@poppastring@dotnet.social avatar

I am surprised that a change to the Windows keyboard is getting this much attention.

ythos,
@ythos@dotnet.social avatar

@poppastring it's not the keyboard that attracted my attention, it's the "bad old days" MS marketing hyping something that has minimal end user value to align with internally focused goals. It doesn't feel good.

poppastring, to random
@poppastring@dotnet.social avatar

Who is old enough to remember the "I love you" Outlook exploit in the early 2000s?

I distinctly remember the engineer who clicked the attachment in our office shouting "I actually hate everyone" as he left for the day.

https://en.wikipedia.org/wiki/ILOVEYOU

ythos,
@ythos@dotnet.social avatar

@poppastring We were just talking about that yesterday! "You never forget the sound of every single box in the server farm simultaneously spinning up its disks as everything is deleted."

ythos,
@ythos@dotnet.social avatar

@poppastring Then again, I'm old enough to remember https://en.wikipedia.org/wiki/SCA_(computer_virus)

ythos, to dotnet
@ythos@dotnet.social avatar

📢It's HERE!

Introduction to Rx .NET 2nd Edition

@idg10 has updated
Lee Ryan Cambell's 2010 book to Rx v6.0, .NET 8.0 & modern cloud native use cases such as IoT & real-time stream data processing.

Available for FREE as PDF, EPUB, on GitHub and Online:

https://introtorx.com

DamirArh, to dotnet
ythos,
@ythos@dotnet.social avatar

@DamirArh Have you considered just using System.Text.Json.JsonArray and parsing using JsonNode.Parse()? You avoid the overhead of going via Serializer that way.

Something like:

ythos,
@ythos@dotnet.social avatar

@jchannon @DamirArh cool! You're welcome.

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

If you’re doing with , I highly recommend and a static class/method. You can run solutions independently and keep all the solutions in a single file.

I already got the first two ⭐️s

ythos,
@ythos@dotnet.social avatar

@khalidabuhakmeh I've got a handy solution set up for c# which also downloads your input.

I should provide a version that launches those downloaded files in Rider rather than VS code!

https://github.com/mwadams/AdventOfCode

khalidabuhakmeh, to blazor
@khalidabuhakmeh@mastodon.social avatar

I’m using the dispose pattern in a sample to mark whether I'm busy or not busy doing work (like calling the database).

A using statement that sets the current working state.

ythos,
@ythos@dotnet.social avatar

@khalidabuhakmeh how are you protecting your work field against async updaters?

ythos,
@ythos@dotnet.social avatar
khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

Did you know that you should use TextElementEnumerator to determine the length of a string if the input might have Unicode emojis? Check out the sample below.

I'm curious if future versions of should do this check implicitly. 🤔

ythos,
@ythos@dotnet.social avatar

@khalidabuhakmeh We actually ended up using ReadOnlySpan<char>.EnumerateRunes(); for our Json Schema validation code.

ythos,
@ythos@dotnet.social avatar

@khalidabuhakmeh (it defines the length based on runes not graphemes)

ythos, to dotnet
@ythos@dotnet.social avatar

We have a 8.0 update of Corvus waiting for GA to drop.

Huge performance boost - including a super-fast, ultra-low allocation UriTemplate (and verb) table matcher.

30,000 URI templates matched in 5.5ms with 8 bytes of allocation!

1,000 URI templates matched in 46us with zero allocation.

And, as always, a drop-in replacement for the popular Tavis UriTemplate library.

https://github.com/corvus-dotnet/Corvus.UriTemplates/pull/110

MatchTavis | 93.64 us MatchCorvusTavis | 54.14 us MatchCorvus | 46.20 us

ythos, to random
@ythos@dotnet.social avatar

We've shipped a new version of Corvus https://github.com/corvus-dotnet/Corvus.JsonSchema

This has a number of updates, the most significant of which is stable ordering of property names in e.g. Create() methods.

While this is not technically a breaking change, because the ordering was unstable before, it is more-or-less guaranteed to break your code if you relied on property ordering rather than naming.

Recommendation: explicitly specify your parameter names on calls to Create() before you regenerate.

poppastring, to random
@poppastring@dotnet.social avatar

It's 23 minutes in and they are still doing this musical bit in Star Trek Strange New Worlds.

Send help ☹️

[This would never happen in Discovery]

ythos,
@ythos@dotnet.social avatar

@poppastring I loved this season of SNW even though I'm not keen on musical episodes (largely because the sound of autotuned voices creeps me out).

But the broadcast order means you get some wild shifts in tone!

poppastring, to random
@poppastring@dotnet.social avatar

I just overheard the term "pre-kend" used as a substitute for "before the weekend" or you know Friday ... 🙃

ythos,
@ythos@dotnet.social avatar

@poppastring If (or, more probably "when") a 4 day week becomes the normal working practice - will we extend "the weekend" to mean Fri, Sat, Sun because "the normal working week" will be Mon-Thu; or will the weekend still be Sat/Sun because we will recognise that people's working weeks don't look like the 20th century office worker's Mon-Fri 9-5?

KirillOsenkov, to random
@KirillOsenkov@mastodon.social avatar

Went on LinkedIn to look at the current landscape of (gestures vaguely) our industry and everything in 2023.

What can I say.

Part of me wants to go back to 2006 and fork off a different reality for our industry. I really don’t like this one. I don’t belong here. I want to crawl back into my cave, curl up into fetal position and work on desktop apps using WPF, with no AI or telemetry of any kind.

ythos,
@ythos@dotnet.social avatar

@KirillOsenkov PDC 2008 was (arguably) the last "large" Microsoft developer conference that really was targeted at developers, rather than the developers being somewhat window-dressing for market-facing keynotes. The work went on behind closed doors and was revealed in a burst of genuine excitement.

There was then a transitional phase where gradually we reached the point we are at today where "real" product announcements and early code we now get incrementally so no "big news" hype.

ythos, to random
@ythos@dotnet.social avatar

Is it just me or is it a bit massively disrespectful for the BBC team to wittering about defenders over this ceremony.

ythos, to random
@ythos@dotnet.social avatar

Does anyone have a link to the sample parrot video that came with OS/2 Warp? My Google Fu is failing.

ythos,
@ythos@dotnet.social avatar

@robert_p_king hooray! Thanks.

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