kutenai
I mean, it isn't "Horrible", but I'm not feeling it. I'll continue to use Postbox for now, and be searching for an alternative. I already have a paid copy of Spark -- but never really loved that either (but there is a Phone app..)
The search shall go on.
> Running cheap hardware is fun and will make you want to improve your craft
I see nothing fun about that, to be honest. We must agree to disagree here. As far as Improving my craft? Disagree strongly. Improving my craft means learning the technologies better, mastering new technology (AI, LLMS), and writing code. Has nothing to do with being on a crappy machine.
> Anyone trying to make a profit on the tools I depend on will eventually screw me over by capitalizing on that dependency or leave me in the lurch by abandoning the business
Sounds like someone has been burned before. I do agree that using JetBrains software (my personal favorite) does make you somewhat dependent.. But, if JB died tomorrow, I'd find the 'next best' thing.. I would adapt. The "possibility" that JB might die does not make me want to NOT improve my daily work life..
> Oh, but I certainly do - and, like most of us, I care far more about my own opinion of myself than I do about yours. It feels good to get by with less; it suits my aesthetic. Self-imposed constraints are almost as interesting as external ones, and discipline sharpens my skill.
This is the unreconcilable different part. It always surprises me that some people just "like" the challenge (or whatever) to get by with the lowest possible hardware.. but, it is obvious that some just love that. I just love having a nice machine and environment.
I get this is the same motivation that drives someone to get a really "nice" car, and others to drive an old beater cause "it gets you where you are going just as well as that Mercedes, Lexus, etc...
> You seem unreasonably angry by the choices others make that don't even affect you.
Yeah, that's on my. Sorry for the angst. I'm not really as angry as I sound. I apologize for the tone. We all have our preferences, I need to respect those of others as well.
I'm a Software professional - most reading this are also. We get paid pretty well in general. I don't compromise on my tools, my hardware, my monitors, etc. I buy software tools that make me happy, better IDE's, licenses to tools I find useful, etc.
This mindset that a "good" software engineer should be a cheap bastard is insane to me. I respect my craft such that I'm willing to pay OTHERS that develop good software, and good hardware. I buy the most expensive computer I can afford. Period. You want to get by on some old boat anchor? You have something to prove? Fuck you. You don't respect yourself.
My Macbook pro has the fastest 4TB SSD you'll ever see. I use about half of it.. so what. I get no brownie points for "using all of my disk" More is better. I can run dozens of apps simultaneously -- I have so many apps running I can't count them. I rarely reboot -- get annoyed when I have to.
I could probably "get by' with less of a machine, but fuck that. I live my laptop, and I can run 4 full screen large format monitors with it.
Have some self respect. You are a professional, buy yourself professional tools. Nobody gives a shit that you are some cheapskate that "gets by" with less.
It's a nice article on balance, but you definitely have some "contrive" negatives there.
- "Implied consensus" again, wrong. I mean, it's possible that "some people" might discuss a topic and then go off and do it, but generally, anything that requires "consensus" would be left until.. there was consensus. That's an easy one to fix.
- 'Knew Jerk Response' - again, complete bollucks. Nothing "scrolls away", you have a huge or infinite history, and the tools show what has not be read, so just read it when you have time. I've never been in a conversation where there is some "urgency" to read this right away and respond.. who are you talking to??
Item 7 - Yeah, I can see that one occasionally, but not the people I generally work with. On "shared internet" channels, yeah, but internal work channels.. almost never.
Some of the other items seem more real, and things I've experienced. Some seem like minor, nit-picky things though. 25 used to be 1... yeah, occasionally a conversation can drag on --- but so can an email chain.. and, don't get me started about how many "Meetings" ramble on long after the main point has been (or should have been) made.
Some key points I might make -- it's better t have many smaller conversations, with specific individuals, rather than "a small number" of truly "pile on everyone in the organization is in this channel" conversations. Maybe you need to better organize the groups of people in a particular discussion?? Just a thought.
Item 14 -- it's called search, and yeah, it works really well. It might be a great "long term reference" but then, is email? is a meeting? Is a zoom call (or equiv)? I mean, if you need something for long term -- document it for pete's sake (sorry Pete).
#15 - Yeah, that does happen..
#16 - this can be true, but, I don't hesitate to just ignore something I have to. maybe that's a "company policy" that can be implemented?? Maybe not..
My key point here would be - While Chat "seems" like it should be immediate, it is also possible to treat it as "asynchronous", where an answer is NOT required immediately. You have some good points, but I think you "stretch" the negatives to sell your overall point just a bit too much.
My $0.02
I do have OpenAI keys and Claude, and I use them both (just as the mood fits, to see which works best).
I'm been coding for decades, so I"m quite experienced. I find that an LLM is no substitute for experience, but it definitely helps with progress. I work regularly in a range of languages: Java, Javascript with Typescript, Javascript pure ESM, Python, SQL. It's great to have a quick prototype tool.
One key takeaway - learning to "drive the LLM" is a skill by itself. I find that some people are "hesitant" to learn this, and they usually complain about how bad the LLM is at generating code.. but, in reality, they are bad at "driving" the LLM.
If I put you in an F1 car, the car would perform perfectly, but unless you had the skills to handle the car, you will not win any races.. might not get around the track one time..
Also, I'm in my 60's so, this is all "new" tech. I've just never been afraid of "new" tech. I'd hate for some 30 year old hot-shot to show my up because they learned to master using that LLM Tool and I just blew it off as "new tech".
Anyway, my $0.02
Also, we tend to avoid having multiple people work on the same branch.. so, that's also a thing.
If there was a multi-person development effort, then each of those people would have to have a sub-branch of a main feature, and then they would be rebasing their work onto the 'main' feature branch.. which would ultimately be rebased on to dev.. etc.
As a team leader, I prefer to avoid "a lot of" WIP branches, but I just expect developers to rebase their WIP onto dev, etc.
Oh, and I really really dislike "merging" develop into the WIP branch. This accomplishes the same thing as "rebasing" the WIP branch onto develop, but it leaves a horrible mess behind.
Frankly, I don' give a hoot about some "history" of work. In the end, I care about the unit of work encapsulated in that WIP branch, and that unit must always add on top of develop. Rebase just makes that super clear.
Keeping things neat in the repo has gained me far more than I ever theoretically lost by some conceptual "loss" of history.
In fact, perplexity includes actual sources (via links). I couuld have posted the 8 sources that perplexity.ai cited.. I did not want to take the time.
Perplexity does have a sharelink, so, if you are really curious, here is the search and results
https://www.perplexity.ai/search/What-percentage-of-VTOCreO8...
If I have a tool, lets say I buy a 'doorbell' camera. Right now, the "app" must be curated and qualified and verified clear of defects, malware, etc by App store policy and review. (not that they are 100%, but it's a pretty decent process).
When a 'free app store' shows up, then this same doorbell camera company will just pop their app, which will become a much shittier version of what would have been available, into some shitty app store, and, not bother to make a better version.
What will happen, in practice, is that there will be some percentage of apps that become shittier and only available from the shitty 3rd party store, and not the curated (and not free) app store.
So, no, it won't be a simple matter of just "don't use that store", there will be more factors at play.
If EU actually tried to get that money, Apple would have to just halt all sales of iPhones in EU.
Now, maybe that's what the EU really wants. Are there some bitter former Nokia execs on the EU panel?????
Here are some stats for you (from Perplexity.ai): Android devices are nearly fifty times more likely to be infected by malware than Apple devices. Android was responsible for 47.15% of observed malware infections, while iPhones accounted for less than 1%
There are 50 times more Android mobile malware infections than iOS infections
Over 99 percent of known mobile malware originates on third-party app stores, which are more commonly used by Android devices due to the open nature of the Android operating system
So, EU, back off on your pushing for a 3rd party app store.
you could write it on that flame paper they use in spy novels.. now that would be cool also. Does Amazon carry that?
I use squash less, as it can be helpful for blame of course, so rebase with minimal squash (like, squash that typo fix).
The article makes it sound like a 'rebase' workflow is so complex, and time consuming. Poppycock. it's easy, and force pushing a branch cause practically zero issues for developers.
If I have to rebase develop, for example, and then force push it, then remote users only have to do this: git checkout develop git reset --hard origin/develop
Since a user would never have any local changes in develop, it would never be an issue.
The "fanaticism" about and against rebasing is overblown in my opinion. Oh, and the "time wasted" dealing with merge issues.. same, exactly the same in fact.
Granted, I don't go around rebasing everything all of the time, but a developer working on a feature just rebases to develop before they submit a PR. Sure, if there are multiple PR's then they also need a rebase merge, but since nobody would "continue" working on a feature once it is submitted, this isn't an issue.
Oh, and IF they did, well, again, they can just pull develop and rebase their feature.
Now, what I don't do is have multiple developers on a single feature branch. If my team was much larger, and that was a "normal process" then, it may well make rebasing more of an issue..
The best thing M$ ever did was add WSL2 to the OS. Now, if they could just get rid of the rest of the operating system, I'd consider switching back. Here are a few other things they might consider ditching if they want "my vote" - like they care:
- The registry - File locking of every dang file (so, you know, just reboot) - Horrible system of "installing" an app - Warnings that pup up full screen. Where is my baseball bat? - Backslash in filename. Backslashes are for escaping characters - Clippy (oh, wait they already got rid of that??) - Forced reboots twice weekly - The entire concept of "Did you reboot it??"
And, this line, double brilliant: ``` I’ve genuinely seen that the most intelligent & successful people I know truly believe they can learn from anyone - including people who are factually wrong. ```
I can't add much to this, but I'll make some additions/rephrasings
- When you submit a PR, start with the attitude "I can't wait to see what my peers point out, so I can learn from it"
- When someone points out a mistake, or flaw, or just a way to improve it.. maybe some "improved" code organization or more succinct logic, just say "Hey, THANKS!!" Be enthusiastic, appreciate their feedback, and "Opportunity" to learn. If you look at it as a "Opportunity", not as a "Criticism" then no matter what they say, you can't really be bothered by it!!! Your are uh.. anti-fragile!!
To summarize -- Don't "dread" the criticism, "Look Forward To it" -- it's how you improve, it's how we all improve.
This article should come with a trigger warning!! Live by your own rules.
I'm not saying that this "information" makes me happy -- I'm nowhere near any 1% -- but I'm saying that taking the money from the 1% and giving it to the government won't solve anything.
Try again
> ... overly complex ...
To you, it might be overly complex. Who is to say that your assessment of "overly" is accurate? You provide a specific example that seems to prove your point, at least in on particular case.
Be careful of this, as you may be the problem here.
> Their code has no consistent style
Uh, there are tools to resolve this, so, quit the complaint. Use a lint/style app, tie it to commits, or better to the IDE, and insure everyone uses the same formatter. Get consensus from the team, don't just leave it to each individual. Who is in charger here anyway?? This is a solved problem..
> They have a big appetite for adding complexity to systems
Another "subjective" assessment. Each item should be judged by it's own merits, and your "assessment that it is complex is not the final answer.
Setup a code review system, and for any 'large scale' changes, have a code review with co-workers, peers, anyone relevant. You can even discuss a proposed code change before starting the work, or, part-way through an implementation. Challenge the team to look at the proposed change and, perhaps find alternatives (if they exist), and, in that way, get some team consensus before spending the time to build a "complex" feature.
Don't judge a feature by it's complexity "per se". Some things are complex, and for one person, a "level of complexity of say "8" on a universal scale (that does not really exist), might be a 10 for them, and a 6 for someone else.. complexity is not the same to everyone, so, don't take the "least clever" person in the room as the 'standard' for what is too-complex, that will limit your system. For "complex" systems, require a bit of extra documentation. A complex system, well described and documented, can become simpler for that "less clever" person.
A bit of management here can resolve all of the issues you describe. Don't get all judgmental, use the team, and apply some leadership.
Good luck
Older generations are used to studying the field, and learning about the capabilities of the language, environment, etc.
It comes down to this. A language is a tool. Learn your tools well. Become a master craftsman in the tool, and then you will be able to craft amazing things.
If you just learn "enough" to get by for now, i.e. "On Demand Learning", then you won't even be aware if some particular capability of your toolset exists, because, you can't "learn it" if you don't know about it.
Eventually, you will "see some code" that does something, and suddenly you will be prompted to "go learn it", but your understanding will always be limited.
I still take time to read through books (Oreilly, packt, etc) or do some langauge reviews to understand what my tools can do, and do my best to get a good feel for the capabilities. As I approach a particular problem, I usually need to do some more review, more "on demand" learning to deal with the specifics of the problem.
I guess, my approach is a bit of both. General coverage so I "know" my tools capabilities, and then on-demand for the details when I'm trying to use a particular capability for the first or 2nd time.
I use the native installer available on python.org. It works perfectly on my mac, and gives me no issues. I create local virtualenvs for each project, from the base distribution of choice.
I have found zero reasons NOT to use the standard distribution, and it allows me to install any version of sub-version I desire.