Here are a few interesting links/articles from the past few weeks.
Timeular is one of the coolest approaches to time-tracking I’ve seen.
For $89 bucks, you get a cool looking 8-sided tracking dice that sits on your desk. As you move through your day, you orient the unit to indicate your current activity, which is then logged down to the minute.
Check it out here:
I’ve been using Dank Mono as my coding font for quite some time – the italic ligatures are a must-have feature. Having just reformatted and upgrading to Apple’s macOS Big Sur, it was near the top of my list for things to soon reinstall.
Grab the font here:
And, my custom VS Code theme here:
A New Challenger Approaches!
I’ve been trying out a new front-end development combination of Typescript, Sass (Syntactically Awesome Style Sheets), and Next.js. To date, this is my favorite combination of web technologies!
Initially, I turned away from TypeScript, having set the linter too strict. Dialing things back to just a notch or two above plain ECMAScript, I’m finding the type definitions improving early testing and code readability without cluttering the script.
Learn more about TypeScript:
(Here’s what .scss looks like in practice:
Finally, Next.js improves upon React’s base, providing superior routing / server-side capabilities. If you’re friends with React, you’ll get along well with Next.
Read about Next.js:
On my journey toward .scss, I began with vanilla .css, switched to Material UI, then explored Styled Components.
I had an interesting recent debate with a developer from the styled-breakpoints package over the semantic logic of breakpoint interpretation.
I argued for >Lg meaning “greater than the pixel value of the large breakpoint” and <Lg meaning “less than the pixel value of the large breakpoint.”
While we both agreed on the interpretation for >Lg, they argued in favor of <Lg meaning “less than the pixel value of the next larger breakpoint.” This schism led to the creation of a small npm package using my preferred literal breakpoints, called styled-breakfast. https://www.npmjs.com/package/styled-breakfast
The most valuable information I received from this exchange was the utility in designing for mobile-first screen widths, then progressively adding features by the viewport size. If you’ve been approaching CSS overrides in the opposite direction, try the ascending approach on the next go around – it’s better!
I’ve been working with a company, Upshot (www.upshot.io), on a new platform for cryptographically guaranteed crowdsourcing.
We’re using a game-theoretic model similar to ones described in papers like Peer Prediction with Heterogeneous Tasks (https://arxiv.org/abs/1612.00928) & Dominantly Truthful Multi-task Peer Prediction with a Constant Number of Tasks (https://arxiv.org/abs/1911.00272) with Ethereum blockchain smart contracts and the Sia Skynet distributed filesystem.
View the Upshot whitepaper here:
We’re gearing up for a launch in the coming weeks, coordinating between design, front-end, back-end, and smart contract development teams. The first application using the protocol will be a decentralized source of truth for ERC-721 / digital collectible valuations.
I’m currently taking a course from AlgoExpert which walks through 100+ algorithmic challenges and 10 systems design implementations. I’m breaking off a small bite-sized chunk each day, working from easier toward more difficult challenges.
The platform explores various data structures and project scenarios, from the birdseye view of implementing a Facebook-like site’s microservices down to its graph traversal algorithms.
I highly recommend it for any motivated self-taught developer.
View the site:
The Rule of 168
“It doesn’t matter how rich or successful you are–everyone gets only 168 hours each week. Period. You can’t buy more time, but you can sell your available hours to someone else.”