I wasn't precise enough, my bad. I was referring to the comment about which says that by Switzerland restricting the moves from EU, loses the free movement to EU. My comment says that this is less of an issue -- the real issue comes from the market restrictions that EU will install against Switzerland.
HN user
mrazomor
It's not about free movement, but "free trade"/joint market.
Having rich countries support its poor neighbors is an ingenious solution to improving your quality of life. You impose your rules, regulations and monetary policy, they get capital for internal improvements. If there's no huge waste or theft (which sadly exists), you end up with wide, strong and stable continent-level middle class. Which is great goal, as we can see when observing Switzerland -- wide, strong and stable country-level middle class.
Last time Switzerland attempted something like this (~10y ago), it got burnt, hard (lost a lot of EU related projects and academic financing). Cutting the economical/market ties with the EU, considering its position and dependencies, is a suicide.
I did the same after Netflix dropped movies I cared about.
First I tried playing DVDs straight from PC which is connected to TV. That was horrible quality and UX.
Then I bought a good quality DVD player with hardware upscaling. It provided better image quality and slightly better UX. But you still had to deal with the menus and buch of other slow loading stuff that comes with DVDs... Gave up on it.
My daily driver! Considering how much time I spend with these tools, it's surprising that I had relatively few iterations over the years.
I have two major use cases:
1) a TODO list
2) longer texts (project plans, travel plans, shopping lists for things to buy sometimes in the next 6 months (e.g. books to read), etc.).
The TODO list is my daily driver. As the family became larger, it became difficult to track what needs to be done the next day (including simple things, like "give a daily dose of vitamin", "clean & lube the bike chain every 2w"). For a very long time, I used pen & paper. It was OK, used it for years, but it didn't scale so well with kids. An Android TODO/reminder app with notifications and repeats was a life saver. I used BZ Reminder (https://play.google.com/store/apps/details?id=com.bzzzapp) which ticked all the boxes. But the author decided to downgrade the lifetime licences to periodic... It's still not expensive but I don't approve the behavior. After trying out a dozen of similar apps, I ended up with "Reminders: Todo List & Notes" (https://play.google.com/store/apps/details?id=com.pocketbril...). I can't live without a tool like this anymore. TBH, pen & paper TODO lists are still around.
For the longer texts I used an offline wiki (ZIM) for quite some time. Then gradually moved to Google Keep (simple, can accept text & lists, and can be shared). The Keep collection kept growing. With both lists and texts. It's pretty bad input method, but its simplicity kept me using it for years. Now I'm happy with simple txt files (syced between phone & PCs, and properly backed up).
Heavy use of C++ templates can significantly increase the binary size. Same for the heavy use of generated code (e.g. protocol buffers etc.).
IIUC, the Swiss German can't make a cut as there's no standard written form (and with it, not much resources), and the variations between the cities are pretty significant.
I have zero experience in sales and marketing, but I was wondering how I would start if I had to do that. After reading a bit about it and googling around, I stumbled upon Alex Hormozi and his YouTube channel: https://youtube.com/@alexhormozi
It has a lot of content & good presentation (minimalistic, but crisp). All about sales and marketing. I have no idea how an experienced sales or marketing person would rate it, but to me it sounds reasonable and useful. Give it a try (e.g. try this video: https://youtu.be/FMzKk73iUhw -- his videos have clickbaty titles, and are pretty long -- don't let that discourage you).
He also has two books (sales and marketing), but I didn't read them yet. The reviews say that they are somewhat basic. I'll still give them a try.
The summary in this article is golden!
I was in a similar discussion some 10y ago. After a few rounds, we concluded that for a really good reliability you could do the following:
- no service is expected to last long enough or to keep your data safe,
- a physical medium is the way to go,
- create 3 backups stored in different location,
- use a different brand for each backup,
- every 10y review the backups: check the data degradation, rebackup on a new medium if the current one is getting phased away, reencode the content if the format is becoming obsolete & hard to open. [IMO, this is the key point]
Getting the old works of a predecessor on a physical medium is a really good feeling (I know how I felt when I'd discover the old notebooks from my father, uncle, etc.). Based on my experience and Internet, CD-R seems to be a good choice if the data volume allows. But it's getting slowly phased away. (fun fact: a few months ago I found the first CD I burnt -- works flawlessly (although, no checksums checked) after 25y)
What the OP is referring to requires overprovisioning of the high priority traffic and the sine-like utilization (without it, the benefits of the "batch" tier is close to zero -- the preemption is too high for any meaningful work when you are close to the top of the utilization hill).
You get that organically when you are serving lots of users. And, there's not much GPUs etc. used for that. Training LLMs gives you a different utilization pattern. The "best effort" resources aren't as useful in that setup.
This assumes the common resources (CPU, RAM, etc.), not the ones required for the LLM training (GPU, TPU, etc.). It's different economy.
TL; DR: It's not ~free.
It's about the different ways the language allows you to shoot yourself in the foot.
I worked on large Python, C++, Java & Go services. I have 10y+ of experience with the first 3. C++ allows you to write incomprehensible code (even to the experienced C++ devs) and justify its existence (because of the performance gains). But you need to be a top expert to write a compileable code of that type. I'm comfortable with diving in any C++ codebase except for the libraries like std, boost, abseil, folly, etc. Most of the code there is absurdly difficult to comprehend.
On the other hand Python leads in the ways a junior dev can introduce hell in the code. Especially if the team doesn't rely on the strict type check. I have seen horrors.
I was bewildered when I realized that working with JavaScript with type checks (Closure compiler) was insanely more productive and smooth than working with Python (before the type checks).
That's why Java won the enterprise world. It takes an effort to make a mess in Java (but people still manage). Go is in a similar place.
In my case, it was the integration testing framework built for a large Python service.
This was ~10y ago, so my memory might not serve me well. A bit of context:
- proprietary service, written in Python, maaany KLOC,
- hundreds of engineers worked on it,
- before this framework, writing the integration tests was difficult -- you had a base framework, but the tests had no structure, everyone rolled out their own complicated way of wiring things -- very convoluted and flaky.
The new integration tests framework was build by a recently joined senior engineer. TBF, it's wrong to say that it's was a framework, if you think in the xUnit sense. This guy built a set of business components that you could connect & combine in a sound way to build your integration test. Doesn't sound like much, but it significantly simplified writing integration tests (it still had rough edges, but it was 10x improvement). It's rare to see the chaos being tamed in such elegant way.
What this guy did:
- built on top of the existing integration tests framework (didn't rollout something from zero),
- defined a clear semantic for the test components,
- built the initial set of the test components,
- held a strong ownership over the code -- through the code review he ensured that the new components follow semantics, and that each test component is covered by its own test (yep, tests for the test doubles, you don't see that very often).
Did it work well longterm? Unfortunately, no. He stayed relatively short (<2y). His framework deteriorated under the new ownership.
Travis, if you are reading this and you recognized yourself, thank you for your work!
With this in mind insurance is a service worth paying for as long as the fee is lower than utility you gain from it.
Why even consider the insurance as investment (money increasing tool)? A stock market would get you higher gains at more controlled risk.
The 3rd best financial advice I got is about insurances: "Pay the insurance only if the negative outcome would cause you a significant financial loss" (and is of relatively high probability)
So, insuring a house from fire etc. makes sense. But, my $2k bike is not worth covering (from my PoV). Or, if we go to extreme, my (unnecessary) motorbike/boat/jet ski as if they are destroyed, I can continue living without them (a bit of exaggerated example, but I hope you get my point). Same for insuring a house from unlikely events.
Tesseract out of the box is terrible for anything non standard. I tried using it for the comic books. Unusable. The training for your font is doable, but it's very time intensive (while the tools are pretty good!).
Even though I'm finding this AI hype ridiculous, some of the screenshots look fake (self harm related, profanity, etc.). The filtering at that level is solved ages ago.
Are the answers stable/reproducible? (I'm not in a location where this is launched)
But the absurdity of most of the answers is believable. I'm still perplexed at how much Big Tech is betting on this broken (and absurdly expensive) technology.
This is amazingly well said! It deserves a huge virtual billboard.
If I understood it correctly, it's not much different from what `absl::flat_hash_map` does.
Look for "Metadata information"/control bits at https://abseil.io/about/design/swisstables
That's mostly intuitive.
An accurate answer is often driven by a concrete and highly confident fact in the training dataset (e.g. structured data fact, like a birth date from Wikipedia etc.).
The hallucinations are derived facts of (hopefully) low confidence. Nondeterminism is more common if you have low scores. Only a few facts can take high score (in a usable system), while many can take a low score -- then numeric instability can make a mess.
I'm not very familiar with LLMs, but I do have experience with the traditional ML models and content understanding production system. But, LLMs are not far from them.
https://www.stellar-attraction.com/ is an amazing prog place. I discovered so many great songs and bands there.
In (1) you imply that hallucinations are strictly due to nondeterminism in GPT computation. A hallucination happens (IIUC) because of the numeric imprecision, model regularization and various thresholds. In short, the hallucinations can be reliably reproducible (but, they can also happen due to non-deterministic computation).
Chrome gives me the graph, and rich stock data. Firefox gives a minimum amount of data (vanilla install, no addons). See:
I get the same behavior for the people queries like "Barack Obama". (Android 14, Pixel 4a)
Found one! Google.com ... Try googling "vti stock" (or any similar rich ui query) on chrome mobile and Firefox mobile.
I hit a few in the past. But, I'm failing to find any of them at the moment... Maybe I should give Firefox mobile another try.
It could be that my baseline was the Chrome rendering, so any discrepancy was classified as "it's broken".
a large part of the modern internet users are mobile-only, and the amount of people who use anything but what Google tells them to (or Apple allows them to) is vanishingly small.
I'm a Chrome user. Both on desktop and mobile because of the built in syncing.
If I were able to switch to Firefox mobile (Android), I would. But the rendering is often broken or awkwardly different on Firefox mobile. I thought this is a thing of the past...
I've built something similar for myself (fzf+a bit of shell). But I realized that fzf's history view (with very long history buffer) works much better for my use case.
I still needed something to cover rare commands with dynamic arguments. That got covered by Navi: https://github.com/denisidoro/navi (takes more friction to add new command than with TBMK, but you get much more organized and easier to search tool).
> the signals I'm looking for: (1) can the candidate code fluently, (2) do they approach the problem in a systematic way, (3) can I communicate with them without friction.
Isn't this a sort of cultural preference on its own? You're looking for (and prioritizing) people who can code a certain way and communicate with you a certain way.
Fluent coding doesn't imply style or something non-measurable. You can say if someone is fluent or not even if they are using a programming language that you don't know. I interpret it as: do they struggle while converting their idea to code, or not. Not how they structure the code, etc.
Same for the systematic approach to the problem. If their explanation is all over the place, or failing to uncover the important bits of the problem[1], bias doesn't kick in here. We can argue about the appropriate layering of the solution (the level of detail). That's where different people are different. But you can see if their strategy works or not once they put it in code (i.e. maybe they should have put more structure in their approach).
[1] (I: "Code me a string invertor". C: "Yes Sir! Here you are." I: "That's not what I had in mind.").
A brilliant programmer from a different code style background, who's maybe an introverted poor communicator (or just have a different communication style)
Well, if I can't communicate with them (there's high friction), I shouldn't work with them. This is a bad fit by definition. They might find a better fit at another company.
> As soon as you hit strong cultural disagreement (e.g. "new technologies" is a minefield)
I am not sure what you mean by this. This is a question I ask and I’m concerned there’s something I’m missing here. Could you elaborate?
Easy :). Take me: I hate Go and think Java is the best programming language there is. (My daily drivers today are C++ and Python.) NodeJs should've never been invented. I'm pretty opinionated when it comes to this. I'd still accept the position where I have to code in Go (been there and it was OK for both sides), but I wouldn't keep my mouth shut during the interview -- I wonder how that would go with 80% interviewers.
How do you comb through and make an initial choice of who to interview then?
Sorry, I didn't put it explicit enough. I don't do the initial selection or leveling. This is done for me. The CVs are useful for this. But if you can avoid reading the CV (e.g. assessing only the raw skills), then you should.
I'd probably fail the author's interview. As soon as you hit strong cultural disagreement (e.g. "new technologies" is a minefield), the interviewer has to be a mental Hulk to proceed without bias. Goodbye diversity.
I've also done 100s of interviews (small and large companies). What I learnt:
- CVs are useless except for leveling the candidate (which is done for me),
- CVs are dangerous because they create a bias ("looks like an amazing candidate!" -- an then you get someone who is good, but not amazing as you expected and then you rate them lower than you should -- I intentionally skip the CVs as much as possible),
- majority of the people will solve a simple problem at the algorithmic level, and then fail to code it up,
- the best value is to give the candidate a SIMPLE coding question which produces a decent amount of code (25-50 lines), and observe them while solving it (their approach, bugs, etc.),
- the signals I'm looking for: (1) can the candidate code fluently, (2) do they approach the problem in a systematic way, (3) can I communicate with them without friction.
The article doesn't touch upon some major pain points. While the sea side is nice, it heavily relies on tourism and short term rentals. A long term rental is difficult to find during the summer time and it's not well regulated.
The capital (Zagreb) is overcrowded and its infrastructure is getting worse every year. I spent many years there. Now, I can't imagine living there again (judging by my occasional 1-2 day long visits of it).
And, I'm not sure how much the tech sector plays the role for the digital nomads. Some companies did grow a lot, but I don't find today's tech sector (mostly in Zagreb) much different from the one 1-2 decades ago.
You are mostly left to the local market, which has a significant outflow to the rest of the Europe for the past few decades.