< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #58 - April 12, 2020

If you are looking for work, check out this month's Who is hiring? and Who wants to be hired? threads.

Here are the top threads of the week, happy reading!

Top comment by Twisol

I'm working through Aluffi's Algebra: Chapter Zero, which covers abstract algebra (groups, fields, vector spaces, etc.) with category theoretic foundations. I took undergraduate algebra several years ago, and I'm really interested in category theory from a compositionality perspective, so this is a good opportunity to brush up on both topics.

Aluffi is really well-written. It assumes some degree of mathematical maturity (so it's well-positioned for a second pass of the material), but has a generally conversational tone without being imprecise. The exercises are excellent, too, if occasionally difficult using only the machinery introduced up to that point. (Again, well-suited to readers taking a second pass at algebra.)

Why am I doing this? Leonard Susskind puts it well in this video [1]. To put it in my own words: our senses evolved for the physical world around us, and some of the most technical activities we do today are wildly underserved by our natural senses. That's why we build things like microscopes and telescopes and whatnot -- to extend our senses into new domains. Mathematical intuition is almost another sense in its own right: you gain the ability to perceive abstractions and relationships in ways that are just not well-described by sight or touch. I both enjoy this sense and find it valuable, so of course I'm going to continue honing it :)

[1] https://www.youtube.com/watch?v=2bgZmBAnhdg

Top comment by PStamatiou

https://paulstamatiou.com/

Been running this site for about 15 years now and while I don't post often it's usually long-form detailed articles on a broad range of hardware/software/tech/design topics that take me a few months of spare time:

Getting started with security keys (15k words) https://paulstamatiou.com/getting-started-with-security-keys...

Building a Lightroom PC (30k words) https://paulstamatiou.com/building-a-windows-10-lightroom-ph...

I also host my photography and frequently updated gear/stuff/software-i-use pages like: https://paulstamatiou.com/stuff-i-use/

Top comment by gavinray

Hasura by far, lets you point-and-click build your database and table relationships with a web dashboard and autogenerates a full GraphQL CRUD API with permissions you can configure and JWT/webhook auth baked-in.

https://hasura.io/

I've been able to build in a weekend no-code what would've taken my team weeks or months to build by hand, even with something as productive as Rails. It automates the boring stuff and you just have to write single endpoints for custom business logic, like "send a welcome email on sign-up" or "process a payment".

It has a database viewer, but it's not the core of the product, so I use Forest Admin to autogenerate an Admin Dashboard that non-technical team members can use:

https://www.forestadmin.com/

With these two, you can point-and-click make 80% of a SaaS product in almost no time.

I wrote a tutorial on how to integrate Hasura + Forest Admin, for anyone interested:

http://hasura-forest-admin.surge.sh

For interacting with Hasura from a client, you can autogenerate fully-typed & documented query components in your framework of choice using GraphQL Code Generator:

https://graphql-code-generator.com/

Then I usually throw Metabase in there as a self-hosted Business Intelligence platform for non-technical people to use as well, and PostHog for analytics:

https://www.metabase.com/

https://posthog.com/

All of these all Docker Containers, so you can have them running locally or deployed in minutes.

This stack is absurdly powerful and productive.

Top comment by ryeguy_24

I’m just like you.

I stumbled upon a book called Refuse to Choose and it’s about a personality type (that is definitely not ADHD) that happens to want to do a lot of things (sometimes in parallel or in sequence). It was very comforting to know others struggle with this and this book helps you to be ok with it. I wouldn’t say it “cured” me but I think about it differently now and use it more to my advantage. Worth a read at a minimum.

There was one very profound idea in this book that goes like this:

“If you are no longer interested in a project you started, maybe you already got what you came for”.

In essence, maybe it’s not the finishing of the project you came for but maybe the learning or understanding of how it could be done if it were to be done.

This realization is interesting for someone who exhibits this behavior. When I was a kid, I loved to build legos but after following the instructions and building a kit, I wouldn’t touch it again. As I think back now, it likely was because “I got what I came for” (the challenge of putting it together was more interesting to me than the end product).

Top comment by atarian

The founder of Zoom used to work at WebEx before it was acquired. Wouldn't be surprised if he brought along some WebEx folks as well.

Top comment by betamaxthetape

Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) https://www.coursera.org/learn/build-a-computer

and then part 2: https://www.coursera.org/learn/nand2tetris2

[Both courses are free]

These are fantastic courses, by far the best MOOCs I have ever taken. I went into them knowing nothing about computer architecture, and by the end of the first course I was able to design a fully-working digital computer in Logisim.

While other courses consist of lectures + text content, with Nand2Tetris the course is practical. The authors have developed a complete software system to allow you to complete the course:

* A simplified hardware programming language to design the ALU, CPU, clock, RAM, etc..

* A hardware simulator and debugger to allow you to test the hardware that you develop

* An assembler for the assembly programs you write for the computer

* A compiler for the higher-level programs you write for the computer

I'm probably banging-on about this course more than I reasonably should, but that's just because I enjoyed the course so much!

Top comment by TheAdamist

Wyze cheap security cameras released a firmware that turns them into a webcam. Still in stock.

You will also need a USB a-a cable that I didn't know existed or was legal.

And a 32gb microsd.

I did this last week, came in one day on Amazon prime. Under $50 for everything.

Setup went okay, although the 3-4 minutes for firmware write was under a minute for me with their branded microsd.

Quality is passable, lens is more fisheye than I'd prefer so you see my messy office, but it works. 1080/30 the software claims. Note it has a speaker, so check your sound mixer settings to have it not steal audio out.

https://support.wyzecam.com/hc/en-us/articles/360041605111-W...

Top comment by crazygringo

Welcome to being PM -- this is the job.

And this is exactly what the agile/sprint process is extremely helpful for.

Every two weeks, check in with the business team to bring them up to date with development and get them to prioritize/rank the features they want.

Then hold a big meeting with your team and use planning poker to estimate how long the top-ranked items will take. Inevitably it'll add up to 2 or 3 months of work.

Then go back to the business team with the realistic estimates for each task, and get them to pick what is actually most important to deliver or make progress on in the next 2 weeks.

Then work on those for the following two weeks. Rinse and repeat.

The key thing here is that there is an objective process. Nobody can blame you or any single developer -- there is a process. And after several of these iterations, the process will build trust among everyone, instead of blame or suspicion.

Also, you might think this leaves you with no room for input of your own. And in a way this is true -- welcome to being a PM. Your job is to manage and balance other people's priorities, not your own wishlist of features. But it is crucially your job to advise well and point out inconsistencies/dependencies -- e.g. sales wants feature A but the CEO wants feature B... but if we deliver B before A then together they'll take half the time, or will enable feature C earlier, or whatever.

And it's also your job to keep your eye on the long-term goals, which will generally be set by the CEO or management team -- sometimes you have to deliver feature X that management requires by the end of the quarter, over anything the sales team wants -- which you just gently explain to sales.

Top comment by GekkePrutser

If you're interesting in building your own you can get a 12" one from waveshare: https://www.waveshare.com/product/displays/e-paper/12.48inch...

This is the black/white one, they do a black/white/red one too. But beware, they take really long to refresh (the red color takes several refreshes to appear). And the one with red is on backorder till June.

It can be powered by a raspberry pi (or ESP32 or Arduino) and is (much) cheaper than the ereader options of the same size: Only about $170.

PS Beware: You can't simply start up a user interface like X-Windows on it. You have to write software to display on it. The display is addressed in 4 separate sections so it's not super easy.

Top comment by Element_

SEEKING FREELANCER | REMOTE (Dallas/Toronto/Waterloo ideal)

Role: Angular Developer

Technologies: Angular 6, html 5, type script, C#/.net Core

Remote: Yes

Project: Small project - need developer to create a basic Angular 6 component which allow users to modify images (draw basic shapes etc..). Built using html5 canvas.

Rate: Negotiable

Schedule: Flexible, developer can work on project in spare time and provide delivery date.

Preference given to applicants with open source contributions.

Email: "applications20" at "elementservices.co"