HNHacker News
TopNewBestAskShowJobs

CornCobs

356 karma · joined September 12, 2020

submissionscomments
CornCobs··on GeoJSON
Yes, they deprecated the CRS field and the current state of geojson handling libraries is pretty messy as a result since geojson does not have versioning!

If you have old geojson in a different projection, will your library respect the crs field or will it simply misinterpret your data?

Wondering if anyone could shed light on the decision to remove it as a standard when projection seems to be a critical part of GIS.

CornCobs··on Show HN: Wat – Deep inspection of Python objects
Not everywhere that python is run has access to pip. Sshing into some locked down remote machine and needing to debug some script is a use case that comes to mind.
CornCobs··on Show HN: Wat – Deep inspection of Python objects
Isn’t the browser inspector more than sufficient? You get the interactive object inspector in the console, live expressions, log points etc.

For node you it’s possible to hook it up with the browser inspector as well

CornCobs··on Generalizing Support for Functional OOP in R
Something interesting I realized about their choice of name - S7.

1. It's a combination of S3 and S4 obviously.

2. It's also linked to another OOP system called R6. Interesting how it's a step forward one way (6->7) and a step 'backwards' in another way (S->R).

To me it shows the philosophy of not creating something entirely new but improving the existing systems quite nicely!

CornCobs··on Generalizing Support for Functional OOP in R
I actually think this "multi-tiered" system of OOP is quite cool, when compared to languages that stick OOP in your face upfront.

1. Basic users don't even know it's there, they're just calling regular functions.

2. S3 in base is super simple to understand and easy to extend the first time you need to implement your own summary.

3. Full blown OOP with slots and methods is available when you really need it (rare for a user and not library author imo, lists and S3 are sufficient for most things).

The big issue I see is the incompatibilities in the various systems making this "ramp up" not so smooth. But it looks like that's what S7 is trying to address so that's cool.

CornCobs··on Generalizing Support for Functional OOP in R
Yes, though the languages do not support it explicitly you can simulate lazy evaluation by wrapping all your arguments in closures. This way they won't be evaluated until called within the function body.
CornCobs··on Enhancing R: The Vision and Impact of Jan Vitek's MaintainR Initiative
I too am a Tidyverse shill. Hadley Wickham truly did an amazing job designing the whole ecosystem and API. I personally haven't encountered another API that has given me the same feeling of mastery and empowerment - just the correct blend of expressiveness, cohesion and ease of use.

Of course this is partly attributed to R's great DSL capabilities and making documentation first class. But I've definitely seen terrible APIs in R too.

Wonder if anyone else has had a similar experience with another ecosystem? (Regarding API design)

CornCobs··on Facebook just updated its relationship status with Web Components
I'm in a similar boat. I have to use a 3rd party component library written in web components for our react app (esri/calcite-components) and it's a huge pain because * You can't override styles except what is exposed through css variables * They often encapsulate some internal logic which I can't control from React (tbh this could happen with a React library too)
CornCobs··on Mobile Ad Blocker Will No Longer Stop YouTube's Ads
Seconding NewPipe. Though recently it's been unable to load comments and the error banner keeps popping up as a result (no comments may actually be a plus?)

I still use the regular Youtube app for shorts but NewPipe is definitely a better experience overall. My main gripes with the official Android Youtube client: - They made it so annoying to choose your video resolution (Seriously, who tested this and found it better than the old method?) - I can accept not being able to play in the background, but if you lock your screen while in fullscreen mode and then unlock it, there is a very noticeable lag before the app exits fullscreen mode, and in this period you cannot resume playback.

CornCobs··on If Inheritance is so bad, why does everyone use it?
Inline styles don't work with a strict CSP. Have you ever had to work with such a restriction?
CornCobs··on Arraymancer – Deep learning Nim library
What syntax of nim's is the network: ... Used to declaratively construct the neural networks? Is it a macro? Looks really neat!
CornCobs··on React Labs: What We've Been Working On – February 2024
+1 for mobX. Dead straightforward, does one thing and does it well. Only worry is that it increasingly feels like an outsider in React. I'm working on an app that uses React, web components and mobX, and upgrading to React 18's concurrent rendering breaks stuff, and I'm not sure which of my relatively niche technologies (mobX or WC or maybe the interaction of the 2?) causes it.

Preact has been looking increasingly attractive as a library that does its own thing and nothing more. Anyone knows if preact signals are basically a drop in replacement for mobX?

CornCobs··on What if I’m wrong? (2023)
> They will eventually discover that they’re wrong, and we will have yet further examples of evolution’s devious paths. In my terminology, their dogged search for skyhooks will uncover heretofore unimagined cranes. And precisely because their conclusions will be the opposite of what they hoped to discover, we will take them seriously.

An important part of being able to truly ask oneself if they are wrong is the humility to seriously consider an alternative. The author's treating of ID research as a foregone conclusion, even with his acknowledgment that we could be wrong in the next paragraph, seems rather ironic. Isn't it this kind of hubris that he is precisely calling out?

CornCobs··on The current state of OpenTelemetry
As a relative outsider to the observability space, I have always wondered this:

Is observability/telemetry only about engineering-related issues (performance, downtimes, bottlenecks etc.) or does it include the "phone-home" type of telemetry (user usage statistics, user journeys)? Looking through the websites of most of the observability SaaSes it seems to only talk about the first. Then how do people solve the second? Is it with manual logging to the server from the client?

CornCobs··on From SVG to Canvas – A new way of building interactions
> These InteractionHandlers are just objects satisfying a specific TypeScript interface. They’re not coupled to React or hooks or anything like that, which feels quite freeing, honestly. There’s no worrying about stale closures or dependencies or hooks rules - it really is just TypeScript.

> None of the interactions depend on a particular rendering system. We can actually use the DOM as a render target with all its pointer events disabled, and use this interaction system on top, which is quite neat!

In general, I think this is the most important takeaway here. Too often, we couple all our frontend logic to the rendering framework (especially state) when it has no business living in React and being tied to the component lifecycles.

I've had really good experience with MobX for React - separating out all our state into independent observable objects that React simply reacts to. This really cleans up a lot of logic and makes the presentation layer very clean.

In particular, a pattern that I believe in is simply exposing singleton, global stores for various parts of my application - effectively treating them as APIs that the rest of the app can subscribe to.

CornCobs··on Build your own fast, persistent KV store
I've heard before that it's meant to be re-TRIE-val and therefore is pronounced "tree"
CornCobs··on Nobody wants touch-screen glove box latches
Dad has a Mazda. Can vouch for this 100%. It's very clear to me when I drive it that their car interfaces are very deliberate and properly designed. That rolling knob thing which controls the screen is amazing and I wish it were standard
CornCobs··on I have complicated feelings about TDD
Slightly off topic, but I find the author's attempt to use an iterative method (TDD) to derive a recursive algorithm (quicksort) somewhat comical
CornCobs··on Why do tree-based models still outperform deep learning on tabular data?
The next course of action would be to split your distance calculation into multiple steps - a few dimensions at a time.

Then we need to decide on an order to these comparisons - what about using entropy derived from the training data?

Then as a further improvement, what if the order need not be constant, depending on which group the data point is closer to? And what if not all dimensions need to be considered?

Before you know it, woah! You've reinvented trees!

This comment is meant as a joke

CornCobs··on Why do tree-based models still outperform deep learning on tabular data?
Not exactly. These tree models are ensemble methods, meaning they comprise several trees. Each individual tree may be small, but it is difficult to pinpoint explanations when that tree is but one amongst a forest
CornCobs··on Cut the cutesy errors
I actually from a less technical person's perspective, "cute" error messages humanize errors, showing them that there was indeed someone who made that page they are currently on and not just some soulless computer and thus making solving the problem much more approachable!

Example 1: Chrome's dino page is actually great! Grandma doesn't fear it or call me out of panic the moment she sees it. Imagine if she got something like the default Apache 500 error webpage.

Example 2: the new BSOD. I saw on some other thread that some people hate it, but I think it's clear and directs the inexperienced user to what they could at least try to do

Here I was thinking that the very same group of people that think sl is a funny command line program wouldn't appreciate humanized error messages...

CornCobs··on Ask HN: How did you increase your UX skills?
What in your opinion doesn't work with UG testing?
CornCobs··on Ask HN: How did you increase your UX skills?
I disagree in general with your second point. Yeah, sure, this could make sense in some situations, but many tools and products exist for the sole reason that they offer a superior workflow and smoother experience than their existing counterparts.

Wasn't there that classic HN post about users not needing Dropbox because any Linux user could do the same with rsync?

CornCobs··on Ask HN: I love programming but hate the industry. Can anyone relate?
I ended up in this current position because I was first interested in their field of work (geospatial work), and secondly skilled in programming. Even if I weren't a programmer I would probably work for them in some other capacity.

I don't feel qualified giving advice but personally I think I would look beyond what is commonly considered "tech". As another poster mentioned, everyone uses tech. When a company's work is sufficiently complex or special, chances are they may not rely on external vendors 100%.

Really out of my depth here but maybe some types of firms where I think there could be some interesting stuff internally:

- engineering - analytics - games - graphics/animations

CornCobs··on Ask HN: I love programming but hate the industry. Can anyone relate?
Counter-anecdote: I'm working at a non-tech company (we build the in-house technical software that everyone else in the company uses) and the experience has been great. We deliver real and immediate value, our clients are our colleagues and there's a great emphasis on UX, user testing and what not as a result.

Yes, there are loads of other problems, especially on the technical side, because tech isn't the company's strong point (our processes, especially revolving around the DB and deployment, are quite a mess) but the right things are in place that make me enjoy my job.

CornCobs··on A Tiny Grammar of Graphics
As the other guy mentioned this has nothing to do with GoG. A good data language or library should provide the user (and plotting libraries) copyless, cheap and immutable slices of the data being handled. Javascript just doesn't really have one. It shouldn't be the concern of the plotting library however.
CornCobs··on Ajax Battle: XMLHttpRequest vs. the Fetch API
You can do anything with the DOM in javascript - you could create an anchor node then download the file automatically via a.click()
CornCobs··on I Believe Zig Has Function Colors
I don't think it's fair to label the failure of checked exceptions as "beginners didn't understand". It's the fact that returning null was deemed an acceptable return value on some types of failure throughout the standard library, rendering the whole idea basically moot since it didn't actually give you much guarantees.

And later on, checked exceptions were incompatible with new stuff like lambdas and streams

CornCobs··on Are you a baby? A litmus test
Yeah. IMO reducing everything to cost-benefit analysis feels like one of those "Silicon Valley" endeavours the feature article talks about - sounds attractive, but ultimately we ought to grow out of the good/bad one-dimensional thinking
CornCobs··on Tinygrad
Client side training with the usual python stack sounds like a configuration nightmare. Would it try to use the users GPU if it exists? Would it fallback to CPU? Does your user need a specific GPU card to play?
Page 1 of 5Next →