HNHacker News
TopNewBestAskShowJobs

sacado2

1,475 karma · joined November 14, 2013

Developer, teacher, storyteller.
submissionscomments
sacado2··on Pedagogical Downsides of Haskell
What kind of things do you use it for?
sacado2··on Pedagogical Downsides of Haskell
I've never had to worry about what's a register in Python, and barely about pointers and memory (those are highly abstracted away, exactly to the same extent as they are in Haskell).
sacado2··on Stop whining about “The EU Cookie Policy” and improve your ways
Some people dgaf. They are free to click on "I agree with everything."

Some people do gaf. They are free to click on "I don't agree with non-legitimate use of my data."

Those who don't want to submit to these simple rules are free to not do business with EU citizens at all.

Everybody's free. EU is the new land of Freedom it seems.

sacado2··on Who knew the first AI battles would be fought by artists?
In art, you can afford a few mistakes. Like, on many photo-realistic pictures generated by midjourney, if you look closely you'll see a thing or two that are odd in the eyes of characters. In an AI-generated novel, you can accept a typo here and there, or not even notice it if it's really subtle.

In a program, you can't really afford that. A small mistake can have dramatic consequences. Now, maybe in the next few years you'll only need one human supervisor fixing AI bugs where you used to need 10 high-end developers, but you probably won't be able to make reliable programs just by typing a prompt, the way you can currently generate a cover for an e-book just by asking midjourney.

As for the political consequences of all of this, this is yet another issue.

sacado2··on Turing Machines Are Recurrent Neural Networks (1996)
And in theological arguments back then, god was called "the great watchmaker". Now the question "are we living in a computer simulation?" keeps popping here and there. I wonder what the analogy will be in 400 years.
sacado2··on French baguette gets Unesco heritage status
Yes, beans, tomatoes, potatoes, and corn to some extant, are an important part of French food in many regions of the country, and yet all of these went from America. And yet I'm pretty sure most people imagine this is what peasants used to eat back in the middle ages. Indeed, all our "traditional" meals are actually a pretty recent invention.
sacado2··on French baguette gets Unesco heritage status
Yes, tomatoes and potatoes were considered toxic for a long time, because they belong to the same family as a bunch of very toxic plants (such as the belladona), and even with tomatoes and potatoes, most parts of the plants are toxic anyway (anything except the parts we eat, actually).
sacado2··on Data-Oriented Programming in Python
Code is little more than a very formal way to describe an algorithm, the difference between a detailed algorithm and a piece of code is very small in many cases. And in the cases where the given algorithm is general and no code is given, reproducibility is at stakes.

But ideally you want both: the description of the procedure to rewrite an equivalent program, and the actual code that gave the results detailed in the article. This is happening more and more frequently, and this is a good thing.

sacado2··on Data-Oriented Programming in Python
> It looks like you don't understand the definition and the point of reproducibility. If you just click on a button to recompute the results from the same code, this is not "reproducibility". The point of reproducibility is to have other scientists able to confirm your results in a fully independent way. They should be able to do it from scratch, without your code, and reach the same conclusion.

I highly disagree with that. In machine learning for instance, it's very important to be able to check authors' claims because otherwise you can't know if they are lying or not, or if they cheated or not ("what do you mean we can't use our test data to improve our training process?")

Plus, you can't improve on what others did if they don't let you access their own code and dataset. "We got better results than previous works it seems, but we can't know for sure because maybe that's because our method is better, maybe that's because our code is better, we will never know." My ML approach is more efficient than yours because you wrote it in python on your laptop and I wrote it in C and spent a lot of time to optimize it, plus I have a faster computer. Yeah sure. That's not science.

sacado2··on Getty Images bans AI-generated content over fears of copyright claims
The fact watermarked images are available for free doesn't necessarily mean you can do whatever you want with them. It depends on what the getty licence on watermarked images says exactly. I'm pretty sure they don't include something like "you can use these picture as data in automated processes". They are (I guess) available "for your eyes only".
sacado2··on Getty Images bans AI-generated content over fears of copyright claims
This is not as obvious as you may think. This is closely related to the "monkey selfies" copyright claim issues. The court didn't seem to agree with the photographer who said "I own the copyright of those pictures because I configured the camera by myself and put it there, the monkey only pushed the button."
sacado2··on Constraint Programming
> I don't think you're correct on this issue? "x11 + x12 = 1" means that "x11 or x12 are 1, and the other is zero".

and

> In most of the 3SAT / SMT solvers for Sudoku I've seen, you set up the variables as: "X111, X112, X113, X114...", which means "X11 == 1", and "X11 == 2", etc. etc. So you then do "X111 + X112 + X113... X119 == 1", meaning "X11 is either 1, 2, 3, 4, 5... 9".

Yes, I've been a bit to fast here. You're absolutely right.

> I've been told that "because everything is {0, 1}, more optimizations / inferences can be discovered" in 3SAT/SMT solvers compared to constraint programmers. Meanwhile, constraint programmers benefit from generic constraints that have a polynomial class subsolution (ie: using maximum flow, or other simpler algorithms to solve the subproblem).

Yes. SAT solvers very often outperform CSP solvers nowadays. But SAT solvers tend to lose the structure of the problem because they are so low-level. The most famous problem they fail to solve is the pigeonhole problem.

If you have, say, the problem "is there a way to put 4 pigeons into 3 different holes, knowing that there can be at most 1 pigeon per hole and at least 1 hole per pigeon?", the answer is obviously "no", but if you try to use a propositional logic representation (in other words, using a SAT solver), the solving track will grow exponentially (4 vs 3 workds well, but SAT solvers will struggle to solve 11 vs 10 in a reasonable amount of time). Pseudo-boolean solvers will be able to using "cutting-planes" strategies that work well for this specific set of problems, but these are slower in the general case.

Plus, modeling your problem in CNF to feed it to a SAT solver is usually incredibly complex and can lead to gigantic formulas if you're not careful. So most of the time, it really makes sense to first use a CSP representation, and fall back to a CNF representation if you're not satisfied with the results for some reason.

sacado2··on Constraint Programming
SAT solvers are used a lot for NP-complete problems, but they don't use the 3-SAT representation of clauses. 3-SAT is only interesting from a theoretical POV. Nobody uses it in practice.

There are also intermediate representations. For instance, pseudo-boolean retains most of the power of SAT solvers, while at the same time making problems much easier to express in terms of number of constraints needed. For instance, your Alldifferent(X11, X12, X13, X14, X15, X16, X17, X18, X19) constraint would be written as "x11 + x12 + x13 + x14 + x15 + x16 + x17 + x18 + x19 = 1". Same expressive power, on this problem.

sacado2··on I'm Too Risk-Averse for Index Investing
OTOH, as soon as you're a very big investor, you can't really invest a ton of money in, say, a small, discounted stock. Let's say you have ten billions to invest and you find that cute little company at an incredible discount, with a market value of 100 million bucks. Just investing 0.5% of your capital in that stock would mean buying half the company, which would make its price raise dramatically (if it were at all possible). But if you only had 100 millions to invest...

I'm pretty sure I've seen Buffett say more than once something like "if only I didn't have all those billions to invest, I would be able to make more money".

sacado2··on You block ads in your browser, why not in your city?
If browser ads had a real-life equivalent, they would be more like that creep who suddenly pops in front of attractive women in the street trying to grab their phone numbers, and no matter what you do you'll never get rid of him and he'll be following you on your way back home (probably to provide you with a "better user experience").

If all web ads were limited to a static gif here or there in the corner of a web page, I don't think adblock plus would be a thing at all.

sacado2··on Go 1.18 Beta 1 is available, with generics
Yes, for Option the default value is quite obvious. I'm talking about Result, because it's the second best-known sum type, and it doesn't have an obvious default value.
sacado2··on Go 1.18 Beta 1 is available, with generics
I'm not sure that would be any better, in practice, than doing return 0, nil.
sacado2··on Go 1.18 Beta 1 is available, with generics
Not as simple as it seems. For instance, what is the zero value of a sum type? Let's say, the zero value of a Result<int, error>?
sacado2··on Go 1.18 Beta 1 is available, with generics
They weren't ever firmly opposed to generics. Here's the FAQ from 2009:

https://web.archive.org/web/20091113154906/http://golang.org...

> Generics may well be added at some point. We don't feel an urgency for them, although we understand some programmers do.

> Generics are convenient but they come at a cost in complexity in the type system and run-time. We haven't yet found a design that gives value proportionate to the complexity, although we continue to think about it.

12 years later, here they are.

sacado2··on Vivaldi: Violating CoC on forum may close your email account
Absolutely, I didn't formulate that clearly enough in my comment I guess, because you're not the only one saying this.
sacado2··on Vivaldi: Violating CoC on forum may close your email account
No human is offended by those (I hope), but poorly-configured bots are easily triggered and can get an author censored or temporarily banned, or just annoy human moderators with irrelevant automated reports.
sacado2··on Vivaldi: Violating CoC on forum may close your email account
In some online communities, there are people who can't write which country they are from because the name of their country is offensive from a USA-centric point of view. I don't even know if those names raise flags here on HN, so, I'll just give their capital cities: Podgorica, Niamey, Abuja.

Your name / title / country name could be safe in your own country but seem offensive to someone with an international bias.

sacado2··on Revisiting “The 4-Hour Workweek”
The thing is, people judge (non-fiction) books by their width. They'd rather pay a significant amount of money for a merely useful 300 pages book than for a life-changing 10 pages booklet. So, as you say, turn your 10 pages booklet into a 300 pages book with lots of repetition, examples, pictures and testimonials, and buyers will be happy.
sacado2··on The 50-year-old P-NP problem that eludes theoretical computer science
What would be cool, too, would be a proof that yeah, P != NP, sure, but there is an algorithm that can solve any NP-complete problem with a complexity of O((1+Ɛ)^n), with Ɛ very small, so still exponential but solveable in practice in most cases, and we don't know what that algorithm is, we just know it exists.
sacado2··on Uranium Glass
> I'm using the marble in my DIY random number generator, based on a Geiger tube and an Arduino board.

This is so nerdish, I love it!

sacado2··on WhatsApp scaled to 1B users with only 50 engineers
Typescript has a pretty cool type system. A mixture of dynamic and static typing. You can be as dynamic as with js (or python), or stricter than Java (you can state a reference cannot be null for instance), or anything in between (and have dynamic parts and static parts in the same program).
sacado2··on Penguin is no longer the owner of the copyright to The Tao of Pooh
This is very common with writers. You (usually) don't know who produces content for the website (it can be the author himself or a third party). Plus it makes copy/pasting of the bio way easier, and you don't want, for instance, your author bio at the end of your books or on Amazon to be written in first person (it sounds very amateurish).
sacado2··on E-Ink Typewriter
Fair enough, I didn't know these devices. I don't see how different they are from a computer with only one application installed, though.
sacado2··on E-Ink Typewriter
Yeah, they sucked, you couldn't fix your mistakes, let alone insert a sentence just before another, or, god forbid, move a whole section of your text. Plus, you only had one copy of your text, you had to retype all of it if you wanted to make a copy. And entirely retype it another time into another hardware device if you wanted to do any formatting at all.

I'm glad we have better options nowadays.

Good fitness machines though, because you better have strong fingers to type all day long with these devices.

sacado2··on Chekhov's Gun
1889. It's so old I don't think it's very relevant for a modern fiction author. It's older than 99.99% of popular, genre fiction. Older than the cinema, than radio, and than pulp magazines. Even Wells hadn't starting writing yet. Conan Doyle had barely started. Fiction and storytelling evolved a lot afterwards.
← PreviousPage 3 of 18Next →