tomhallett's comments

tomhallett | 2 months ago | on: Replacing JavaScript with Just HTML

Agreed. Having a "HTML + CSS" engineer on the team was largely due to the number of hacks needed to make css work -- purposely adding invalid html that would only be parsed by specific browsers, ie5 vs ie6 vs netscape being wildly different (opera mobile was out of this world different), using sprites everywhere because additional images would have a noticeable lag time (especially with javascript hover), clearfix divs to overcome float issues. To be clear, I'm not saying "things were harder back then" or "css is simple now", but things with CSS were so wild and the tooling was so bad, that it what a unique skill of it's own that is less needed now, and the shift has been for people to focus on going deeper with js.

tomhallett | 3 months ago | on: Open-Source n8n Alternative for Workflow Building (GUI and Docker Included)

feedback: i'm trying to understand the highlevel flow/usage but still a bit confused.

ideas:

1) maybe add a .yml example to the readme under the /test_nyno screenshot so i know how you configured that workflow

2) what are ways to trigger a workflow? just tcp?

3) the example runs "bestjsserver" which looks like it runs workflows? are some workflows auto running? that just logs from tcp commands you manually running in other terminal? a bit confused what's going on here

Thanks!

tomhallett | 4 months ago | on: Life next to 199 data centres

If I'm correct that the data center shown is on Belfort and Glenn Dr, then you don't even have to "research" zoning, just look across the street.

In 2021/2022 before it was built:

* Here is what that lot looked like [1]. To assume something wouldn't be built there is optimistic at best. (And there was precedent for data centers at the time - there was already a data center less than half mile away on Vantage Data Plz across the street from Tart Lumber.)

* If you look across the street, ie if the video would have panned to the left, you would have seen the "US Customs and Border Patrol" building - not winning any architectural design awards [2].

For someone who bought their house decades ago, then yes - the area has transformed drastically. But grouping someone who purchased recently with someone who purchased decades ago is a bit muddled.

[1]: https://www.google.com/maps/@38.9991758,-77.4300191,3a,75y,1...

[2]: https://www.google.com/maps/place/IAD146/@38.9981504,-77.428...

tomhallett | 4 months ago | on: Life next to 199 data centres

But there is an upside to this - you get the benefits of being a city with big business (tax revenue, donations to the local schools, investments in infrastructure), but don't have increased commuter traffic.

tomhallett | 7 months ago | on: An LLM does not need to understand MCP

Total beginner question: if the “structured software application” gives llm prompt “plan out what I need todo for my upcoming vacation to nyc”, will an llm with a weather tool know “I need to ask for weather so I can make a better packing list”, while an llm without weather tool would either make list without actual weather info OR your application would need to support the LLM asking “tell me what the weather is” and your application would need to parse that and then spit back in the answer in a chained response? If so, seems like tools are helpful in letting LLM drive a bit more, right?

tomhallett | 7 months ago | on: It's time for modern CSS to kill the SPA

Depends on the definition of SPA, but in the days of jquery, I hardly consider any of that single page app. For example, the server rendered page had most of the html initial rendered, jquery would attach a bunch of listeners, and then on an update it incrementally. If lucky, we had a duplicated x-template-mustache tag which had a logic-less template that we could use to update parts. Jquery and duplication was the “problem” which drove everyone to SPAs.

tomhallett | 11 months ago | on: The New Three-Tier Application

When they get to what their implementation is, I’m not even sure what it is. Like how is the following different from a library, like acts-as_state_machine (https://github.com/aasm/aasm). Are they auto running the retries - in a background job which they handle (like “serverless” background job)?

“Implementing orchestration in a library connected to a database means you can eliminate the orchestration tier, pushing its functionality into the application tier (the library instruments your program) and the database tier (your workflow state is persisted to Postgres).“

tomhallett | 11 months ago | on: Fauna Service Winding Down

The word choice of “several” feels a bit mis-leading. Reminds me of the Big Bang Theory quote:

That is not a lot of weeks. In fact, that's the bare minimum to get to the plural "weeks".

tomhallett | 11 months ago | on: Styling an HTML dialog modal to take the full height of the viewport

Is there a git gui/extension/etc which makes exploring the git blame similar to what the author did easier? Here is what I find myself doing often:

- blame on file

- scroll to line 123, click on commit to see the change

- ok, that commit wasn’t the “meaningful change” I’m looking for

- click on parent commit

- browse files (for that sha)

- go to file

- click blame

- scroll to line 123 (or similar)

- repeat

tomhallett | 1 year ago | on: JavaScript Temporal is coming

Your example of “New X” is spot on, because there was a timezone with that name, “US/Pacific-New”, which was different than “US/Pacific”. Bit of history: it was added to some timezone libraries because there was a bill in congress to add it, but it never passed. I had to fix a bug because users were getting set with that timezone and then other systems/libraries were barfing on it…

https://github.com/moment/moment-timezone/issues/498

tomhallett | 1 year ago | on: Show HN: libmodulor – An opinionated TS library to build multi-platform apps

Let's say I'm using shadcn's Dialog [1] on my web target, which has many subcomponents (Dialog, DialogTrigger, DialogHeader, etc). How many of those am i representing with a 1-to-1 `UC`? Is it just the parts that are on the IO seam, like a UC for opening the dialog, UC for closing a dialog, and UC for submitting a dialog? Or is it also for things the user sees like UC for header, UC for content, UC for buttons panel?

There is obviously some cost to expressing the interface between the product/target/usecase. What exact benefit is that cost getting me? do i know that if i expose a certain use case in one target then i have to explicitly decide if i'm going to expose (or not expose) it in a different target, which helps me get consistency/governance between my app as it grows? does it help me "integration test" by application in isolation, in a "similar" way that pact [2] helps with integration testing microservices? (ex: the mobile app relies on X input, but from the ts interfaces, the tool can detect that the web-api is no longer defining an output for that api. if so, is this on the /api/v1/resource level? the openapi schema for a json body response level?). do i get a mono-build-system, where everything flows together and i just say "libmodulor build" and "libmodulor deploy" and I'm good to go?

said in another way: many of the people on HN have a backend api, a react SPA, and a mobile app. what types of problems do i have now which libmodulor solves?

[1] https://ui.shadcn.com/docs/components/dialog [2] https://pact.io/

tomhallett | 1 year ago | on: Show HN: libmodulor – An opinionated TS library to build multi-platform apps

I enjoy your 4 types on the architecture.

But I’m still a bit confused on what the project actually “is”. I see you have an architecture and I’m using ts to define the interface between those 4 types of components. But let’s say I have a react-native target: what am I expressing in that interface? A cli which can build/deploy that interface? Each ui screen in that rn app (rn login, rn add contact)? Or all of the api endpoints in the web target which gets called by the rn target?

In the readme, I would focus a bit less on the UML part, and a bit more on the “if I have a webapp and a mobile app, with auth and crud for contacts, here’s what you’d need”

tomhallett | 1 year ago | on: I had to take down my course-swapping site or be expelled

This doesn’t even make sense… why is you rebuilding it for them even part of the discussion? You built a demo of something they didn’t like, so you took it down. That should be the end of it.

Saying you need todo it for free is bonkers. Students who work in the cafeteria get paid…

And the gap between “a greenfield project” versus rebuilding the app in their infrastructure is so huge… This type of app would take 6 months to build minimum. So insane.

If you only have a few months left, you will barely get out of the initial project scoping meetings talking to all of the various departments (legal, it, hr, etc etc)

tomhallett | 1 year ago | on: SST: Container Support

Context for people who might not get the joke/parody: SST adding containers to their stack might be viewed as a "betryal" in a similar way to how some basketball fans felt when LeBron James switched teams, from Cleveland Cavaliers to Miami Heat. LeBron had a media event/interview called "The Decision" [1].

I love the clip of @dhh's keynote to engineer's "learned helplessness" to AWS and the cloud [2]. While SST + containers is very very different than DHH's Kamal [3], they both embrace containers without the paas service tax (heroku/vercel/etc) or the overhead of kubernetes.

1: https://www.youtube.com/watch?v=Afpgnb_9bA4

2: https://youtu.be/-cEn_83zRFw?si=oAG3ZUKhXlUIKD88&t=1296

3: https://kamal-deploy.org/

tomhallett | 1 year ago | on: Patent troll Sable pays up, dedicates all its patents to the public

While I don’t disagree with any of your points, it seems like they are using a “platform/UGC/crowd” model to change the economics of the business model.

In the same way that TV networks find/vet/pay for the supply of shows and take on the risk per-show, YouTube (at its core) doesn’t do any of that and all of the content creators do those things with the hope it will take off and a share of the ad revenue, while YouTube’s risks are related to the opex cost of the incoming supply/demand.

Instead of cloudflare paying per examiner, they give a non-guaranteed slice to a bigger group of people.

page 1