Clear search
Remote Jobs 2 Nomad Insurance Chat Meetups Visas & Residency New Climate Finder Forum FAQ Dating New Members Hire Remotely Open menu
๐ŸŒ Join Nomad List๐Ÿ‘‹  Log in
Nomad List Frontpage๐ŸŒ—  Dark mode โค๏ธ  Your favorites๐Ÿš‘  Nomad insurance๐Ÿฅ  About
โค๏ธ Dating app๐Ÿค  Friend finder๐Ÿ’ฌ  Discord chat
๐Ÿ’ฌ  Slack chat๐Ÿ’ˆ  Host meetup
๐Ÿน  Attend meetup๐ŸŒŽ  Members map
๐Ÿœ  Explore๐Ÿ“ธ  Vote on photos๐Ÿ’ธ  FIRE calculator๐ŸŒค  Climate finder๐Ÿ’ฅ  Fastest growing๐Ÿ“Š  Nomad stats
๐Ÿงช State of remote work new๐Ÿ“œ  History of nomads
๐Ÿ•ธ  Network graph๐Ÿ”Œ  Fastest internet๐Ÿ†  Best place now๐Ÿ”ฎ  Random place๐Ÿ”ฎ  Random good place
๐Ÿคฒ  Open Startup ($105k/mo)๐ŸŸข  Uptime (100%)๐Ÿ“ˆ  Pageviews (733K/mo)๐Ÿ—ณ  User rating 9.0/10 (n=1,988)๐Ÿ›ฐ  Remote jobsโœˆ๏ธ  Best airlines๐Ÿ—บ  Neighborhoods๐Ÿ  Coworkations๐Ÿ‡ต๐Ÿ‡น  Get Portuguese residency๐Ÿ†˜  Support
Coders Chat

All Channels
# _food7d# _overland-travel18d# space1mo# puerto-rico1mo# laos1mo# kazakhstan1mo# norway1mo# latvia1mo# finland2mo# _pets2mo# china2mo# _lgbtq2mo# _books2mo# middle-east2mo# mauritius2mo# cuba2mo# qatar2mo# _music2mo# moldova2mo# _for_rent2mo# saudi-arabia2mo# dominican-republic2mo# denmark2mo# slovakia2mo# russia2mo# _taxes-us3mo# _stonks3mo# _design3mo# __jobs3mo# new-york-city3mo# ireland3mo# new-zealand3mo# panama3mo# albania3mo# malta3mo# belgium3mo# _taxes-intl3mo# ukraine3mo# lithuania3mo# bolivia3mo# egypt3mo# romania3mo# cyprus3mo# _outdoors3mo# _productivity3mo# austria3mo# taiwan3mo# ecuador3mo# nepal3mo# paraguay3mo# sri-lanka3mo# _bargain-travel3mo# switzerland3mo# south-africa3mo# estonia3mo# north-macedonia3mo# _relationships3mo# japan3mo# malaysia3mo# czechia3mo# south-korea3mo# nicaragua3mo# israel3mo# france3mo# canada3mo# guatemala3mo# __announcements3mo# _show-and-tell3mo# miami3mo# montenegro3mo# _freelance3mo# georgia3mo# _flying3mo# europe3mo# _startups3mo# greece3mo# poland3mo# _parents3mo# dubai3mo# _legal3mo# serbia3mo# _insurance3mo# _housing3mo# philippines3mo# costa-rica3mo# netherlands3mo# turkey3mo# uruguay3mo# bulgaria3mo# peru3mo# sweden3mo# africa3mo# singapore3mo# canary-islands3mo# hong-kong3mo# croatia3mo# _coders3mo# chile3mo# latin-america3mo# asia3mo# cambodia3mo# australia3mo# argentina3mo# indonesia3mo# germany3mo# _crypto3mo# _money3mo# italy3mo# portugal3mo# united-kingdom3mo# _fitness3mo# spain3mo# morocco3mo# hungary3mo# vietnam3mo# ___introductions3mo# _jobs-talk3mo# india3mo# _photography3mo# united-states3mo# bali3mo# mexico3mo# thailand3mo# _marketing3mo# brazil3mo# _gear3mo# colombia3mo
Yeah you're not gonna get people who work on web applications for a living who are also not using some sort of ad blocking
โ€ข Reddit
โ€ข Discord
โ€ข Twitter
โ€ข Some twitch & YouTube
Wow. So impressive. I am working on todo lists everyday, so this will come in handy!
Nice! Instead of copy chunks of code from StackOverflow, I just Tab+Enter chunks of code... saves time I see.
What is your current tech stack?
_Mine changes but is somewhere along Next.js, Serverless (AWS, python/nodejs/go), 3rd-party APIs. Python for standalone scripts._
I've been using Flutter + Rust for backend recently. Feels like the ideal performant stack, although Rust is probably not as good DX-wise as Ruby on Rails.
TypeScript E2E:

โ€ข AWS CDK infra, mostly serverless
โ€ข TypeScript backend, mostly just SOLID principles via Lambda, no framework
โ€ข React (sometimes Next) frontend
โ€ข Postgres for database
โ€ข Jest, Cypress, Playwright for testing
It's impressive that a superpowerful AI can provide code for a todo list? ๐Ÿ˜‚
wsynpdehpsd And this is one of its perils... Just Tab+Enter everything. The research part that actually makes you 1. better at searching, 2. learning (reading, writing down, memorizing) is completely lost with Copilot.
Copilot makes you faster? Yes, but at the cost of making you a worse developer as well IMO
Especially at a junior/mid level, this is horrible
Next, react, typescript, heroku, tailwind, Postgres, node
Centered around Python and React
zavmxygdgba why heroku and not vercel/netlify etc...?
and also makes you not think and not trying to figure out how to solve a particular problem. such a great way to never improve, to never invent.
I'm used to it lol
Node, Express, React, AWS (Server + Serverless)
I feel like I made a mistake not writing the reasoning behind each choice :sweat_smile:. So if anyone is reading this add your own.

For me, I like the developer experience of next.js + the react ecosystem. As for the backend I choose whatever works best for a scenario. So I'd choose pytho. For example, if I'm doing something that needs data science.
Curious about people who started out in technical oriented roles (coder, QA, ui/ux) and transitioned into managerial roles and still working remotely. What challenges have you found or things that you didn't anticipate (relating specifically to nomad lifestyle, but doesn't have to be limited to that) ? Have a decision to make and just curious about some input.
I am not in that position anymore, but I was leading dev teams remotely in the past. The main challenge is to keep work async with the regular 1-1s and meetings you wouldnโ€™t have as a developer. The way I tried to get around that is to have 1-2 days a week where I scheduled my calls/meetings so the majority of the week I was still able to work async.
TS and React as the main tech, I love that I can make almost everyone those with a great DX. Other things I use are, Next.js, Expo, TailwindCSS, Express.js.
I've been using Remix for the last 6 months and it's just amazing!
bjymamdyfqxewih what is better in remix compared to others like next?
The state is handled by the server, so no more react hooks to handle state and fetching required unless you want to. That's a huge one. Also it conforms to the web platform so the things you learn using Remix can be applied for the rest of your life because it's just web stuff. And finally there is progressive enhancement. I've been building a really big project and I haven't had to use JS on the client yet. That means, when I decide to add JS to the client is just to improve the user experience but a huge JS bundle it's not required since it's just HTML + CSS.
For next js users is like only using getserversideprops for fetching data but also for saving/mutating data. So the client is just HTML with HTML forms
And you can cache everything in CDNs, Redisโ€ฆ.
zvwxnipqcnqexcr do you ever worry about backend code, or secrets, or anything proprietary leaking into front end? Since it's all in one file. Can easily happen.
No since everything happens in the backend
Well it does return _something_ to the fe, right?
No secrets are needed in the client. The client just gets the built HTML. It's the way the web used to work before client side renders apps.
Eg remixโ€™s own doc site leaks internals ;)
It's pretty similar to using next js with server side rendering and no js fetching. So you don't need secrets in the client
I'm not saying secrets are needed. But if you load some code that's BE only, it will get bundled into
I'm sure there's some fancy tree shaking magic that happens.
Not really because you can run a remix app with no JS in the client
But imagine you import some stuff, eg a const from a share file. But then later you add some secret stuff into the same file that's meant for BE only. It will end up on the FE, no?
Ok I need to do something experimenting. Sounds interesting.
But NextJs with ssr still returns react JS
You can't run it with js off I think
No. The backend buils the HTML file and then sends it to the frontend. There is no js bundle needed unless you want to do client side stuff with js. But that's optional
Yes. Next js requieres react and js
Specially for mutating data
So does remix not dog food itself for the docs then?
Because they are using js, returning bundle chunks, and returning json
I couldn't find how they build the doc site
Yes, so open your dev tools, disable js and browse the remix docs and then the next js docs
I don't know if I can share links but if you search for โ€œprogressive enhancementsโ€ in the remix docs it explains everything you are asking about
Yeah I read the docs. Just wasn't sure why all that stuff in the console then is needed?
They are loading many js chunks
And also json payloads
And oddly json payload includes markdown and html
BTW, I'm not associated with Remix at all hahahah. I've just been using it and liking it, same thing happened with Next.js a couple of years ago
Which leads me to believe their own backend is leaking into fe
Did you read the link that I sent?
Yeah, I read it earlier today. And just read it now again, just in case I missed something. I also know what "progressive enhancement" is. It's not a novel concept ๐Ÿ˜„ I get the sprit of it. And I am totally on board with it. I'm just concerned with BE code accidentally leaking into FE. There is really no way around it. If you are building a chunk from something (e.g. from a page or component). This chunk _will_ include JS. Otherwise there would be no chunk, right? And if there is a chunk of JS, and it came from some bundled code, this code could be shared with FE/BE. E.g. a constants file, or utils file.
Imagine you have a constants file that includes:

```export const SITE_NAME = 'foo'
export const SOME_SECRET_THING = 'bar'```
Then you import it in your page:

```// /index.tsx

import { SITE_NAME } from './constants'

export default function SomeRouteComponent() {
return (
<h1>{{ SITE_NAME }}</h1>
The `SomeRouteComponent` will be turned into a chunk.

But will `SOME_SECRET_THING` get "sucked into" the import? Will it be shaken out? If it is shaken out, what is the algo? Is it super safe? Can there be a leak?
Give it a try when you have time. It's pretty cool
`SOME_SECRET_THING` isn't necessarily a passport, because we, of course, know that it's not good to commit passwords ๐Ÿ™‚
But it can be a secret algo, or maybe something else you don't really want to expose.
Imagine it's a game, and there are game rules, you don't want them to be public
Well in remix you have thee parts, the loader function (similar to get server side props), the action function (similar to get server side props but for mutations) and the actual component that gets shipped to the FE. The action and loader functions just runs on the server and that's where you want to handle the state, secrets and all of those things
Yeah, I know ๐Ÿ˜‚
So no secrets needed for the FE
But if you are putting everything into one file, then the bundler _can_ accidentally bundle that into the final chunk
Ok, I will do a demo later tomorrow.
Take a look at the script component if you can
I hope you like it, maybe we can create a discussion or something because I'm always looking for other devs to bounce ideas and questions
Imagine the value of `SECRET_THING` is a Stripe API key, or some other important API key. This is super easy to leak out into a public JS bundle (chunk).
Anything in `public/build` is ... public, and is available to anyone without any authentication or authorization, it is what will load when you simply load the website page.
mxhbeih it's just an example file I made to show how it's useful, not something I used in production. It's really no different than looking stuff up on Stack Overflow, you still need to understand the code to make sure it does what you want and doesn't make mistakes
In my experience (two EM roles), anyone who says you can do EM or PM entirely async is probably overselling it. I had a lot of meetings (at least 3 zoom meetings every day, sometimes up to 10), even in work settings where async was really given primacy and folks were great async communicators.

I underestimated how draining that would be, and also how much I would miss coding. System design is cool though
vwjdumyl I think you're making a very good point! Evidentially a lot of developers aren't aware of the risks of mixing front-end and backend code. I'm sure there are best practices to follow to avoid any leaks like that, but that might be a lesson people have to learn the hard way...
> you still need to understand the code to make sure it does what you want and doesnโ€™t make mistakes
Agree, itโ€™s just great. Itโ€™s not going to replace any work for the junior devs for now
Agreed on the above two comments.

I want to transition from Prod Mgr to Engineer because as the startup I work for is growing, I'm increasingly spending my days in meetings which conflicts with my remote async lifestyle.

Tools like blocking large chunks, blocking specific days (eg Fridays) or async comms only work if your company supports this.
weaiufiuxhys exactly... it's like riding a bycicle with those little wheels all your life ๐Ÿ˜‚
Yeah copilot was amazing for doing redux/state management style stuff. All that boilerplate lol
Nextjs with Vercel, Mantine, Supabase and their cloud functions. Covers 90% use case. Recoil for app state instead of redux ๐Ÿคฎ
jhvhytjeb Mantine looks lit!
zdjvmzpf Really helps when you don't like front like me, highly customizable and very responsive community.
Love the integrated hooks that avoid re-doing what everyone does and good docs :)
Forgot to mention Recoil when I need store, way simpler than redux
why hasnโ€™t anyone released a Typescript to binary executable yet?

no and not one that bundles in a node.js / deno binary
an actual compiler
surely someone is doing this
gqszzlhxvszvhfhdqh To what end? I am not really sure the value of compiling typescript to binary when it can get get compiled to assembly (wasm). Native wasm is a binary format.
Actually looks like that doesn't fully exist yet either but there is assembly script.
yeah that's kind of my point, if deno compiles with a runtime then it's not as small and as performant as it could be
like a fully fledged language and compiler
Because the best runtime for NodeJS is actually Chromium's V8, and that's a JIT compiler, not an AOT compiler. So if you want to make a fully AOT binary, you'd have to make your own entirely new compiler. People just don't care enough to do that for JS/TS.
One of the reasons I started learning Rust actually, you can make binaries without a runtime at all if you want (if you don't use `async` at least)
JavaScript is not semantically compatible with efficient ahead-of-time compilation. The only viable strategy is shipping a JIT runtime with the application. code embedded in the binary.
Node.js already embeds the code for its core modules into the binary, itโ€™s not too complicated to modify it to embed additional scripts, and thatโ€™s what tools like pkg or boxednode do.
There are several aspects of the JavaScript spec that require a runtime. It lacks the lifetime awareness for Rust-style drop injection, and the microtask queue (promises, async functions, etc) requires runtime task routing, with especially complicated things like being able to add a then handler longer after resolution. The language would need to be completely different to be able to handle tracking things like that.
Thereโ€™s also the fact that Node.js is built on libuv which provides its _own_ runtime in the form of the event loop, so ahead-of-time code generation wouldnโ€™t work there either without rearchitecting basically everything.
Also, itโ€™s worth pointing out that even most _compiled_ languages these days have a runtime. Rust requires a runtime for async tasks, both Java and C++ has a runtime for type reflection, Java also has a runtime for garbage collection, basically _every_ native language has runtime additions for thread synchronization. Eliminating the โ€œruntimeโ€ of a platform is generally not really viable for anything beyond toy apps.
Any sufficiently complex app will always have a certain degree of concealed complexity that is needed to interact with the hardware. If you make a windowed app there is usually a runtime to manage window draw state. Itโ€™s all just different levels of abstraction, and trying to operate at the lowest level possible is very often not practical.
If you're using javascript, you probably don't need to be that low, and if you are working that low it is unlikely you would want to use Javascript.
sure was shower thought more than anything, imagine if it was as fast as something lower level?!
Open IM list
USD โ”€ $
Nomad cost
โœจ To see all results
Join Nomad List