deong

Joined 16 years ago

Karma
1,797
Submissions
671
Member since
Jan 20
[ my public key: https://keybase.io/deong; my proof: https://keybase.io/deong/sigs/NYeiTtrmXdO96q0YGlRqXs8lKRZLZPxrEEJv61HEEC0 ]
View on Hacker News

Recent submissions

Comment · 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.

Comment · 6 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.

Comment · 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.

Comment · 7 years ago
Which 20 Republican senators do you imagine are going to stop him?
Comment · 8 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.

Comment · 8 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.
Comment · 8 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).
Comment · 8 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).

Comment · 8 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.

Comment · 8 years ago
I have the previous xps 13 running linux now. I'd like to support them, but unfortunately, CostCo sold me the Windows version with mostly equivalent specs for like $400 cheaper than Dell had the Developer Edition at the time. I replaced the Broadcom WiFi chip for $30 and was good to go. I think I saw where the current model no longer has replaceable WiFi modules though.
Comment · 8 years ago
I don't think he's at all concerned about the license. He's just saying most people won't and shouldn't do "real work" on a machine that could break at any point with no possibility for support.
Comment · 8 years ago
I think if an x1 Carbon ran OS X, you'd see a massive number of people migrating from Macbooks over to it.
Comment · 8 years ago
Sure, but all of those are different than an admin at hacker news doing an

    UPDATE posts SET text="I hate brown people" WHERE post_id=17560983
to make you look like a racist (or whatever they wanted to alter your comment to look as though you had written it). That type of editing doesn't naturally occur and is more like the type of changed meaning we're talking about here.
Comment · 8 years ago
It's also important to remember just how far Git was ahead of most competitors in performance. I was using monotone quite a bit around this time, and while its UI was frankly not much better than git's, it at least worked acceptably quickly. Darcs was mostly defined in the public eye by the exponential merge issue. Hg was fine, for some definition of fine, but it was enough slower than git to be annoying -- maybe not deal-breaking, but noticeable on pretty much any task.

I remember installing cogito to act as a front-end for git because very early on it seemed obvious that (a) git was going to win, and (b) it was going to win in spite of its UI, which was saying something.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton