587 karma · joined August 6, 2019
The actually difficult problem is hardly being addressed though, namely globally distributed data stores, especially with distributed writes. That's the hard problem, I haven't really seen a very convincing solution yet for normal 'web-apps'
But Patras, as far as I remember it's pretty industrial, it has a large-ish port, 2 nice-ish squares, but otherwise didn't really strike me as a particularly exciting/pretty place.. Weather will be good though.
If you wanna try out something different, maybe a smaller city with a more remote vibe but with quite a bit of life nevertheless and good weather - maybe give Syros a try :) It has a beautiful old venetian town, cool restaurants/bars - some nice beaches and great nature - and all the other aegean islands with varying vibes around it! But it's also not as village-y or seasonal as the other islands - definitely can recommend!
I believe it's important for the country to look beyond that history. Not saying one shouldn't be inspired by it, almost everyone in the West is somewhat inspired by it anyway. This is a piece of humanity that played out on the same geographical area as modern-day Greece with a somewhat similar language, but it's long gone.
And I totally agree regarding conscription - if it were some sort of useful exercise for 6 months or so, one could probably make sense of it, but as it stands currently, it's a total waste of time.
Generally speaking, it's usually sunny all year around, winters are mild, summers are hot, but one can spend those on an Aegean island..
The commonJS/module transition is a nightmare. The fact that something like 'prisma' exists - a c-written 'query engine' that turns prisma js into sql.. wut?
This ecosystem is on a highway to hell literally.. I really hope Bun works out, because I do like Typescript, I do like programming in it - but I'm absolutely done with spending hours upon hours figuring out configs in tsconfig, jest, package.json eslintrc, prettier, vstest and whatever the next 'new' abstraction is. In Go I can just focus on the code and forget about the rest
npm install nanoid Nano ID 5 works only with ESM projects, in tests or Node.js scripts. For CommonJS you need Nano ID 3.x (we still support it):
This whole module bit in node has been a total disaster. Incredibly frustrating
Agree re: Results type in Rust and Ocaml, etc. Those are better in my view too. And yes, you can define a Result<any> return type in Typescript as well (and in fact that's what I mostly when I write typescript and works ok) but unlike Rust this is definitely not 'idiomatic typescript/js' and other developers who might not be familiar with Result types will probably initially dislike and then probably dismiss it.
$ cat main.mjs
import { sleep } from './helper.js'
await sleep(1000)
console.log("Go is great; but weird throwing node under a bus here?")
$ node main.mjs
file://main.mjs:1
import { sleep } from './helper.js'
^^^^^
SyntaxError: Named export 'sleep' not found. The requested module './helper.js' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:import pkg from './helper.js'; const { sleep } = pkg;
'What is CommonJS?'
Literally everyone comes with their own project setting, they all have to get used to that specific folder structure, or those eslint/prettier settings. And on top of error-handling in JS/TS is miles behind Go's (and that's despite Go's error handling also being clunky and not as elegant as Rust's or ocaml's, but still much much better than JS's). It is _extremely_ easy to mess up a typescript project, it's significantly harder to mess up a go project (although obviously still easily possible :)
Btw. I also don't hate typescript/JS, I think it's a great language that allows for a big variety of expressiveness in entirely different programming domains, I personally use it all the time and enjoy it. I just don't think it's a particularly great language to scale a team with.
But after spending some time writing Go I now had to re-initialise a typescript project for a small-ish team (4-5 devs). The amount of time spent on things such as linting, selecting the correct library for server routing, the correct server, coding standards, basic error-handling and enforcing it with a custom error or Result type to get out of this nested try/catch hell which still loses the majority of errors. Setting up testing and mocking. Setting up Prisma and what not - and finally the PRs are still a hit and miss, some ok, some make use of weird JS functions..
Don't get me wrong, I really do like Typescript. But I gotta say after all of that it's just great using a language with a fantastic standard library, proper type-safety, with some coding standards built-in. It's obviously not without quirks, but it's pretty decent - and great to see that routing has now also moved into the standard library, another bit that you don't have to worry about - can't wait for some map/filter/find slice functions though!
Oh that depends entirely on the industry.. in social media maybe not, in banking and Fintech those can most certainly be real costs. And can tell you - that feels even worse
Especially in a start-up's growth phase, we found that the available capital was inversely proportional to our growth. We needed more capital to manage the settlement times as we expanded, but the more we grew, the more capital was tied up, leaving us with less to fuel further growth.
In summary - I've realized that settlement times from acquirers are far more critical in Fintech than I initially thought, which inspired me to write this post. And just to clarify, I'm not a huge advocate of unregulated crypto. However, I do believe that regulated stablecoins with quicker settlement times could be really advantageous for Fintechs.
Lots of start-ups start with developers that have 2-3 years of experience. Once they reach the state of a rewrite those developers (if they stayed for the whole period) are probably 3-5 years more experienced than when they started and might look at things differently than at the beginning. And those years can make a huge difference especially during a start-up's growth phase