Alternatives to JSX
The blog of Seva Zaikov
Android’s Commitment to Kotlin
When we announced Kotlin as a supported language for Android, there was a tremendous amount of excitement among developers. Since then, there has been a steady increase in the number of developers using Kotlin. Today, we’re proud to say nearly 60% of the top 1,000 Android apps contain Kotlin code, with more and more…
Monorepos and the Fallacy of Scale
In a recent blog post entitled “Monorepos: Please don’t,” Matt Klein discusses the pros and cons - as it turns out, mostly cons in his view - of monorepos. The long and short of it is that he thinks that they are not a good fit for most teams. After thinking about this question for a few years I have come to the…
Reviewing Bad Schematics as EE Interview Tactic
help your EE candidates strut their stuff
I Win My European Unemployment Bet
In 2009, the U.S. unemployment rate exceeded Europe’s for the first time in decades. Apologists for European labor market regulation rejoiced, so I publicly bet that European unemployment would exceed U.S. unemployment over the next decade. The original authors I targeted turned me down, even after I offered a 1…
Vim 8.2
For MS-Windows, download the self installing executable . Signed MS-Windows files are available on the vim-win32-installer site ( gvim_8.2.0012_x86_signed.exe is recommended) For Unix you probably want to get the latest version using git, see the github page Otherwise see the Download page for options.
Flavors of SIMD
If you like this blog, you should follow it via RSS and read older posts . Here are the recent posts:
Tickling (2018)
Before our kids learned to talk, I would play tickles with them. I would make tickling gestures as I moved towards them, they would start giggling a little, then I would tickle them and they would laugh. We'd continue until they seemed to be done with the game, and then we'd move on to something else. As they got…
Object-recognition dataset stumped the world’s best computer vision models
When computer vision detectors are turned loose in the real world, their performance noticeably drops. In an effort to close this performance gap, a team of MIT and IBM researchers set out to create a very different kind of object-recognition dataset called ObjectNet.
Ive’s Legacy, the Post-Ive Apple
Jony Ive is leaving Apple: how it happened, Ive’s legacy, and what it means for Apple going forward.
Time to Abolish "Statistical Significance"?
The idea of "statistical significance" has been a basic concept in introductory statistics courses for decades. If you spend any time lookin...
Don’t Shy Away or Risk Cowardly Management
I’m not a big fan of stereotypes, but there’s no denying that a lot of leaders in tech are former engineers–a group no one would claim is known for being…
Adding Glue to a Desktop Environment
In this article we will put some light on a lot of tools used in the world of Unix desktop environment customization, particularly regarding wmctrl, wmutils, xev, xtruss, xwininfo, xprop, xdotools, xdo, sxhkd, xbindkeys, speckeysd, xchainkeys, alttab, triggerhappy, gTile, gidmgr, keynav, and more. If those don't make…
JavaScript iterator patterns
This article explores different ways to create iterators and iterable values in Javascript for dynamic sequence generation, specifically using functions, iterators, iterables and generators. It provides code examples for implementing the Fibonacci sequence with each approach.
Building a Web-Based Motion Graphics Editor
What would a modern motion graphics editor look like?
Firefox 71: A year-end arrival
Please welcome Firefox 71 to the stage! This time around, we have a plethora of new developer tools features including the web socket message inspector, console multi-line editor mode, log ...
Enquire: Everything you wanted to know about your C compiler and machine
This is a program that determines many properties of the C compiler and machine that it is run on, such as minimum and maximum [un]signed char/int/long, many properties of float/ [long] double, and so on.
Dynamo vs. Cassandra: Systems Design of NoSQL Databases (2018)
A comparison of ideas behind Dynamo and Cassandra
USB-C Easy Bake Oven (2017)
I modified an Easy Bake Oven to run off USB-C. The obvious question is "Why?", but I prefer to ask, "Why Not?". The USB-C spec allows for 100 Watts of power to be transferred through the connector, and that is the power rating for the oven, so it should work.
Building better software with better tools: sanitizers vs. Valgrind
We often have to write code using permissive programming languages like C and C++. They tend to generate hard-to-debug problems that can crash your applications. Thankfully, many compilers offer "sanitizers". I discussed them in my post No more leaks with sanitize flags in gcc and clang. I strongly encourage the use…
Modern C++ for C Programmers
2018 is an exciting time to be a programmer, with so many good “full service” programming languages to choose from: C, C++ 2017, Go, Python, Rust and who knows Swift too. Programming languages are complicated beasts - even the simplest languages have specifications that run (or would run) in the hundreds of pages, and…
Mergeable replicated data types – Part I
Mergeable replicated data types Kaki et al., OOPSLA’19 This paper was published at OOPSLA, but perhaps it’s amongst the distributed systems community that I expect there to be the greatest in…