Readit News logoReadit News
chriswarbo commented on Gemini 3 Deep Think   blog.google/innovation-an... · Posted by u/tosh
dfdsf2 · 24 minutes ago
Highly disagree.

I was expecting something more realistic... the true test of what you are doing is how representative is the thing in relation to the real world. E.g. does the pelican look like a pelican as it exists in reality? This cartoon stuff is cute but doesnt pass muster in my view.

If it doesn't relate to the real world, then it most likely will have no real effect on the real economy. Pure and simple.

chriswarbo · 9 minutes ago
I disagree. The task asks for an SVG; which is a vector format associated with line drawings, clipart and cartoons. I think it's good that models are picking up on that context.

In contrast, the only "realistic" SVGs I've seen are created using tools like potrace, and look terrible.

I also think the prompt itself, of a pelican on bicycle, is unrealistic and cartoonish; so making a cartoon is a good way to solve the task.

chriswarbo commented on Parse, Don't Validate (2019)   lexi-lambda.github.io/blo... · Posted by u/shirian
seanwilson · 2 days ago
Maybe I'm missing something and I'm glad this idea resonates, but it feels like sometime after Java got popular and dynamic languages got a lot of mindshare, a large chunk of the collective programming community forgot why strong static type checking was invented and are now having to rediscover this.

In most strong statically typed languages, you wouldn't often pass strings and generic dictionaries around. You'd naturally gravitate towards parsing/transforming raw data into typed data structures that have guaranteed properties instead to avoid writing defensive code everywhere e.g. a Date object that would throw an exception in the constructor if the string given didn't validate as a date (Edit: Changed this from email because email validation is a can of worms as an example). So there, "parse, don't validate" is the norm and not a tip/idea that would need to gain traction.

chriswarbo · 2 days ago
> You'd naturally gravitate towards parsing/transforming raw data into typed data structures that have guaranteed properties instead to avoid writing defensive code everywhere e.g. a Date object that would throw an exception in the constructor if the string given didn't validate as a date

It's tricky because `class` conflates a lot of semantically-distinct ideas.

Some people might be making `Date` objects to avoid writing defensive code everywhere (since classes are types), but...

Other people might be making `Date` objects so they can keep all their date-related code in one place (since classes are modules/namespaces, and in Java classes even correspond to files).

Other people might be making `Date` objects so they can override the implementation (since classes are jump tables).

Other people might be making `Date` objects so they can overload a method for different sorts of inputs (since classes are tags).

I think the pragmatics of where code lives, and how the execution branches, probably have a larger impact on such decisions than safety concerns. After all, the most popular way to "avoid writing defensive code everywhere" is to.... write unsafe, brittle code :-(

chriswarbo commented on Ask HN: Who do you follow via RSS feed?    · Posted by u/znpy
hahahahhaah · 17 days ago
No one. It psychologically makes me feel guilty if I can't keep up. I'd weirdly rather have an email and ignore or read it than pull rss and not read for ages. Funny enough the only time I used rss was when I had that cool outlook integration that made them seem like emails.
chriswarbo · 16 days ago
> Funny enough the only time I used rss was when I had that cool outlook integration that made them seem like emails.

I convert feeds to maildir, and read them in email clients (Thunderbird, KMail, Emacs+Gnus, Emacs+mu4e, etc.). That lets me use the same setup for emails and feeds; keeping them on a network mount makes sync trivial; etc.

I use http://www.chriswarbo.net/git/feed2maildir which is a fork of https://github.com/sulami/feed2maildir that rips out a bunch of unneeded complexity (config files, databases, fetching, looping, etc.)

chriswarbo commented on The compiler is your best friend   blog.daniel-beskin.com/20... · Posted by u/based2
TruePath · a month ago
There is no inherent benefit in going and expressing that fact in a type. There are two potential concerns:

1) You think this state is impossible but you've made a mistake. In this case you want to make the problem as simple to reason about as possible. Sometimes types can help but other times it adds complexity when you need to force it to fit with the type system.

People get too enamored with the fact that immutable objects or certain kinds of types are easier to reason about other things being equal and miss the fact that the same logic can be expressed in any Turing complete language so these tools only result in a net reduction in complexity if they are a good conceptual match to the problem domain.

2) You are genuinely worried about the compiler or CPU not honoring it's theoretical guarantees -- in this case rewriting it only helps if you trust the code compiling those cases more for some reason.

chriswarbo · a month ago
I think those concerns are straw men. The real concern is that the invariants we rely on should hold when the codebase changes in the future. Having the compiler check that automatically, quickly, and definitively every time is very useful.

This is what TFA is talking about with statements like "the compiler can track all code paths, now and forever."

chriswarbo commented on Nokia N900 Necromancy   yaky.dev/2025-12-11-nokia... · Posted by u/yaky
fsflover · 2 months ago
> What made them interesting wasn't the hardware, though the full keyboard on the N900 was useful but the fact that it was Linux phone based on Debian complete with the ability to apt-get install whatever the hell you wanted.

Such phones exist today, too. Sent from my Librem 5.

chriswarbo · 2 months ago
Indeed, I had a Freerunner back then (the N900 came out after, and I couldn't get its predecessors since they weren't phones, as the parent points out). It served me well for about a decade, and I've now upgraded to a Pinephone.
chriswarbo commented on Nokia N900 Necromancy   yaky.dev/2025-12-11-nokia... · Posted by u/yaky
larodi · 2 months ago
It is amazing Nokia missed on the mobile revolution as n900 predated iPhone if I remember correctly.

But Nokia did one massive mistake and it was to bet on Linux for this device. Even when they already had lot of Symbian experience, which also was week though when it came to user apps.

The modified BSD on the first iPhones was simply blazingly fast.

chriswarbo · 2 months ago
A bigger mistake was to not give the N770, N800, etc. phone capabilities. I was buying a new phone around that time, and thought those devices looked cool; but I couldn't even consider them, because they couldn't do basic calls or SMS. They fixed that with the N900, but had lost their head-start.
chriswarbo commented on EFF launches Age Verification Hub   eff.org/press/releases/ef... · Posted by u/iamnothere
jolmg · 2 months ago
Doesn't matter what you want it to mean. What matters is what those in power want it to mean. It's very easy to stretch the definition to cover all sites where people can post content for strangers to see, or stretch it even wider to all digital media where people can interact with a social group.
chriswarbo · 2 months ago
> Doesn't matter what you want it to mean. What matters is what those in power want it to mean.

I was replying to a discussion between two HN users, who were using conflicting definitions of the term. AFAIK they are not "those in power".

chriswarbo commented on UK House of Lords attempting to ban use of VPNs by anyone under 16   alecmuffett.com/article/1... · Posted by u/nvarsj
TSiege · 2 months ago
I'm not from the UK but I thought the house of lords is largely a vestigial legislative body and has no serious power. Am I wrong there?
chriswarbo · 2 months ago
Legislation often bounces back and forth between the Commons and the Lords a few times. The Lords won't block things which have a strong mandate, e.g. things promised in an election manifesto; but they can at least stall and amend things.
chriswarbo commented on EFF launches Age Verification Hub   eff.org/press/releases/ef... · Posted by u/iamnothere
techdmn · 2 months ago
Hate to break it to you, you're on social media right now.
chriswarbo · 2 months ago
If HN is social media, then so are PHPBB, NNTP, BBS, etc. and the term loses its semantic relevance.

My heuristic is that social media focuses on particular people, regardless of what they're talking about. In contrast, forums (like HN) focus on a particular topic, regardless of who's talking about it.

chriswarbo commented on A “frozen” dictionary for Python   lwn.net/SubscriberLink/10... · Posted by u/jwilk
tremon · 2 months ago
> consider an expression like '"pop" in dir(mySet)'

  class frozenset:
    pass
  
  class set(frozenset):
    def pop(self, key):
      pass
I don't see why hasattr(mySet, 'pop') should be a problem here?

chriswarbo · 2 months ago
> I don't see why hasattr(mySet, 'pop') should be a problem here?

I never said it's a problem (and I never said it's not!). I was specifically addressing two things:

- The "theoretical" nature of the question I quoted (i.e. ignoring other aspects like subjectivity, practicality, convention, etc.)

- The reasoning about "Liskov violation", which was quoted further up this thread.

For context, here's Liskov's definition of their principle (from https://en.wikipedia.org/wiki/Liskov_substitution_principle ):

> Barbara Liskov and Jeannette Wing described the principle succinctly in a 1994 paper as follows:[1]

> > Subtype Requirement: Let ϕ(x) be a property provable about objects x of type T. Then ϕ(y) should be true for objects y of type S where S is a subtype of T.

My expression `"pop" in dir(mySet)` gives an explicit example of how `set` and `frozenset` are not subtypes of each other (regardless of how they're encoded in the language, with "subclasses" or whatever). In this case `ϕ(x)` would be a property like `'"pop" in dir(x)' = 'False'`, which holds for objects x of type frozenset. Yet it does not hold for objects y of type set.

Your example of `hasattr(mySet, 'pop')` gives another property that would be violated.

My point is that avoiding "Liskov violations" is ("theoretically") impossible, especially in Python (which allows programs to introspect/reflect on values, using facilities like 'dir', 'hasattr', etc.).

(FYI I became rather jaded on the Liskov substitution principle after reading https://okmij.org/ftp/Computation/Subtyping )

u/chriswarbo

KarmaCake day7758June 28, 2013View Original