menu

Alumni 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.

Find Out About Video Games By Reading This

Video games have an important place in most homes around the world.Regardless of why you’re playing video games, they are here to stay. The following are useful ideas for optimizing your game playing a lot more fun. If you are buying for a child, make sure you solicit multiple opinions. You will use a lot […]

admin
24 May 2018

Original Link

Examining CI, CD and branching models

This builds on Trunk, CI, Builds, Environments, and Integration from six months ago, and is mostly graphical in an attempt to correlate environment names branching models and CI infrastructure available for automated builds and test runs of various types. Of course, the build isn’t “just compile” anymore, it is all possible scriptable build and functional test steps.

Slower release cadences first, and fastest last.

Traditional CI

Shown here with pull request branches and release branches. Otherwise, trunk (master) is the most important branch. The goal for developers & QA automators aim to get their code integrated (merged) there as quickly…

Paul Hammant's blog
23 May 2018

Original Link

IntelliJ IDEA Live Template for asynchronous actor testing with Akka TestKit

Akka TestKit is an Akka module for asynchronous testing of Akka actors. To anybody serious about building software with Akka actors TestKit is as indispensable as ScalaTest, ScalaCheck, JUnit, or whatever other dev stack’s testing frameworks are. If you’re relying on IntelliJ for Akka development in Scala here’s a Live Template that expands to the skeleton […]

Dragos Manolescu
20 May 2018

Original Link

深圳百川公司太烦人了

深圳百川公司太烦人了 今天笑捧收到网友的投稿说,有这么一家公司-深圳市百川互联网络技术有限公司-深圳百川公司- […]

笑捧博客
19 May 2018

Original Link

What is a tuple

A tuple is a immutable heterogenous data structure while Lists are homogenous sequences. Tuples have structure. Lists have order. For example say we wanted to save notes in a book on a specific page an line number. We could define that data structure as a tuple. And then use this as a key in a […]

JR
17 May 2018

Original Link

For the Fun Of It

I came upon this awesome TED talk on “Why You Should Make Useless Things” by Simone Giertz thanks to Mikael Pawlo. The talk really resonated with me and articulated thoughts I have had for a long time.

I learned how to program BASIC from a book 37 years ago, one year before I actually saw and touched a real computer. A few months later I got my first computer, a Commodore VIC20 The first year I had it I didn’t have the tape recorder that allowed me to save my programs. So for a year whatever I did…

Blog on Marcus Ahnve
15 May 2018

Original Link

闪电借款怎么样

闪电借款怎么样 相信很多人都会出现缺钱的时候,那么大家是怎么解决的呢 ?向亲朋好友借还是 ?现在的社会借钱是很 […]

笑捧博客
15 May 2018

Original Link

The Risk of Identity

The recent tragedy of the Windrush Scandal has unsurprisingly prompted calls for identity cards to be introduced in the UK. The UK, like most English speaking countries, has no existing identity card scheme. This is largely an historical accident. When the Code Napoleon was introduced, it was based on a complete census and included identification numbers for every citizen. The Code Napoleon, and these identification numbers, is the basis for much of the legal code across Europe. From there, id cards have been, through colonialism, exported to many countries around the world. But not to the UK, nor its former…

Giles Alexander
13 May 2018

Original Link

潮流空间集成墙饰加盟怎么样

潮流空间集成墙饰加盟怎么样 前段时间有个网友投稿说潮流空间集成墙饰加盟是一个骗局!那么到底是怎么回事呢?潮流空 […]

笑捧博客
14 May 2018

Original Link

益阳中南高等函授教育培训中心怎么样

益阳中南高等函授教育培训中心怎么样 今天有网友投稿说在益阳中南高等函授教育培训中心受到了委屈,说益阳中南高等函 […]

笑捧博客
14 May 2018

Original Link

Git Error: Could could not read Username for 'https://github.com': terminal prompts disabled

Today I ran into this error while trying to update Homebrew.

brew update
fatal: could not read Username for 'https://github.com': terminal prompts disabled
Error: Fetching [redacted] failed!

I thought it might be an issue with Homebrew itself, but running brew doctor seemed to indicate that everything was working correctly. I know Homebrew uses a git repo (which is pretty obvious from the error message) so I thought that the git repo or git itself might be the problem. You can navigate to the repo by doing cd $(brew --repo).

After plenty of trail and error…

Jaco Pretorius
9 May 2018

Original Link

Slides from Craft Meetup

The slides for the Craft Meetup can be found here.

The post Slides from Craft Meetup appeared first on ben stopford.

ben
9 May 2018

Original Link

Metacity enable thumbnail preview

gsettings set org.gnome.metacity alt-tab-thumbnails true

dan
9 May 2018

Original Link

个人全职做自媒体或者做互联网好不好?

个人全职做自媒体或者做互联网好不好? 笑捧一直在互联网门口看着,没有深入,也没有抛弃,博客盈利也就整点早餐钱或 […]

笑捧博客
9 May 2018

Original Link

"As soon as you can" integration

These days, everyone says they are doing "continuous integration" - but are you really?

Do you build your pull requests and feature branches on a CI server? Do you have individually built company-internal libraries each in their own repository (or built as separately versioned artifacts)? If so, you probably aren't doing "as soon as you can" integration (i.e. what "continuous integration" originally meant).

I ran a session at CITCON with Thierry de Pauw about "as soon as you can" integration. It's a name for a style of "trunk based development", but that term can also be…

Ivan Moore
7 May 2018

Original Link

Versioning APIs

If you’ve built a service with an API, that service is under continuous development and the service has consumers then you’re going to need to version that API. You’ll want to build new features with the freedom to change existing behaviour, and you’re going to want to track and retire really old versions.

But how do you version a modern RESTful HTTP API?

  1. Treat the entire API as a single product, and apply a version number to the whole thing. This is useful for services consumed by large numbers of consumers that you have a very limited relationship with. Think…

Giles Alexander
3 May 2018

Original Link

杭州铸淘网络科技有限公司怎么样

杭州铸淘网络科技有限公司怎么样 笑捧想做淘宝很久了,一直没有行动,可能是没找到好的项目或者方法,今天发布的是关 […]

笑捧博客
4 May 2018

Original Link

广东涵春轩艺术品展览有限公司怎么样

广东涵春轩艺术品展览有限公司怎么样 前几天接到几个古玩行业的朋友来的稿子,感觉好神奇,以前笑捧只在小说中知道古 […]

笑捧博客
4 May 2018

Original Link

The Ampersand Dot Operator in Ruby

Ruby allows you to write code like this:

name = nil
=> nil
name&.length
=> nil

This is called the Safe Navigation Operator and was introduced in Ruby 2.3 - it’s similar to the try method in Rails, but it’s faster.

Today I learnt that this can be combined with other operators, for example:

price = nil
=> nil
taxes = 0.99
=> 0.99
price&. + taxes
=> nil

It definitely looks strange to me, but it’s useful in certain contexts.

An interesting bit of history is that many…

Jaco Pretorius
3 May 2018

Original Link

Find Where a Rake Task is Defined

In any Rails application you can see which rake tasks are available - either by running rake -AT (or rake --all --tasks) to see all tasks, or rake -T (or rake --tasks) to see all tasks with descriptions.

However, today I learnt you can also see where a rake task is defined by running rake -W (or rake --where). This is useful if a gem is adding a rake task and you want to look at the source.

All of these commands also take an optional pattern to filter the results.

rake -W db:schema:load
rake db:schema:load                 /Users/jacopretorius/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.6/lib/active_record/railties/databases.rake:247

Jaco Pretorius
1 May 2018

Original Link