HackerTrans
TopNewTrendsCommentsPastAskShowJobs

kennyfrc

no profile record

Submissions

Show HN: llm_ctx – Format your codebase for LLMs using Unix-style commands

github.com
2 points·by kennyfrc·letztes Jahr·0 comments

Leaders Are Tool Builders: Why I Wrote My Own JavaScript UI Framework

iteration.maiwriter.com
14 points·by kennyfrc·vor 3 Jahren·21 comments

Show HN: Cami.js – A no build, web component based reactive framework

github.com
113 points·by kennyfrc·vor 3 Jahren·34 comments

SPA vs. MPA: Why Not Both?

learncodethehardway.com
2 points·by kennyfrc·vor 3 Jahren·0 comments

AI21 Labs concludes largest Turing Test experiment to date

ai21.com
97 points·by kennyfrc·vor 3 Jahren·41 comments

The Myth of the MVP, and How to Make Software More Human

anthonyalicea.com
3 points·by kennyfrc·vor 3 Jahren·0 comments

What's the Point of Floating Point?

csprimer.com
3 points·by kennyfrc·vor 3 Jahren·0 comments

comments

kennyfrc
·vor 3 Jahren·discuss
I've mainly designed this for backend devs (i.e. rails, django people who just render plain html/css on the front-end), and we generally do HTML sanitization on the server side.

Example: https://api.rubyonrails.org/classes/ActionView/Helpers/Sanit...
kennyfrc
·vor 3 Jahren·discuss
Yes, the lib's great!

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...
kennyfrc
·vor 3 Jahren·discuss
Thank you! That’s exactly the segment I was going for.
kennyfrc
·vor 3 Jahren·discuss
This is great feedback, thanks! I think there’s something around JSDoc types that can accommodate this. Something I’ll put as a milestone before v1.
kennyfrc
·vor 3 Jahren·discuss
Interesting! Many points are indeed similar. Apart from components, Cami also has immutability built-in and state management.
kennyfrc
·vor 3 Jahren·discuss
Thanks! Cami is technically a combination of both. I like the intuitiveness of observables so that’s used:

```

// 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.

—-

* https://github.com/immerjs/immer
kennyfrc
·vor 3 Jahren·discuss
You can consider Cami as the light dom sibling of Lit (which uses shadow dom).

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>.
kennyfrc
·vor 3 Jahren·discuss
Yes, Cami uses fine-grained reactivity, so it’s a cousin of similar solutions like Solid signals, Svelte runes, Knockout / and MobX observables.

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)
kennyfrc
·vor 3 Jahren·discuss
Yes, exactly!
kennyfrc
·vor 3 Jahren·discuss
Yes, I have used this for feature roadmaps.

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
kennyfrc
·vor 3 Jahren·discuss
If you want to create a B2B product, I would look for 1-star reviews in G2 and Capterra and see if you can solve these problems yourself.

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.
kennyfrc
·vor 3 Jahren·discuss
Marketer here. If I were to define the fundamental aspects of marketing, it would be as follows (I also have a note about feedback loops after):

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...
kennyfrc
·vor 3 Jahren·discuss
I built a SaaS MVP in 2 months (nights and weekends) using Roda + HTMX + Alpine.js + Missing CSS + Postgres. I was quite happy with how moldable Roda is.

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.
kennyfrc
·vor 3 Jahren·discuss
Yes, and I would typically search for simple projects using keywords such as “micro”, “small”, “tiny”, or “pico”.

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).
kennyfrc
·vor 3 Jahren·discuss
If you’re a pure beginner with zero programming experience, yes. If you’ve programmed a few scripts and have done a flask web app, his first book might be too easy.
kennyfrc
·vor 3 Jahren·discuss
There’s quite a few:

- 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...

[4] https://vanillajsacademy.com/

[5] https://www.greatcodeclub.com/
kennyfrc
·vor 4 Jahren·discuss
This looks great! I’ve played a couple of games in the Open Sicilian and the French Tarrasch and there wasn’t a moment that I felt like I was playing against a computer. It plays some cheezy lines which I would expect from a lichess player.

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?