719 karma · joined March 7, 2020
It seems to me that much of the system is designed in a way that gives a lot of power to the employer.
I use qutebrowser, vivaldi and brave (on mobile) and sometimes console based browsers when I can get away with it. Qutebrowser and Lynx are open source. Vivaldi and I think Brave aren't open source? I'm using them because I read about their team, their business model, their past and hung out in their forums and decided that I'd support them. Doesn't mean anyone else have to. And there's nothing wrong with making money off opensource software and that's how it was intended in the first place. Original open source software authors didn't mean that the software has to be free of charge. For me, I don't want to support an organisation that sacks the researchers of their core product but the execs pay themselves millions of dollars. Most of those dollars come from Google. I'm sorry that that makes no logical sense to you.
In its original form, free and open is noble. But since then, corporations have figured out how to monetise it. So, IMHO, we need to be very careful about anything free and open coming from corporations because their core objectives are very much orthogonal to the core objectives of the original free and open software movement. Those execs aren't the hackers who built the gnu/Linux tools in the early days.
I will start using Firefox when it leaves Mozilla and I'd pay a subscription for it. For me, the ideal situation is a lean team (hopefully only the devs, because I'm not paying any useless middle or high level managers a penny) start developing it for a fee. Just the browser will do, no password managers, no vpns, no nonsense. I already pay for subscriptions for those.
I've seen many here on hacker news expressing willingness to pay and the only reason that they don't is because they don't want to pay for other Mozilla nonsense but Mozilla doesn't want to open a direct channel for the community to support the Firefox team. I find this outrageous. Clearly, they are using Firefox, its very talented devs and the image of their noble fight for a private internet to fill the pockets of executives who don't know shit about engineering or the ethos of opensource software.
> "The most important things are an advanced method of requirements generation and change management."
Makes perfect sense seeing how those wrecking havoc in far simpler software I'm working on. Thanks very much for sharing.
After all that there are still more architectural discussions, meetings to clarify stuff. And then we break interfaces every other day. Reason given is "way of the agile". I can't speak in general, but it seems that we couldn't design a solid software for the long run if our lives depended on it anymore.
I wonder what kind of processes industries like aviation, defense, and other high stake industries have?
I wanted to learn more low level programming when I was a C# dev, and coming from an OOP background, I chose C++ (also I had encountered c++ in school as a first language) . Man, was it humiliating asking questions even on stack overflow. Apparently everything is obvious and I'm an idiot.
In any case, I dropped C++ (not because of the obnoxious community but the language felt so poorly designed, coming from C#) and turned to C. Its been so far an amazing experience learning from C community. They are deeply insightful about computers and genuinely willing to help new engineers. Very experienced and very high calibre c engineers were helping me out without trying to show off how much smarter they are than the rest of the world despite being clearly far better and smarter than I am.
If they're an enduser, btn click is exactly what they should use. If they are an engineer, and clicking btns is all they know, then they are going to be a very limited engineer. This too is fine and there is a place for that. But, if such an engineer starts to think that they are a great engineer because they solve all the problems quickly whenever there are btns, they are going to be a liability for teams when there aren't any btns to click. Because they are going to be too arrogant to listen to those who might know how to solve them which aren't necessarily btn clicks (because to them all solutions must be btn clicks). You see, it's more than a matter of principle. It's about the calibre of the engineer you want to produce.
I really regret those years lost.
I personally wouldn't want to see 15 commits to the main branch from one PR regardless of how descriptive the commit messages may be.
No smart watches, home automation devices, wearable fitness devices, none. I've used some of them at one point or another and in hindsight, while they did bring some benefit (mostly convenience), I found their privacy, financial, environmental costs to be just too high to justify the marginal benefits.
Give me a minimal Linux machine and the vibrant Linux community where we fix each others' issues and I'm a happy engineer and a human being :)
There are pointers without pointer arithmetic, I really don't know why they are there. If you already know programming you will be fine with go, but if it's the first language someone learns I think they'll go catatonic when they are exposed to real pointers, dealing with shared memory, package management, generics, etc. because its going to be hard unlearning ways used in go.
On the plus side go is small and very performanent.
Android corrupted the ethos of FOSS, decimated all hopes for privacy, contributed to destroying the environment, stripped users of freedom of choice. I think it'll take a very special group of people to reverse the tide.
So a "pure language" here is just a bs marketing term rather than any inherent feature in the language. As far as purity goes, a language like c does that just fine. That's as pure a language as it can get.
This whole opinionated "can never allocate memory" is condescending to engineers. A powerful language should be safe by default (to take some of the pressure off the developers of having to be always careful) but have the knobs to let them take full control when needed. C# does this very well.
To give an example, after the recent WhatsApp PR crisis because of the change of toc, I see a whole bunch of my contacts changed to Telegram. They could have chosen Signal but no. They switched from an end-to-end encrypted app to an unencrypted app! That's what paranoia gets you unless you know what you're doing. I've pretty given up on the average user on these matters.
When these people say "surveillance" they mean they think that Facebook magically hears it when they say something out loud and they start seeing ads for it. We engineers overestimate the awareness average user has about technology.
1. I get to see the progress of the project as a whole on a daily basis. Without the stand ups, I probably would have no idea how and what we are doing as a team and I'll just be doing my own thing.
2. There were times I mentioned an issue I ran into and others chipped in with helpful ideas (sometimes even the solution) saving me time. If it weren't for the stand up, I would have just solved it on my own anyway but could have taken more time. In a way, this opens up a helpline.
3. If you are a team lead, this can help make things more predictable. There's an understanding what everyone is expected to do in a regular meeting than scheduling meetings when you think is needed but others may not have the same motivation for a meeting and can end up same few people talking every time.
I hate meetings in general, but I hate surprises even more. So, seeing meetings pop up suddenly on my calendar is something I really dislike. Agile and the stand ups at least make things predictable like short 20 minute meetings every day. After I get through that, I know I'm not gonna be bothered again for the day :)
So, if a system is predictable up to an upper bound of one year, is that still real-time? My understanding of real-time was pretty much as quickly as something happens with hard constraints on latency. I think "fast" is implied when we say real-time.