HNHacker News
TopNewBestAskShowJobs

evanmoran

879 karma · joined March 28, 2007

Founder working on podcasting software. Previously at Bungie, Pokemon Go, and Microsoft developing storytelling tech, tools and UI.
submissionscomments
evanmoran··on Ask HN: What micro-services work best?
This is great, thank you. I do keep hearing about Kafta but I’m still mulling over what is in a message queue vs a db with similar state. For example a email queue could add an item for every email to send out. Is that clearer than an email table that queries for missing items and deletes the records when sent?
evanmoran··on California needs real math education, not gimmicks
Same in PA. I was a math major before switching to CS and this course order has defined mathematics in the US for 3 decades.
evanmoran··on Purchase and manage domains directly through Bluesky
I can’t wait to read the tell all book about Bluesky during this three day period when Threads hits a hundred million users and Bluesky makes the most important strategic decision of its existence.
evanmoran··on Lua: The Little Language That Could
Some of us Americans know our elevator numbers are wrong — zero / nilth is the correct ground floor by far! — but that doesn’t mean when you pick up the first apple in a bowl of apples you should rename it to nilth. Counting order is different from Indexing order. One is the order of objects in a list and the other is the offset (2nd floor is two floors up from zero). They are just different things and that is why they sound right in different contexts!

(It’s 2023, and we both are right)

evanmoran··on Everything you always wanted to know about mathematics (2013) [pdf]
As a CS major who went to CMU years ago, my favorite book from all of my professors was for my 15-213 class called Computer Systems: A Programmers Perspective

I remember at the time the book was in loose leaf paper so it warms my heart to see the book has a 3rd edition. It was used as a core part of teaching assembly, memory representations, and getting students ready for the operating systems class. When I help people learn to program, it's the only book I think is a must have:

https://www.amazon.com/Computer-Systems-Programmers-Perspect...

evanmoran··on A guidance language for controlling LLMs
It's not so much against lisp as double curly is a classic string templating style that is common in web programming. I saw it first with `mustache.js` (first release around 2009), but it's probably been used even before that.

https://github.com/janl/mustache.js/

evanmoran··on How and why we acquired our .com domain
Curious for fellow founders with the .com, how many of you defensively buy the .net, .org names as well? I find it hard to resist getting at least those three if I'm settled on a name/brand.
evanmoran··on Discord’s username change is causing discord
Another issue with Discord naming is I picked my name for gaming voice chat many years ago and now it doesn’t make any sense for people at work or in developer groups. They clearly copied BattleNet at the time, and it was cool to be known by the name we wanted.

So which name will people pick: a public real name like in Twitter or their gaming pseudonym?

As for why, my guess is Discord just wants to add feeds/advertising ala FB/Instagram and the names are completely broken for that.

evanmoran··on Kids trying to play video games on school laptops
I myself got into game programming by moding Quake and StarCraft. I’d guess a ton of people who ended up as programmers did this. So I think you’re right almost no students did anything with computers, but I’d say easily 50% of people who could code at all tried to make games and often school computers were all we had. Thankfully the computers had unbelievably bad security so it wasn’t super hard to get stuff going :)
evanmoran··on Ask HN: How to send a message to someone 20 years into the future?
As a father of a five year old, let me send some advice back in time to a dad with a zero year old!

I know this isn’t exactly what you were asking for — apologies please let me suggest changing your goal slightly to try and give your kid a message every year, not just all at once at twenty. More than that let me suggest you do this activity with your kid and not alone.

I’ve seen my child change so fast and I promise you they would rather have gifts and thoughts from you each year then in a big pile at the end. You will also know them much better five years from now (and ten and fifteen) so the letter will mean more to them because of what you know to put in it.

That said, you can still be clever with time! Every year you could write a letter to open in 1, 3, 5 and 10 years so a fifteen year old could have letters from several different times. Don’t forget to include pictures of you and your kid in each one and messages from the kid themselves. They will love it.

It turns out kids just want you to be with them. Use this as a way to be with them.

And lastly, if that suggestion doesn’t feel like enough to you, consider writing a journal about your life and write some of the more personal messages to them there instead. We can’t predict when our kid will want to know us as people better, but it’s probably well into adulthood. When that happens they won’t want advice as much as wanting to know you and all your dreams and struggles.

Good luck and congratulations!

evanmoran··on Show HN: Multi-display screen sharing with CoScreen
Looks great. Congrats! I’m curious, what is your tech stack for implementing audio and video chat?
evanmoran··on Playstation VR2 is reportedly off to an underwhelming start
Console makers usually make peripherals only work for that single console. The reasoning is that the games are only tested with those specific devices so it's hard for them to know if new games will run on old hardware or not. This totally sucks and they know it, so they generally don't come out and say it. But I believe this is why the PS4 controllers don't work on PS5, but do work on PS4 games being run on PS5 hardware (a kind of made up restriction if ever I heard one!)

Sadly, not the most fun info to share, but there is little chance the PS2VR will ever target anything other than PS5.

evanmoran··on The teen mental illness epidemic is international – Part 1: The Anglosphere
We did, but we didn't have endless short videos to scroll through.
evanmoran··on Cheating is All You Need
I assumed it was to help get extremely low cost Azure compute and to grow faster now that Microsoft was going all in on GPT4 with Bing & Office.
evanmoran··on Ask HN: Desktop vs. Laptop with ARM/Apple Silicon
Yes, they have the same cores but the memory bandwidth is double the speed: “M2 Pro’s memory maxes out at 32GB, but the M2 Max can handle as much as 96GB. And memory bandwidth on the M2 Max is double that on the M2 Pro”.

You can see here the M2 Pro got an 80 benchmark and the M2 Max, the line above the commit, got a 72 (arbitrary numbers, for sure, but a real difference!):

https://github.com/devMEremenko/XcodeBenchmark/pull/393/comm...

evanmoran··on Ask HN: Desktop vs. Laptop with ARM/Apple Silicon
I know others would do it differently, but for me compiling speed was more important than low price or expandability so my choice was between M2 Max on a MacBook Pro and a M1 Ultra on a Mac Studio.

The profiling indicated those quite were close in performance so I went with the laptop. My main compromise was to choose 14in as it’s plugged into a monitor most of time so I could optimize for travel more than a big screen when the monitor isn’t there.

In the end I’m super happy with it. The M2 Max is a monster for compiling and is probably 5x faster for builds than my previous Intel-based MacBook Pro

evanmoran··on Ask HN: It seems I lost imagination, what to do?
This post from a person with Aphantasia explained it best as they discovered they had it: https://m.facebook.com/nt/screen/?params=%7B%22note_id%22%3A...

If it is like what this person experiences I can imagine you are quite worried. I’m not sure what is going on for you but there are definitely some people who can’t picture things who share the same issue you describe. You are still you. Even without imagery you can still do well and flourish.

Feel free to reach out at my name at gmail if it helps to talk.

Also, see a doctor and explain your imagery is different. It’s possible something has changed in your brain or with your health that might be treatable.

evanmoran··on Writing an engineering strategy
The Amazon link for the curious. To my surprise it was an O’Reilly book: https://www.amazon.com/Technology-Strategy-Patterns-Architec...
evanmoran··on Ask HN: What is the best advice you got on any aspect of life?
I think it is meant to be true and also funny. First, you can start by agreeing with the advice, imagining how listening to other’s advice can be overrated. Then you realize that by listening to Andre you are actually breaking Andre’s advice (to listen to no one, including him!). So the advice is impossible to follow and quite clever.
evanmoran··on Google is screwed, even if it wins its antitrust case
I'll give it go – Essentially the quality of the average website is declining due to poor incentives such as SEO optimization and content creation farms. Meanwhile, language models like ChatGPT are becoming more advanced. This presents a problem for Google, as ChatGPT will over time become more likely to provide accurate answers than a website search. Additionally, many websites will begin using ChatGPT to generate large amounts of content, making search even worse and more efficient to ask ChatGPT directly.
evanmoran··on MacBook Pro featuring M2 Pro and M2 Max
Yes. A good day for you to hear the announcement :)
evanmoran··on Turns are better than radians
Radians are just half-turns, so we use turns either way. Some equations look better in turns and some in half-turns, but the math works fine either way.

Instead to decide which is better think of how a new student might learn this intuitively:

How far around is it? 2.5 turns.

This is so much clearer than 5.0 half-turns.

Turns a more clear. No one

evanmoran··on Adobe to acquire Figma for $20B
This is 100% right. Fireworks was Sketch with better bitmap/filter/styling support. Removing it was a cost saving move right as Sketch/Figma were coming to own UI design.
evanmoran··on How I learned to stop worrying and love macros
It’s ok to worry, it just means you care. Find people who will worry and care with you about the same things you do and it will be feel better. Partially because you’ll find more important things to worry about, and partially because talking about it will help you cope!
evanmoran··on Ask HN: How do you change your budget around a big raise?
What I’d recommend isn’t to be perfect, but to put a piece of it in useful places with automatic payments. This way the system is easy to setup once and will be pretty good over a long term. So if you’re in the US pay off all cc debt and then max your retirement options (401k and Roth both). This reduces taxable earnings. If you have more after that do a monthly contribution to an index fund. This will be a good starting point and will keep your bank account looking more like it has to this point.
evanmoran··on Polio Detected in US
I just confirmed both my kids have the polio vaccines from the standard set given to kids. The polio vaccine is called IPV (inactivated poliovirus) and usually comes in a bundle branded as PENTACEL which is “a 5-in-1 combination vaccine that protects against diphtheria, tetanus, whooping cough, polio, and Haemophilus influenzae type B”.
evanmoran··on Notes on structured concurrency, or: Go statement considered harmful (2018)
Apologies if it didn’t come across, but the point I was trying to make is that these five features together are the elegant part of go concurrency. So the comparison of go statements alone to other concurrency approaches is missing the best parts of the language (contexts and channels)

For example, if you use go statements without go context you can’t clean up background threads with error handling, and if you don’t use channels + select statements together then you can’t synchronize across threads easily. These features have to be used together and are in my experience (C++/game development) much better than most other async approaches.

All that said, these features are quite low level and not obvious when first learning (hence my explanation above) so higher level libraries definitely need to exist (and do exist). It’s just these libraries are much easier to write in go because these primitives are quite powerful.

evanmoran··on Notes on structured concurrency, or: Go statement considered harmful (2018)
I have been using go professionally for a while and I’ve found it to be quite remarkable and I wanted to share a few hints to people so they can find those remarkable parts faster than I did.

To get a better sense of go there are five essential concurrency features:

1. Go statements are a nice syntax to run background micro threads (as mentioned in this article)

2. Go Channels pass messages across those threads as fixed memory queues and powerfully as you add items to the queue you block until the item is added (the second part, blocking on add, is very powerful as it prevents the flow of concurrency from infinitely filling queues that are never consumed! There is more to go channels that is possible with fixed memory buffering to prevent the block, but that blocking is key to consider!)

3. Go Select Statements (not switch statements!) let you watch concurrent queues at once in a thread safe way. These are essential for using channels properly and they help manage almost all channel flow (consumer thread progression, error handling, done detection, etc)

4. Go Context objects let you cleanup background threads based on multiple criteria server errors and timeouts being the most common. The best hint you are in a concurrent-friendly function is usually that it passes context as an argument for cleanup purposes.

5. Go wait groups let you wait for all the go statements spawned to finish before proceeding (simple, but essential at times)

I know it’s hard to learn the entirety of a langue without using it daily, but I encourage people to try out go to experience these five parts together. Go is truly excellent at expressing some hard concepts well. That doesn’t make it easy — concurrency isn’t easy — but it is easier with go constructs than without.

evanmoran··on New GitHub Profile Badges Beta
I know this is supposed to be fun, but I’m also mixed on it as so much of my work is in private repositories. This means that these badges are like “privacy leaks” from my closed source work to my public GitHub profile. I suspect this is why this discussion is getting so negative as GitHub is not a social fun place for us anymore, it’s the place we work everyday with coworkers and managers. So in general please GitHub be less gamified and social as I don’t want to have to constantly monitor privacy settings (like at FB) and instead focus on what we all want: replacing Jira and streamlining containers / CI :)
evanmoran··on Welcome to the M1 Windows project
This is an incredibly challenging problem so I imagine if you have any chance of coding it you probably know what you’re getting yourself into.
← PreviousPage 4 of 12Next →