Readit News logoReadit News
Fannon commented on Show HN: SVG Lined Tile Generator   adpreese.github.io/svg-li... · Posted by u/adpreese
Fannon · 2 months ago
Nice and simple, very responsive!

I did something similar a long time back, but not really focused on something that tiles up: https://svg-generator.netlify.app/

Fannon commented on I've largely replaced Google with ChatGPT for looking things up   twitter.com/paulg/status/... · Posted by u/nomilk
randycupertino · 4 months ago
I plugged in 5 books I've recently enjoyed and asked ChatGPT for some recommendations of similar books, and 2 out of 10 of the books it suggested did not exist. I googled the author, the book title, they were complete fakes. They sounded like they'd be good books though! When I told it they didn't exist it was like, "you're right, thank you for catching that!"
Fannon · 4 months ago
It would have replied the same if you claimed of existing books that they don't exist :)
Fannon commented on The “S” in MCP Stands for Security   elenacross7.medium.com/%E... · Posted by u/skilldeliver
neomantra · 5 months ago
I enjoyed reading your notes, thanks for sharing.

On "Zero reuse of existing API surfaces", I read this insightful Reddit comment on what an LLM-Tool API needs and why simply OpenAPI is not enough [1].

On "Too Many Options"... at the beginning of this week, I wrote an MCP server and carefully curated/coded a MCP Tool surface for it. By my fourth MCP server at the end of the week, I took a different approach and just gave a single "SQL query" endpoint but with tons of documentation about the table (so it didn't even need to introspect). So less coding, more prose. For the use case, it worked insanely well.

I also realized then that my MCP server was little more than a baked-in-data-plus-docs version of the generalized MotherDuck DuckDB MCP server [2]. I expect that the power will be in the context and custom prompts I can provide in my MCP server. Or the generalized MCP servers need to provide configs to give more context about the DBs you are accessing.

[1] https://www.reddit.com/r/mcp/comments/1jr8if3/comment/mlfqkl... [2] https://github.com/motherduckdb/mcp-server-motherduck

Fannon · 5 months ago
Thanks for posting the reddit comment, it nicely explains the line of thinking and the current adoption of MCP seems to confirm this.

Still, I think it should only be an option, not a necessity to create an MCP API around existing APIs. Sure, you can do REST APIs really badly and OpenAPI has a lot of issues in describing the API (for example, you can't even express the concept of references / relations within and across APIs!).

REST APIs also don't have to be generic CRUD, you could also follow the DDD idea of having actions and services, that are their own operation, potentially grouping calls together and having a clear "business semantics" that can be better understood by machines (and humans!).

My feeling is that MCP also tries to fix a few things, we should consider fixing with APIs in general - so at least good APIs can be used by LLMs without any indirections.

Fannon commented on Every line is a potential bug (2009)   teamten.com/lawrence/writ... · Posted by u/ingve
BinRoo · 6 months ago
Huge fan of minimizing Kolmogorov complexity [1]. There's a balance, but typically if the same behavior can be described in less code, then the simplicity will yield dividends.

[1] https://en.wikipedia.org/wiki/Kolmogorov_complexity

Fannon · 6 months ago
What bothers me is that some programmers think that writing the code more dense is already better. But I would argue it's not the characters / less lines of code which creates the complexity, but how many logical concepts (?) you utilize to solve the problem.

Using a smaller set of different concepts also helps reducing the cognitive load, even if it leads to more verbosity ("less clever code").

Fannon commented on Liskov Substitution: The real meaning of inheritance   cekrem.github.io/posts/li... · Posted by u/cekrem
Fannon · 7 months ago
Here to recommend this article, really helped me to understand inheritance better. Liskov Substitution is just one aspect / type of it and may conflict with others.

https://www.sicpers.info/2018/03/why-inheritance-never-made-...

Fannon commented on Frosted glass from games to the web   tyleo.com/html-glass.html... · Posted by u/tyleo
ninetyninenine · 9 months ago
False. The human brain and eye is built to recognize foreground and background and shift focus and attention based off of blur.

Thousands of years of adaptation has honed the brain and the eye to be optimized for this type of view much moreso then the simple UX you see here on HN.

Not only does the blurred/frosted glass background look better but it should be clearer because that's what we've been designed to do.

Fannon · 9 months ago
Yes, our brain is good at this - but it still takes some capacity in processing to do this. I guess the point is: if you have a simple, high-contrast background - your brain needs less capacity to process it.
Fannon commented on Show HN: I made a tiny device for automatically recording digital pianos   jamcorder.com/... · Posted by u/chipweinberger
cesaref · 10 months ago
I'm not sure why you need midi 2.0 to achieve this? Recording midi on windows is totally trivial, and for this sort of application, only capturing the notes and relevant CCs (e.g. pedals) is all you need.
Fannon · 10 months ago
Yes, it's not really MIDI 2.0 related, but with the update they will also add multi-client support for MIDI 1.0, so I can record and still use the MIDI input as input to a virtual instrument.

See announcement here: https://devblogs.microsoft.com/windows-music-dev/windows-mid...

Fannon commented on Show HN: I made a tiny device for automatically recording digital pianos   jamcorder.com/... · Posted by u/chipweinberger
Fannon · 10 months ago
Looks really great! If I had a standalone keyboard I'd be considering this!

Your project got me thinking - here's one idea: Windows should get MIDI 2.0 support soon, incl. non-blocking MIDI reading if I understood correctly. That should make it possible to create a small background application that records all incoming MIDI from all (or chosen) connected MIDI devices. It would work very much like your recorder and could share the same mobile app?

This I would be interested in. Since it's a software only solution, it could be cheaper and lower entry barrier.

Fannon commented on Show HN: I made a tiny device for automatically recording digital pianos   jamcorder.com/... · Posted by u/chipweinberger
porphyra · 10 months ago
Looks awesome, does it also record the pedal? Also I am worried that if it just records in MIDI, the output sound may be different from what I was hearing when playing unless I somehow have exactly the same sound banks as my digital piano.
Fannon · 10 months ago
The MIDI keyboards I know will always output the pedal as part of the overall MIDI out. The pedal is connected to the keyboard via jack cables - or do you have a pedal that has its own MIDI output?
Fannon commented on New better alterative to XML, JSON and YAML   xenondata.org... · Posted by u/GeneThomas
lifthrasiir · 10 months ago
Sorry, as who have already designed yet another JSON alternative. Many things about this format are just wrong (as of the first edition):

- (EDIT: Mistakenly read SHOULD as MUST, ignore this item please) The requirement for the mandatory BOM is unacceptable for most non-Windows users, as BOM is by definition invisible.

- An arbitrary name is equally questionable, even XML doesn't do that. Do you accept tabs for example?

- There is absolutely no way to indicate the data type. The document accidentally mixes the wire format and serialization protocol; never a good sign.

- Do you accept 3,000 or 3,,000 or 30,00 or 3,0,0,0 or ,,,3000 or 3000,,, or 3,e,3 or 0.000,3e7 or ,,,?

- How many digits in each group are recommended for the encoder?

- What on earth is "IEEE 64 bit double precision floating point numbers" in the context of textual format?

- Do you require a specific rounding or not in the decimal-to-binary conversion?

- Is `\u{d800}` accepted or not? (JSON famously has this issue.)

- If you have to escape the base64 padding, maybe you should just drop the padding?

- Graph is generally a bad thing to encode at this level, because many applications do not even expect graphs and that can lead to DoS attacks.

- No clear definition of the data model. The document starts with objects, arrays and scalars (untyped? stringy? I dunno), then only reveals that objects can be typed and shared and specific types of scalars should be written in certain ways much later. Define the data model first and describe possible encodings of that model instead.

- Not allowing anything besides from space and tab is okay, but that doesn't speed processing to be exact.

- While technically a matter of choice, it uses a lot of unmatching angle brackets and that's just... ugly.

- In fact, I don't really see why other grouping characters were unused in the first place.

- No canonical representation.

Maybe you should review tons of other alternatives in this space (I recall at least 2--30 of them, probably much more) before your own design.

Fannon · 10 months ago
Thanks for writing this up! Sounds like you really dig deeply in to this.

Not entirely sure what you mean with canonical representation (I've heard this in the context of JSON-LD before, though). Can you explain what you mean here?

Where do you see the problem with Graphs and Dos? A reference is just a pointer. You just have to be careful when doing recursive code. I actually like the idea to explicitly define how a reference / association is made, because otherwise people will have to re-invent ID and association concepts and there's no shared understanding. In JSON Schema, you cannot properly express an association or graph structure and people start using overloaded and not well-defined concepts like `$ref` which is a separate standard.

u/Fannon

KarmaCake day268October 26, 2014
About
meet.hn/city/51.0493286,13.7381437/Dresden

Socials: - github.com/Fannon

---

View Original