Share the knowledge – in a fun way (with pictures)

At TouK we have so called TouK's Thursday Breakfast. It's name comes from King Stanisław II August's idea of Thursday Dinners. Our implementation is as a breakfast as it takes time at 10 am.
We gather from time to time on Thursday to discuss some interesting topics that are non-technical. For example we summarize projects, discuss important events in company's life, etc.

Technical topics we discuss on Fridays during TouK Weekly Workshops.

This time we tried to activate all employees to share thier sources of knowledge - interesting Internet addresses: pages, blogs, vlogs etc. It could be done with an "ordinary" Google Forms poll but we love to do it differently. We've made a voting cards and voting box.

We've put it in the kitchen and made a call to action with special posters.

On that very day most of the company came and we've discussed all proposals.

There were two hosts - me and my colleague Tomasz. We've pulled out every card and asked the author to say a few words about this particular knowledge source. We've also presented this page on projector wall. Lot's of new ideas appeared.

But where's the fun? 
This was a surprise for all. Me and Tomasz were disguised as company owners. We were  acting like them even with some typical gestures. People were laughting all the time and it was really nice.

Some tips and takeaways?
Sure!

  • Prepare yourself. Take all results and visit them before to have a consistent list of pages. Let's waste no time on googling for proper resource. 
  • Prepare poster or email everybody that the meeting will take place.
  • Have some snacks and/or soft-drinks. This should be a nice meeting. 
  • Don't declare. Have a chat and share opinions. Discuss. 
  • Make jokes. Have fun.

Grande finale
I really encourage you to share knowledge. It doesn't have to be so serious and boring.

Me and Tomasz :)

Error:(, ) java: package edu.umd.cs.findbugs.annotations does not exist using Lombok

If you have an error during compilation in IntelliJ Idea and/or maven/gradle

Error:(X, Y) java: package edu.umd.cs.findbugs.annotations does not exist

you've enabled FindBugs Suppress Warnings in lombok.config:

lombok.extern.findbugs.addSuppressFBWarnings = true

but you forgot to add FindBugs to your maven/gradle config...
You might either remove config directive or add FB dependency.

What’s the cause of your problem?

Most of exceptions has a few constructors including those with cause exception. But what if you have to throw an exception that has no cause in constructor? You try to survive:

 Exception cause = new Exception("I'm the cause!");
 SSLHandshakeException noCauseExc = new SSLHandshakeException(String.format("SSL problem: [%s]", cause.getMessage()));
 noCauseExc.printStackTrace();
...and you lose stacktrace which is crucial! There's a solution Throwable::initCause(). Check this code and have cause tailed to your exception

import javax.net.ssl.SSLHandshakeException;

/**
 * Created by bartek on 04.09.15.
 */
public class Cause  {

    public static void main(String[] args) {

        Exception cause = new Exception("I'm the cause!");
        SSLHandshakeException noCauseExc = new SSLHandshakeException(String.format("SSL problem: [%s]", cause.getMessage()));
        noCauseExc.printStackTrace();

        SSLHandshakeException withCauseExc = new SSLHandshakeException("Another SSL problem");
        withCauseExc.initCause(cause);
        withCauseExc.printStackTrace();
    }
}

BitBucket push/pull keeps asking me for password

It does it even if you've added your ssh key?! Really? So edit .git/config and change repo url from https to ssh. It should look like this url = git@bitbucket.org:your_login/your_project.git If you don't know the address then go to your bitbucket repo page and check SSH address on the project's Overvier tab. Don't forget to set up your name (bitbucket login) in [user] section. Refer git manual or just type $ git config user.name your_login $ git config user.email your_email