~/devreads

20 Oct 2020

David Walsh 2 min read

One pattern in the JavaScript API world that web development veterans will notice is that we’ve been creating new methods to accomplish what older, grosser APIs once achieved. XMLHttpRequest became the fetch API, some APIs like Battery became async, and there are dozens of other examples. Another API desperately in need of updating is the cookie API…and we’ve finally got…

lukaseder 1 min read

jOOQ 3.14 has been released with support for SQL/XML, SQL/JSON, Kotlin code generation, embeddable types, and domain types, synthetic constraints, better MERGE support, and more SQL transformations. In this release, we’ve sorted our github issues according to user feedback and finally implemented some of the most wanted features, which include better Kotlin support, embeddable types, … Continue reading jOOQ 3.14…

jooq-developmentjooqrelease notes

1 min read

In a recent newsletter article I complained about how researchers mislead about the applicability of their work. I gave SAT solvers as an example. People provided interesting examples in response, but what was new to me was the concept of SMT (Satisfiability Modulo Theories), an extension to SAT. SMT seems to have more practical uses than vanilla SAT (see the…

0xADADA 3 min read

The Subaru BRZ RA Racing is a Japan-only edition of the BRZ that is designed to compete in the Japanese 8Beat 86/BRZ one-make spec racing series. It comes with a factory rollcage, 4-point Takata harnesses, air-oil cooler, no trunk interior trim, no radio or sound system, unpainted door handles, 16” steel wheels, and no underbody panels. The idea is you’d…

notesmotorsports

Masha Budryte 1 min read

What is this obsession with labels? Humans (and other animals) have been labelling each other implicitly and explicitly for millennia. Labels, given to us by other people, can affect our social status, success, wellbeing, mental health and other aspects of life. This blog post outlines the evolutionary basis for our assumptions, and why they may be wrong, as well as…

19 Oct 2020

David Walsh 1 min read

Every once in a while I get to a website that doesn’t allow me to paste into a form input. In most cases it’s something to do with login credentials (username and or password) and auth codes. So how are they preventing me from pasting information? It’s as easy as you’d think! Let’s start with the input element: The onpaste…

AJ Iniguez 1 min read

Engineering for Research (E4R) was founded to work exclusively on novel computational problems faced by scientific organizations, especially big science projects such as the Thirty Metre Telescope, Square Kilometre Array Radio Telescope, and pandemic response similar to COVID-19. We interviewed Harshal Hayatnagarkar, Lead Computer Scientist and Research & Development Partner, and Chhaya Yadav, Delivery Partner, to learn more about their…

Angela Bishop, Ashok Subramanian, Dilraj Aujla 1 min read

The world around us is changing exponentially. A new world of work we once imagined would take years — decades — to create has been forced upon us in just a few short months; few anticipate a return to ‘normal’. Nimble organizations — those with technology at their core — have the advantage over enterprises hindered by legacy systems, organizations…

Mejan Rostamian 1 min read

Introduction In 2018, I graduated with a degree in Human-Computer Interaction and since then have been working as a UX/UI design consultant at Thoughtworks. There are some insights, techniques, and ways of thinking that I continuously return to in both my work and everyday situations. In this article, we’ll cover these principles of product design:• Mental Models • Conceptual Models…

17 Oct 2020

Stanko 1 min read

I already built a mount for my Raspberry Pi camera, but it was 3d printed. Meaning that it has one fixed position. I used it a couple of times, but I wasn't super satisfied. Then I stumbled on these images, and thought it was a great idea to use Lego to build a new, more versatile mount. A friend of…

16 Oct 2020

9 min read

“To me, legacy code is simply code without tests.” — Michael Feathers If untested code is legacy code, why aren’t we testing data pipelines or ETLs (extract, transform, load)? In particular, data pipelines built in SQL are rarely tested. However, as software engineers, we know all our code should be tested. So in this post, I’ll describe how we started…

Stanko 3 min read

For multiple projects, I had to add a simple video component with play/pause buttonAlways include at least basic video controls for accessibility and a buffering loader. It is not hard to detect the buffering state, but it can be tricky to get everything right. Therefore, I created a simple component which I now copy from project to project with slight…

15 Oct 2020

bohops 5 min read

Introduction If you have followed this blog over the last few years, many of the posts focus on techniques for bypassing application control solutions such as Windows Defender Application Control (WDAC)/Device Guard and AppLocker. I have not been blogging as much lately but wanted to get back into the rhythm and establish a similar theme […]

uncategorized

Kathy Gettelfinger, Luke Vinogradov 1 min read

If business in 2020 has a buzzword, it’s resilience. Recent events have prompted many organisations to embark on digital-led initiatives aimed at enhancing their ability to assess and respond to the next major crisis. As more businesses make resilience a goal, it’s worth examining what that term really means, and what exactly they should be striving for.

Muralikrishnan Puthanveedu 1 min read

Ever since Big Tech, fintechs and other incumbents have shifted towards a more digital and data-driven decision making approach, the payments space has emerged as one of the most competitive in the financial sector. Players are competing for customer insights and preferences by mining financial habits and ensuing data.

14 Oct 2020

srinivas.tamada@gmail.com (Srinivas Tamada) 1 min read

Modern web and mobile user experiences is a worldwide thing. Localization of your application (supporting multiple languages) will help you to reach worldwide people. Angular is offering Internationalization(i18n) plugins to enrich your application with multiple languages. In this post I will discuss the implementation with lazy loading design pattern with supporting dynamic content. Take a quick look at the live…

angularmulti languagetranslatetypescript

Effy Elden 1 min read

In our series ‘Career Pathways’, we share inspiring, real-life stories from Thoughtworkers on how they began their career in technology, lessons they learnt along the way, and how their journey at Thoughtworks has enabled their career as technologists. Name: Effy EldenJoined Thoughtworks: 2018

13 Oct 2020

lukaseder 1 min read

jOOQ has supported one of JPQL’s most cool features for a while now: implicit joins. Using jOOQ, you can navigate your to-one relationships in a type safe way, generating LEFT JOIN operations implicitly without the effort of having to keep thinking about join predicates, and the correct join order. Consider this Sakila database query here, … Continue reading Using jOOQ…

jooq-in-usecode generationforeign keysjooqsynthetic foreign keys

Lorraine Bellon 1 min read

It’s no secret – networking and security have left the building. Even before the major shift to remote working in the first half of 2020, workplaces had already made the transition to a decentralized network architecture, where computing resources are located outside the data center and most enterprise traffic is destined for public cloud services. […] The post How to…

securitycloud access security brokercloud securitycloud-delivered firewallcybersecurity

1 min read

We’re ironically searching for counterexamples to the Riemann Hypothesis. Setting up Pytest Adding a Database Search strategies In the last article, we improved our naive search from “try all positive integers” to enumerate a subset of integers (superabundant numbers), which RH counterexamples are guaranteed to be among. These numbers grow large, fast, and we quickly reached the limit of what…

Safira Nugroho 1 min read

Remote working is not a new practice, but it’s also not the norm. That has changed during this pandemic. Many software delivery teams were forced to move from working together in a shared space to remote working, which has impacted how they collaborate. One of the practices we regularly use in our projects is pair programming, and we've had to…

Chiranjeevi G A, Ramani Siva Prakash T 1 min read

Mapan’s mission is to ‘increase access, dignity, and income for low-income communities through technology.’ They recruit local entrepreneurs and leaders, also called Mitra Usaha Mapan (MUM) at Mapan. These MUMs facilitate access to products, their ordering, payment, and delivery that improves the lives of their community. Mapan split the profits with the entrepreneurs to positively impact the local economy.

12 Oct 2020

ericlippert 6 min read

All right, let’s finish this thing off and finally answer the question that I’ve been asking for a while: are there any Life patterns that have unbounded quadratic growth? (Code for this final episode is here.) The answer is yes; … Continue reading →

conwayslife

David Walsh 1 min read

Most of the side projects I consider starting revolve around sports, since I’m a huge sports fan. I spend my Saturdays watching soccer, Sundays spent watching soccer and NFL, and of course the mid-week Champions League and Europa League matches. One problem I’ve always had is not being able to find a reliable, feature-packed API to get the data I…

Stanko 1 min read

One plot ended up being smaller because I screwed up cutting it. Created: October 2020 Size: 15x15cm and 13x13cm Paper: Fabriano Bristol 250gsm Pens: Molotow Blackliner, Koi Coloring Brush, Mechanical pencil

11 Oct 2020

Luciano Mammino 18 min read

This article summarizes the experience of two developers learning Rust by building an open source project and having it reviewed live by a Rust expert. It covers the improvements suggested during the review, including simplifying project structure, adding documentation, handling strings, removing code duplication, improving input validation and testing.

rust

9 Oct 2020

Chris Fallin 15 min read

This post will describe my recent work on Cranelift as part of my day job at Mozilla. In this post, I will set some context and describe the instruction selection problem. In particular, I’ll talk about a revamp to the instruction selector and backend framework in general that we’ve been working on. The post A New Backend for Cranelift, Part…

developer toolsfeatured articlefirefoxrustbytecode

sharonxu 1 min read

The Monaco Editor is the popular code editor that powers VS Code, bringing you features like IntelliSense, theming, and simple refactoring. The Python team has partnered with the nteract community to bring these powerful editing features to your nteract notebook. The post Bringing the power of the Monaco Editor to nteract appeared first on Microsoft for Python Developers Blog.

python

lukaseder 1 min read

One of the main features of ORMs is M as in Mapping. Libraries like jOOQ help auto-mapping flat or nested database records onto Java classes that have the same structure as the SQL result set. The following has always been possible in jOOQ, assuming PostgreSQL’s INFORMATION_SCHEMA (using the generated code from the jOOQ-meta module): The … Continue reading Nesting Collections…

jooq-developmentsqljooqjsonnested collections

0xADADA 2 min read

2020 Elections are coming up, and beyond the Trump vs Biden theatrics, in Massachusets we have a ballot referendum on the Right to Repair. TL;DR: Vote ‘Yes’ on Question 1. Currently auto manufacturers must provide independent auto repair shops access to the same diagnostic and repair information about a vehicle as the manufacturers’ dealers have, but the current law doesn’t…

notesmotorsportsright-to-repairlawlegislation

blog.muffn.io (muffn_) 1 min read

Building Another NAS # A lot has changed in my life over the last 6 months or so, moving out of my flat and quitting my job to travel the world only to have 2020 suck all meaning out of every fibre of my being making me yearn for the eventuality of Earth being obliterated into inexistence, but until that…

Mujiruddin Shaikh 1 min read

Platform-first has become such a common business-tech phrase that HBR (Harvard Business Review) has coined a term for this phenomena; “‘platformania’...a land grab, where companies feel they have to be the first mover to secure a new territory, exploit network effects, and raise barriers to entry.” But, the excitement is not without reason. Seven of the world’s 10 largest global…

8 Oct 2020

Scott Truitt 1 min read

This summer, we announced the beta release of our new streaming data connectors between Heroku Postgres and Apache Kafka on Heroku. These connectors make Change Data Capture (CDC) possible on Heroku with minimal effort. Anyone with a Private or Shield Space, as well as a Postgres and an Apache Kafka add-on in that space, can […] The post Heroku Streaming…

newsapache kafkacustomersdatadata analytics

Guillaume Winter 6 min read

This post is an update on a previous post about how Heroku handles incident response. As a service provider, when things go wrong, you try to get them fixed as quickly as possible. In addition to technical troubleshooting, there’s a lot of coordination and communication that needs to happen in resolving issues with systems like […] The post Incident Response…

news

7 Oct 2020

Darren Mason, Vic Wolff 1 min read

It is the year 2030. Apple Pay and Google Pay have just announced their partnership. Instead of contactless payments using NFC-enabled devices, many people are using pure biometric-enabled Point of Sales systems. A quick facial scan with voice fingerprint is enough to complete a payment either in store or online. Deciding whether to pay with a credit or debit account…

6 Oct 2020

ericlippert 11 min read

This was supposed to be the last episode of this series, but while writing it I discovered a bug in my implementation of Hensel’s QuickLife algorithm. It’s a small defect, easily fixed, but I thought it might be interesting to … Continue reading →

conwayslife

David Walsh 4 min read

In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell in love with Mozilla — a browser that gave developers actual tools to solve…

Lorraine Bellon 1 min read

It might be hard to believe, but it’s already October, which means the leaves are changing, the weather is getting colder, and – you guessed it – people everywhere are taking steps to improve their cybersecurity knowledge and practices to combat cyberattacks. Now in its 17th year, National Cybersecurity Awareness Month (NCSAM) started as a […] The post Cisco Umbrella…

securitycyberattackscybersecuritycyberthreatsncsam

David Walsh 1 min read

I used to have a personal aggregator of sites I enjoyed but maintaining it was a nightmare. I needed to grab each site’s RSS feed, categorize their contents, deal with errors and individual rate limits, etc. I had to tear the whole project down because it was a nightmare to manage. Fast forward a few years later and there’s an…

6 min read

I spent a ton of time looking at different software providers, both as a CTO, and as a nerd “advanced” consumer who builds stuff in my spare time. In the last 10 years, there has been an order of magnitude more products that cater directly to developers, through APIs, SDKs, and tooling. I’m pretty psyched about this trend. As the…

1 min read

Memory issues can be hard to track down. A function that only allocates a few small objects can cause a space leak if it’s called often enough and those objects are never collected. Even then, many objects are supposed to be long-lived. How can a tool, armed with data on allocations and their lifetimes, help sort out the expected from…

5 Oct 2020

David Walsh 1 min read

The need for position: sticky was around for years before it was implemented natively, and I can boast that I implemented it with JavaScript and scroll events for ages. Eventually we got position: sticky, and it works well from a visual perspective, but I wondered how can we determine when the element actually became pinned due to scroll. We can…

Luciano Mammino 3 min read

This article explains what JWTs (JSON Web Tokens) are, looking at their internal structure with header, body, and signature. It illustrates how they enable stateless authentication and authorization in distributed systems.

jwt

2 Oct 2020

Stanko 1 min read

It was generated using the same algorithm as the previous drawing. Metallic pens give it a really nice effect in person. Created: October 2020 Size: 32x19cm Paper: Fabriano Black Black 300gsm Pens: Sakura Gelly Rolls Metallic

1 Oct 2020

Damien Mathieu 4 min read

Incidents are inevitable. Any platform, large or small will have them. While resiliency work will definitely be an important factor in reducing the number of incidents, hoping to remove all of them (and therefore reach 100% uptime) is not an achievable goal. We should, however, learn as much as we can from incidents, so we […] The post How I…

engineeringcloud infrastructuredeveloper toolsperformance optimizationsecurity incidents

Stuart Colville 12 min read

Porting an established static website from one generator to another can be daunting. In this post, Add-ons Engineering Manager Stuart Colville recounts the experience of migrating Firefox Extension Workshop, Mozilla’s site for Firefox-specific extension development resources, from the Ruby-based site generator Jekyll to JavaScript-based Eleventy. The post To Eleventy and Beyond appeared first on Mozilla Hacks - the Web developer…

cssfeatured articlefirefoxweb developers11ty

Chelsey Opare-Addo 1 min read

Many candidates dread creating or revising their resumes. From perfecting formatting to determining the best way to summarize their job duties in a few bullets, resume writing can feel like the most important single-page document you will ever write. Thoughtworks Tech Recruiter, Chelsey Opare-Addo, who also runs her own resume writing business, provides some quick-hit resume writing tips to demystify…

AJ Iniguez 1 min read

We spoke with Rebecca Parsons, our Chief Technology Officer, Ange Ferguson, Chief Transformation Officer, Jessie Jie Xia, Managing Director for Southeast Asia, and Joanna Parke, Chief Talent Officer. Between them they’ve been at Thoughtworks for 65 years and held pretty much every role you can think of. Today they’re all in leadership roles, but took time out to chat to…