Readit News logoReadit News
deong commented on NP-complete isn't always hard   hillelwayne.com/post/np-h... · Posted by u/zdw
taeric · 3 years ago
In optimization terms, this is the "optimality gap." And, often you can set bounds on that, as well. :D
deong · 3 years ago
Yep. And there are the formal optimality gaps like "this algorithm provably finds a solution in polynomial time no less than twice the optimum tour length", and there are also the informal "I have no proof of anything, but this algorithm usually finds optimal tours or tours within 1% of optimality on problems of up to 10 million cities" type of gaps. Both are useful to know and understand in practice.

If my job were to solve TSP instances, I'd not bother trying to tell someone why it's hard. I'd through Iterated Lin-Kernighan or something similar at it and go get some lunch.

deong commented on Apple Music on Android requires its own payment details to avoid Google 30% cut   support.apple.com/library... · Posted by u/rydre
dustinmoris · 5 years ago
That’s absurd. If I run a shop and I require an ID check at the entrance then it doesn’t mean that I am not allowed to shop myself in stores which don’t require ID checks.
deong · 5 years ago
That's not the right analogy. It means you're not allowed to sue someone else for requiring an ID check in order to let you shop there.

I'm not a lawyer, but I'd be surprised if this defense was particularly robust anyway. It seems you'd just have to argue that there's some slight difference in the situations and that's why I'm doing something that guy shouldn't do. But either way, you're not taking away the correct message from his example.

deong commented on Some Lisp books (2012)   blog.fogus.me/2012/07/25/... · Posted by u/deepaksurti
deong · 7 years ago
I'm not sure it should really count as a "Lisp book", but The Art of the Metaobject Protocol" is one of my favorite technical books ever.

It takes some knocks for not really containing anything about how to use CLOS. Instead, it's how CLOS is built. At a higher level, it's "how to build an object-oriented language/object system from scratch" using Lisp as a vehicle.

deong commented on Hundreds of TSA screeners, working without pay, calling out sick at airports   cnn.com/2019/01/04/politi... · Posted by u/smacktoward
krapp · 7 years ago
Trump can't keep the shutdown going for years. He's not an Emperor, and even if he were, he'd wind up like Caesar long before then.
deong · 7 years ago
Which 20 Republican senators do you imagine are going to stop him?

Deleted Comment

deong commented on Source: Google Hangouts for consumers will be shutting down sometime in 2020   9to5google.com/2018/11/30... · Posted by u/shaklee3
humanrebar · 7 years ago
In this case, worst case, it's multiple groups of engineers all advocating for their pet projects. They can all be wrong and concerned about personal sunk costs instead of having some perspective and humility and working together to the extent it makes sense.

I gather maybe the Google advancement structure discourages doing nothing and generally being stable when it makes sense, in which case there could be plenty of improvement to be had all around.

deong · 7 years ago
Oddly enough, I assume the Google advancement structure values anything but stability. You launch products to get promoted. Maintaining them is for fools and losers.

Granted, I have no inside information. That just fits the externally observable information and the tiny amount of corporate politics that occasionally makes its way public.

deong commented on Source: Google Hangouts for consumers will be shutting down sometime in 2020   9to5google.com/2018/11/30... · Posted by u/shaklee3
humanrebar · 7 years ago
> I, personally, don't like to kill my babies.

I do. Software isn't my progeny or legacy. It is the tools in my workshop. If I can use one tool to do the work of five, I'll gladly downsize to declutter and simply my life.

Finding self-worth in the longevity of tools is an emotional anti-pattern.

deong · 7 years ago
I think you're taking him a bit too literally. In these examples, you're not looking at simplifying anything. You're not getting rid of unneeded code. You're getting rid of debugged and stable code in favor of writing something new from scratch because fuck all knows why.
deong commented on World of Warcraft: one simple line of code can cost you dearly (2016)   gdatasoftware.com/blog/20... · Posted by u/bdz
Drdrdrq · 7 years ago
Curious - have they made any of the numbers public?
deong · 7 years ago
They used to as part of their quarterly earnings reports, if I remember correctly. They stopped during the latter part of WoD when by all accounts the subscriber numbers were very low (by WoW standards).
deong commented on What happened when Boston Public Schools tried for equity with an algorithm   apps.bostonglobe.com/idea... · Posted by u/sopooneo
nradov · 7 years ago
Is a simple hill-climbing algorithm really effective for problems like this? I've found that you usually have to add some randomization plus simulated annealing to avoid issues caused by falling into local maximums or always iterating through entries in the same order.
deong · 7 years ago
Even local optima are often pretty good in practice.

Also, it's a very good practice to iterate through the neighbors in a random order (if you're doing next descent, for steepest descent obviously it doesn't matter).

deong commented on The Workman Keyboard Layout Philosophy (2010)   workmanlayout.org/... · Posted by u/caustic
reacweb · 7 years ago
He uses the wrong test. Testing on "The Adventures of Sherlock Holmes" is meaningless for developpers: tests should be performed using real usages like "source code of linux kernel" or "mailing list of linux kernel" to have a better balance between code and text.
deong · 7 years ago
There's another issue as well. His mapping of difficulty reaching a key isn't really the whole picture. On a conventional QWERTY layout, neither the E nor the C keys are especially hard to reach, but if you had to frequently type them successively, that would be terrible. What matters is not just where a key is in relation to your hands, but also where two keys are in relation to one other.

In grad school, I did a lot of work on the Quadratic Assignment Problem (https://en.wikipedia.org/wiki/Quadratic_assignment_problem). If you model that "key reachability" metric as two-key sequence difficulty instead, you actually get a QAP instance to solve. I built a little toy project that would look at the source text of my dissertation in LaTeX as well as the accompanying C++ source code for bigram frequencies, and I mapped out a flow matrix manually in a similar way to the author here, but including that successive keypress difficulty, and ran my multiobjective QAP solver to generate a range of keyboards optimized for my specific dissertation work.

I did this as a fun little gimmick as part of a sort of "ignobels" within my department, so the results weren't really a thing you could use. To generate a usable keyboard layout, you need to also include a ton of heuristics for things like "put all the number keys together" and the idea that you can treat "a" and "A" as the same letter, but "2" and "@" may make sense to separate, none of which I really properly handled. But I think with some work one could actually formalize the problem of finding a real layout for normal people to use.

u/deong

KarmaCake day1797January 20, 2011
About
[ my public key: https://keybase.io/deong; my proof: https://keybase.io/deong/sigs/NYeiTtrmXdO96q0YGlRqXs8lKRZLZPxrEEJv61HEEC0 ]
View Original