HN user

celerity

366 karma
Posts28
Comments67
View on HN
medium.com 4y ago

How can Carvana afford to buy ADESA?

celerity
5pts1
intoli.com 7y ago

Performing Efficient Broad Crawls with the Aopic Algorithm (2018)

celerity
54pts0
intoli.com 7y ago

Performing Efficient Broad Crawls with the AOPIC Algorithm (2018)

celerity
1pts0
intoli.com 8y ago

Using Ant Design in Sass-Styled Projects

celerity
1pts0
intoli.com 8y ago

Using Puppeteer to Scrape Websites with Infinite Scrolling

celerity
2pts0
intoli.com 8y ago

Saving Images from a Headless Browser

celerity
2pts0
github.com 8y ago

Burnside – Fast and Reliable E2E Web Testing with Only JavaScript

celerity
1pts0
blog.jetbrains.com 8y ago

Towards a more powerful and simpler C++ with Herb Sutter

celerity
73pts61
intoli.com 8y ago

A Brief Tour of Grouping and Aggregating in Pandas

celerity
2pts0
medium.com 8y ago

Writing a retro 3D FPS engine from scratch

celerity
1pts0
github.com 8y ago

Basically, Full-stack GraphQL

celerity
1pts0
medium.com 8y ago

Why we choose Godot Engine

celerity
2pts0
abidlabs.github.io 8y ago

3 Ways to Remove Noise from Data/Signal

celerity
4pts0
medium.com 8y ago

Thinking in TypeScript

celerity
1pts0
www.readvisions.com 8y ago

Notes on Reviving Marvin

celerity
5pts0
blog.hichroma.com 8y ago

Introducing Chromatic – automatic UI testing for React components

celerity
1pts0
hackernoon.com 8y ago

Experimenting with Small Buffer Optimization for C++ Lambdas

celerity
4pts0
www.emptywheel.net 8y ago

Software is a Long Con

celerity
6pts4
jmduke.com 8y ago

How I cut my Webpack bundle size in half

celerity
24pts3
theartofmachinery.com 8y ago

Busywork

celerity
1pts0
gracicot.github.io 8y ago

Concept-Model Idiom Part One: A new look at polymorphism

celerity
1pts0
vanhavel.github.io 8y ago

Recognizing Game Genres from Screenshots Using CNNs

celerity
1pts0
csswizardry.com 8y ago

Performance and Resilience: Stress-Testing Third Parties

celerity
2pts0
intoli.com 8y ago

How are PCA and SVD related?

celerity
139pts15
intoli.com 8y ago

Scraping User-Submitted Reviews from the Steam Store

celerity
1pts0
hackernoon.com 8y ago

PICO-8 Fictional Console Lighting

celerity
1pts0
intoli.com 8y ago

Understanding Neural Network Weight Initialization

celerity
1pts0
intoli.com 9y ago

Running Selenium with Headless Firefox

celerity
1pts1

The plugin actually does support spaced repetition, but only an "exponential" algorithm. That is, you have to manually choose whether to multiply the current repetition period with 0.5, 1, 1.5 or 2.

This "exponential" repetition it's not as optimized as the kinds of algorithms you're describing, but I find it good enough and it comes with a few distinct advantages:

1) Spaced repetition algorithms are hard to get right with two buttons like remembered/forgot. Anki for example added more buttons (easy/normal/hard/forgot or something like that), but I could never really intuit what would happen if I clicked any of them. Having 4 explicit choices makes it easy to understand what will happen, and also lets you "manually" push back notes on axes like "how much do I still care about this" and not just "how well do I remember this".

2) I really wanted to keep the metadata fields stored in the note and easy for a human to edit and understand. Right now, you only need `repeat: spaced every N days` (and similar) and the plugin adds a `due_at` field that has an easy to read ISO timestamp. You can also add `hidden: true` but don't have to.

Hey, this is exactly why I made obsidian-repeat-plugin [1]. The goal was to have most of my notes surface every now and then, which removes the need for me to do any digging at all.

With that said, my non-repeating notes are far from "dead". First, I have a lot of useful self-made references. Second, Obsidian really makes it easy to spontaneously group tags with its backlink system. Every now and then, I go down a rabbit hole and catch up to notes that would otherwise be dead. I only have to maintain a few "entry points" that mostly have other notes linking to them.

[1] https://github.com/prncc/obsidian-repeat-plugin

From the article here it looks like people will stay on payroll until early 2023. They won't work but have to abide by Twitter's internal agreements.

Does anyone know if part of these agreements includes not seeking other employment (a typical clause these days)?

Nice! We built something like this 3 years ago while I was still at Intoli. Instead of Puppeteer we used our own Web Extensions API based framework called Remote Browser [1], the core of which was written by my cofounder.

The tour is still up at [2]. The servers that actually run the Remote Browser have since gone down, but interestingly you can still run the tour. That's because if you don't change the code in the REPL window, you get cached results (except step 7/7 which scrapes Hacker News and won't work). To get those results, we built a little tour "recorder" that would be run on every release. If I remember correctly, we allowed some dynamic ES6 imports through a custom Babel compiler for the code that's input, which also allows first level async stuff, which still works :)

[1] https://github.com/intoli/remote-browser [2]: https://intoli.com/tour/

A few aphorisms about Voja Antonić:

1. He was involved as a skeptic and wrote a well-received (among my friends at least) book debunking psychics and various kinds of nonsense. As a teenage boy in Serbia (in the late 90s?), I asked him to translate a portion of the book to English and put the translation on my website. He graciously allowed me to do so. Part of why I wanted to go through that massive effort was to convince an English-speaking girlfriend (whom I've met online!) that astrology is nonsense. You could say that relationship did not last long.

The book is now available as a free PDF on his website. [1] I don't know what happened to my website.

2. He moved to the US at 65 to work SV, and had some emotional things to say about the move. [2] It stuck with me.

(Both links are in Serbian.)

[1] http://www.voja.rs/dpdl.htm

[2] https://noizz.rs/intervju/voja-antonic-za-noizz-o-odlasku-u-...

I wonder if the Wayback Machine people are using a (potentially more modern) version of the AOPIC algorithm to decide what to archive. I wrote an article about that algorithm (which is similar to the original PageRank, but simpler IMO), and stated that a service "like the Wayback Machine would probably use something like AOPIC." It would be nice to remove that first like from the sentence!

[1] https://intoli.com/blog/aopic-algorithm/

Lobotomizing Gnome 8 years ago

A lot of the comments here are arguing for or against the author's specific choices, but I would like to point out how great it is that Linux desktop environments are this customizable in the first place.

I recently switched back to Linux after using a Mac for a couple of years, and was blown away with how far Gnome has gotten in terms of customizability -- even if most of it is done through extensions. Moreover, if you can't tweak it to your liking, perhaps xfce or i3 or KDE will prove more accommodating...

The article doesn't mention it explicitly, but this is a nice example of how using Bayes theorem helps you ignore the hard-to-compute normalization term of the input space. In the article, this is the P(w) term of

P(c|w) = P(c)P(w|c)/P(w),

where c is a correction, and w is the original word.

The author does implicitly talk about this when he explains that P(c|w) conflates the two factors, but it's also not that hard to see that getting a handle on P(w) -- the probability space of misspellings -- is harder than getting a hold of P(c) -- the probability space of actual words, and Bayes lets us get rid of the former during optimization.

Selenium is just a tool built on top of the WebDriver API. One of its main disadvantages is needing to run a complicated proxy program (like geckodriver, ChromeDriver, etc.) built individually for each browser in order to drive your instance. As a result, users sometimes suffer from hard to debug edge cases and other pain points.

They also make interacting with JavaScript on the page a bit painful. For example, injecting JavaScript into the browser with Selenium can be quite an ordeal [1], so you're somewhat limited in what you can do by what Selenium's developers decided to focus on. It also complicates deployments by adding another moving part to the overall equation.

In contrast, the Web Extension API is now part of all major browsers, and makes interacting with different page contexts effortless. To give a sense of the project, we wrote an interactive tour of Remote Browser which runs browser instances on our backend.

[1] https://intoli.com/blog/javascript-injection/

[2] https://intoli.com/tour/1

It's been mentioned elsewhere in this thread, but Exodus is really great for this use case. You can just run

  exodus htop | ssh my-server-name
and your local machine's copy of htop will be installed in your home directory on the remote machine (along with all of the dependencies).

I actually touch on the relation to whitening toward the bottom of the article. You can whiten your dataset from the left singular matrix U which is directly related to PCs. Thanks for reading!

Thanks! That was guess as well, since running the command you posted from cmd does work. I dug around selenium's source code a bit, but decided to take the pragmatic path and use the MOZ_HEADLESS environment variable instead.

It's funny that New Vegas stands out from the lot; turns out it had some of the original Interplay/Black Isle people working on it. I learned this from a Tyranny AMA on Reddit...

Is anybody else deeply disappointed by the camera bulge? If you use the tablet on a tabletop, that basically forces you to buy a ~$100 case that adds unnecessary thickness and weight to the tablet. Cheap move, IMO.

I first heard this performed on a podcast called, "The Truth: Movies for Your Ears." Very good podcast for dramatic stories, sometimes artsy like this one.

Surface Pro 3 12 years ago

I have a 4s. While iOS 7 is laggier than iOS 6 when doing things like switching apps using a home key double tap etc., it is a much faster interface. That is, there might be (not too heavy) laginess for a small set of tasks, but iOS 7 unlike iOS 6 can keep up with my natural speed for doing things much better.

Publishing on Amazon is currently quite horrible, so I am sorry to say that if you use history as a guide, then you are in bad luck. For example, current publishers get less money if they use bigger data. The result is blurry pictures on hi-res screens. Awful policy.

Thank you! Ubuntu One is a buggy, laggy mess and frankly an embarrassment to Canonical. What would be neat is if they made a GUI for BTSync, and sold pre-configured hard drive space for it!

Well, running the old LucasArts adventures would be easy with ScummVM integrated, but I wonder if they can secure the rights. A promising sign is that Tim Schafer (made a lot of the early adventures) recently went to LucasArts on a mysterious mission (perhaps just a tour!).

You're correct. It's not ONLY good for consumption, it's just a low-fidelity, low-bandwidth input device. Touch does have the advantage of feeling natural, so that probably lends itself to a better input device in specific scenarios. Still, I can't help but pine for a future iPad on which I can use a pen. Whoa!

This is simply a great example of using the wrong tool for the job. No matter how "smooth" an iOS LaTeX tool is, it's still much less efficient than any computer. People are trying to force things into the iPad, which I understand, but I sincerely think that a radical change is needed to make it more than a consumption device.

Pencil 13 years ago

I like the whole idea of well-crafted products, but in the end this is nothing but a crappy, laggy, low fidelity finger-simulator/crayon. Writing any text with it is probably clumsy, and certainly impossible to do as well as with any other pencil on paper.

Pass. Apple needs to get out something with a proper active digitizer so that all these satellite companies start making nice pens that also work well.