kennyfrc
Show HN: llm_ctx – Format your codebase for LLMs using Unix-style commands
https://github.com/kennyfrc/llm_ctx
Hey HN! I found myself wanting a way to create prompts using `git diff`, `find`, and glob patterns, but from what I saw, there weren't any tools that did that.So built this, and I found myself using it almost everyday. I hope this is useful for someone!
Example: https://api.rubyonrails.org/classes/ActionView/Helpers/Sanit...
Unfortunately I haven't thought much yet about interoperability with other web components libraries like lit. I imagined folks would choose just one web component library over the other.
That said, you can initialize reactive properties(1), but property bindings won't work if there's a parent LitElement (as my reactive properties need to be called with either a .value method or an .update method for getting and setting respectively).
As of the moment, what's possible is interop with other cami elements using a store, and in a future version, i'm considering a richer event system for external javascript code to listen to.
---
(1) Initializing is possible with observerableAttr: https://github.com/kennyfrc/cami.js/blob/master/examples/008...
I hadn't considered that earlier, but I just shipped that in v0.0.13. It's called observableProps.
Example here: https://github.com/kennyfrc/cami.js/blob/master/examples/008...
Looks something like this:
```
<my-component
todos='{"data": ["Buy milk", "Buy eggs", "Buy bread"]}'
></my-component>
`````` ...
constructor() {
super();
this.observableProp('todos', (todos) => {
return JSON.parse(todos).data;
});
}
...
```the callback function is optional
Leaders Are Tool Builders: Why I Wrote My Own JavaScript UI Framework
```
// define observable
this.count = this.observable(0);
// getting
this.count.value;
// setting
this.count.update(value => value + 1);
```
But it also has a redux-like pattern where you can dispatch actions and register reducers with far less ceremony:
```
// define store
const todoStore = createStore({ todos: [], });
// register reducer / producer
todoStore.register('add', (store, payload) => { store.todos.push(payload); });
// subscribe component to store
this.todos = this.subscribe(todoStore, 'todos');
// dispatch
this.dispatch("add", newTodo);
```
It looks like it’s mutating, but both the reducers and update() uses immer* under the hood, so we still respect immutability under the hood.
Cami supports redux devtools so you can use that for time-travel debugging too.
—-
Cami loses out on slots & style encapsulation, but you can style Cami components with normal / global css like it’s part of the normal dom. And since there’s no shadow dom overhead, it’s more performant and there is no FOUC if you load CSS in <head>.
It doesn’t support SSR as it aims to be backend-agnostic (i.e. you can use python/ruby/haskell, and you can copy+paste the Cami module with no build step and you can start using it).
If you want SSR for the SEO benefits, I think it’s better to render the text-heavy parts as normal HTML for indexing with Google, and then mount the interactive parts with Cami / web components (i.e. “islands architecture”: https://www.patterns.dev/posts/islands-architecture)
Show HN: Cami.js – A No Build, Web Component Based Reactive Framework
https://github.com/kennyfrc/cami.js
Hi Everyone! My main motivation for making this was that I wanted something as powerful as Svelte or React but I wanted no build steps, no JSON API, and I wanted something as close to vanilla js as much as possible. I'm mainly a backend developer, and I wanted to simply return html with some interactive islands when I need to (whose components get 'hydrated' with by backend language's...
SPA vs. MPA: Why Not Both?
I don’t do what you mentioned (ie. look for paid apps with lots of ratings & a low score), I look for any app with at least one 1 star or 2 star reviews and I also look for any problem (doesn’t have to be related to an app) in reddit or any forum.
To be fair, it’s quite a numbers game to dig for useful problems or insights.
A related video about the process is Amy Hoy’s Sales Safari: https://youtu.be/67JVkG4dpj4
You could also check what people are complaining about / asking help for in relevant subreddits and see if you can build a product around that.
AI21 Labs concludes largest Turing Test experiment to date
The Myth of the MVP, and How to Make Software More Human
1. Customer empathy: you need to know their pains, dreams, opinions, frustrations, and more. The first step of marketing is to always meet people where they are the most frustrated. Good resources for this are Amy Hoy’s Sales Safari [1], or Netnography [2]. I also like Sean D’Souzas Brain Audit [3]. Sean’s is the most accessible.
2. Copywriting: Once you can empathize with the persona / customer, you’ll need to learn how to relate your product or service to the person’s problems, needs, or dreams. There are many scammy resources out there, but the person who does his marketing in the most ethical way is again Sean D’souza [4]. Robert Bly is also good [5].
3. Distribution: once you solve for customer empathy and the right positioning (through compelling copywriting), the final step is to distribute your copies in various media. Weinberg’s Traction is a good starting point [6].
Some will recommend Russell Brunson, Sam Ovens, Gary Halbert, etc, but these folks are in the extreme end of marketing, and may not suit everyone. Their methods work for “get rich quick” online courses or coaching programs, but not for real products or services where you need to sustain a brand over time. The resources I mentioned are a good foundation for ethical marketing.
RE: Feedback loops - the fastest way to get a feedback loop is to start with content marketing. Your article must solve a tiny problem, then you distribute it. If you get good feedback, then make a longer article, then get feedback again. Then turn it into an ebook or small online tool, then get feedback. Keep increasing the size of your solution until you get to your desired goal (like a SaaS).
Another way to get a feedback loop is through ads: run multiple ads, compare their conversion rates, drop the worst ones, scale the best ones, then add more ad tests.
[1] https://stackingthebricks.com/video-sales-safari-in-action/
[2] https://www.amazon.com/Netnography-Essential-Qualitative-Soc...
[3] https://www.psychotactics.com/products/the-brain-audit-32-ma...
[4] https://www.psychotactics.com/home-study/copywriting-home-st...
[5] https://www.amazon.com/Copywriters-Handbook-Step-Step-Writin...
[6] https://www.amazon.com/Traction-Startup-Achieve-Explosive-Cu...
What's the Point of Floating Point?
I tried rails in conjunction with roda in the first 2 weeks, but I felt far more productive with roda for my use case and stuck with it.
I would then try to re-implement the “getting started” code in the readme from scratch, like a little programming puzzle. If I can’t figure it out, I‘ll add in some debugger breakpoints, inspect the stack trace to understand how it works, then code the needed methods / classes as I go.
If you’re a ruby programmer, soveran’s work in github can be read in a day or two. I specifically like cuba (micro webframework) and mote (microtemplate).
- Zed Shaw’s Learn More Python the Hard Way[1]
- Brian Hogan’s Exercises for Programmers (best for beginners or for learning a new language)[2]
- Hal Fulton’s The Ruby Way[3]
- Chris Ferdinandi’s Vanilla JS Academy[4]
- Marc-Andre Cournoyer’s Great Code Club (it’s old, and the community doesn’t exist anymore, but i think he still maintains it)[5]
- A few python books from No Starch Press (notably those authored by Al Sweigart)
I learned the most as a beginner from Zed Shaw’s work, and from reading open source code.
Once you’re done with the initial “learn from tutorials” phase, there’s no better resource than reading open source code.
[1] https://www.amazon.com/Learn-More-Python-Hard-Way/dp/0134123...
[2] https://www.amazon.com/Exercises-Programmers-Challenges-Deve...
[3] https://www.amazon.com/Ruby-Way-Programming-Addison-Wesley-P...
On the user side - I think the review area would benefit from principle-based analysis similar to what is seen in chess.com. I am guessing that for it to happen, there needs to be a separate analysis engine that can detect positional motifs. I think chess.com did a decent job with that (better and more actionable than decodechess in my opinion).
On the tech side - I’m curious how this project differs from existing neural nets trained for lc0 such as bad gyal and maia?
If you're targeting to a developing country, then you need to then filter by profession (e.g. Software Engineers, CTO, etc.). Some countries (notably Vietnam, Philippines, and Bangladesh) have fake account farms where they sell fake likes or do shady stuff like click on their clients' competitors' ads to they can jack up their cost.
How to Measure CAC That Reveals the Weak Links in Your Business
Growth Hacker's Digest Weekly – A Weekly Curation of Articles on Growth
A close analogy would be a radio show -- no one over teh course of a few decades has ever paid for a transcribed radio show