Saturday, 11 November 2017

Geecon Prague 2017

Recently I've had the opportunity to attend Geecon Prague conference. Taking into consideration the fact that there were only 3 available tracks, I must say I was pleasantly surprised by the valuable content of this event, and I'm looking forward to the next year.

I will mention some interesting talks:

Full-stack Reactive Java with Project Reactor & Spring Boot 2 by Mark Heckler
Mark has presented how easy it is to create a Netty-based Springboot 2 web reactive application. Non blocking Spring application can be produced as fast as Spring MVC one. It was a pleasure to listen to his presentation.

Software's Seven Deadly Wastes by Jez Halford

Jez summarized problems that take place during development.
The first problem he mentioned is Transport - movement of the work. Waiting for another team or for a process to happen. 
Second is Inventory - undelivered work. It is abandoned work, work in progress and working at once on many tasks. When we cancel a project, it is worth to make a meeting summarizing work and what can be done better. We should learn something from the failed project. The majority of the team could feel that it was no sense to work wasting so much time. Do small deliverables units, branch by abstraction, feature toggles. Visualize your work in progress. Stop starting and start finishing. Reducing inventory also reduce motion. Get rhythm. 
Third is Motion - movement of people around the work. Task switching, irregular meetings. Consider the whole system, take ownership, talk to people. 
Fourth is Waiting - delays in delivering the work, caused e.g. by waiting for another team, for an outside answer or clarification. Developers often find it annoying to simply wait for an issue. According to Jez, it may be helpful in such situations to address personally those who are blocking the task, as well as to complain to the teams and managers about it. To minimize this waste, deliver often, base performance improvements on evidence and refactor when you need to. 
Fifth is Over Processing - working too hard. It is solving imaginary problems, writing libraries in production code. To limit this waste, focus on string product ownership, fast feedback and remove stuff that is not used. 
Sixth is Over Production - doing useless work. 64% of built software is never used. We build features that won't be used. To prevent this, we can build automated tests, use continuous integration to be safer in refactoring process. 
Seventh is Defects - working on work. We must have proper test environment, fast release system. 
It was a good presentation to think over challenges in our work.

Deep dive and learn about your Operating System by Quentin Adam

Quentin presented how virtualization can be a performance horror for our applications. He described problems with processor caches and other abstractions. To mention some of them:

  • In java we can use -XX:+UseLargePages
  • We can change computer mode from energy safe to performance mode by C-States flag
  • The less complicated code, the better.
  • Be careful choosing data structures 
  • Do the next abstraction level only when it is really needed

It was a good presentation for high level developers to understand what system limitations our applications have.

High request rate system architecture - an Ad Tech case study by Jakub Dżon

It was an interesting presentation how ad platform is built. Jakub has shown selected architecture and how it has changed to meet the rising traffic.

Architecting for performance. A top-down approach by Ionut Balosin

It was a similar topic to Quentin's talk from the day before. To sum up:
srcdeps - source dependencies with Maven and Gradle by Peter Palaga

Peter presented library srcdeps that deals with source dependencies for maven and gradle project. 
It allows us to create a dependency between one project with another project with an exactly given commit. 
We must define project code repository and our project will retrieve dependent one, build it and install in our local repository. I think it is a very good idea to try it in microservice world. srcdeps has protection against releasing with source dependencies.  Gradle implementation is new and does not have all features that maven has. It does not have an ant and a sbt implementations so far.

Java 9 security enhancements in practice by Martin Toshev

It was a good presentation that showed how to implement secure TSL interactions in java applications both using java 8 libraries and java 9.

Analyzing HotSpot Crashes by Volker Simonis

Using a few application problems he deal with, Volker has shown how to analyze JVM crashes. He has presented all layers of the Hotspot where problems can appear. It was very interesting to look how Hotspot can crash, while Jit compiles. We can write Serviceability Agents to debug where problem appears.

Twitter's quest for a wholly Graal runtime by Chris Thalinger

Chris talked about Twitter experience with Graal VM. It is a project based in Oracle Labs developing a new JIT Compiler and Polyglot Runtime for the JVM. In twitter case (they are using Scala), it allows to reduce CPU usage by 10%.  It saves them a lot as they are using thousands of VMs. And JVM 9 contains Graal. It has also an enterprise paid option with more optimizations. Twitter has found a few bugs in Graal, but there are now fixed and for the last two years they have not found any new ones. 

High Performance Managed Languages by Martin Thompson 

Martin has made a talk that can be summarized by a quote of Albert Einstein he presented:

Any intelligent fool can make things bigger, more complex, more violent. 
It takes a touch of genius, and a lot of courage, to move in the opposite direction.

He concluded, that contemporary choice of a technology to develop a new application is java, because of the ecosystem and optimizations on the whole stack (starting with JIT) that will make our application better then the one developed in low level technologies. To optimize we need to know the context. In the world with bounded budgets and time, high level technologies will serve us better. 
He advice to develop code as simple as possible and add new abstraction layer if it is really needed with more then 2 items of a kind.

Saturday, 4 November 2017

Włam się do mózgu - Radosław Kotarski

Co jeśli większość metod, których w młodości i dorosłym życiu używamy do uczenia się wiedzy i umiejętności jest kompletnie bezużyteczna? Dlaczego pamiętamy tak mało informacji ze szkoły? Czas to zmienić!

Radek Kotarski wziął pod lupę setki naukowych artykułów i książek, a następnie przeprowadził na sobie serię eksperymentów, aby sprawdzić przeróżne metody uczenia się. Wszystko po to, aby wytypować skuteczne techniki, za pomocą których można w nowoczesny i przyjemny sposób zdobywać wiedzę. To one będą prawdziwymi wytrychami, którymi włamiemy się do naszych mózgów! W końcu przez całe życie mieliśmy i mamy jeszcze sporo do zapamiętania. 

Monday, 23 October 2017

DNS refresh time

  • DNS is typically cached on the machine for an hour.
  • DNS change is expected to be propagated  up to 24 hours across the internet.

Saturday, 7 October 2017

Man's Search for Meaning

Internationally renowned psychiatrist, Viktor E. Frankl, endured years of unspeakable horror in Nazi death camps. During, and partly because of, his suffering, Dr. Frankl developed a revolutionary approach to psychotherapy known as logotherapy. At the core of his theory is the belief that man's primary motivational force is his search for meaning.
Man's Search for Meaning is more than a story of Viktor E. Frankl's triumph: it is a remarkable blend of science and humanism and an introduction to the most significant psychological movement of our day.

Tuesday, 26 September 2017

Nonviolent Communication

Nonviolent Communication - Marshall Rosenberg

What if you could defuse tension and create accord in even the most volatile situations - just by changing the way you spoke? Over the past 35 years, Marshall Rosenberg has done just that, peacefully resolving conflicts in families, schools, businesses, and governments in 30 countries all over the world. On Nonviolent Communication, this renowned peacemaker presents his complete system for speaking our deepest truths, addressing our unrecognized needs and emotions, and honoring those same concerns in others. With this adaptation of the best-selling book of the same title, Marshall Rosenberg teaches in his own words:
  • Observations, feelings, needs, and requests - how to apply the four-step process of Nonviolent Communication to every dialogue we engage in
  • Overcoming the blocks to compassion - and opening to our natural desire to enrich the lives of those around us
  • How to use empathy to safely confront anger, fear, and other powerful emotions
Here is a definitive audio training workshop on Marshall Rosenberg's proven methods for "resolving the unresolvable" through Nonviolent Communication.

Tuesday, 12 September 2017

The Personal MBA: Master the Art of Business

Getting an MBA is an expensive choice-one almost impossible to justify regardless of the state of the economy. Even the elite schools like Harvard and Wharton offer outdated, assembly-line programs that teach you more about PowerPoint presentations and unnecessary financial models than what it takes to run a real business. You can get better results (and save hundreds of thousands of dollars) by skipping business school altogether. 

Josh Kaufman founded as an alternative to the business school boondoggle. His blog has introduced hundreds of thousands of readers to the best business books and most powerful business concepts of all time. Now, he shares the essentials of entrepreneurship, marketing, sales, negotiation, operations, productivity, systems design, and much more, in one comprehensive volume. The Personal MBA distills the most valuable business lessons into simple, memorable mental models that can be applied to real-world challenges. 

The Personal MBA explains concepts such as: 
  • The Iron Law of the Market: Why every business is limited by the size and quality of the market it attempts to serve-and how to find large, hungry markets. 
  • The 12 Forms of Value: Products and services are only two of the twelve ways you can create value for your customers. 
  • The Pricing Uncertainty Principle: All prices are malleable. Raising your prices is the best way to dramatically increase profitability - if you know how to support the price you're asking. 
  • 4 Methods to Increase Revenue: There are only four ways a business can bring in more money. Do you know what they are? 
True leaders aren't made by business schools - they make themselves, seeking out the knowledge, skills, and experience they need to succeed. Read this book and you will learn the principles it takes most business professionals a lifetime of trial and error to master.

Sunday, 27 August 2017

Dekalog księdza Jana Kaczkowskiego

Dekalog, słowo po słowie z Księdzem Janem Kaczkowskim

Słuchaliśmy Go, bo na co dzień żył tym, co głosił. Docenialiśmy Go, bo poważnie traktował ludzkie problemy. Podziwialiśmy Go, bo do ostatnich chwil cierpliwie odpowiadał na nasze pytania i wątpliwości.

Wśród wywiadów udzielonych przez ks. Jana Kaczkowskiego znalazł się również ten, który właśnie oddajemy do rąk czytelników. To rozmowa o sprawach fundamentalnych - Dekalogu i codziennych trudnościach życia zgodnie z przykazaniami.

Ksiądz Jan Kaczkowski nie pouczał, raczej dzielił się swoim doświadczeniem. Był wiarygodnym świadkiem i dlatego jego słowa są tak cenne.

Do wywiadu dołączamy płytę z kilkoma wyjątkowymi nagraniami, wśród których znajduje się także Ostatnia droga krzyżowa ks. Jana Kaczkowskiego nagrana dwa miesiące przed jego śmiercią.,75860,Dekalog_ksiedza_jana_kaczkowskiego.htm