News for hackers. Stuff that matters.

posobin

Re:Ask HN: What Are You Working On? (February 2025) on Monday February 24, 2025 @11:55AM (#43161785)
I'm working on SPHNX, a voice-based AI coding interviewer. While problem solving is crucial for passing interviews, in a live interview you are also getting tested for your communication, debugging, thinking on the spot, testing, code clarity, and other skills. You can't practice these on leetcode, but it's easy with SPHNX. I've just added rich feedback reports last week that turned out more helpful than I expected.

Right now it works as a mock interviewer for algorithmic (leetcode-style) problems, you can sign up for the waitlist here, I'll send you an invite right after:

https://sphnx.dev

It actually works pretty well, but we're having trouble getting users (some sign up but don't end up doing even a single interview?!).

We're thinking whether we could sell a version of this to companies to do their technical screens in, perhaps with problems that are more similar to the actual software engineering work (e.g. debug existing piece of code, write tests, and extend it).

We're generous with interview credits if you give us good feedback =)

Re:Notion about their usage of WASM SQLite on Friday July 19, 2024 @10:28AM (#41006926)
I work at Coda and would love to hear more about your experience. We are focused on our tables and formulas and I am surprised to hear that you had such a bad time with them. Feel free to reach out at gleb at coda dot io.
The main thing is that the extension would still have to be able to run its JS on any page to be able to show the interactive sidebar. Not sure there is a way around that, unless chrome decides to implement the sidebar api that firefox has (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...), then the sidebar code doesn't have to run in the same context as the page.
Yeah, I will write it down on the website. As I mentioned below (https://news.ycombinator.com/item?id=28700703), I do not store the URLs that you go to (though of course you have to trust me on that), and as all the processing is done on the server, that URL doesn't get sent to any external APIs (though if I go through with adding reddit I might need to send it to the reddit API).

I do collect some telemetry statistics (right now the number of times you have seen the sidebar + the number of times you clicked/scrolled/closed it), aggregated hourly.

To use it as a button, you can try the bookmarklet: https://ampie.app/url-context

Would love to hear about your experience if you do use it!

You can use it as a bookmarklet instead if you go to https://ampie.app/url-context!
Thanks! My intent definitely was to make it a little bit chaotic =) I will try to figure out how to make it a bit easier to follow, heard some advice to space it out a bit possibly.
Actually, ampie also has a bookmarklet that you can add at https://ampie.app/url-context!

But as I said elsewhere, in my experience I rarely use it myself since that requires a bit of effort to click and with an unknown reward it rarely seems worth the click.

You need to sign up to prevent the api abuse.

Thanks for the feedback, disabling twitter is in the plans! Which dark mode extensions are you using?

Ampie is written in clojurescript as well! https://github.com/posobin/ampie

I have actually seen your extension when I was trying to figure out how to get started with making one in cljs. I've used shadow-cljs though instead of figwheel.

What kind of controls/customizations would you like?
Yeah after reading all the comments like this I thought maybe I should just take the top 1000 most popular websites and not show it by default on them.
For ampie you can just get its source, modify the manifest file, and build it yourself, no need to bother with repackaging: https://github.com/posobin/ampie

You can see the actual permissions that ampie needs here: https://github.com/posobin/ampie/blob/master/build/manifest....

webNavigation together with tabs is needed to detect page URL changes correctly and update the sidebar (I don't remember exactly, but I think the main problem were pages that use history api to update the URL), storage is for localStorage to store extension settings, cookies to read/change cookies (limited to "https://ampie.s3.amazonaws.com/", "https://hacker-news.firebaseio.com/", "https://*.ampie.app/", to be able to get your auth token for ampie not to log in twice), unlimitedStorage was used previously because the caches of links stored were much more than the 5mb that is the default indexedDB limit. The caches are not used anymore, but I kept the permission so far because I am thinking of adding functionality for storing and visualizing your browsing history.

I am not sure what you would want to disable here.

If an extension includes content script that runs on all websites, then it can't avoid having the "read and change all your data on all websites": content script is JS code from an extension that runs on web pages, it can access the DOM and send requests. Ampie needs to run the content script on all pages to be able to add the sidebar. The other option is to run the content script on clicking the extension icon: as I mentioned elsewhere, while this approach might sound appealing in theory, the extension turns out to be much less useful this way as you simply forget/don't bother to click it and miss out on some interesting discussions.

As I said in email, you only see the sidebar two times per domain (unless there are mentions of the particular URL you are on, then two times on that URL). You can also disable ampie on a domain completely by going into settings: click on the ampie icon in the extension toolbar, and you can add blocked domains there. URLs from those domains won't get sent to the server to be checked, and the sidebar won't pop up.

Thank you for trying it out and sharing feedback!

Yes, I will add that, great point!
It pops up the first two times you go to a domain or a URL that has mentions, so it should stop bothering you after a little bit of usage. I do hear you though, several people brought this up. The problem with making it a button is that people forget to click it (me included), and most of the interesting connections go unnoticed this way. If you have ideas how to make this better, please tell me!
Sorry, what do you mean by "those"? Add comment threads to ampie, or integrate comments from other services into ampie?
Actually Ampie used to work differently: Ampie would store the local cache of links from your twitter feed and links submitted to HN, and check against it when you went to any web page. If there were hits, it would show a small tab in the bottom right corner, showing that there are N tweets, M HN submissions with this page. Then you could click on the tab and the sidebar would pop up, so no requests were sent until you actually clicked on the tab.

There are two problems with this: first, the cache had to be large, several hundreds of megabytes, because there are a lot of links (~200k from HN, and each person I follow on average tweeted 1k links among the last 3k tweets that twitter lets me access) and indexeddb is not memory-efficient. Second, this is easy to miss, and those numbers alone don't give enough information to go through the effort of clicking there every time. And this doesn't include the backlinks and HN comments mentions (fun fact: there are about 4m URLs mentioned in HN comments), so you'd miss out on a lot of stuff. You could suggest Bloom filters as caches, but that is a bad solution since now you only can show if there is a hit or not (instead of two numbers), but also there are false positives so the sidebar is not reliable anymore, and given that you go to hundreds of URLs a day, the FP rate has to be really low which makes the cache really large. Maybe using something like https://jlongster.com/future-sql-web would have reduced the memory usage, but at that point I gave up on that approach already.

Given how technically hard it was to maintain those caches of links (they had to be updated incrementally, for example, not to send hundreds of MB every time they were recomputed, you had to wait to download the cache after installing ampie), the fact that most of the friends I have talked to didn't mind if the request was sent on every URL visit (as long as I promised not to save it), and the fact that this made the sidebar less fun, I decided to remove those caches and just send the URL to the server on every visit.

So yes, every URL you go to is sent to the ampie server, but I do not save the URLs sent to the server, and if ampie is disabled on a domain (you can disable it on a domain in the settings), it will not request information about pages on that domain at all.

Thank you for the kind words! Yeah, I haven't thought about a no-sign-up version, might do something like that.
IIUC the content scripts that extensions use load after the page is loaded, so this shouldn't affect page load times. But please reach out if you feel like it does!
You actually can amplify the page and add a comment! Other ampie users will see that you've been there and the comment, and you can see the list of amplified links of other people, e.g. mine: https://ampie.app/posobin Though you can't respond to others comments for now, but thank you for voicing the interest in that!

There are other extensions that provide just the commenting part (e.g. https://web.hypothes.is/, https://curius.app/, https://glasp.co/), but I find that they suffer from the cold start problem, i.e. it's rare to stumble upon comments for a page you go to.

Ok yeah that's just the indexing. I am using the bigquery HN dump to index, but using their free quota I can go through the archive only ~once a week. Ideally ampie would just go through the new submissions regularly using the HN api, but I haven't built that yet.
Sorry about that =( This is done in part to prevent abuse of the api, since all the requests are processed on my server and not offloaded to e.g. algolia.
Yeah there is some lag in the indexing, I do scrape all the HN submissions but like once a week (it's in plans to make this immediate but haven't gotten around to it yet). Just to make sure, if you go to one of those other pages on the same domain, do you see the the HN threads/comments in the sidebar on that page?
That is needed to see the tweets mentioning the page, but it is not required to use Ampie. This is done because twitter api is very limiting otherwise.
Hi HN! Ampie is an extension that lets you discover backlinks to the page you are reading: either from HN, tweets, or blog posts that ampie scraped. It's been unexpectedly useful for myself: finding alternatives to libraries or apps I was going to use, see reviews for books, discover related blog posts or talks. I think of it as an assistant that helps you find connections you wouldn't have found otherwise.

Here is a 2min demo video of what it can do right now: https://twitter.com/posobin/status/1443269542323658753

I've been working on it for the past 1.5 years now, and there have been a bunch of features over that time, but now I am trying to simplify it and see if people like it if it is condensed to its essence. Give it a try and tell me what you think =)

Previous discussions:

2018, 87 comments: https://news.ycombinator.com/item?id=18230383

2016, 12 comments: https://news.ycombinator.com/item?id=11116211

2014, 37 comments: https://news.ycombinator.com/item?id=7174513

2011, 30 comments: https://news.ycombinator.com/item?id=2428403

This link has also appeared in 9 comments on HN, featuring threads on "Computer Architecture for Network Engineers", "X86 versus other architectures" by Linus Torvalds, and "I don't know how CPUs work so I simulated one in code", also recommending a udacity course on how modern processors work (https://www.udacity.com/course/high-performance-computer-arc...): https://ampie.app/url-context?url=lighterra.com/papers/moder...

Jason also has a couple of other interesting articles on his website, like intro to instruction scheduling and software pipelining (http://www.lighterra.com/papers/basicinstructionscheduling/) and the one I liked a lot and agree with called "exception handling considered harmful" (http://www.lighterra.com/papers/exceptionsharmful/).

Re:Plant UML – Open-source UML Tool on Thursday April 29, 2021 @12:14AM (#26977397)
There are 58 prior HN comments with plantuml.com, mostly in various discussions of diagramming tools, but not only that: https://ampie.app/url-context?url=plantuml.com And a bunch of pages on the same domain have also been mentioned in HN comments.

There was also a thread about Plant UML in 2019 with 48 comments: https://news.ycombinator.com/item?id=21426793

Re:Symbolics Lisp Machine demo (2013) [video] on Tuesday April 27, 2021 @06:03PM (#26962330)
There are 30(!) comments on HN linking to this video, including discussions of Bret Victor's "Learnable programming", using Lisp in production from last year, comparisons with Smalltalk, a thread with examples of beautiful software, and more: https://ampie.app/url-context?url=https://www.youtube.com/wa...

Older »