HackerTrans
TopNewTrendsCommentsPastAskShowJobs

sbjs

no profile record

Submissions

Show HN: Mid-level Node.js helpers for building a front-end website

immaculata.dev
1 points·by sbjs·năm ngoái·0 comments

Comparing Immaculata to Vite

immaculata.dev
1 points·by sbjs·năm ngoái·0 comments

(ab?)using Node module hooks to speed up development

immaculata.dev
38 points·by sbjs·năm ngoái·16 comments

Why I ever wrote Clojure

thesoftwarephilosopher.com
89 points·by sbjs·năm ngoái·50 comments

[untitled]

2 points·by sbjs·năm ngoái·0 comments

Build.js.dev.build

thesoftwarephilosopher.com
1 points·by sbjs·năm ngoái·1 comments

Build.js.dev.build

thesoftwarephilosopher.com
1 points·by sbjs·năm ngoái·0 comments

A New Way to Vendor

immaculata.dev
1 points·by sbjs·năm ngoái·0 comments

Immaculata

immaculata.dev
4 points·by sbjs·năm ngoái·3 comments

Show HN: Immaculata.dev, TypeScript DX Primitives

immaculata.dev
1 points·by sbjs·năm ngoái·0 comments

Show HN: Immaculata.dev, web build tool for engineers

immaculata.dev
1 points·by sbjs·năm ngoái·0 comments

Show HN: Immaculata, simple front-end build tool

github.com
1 points·by sbjs·năm ngoái·0 comments

Standardize JSX while there's time

thesoftwarephilosopher.com
1 points·by sbjs·năm ngoái·0 comments

I can't delete my framework

thesoftwarephilosopher.com
2 points·by sbjs·năm ngoái·2 comments

Show HN: A new way to create universal/ssr TypeScript apps with JSX

github.com
1 points·by sbjs·3 năm trước·0 comments

Fairly sure I just made something better than React

github.com
2 points·by sbjs·3 năm trước·5 comments

A Letter to Dr. Pusey on His Recent Eirenicon, by Dr. John Henry Newman (1868)

archive.org
2 points·by sbjs·3 năm trước·1 comments

Show HN: Fast Jekyll Alternative in TypeScript with JSX

github.com
13 points·by sbjs·3 năm trước·5 comments

Show HN: Simple/Fast JSX Ssg

github.com
4 points·by sbjs·3 năm trước·0 comments

The simplest SSG I could think of

sdegutis.github.io
2 points·by sbjs·3 năm trước·0 comments

comments

sbjs
·năm ngoái·discuss
It's a highly optimized and extremely simple yet robust implementation of it, sure. Is that reason to dismiss it?

Consider Vite's node-side HMR implementation. It creates its own module system on top of Node's native module system, using `node:vm`. So its modules are really second class citizens that have to be glued to the native module system.

This library used to do that, but moved to using Node's native module hooks, so that there's nothing magical going on, and you can still use the `import` expression to import your HMR modules, they just auto-update when saving.
sbjs
·năm ngoái·discuss
That's orthogonal, and in fact you probably would use TypeScript to translate JSX to JS when using this library. What this does is (a) provide a Node.js module hook to call your transpile function when it encounters TSX/JSX files, and (b) provide a Node.js module that lets you remap imports, including "react/jsx-runtime" if you want a different JSX implementation.
sbjs
·năm ngoái·discuss
It's English, it just looks like regex. In English, the ? belongs inside the parens in this case.
sbjs
·năm ngoái·discuss
Just updated the text to be hopefully much clearer.
sbjs
·năm ngoái·discuss
Oh no, I must have mis-explained it.

The file `site/myfile.js` does exist. All FileTree does is recursively load all files in a dir into memory.

The `useTree` module hook does two things:

* Pulls the file from memory when loading it instead of from disk

* Adds a cache busting query string when resolving it for invalidation

Combined with tree.watch(), this essentially allows you to add a very lightweight but extremely accurate hot module replacement system into Node.js

    const tree = new FileTree('src', import.meta.url)
    registerHooks(useTree(tree))
    tree.watch().on('filesUpdated', () => import(tree.root + '/myfile.js'))
    import(tree.root + '/myfile.js')
Now save src/myfile.js and see it re-executed
sbjs
·năm ngoái·discuss
Just added some code samples, thanks for the suggestion.
sbjs
·năm ngoái·discuss
Can't remember, was like 10 years ago. But basically after I finished mastering the last feature I needed to, probably macros.
sbjs
·năm ngoái·discuss
To clarify, I don't mean that Rich didn't also have extremely good reasons to make Clojure, given he was using Java (and maybe C++) in 2007. They're not the best languages now, but they were so broken back then that they practically caused the language revolution that caused Clojure and Go and Node etc to flourish.
sbjs
·năm ngoái·discuss
I thought it was self explanatory. It had new idioms I had not yet learned and internalized, so I fully absorbed it. When that was finished, I needed something else to do the same thing with. It's like listening to a song on repeat 10-100 times (depending on the song) when you first hear it. You get everything you can out of it and move on when it's empty.
sbjs
·năm ngoái·discuss
I guess that confirms my theory.
sbjs
·năm ngoái·discuss
Thanks, yeah it sounds like we have similar goals. Where's your project so I can take a look?
sbjs
·năm ngoái·discuss
Your patience with Michael Saboff is incredible.
sbjs
·năm ngoái·discuss
Infeasible not because it's difficult but because you have more awareness of your limited time that you have to prioritize, and maintaining software falls lower and lower on the list of things you should do.
sbjs
·3 năm trước·discuss
Yes.
sbjs
·3 năm trước·discuss
I posted an example in the thread.
sbjs
·3 năm trước·discuss
Hi everyone. I know that's a bold statement you'd expect from a new coder and not an experienced guy unless it's the real deal. And I've got so many decades of experience that I'm really looking forward to hearing feedback :)
sbjs
·3 năm trước·discuss
Full title: A letter to the Rev. E. B. Pusey, D.D. on his recent Eirenicon. by John Henry Newman, D.D., of the Oratory.
sbjs
·3 năm trước·discuss
I wrote one and it's the only software I still maintain and am proud of. I'm kind of inventing a new React like thing in it. It's way cool.
sbjs
·3 năm trước·discuss
TypeScript is no headache for me and has no header files.
sbjs
·3 năm trước·discuss
It's a false dichotomy to dislike OOP or prefer it. It's like saying I prefer hammers over screwdrivers. Just learn how the tools you have should be used and use them well.

The only app I'm currently maintaining and proud of[1] makes tons of use of "traditional" OOP. It uses lambdas and FP when necessary. I think it makes absolutely no use of JavaScript's dynamic features. I'm fairly sure this code would port easily to ObjC.

After 15-20 years, you just get bored of doing things in novel or "pure" ways, and do the bare minimum needed to get the job done that's in front of you.

[1] https://github.com/sdegutis/immaculatalibrary.com