HN user

peter_l_downs

3,239 karma

https://peterdowns.com

Always happy to meet a stranger, please reach out any time: hn @ peterdowns.com

[ my public key: https://keybase.io/peterldowns; my proof: https://keybase.io/peterldowns/sigs/9N-85LOZH1eJMXHLR70WroivxJB1is_s3ye5IT5xzxs ]

Posts69
Comments719
View on HN
www.skeema.io 2y ago

Five Surprises in MySQL 8.4 LTS

peter_l_downs
4pts0
github.com 2y ago

GitHub Community Forum is filled with spam

peter_l_downs
4pts2
newsroom.loc.gov 2y ago

Copyright Office Issues Notice of Inquiry on Copyright and AI

peter_l_downs
1pts0
techowlpa.org 2y ago

Catalog of 3D-printable Assistive Technology Devices

peter_l_downs
1pts1
github.com 3y ago

Show HN: Testy, a better Golang testing library

peter_l_downs
2pts0
github.com 3y ago

Show HN: nix-search-cli: find Nix packages from the CLI

peter_l_downs
1pts0
techcrunch.com 5y ago

Pipe raises 250m at a 2b valuation

peter_l_downs
2pts0
news.ycombinator.com 5y ago

Ask HN: What do you use to write/share/search/organize engineering docs?

peter_l_downs
4pts1
github.com 5y ago

Craigstarter: DIY Replacement for Kickstarter

peter_l_downs
163pts35
optout.aboutads.info 7y ago

WebChoices: Digital Advertising Alliance's Consumer Choice Tool for Web US

peter_l_downs
1pts1
medium.com 9y ago

Magpie: Changing the Way We Shop Online

peter_l_downs
2pts0
github.com 9y ago

iTerm2 Finder Tools: Open iTerm2 from the Finder

peter_l_downs
2pts2
peterdowns.com 10y ago

Breaking the NY State Tax Return Captcha with Python and Tesseract

peter_l_downs
1pts0
www.dmoz.org 11y ago

Dmoz – The Open Directory Project

peter_l_downs
30pts22
www.dmoz.org 11y ago

Dmoz – The Open Directory Project

peter_l_downs
1pts0
www.reuters.com 11y ago

Russian rouble suffers steepest drop in 16 years

peter_l_downs
2pts0
blog.locu.com 12y ago

DJOAuth2: An OAuth 2.0 Server Implementation for Django

peter_l_downs
8pts4
peterdowns.com 12y ago

Gap Years, Part 1 (a young person's startup story)

peter_l_downs
2pts0
boss.blogs.nytimes.com 12y ago

A Small Business Owner Figures Out How to Save on His Health Insurance

peter_l_downs
13pts2
boss.blogs.nytimes.com 12y ago

A Small Business Starts to Navigate the Affordable Care Act

peter_l_downs
2pts0
peterdowns.com 12y ago

What does it mean to grow up?

peter_l_downs
2pts2
www.bookshrink.com 12y ago

"I Have A Dream"

peter_l_downs
1pts0
en.wikipedia.org 12y ago

Common Heritage of Mankind

peter_l_downs
3pts0
www.nytimes.com 13y ago

The New York Times is Down

peter_l_downs
14pts3
boss.blogs.nytimes.com 13y ago

Hire Recent Graduates, Or Their Parents?

peter_l_downs
1pts0
boss.blogs.nytimes.com 13y ago

How Coursera Helped A Small Business Owner

peter_l_downs
1pts0
www.ams.org 13y ago

Solving Nim, a mísere game

peter_l_downs
2pts1
colinaarts.com 13y ago

The magic of "overflow: hidden;"

peter_l_downs
3pts0
blog.sanctum.geek.nz 13y ago

Advanced Vim Macros

peter_l_downs
2pts0
wwikt-peterldowns.dotcloud.com 13y ago

Show HN: Who Will I Know There?

peter_l_downs
2pts3

I ended up working for 2 years before I went to school, and it made a lot of things easier. When I graduated I was very certain that I wanted to go back to industry rather than go to academia. Definitely different jobs and skillsets.

By the way, you've left the notiz.dev LICENSE file in your server code, probably you want to remove that.

https://github.com/tegonhq/tegon/blob/158b54af8d6f7cf4195c61...

Separately, there seems to be a ton of unused or broken or dead code sprinkled throughout — for instance, in the auth code, I can't tell if you're doing basic email/password auth or using Supertokens and a third-party login via Google. You have code for both and some routes seem dead or missing.

https://github.com/tegonhq/tegon/blob/158b54af8d6f7cf4195c61...

Also, I mentioned the lack of documentation for how to run Tegon locally because your docs are entirely insufficient. The main docs page is just a README template. https://github.com/tegonhq/tegon/tree/main/docs

The quickstart guide has a broken link to instructions on how to self-host https://github.com/tegonhq/tegon/blob/main/docs/quickstart.m...

The oss/local-setup guide is entirely empty https://github.com/tegonhq/tegon/blob/main/docs/oss/local-se...

The oss/deploy-tegon guide does not explain anything and the script it references seems out of date https://github.com/tegonhq/tegon/blob/main/docs/oss/deploy-t...

I'm done looking at this project. I strongly recommend hiring the best engineer you can find as quickly as you can.

Makes sense, thanks for answering.

Aside — the architecture diagrams on https://xeiaso.net/blog/xesite-v4/ are not displaying in-browser for me, but do transfer correctly and are viewable on my computer. Maybe another mime issue, as the network inspector shows them being transferred with type "octet-stream"?

Repro by visiting the URL in latest Firefox, Safari, or Chrome.

Maybe I missed it, but why are you embedding a zipfile of gzip streams rather than just embedding the static site's files with an `embed.FS` and serving from that?

I think a lot of new entrants to previously-well-explored spaces tend to label themselves as "modern" in order to signify that there is something new about their approach.

For instance, I have a migrations library that I descibre as "modern" because it is designed for a continuous deployment environment where you're automatically running migrations on container startup — there are tons of existing popular migrations libraries, but none of them work this way because they were written in the era that you'd manually run sql commands in prod. I say "modern" so that if anyone finds my library, they realize that it was created recently based on more recent dev/ops trends.

Maybe I should drop the "modern"? I do see a lot of people describe their code as "minimal" or "clean", which is pretty meaningless to me, so I get that "modern" could come across that way as well.

Maybe. Frankly this is a very impressive outcome that is attributable both to the Father's business and management practices, as well as the Son's business and management practices. No matter how good you are at running a web business, if you inherit a totally fucked business with poor practices, very unlikely you could engineer this outcome.

My condolences to the OP and I was happy to read such a well-written article describing a fantastic outcome for his father's company.

Enforce squash merging to main and move on with your life. Linear history on main, individual contributors can rebase and merge or format-patch or do whatever they want on their PR branches and it doesn’t matter. There are zero downsides to this approach.

Cyber Scarecrow 2 years ago

One more thing you could do is put the real name of any human being with any track record of professionalism, anywhere on the website. Currently you're:

- commenting under a pseudonymous profile

- asking for emails by saying "please email me. contact at cyberscarecrow.com"

- describing yourself in your FAQ entry for "Who are you?" by writing "We are cyber security researchers, living in the UK. We built cyber scarecrow to run on our own computers and decided to share it for others to use it too."

I frequently use pseudonymous profiles for various things but they are NOT a good way to establish trust.

Shoot, this is a good reminder that I need to update my zine's mailing list. I'll be switching to Buttondown, definitely the spiritual successor!

Has anyone here used this, or anything similar? This sounds phenomenal if it really works. Looks like “contact us” is the only way to try it or buy it right now, and the purported benefit (memorize facts up to the model training size, basically trillions of tokens of facts) is wild. I’d love to try a system running this way to understand the failure modes, like for instance how does it reliably infer which “facts” to use?

I have immense respect for the OP for writing up the story, and even more so for giving this preface. It's really useful to know what mistakes other people make, but can be quite embarrassing to tell others about mistakes you've made. Thanks, OP.

JVector, the library that powers DataStax Astra vector search, now supports indexing larger-than-memory datasets by performing construction-related searches with compressed vectors. This means that the edge lists need to fit in memory, but the uncompressed vectors do not, which gives us enough headroom to index Wikipedia-en on a laptop.

It's interesting to note that JVector accomplishes this differently than how DiskANN described doing it. My understanding (based on the links below, but I didn't read the full diff in #244) is that JVector will incrementally compress the vectors it is using to construct the index; whereas DiskANN described partitioning the vectors into subsets small enough that indexes can be built in-memory using uncompressed vectors, building those indexes independently, and then merging the results into one larger index.

OP, have you done any quality comparisons between an index built with JVector using the PQ approach (small RAM machine) vs. an index built with JVector using the raw vectors during construction (big RAM machine)? I'd be curious to understand what this technique's impact is on the final search results.

I'd also be interested to know if any other vector stores support building indexes in limited memory using the partition-then-merge approach described by DiskANN.

Finally, it's been a while since I looked at this stuff, so if I mis-wrote or mis-understood please correct me!

- DiskANN: https://dl.acm.org/doi/10.5555/3454287.3455520

- Anisotropic Vector Quantization (PQ Compression): https://arxiv.org/abs/1908.10396

- JVector/#168: How to support building larger-than-memory indexes https://github.com/jbellis/jvector/issues/168

- JVector/#244: Build indexes using compressed vectors https://github.com/jbellis/jvector/pull/244

Strongly recommend updating your website to lead with some variation of "This is an offline iPhone app to help you calibrate your turntable's speed, all you need to do is play your records and the app will show you the current RPM" — wayyyyyyy too many words and other nonsense before I could figure out this is what it did.

Embed the demo video (the tweet you linked) too!

Looks great and if I still used records I would try it out! Congratulations on the launch.

EDIT: keep the rest of the writing if you'd like, I have no objection to it and I thought it was funny. But lead with what the app is and what it does!

Looks cool. A few thoughts:

- Why? Strongly suggest updating the README to explain why this is useful, or what kind of workflow makes this useful. Just a list of features isn't that compelling to me because I'm not sure I want it.

- Because this is a gh cli extension, and not a standalone program, searching is unfortunately going to be fairly slow. There doesn't seem to be any local caching or syncing of the Github data.

- Not really a user-impacting issue, just a fun fact: because the pagination is handled via Graphql's PageInfo support in their Graphql API, you'll never be able to page through more than 1000 results in a given response.

- Authors might consider linking to https://docs.github.com/en/search-github/searching-on-github in the README, it makes figuring out how to write a custom search a lot easier.

- I'm happy to see XDG_CONFIG_HOME support, but the authors should consider also checking for a config file in $RepoRoot/.config/gh-dash/ and $RepoRoot/.gh-dash/, so that a single config could be more easily shared by members of a team who all check out the same repository.

I'm working on something like this (customizable filter views for Github; quickly drill down into PRs by different authors, affecting different files, across multiple repos, filtered by regex search on the changed files / pr body / pr title / pr comments) but based in the browser, not a TUI. The primary goal of my project is to help engineering leaders understand what is actually getting shipped, and communicate that to other non-technical leaders. If anyone is interested in being a beta tester let me know, I'm hoping to have a release publicly available at the end of this week!

Yeah this is what I do to. The OP's approach is interesting but I think that using typescript/javascript/whatever to build your app, then "render" using a build step (like `vite build` or whatever) and embedding the resulting static bundles is the best of both worlds.

That said, the JS ecosystem is so weird that I totally understand the urge to bail entirely and do things in Go. But JS/TS and all the related frameworks really are decent if you pick a reasonable subset of them.