HN user

freedmand

234 karma
Posts23
Comments41
View on HN
www.nytimes.com 11mo ago

The Day ChatGPT Went Cold

freedmand
4pts2
www.nytimes.com 11mo ago

The Chatbot Updated. Users Lost a Friend

freedmand
2pts0
www.nytimes.com 11mo ago

Chatbots can go into a delusional spiral. Here’s how it happens.

freedmand
2pts1
github.com 2y ago

Show HN: Library to visualize and inspect PyTorch models

freedmand
4pts2
github.com 2y ago

Show HN: Semantra – local, private semantic search engine for your files

freedmand
4pts1
github.com 3y ago

Gpt4free repo given takedown notice by OpenAI

freedmand
279pts238
github.com 3y ago

Show HN: Semantra – a multi-tool for semantic search

freedmand
4pts1
washpost.engineering 3y ago

How The Washington Post verified its journalists on Mastodon

freedmand
4pts2
github.com 3y ago

Show HN: Textra – extract text from images, PDFs, and audio (Mac CLI tool)

freedmand
1pts1
github.com 5y ago

Show HN: Blink – a Mac app that promotes blinking by fading the screen to black

freedmand
1pts0
www.dcrainmaker.com 5y ago

Zwift Bans Another Pro, This Time with History of Data Tampering

freedmand
1pts0
observablehq.com 5y ago

Show HN: A Brief Primer on Pretty Printing

freedmand
1pts0
infiniteterrain.netlify.app 5y ago

Show HN: Explorable infinite terrain in WebGL (12kb)

freedmand
2pts2
github.com 6y ago

Show HN: blm.js — add a footer to any site supporting Black Lives Matter

freedmand
1pts0
covid19map.us 6y ago

Show HN: Richly interactive map of COVID-19 cases by US county

freedmand
3pts9
github.com 6y ago

GPT-2's modified MIT License

freedmand
3pts0
xd.saul.pw 6y ago

Comparison of 75187 published crossword grids

freedmand
1pts0
github.com 7y ago

Hext: Language for extracting structured data from HTML documents

freedmand
2pts0
github.com 7y ago

Show HN: Distinguish – a simple way to minify and disambiguate CSS classes

freedmand
3pts2
gist.github.com 7y ago

Show HN: JavaScript unit testing in under 30 lines

freedmand
15pts2
www.danklearning.com 7y ago

Show HN: Dank Learning – mobile app to make memes with AI

freedmand
9pts1
newyearstimer.com 8y ago

Play songs/videos synced so that an event occurs exactly at the new year

freedmand
2pts0
en.dictiome.com 9y ago

Dictiome: A pronunciation dictionary with YouTube clips of each word in context

freedmand
1pts0

Do you think that there are security or data exfiltration risks with their approach, e.g. putting classified documents/emails into private company's LLMs to summarize information or identify certain ideological motivations? I don't see how they could begin to understand the scope of what they're working with without A.I. assistance.

If you play ten note chords — one for each finger — in quick succession, that can rack up a lot of inserts in short time period (say, medium-worst case, 100Hz, for playing a chord like that five times per second, counting both “on” and “off” events).

It’s also worth taking into consideration damper pedal velocity changes. When you go from “off” (velocity 0) to fully “on” and depressed (velocity 127), a lot of intermediate values will get fired off at high frequency.

Ultimately though you are right; it’s not enough frequency of information to overload SQLite (or a file system), probably by several orders of magnitude.

I recently had the idea to record every note coming out of my digital piano in real-time. That way if I come up with a good idea when noodling around I don’t have to hope I can remember it later.

I was debating what storage layer to use and decided to try SQLite because of its speed claims — essentially a single table where each row is a MIDI event from the piano (note on, note off, control pedal, velocity, timestamp). No transactions, just raw inserts on every possible event. It so far has worked beautifully: it’s performant AND I can do fun analysis later on, e.g. to see what keys I hit more than others or what my average note velocity is.

Agreed. Tesseract is not able to handle handwriting or text that is distorted well, e.g. colored text over an image background — to the point that it would hurt any downstream LLM trying to make sense of the contents. It won’t even pick out bounding boxes.

I doubt they are running an OCR model, but if they actually were it would likely be an in-house one trained with more modern techniques.

I wonder how people’s learning habits will change with AI tools like GitHub Copilot. I used it for several months but randomly got logged out and am now finding myself valuing the slight inconvenience of looking up official documentation (and surprised how much more sluggish I felt for the first week).

Going through extra steps to learn something through primary sources and valuing being uncomfortable at times are important for my evolution as a programmer.

Hi HN, I’m excited to present Semantra, a tool and search UI where you can easily embed/query your own documents semantically (by meaning). Semantic embedding models are lightweight and can run on consumer grade CPUs. This project provides an embedding engine and human-in-the-loop web interface where you can run and iteratively refine queries. The project intentionally tries to make this interface as expressive and intuitive as possible without the use of any generative text models like ChatGPT. This makes the tool private, secure, and fast!

The tool is currently a Python CLI you pass files (text/PDF documents) into and it embeds them and launches a web UI. Embeddings are saved by file hash so files are only processed once and subsequent calls are instant. For a future direction, I am working on a native desktop app rewrite in Flutter and porting the project to use entirely C API-compatible libraries (which is a fun challenge when so many existing frameworks depend on Python). This will ideally make the tool easy for anyone to download and install and even opens up the possibility of mobile ports.

I’m excited to hear any comments or feedback! I’d love to know how it meets your needs and/or what features would make your lives easier.

I don’t fully understand the fascination with retrieval augmented generation. The retrieval part is already really good and computationally inexpensive — why not just pass the semantic search results to the user in a pleasant interface and allow them to synthesize their own response? Reading a generated paragraph that obscures the full sourcing seems like a practice that’s been popularized to justify using the shiny new tech, but is the generated part what users actually want? (Not to mention there is no bulletproof way to prevent hallucinations, lies, and prompt injection even with retrieval context.)

I don't disagree with anything you said.

I'm saying more that if the compression algorithm is benchmarking against "Alice in Wonderland" and has consumed the entirety of "Alice in Wonderland" in training the LLM (along with popular paragraphs and sentences quoted elsewhere), then it might do particularly well at reciting lines from that book and thus be able to compress it extremely well. I'd be more interested in seeing the compression algorithm's performance on new or unreleased works that would have no way of being training data.

As an extreme hypothetical, I could make a compression algorithm that is a table mapping an ID to an entire book and fill it with all the popular works. "Alice in Wonderland" would be replaced with a single short identifier string and achieve a ~0.001% compression ratio. An unseen work would be replaced with an <unknown> ID followed by the entire work and be slightly bigger. Then, I benchmark only the popular works and show insanely impressive results!

I have no doubt the LLM compressor would do really well on unseen works based on what you said above, but it's not a fair look at its performance to run it on works it may have been explicitly trained on.

I have proof-of-concepted[1] building an entirely static website offering client-side semantic search using transformers.js[2] and Semantra*[3] with MiniLM-L12[4]. It's usable on fast connections and decent CPUs but is not delightfully fast and can't handle huge document loads. Still could be useful for some embedded documents! I hope to incorporate an auto-builder for these experiences in the next big release of Semantra.

[1] https://twitter.com/dylfreed/status/1651572024488218627

[2] https://xenova.github.io/transformers.js

[3] https://github.com/freedmand/semantra *(author of this tool)

[4] https://huggingface.co/sentence-transformers/all-MiniLM-L12-...

I’ve been doing something similar to control racing video games while biking on an indoor exercise bike. I convert pedal speed into brake and acceleration keys (there’s some middle amount of pedaling that’s neutral) with pynput. I used OpenCV for webcam input and MediaPipe’s models to convert lean angle into left and right keyboard presses, and head tilt into up and down. It’s really fun but the slight latency in recognizing my pose is tough for fast courses. Now I’m thinking about some Arduino with a sensor or low res IR camera or something else that could detect changes a lot quicker.

Ooh TIL about plug-ins like Scaler 2. I need to get more immersed in the DAW world.

It'd be cool to train text embeddings and musical chord embeddings (by analyzing song lyrics perhaps) and then build something to type in moods like "happy jaunty progression" and get a matching chord progression with a similar embedding (assuming you give it a large library of progressions). No generative AI would be needed :)

Yep. Using AI at all here feels like overkill. You could get interesting results just choosing random chords* in the key signature.

*speaking from experience. I built a web app at tapcompose.com (desktop only for now) that uses pure randomness for both chords and melody. Initially I used randomness for testing only and planned to substitute an AI model later — but I was delightfully satisfied with the results and kept it in

Hi everyone, I built Semantra over the past four weeks to showcase the power of semantic search and share the experience. I strived to make a general purpose tool so that others could easily spin up their own semantic search engines over their own content.

Semantra is a Python CLI that analyzes specified documents (text/pdf files), embeds them in chunks of text, and launches a local web server to interactively query them by semantic meaning. It is highly configurable and offers different embedding models, from Hugging Face transformers model (e.g. ones from SentenceTransformers) to OpenAI's embedding model (text-ada-embeddings-002).

The web app allows iteratively refining queries via tagging and adding/subtracting additional queries, allowing for very expressive and refined search experiences. It also presents "explanations" for search results by highlighting sub-regions within the results that most closely match the query.

Take it for a spin! `pipx install semantra`

---

Detailed instructions, tutorial, guide, and concept documentation at the repo: https://github.com/freedmand/semantra

Twitter thread with demo videos/content: https://twitter.com/dylfreed/status/1650268405881085952