You’re using wrong numbers

TL;DR

When testing, we often use constants to show that a number used in two places has the same meaning, not only value. How can we apply this when writing documentation or giving examples of algorithms you want to use?

Meaningless enough

Consider the first example

2 – 1 = 1
1 – 0 = 1
1 + 1 = 2

Can you guess which “ones” were added at the last line? They are results of the first two equations. Or maybe not? Let’s take a look at the slightly altered example

12342 – 1 = 12341
1 – 33333 = 33332
1 + 1 = 2

Can you now see which ones were used? It’s obvious.

Number as identifiers

When working with numbers you may try to use them as identifiers. When a value is needed only for a local calculation make it meaningless enough. A reader won’t spend much time on it. They will read and remember one-digit numbers and apply them in following lines

Summary

Writing documentation isn’t an easy task. Writing good documentation is even harder. When dealing with algorithms, making numbers unique can improve the overall understanding of samples you provide.

[PL] Eksperymenty małe i duże

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, jak na przykład o eksperymentowaniu.

Jak?

W ciągu ostatniego pół roku udało mi się przeprowadzić kilka eksperymentów. Każdy z nich był ograniczony:

  1. w czasie (próbuję coś przez miesiąc, pół)
  2. w kosztach (nie wydam 100000 na samochód aby zobaczyć jak się jeździ, ani nie powiem w domu, że teraz coś testuję i nie ma mnie przez miesiąc)
  3. efektach ubocznych (eksperymentem dla mnie nie jest jedzenie 10 czekolad dziennie – to głupota).

Jednym z moich eksperymentów było niejedzenie słodyczy przez miesiąc. Eksperyment zakończył się dobrym wynikiem. Słodyczy nie jadłem przez miesiąc, i już nie będę jadł. Jeżeli na konferencji, na której nie ma kanapek/sałatek a tylko ciastka, zjem jedno, dwa. Natomiast nie mam już ciągów słodyczowych. Koszt eksperymentu jest ujemny: nie kupuję słodyczy. Efekt uboczny: prawdopodobna redukcja tkanki tłuszczowej. Ojej ojej, co ja z tym zrobię 😛

Kolejnym, wstawanie o 5:45 a nie o 6:00 po to, aby zawsze móc poćwiczyć przed pobudką najmniejszego z domowników i nie mieć problemów z “niewyrabianiem się”. Eksperyment zakończony sukcesem w pierwszym tygodniu. Koszt: męczenie się podczas ćwiczeń, na które zawsze jest czas. Skutki uboczne: trochę lepsza kondycja i siła.

Kolejnym, są Polskie Piątki. Sprawdzam siebie, czy potrafię pisać o rzeczach mniej technicznych i Was, czy chcecie czytać o takich tematach.

Po co?

Nie wiem jak zareaguje moje ciało, umysł, otoczenie dopóki czegoś nie zmienię. Więc zmieniam, w ograniczonym zakresie (czas/koszt/efekty uboczne) i patrzę co z tego wychodzi. I tyle. Nie wszystko wyjdzie, nie wszystkiego się podejmę, ale sprawdzanie i korelacja efektów po, daje ciekawe wyniki.
Nie jestem tak dobrym eksperymentatorem jak Tim Ferris, który żyje ze swoich 4 godzin.  Jednocześnie mogę powiedzieć, że eksperyment z robieniem eksperymentów ma jak na razie pozytywne konsekwencje. I ten właśnie, postaram się przekuć w nawyk. A Ty, jak testujesz siebie?

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

Pay back with your feedback

TL;DR

How many times you read a blog post or seen a presentation and had some opinions or remarks that you wanted to share with the author/presenter. How many times you actually shared them?

Vacuum is no good

The worst thing that can happen when presenting is receiving no questions or remarks at all. Lack of it undermines the whole presentation leaving the speaker in a state where their presentation wasn’t bad or good. It was nothing. Still, there’s a line between a regular attendee and a presenter  like a question in a head

How can I ask a question or share my remark/feedback with a presenter? She/he is a presenter, I’m the listener. I should be listening

or something similar.

Your opinions are my money

Presenters and bloggers strive for feedback and your opinions! Actually, receiving one is the best and only opportunity to make a better presentation, to write a better blog entry. How should you provide one?

Have you seen a mizpelld wrod? Write a direct message or an email.

Are you seeing some fallacy? Ask about it in a comment clarifying your point of view.

The presentation/entry is plain wrong? Write your own and ping the author. Maybe it’ll start a fruitful discussion?

Of course there is a lot of dragons in there like trolling, being rude and so on and so forth. If you keep your thoughts to yourself though, nobody will know about them, including the author that you think about.

Very good morning

TL;DR

This is one more personal post after my latest description of my learning pattern. I’d like to share how I start my morning and how it improved my overall quality of whole day.

Morning schedule

  • 5:45 AM – it’s time to get up and prepare and eat the oatmeal: oat flakes, a few raisins and hot water
  • 6:00 AM – by this time I’ve got my breakfast eaten and it’s reading time!
  • 7:00 AM – workout time (some weights or a stationary bike)
  • 7:50 AM – post workout shake
  • 7:55 AM – shower
  • 8:10 AM – I’m starting to waking up my child. It takes up to 15 minutes of playing music (sometimes singing is included)
  • 8:40 AM – ready for the kindergarten!
  • 9:00 AM – my second breakfast
  • 9:30 AM – with a cup of coffee I’m starting my work

I’ve been changing this schedule a little bit for 5 months now. The current version might be a subject to change, but the overall shape won’t change. Why?

Why so early?

I’ve always been an early bird, but a few months ago I noticed loosing focus. Keeping a morning like this, introduces some good routine/regime to my life and lets me maintain focus for my whole work day. Waking early means going to bed ~10-11PM, but occasionally I stay awake till the midnight (once in a while). Additionally, before I start my work, I got my workout, some reading, two breakfasts checked. This is a really good start!

Summary

Is this a way to go for everyone? Probably not. On the other hand, living in a world of interruptions and notifications does not improve our ability to focus. Having a morning like this – definitely does.

My learning pattern

TL;DR

This is a personal entry about my framework that I use subconsciously for learning new things. I’ve applied it recently when learning about Azure Service Fabric, and then I realized what I did. Next, I thought that it could be useful to share the way I learn new frameworks/tools/libraries. Are you focused?

Azure Service Fabric is the new black

Azure Service Fabric is a new environment for creating distributed apps for both, cloud and on-premise environments. It provides a lot of tooling with different behaviors (stateful, stateless services, actors). I’ve been working with Azure Storage Services for some time and two weeks ago I started learning Service Fabric. From zero (beside my distributed systems know-how and some exp with a public cloud).

Reading docs till you know it all

One may say that you don’t need to know everything about a technology to use it. Yes, you don’t. My aim is not to use a technology but to know it, to immerse into it, to embrace all the patterns behind it natively. Once I got it, it’s like a new language.

In case of Service Fabric it was simple. There is an official doco page which takes a few hours to read. I did it. In my opinion you truly want to learn vocabulary, patterns, properties to embrace one thing. That’s why I read some of the pages more than once.

F12 till it hurts

It wasn’t a point where I was ready to write my first program. I was following the framework code going with F12 (go to the implementation) as deep as possible. Sometimes it requires taking notes, but moves you forward with an amazing speed. That’s how I get the real knowledge how it works.

Write an extension, no dummy sample

The final step is to either send a PR or maybe write a simple extension to the framework. No mambo-jumbo playing with a dummy sample running one actor. I need to prove that foundations are strong. That’s how I rebuilt Actor’s part of the Service Fabric to be somewhat faster.

Summary

This is the approach I use for learning new technologies. Total immersion and getting as deep as possible, as soon as possible. Sometimes it hurts, but still, gains are tremendous!