• Effective Unit Testing for Concurrency Libraries

    Pub Drewutnia

    Time to freshen up on concurrency testing. The topic for this meeting is concurrent unit testing, since I found a paper about a GAMBIT tool, while reading about a CHESS tool. Remember, we are a reading club. READ the paper! :-) 1. Get the paper from https://www.microsoft.com/en-us/research/publication/gambit-effective-unit-testing-for-concurrency-libraries/ (there's a button which starts the DL) 2. Read the paper BEFORE you come (it's OK to struggle, but make an honest attempt). Paper is not that hard and it's only 10 pages long (it's a paper still, don't think I'll do page a minute, you most likely won't). Reading while tired is not the way to go. 3. Note down what you don't understand or where you struggle and have questions 4. During the meeting we discuss the paper 5. Afterwards we decide on a next topic, so come perhaps with some proposals? Don't worry about not knowing people. We usually start with a round of introductions.

  • [PL] CI/CD dla praktyków

    Stanisława Żółkiewskiego 17

    Po dłuższej przerwie zapraszamy wszystkich na spotkanie grupy SCKRK, będziemy gościć Mariusza Gila i Jakuba Michalca, którzy chcieliby podzielić się swoimi doświadczeniami z z CI/CD od strony praktycznej. Agenda: 18:00 – Networking 18:30 – Mariusz Gil – Continuous Problems, czyli co się dzieje gdy zapominamy o.. zaletach wynikających z wdrożenia CI/CD. Mariusz Gil, trener bottega IT minds, związany z branża IT od 14 lat opowie o wdrożeniach CI/CD. Wczesne wykrywanie problemów integracyjnych, krótsze Time-To-Market i zwiększenie jakości wytwarzanego oprogramowania to tylko wybrane aspekty wynikające z takiego właśnie podejścia. Wdrożenie Continuous X w projekcie nie ogranicza się tylko do zainstalowania serwera CI i skonfigurowania automatycznych jobów. Jest to szerszy proces, którego macki wchodzą z jednej strony w kod, a z drugiej w organizację i panującą w niej kulturę i procesy. Przyjrzyjmy się więc temu, co się dzieje gdy sprawy przybierają zły obrót i projekt zaczyna cierpieć „rykoszetem”. Podczas prelekcji zidentyfikujemy typowe problemy występujące w wielu projektach i spróbujemy znaleźć dla nich rozwiązania. W końcu czasem jako developerzy podejmujemy decyzje warte miliony, (nawet nie mając nawet ich świadomości) a dodatkowo później to automatyzujemy... 19:30 – Jakub Michalec – Kiedy dużo to dużo, czyli „Selenium at scale” od metalu do chmury Jakub Michalec, tester, programista, fan automatyzacji, w Medius człowiek od "nie da się". Podczas prelekcji Kuba podzieli się swoimi doświadczeniami dotyczącymi przejścia z własnej infrastruktury do pełnego CI w chmurze. Historia długiej, krętej drogi w dążeniu do „zielonych” testów, skalowalności i lepszego utrzymania dużej ilości testów UI. Info organizacyjne Meet’up odbywać się będzie w budynku firmy Medius (ul. Hetmana Żółkiewskiego 17B), zaraz przy rondzie Grzegórzeckim. Do dyspozycji będą miejsca parkingowe, jedzenie, picie, a i miejsca do siedzenia się znajdą 😉 --- For our English speaking members: Currently, our presenters have prepared talks in Polish only. If you are interested in attending please let me know as soon as possible. If there will be enough time I will ask them to prepare the material in English.

    4
  • Meltdown & Spectre

    Pub Drewutnia

    • What we'll do January this year, two _earth-shattering_ attacks have been made public: **Meltdown**, also known as #IntelBug, and **Spectre**, touching all platforms. They are possible thanks to speculative execution of code (a very interesting feature of modern CPU architectures) and affect pretty much everybody (a bit of a simplification here but you have a modern CPU, you're affected). Attacks are incredibly widespread since they are unearthed from the very bottom of all tech-stacks: the CPUs. Let's discuss both of them. Short, one minute read: https://danielmiessler.com/blog/simple-explanation-difference-meltdown-spectre/ As ever, this is going to be reading club, so: ## Reading materials 1. https://meltdownattack.com/meltdown.pdf 2. https://spectreattack.com/spectre.pdf These are two academic papers discussing both attacks and their discoveries. The site (both meltdownattack.com and spectreattack.com URLs are for one site) also holds nice and easy to digest information about the attacks. Meltdown: http://blog.cyberus-technology.de/posts/2018-01-03-meltdown.html Google Zero Team announcement: https://googleprojectzero.blogspot.co.at/2018/01/reading-privileged-memory-with-side.html CERT KB page for the issue: http://www.kb.cert.org/vuls/id/584653 • What to bring Paper or digital copies of reading materials, mainly two papers: https://spectreattack.com/spectre.pdf https://meltdownattack.com/meltdown.pdf • Important to know To be truly secure: change your CPU to one that's not affected. :( Yeah, we know. Next best thing is to UPDATE YOUR OS. All major OSes have released / will soon release patches. To be somewhat secure: Turn on site isolation in Chrome/Chromium. Turn off SharedArrayBuffer in Firefox. Don't use browser AND password manager simultaneously (there's a JS exploit already, I hear, didn't verify). Logos we used are kindly done by Natasha Eibl, https://vividfox.me/. She made them part of the public domain.

    7
  • [PL] Stary człowiek i VM

    Online Webinar

    Zapraszamy wszystkich na spotkanie, które poprowadzi online Jarek Pałka, który od wielu lat jest członkiem SCKRK. Będzie on opowiadał o implementacji maszyn wirtualnych od kuchni. Ponieważ większość z nas pracuje w technologiach, które wykorzystują maszyny wirtualne pod spodem, może być to bardzo dobra okazja do poszerzenia swoich horyzontów. Jest to też dobra okazja, żeby komuś pomóc, ponieważ warunkiem udziału w prezentacji jest pomoc małemu Julkowi, który walczy z ciężką chorobą. Spotkanie odbędzie się zdalnie przez Hangout/Zoom (szczegóły zostaną podane zainteresowanym w późniejszym terminie). Zapisy odbywają się na Facebooka poprzez przesłanie Jarkowi potwierdzenia przelewu dla Julka na konto Fundacji Iskierka. Wszystkie szczegóły znajdziecie na stronie wydarzenia: https://www.facebook.com/events/366193627124681/?active_tab=about --- For our English speaking members: Jarek Pałka, long time member of SCKRK is organising an online presentation about Virtual Machine implementation techniques for charity. The presentation will be in Polish, but if you are interested in attending it in English, please let Jarek know. If enough people show interest, he can do another talk for you.

    2
  • Machine Learning Indexes

    ck browar

    I just read that machine learning indices can beat Bloom Filters, HashTables AND BTrees. Let's talk. :) https://www.arxiv-vanity.com/papers/1712.01208v1/

    11
  • Global Day of Code Retreat 2017

    Epam office on Opolska, 3rd floor

    Code Retreat is a fun exercise. You meet a bunch of strangers and friends alike, mix with them for a 45 minutes pair-programming and try to solve a simple (deceptively!) problem in a TDD manner. So, you code a lot and... you learn a lot. Different IDEs, different languages, different versions of Java, different testing frameworks, keyboard shortcuts, etc. etc. The exercise is famous enough to have its global edition, every November. Hence - this meeting. Aside from the first (two?) session(s?) each session will have its unique constraint, to make things more interesting. :-) We WON'T be doing Game Of Life this time. Bring: - your own laptop or PC (with power) - anything else you need to have to code (fave keyboard included) - set your IDE and test framework for all languages you wish to use on that day (yes, languages, this event is multi-culti or language agnostic if you prefer).

    8
  • Jepsen 7: Anna Concurrenina by Kyle "Aphyr" Kingsbury

    Registration for this meetup opens at 7pm on Wednesday the 29th of March and is limited to 115 attendees. Abstract: Happy databases are all alike; every unhappy database is unhappy in its own way. Following Tolstoy's insight into distributed systems, we discuss the myriad ways in which the conversations of computer families can break down, leading to broken promises and broken hearts. Speaker: Aphyr, or Kyle Kingsbury, is a computer safety researcher working as an independent consultant. He's the author of the Riemann monitoring system, an introduction to programming in Clojure, and the Jepsen series on distributed systems correctness. He smashes databases in San Francisco. http://aphyr.com http://jepsen.io @aphyr (https://twitter.com/aphyr) Where / when: Codewise Lubicz 17G https://goo.gl/xHlhjK 19:00-21:00 Office open from 18:00 Sponsor: Codewise (http://codewise.com/) is a place where talent thrives. Since 2011 it has provided a collaborative environment that fosters creative solutions and growth, enabling it to build its flagship marketing technology platforms, Zeropark, the leading performance traffic exchange, and Voluum, which provides a powerful suite of campaign management and analytics products across mobile and desktop. Entirely self-funded and headquartered in a new 3,000 sqm office in Krakow, Poland, with a second office in London, England, Codewise employs 130+ talented individuals from six different countries and supports customers in over 190 countries worldwide.

    8
  • Meetup #113: Feral Concurrency Control

    Medius

    How many of you have every used an ORM framework to control your transactions? How many times have you caught yourself on implementing additional validation layer to ensure data integrity? Feral Concurrency Control: An Empirical Investigation of Modern Application Integrity is an in-depth evaluation of application-level mechanisms for maintaining database integrity. The study is mainly based on transaction control in Ruby on Rails ORM, but the conclusions are easily applicable to other popular frameworks such as JPA or Hibernate. Paper to read: Feral Concurrency Control: An Empirical Investigation of Modern Application Integrity (http://www.bailis.org/papers/feral-sigmod2015.pdf) Lifeguard: Grzegorz Bańczak Additional reading: • Summary on the morning paper: https://blog.acolyer.org/2015/09/04/feral-concurrency-control-an-empirical-investigation-of-modern-application-integrity/ Please note: changed day of the week This time the meetup will be held on Tuesday 16th May! It's an one time exception, further meetups should be as usual on Wednesdays.

  • Meetup #112: Robin Hood Hashing

    Location visible to members

    Robin Hood hashing was introduced by Pedro Celis in his thesis in 1986 The idea is that entries are moved around based on how far they are from their initial buckets — the initial bucket being the bucket to which an entry is hashed. Robin Hood hashing takes buckets from entries that are closer to their initial buckets compared to the entries that need to be inserted. In that way, it takes from the riches and gives to the poor, which is where the name “Robin Hood hashing” originates. Whitepaper to read (pages 12-18): https://cs.uwaterloo.ca/research/tr/1986/CS-86-14.pdf (https://cs.uwaterloo.ca/research/tr/1986/CS-86-14.pdf) Optional: • good summary article: http://codecapsule.com/2013/11/11/robin-hood-hashing/ (http://codecapsule.com/2013/11/11/robin-hood-hashing/) • simple rationale article: https://www.sebastiansylvan.com/post/robin-hood-hashing-should-be-your-default-hash-table-implementation/ • example cache strongly inspired by robin-hood hashing in Akka (https://github.com/akka/akka/blob/master/akka-remote/src/main/scala/akka/remote/artery/LruBoundedCache.scala#L50) Lifeguard: Konrad `ktoso` Malawski

    5
  • Meetup #111 - GraphQL

    Medius

    These days, your API most likely serves multiple clients - tablet and phone apps, rich web applications, perhaps even other applications that talk to it. These clients tend to have different needs - mobile clients will often show and need to fetch less data than the desktop client, or another application might want to access collections of resources rather than a single resource that would be displayed by a user facing mobile app. REST, which we discussed a few meetings ago, does not provide solutions for this problem. However, certain tools have cropped up that do: GraphQL and Falcor. This week we are going to focus on GraphQL. Article to read: The Web After Tommorow (http://tonsky.me/blog/the-web-after-tomorrow/) Secondary article to read: The official GraphQL blog (http://graphql.org/blog/) (all 5 articles) Meeting Lifeguard: Grzegorz Bańczak We typically select only one resource to read for a meetup, so this might seem a little excessive, but in our defence there is no academic paper introducing GraphQL. The Web After Tomorrow article is a great opinion piece that should help us ground our discussion in terms of why GraphQL is important, and where does it fit in the array of technologies that will likely be found in the future APIs/backends. However, as inspiring as the article is, the discussion would be pretty shallow if we all didn't have even a basic practical idea about how to work with GraphQL and how it looks like, which is where the blog comes in. Feel free to share interesting resources you find about GraphQL in the comments section!

    1