TL;DR María Caparrós hired Giovanny Sayas as a Senior Developer Consultant in the middle of Spain’s lockdown and he couldn’t be happier to be at Thoughtworks. (Yay!)The long version
22 Jun 2020
21 Jun 2020
Crack single-byte XOR ciphers! Learn how to decipher encrypted messages without the key using frequency analysis and Python.
Earlier today I removed Google Analytics script from my website. Long time ago I switched to self hosted fonts instead of Google Fonts. That means, as of today, my blog is completely Google free. Google Analytics is a great product, but I probably used up to five percent of it's features. Still I had a fear of missing out. That's…
20 Jun 2020
We’re excited to announce that OpenAI is co-organizing two NeurIPS 2020 competitions with AIcrowd, Carnegie Mellon University, and DeepMind, using Procgen Benchmark and MineRL.
19 Jun 2020
Risk-free interest rate is a theoretical return on an investment with zero risk.
Discover how to calculate retained earnings with our definitive guide.
Get more information about the different types of online payment system.
These are the big targets that help artists, contributors and module members to be on the same page.
The Go compiler’s SSA backend contains a facility to produce HTML debugging output of the compilation phases. This post covers how to print the SSA output for function and methods. Let’s start with a sample program which contains a function, a value method, and a pointer method: Control of the SSA debugging output is via […]
The new QGIS 3.14 version adds support for the native loading of vector tiles. The easiest way to load them is via the recently released plugin.
My journey of becoming a ‘self-made man’ started the day I was born. Unlike many others, I wasn’t born with XY chromosomes but I’ve always felt ‘male’ inside. As a child when I began speaking, I started using male pronouns to identify myself. Because I was born female my family taught me to use female pronouns, which I refused to…
18 Jun 2020
Source code for this episode is here. We are continuing with our project to gradually morph Abrash’s “remember the living neighbour counts” algorithm into Stafford’s algorithm. I’m going to start today by adding two very small bit-twiddling optimizations to the … Continue reading →
Yulia Startsev, a JavaScript engineer on Firefox's SpiderMonkey team, introduces her new Twitch stream called Compiler Compiler. In the three opening interactive episodes, we get an inside look at how the JavaScript Specification, ECMA-262, is implemented in SpiderMonkey, by reading the spec and fixing issues in the implementation. The post Compiler Compiler: A Twitch series about working on a JavaScript…
This week celebrating Pride month, we hear from Vicky, one of our engineers.
17 Jun 2020
Find out how to calculate return on capital employed (ROCE).
Zum 01.07.2020 und 31.12.2020 werden in Deutschland die Umsatzsteuersätze von 19% auf 16% bzw. dann wieder auf 19% geändert. Dies hat die deutsche Bundesregierung am 3. Juni 2020 verkündet und seit dem 12. Juni 2020 als Gesetzesentwurf vorliegt. Dies bedeutet für viele Shop-Betreiber eine Nachtschicht. Die Umstellung der Mehrwertsteuer hat […] The post Automatische Anpassung der Mehrwertsteuer in WooCommerce zum…
We find that, just as a large transformer model trained on language can generate coherent text, the same exact model trained on pixel sequences can generate coherent image completions and samples. By establishing a correlation between sample quality and image classification accuracy, we show that our best generative model also contains features competitive with top convolutional nets in the unsupervised…
The brand new MapTiler Server makes it extremely easy to deliver map services from your own hardware.
This story will give you a glimpse of what it meant for me to grow up as a gay person in Germany, it will show you my personal struggle and pain that came with being gay and not fitting into what society, my parents, and religion were telling me. I’m sharing this intimate story so everybody who reads it might…
16 Jun 2020
Faster application delivery with remote teams is the key to connect with your customers, now more than ever. A few years ago, we released Review Apps with the goal of improving the application development process and team collaboration. Today, we are excited to announce the release of an improved version of Review Apps to general […] The post New Review…
A UTR number is a unique 10-digit number used to identify taxpayers. Read on.
Does your business have a good average ARPU? Read on to find out.
15 Jun 2020
Code for this episode is here. Where were we? I was gradually changing Abrash’s “remember the neighbour counts” into Stafford’s algorithm from an early 1990s optimization contest. In this series I’m going to illustrate the algorithm in C#, and we’ll … Continue reading →
14 Jun 2020
“Scaling” is not a specific technique but an entire spectrum that stretches all the way from “Google scale” to the K8s cluster Karan runs on a Raspberry Pi plugged into a 12V shaver outlet in his bathroom to encrypt his DNS queries for peak privacy, while he asks Alexa to dim the lights and play his favorite non-mainstream indie music.…
Dive into Python internals - Modify CPython to make integers iterable! Explore iterators, protocols, and why it's a bad idea.
12 Jun 2020
Find out more about online bookkeeping for a small business.
Find out how to make a Self Assessment tax return with our step-by-step guide.
Is operating cash flow the same as free cash flow? Find out with our guide.
At what point should your business issue an invoice? Read on to learn more.
Customer lifetime value is an important, customer-centric metric. Read on.
A previous post on this blog ended with the following paragraph: “We might also replace JSON with a more efficient serialization protocol…
How to raise the quality of your libraries to a professional level As your product grows and matures, your design team will be faced with new challenges. New people need to design new screens using new components. Conventions become rules. Novices become experts. And your team’s Sketch skills have to keep up. In this article, we’ll explore a few techniques…
11 Jun 2020
We are thrilled to announce that Heroku Shield for Redis is now generally available and certified for handling PHI, PII, and HIPAA-compliant data. Heroku Shield for Redis is the final missing data service for Heroku Shield, which is an integrated set of Heroku services with additional security features needed for building high compliance applications. All […] The post Heroku Shield…
The MDN Web Docs Learning Area teaches fundamentals of modern web development, beginning with HTML, CSS, and JavaScript essentials. In feedback this year, readers asked for a more opinionated, structured approach. They asked for coverage of client-side tooling, frameworks, transformation tools, and deployment tools widely used in today's workplace. Meet the Front-end developer learning pathway from MDN. The post Introducing…
Source code for this episode is here. Before we get into today’s episode proper, a quick note. I’ve updated the client so that it now supports the ability to load a pattern off disk, execute that pattern, and “reset” back … Continue reading →
We’re releasing an API for accessing new AI models developed by OpenAI.
Yesterday, I took my rusty old bike out of the basement and rode through Golden Gate Park to Ocean Beach and back. The 6+ mile ride may seem short to some, but for me, it was something I never thought I’d be doing just a short time ago. I’m on a roll (literally!) that started […] The post Team Heroku…
Whenever I suspect that there’s a timing conflict causing a problem with rendering and directives, I usually opt for a JavaScript setTimeout with a delay. The setTimeout code never makes it to production, but it does help me to understand if my code is the problem or if there’s a timing conflict. In working with Kotlin on Android, I’ve needed…
... because, at every new incident, your fortitude was to be called forth, and your courage exhibited; because danger and death surrounded it, and these you were to brave and overcome. For this was it a glorious, for this was it an honourable undertaking.
In a case of Semantic Diffusion, the original definition of ‘epic’ has weakened over the years. My observation is that epics either help or hinder good story writing depending on how we use them, and how well we understand what good user stories look like. In this article, I’ll explore why epics used in certain ways lead to different outcomes,…
10 Jun 2020
Understand the difference between ROI and ROAS with our definitive guide.
This week celebrating Pride month, we hear from Drew, Head of Internal Comms.
Learn how to write a financial plan for a start-up business with our easy guide.
Open-source plugin for QGIS that loads fast vector maps. Change colors and fonts of the map to get unique look.
Alan Turing was a highly gifted English mathematician. He was also a code breaker, machine builder, computer science pioneer and logician. The notion of algorithm comes from his paper describing his concept called the Turing machine. The fields of computer science and artificial intelligence owe much to his ideas.
9 Jun 2020
Because of the Corona pandemic, our whole company has now been working from home for 12 weeks. Before, we mostly worked in the office, although occasionally people would work from home, for example when waiting for a delivery. This abrupt … Continue reading →
Find out everything you need to know about PCI DSS fines and penalties.
Find out more about the best ways to engage customers for SMEs right here.
Tenemos ante nosotros una nueva versión estable de Firefox. La versión 77 viene con varias novedades para los desarrolladores web. En este artículo se presenta simplemente un conjunto de los aspectos más destacados. Para conocer todos los detalles, consulte lo siguiente: Firefox 77 para desarrolladores en MDN Notas de la versión de usuario final de […] The post Nuevo en…
全新 Firefox 穩定版正式推出!第 77 版為開發者提供了更多新功能。 這篇文章包含新版本中的精彩亮點,想了解完整資訊,請瀏覽以下網頁: MDN Firefox 77 開發人員專區 Firefox 77 一般用戶更新資訊 開發者工具改善 讓我們先來看看第 77 版開發者工具中最有趣的優化與創新。如果你想使用更多開發中的新功能,並提供建議,請安裝 Firefox 開發者版本即可搶先體驗。 更快、更有效的 JavaScript 除錯 大型 Web 應用程式對開發者工具來說無疑是一項艱難的挑戰,因為需要快速而正確地處理捆綁(bundling)、實時重載(live reload)和相依性。 Firefox 77 的 Debugger 學了一些新技巧,讓你可以因此更加專注於除錯。 在先前的許多版本中,我們持續致力於提升除錯性能,也幾乎除光了影響層面最嚴重、可處理的問題。為了找出剩餘的瓶頸,我們一直積極地和社群保持聯繫。得益於我們收到的許多詳細回報,我們終於能夠改善除錯的效率,不僅提升暫停和步進速度,也減少記憶體長期用量。 就是會動的 JavaScript 和 CSS Source Map
全新Firefox稳定版现已推出。版本77为Web开发人员带来了诸多新功能。 本文只是归纳了一些亮点;如需了解详细信息,请参见以下资源: MDN上的Firefox 77开发人员须知 Firefox 77最终用户发行说明 开发人员工具改进 首先来看看版本77中最值得关注的开发人员工具改进和补充。若要进一步了解进行中的工作并提供反馈,请下载Firefox DevEdition来抢先体验。 JavaScript调试更快速、更精简 大型Web应用可能会给DevTools带来挑战,因为捆绑、实时重载和依赖项都需要得到快速、正确地处理。在版本77中,Firefox的调试器有了更多本领,让您能够专注于调试。 我们经过多个发行版本改进了调试性能,在寻找可动手的高影响力Bug错误方面即将达到终点。因此,为了能找到残留的瓶颈,我们积极与社区交流。我们收到了许多详细的报告,实现了诸多性能改进,不仅加快了暂停和分步执行,同时也降低了不同时间点上的内存占用。 行之有效的JavaScript和CSS源映射 源映射是这次扩展的组成部分,在性能增强方面功效显著。部分内联源映射在加载时间上提升了10倍。但更重要的是,我
Why does Thoughtworks assess candidates' pair programming skills? At Thoughtworks, we strongly believe in pairing not just for programming, but also for most of our everyday activities. In fact, this very post is a result of pairing! Pairing naturally promotes communication, thought alignment, and knowledge sharing while seamlessly replacing any sense of competition with a sense of collaboration. For our…
8 Jun 2020
Find out everything you need to know about how to create a secure payment page.
Want to know more about cash flow hedge vs. fair value hedge? Read on.
Learn about contactless card caps, how to use contactless cards, and more.
Is getting a small business loan with bad credit possible? Read on to find out.
Our comprehensive guide to the IRR formula and how to calculate IRR.
Monetizing content on the web usually boils down to one thing: advertisements. The problem with adding advertisements to your website, especially from the popular ad services, is that they can be slow and they certainly don’t protect user privacy. That’s where alternative monetizing opportunities come into play. Let’s take a quick look at a few alternative ways that bloggers, streamers,…
Compensation has always been one of the most confusing parts of management to me. Getting it right is obviously extremely important. Compensation is what drives our entire economy, and you could look at the market for labor as one gigantic resource-allocating machine in the same way as people look at the stock market as a gigantic resource-allocating machine for investments.…
The six-colour rainbow flag will probably be the flag waved the most around the world during pride. But did you know that it wasn’t the original design? And that new flags are popping up all over the world? Members of the LGBTQIA+ community use all kinds of colours in all kinds of flags to create a variety of queer symbols.A…
7 Jun 2020
Emulate inheritance in C using structure composition! Learn how it enables code extensibility, powering Linux Kernel & Python.
6 Jun 2020
In Go, what's the simplest possible way to put all your ad-hoc tools in one place?
5 Jun 2020
This week in Pride month, we hear from Marios Dixon.
Looting is an obvious response to the glorification of consumer products— commodities in a society that worships conspicuous consumption. The very act of looting is resistance to the celebrity status of these commodities and what they imply: inanimate objects celebrated for the image, status, and privilege they create, and the way that privilege is assumed to confer the protection of…
I joined Thoughtworks in January 2020. I was attracted to the company because of its commitment to social change and diversity in the tech industry. Once I had gone through induction week, I realised that there's another perk to working at Thoughtworks that’s not as widely advertised: Thoughtworks is a relatively flat organization, meaning your career growth is mostly up…
4 Jun 2020
You can now fire Functions on an interval to make sure you’re executing business logic on a consistent basis.
You can now fire Functions on an interval to make sure you’re executing business logic on a consistent basis.
For ninkik I wanted to provide a subdomain for each of our customers. In addition to that, I wanted to use some other subdomains for static and dynamic content. At that moment I did explicitly not wanted to deal with microservices or multiple applications.When receiving a request, Spring should do […] The post Handling subdomains in multi-tenant applications with Spring…
Regular expressions – commonly known as RegExps – are a powerful and heavily used tool for manipulating strings in JavaScript. This post describes how we updated the RegExp engine in SpiderMonkey, Firefox's JavaScript engine, by building a shim layer to V8's Irregexp. The outcome: reduced maintenance and stronger collaboration among the browsers, full support for all the new RegExp features,…
A personal note about books, reading, and why I keep coming back to them.
3 Jun 2020
Why knowing how to build software feels like a superpower in everyday life.
Introducing the v2 release of the Serverless Azure Functions plugin, which includes support for Linux, Python & .NET Core Function Apps.
2 Jun 2020
Firefox 77 is now available with a variety of developer tool updates and new web platform features. With your feedback, we've removed performance bottlenecks, resulting in faster, leaner JavaScript debugging. We also report on some changes to Firefox extensions, including fewer permission requests. The post New in Firefox 77: DevTool improvements and web platform updates appeared first on Mozilla Hacks…
What is net and gross income? See how to convert net to gross income, here.
Explores the ins and outs of debt-to-capital ratio analysis.
Explore the ins and outs of purchase requisition with our simple guide.
Cash flow from operating activities plays a key part in the cash flow statement.
This is an archive of an old pseudonymously written post from the 90s from someone whose former pseudonym seems to have disappeared from the internet. I see that Star Trek: Voyager has added a new character, a Borg. (From the photos, I also see that they're still breeding women for breast size in the 24th century.) What ticked me off…
First off, a brief programming note: now is not the right time to continue with the usual topic of this blog: a lighthearted exploration of algorithmic complexity and optimization. We’ll get back to that at a later date. I have … Continue reading →
I was born in 1981 in the UK, which makes me a ‘Xennial’; the cohort who bridge the analogue and digital era we now increasingly inhabit. But the recent COVID-19 crisis seems to have extended that digital bridge backwards to my Gen X sister, Baby Boomer parents and even further to Silent Generation relatives. The constraints of isolation, combined with…
1 Jun 2020
At Jane Street, an “expect test” is a test where you don’t manually write the output you’d like to check your code against – instead, this output is captured automatically and inserted by a tool into the testing code itself. If further runs produce different output, the test fails, and you’re presented with the diff.
Five things all execs should know about technology (and why it matters more than ever)
Thoughtworks InsightsWe are already in a period of massive digital disruption, driven by large-scale automation, hyper-connectivity and continually-changing customer expectations. Add to the mix the far-reaching impact of the recent COVID-19 crisis, and it’s no real surprise to discover that leaders are turning to technology to build organizational resilience, by stabilizing their operations, and cultivating the ability to respond quickly to…
31 May 2020
A lot of people seem to think that distributed tracing isn't useful, or at least not without extreme effort that isn't worth it for companies smaller than FB. For example, here are a couple of public conversations that sound like a number of private conversations I've had. Sure, there's value somewhere, but it costs too much to unlock. I think…
Even though Ubuntu/Debian is equipped with its legendary powerful package manager, dpkg, in some cases, it is still beneficial to take advantage of Nix, a purely functional package manager.
Explore the RUM Conjecture - How Read, Update, and Memory overheads impact storage system design and performance trade-offs.
30 May 2020
Learn what chat platform features are truly valuable for your use case and industry, whether Gaming, Healthcare, Fleet Tracking, and more
Learn what chat platform features are truly valuable for your use case and industry, whether Gaming, Healthcare, Fleet Tracking, and more
We spent one day1 building a system that immediately found a mid 7 figure optimization (which ended up shipping). In the first year, we shipped mid 8 figures per year worth of cost savings as a result. The key feature this system introduces is the ability to query metrics data across all hosts and all services and over any period…
29 May 2020
We are living in unprecedented times, and many of us are grappling with a really similar set of complicated and, at times exhausting, emotions. I’ve been thinking about this a lot since my conversation with Margaret Francis, the SVP of Platform Data Services at Salesforce and former Heroku GM, in our recent podcast for Code[ish]. […] The post Climbing Up…
Learn how you can make the most of the Salesforce platform to transform customer engagement and payment collections.
Explore the advantages and disadvantages of automated reconciliation tools.
Public liability insurance can protect your business in the event of a claim.
Optimizing common email or other communication tasks
Are you creating a mobile app or website with dark mode and looking for a map to fit the design? Try Dark and Night maps and create your own!
28 May 2020
Source code for this episode is here. Just as a reminder: I am developing my C# version of Stafford’s “QLIFE” algorithm by taking Abrash’s “keep the neighbour counts around” algorithm and gradually adding optimizations. That’s much easier to understand than … Continue reading →
27 May 2020
“You’re not really a developer. Sooner or later people are going to realize you don’t know what you’re talking about. You’re just not good enough.” You’ve probably had thoughts like these at one point or another. You’ve never heard someone else tell you that you’re not a developer, but you’re still thinking it. You may be thinking along these lines…
Find out how to handle recurring payment processing for a start-up business.