caliWhat have Dolphins and Interviews in common?Nothing, right? But wait, while I was in a call with a future colleague I looked to the side and suddenly saw a group of dolphins. I stopped gently and shortly the conversation and informed wife and kid #1. The interviewee said with a smile, he never had an interview before, that was interrupted that way ;). Europace - where more is possible.
caliHello from CaliforniaI still can’t believe that my wife and I make our idea come true. Thanks again Europace, Stefan, Thomas, Christian and all my teammates for your support. More than a year ago, we loosely talked about working half a year somewhere outside Germany. First, it was just an idea. So no risk to ask our employers for their support. But wait, both kept the idea alive. Scream;) Great, the biggest roadblocks were put aside.
Get Better Content With Google.comThe problem You are located outside the US and like to use google.com? You use google.com/ncr and wonder why you are still on your local Google site? The solution Visiting https://www.google.com/preferences and changing your region settings to United States will do the trick. Why is this useful? Get better tech content! In Tech it is common to search for other people thoughts, knowledge, experiences. Often you find better content. NFL scores, NBA scores, NHL scores ;) Just search for nfl scores and you get this: Awesome!
Top 6 Blogging Tips From A ProIn the first 8 seconds, you as a reader decide to stay or leave. Hopefully, you stay ;) If you apply the following blogging tips I received today from the pro-blogger Anne from mediasteak your reader will be thankful. Who Is Your Audience? Think about the people who should read your post. Creepy. I’m thinking about you right now;) I think you like catching up on my points quickly. I think you blogged a couple of times and you are looking for ways to improve your writing and your reach.
sociocracyInternational Sociocracy Online Conference - all talks are now online!Michael Geiß and I were flashed when we saw over 170 people in one zoom room. Wow. It was exciting to give our talk that way, thanks Sociocracy For All for this opportunity. All talks are now online and are roughly 15 min short. Please take a look at these great resources and appetizers! Here is our talk sociocracy in an agile world (~12min). Our unit is ~30 people strong and is using sociocracy, while our company (~150 people) around us is using holacracy.
sociocracySelf Organization - Do's and Don'tsOur unit was established in summer 2015 and is a merger from three different teams. Right from the start (with little to no knowledge of holacracy and sociocracy) we used circles and consent (IDM). This combination results in circles that are primarily formed around competences and a decision process that nobody liked. Early in 2017, we started to learn more about sociocracy with an initial workshop from Bernhard Bockelbrink from S3 and with the help and consulting from Ted Rau from SoFA.
soziokratiesociocracy in an agile world - our talk at the International Sociocracy Online Conference - May 1stMichael Geiß and me are talking about sociocracy in an agile world at the International Sociocracy Online Conference. We’ll talk about how we formed a cross-functional unit out of 3 teams. Instead of autocracy or anarchy we use sociocracy to foster alignment and autonomy, while taking our long time agile software development practices into account. Besides our talk there are at lot of other interesting talks, like What does S3 bring to Sociocracy?
pkuSo praktisch ist Slack!Im Vergleich zur Nutzung von Email für die interne Kommunikation hat Slack einige wesentliche Vorteile. Slack ermöglicht eine offene und transparente Kommunikation Statt über große Verteilerlisten alle möglicherweise Interessierten anzuschreiben, oder seine Informationen nur mit wenigen vermeintlich relevanten zu teilen, kann sich in Slack jeder proaktiv Informationen holen und sich einbringen. Pull statt Push. Das Email-Kommunikationsmuster sieht vor zu antworten. Zumindest denken wir das alle. Also fleissig antworten, oben, unten, im Text, und wenn wir offline sind, darf natürlich die out-of-office Antwort nicht fehlen.
selbstorganisationSelbstorganisation - Do’s and Don’tsDie Privatkredit Unit (PKU) wurde Mitte 2015 aus drei Bereichen gegründet und nutzt seitdem Kreise und Konsent. Anfang 2017 haben wir begonnen uns in Soziokratie (und S3) einzuarbeiten und sind dabei unsere Organisation darauf umzustellen. Bei der Selbstorganisation sowohl im Kontext der PKU als auch außerhalb haben wir unterschiedliche Verhalten und Probleme wahrgenommen und Erfahrungen gesammelt. Einige dieser wollen wir hier nochmals kurz verdeutlichen und zusammenfassen, um die anschließenden Empfehlungen besser nachvollziehen zu können.
Exploration Day Dezember 2016 bei HypoportMitte Dezember fand bei Hypoport wieder ein Exploration Day statt, zu dem alle Kollegen herzlich eingeladen waren. Eine Woche zuvor konnten beim eday-Lunch Ideen ausgetauscht werden und die Teams sich finden. Insgesamt nutzten acht Teams die Gelegenheit dem Arbeitsalltag zu entfliehen und sich neuen Ideen, Gedanken und Experimenten zu widmen. Gleich drei Teams haben sich mit der Bot-Programmierung beschäftigt. Andere Themen waren ein Lernspiel, eine App zur Speisekartenauswahl für die Mittagspause, das Refactoring auf Java Lambdas, eine automatische Übersichtserstellung aller Services und eine auf Prometheus basierende Health-Anzeige in der Taskleiste.
Achtsamkeit – Wenn wir Gefühle nicht mehr ignorierenUnser Agile Coach Oliver Pägelow hat einen interessanten Artikel zum Thema Achtsamkeit geschrieben: Achtsamkeit wird oft als spirituell verstanden und Meditation wird einer Wohlfühlfraktion zugeschrieben, die nicht hart arbeiten muss. In diesem Beitrag beleuchte ich die Bedeutung von Achtsamkeit für den Erfolg einer Firma in der heutigen Zeit und beschreibe, warum Google und SAP diesem Thema einen besonders hohen Stellenwert zuschreiben. Begeisterte und erfolgreiche Menschen sind die Basis für eine erfolgreiche Firma.
pkuCreate Your Own Twitter Follow ButtonIf you want to embed a Twitter Follow Button in your website you can use their Generator. It has limited configuration options. To style it your way you just need to know that a follow me is triggered by calling the link <a href="https://twitter.com/intent/follow?screen_name=leifhanack">Follow me</a> where screen_name is the twitter account name. Either with or without leading @. I like this solutions because it is plain and simple. No need to include their javascript.
elasticGOTO Night: Data Modeling for Elasticsearch at Hypoport Oct. 22Hypoport invites you to an interesting GOTO Night with Florian Hopf on behalf of GOTO Berlin. The session will start at 7PM on October 22, 2015 at Hypoport headquarter Klosterstr. 71, 10179 Berlin. Please come by and give us a visit. Food and Drinks will complement the session. Abstract One of the factors for the huge success of Elasticsearch is that it is really easy to get started with. Format your data in JSON, push it to Elasticsearch and instantly you have a full blown search server available.
bugsJavaScript Forensics by Todd Gardner at Hypoport (Sep. 24th !!!)Todd Gardner of TrackJS will be at Hypoport THIS Thursday Sep. 24th. Abstract Something terrible happened here. Traces of errors litter the floor; memory leaking from cracks in the ceiling. Someone lost their object context in the corner. Everything reeks of jank. In this session, a JavaScript error tracking expert breaks down a series of common and complex crimes against web applications. You’ll leave the session armed with techniques and tools to detect, diagnose, and fix your JavaScript web applications.
ansibleGreg DeKoenigsberg and Mark Philips of Ansible will be at Hypoport on Oct. 14Greg DeKoenigsberg and Mark Philips of Ansible will be at Hypoport on Oct. 14. Your chance to get in touch with them and ask your unanswered Ansible questions. Q&A will start at 7pm. More details on the Ansible meetup page.
empowermentVerteilte Verantwortung mittels soziokratischen Mitteln wahrnehmenWarum Ich bin Führungskraft und war Head Architekt in einem unser agilen Entwicklungsteams. Der Gedanke, dass eine Person fest die Rolle Head Architekt inne hat ist meiner Vorstellung nach nicht mehr zeitgemäß. Laut unserer damaligen Definition sollte sie hauptsächlich die technische und fachliche Konsistenz der Anwendungsarchitektur und die Einhaltung von Qualitätsstandards sicherstellen sowie technische Ideen und Innovationen steuern. Zusätzlich war sie für den teamübergreifenden Austausch verantwortlich. Um diesen Anforderungen gerecht zu werden, entschied ich mich schon früh die Verantwortung mit dem Team zu teilen.
dockerMeet Jérôme Petazzoni from Docker - He Will Talk About Docker Storage DriverTogether with the Docker Meetup Group we welcome Jérôme Petazzoni from Docker at our Hypoport headquarter tonight. Jérôme Petazzoni will talk about Docker Storage Driver and whatever you want to know:) More details on our Meetup Page
learningMicrogames for Wetware Developers by Julia Dellnitz & Stefan ZörnerHypoport invites you to an interesting GOTO Night with Julia Dellnitz & Stefan Zörner on behalf of GOTO Berlin. The session will start at 7PM on July 2, 2015 at our headquarter Klosterstr. 71, 10179 Berlin. Please come by and give them a visit. Food and Drinks will complement the session. Abstract Microgames are small decoupled learning entities about a specific topic such as software architecture. They help teams and companies to get up to speed in a specific field and can easily be integrated in their daily practices.
devopsGOTO Night at Hypoport: From the Monolith to Microservices - Randy ShoupHypoport is happy to host an interesting GOTO Night with Randy Shoup talking about „From the Monolith to Microservices“. On behalf of GOTO Berlin and Microservices Meetup Berlin we welcome you at Hypoport. Venue: Hypoport, Klosterstr. 71, 10179 Berlin Date: April 20, 2015 Entrance: 18:30 / 6:30PM Talk: 19:00 / 7PM „From the Monolith to Microservices: Lessons from Google and eBay“ by Randy Shoup Abstract: Most large-scale web companies have evolved their system architecture from a monolithic application and monolithic database to a set of loosely coupled microservices.
dockerMicroxchg Special: Seneca Node JS μServices Framework and Docker OrchestrationOn Wednesday Feb 11, the evening before microxchg – the micro services conference, Hypoport is hosting the microservices meetup Berlin with talks from two of the conference speakers. Richard Roger will talk about Seneca Node JS μServices Framework Peter Rossbach will talk about Docker Orchestration Please register on microservices meetup Berlin. See you there, Leif
cloudDocker Meetup at Hypoport with "Why you'll love managing containers with Docker" & "Docker on AWS" on Jan, 19thDocker Berlin is back! You can now follow us on Twitter too @DockerBerlin To init and containerize this new year properly we have two great speakers lined-up at Hypoport on Jan, 19th. Johannes Ziemke [Docker Inc.] and Sascha Möllering [ZANOX.de AG] Managing containers with Docker…and why you’ll love it – Johannes Ziemke What are the challenges of today’s infrastructures, why containers are the right building blocks and Docker the right tool to manage those.
dockerDocker Global Hack Day #2 - Berlin Edition at HypoportWe are proud to announce that we are part of the Docker Global Hack Day #2. Join other members of the Docker community to hack on Docker projects using the next big Docker release! You’re all invited to Hypoport HQ in Berlin for a hacking session while sharing a meal/drink with fellow Dockers. This hackathon is your last chance to win a ticket to the sold out DockerCon Europe. Please register using our meetup event page.
angularjsHow to open async calls in a new tab instead of new window within an AngularJS appI recently wanted to generate a PDF on users demand and show it in a new browser tab. Sounds trivial, at first not for me 🙂 I tried it with different „solutions“ and on my way my google search result got better and better. With „open window new tab without popup blocker async“ I finally found in this thread a nice and easy solution. The trick is to remember the reference to the new window and change the location of that window when your asynchron call completes.
aliasmanaging multiple ssh keysRecently I wanted to connect to some remote server using different ssh keys. With the right ~/.ssh/config file this is easy and comfortable. Easy IdentityFile ~/.ssh/%h/%r/id_rsa IdentityFile ~/.ssh/%h/id_rsa IdentityFile ~/.ssh/id_rsa %h and %r are placeholder for host and remote-user. ssh foo@bar will first check if ~/.ssh/bar/foo/id_rsa exists, next ~/.ssh/bar/id_rsa and finally ~/.ssh/id_rsa. Comfortable Host github HostName 123.45.678.90 User myuser IdentityFile ~/.ssh/123.45.678.90/id_rsa Instead of ssh myuser@123.45.678.90 the above config allows you to simply type
buildsystemHans Dockter mit The Future of Gradle - The Ultimate Build System bei uns am 7.7. um 18 UhrGemeinsam mit der Java Usergroup Berlin-Brandenburg präsentieren wir am 7. Juli den Vortrag von Hans Dockter The Future of Gradle – The Ultimate Build System. Einlaß ist um 18:00 Uhr. Der Vortrag beginnt um 18:30 Uhr. Vortrag: The Future of Gradle – The Ultimate Build System We are convinced that Gradle is already the best available enterprise build system. Yet we are far from done. We have finally the R&D bandwidth to deeply improve Gradle in the areas where it lacks.
apacheApache RewriteRule - Rewriting URLs With Already Encoded QueryStringsRecently we renamed a URL which was publically available. The system uses Apache httpd, so it was quiet easy to create a RewriteRule: RewriteRule ^/oldname/(.*) /newname/$1 [R,L] Unfortunately that didn’t work as expected. A URL like myserver/oldname?myprop=name with spaces will be encoded to myserver/oldname?myprop=name%20with%20spaces. With the above RewriteRule the rewritten URL will be myserver/oldname?myprop=name%2520with%2520spaces. It got encoded two times!. To fix this, you need the right keywords and Google. Searching for mod_rewrite url encode revealed that adding the NE flag (for No Encoding) does the trick:
continuous-deliveryDeveloping with TeamCity 7.1: from remote run to feature branches - Pavel Sher and Dmitry Neverov at Hypoport on Feb 18thGemeinsam mit der Java Usergroup Berlin-Brandenburg präsentieren wir am 18. Februar den Vortrag von Pavel Sher und Dmitry Neverov Developing with TeamCity 7.1: from remote run to feature branches. Einlaß und Zeit für Networking startet ab 18:30 Uhr. Der Vortrag beginnt um 19:00 Uhr. Abstract Continuous integration tools play important role in software development these days. In an ideal world every commit in version control system must be checked by running a build on it, builds must be fast and broken builds must be fixed quickly.
automatisches-testsUnit- und Integration-Test eines MicroService mit MavenWas ist ein MicroService? In unserem Kontext ist es ein (kleines) Modul der Gesamtanwendung, welches seinen Dienst als Webapplikation (.war) anbietet. Das konkrete Schnittstellen-Protokoll ist für diesen Artikel nicht entscheidend. Möglich ist klassisch SOAP, REST aber auch Spring HttpInvoker. Ein MicroService ist eine gute Möglichkeit Sollbruchstellen in die Gesamtanwendung einzubauen. Nun zum eigentlichen Thema: Wie teste ich einen solchen Service? Im Grunde wie immer, d.h. viele Unit-Tests und ein paar ausgewählte Integration-Tests.
architectureOliver Gierke von SpringSource kommt am 14. Juni 2012 nach BerlinGemeinsam mit der Java Usergroup Berlin-Brandenburg präsentieren wir am 14. Juni den Vortrag von Oliver Gierke Huch, wo ist meine Architektur hin?. Einlaß und Zeit für Networking startet ab 18:30 Uhr. Der Vortrag beginnt um 19:00 Uhr. Vortrag Wenn Applikationen über eine bestimme Größe oder einen bestimmten Zeitraum hinaus wachsen wird Modularität ein Kernaspekt für Wartbarkeit. Designentscheidungen die getroffen wurden sind kaum noch im Code wiederzufinden, Abhängigkeiten zwischen einzelnen Modulen der Applikation wachsen oft wild.
aspectjSonar Analyse eines Maven Projektes mit Cobertura und AspectJWir verwenden unter anderem Sonar, um unsere Codequalität zu analysieren. Sonar bietet viel Spannendes. Interessant ist auch die Analyse der Testabdeckung. Hierzu kann man Cobertura verwenden. Im Zusammenspiel mit einem Projekt, welches AspectJ einsetzt kann es zu Problemen kommen, wenn man versucht das Kompilieren der Anwendung mit der Sonar-Analyse zu kombinieren. mvn clean install sonar:sonar -Dmaven.test.failure.ignore=true Die Lösung liegt wie so oft in RTFM. Der empfohlene Weg eine Sonar-Analyse durchzuführen ist es zuerst die Anwendung zu bauen und danach die Analyse zu starten.
hibernate4Hibernate4 verwendet jboss-logging statt slf4j. Durch die log4j Bridge leiten wir die Logs zu logback.Bei der Migration auf Hibernate 4 haben wir festgestellt, dass Hibernate statt wie bisher slf4j nun ihre eigene Logging API jboss-logging verwendet. Glücklicherweise logt diese API standardmäßig auf log4j. Durch Einsatz der log4j-over-slf4j Bridge lenken wir die Logs wieder auf slf4j, um sie dann per logback zu loggen. Es ist wichtig bei der Nutzung dieser Bridge keine log4j.jars im Klassenpfad zu haben! Es dürfen kein direkten oder transitiven log4j.jar Abhängigkeiten mehr existieren.
cleancodePodcast und Slides von Chris Chedgey's Talk Restructuring: Improving the modularity of an existing code-baseChris hat uns dankenswerter Weise die Tonaufnahme und die Folien zur Verfügung gestellt. Podcast (245MB) Slides Die Slides sind aktualisiert und enthalten Beispiele der Restructuring Strategies! Schaut sie euch ruhig noch mal an.
bedBerlin Expert Days mit 4 Vorträgen unserer MitarbeiterDie Berlin Expert Days 2012 haben ein sehr interessantes Programm. Neben bekannten Speakern erhalten auch weniger bekannte Speaker die Gelegenheit sich und Ihre Erfahrungen zu präsentieren. U.a. gibt es 4 Vorträge von Hypoport Mitarbeitern: Continuous Delivery in der Praxis – 7+ Lektionen von Jörg Müller Inversion of Flow von Arne Burmeister Modularisierung wagen: warum es sich lohnt, diesen Weg einzuschlagen (und wie man unterwegs überlebt) von Ansgar Konermann, Jacob Fahrenkrug MongoDB für Java Entwickler und Architekten – Schema Evolution und Maintenance: Was wurde uns am Anfang verschwiegen?
cleancodeChris Chedgey von Headway Structure101 kommt am 6. März 2012 nach BerlinGemeinsam mit der Java Usergroup Berlin-Brandenburg präsentieren wir am 6. März den Vortrag von Chris Chedgey Restructuring: Improving the modularity of an existing code-base. Einlaß und Zeit für Networking startet ab 18:30 Uhr. Der Vortrag beginnt um 19:00 Uhr. Vortrag When a code-base reaches a certain age, it starts to creak, grind, rot. It seems like everything uses everything. Developers do not understand the big picture and start duplicating or creating parallel worlds of design, making things even worse.
cleancode@Mock unused variable mit IntelliJ IDEA kein ProblemIch bin froh, dass IntelliJ IDEA die Standard IDE bei uns ist. Hier ein kleines Beispiel wie flexibel – manche nennen es intelligent – IntelliJ ist:) Die Inspection unused variable warnt vor unbenutzten Variablen. Nach CleanCode lösche ich solche Variablen sehr gerne sehr schnell. Problematisch wird dies wenn man z.B. @Mock von Mockito oder @Resource von Spring verwendet. Was diese Annotationen inhaltlich machen gibt es ein anderes Mal. Für jetzt ist interessant, dass eine mit @Mock annotierte Variable nicht weiter im Code verwendet wird.
javaEine Migration auf SLF4J und Logback lohnt sich!Bisher haben wir (Team emma) log4j eingesetzt. Es ist meines Erachtens derzeit der Standard wenn es ums Logging in Java Anwendungen geht. Es tut was es soll und das gut. Warum also wechseln? Wie so oft sind es die Kleinigkeiten, die den Unterschied ausmachen. SLF4J Die Simple Logging Facade for Java kurz SLF4J ist eine Logging Facade für diverse Logging Frameworks, wie java.util.logging, log4j und logback. Warum der Einsatz von SLF4J sinnvoll ist wird u.
eaiEigener ESB, andere ESBs oder einfach Spring Integration?Bei Hypoport haben wir seit Jahren einen selbst entwickelten ESB im Einsatz. In unserem Team haben wir wenig KnowHow diesen zu nutzen und anzupassen. Die Anbindung und Erweiterung von externen Schnittstellen fällt daher nicht leicht. Erschwerend kommt hinzu, dass die Integration Flows nicht durch unser Continuous Delivery Skript automatisiert ausgerollt werden können. Wir standen vor der Entscheidung uns intensiv in diesen ESB einzuarbeiten oder es mit einer anderen Integrationslösung zu versuchen.
brett-schuchertWorking effectively with legacy codeDie JUG Berlin-Brandenburg und die Hypoport AG laden euch herzlich am 10.11.2011 von 19 bis ca. 22 Uhr zu unserer Veranstaltung „WORKING EFFECTIVELY WITH LEGACY CODE“ mit Brett Schuchert einladen. Brett ist ein ObjectMentor, ebenso wie dies Uncle Bob (Clean Code) ist. Zum Inhalt: Michael Feathers (ebenfalls ein ObjectMentor) defines legacy code as code lacking automated checks. You cannot simply change it without risking breaking something. If the code were not yet deployed, that might not be too painful but since we are talking about legacy code, it’s probably already deployed so we have to tread carefully.
headwayStructure101 und Restructure101 Präsentation am 06.03.2012 mit LizenzverlosungGestern hat Headway sein User Group Sponsoring vorgestellt. Am 06.03.2012 wird Headway bei uns in der Klosterstr. 71, Berlin sein und Structure101 und Restructure101 vorstellen. Merk dir das Datum und vielleicht zählst du zum Gewinner der Lizenzverlosung. Mehr Infos wird es später im Rahmen der JUGBB geben.
automatisches-testsJUG BB am 12.10. - Fighting Layout BugsAm Mittwoch 12.10. wird Michael Tamm bei uns in der Klosterstrasse 71 einen spannenden Vortrag zum Thema „Fighting Layout Bugs“ halten. Um was geht’s in dem Vortrag: Für die „normale“ Programmierung gibt es Unit Tests. Aber wie können automatische Tests für die Arbeit von HMTL- und CSS-Programmierern aussehen? Wie kann man sicherstellen, dass jede Webseite so aussieht, wie es sich der Designer vorgestellt hat? Wie können automatische Tests für Layoutfehler aussehen?
bonusWarum ein jährlicher Bonus eine schlechte Idee ist!Ein jährlicher Bonus wird meistens an zu erreichende Ziele gebunden und variiert je nach Erreichung. In der IT ist es schwer immer SMART Ziele zu finden. Auch ist es fraglich, wie stark ein Bonus motiviert. Hierzu kann ich die sehr unterhaltsame Präsentation What Motivates You! empfehlen. Nehmen wir mal an du bekommst ein Gehalt von 1000 Gummibärchen und einen Bonus von 200 Gummibärchen am Ende eines Jahres. Welche Zahl nennst du, wenn du jetzt beim Grillen mit Freunden über dein Jahresgehalt sprichst?