HNHacker News
TopNewBestAskShowJobs

city41

10,114 karma · joined November 14, 2009

Software developer in the Ann Arbor, MI area. Professionally I have mostly done JavaScript and TypeScript. Personally I'm interested in old video game systems, reverse engineering, and coding them in C and assembly.

matt.e.greer@gmail.com

https://mattgreer.dev

https://github.com/city41

https://bsky.app/profile/mattgreer.dev

submissionscomments
city41··on Balatro for the Nintendo E-Reader
I dismissed it as too technical for that blog post. I expected this post to be read by a wide variety of people, so I tried to keep technical stuff to a minimum. I did say it's simple and that it's what I'd probably use if I kept going with the project.
city41··on Balatro for the Nintendo E-Reader
It is written in Lua and the source code is available (just extract it from the PC version). It's using Lua's number type for all numbers, which is a double precision float.
city41··on Balatro for the Nintendo E-Reader
Thanks for the clarification (I'm the blog author). If one were to really make this game, how the cards would ultimately be rendered is hard to say. Sprites are nice because you can overlay them and form many card variations from just a few sprites. Tiles rendering into a background doesn't account for transparent pixels, so building up tiles into a single background is not possible.

One way to handle that is to provide all the possible tile variations, but that would take up so much space. So you'd have a set of tiles for a regular Ace of Spades, and an entirely different group of tiles for a Lucky Ace of Spades for example.

The GBA has 4 backgrounds, so it would be doable to grab three of them and use them to render cards. That would only leave 1 background left for, well, the background :)

Another option would be to use a memory buffer and implement tile rendering yourself that accounts for transparent pixels. That would be the best of backgrounds and sprites combined into one. That would solve many problems, at the cost of the implementation would probably take up a lot of space. My hunch is this would be the best approach.

This right here might be why I find this platform so interesting. It's very limited, and the limitations usually bump into each other and you often steel from Peter to pay Paul.

Oh and the post didn't mention debuffed cards (they have a red X drawn over them). That'd be yet another card layer to throw into this mix.

city41··on Neo Geo Dev: Fixed Point Numbers
But that's basically what fixed point is, no? Half pixels is fixed point with a single bit for decimals. Quarter pixels is two bits, and so on. I think the disadvantage is you now have to think in a strange unit that isn't intuitive. For my game I tend to think in screen sizes for things. Thinking in screen size*factor would be harder I think. Fixed point is basically just doing that for me and hiding the details really.

To be fair, rereading the post I realize I did make it sound like you would only need this for positioning sprites. I'll see about rewording it.

Or maybe we're both talking about the same thing and you're taking a different approach. That is fair too.

city41··on Neo Geo Dev: Fixed Point Numbers
I'm the author of the blog post. I just used sprite positioning as a simple example. Things like collision detection and physics can't be done with half pixels.
city41··on Marilyn vos Savant and the Monty Hall Problem (2015)
Yeah, you make a good point. I can sort of see it both ways, I think it would depend on how the show handled it. Leaving it across a commercial break then yeah it probably does make more sense the door is random.
city41··on Marilyn vos Savant and the Monty Hall Problem (2015)
I almost never say "you're wrong", no matter how confident I am. Because I can be, and often am, wrong myself. If there is a disagreement, a miscommunication, etc, why not instead work with the person to find where you two differ and look for common ground? If the other person really is wrong, it's almost always naturally revealed that way.
city41··on Marilyn vos Savant and the Monty Hall Problem (2015)
Not to mention Monty always showing a goat is what adds the tension and interest a game show needs.
city41··on Show HN: AboutIdeasNow – search /about, /ideas, /now pages of 7k+ personal sites
https://mattgreer.dev/now

It says last updated today because I really did update it today :)

anyway, cool project!

city41··on Show HN: AboutIdeasNow – search /about, /ideas, /now pages of 7k+ personal sites
I can see how it's a tricky problem. I wish html had more structure here (and people followed the structure, a whole other problem...). FWIW, my page has a "last updated" date on its now page but comes up as 1969 in aboutideasnow.

Oh, now aboutideasnow shows no date at all.

city41··on Show HN: AboutIdeasNow – search /about, /ideas, /now pages of 7k+ personal sites
Oh interesting. I never would have thought AI would be used for this. Does it also find things like the meta "revised" tag or anything like that? Doing some Googling it seems like officially it should be "revision", but seems like it's very common to use "revised"
city41··on Show HN: AboutIdeasNow – search /about, /ideas, /now pages of 7k+ personal sites
A lot of cards say "Updated December 31, 1969", what date are you all using to populate that?
city41··on Utility classes aren't the same as inline styles (2021)
I know we're just going to have to agree to disagree, but I find utility class based projects easier to maintain. Coming back to -- or inheriting -- css soup is never fun.
city41··on Utility classes aren't the same as inline styles (2021)
> utility classes won’t let you deviate because they’re limited

Tailwind's just in time feature does negate this a bit. I'm a huge fan of Tailwind but I've largely avoided JIT for fear of losing the structure finite classes give me.

Edit: the down votes are interesting as this is literally what Tailwind JIT allows. Their post on it even says "We’ll likely add some form of “strict mode” in the future for power-hungry team leads who don’t trust their colleagues to use this feature responsibly."

city41··on How Does Bluesky Work?
Had a similar response. Dusted off my account and finally posted something.
city41··on Plastic experts say recycling is a scam. Should we even do it anymore?
They even designed their plastic type symbol to look like the recycle symbol, even though most plastics can't be recycled.

> The “chasing arrows” symbol we see on plastic containers and products does not necessarily mean the product is recyclable.

https://www.acmeplastics.com/content/your-guide-to-plastic-r...

city41··on Show HN: I made a simple daily word puzzle
You need to press enter
city41··on The case against caffeine
Yeah, for sure. This post and these comments just made me google caffeine for a bit.

If I don't get my morning cup I almost always get quite the headache, so I'm not surprised.

city41··on The case against caffeine
This site says just the opposite

> Caffeine narrows the blood vessels in your brain. Without it, your blood vessels widen.

https://www.healthline.com/health/headache/caffeine-withdraw...

city41··on Show HN: Domino Fit – Domino Tiling Puzzle
It really reminds me of picross, which is a good thing.
city41··on USGS Historical Topographic Maps
> Both viewers annoyingly fill your browser history every time you move around or change zoom levels

To be fair that's not limited to map viewers. A lot of web apps do that. I think finding the right balance is a bit of an art.

city41··on From engineer to manager: what I love, what I hate
A bad EM can do so much more damage than a bad IC. I don't think that's talked about enough. In my now very long career I've had 1 great manager, a few good/decent ones, and a lot of lousy ones. The lousy ones just make the job so much harder and sometimes outright miserable. A bad EM coupled with junior ICs can be particularly bad combo. At least as I got older I came to realize I can work with bad managers and help move things towards a better place, or bail if I feel it's hopeless.
city41··on Considerations for a long-running Raspberry Pi
I didn't do anything special at all. My two pis have been running 24/7/365 for 5 years with no problems. I often completely forget about them. One is a pi hole and the other our print server.
city41··on Show HN: Driftmania – an open source PICO-8 racing game
If you mean pico8 games, they can do that out of the box. Click on play game, then the play button and touch controls will show up if on a phone.
city41··on If you're just going to sit there doing nothing, at least do nothing correctly
I agree, using the empty list to communicate to the user the situation is making an assumption about the user. A lot of users have never set up or dealt with printers ever. I can say for sure that an empty list of printers would confuse a lot of people in my household.
city41··on Why is the mouse cursor slightly tilted and not straight?
I've noticed whenever a topic comes up that I have a lot of knowledge in, people almost always chime in with incorrect or just flat out made up stuff. I always remain suspicious of anything I read in any comment section. Including here on HN.
city41··on How Quora died
Quora really captured lightning in a bottle around that time. I used to get a weekly (daily? Can't remember) email from Quora and I would read just about every question in it. I came to look forward to the emails. I've never had that experience with any other other newsletter.
city41··on Show HN: The classic Minesweeper on an irregular grid
I think it's ok. One of the mine spots is incorrectly labeled. The spot that the upper orange arrow is touching is not a mine.
city41··on Show HN: Retriever – Securely share secrets over the internet
Minor nit: retriever is misspelled

> Retreiver lets you request secrets from anyone without any of the data going to a server.

city41··on Show HN: Bernard – a link checker for your website
One of my websites has links to nytimes.com. They work fine if clicked on manually. Bernard reports them as a 403. I wonder if NYT is classifying Bernard as a scraper?
Page 1 of 34Next →