更多

Blogs

Lots of our people have lots of opinions. Here are just a few of them

ThoughtWorks embraces the individuality of the people in the organization and hence the opinions expressed in the blogs may contradict each other and also may not represent the opinions of ThoughtWorks.

Links for 2016-04-29 [del.icio.us]

Small Values of Cool
30 April 2016

Original Link

Basics of Web Application Security: Hash and Salt Your Users' Passwords

If you need to store your users' passwords, it's essential that you never store them plainly. Instead you must store a cryptographic hash of them, so that people who get access to your database don't get the passwords. Cade and Daniel explain how to do this properly: salting the hash to avoid lookup table attacks, and using an appropriate hashing algorithm to defend against well-equipped attackers.

Martin Fowler
25 May 2016

Original Link

Distributed happiness radar on FunRetro board

Please find below the happiness radar board I did create at FunRetro distributed board. Amazing tool! I created it in less than 3 minutes! I have just facilitated a distributed retrospective. I wish everyone was on the same room,, but it was not possible. There were 9 people on five different locations. Despite of it […]

Paulo Caroli
24 May 2016

Original Link

Automating github

I got tired of downloading my own scripts from Github when working among multiple projects. So I automated it, of course. The bitsh project reuses a test script from the shell project, and now the Makefile for bitsh is simply:

SHELL=/bin/bash
test:
	@[ -t 1 ] && flags=-c ; \
	./test-bitsh.sh -i -- $$flags t

When run-tests is updated in Github, bitsh automatically picks up the changes. And I learned the value of ETag.

By the way, why "bitsh"? I hunted around for project names combining "git" and "bash" and found most of them already taken. Beggars can't…

Brian Oxley
22 May 2016

Original Link

Metaprogramming with Bash

Most programmers do not take full advantage of the languages they work in, though some languages make this a real challenge. Take metaprogramming, or programs that have some self-knowledge. LISP-family languages make this easy and natural; those with macros even more so. Bytecode languages (think Java), and even more so object code languages (think "C"), fall back on extra-linguistic magic such as AOP rewriting.

Text-based languages lay in a middle ground. Best known is Bash. Rarely do programmers take full advantage of Bash features, and few would think of metaprogramming. Not as clean as LISP macros, it…

Brian Oxley
21 May 2016

Original Link

The conversational event dude pairing (also known as the dual language pair speaking)

It is really nice to participate actively on a conference. Isn’t it? You know it is. You really enjoy taking part on great event sessions such as fishbowls, birds of feathers, open spaces, coach clinic and alike. The problem is when two languages are involved and not everyone speak both languages. Here is the scenario […]

Paulo Caroli
20 May 2016

Original Link

Color your world

My coworkers use many ad hoc or single-purpose scripts, things like: checking system status, wrappers for build systems, launching services locally, etc. My UNIX background tells me, "keep it simple, avoid output; Silence is Golden."

Somehow my younger colleagues aren't impressed.

So to avoid acting my age I started sprinkling color into my scripts, and it worked. Feedback was uniformly positive. And true to my UNIX roots, I provided command line flags to disable color.

Some lessons for budding BASHers:

  1. Yes, experiment and learn, but be sure to do your research. The Internet has outstanding help for BASH.

Brian Oxley
19 May 2016

Original Link

Canvas MVP na UXConfBR

Nesta Sexta feira, dia 20 de Maio ás 18 hs na UXConfBR, em Porto Alegre. Palestra: Canvas MVP, vamos investir o mínimo esforço para alcançar o máximo de aprendizado Tags: MVP, Lean Startup, trabalho colaborativo Venha participar desta conversa sobre o canvas MVP, uma ferramenta usada por empreendedores, designers e criadores de produtos para validar […]

Paulo Caroli
19 May 2016

Original Link

Refactor now!

Future Devs will thank you (and might even be you!)  

Kevin Hickey
19 May 2016

Original Link

The MVP Canvas Agile Clinic at the XP2016

Are you at the XP2016? Interested on talking about Minimum Viable Product, Lean StartUp, and Design Thinking? So join me for a agile coach clinic on Thursday, 26 May 2016, at 17>30 pm. 17.30-18.00 Paulo Caroli MVP Canvas, Lean StartUp, Design Thinking, a canvas for validating new or clarifying existing lean product ideas. Read more […]

Paulo Caroli
18 May 2016

Original Link

Refactoring a javascript video store

The simple example of calculating and formatting a bill for a video store opened my refactoring book in 1999. If done in modern Javascript, there are several directions you could take the refactoring. I explore four here: refactoring to top level functions, to a nested function with a dispatcher, using classes, and transformation using an intermediate data structure.

Martin Fowler
18 May 2016

Original Link

Hero’s Journey

The hero’s journey is a futurespective activity to help describing a story a team is pursuing. It is inspired on Joseph Campbell’s book. Running the activity 1. Explain the intent of[...]

Paulo Caroli
17 May 2016

Original Link

Sim, a inception DiretoAoPonto dura uma semana

pergunta: Caroli, mas você sempre faz a inception DiretoAoPonto em uma semana? resposta: Sim, sempre faço a inception DiretoAoPonto em uma semana, ou cinco dias úteis. Nem mais, nem menos. Sempre respondi isso até receber um email da minha colega Mayra Rodrigues com a agenda de uma inception que ela iria facilitar para a aceleradora. […]

Paulo Caroli
16 May 2016

Original Link

SATURN 2016, San Diego

I first heard of SATURN via social media through Michael Keeling, an IBM employee who spoke at XP2009 many years ago. Sam Newman spoke last year about Microservices. Although the conference has a Call For Papers (CFP) each year, they also had a small number of invited speakers and Michael organised for me to go [...]

Patrick
15 May 2016

Original Link

UiAutomator died while responding to command


Recently while working on one of the Appium automation framework, we noticed this error:

"org.openqa.selenium.WebDriverException:  UiAutomator died while responding to command, 
please check appium logs! (WARNING: The server did not provide any stacktrace information)

Let me explain the framework we have. The framework is using Cucumber + Appium + Gradle. So the
test are written in feature file in plain english and in turn talk to step implementation which calls the page
class for any action. We also have some utils written which basically captures the screenshot of the device
on the step of failure and captures the adb log of

Nishant Verma
14 May 2016

Original Link

Be Wrong!!

An Information Radiator often comes about when teams realize that there isn’t a shared understanding.  Unfortunately, not everyone recognizes that lack of shared understanding at the same time.  This leads to a resistance to putting in the effort to create the radiator, why would we work on something that isn’t needed.  This in turn often […]

jkwerner2
12 May 2016

Original Link

Doing something as a group

Getting anything started in a group does not work easily. It often tests the patience of someone trying to introduce a change for good. Getting someone out of status quo is a tough one, then there is also a group mindset that someone will change first so wait until it happens. What really works is […]

Vinod Kumaar R
12 May 2016

Original Link

[vídeo] Critério de Sucesso por Eduardo Peres

Sucesso de projeto é fazer o cliente chorar! Nesse vídeo Eduardo Peres compartilha o critério de sucesso em projetos de software: fazer o cliente chorar. Confira:

Paulo Caroli
12 May 2016

Original Link

illustrative images on MVP

Here is a few illustrative images about MVP (Minimum Viable Product) evolution path. I have got those on a great conversation on tweeter.   @cecifernandes @davidakoontz @JoshuaKerievsky @marcobrunobr another one on MVP and product evolution pic.twitter.com/s88FqPHXDe — Paulo Caroli (@paulocaroli) April 22, 2016 @davidakoontz @JoshuaKerievsky @marcobrunobr @paulocaroli IMO, they lack a 1st vision. This is […]

Paulo Caroli
11 May 2016

Original Link

[vídeo] workshop DiretoAoPonto – o BeerClub

A facilitadora e organizadora de Inception DiretoAoPonro Mayra Rodrigues compartilha este vídeo com os melhores momentos de um workshop de 8 horas. Adorei a ideia do produto!  

Paulo Caroli
10 May 2016

Original Link