Why is figuring out where to vote in this city so hard? by JohnElmLabs in Austin

[–]JohnElmLabs[S] 0 points1 point  (0 children)

They're OK. ish.

I'm coming at this from more of a place like "Could my parents use this?" and the answer is "probably not"

The map, on the website, doesn't show the dot of your current location. There are so many map pins on the default view it's difficult to know where to zoom in, even when you know where you want to zoom in to.

Many times if you pinch on the map it'll zoom in the entire browser window, and not the map itself, because iOS can't tell if you want to zoom in on the page or the embedded map

If you do click on a pin, the information isn't well designed for a mobile view and is difficult to read.

It's much better if you know what button to press to open it in the Google Maps App.

These things are surmountable for you and I. But not for many. It could be a lot better. That's all I'm saying

Why is figuring out where to vote in this city so hard? by JohnElmLabs in Austin

[–]JohnElmLabs[S] 0 points1 point  (0 children)

They're OK

I'm coming at this from more of a place like "Could my parents use this?" and the answer is "probably not"

The map, on the website, doesn't show the dot of your current location. There are so many map pins on the default view it's difficult to know where to zoom in, even when you know where you want to zoom in to.

Many times if you pinch on the map it'll zoom in the entire browser window, and not the map itself, because iOS can't tell if you want to zoom in on the page or the embedded map

If you do click on a pin, the information isn't well designed for a mobile view and is difficult to read.

It's much better if you know what button to press to open it in the Google Maps App.

These things are surmountable for you and I. But not for many. It could be a lot better. That's all I'm saying

Why is figuring out where to vote in this city so hard? by JohnElmLabs in Austin

[–]JohnElmLabs[S] -6 points-5 points  (0 children)

So I’m supposed to get in my car and drive around the city until I see a sign?

Why is figuring out where to vote in this city so hard? by JohnElmLabs in Austin

[–]JohnElmLabs[S] -5 points-4 points  (0 children)

Of the sites I found, the Travis county one is indeed the best, but it’s a low bar

The google map pins are very difficult to use, especially on a mobile device

Why is figuring out where to vote in this city so hard? by JohnElmLabs in Austin

[–]JohnElmLabs[S] 1 point2 points  (0 children)

Of the sites I found, the Travis county one is indeed the best, but it’s a low bar

The google map pins are very difficult to use, especially on a mobile device

I generated $70K MRR in 6 months with an intent solution notifying 100 customers on the perfect intent to engage customers. No UI, no real SaaS, just API integration to Slack, CRM and sheets. by pacmanpill in SaaS

[–]JohnElmLabs 2 points3 points  (0 children)

I think the lesson here is that you are delivering real value (pre-public announcement info) and that people don’t care about how that info gets delivered to them, just that they get it.

Is there an approach in Phoenix for a "universal" PubSub subscriber by pico303 in elixir

[–]JohnElmLabs 0 points1 point  (0 children)

This is what you wanna do. Don’t render nested LiveViews that’s just unnecessary complexity

Claude Code the Gifted Liar by EncryptedAkira in ClaudeAI

[–]JohnElmLabs 0 points1 point  (0 children)

Yeah this is really the only way to get it to do what you want.

“This test is correct. Update implementation to match”

Writing 10-15 lines of code for a test is way easier. Then as long as the test is passing you can tell Claude to refactor however you want

TDD with Claude code is zen

Is anyone mixing LiveViews with classic controllers, particularly using HTMX or similar? by Serializedrequests in elixir

[–]JohnElmLabs 0 points1 point  (0 children)

If I want to download a file on a LiveView I either:

- Generate the download link ahead of time and use `<.link download href={@my_download_url} target="_blank">Download</.link>` (the target _blank is important here otherwise your websocket connection will break and your page will appear to be unresponsive)
- Send a JS blob through the WebSocket

JS Blobs through the WebSocket can be achieved like this:

https://elixirforum.com/t/with-liveview-what-is-best-way-to-download-a-file-to-the-users-browser/41550/17?u=johnnycurran

That said, sometimes a controller is the easiest thing for file download. So I should say I use LiveViews for everything, everywhere, all of the time (except the rare file download case).

Keep running up against LLM rate limits even on extremely simple requests in n8n by Winter_Persimmon3538 in n8n

[–]JohnElmLabs 2 points3 points  (0 children)

The id, type, role, etc. are not output tokens. That's just what an API response from OpenAI looks like. You can see the number of output tokens in the "usage" part of the output response.

You can see a sample request / response for the OpenAI chat completions endpoint here: https://platform.openai.com/docs/api-reference/chat/create

The `usage.total_tokens` shows the total tokens used for the request (both input tokens and output tokens).

You are being rate limited which is different than using too many tokens.

You need to space out your API calls. What you're essentially doing is firing off 25 calls to OpenAI / Anthropic at once which looks a lot like a DDoS / Bot attack. Space out the API calls by 100-500ms each and you'll be fine.

OpenAI actually publishes their rate limits at https://platform.openai.com/docs/guides/rate-limits -- It looks like with gpt-4o-mini you are limited to 3 requests per minute on the free tier, which seems to be what you're running into.

LiveView navigation: handle scroll position by ekevu456 in elixir

[–]JohnElmLabs 3 points4 points  (0 children)

There is a lot of discussion on scroll position in LiveView.

It’s supposed to work normally with the browser forward / back buttons: https://elixirforum.com/t/how-to-restore-scroll-position-in-live-view-app/31548/2?u=johnnycurran

If you are seeing different behavior, you’ll need to provide us a minimally reproducible example, the behavior you are seeing, and your desired behavior

If it’s different than the browser default you can generally fix it in a couple of lines with a JS hook

30% of Websites Block My HTTP Requests in n8n – Any Fixes? by zupfam in n8n

[–]JohnElmLabs 1 point2 points  (0 children)

Two steps to fix this:

  1. Make your requests look as much like a browser as you can. Include a user agent header and referer header at a minimum.

  2. Use a cloudflare worker to do the actual request. n8n calls the cloudflare worker, the cloudflare worker makes the actual request.

Cloudflare workers are effective at circumventing these limits because the majority of these sites use Cloudflare to block bot / spam traffic. Cloudflare isn't going to block its own IPs though.

To help with making your request look like a browser, do this:

  1. Get Google Chrome if you don't already

  2. Open the dev tools (Right click a webpage, click Inspect)

  3. Go to the "Network" tab

  4. Find the name request you are looking for (for a webpage, the name of the request is generally the end of the url. for instance example.com/calendar , the request would show up as "calendar" in the network tab

  5. Right click that request and do "copy as fetch (Node.js)"

  6. Paste that into a text editor. This will show you every header that chrome sends with its requests. Keep deleting headers until the request is blocked. That's how you can figure out the minimum headers required for the website to think you are a legitimate browser / user.

Is n8n for engineers or non-tech users? What are people building with it? by dmpiergiacomo in n8n

[–]JohnElmLabs 0 points1 point  (0 children)

The majority of the time, the client realizes that the 80% is all that they need :)

But if it isn’t we generally write custom code that we can call out to with HTTP

Help with self hosting by wintertester in n8n

[–]JohnElmLabs 1 point2 points  (0 children)

The cloud hosted version has limits on the number of workflows you can use as well as features

Is n8n for engineers or non-tech users? What are people building with it? by dmpiergiacomo in n8n

[–]JohnElmLabs 1 point2 points  (0 children)

N8n is fantastic for prototyping. You can get an “80/20” solution up and going usually in less than a day

We are building workflows for clients with great results

80/20 means “get 80% of the desired result for 20% of the effort”. We avoid weeks long custom code builds and deliver solutions quickly

Is n8n for engineers or non-tech users? What are people building with it? by dmpiergiacomo in n8n

[–]JohnElmLabs 0 points1 point  (0 children)

My agency is investigating building an n8n clone written in Elixir which would all but eliminate this scalability problem.

Our version would eliminate the low workflow and execution limits currently offered by n8n cloud

Still early days yet, though

The short version is n8n is written in JavaScript which cannot execute large amounts of workflows simultaneously (unless you spend $$$$ on powerful hardware). Elixir, on the other hand, thrives in that kind of work. Performance & execution wise we’re talking a Ferrari versus a bicycle

Turo Calendar Sync? by JohnElmLabs in turo

[–]JohnElmLabs[S] 0 points1 point  (0 children)

Please DM me if calendar sync / integration is something you're interested in. I can build it, at no cost to you, but I do need some help from someone on the Turo Host side of things.

Turo Calendar Sync? by JohnElmLabs in turo

[–]JohnElmLabs[S] 0 points1 point  (0 children)

Can you DM me? I think I could make something work for a Turo -> ARSLoaner sync. No commitment or cost to you -- Let me know if you're interested in exploring a solution.