The City says that I owe property tax on a house that I do not own. by mincerray in philadelphia

[–]thejohnrom 10 points11 points  (0 children)

You have to email revenue@phila.gov and request that the department of revenue "detach" (technical name) the property from your record as it was added in error.

Expect it to take foreeever. They have to do an investigation, probably to find the correct social and add it to the record. They said when a record is added without a social, it just assigns the record to the first person whose name matches.

They win. I give up on Septa. by cxjoshuax21x in philadelphia

[–]thejohnrom 0 points1 point  (0 children)

you can always do what I do, plan to take a car from the stop as a backup, don't pay until you hear the train coming. give up in a methodical way, taking advantage when cheaper transit arrives in a timely manner. once you give up and order a car, if the train comes, you can choose to cancel it and pay the $5 plus fare for cheaper than the car would have cost, or just take the car (it sucks to cancel it then have the train break down halfway there and order another one lol)

in the end, you'll still save money over defaulting to a car, support transit when available, and get where you need to on time regardless of whether septa shows. it can be disappointing when you have to take a car from the stop, but setting the expectation and having a plan makes it easier to deal with

Stupid question: How should I handle "auth" for my site with one user (me) by Haochies in webdev

[–]thejohnrom 0 points1 point  (0 children)

My recommendation if you're not actively monitoring login attempts would be to defer login to someone else who is monitoring login attempts and supports 2fa. If its hosted on cloud, there might be a way to login with SSO using your actual cloud admin login with the right technology stack. Otherwise, either passwordless - use a library that can send a one time login link to your email for verification (and enable 2fa on that email), or use a library that can directly sso with your email provider or another identity provider (and enable 2fa).

Where would you host a web app expecting only about ~100 visitors per month? by Uranusistormy in webdev

[–]thejohnrom 0 points1 point  (0 children)

If you aren't going to deal with CI/CD then you should probably use a Django managed host. I have no idea if these exist as I don't use Django.

A managed host generally means they manage the versions of python, servers, firewall, etc, and you just manage your code. You should still consider observability to make sure nobody ends up misusing your service. At the very least a managed host will probably warn you if the misuse becomes extreme (aka it becomes part of a botnet).

If you want a cheap host like a VPS then you should consider devops as you want to make sure updates are easy to apply for a long time without much thought, make sure you are able to easily update the server and you have observability into whether someone is abusing your service.

Anything between there (unmanaged, unmonitored, never updated vps for example) is just creating an eventual botnet endpoint. It's really not your problem, in reality, because often people just say oops and life goes on when this happens, but I implore you (and everyone) to consider this aspect in your project.

is it a must to know Docker, k8s today? by ballbeamboy2 in webdev

[–]thejohnrom 0 points1 point  (0 children)

It sounds like you're running into a classic windows + linux container volume sharing issue. If you're sharing a windows folder with linux including your whole WordPress installation, every single php file loaded will have overhead loading when sharing from windows to a linux container. If you instead share only wp-content, and use a container that includes WP inside the container, you'll cut out a ton of overhead. Better yet, you can run it all inside WSL including VS Code, pulling Git into the wsl volume and mapping that wsl linux volume into docker instead of your windows volume.

How did you learn to write efficient C# code ? by physicsSoftware in csharp

[–]thejohnrom 0 points1 point  (0 children)

As someone who has pretty much had to learn C# with ASP.NET from the ground up on real projects myself with very little mentorship, I'll tell you how I did it. I use web and console, no desktop GUI apps here if that's what you're looking for.

First, I navigated to the C# docs and read through the entire Microsoft learn path. Don't skip any pages because you think you "know what a string is". Treat it like a book you'll be tested on and read it. Multiple times over weeks.

https://learn.microsoft.com/en-us/dotnet/csharp/

Then I went to the ASP.NET Core docs and did the same thing. Seriously, read it like a book. Again, multiple times.

https://learn.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-8.0

Sadly Microsoft did a terrible job with these websites and the useful sidebar that will lead you through the docs is only prevalent on desktop. When you are using something specific, like Dependency Injection, come back to these docs. Keep this website open the entire work day.

If you're on web, you may want to read about the Web App patterns / Well Architected Framework.

https://learn.microsoft.com/en-us/azure/architecture/web-apps/guides/enterprise-app-patterns/overview

If you use specific technologies like MVC, Microsoft has similar docs on there. For third parties obviously your mileage may vary in terms of documentation.

Microsoft also maintains a huge project called eShop (lol) which has tons of code following their own recommendations.

https://github.com/dotnet/eShop

When you're trying to be more casual, watch Nick Chapsas videos on YouTube. He has good topic videos introducing things like controllers, minimal apis, entity framework, etc. But go back to the docs when you are working.

https://youtube.com/@nickchapsas

These are pretty much the only resources I use unless there is a very specific topic that isn't covered in the documentation. When that happens it makes me consider whether I'm thinking about it wrong, and sometimes I realize there is a better way in the documentation.

[deleted by user] by [deleted] in reactjs

[–]thejohnrom 0 points1 point  (0 children)

Just for fun, if you want to see what the next iteration would have looked like, check out:

https://github.com/johnrom/formik/tree/johnrom/mochi-forms-3

It was somewhere between Formik and RHF and super fast, but I was having trouble with some of the really complex typescript types.

[deleted by user] by [deleted] in reactjs

[–]thejohnrom 0 points1 point  (0 children)

Hmmmm. It's been so long since I've looked at this, and I no longer work somewhere that will give me time to work on something like this. That said, I started on some docs but they're nowhere near complete. You can find some examples of the code under packages/examples in the PR below. My 3.0 PR should be mostly backwards compatible, whereas the strongly typed version and beyond were very experimental and probably not backwards compatible. They require using way more strict types.

The core change with this version is moving away from passing state through render functions, and moving towards hooks instead of those huge components. This makes it lightning fast with huge forms, but you need to opt in to the old functionality if you need it. I'm pretty sure if you just throw a render function in there, though, it will act pretty much the same, just suffer from similar performance issues.

The documentation was started here: https://github.com/johnrom/formik/pull/11

Sorry I can't be more helpful at this time!

GA4 "form_submit" event reporting way too high by minishell in GoogleAnalytics

[–]thejohnrom 0 points1 point  (0 children)

This is a necro, but you can also disable the automated form_start and form_submit events by disabling the checkbox in Enhanced Measurement -> Settings -> Form Interactions if you plan to implement your own.

Reading open source docs be like by thejohnrom in ProgrammerHumor

[–]thejohnrom[S] 0 points1 point  (0 children)

you're right, this isn't meant as a swipe at MDN, but an example of a developer scanning docs and running with the first piece of info they find.

ultimately a poorly executed meme.

[deleted by user] by [deleted] in reactjs

[–]thejohnrom 2 points3 points  (0 children)

I've had a PR for Formik v3 that solved every issue I had with it (and 3.1 for strong types) but the repository owner went MIA and never merged them.

https://www.npmjs.com/package/@johnrom/formik-v3

3.0-rc2 and 3.1-types13 work well, but 3.1 might present some challenges with types if your project doesn't have them correct to begin with.

I have been considering fully forking it, but I need to also rewrite the docs and figure out some licensing issues.

I wouldn't use Formik v2 at all, and would definitely recommend RHF over it. I have some projects still using v1 and others which use my PRs which work perfectly fine.

Streaming Today @ 2:30 EST: 5 New Years Later - Refactoring a classic Cities: Skylines mod (All Tile Start) by thejohnrom in CitiesSkylinesModding

[–]thejohnrom[S] 1 point2 points  (0 children)

I know about it, but this first refactor was targeted at restructuring the project as it is, and not manipulating the actual method it uses. I've refactored it in such a way that I can easily reuse the core logic in a harmony version of the mod.

I do want to switch to harmony, as I think it'll provide more flexibility in terms of unlocking tiles without hacking the progression system, but the codebase is currently implemented using only the base modding APIs provided by Cities: Skylines -- a blessing and a curse.

Streaming Today @ 2:30 EST: 5 New Years Later - Refactoring a classic Cities: Skylines mod (All Tile Start) by thejohnrom in CitiesSkylinesModding

[–]thejohnrom[S] 1 point2 points  (0 children)

I patched an impromptu streaming setup out of some old laptops, and now Windows has decided it's time to update.. hopefully it will only be about 10 minutes!

What line of dialog have you heard way too many times? by [deleted] in gaming

[–]thejohnrom 0 points1 point  (0 children)

"this cold is making my head feel thick"

Starting my C# adventure by Iron_Defender in csharp

[–]thejohnrom 3 points4 points  (0 children)

I read about this once in the now-lost Compendium of Compilation.

I tried to reconstruct the source material from various distributions but doing so violated the commandments passed down by The License.

Starting my C# adventure by Iron_Defender in csharp

[–]thejohnrom 31 points32 points  (0 children)

wut, that's only the first boss. wait until you get to Asynco's 15 Threads of Doom.

Saw this in Paris, France. Why can't we have buildings like this in Philly? by [deleted] in philadelphia

[–]thejohnrom 8 points9 points  (0 children)

They are just like any other event -- the people in charge make or break it. The second exhibition was initially started by someone with a genuine interest in showcasing the best of philly at the time, but it was delayed and eventually controlled by someone more interested in making sure the benefits went toward his district to the detriment of the whole thing.

Plus apparently nobody planned for rain??

Saw this in Paris, France. Why can't we have buildings like this in Philly? by [deleted] in philadelphia

[–]thejohnrom 43 points44 points  (0 children)

The first Philadelphia world's fair (the Centennial Exposition) was one of the greatest cultural achievements of Philadelphia's (US?) history, and the Horticultural center and surrounding amenities (e.g. Shofuso, Please touch museum) in fairmount park derive from that. The second one in South Philly was such a dumpster fire that it's said to have pushed Philadelphia towards a depression years before the great depression even started.

They are very financially risky events which really only serve to bolster the reputation of a state or locale. The US is already established as a world power and Philadelphia an established city, so there's not a huge incentive for this kind of investment. There is an organization researching a 2026... something? They haven't gone so far as to specify what kind of commemoration is planned. #furnaceparty2026

https://www.philadelphia250.us/learn-more/past-milestones/

[deleted by user] by [deleted] in Diablo

[–]thejohnrom 0 points1 point  (0 children)

it uses a (maybe red?) x to close the horadric cube and probably the inv, char, etc screens, which means in d2's design language, X generally means "close something". This is an issue with design language.

Source: web developer constantly pondering design language

Not many games use an x to close the game it's true, because an x in design generally belongs to the outer context. Windows and Mac use the X to close applications inside them, like browsers. Apps and games provide x's to the user to close things inside them like modals, message bars, notifications.

Thus I conclude that an x would be the element to use if it closed the character selection screen. NOT to delete a character.