DotNetos – ingredients for The Secret Serialization Sauce

Today is the first day of our first dotnetos tour across Poland. I thought that it would be useful to gather all the links, repositories in one post and share it with you in a nicely wrapped burrito preserving the spiciness of the The Secret Serialization Sauce. All right: here goes links:

  1. XML – sorry, no links for this
  2. Jil – the fastest JSON serializer for .NET, seriously, it’s crazy fast. If you’re interested why is it that fast this pearl from its design can reveal some ideas behind.
  3. protobuf-net – my favorite implementation of Google standard for protocol buffers, for .NET. In the recent version it supports discriminated unions and much more. Yummy!
  4. Hyperion/Wire – a new player in the serialization area. Started as a Wire, later on forked by Akka.NET team. I invested some time to make it faster.
  5. Simple Binary Encoding – we’re getting soooo close to the wire. It’s simple, binary and uses a special field ordering to allow reading values of a constant length with ease.
  6. NServiceBus monitoring – it uses a custom, extremely efficient protocol for reporting all metrics from a monitored endpoint to the monitoring instance. All the optimizations, the whole approach behind it is described in here.
  7. New wave o serializers – my prediction is that within a few months, a year maybe, we’ll see a new wave of serializers, or at least a wave of refurbished once, based on Span and Memory (read this in-depth article by Adam Sitnik for more info). I’m working on something related to this area and results are truly amazing.

Here you have! All the needed ingredients for The Secret Serialization Sauce. Enjoy 馃尪馃尪馃尪

[PL] GET.NET w 艁odzi 2017

TL;DR

Polski Pi膮tek: o polskim community, o tym co u nas w trawie i w technologii piszczy, a tak偶e o innych rzeczach wszelakich.

GET.NET

22 kwietnia 2017 odby艂a si臋 kolejna ods艂ona konferencji GET.NET w 艁odzi. Mia艂em przyjemno艣膰 przedstawi膰 tam moj膮 ostatni膮 prezentacj臋 The Only Thing That Matters, w nowej, nieco zmodyfikowanej formie. Jak zwykle w przypadku GET.NET, obs艂uga prelegenta stan臋艂a na wysokim poziomie.

Sama prezentacja to prawie 50 minut tre艣ci. Uda艂o mi si臋 zebra膰 feedback od 10 os贸b. W wi臋kszo艣ci bardzo pozytywny. Czekam na wyniki ankiet!

Jak zwykle uczestniczy艂em jako s艂uchacz tylko w kilku prezentacjach. Najciekawsz膮, kt贸ra zaintrygowa艂a mnie mo偶liwo艣ciami nowego podej艣cia, by艂a prezentacja Krzysztofa Cie艣laka pokazuj膮ca niezwykle ciekawy projekt o nazwie Fable, kompiluj膮cy F# do JavaScriptu u偶ywaj膮c do tego Babela. Z webem niestety nie mia艂em dawno do czynienia, ale posiadanie mo偶liwo艣ci pisania swojego kodu w F#, np. funkcji dispatchuj膮cych w Redux wygl膮da艂o niesamowicie.

SII, dzi臋ki za zaproszenie i mo偶liwo艣膰 prelekcji. Do rych艂ego zobaczenia!

[PL] zdobywanie wiedzy i kompetencji dzi艣

TL;DR

Polski Pi膮tek: o polskim community, o tym co u nas w trawie i w technologii piszczy, a tak偶e o innych rzeczach wszelakich.

Za 15 lat

Je偶eli kto艣, podczas moich studi贸w, powiedzia艂by mi, 偶e za 15 lat b臋d臋 m贸g艂 ucz臋szcza膰 w Warszawie codziennie na inny meetup zwi膮zany z technologi膮, powiedzia艂bym, 偶e to czyste 偶arty (wyrazi艂bym si臋 bardziej dosadnie). I nawet, je偶eli ca艂y czas jestem oszo艂omiony ich liczb膮, to jest to przyjemne oszo艂omienie.

Poza du偶膮 liczb膮 wydarze艅, charakteryzuj膮 si臋 one te偶 du偶膮 r贸偶norodno艣ci膮. Mamy:

Jest tego naprawd臋, zar贸wno pod wzgl臋dem liczby, jak i formy bardzo du偶o. I dobrze!

Elitarno艣膰

Zdobywanie wiedzy traci na elitarno艣ci. I nie chodzi o to, 偶e sama wiedza jest “gorsza”. Po prostu dost臋p do niej jest coraz bardziej powszechny i coraz wi臋cej zale偶y od jednostki, od Ciebie. Masz ch臋膰 i si艂臋 po艣wi臋ci膰 2 godziny dziennie aby pouczy膰 si臋 Go? Idziesz na meetup, rozmawiasz z lud藕mi, ogl膮dasz prezentacje, idziesz na szkolenie, kodujesz i zdobywasz wiedz臋. I ju偶.

Ch臋膰

Pozostaje tylko jedno. Twoje ch臋ci, zapa艂, wytrwa艂o艣膰, si艂a i kilka innych zasob贸w, kt贸rymi musisz si臋 wykaza膰. To jak, wyka偶esz si臋? 馃檪

 

[PL] var Sovia = new Tech();

TL;DR

Polski Pi膮tek: o Warszawskiej Grupie .NET, o polskim community, o tym co u nas w trawie i w technologii piszczy, a tak偶e o innych rzeczach wszelakich.

Jako艣膰, jak zawsze

Po raz kolejny polski oddzia艂 Microsoft dostarczy艂 wydarzenie na bardzo wysokim poziomie var Sovia = new Tech (); Nie chodzi mi tu o zawarto艣膰 merytoryczn膮 (o tym p贸藕niej), ale o organizacj臋, wyb贸r miejsca na konferencj臋 jak i rzeczy tak trywialne jak jedzenie czy dobr膮 kaw臋. Po ostatnim lokalnym wydarzeniu “Build” wyszed艂em oczarowany. Tak偶e w tym wypadku, wysoko postawiona poprzeczka zosta艂a utrzymana na tym samym poziomie.

Kontent, czyli zawarto艣膰

Prezentacji by艂o wiele. To co ciekawe to przepleciono wyst膮pienia zwi膮zane z technologiami MS z prezentacjami produkt贸w czy startup贸w na nich bazuj膮cych. I tak na przyk艂ad, o Hololensach s艂ysza艂 ka偶dy. Nie ka偶dy wie, 偶e powstaje projekt, kt贸ry umo偶liwi sprawne i szybkie przygotowanie chirurga do wykonania operacji serca. Cognitive Services u偶yte w kwerendzie SQL generuj膮cej raport razem z wiekiem osoby, kt贸rej zdj臋cie pozyskali艣my? 呕aden problem.

Prezentacja Satyi Nadelli. Na 偶ywo. W Warszawie. Tego jeszcze nie by艂o.

Ciekaw膮 pozycj膮 by艂a walka w klatce starego .NET z nowym .NET core dostarczona przez Bojana Vrhovnika i Jakuba Gutkowskiego. By艂o zabawnie, z jajem. Pojawi艂y si臋 te偶 smoki 馃槈

Spo艂eczno艣ci

Event bez spo艂eczno艣ci nie znaczy nic. I tym razem nie zabrak艂o ludzi, dyskusji i dywagacji na przer贸偶ne tematy. Ewidentnym plusem spotkania by艂a mo偶liwo艣膰 porozmawiania z osobami albo pracuj膮cymi w MS albo pozostaj膮cymi w bliskich relacjach.

Je偶eli var Sovia = new Tech(); zago艣ci u nas ponownie za rok, to b臋dzie to m贸j pewnik w konferencyjnym kalendarzu.

[PL] Druga Unconference Warszawskiej Grupy .NET

TL;DR

Polski Pi膮tek: o Warszawskiej Grupie .NET, o polskim community, o tym co u nas w trawie i w technologii piszczy.

Unconference WG.NET

W poprzednim tygodniu uruchomili艣my drug膮 edycj臋 Unconference Warszawskiej Grupy .NET. Tym razem ugo艣ci艂 nas Demant Technology Centre, maj膮cy siedzib臋 w Q22, w Centrum Warszawy.

Samo spotkanie dogrywali艣my na podobnych jak ostatnio zasadach: kilka os贸b ze zg艂oszonymi wcze艣niej tematami, moderatorzy w liczbie wystarczaj膮cej do obs艂u偶enia wszystkich grup i flipboardy, po jednym na ka偶d膮 grup臋. Chwilk臋, chwilk臋. Flipboardy?

No laptop no slides

Flipboardy, bo konwencja przez nas za艂o偶ona zakazuje u偶ywania laptop贸w i slajd贸w. Chcemy, zamiast prezentacji i tony tekst贸w/mem贸w/fotek na slajdach, zobaczy膰 偶yw膮 dyskusj臋 pomi臋dzy uczestnikami a prelegentem a tak偶e pomi臋dzy samymi uczestnikami.

Jedna runda unconference w naszym wypadku zajmuje oko艂o 45 minut, po czym nast臋puje 15 minut przerwy podczas kt贸rej mo偶na si臋 posili膰, skofeini膰 i porozmawia膰 z innymi uczestnikami i prelegentami. Po tym nast臋puje kolejna runda i kolejna przerwa i tak do:

  1. padni臋cia wszystkich
  2. wyrzucenia nas z budynku “bo jest po trzeciej rano”
  3. wyczerpania si臋 temat贸w

Kt贸ra z przyczyn jest najcz臋stsza, nie zdradz臋.

Nowy prelegent, nowy s艂uchacz

Unconference dodatkowo pomaga w jednym aspekcie. Je偶eli zastanawiasz si臋, czy warto kiedy艣 powiedzie膰 co艣 na forum grupy/konferencji, to ten format jest idealny do sprawdzenia tego. 10-20 os贸b s艂uchaj膮cych Ciebie przy flipboardzie nie wymaga wyobra偶ania sobie wszystkich “nago”, wystarczy po prostu dyskutowa膰 i przekazywa膰 swoj膮 wiedz臋 naturalnie, zgodnie ze swoim naturalnym warsztatem.

To jest pyszne!

Nowa forma spotkania cieszy si臋 bardzo dobrym odbiorem,

Dzi臋ki za fajne spotkanie i merytoryczn膮 konwersacj臋 馃檪

Jak dla mnie ta forma mo偶e by膰 na sta艂e 馃檪

co powoduje, 偶e na pewno nie raz do niej wr贸cimy.

We accept pull requests

There are many protocols of collaboration. There’s famous C4 from 0MQ & others as well. Sometimes a project lives without collaboration rules being explicitly stated for years and can be successful. Sometimes it can suffer from bad assumptions collaborators made when they decided to invest their time in a project. To lower the possibility of any unhealthy friction, I’ve decided to write at least some bullet points for RampUp and created a simple Collaboration.md (I’ve just been sent the very first PR for RampUp :D).

The main issue I wanted to address was that ‘I accept pull requests’. This topic is discussed over and over again and can be described in a following way: .NET devs are not willing to collaborate and rather than providing PRs they just blaim/complain etc. The landscape is changing now and everyone involved in .NET Open Source can feel it for sure. More PRs is being issued, the engagement, so strongly needed is shifting towards an actual participation rather than poking. It doesn’t matter if you provide a new feature and rather than spending days on drawing UML you sketch it and issue a PR or if you spend one additional hour of your debugging time, distilling a PR reproducing a bug you’ve encountered. That’s what real involvement is. It’s not about talking, it’s about making things. Even if a PR is rejected for whatever reason, you learn a lot, you really participate and get a real feedback about your work, not your cheap talk.

I really hope that the new wave of OSS is coming. In that case, let’s swim with the tide.