HNHacker News
TopNewBestAskShowJobs

mgreenw

55 karma · joined July 21, 2020

submissionscomments
mgreenw··on Show HN: Puck 0.18 adds drag-and-drop for CSS grid and Flexbox
Puck is a marvel of drag and drop engineering and a wonderful open source project. Kudos to the team for this release!
mgreenw··on Please bring neon db to GCP
GCP charges for egress though. Agreed with OP, please bring Neon to GCP! Why Azure first?
mgreenw··on JWT confirms something is seriously wrong with our understanding of the universe
‘Twas a joke about JSON Web Tokens _sigh_

Note: my original comment said “JWT”

mgreenw··on JWT confirms something is seriously wrong with our understanding of the universe
Are we sure they verified the claims in that JSON Web Token?
mgreenw··on TypeScript is surprisingly ok for compilers
Exactly! I wrote a post about this pattern: https://maxgreenwald.me/blog/do-more-with-run
mgreenw··on Why the Dvorak keyboard didn't take over the world (2014) [video]
I wrote a blog post about my experience with Dvorak!

TL;DR It's great, but if you're interested you should use Colemak. Once you switch you won't go back.

https://maxgreenwald.me/blog/switching-to-dvorak

mgreenw··on 'Do' More with 'Run'
Try using `run` in the return of a React (or similar) component and you'll never go back ;)

There is always a balance here. I'm not saying to never extract a named function, and there is certainly good reason to do that, especially if the function is called elsewhere or is quite complex.

But, in many cases, the inline logic is more readable because it's right there, and the function really doesn't need a name.

mgreenw··on 'Do' More with 'Run'
Same, I've written this so many times. Node just added this as a built-in utility FWIW

https://nodejs.org/api/timers.html#timerspromisessettimeoutd...

mgreenw··on 'Do' More with 'Run'
> I am in love with “everything is an expression” from my time with Rust

Totally agreed! I wish JS had if expressions (maybe in the future?). It doesn't seem like such a huge change if it were rolled out slowly like other new syntax features but maybe I have no idea what I'm talking about.

Hopefully things like `run` can help move the needle on this. I like it because it feels more FP and intentional than IIFE's everywhere.

mgreenw··on 'Do' More with 'Run'
Yes, I do think the extra parens are less readable.

Its not about number of characters, its about reasoning that the inline function that you just wrapped in parens is then called later, potentially after many lines. At least with `run` it's immediately clear based on the name that you are running the function.

Edit: This is pretty funny. I'm a parensaphobe! (not really) https://www.reddit.com/r/ProgrammerHumor/comments/qawpws/the...

mgreenw··on 'Do' More with 'Run'
Completely agreed, and I use this if-based early return syntax frequently! That being said, I like using `if` and `else if` and `else`, but maybe that's just me! I don't think there's a substantial difference in readability or utility.
mgreenw··on 'Do' More with 'Run'
Well you definitely can do that to my somewhat contrived example that is loosely based off of an example from the `do` expression proposal, but I'm not sure its better.

Part of the beauty of `run` is that you don't have to declare and name a function `calcX`. In longer and more complex examples, declaring a function inline like this is potentially confusing because you don't get to see where it is used, whereas with `run` you assign the return value immediately to a variable.

mgreenw··on Microsoft rebuilt Teams from the ground up, promises 2x faster performance
Great, but the design and usability is still terrible compared to Slack. Not sure that can ever be fixed.
mgreenw··on Snapchat. Now on the Web
Yea, but are any of those missing features required to run Snapchat?
mgreenw··on Snapchat. Now on the Web
Yea that's fair, and I totally understand when sites limit to newer (last 2-3 years) versions of browsers or limit to Chrome, Safari, and Firefox.

But to cap it at just Chrome like its 2012 when browser compatibility has come such a long way is likely unnecessary and frankly lazy on their part. I can't think of an API that they definitely would need to use that isn't in Firefox.

mgreenw··on Snapchat. Now on the Web
How is it possible that in 2023 they can't support Firefox and Safari?

Update: It works totally fine on Firefox if you use an extension to lie about your user agent. What a joke.

mgreenw··on Ask HN: Who is hiring? (February 2022)
Rooted Farmers | Full Stack Software Engineer (Typescript, React, PostgreSQL) | Remote (Northeastern US) | Full-Time | https://www.rootedfarmers.com

Rooted Farmers is an agricultural technology startup dedicated to providing small farms with the tools and resources necessary for growing and scaling their businesses. We serve as an online sales platform, connecting farmers with local businesses and shoppers.

Rooted is comprised of a small but growing team of passionate doers based in the Northeast. We are seeking a mission-driven Software Engineer who is committed to empowering women-led businesses; you will be responsible for tackling major development projects, building simple and beautiful application interfaces, and expanding the company's technical infrastructure.

Requirements:

  - 1+ years experience with Typescript (Node.js and React)
  - Previous work or internship experience
mgreenw··on Ask HN: Who is hiring? (November 2021)
Rooted Farmers | Full Stack Software Engineer (Typescript, React, PostgreSQL) | Remote (Northeastern US) | Full-Time | https://www.rootedfarmers.com

Rooted Farmers is an agricultural technology startup dedicated to providing small farms with the tools and resources necessary for growing and scaling their businesses. We serve as an online sales platform, connecting farmers with local businesses and shoppers.

Rooted is comprised of a small but growing team of passionate doers based in the Northeast. We are seeking a mission-driven Software Engineer who is committed to empowering women-led businesses; you will be responsible for tackling major development projects, building simple and beautiful application interfaces, and expanding the company's technical infrastructure.

Requirements:

  - 1+ years experience with Typescript (Node.js and React)
  - Previous work or internship experience