yuribro
Smart (and simple) ways to prevent symlink attacks in Go
Microsoft Sculpt Wired Conversion Mod
You can spell out all your types into explicit structs (where you can choose between a simple implementation with a little worse performance or to make the implementation a little more complex) and pass them around.
There are many complex code bases (kernels & databases come to mind) which use C (not C++), and they don't resort to passing void* around the "business logic" parts.
The idea that for a complex project you would choose a different language with so many different characteristics due to a minor detail about the type system (this is not exactly Haskell vs JS...). This kind of decision making would not pass in any reasonable organization...
>> bellard is a programming genius and true C hacker. his works are so great ...
It's probably related. Obviously it's his and only his decision, but I wonder if him slowing down to share the knowledge and skills could have been more productive in the sense that others could do similar work.
It makes sense only if you'll ever need this scalability. And you take a hit on other fronts too: Infra cost, Deployment complexity. And both deployment complexity and code complexity also increase QA cost, instability, product and company reputation.
>> much like people don't often start with SQLite today
Maybe they should start with SQLite by default
Errors vs. exceptions in Go and C++ in 2020
A Philosophy of Software Design – John Ousterhout – Talks at Google (2018)
If apple would have done that (for Maps and other services), how would it be different than Google?
Google offers these services for free to the end-user and generates revenue from ads.
Apple is using these services to sell more hardware devices, and generates revenue from there.
Should be interesting, especially if it can leverage lsp for the code analysis.
Salaries for developers are in the 60-80K EUR gross in DE[0]
The US median gross is <40K USD [1] and for software developers it is close to 100K USD (probably much higher is SV and major tech hubs, and much lower everywhere else) [2]
[0] https://teleport.org/cities/berlin/#salaries [1] https://en.wikipedia.org/wiki/Personal_income_in_the_United_... [2] https://money.usnews.com/careers/best-jobs/software-develope...
‘Breath’ Review: Eager Breather
And finally, it talks about hashes (without even claiming cryptographic hash functions), and but it's not about the base64 strings...
> is becoming less Unix-y every year
And the examples given are: no package manager, outdates packages, not open free software
Doesn't this exactly describe the original UNIX OSs? Solaris, IRIX, HP-UX and so on?
It sounds to me like a self fulfilling prophecy - he models his expectations on a modern Linux or BSD distribution, and of course at the end they will match what he wants.
Also, I do think it's a little dishonest not to point out that one of the recommended products is made by his employer
It looks like you identified the root causes of the problem here: the fact that you're not the dev doesn't have to be a problem. It's the fact that it's under-documented & has bad metrics.
While everyone understands that we will always have bugs and issues (at least while we keep working in the current paradigm for software development), having good designs, documentation and metrics is attainable. It just has to be prioritized by management.
> "our agile sprint planning will never allow time for that"
Sounds like those who call the shots either don't understand the cost of not doing these things, or believe that it's more cost effective not to do them.
Sounds like a great feature!
Recently we had a post about websites smaller than 1MB, I think this is a much better metric: "Will load on iPad 2 in <10s". Or "Will load on a Pentium II without OOM"
It’s Time for a New Old Language (YouTube, 2017)
What's great is the flexibility and customization for each individual employee.
People read for a variety of reasons, from professional books to books purely for entertainment. It also has to be said that while in those "pre-modern" times books were the most common medium, today there are many different ways to consume knowledge: newspapers, journals, blog posts and websites, graphic novels as written material, and we also have radio, tv, film, podcasts and many other types of source which serve the same role as books once did.
Also I feel like changing the indent of the cursor (manually) when exiting a block is more or less the same work as typing }, and I got used to it to the point it becomes automatic.
But I guess at the end of the day it's a matter of priority. Is that more important than having special syntax for dicts? I really like the fact that we have the tuple/list/dict distinction, and would be great if we had a different paren type for sets (which would have eliminated the {} vs set() issue). On the other hand, going with begin..end or if..fi blocks would be even more antagonizing than using whitespace.
VisualAssist was a very popular plugin for it (don't know if it's still relevant) which added functionality inside the GUI.
Recently there was a thread about Factorio (the game), which is all about automating. And once you have standard-ish inputs & outputs, you can achieve a lot of automations, in a different way.
It also highlights that the shell has limitations: it's hard to give multiple inputs, and handle outputs and create a complex pipeline. (I guess that's why we have things like Airflow)