HNHacker News
TopNewBestAskShowJobs

oaxacaoaxaca

312 karma · joined April 24, 2016

Full-stack dev, love Python and JS, transitioning from full-time employee to freelancer/entrepreneur.
submissionscomments
oaxacaoaxaca··on You might not need an effect
Completely agree. Class components are so beautifully simple. Hooks have infuriating edge cases and are so bizarre they need ESLint plugins to remind people how they work.
oaxacaoaxaca··on Introducing react.dev
THANK YOU. Very well said. I've been annoyed by hooks since they came out and you described my sentiments perfectly.
oaxacaoaxaca··on Why I'm in the Army Reserve – an explainer for my friends in tech
Both.

Airborne training is "safe" in the sense that they thoroughly teach you all the steps and do lots of ground training before getting in a plane. But by no means does that mean your body won't get wrecked by doing jumps.

The parachutes are designed for combat: their goal isn't a soft landing, it's to get you out of the sky as fast as possible.

I was stationed in Alaska. Wintertime jumps were a toss-up in terms of landing in a big pile of snow — or solid ice.

oaxacaoaxaca··on RedwoodJS 1.0
22M weekly downloads – that's pretty much zero. So yeah definitely obsolete.

/s

oaxacaoaxaca··on Why I'm in the Army Reserve – an explainer for my friends in tech
>None of that is true.

All of that is true about my Army experience lol. If I could go back and do it again, I'd definitely choose Air Force. I agree that the military can be a positive experience and it's a good idea for some people, but the caveat with my endorsement is that you gotta carefully choose the branch and the job.

I almost chose linguistics, but for some silly reason chose mechanic and paratrooper, and wouldn't you know it I ended up with injuries causing me to walk with a cane in my 20s.

oaxacaoaxaca··on Solid.js feels like what I always wanted React to be
Right there with you. I've been building React apps full time since 2016. I used to convince people to switch to React because of how easy it was to learn and how quick it was to get through the docs. Props, state, setState, done.

I've built some really complex frontends with React. But now here I was, struggling with setInterval, ha.

oaxacaoaxaca··on Solid.js feels like what I always wanted React to be
I have the same complaint about hooks. Most people seem to ignore that tidbit, but to me it's really frustrating. Plus I recently hit more hook issues when putting a setInterval inside a useEffect. There's no way to do a normal didMount/willUnmount workflow without other hacks (i.e. useRef) just to set up a simple timer. Maddening!

Edit: after writing this I went and read the article. Same scenario I was bitching about lol

oaxacaoaxaca··on From Node to Ruby on Rails
Just want to say thanks for mentioning django-ninja. I hadn't heard of it. It looks exactly what I've been wishing was out there. Django is just so good, but the lack of type hints make FastAPI super attractive, so django-ninja seems to have found quite the sweet spot.
oaxacaoaxaca··on What's New in React 18?
For a good while I thought I was the only one who is against hooks. It's good to see there are two of us. By the looks of the other comments here, maybe even three.
oaxacaoaxaca··on What's New in React 18?
Very well said. I've been using React since it came out, and have been pushing back on Hooks since they came out.

Class components are dead simple. A class, a setState method, this.props, this.state, and some lifecycle methods. SO easy for anyone to understand.

Function components with hooks are not. A whole new (and unnecessary) paradigm; some mysterious hooks engine that needed new ESLint rules to be created just so people can keep the weird, delicate balance in place; hooks having their own timing problems, requiring usage of useRef which the React team tries to get people to avoid; etc.

Frontend codebases used to have several layers, with React just being one of the thin ones. Now, nearly the entire frontend codebase is inside React world. I'm not a fan of this direction.

oaxacaoaxaca··on React v17.0 Release Candidate: No New Features
Yep. And isolated functions are a solution, but sometimes it just makes way more sense for that function to be a method of a class. And for the function component to be a class component. I think there's space for both types of components, and I just hope that class components don't become deprecated.
oaxacaoaxaca··on React v17.0 Release Candidate: No New Features
Just chiming in to say that I too hope class components will continue to be supported. I worry that they'll announce otherwise in a couple years.

Class components are so stupidly simple to read and write. I appreciate the work put into function components, but to me they make things unnecessarily complex. Just the fact that they took callbacks and other functions from methods – where things are separate, clean, standard – to nested functions – where things are not separate (some local variables, some closure variables), not clean (no possible way to unit test a nested function in isolation), and not standard (object methods are a language feature, use them!) – seems like a huge step backward.

oaxacaoaxaca··on Thinking in React Hooks
> You use the word "simple," but it sounds like you mean something more like "familiar."

Guilty as charged. I needed to hear that :)

oaxacaoaxaca··on Thinking in React Hooks
I have not been a fan of hooks thus far, but these are some intriguing examples. Especially the useMemo ones.

My complaints about hooks are that with hooks we lose useful tools in our react toolkit: class methods, separate componentDidMount/componentDidUpdate lifecycle events, shouldComponentUpdate, PureComponent, etc.

And my biggest complaint is that we're losing simplicity. React spread like wildfire when it first came out because it was so beautifully simple: a class, with something called `props`, and this.state and this.setState(). That's it. You can build SO MUCH with just that.

To me, with hooks, React's simplicity is being replaced by cloudiness. There's so much "magic" now. The order of hooks in the code is the most important thing for a hook component to work right. New linter rules had to be built to remind people where hooks need to be written.

I do appreciate the work that's been put into hooks. And like any other open source project, I'm incredibly grateful to the authors and maintainers. I guess I just wonder if anyone shares the same sentiments as mine, because it seems like the only thing I read about this topic is that classes suck, class components are full of pitfalls, etc.

oaxacaoaxaca··on Ask HN: What are the “best” codebases that you've encountered?
Django! And django rest framework. To me, both codebases are so readable and so well put together that even if their documentation was bad (which it isn't), you could fully grasp their APIs and how to use their libraries by just reading through some of the code.
oaxacaoaxaca··on Urql: a GraphQL client library
- The `Query.variables` prop. The docs don't explain very well when exactly the network call will be reinvoked, especially if the graphql query has variables with default values (there's an open issue about this with little activity: https://github.com/apollographql/react-apollo/issues/2715).

- The `Query.skip` prop. I'd like to know all of the expected behavior for when this prop is used. For example, I've noticed that when skip is true then the render prop function's `data` object is always undefined, even though the data is there! Also when skip is true and you manually trigger a refetch elsewhere (for example when running a mutation with `refetchQueries` specified), the `onCompleted` prop doesn't get called, even though the query was in fact refetched and completed.

Those are just recent things I've noticed. Also for the record I don't mean to sound like I'm throwing shade. I appreciate all open source work and the Apollo projects are massive open source contributions, so thank you :)

oaxacaoaxaca··on .NET 5
Hey thanks! I hadn't gone through that site, but I'm reading https://docs.microsoft.com/en-us/learn/modules/build-web-api... now. Looks great! Nice work!
oaxacaoaxaca··on .NET 5
Hi. Sure thing.

First off, thank you for what you do. Microsoft is kicking ass these days and I don't want to sound like I'm unappreciative or unimpressed with what you guys are doing.

A quick example could be user authentication:

https://docs.djangoproject.com/en/2.2/topics/auth/default/ https://docs.microsoft.com/en-us/aspnet/core/security/author...

The first thing I see when scrolling down those pages is that the Django page is ~90% descriptive text and ~10% code. The ASP.NET page is the opposite: ~10% descriptive text and ~90% code.

Obviously that's not the best metric but I need to get off HN soon so that's the best I have for now :)

In any case, this could support my earlier claim: Django docs give not just the "what" – they also provide the "why", along with super useful background/supporting information, and even alternative approaches (e.g. in the "Limiting access to logged-in users" section there are at least five avenues you can choose from to meet your needs).

That was the quickest example I could find. Sorry it's not more substantive. I'll post again later if I find something that could be more helpful.

And again, I really appreciate what you guys are doing and don't mean to sound like I'm sending any negativity in your direction <3

oaxacaoaxaca··on .NET 5
Not "struggling in other areas" but thanks.

Been using VS and VSCode for a long time.

Don't care that the docs are open source.

My issue is that I guess I have high expectations for the official docs of a platform/framework/library/whatever. You shouldn't have to buy a book or read a random blog to find critical information on core functionality. The official docs should provide that, and Django is a great example. It includes how to do things, why things are the way they are, how to customize workflows, best practices, pitfalls, and on top of all that the source code is super easy to read and understand.

The pages at docs.microsoft.com are mostly just basic walkthroughs that leave me with a lot of questions. And the .NET Core source code is not nearly as readable.

It's getting better though. And I don't mean to take jabs at Microsoft because I truly do appreciate how much they've done in open source over the last few years, especially with VSCode.

oaxacaoaxaca··on .NET 5
I’ve gone straight to the official Microsoft docs multiple times to try and get the same experience as when you read the Django documentation, but it’s just not there. Django’s docs explain the what, the why, and more. The Microsoft docs just have the what.

I want to love .NET Core development because I love Microsoft’s open source effort, but the support (or lack thereof) from the documentation is quite the hindrance.

oaxacaoaxaca··on Apollo Client 2.5 for GraphQL Announced
I have mixed feelings about Apollo and GraphQL in general.

To go from mature backend frameworks with autogenerated REST APIs to manually writing a lot of boilerplate code just to get a _basic_ GraphQL API running is frustrating. Part of the blame goes to the marketing of GraphQL. For example, the tagline on graphql.org is "Describe your data | Ask for what you want | Get predictable results". That's all well and good, but it leaves out the large majority of the work you have to do. This describes the schema, the query, and the result; but what about all the resolver code you have to write? That's the painful part of the whole process, especially when you get to the point of writing field-level resolvers and integrating child objects (DataLoader, etc.).

And then on the frontend, Apollo is preaching for us to write client-side queries AND client-side resolvers to fetch data that's _already in the cache_. All of this just to read, for example, a single primitive value? This is just too much.

oaxacaoaxaca··on U.S. Army, Uber sign research agreement
Great advice. Thank you.
oaxacaoaxaca··on U.S. Army, Uber sign research agreement
That's super interesting. Would you be willing to share some of your background on this? I'm quite curious about this route.
oaxacaoaxaca··on Struggles of Women Who Mask Their Autism
Years ago I visited Jamaica. When nice local people greeted me, to show they were nice they would say "respect", but with an emphasis on the first syllable, like "REE-spect". That's what I want to say to you for posting this. REspect, mon.
oaxacaoaxaca··on Autistic Prodigies Since “Rain Man”
Thank you for sharing this. With a 3yo son on the spectrum, many points here resonated with me. It was nice to see at least one other family doing Floortime--we're thrilled with the results we're seeing and are just surprised how little popularity the program has.
oaxacaoaxaca··on Vue.js vs. React: what happened in 2017
Wondering the same thing myself. They are very different all the way to their core. Angular is a full-blown framework; React is a view library. Angular's API and documentation are (excessively) large; React's documentation can be easily perused in under a day. React components are just functions (or classes) and thus can be tested with such ease. Angular testing is, last time I checked, way too complex to get up and running.
oaxacaoaxaca··on Her six-hour commute each day seems crazy, but her affordable rent is not
That's amazing. So do you live in Arrowhead?
oaxacaoaxaca··on Bruce Brown, 80, Dies; His ‘Endless Summer’ Documented Surfing
My thoughts exactly. Well put.
oaxacaoaxaca··on My coffeehouse nightmare (2005)
Thank you for your reply. Much appreciated.

I'm just getting started on this path, and I'm really starting to see that like you said, excellent customer service--not beautiful code or elegantly applied computer science principles, etc.--is the most important thing.

Now I just need to figure out how to establish that network and reputation. Thanks again!

oaxacaoaxaca··on My coffeehouse nightmare (2005)
Wow, congrats on your success. Very impressive. The Blaze site looks great BTW. Would you be willing to share some of the secret sauce of running a successful software shop for nearly 30 years?
← PreviousPage 2 of 3Next →