“I have deemed my own work to be ‘great’ and that’s the only professional feedback I take”
“I have deemed my own work to be ‘great’ and that’s the only professional feedback I take”
In Software Design terminology, Wine and DXVK are “adaptor” layers (each convert one kind of API interface into a different kind - Wine doing Windows API to Linux API conversion and DXVK doing DirectX API to Vulkan API - and nothing more) whilst Proton is more a controller that just manages those things and adds some more functionality on top such as Steam integration for ease of use.
Without Proton users would have to know a bunch of command lines parameters and environment setup to launch all the right components with the right configuration so that they can first install and then run their Windows game in Linux. In fact this is the situation if you use Wine directly without something like Lutris to do a similar work as Proton.
Personally I prefer Lutris since it’s more flexible - for example I can configure it to run games sandboxed with networking disabled - and it’s not tightly bound to a single games store.
As pointed out higher up this thread DXVK and Vulkan also work in Windows (without Proton) were they give performance improvements.
Further, it’s perfectly possibly to run Windows games via DXVK and Vulkan in Linux without Proton - just use plain Wine (of which Proton is a branch) instead - and you also get the performance improvements (certainly that’s my perception in my system since I tend to get my games from GoG instead of Steam when available and thus run them via Wine instead of Proton).
So that’s at least two situations were the performance improvements are present without Proton, hence you cannot logically claim they’re due to Proton, even indirectly.
Logically the place most likely to yield performance improvements is the full implemention of a rendering stack directly on top of the hardward which even has its own architecture - Vulkan - since there’s a lot more room to improve usage of hardware resources at that level, though things like pre-conversion and caching of Vulkan shaders from DirectX shaders, which are done at a higher level (Proton or DXVK), can also improve performance.
It’s possible that Proton itself is delivering some performance improvements (for example, via the trick of, pre-converting shaders from DirectX to Vulkan before game start, uploading the generated shaders to the Steam servers and then other users just download the converted shaders and do not require that step, which should speed up game start tough I have at least one game were it actually can slow down A LOT game start because the generated shaders are massive) versus solutions using DXKV + Vulkan without Proton, but that’s not really enough to sustain a claim that the performance improvements are mainly thanks to Proton in the face of also seing the performance improvements when Proton isn’t there.
Even if AI is an actual tool that improves the software development speed of human developers (rather than something that ends up taking away in time spending reviewing, correcting and debugging the AI generated code, the time savings it gives in automatically writing the code), it’s been my experience in almost 30 years of my career as a Software Engineer that every single tooling improvements that makes us capable of doing more in the same amount of time is eaten up by increasing demands on the capabilities of the software we make.
Thirty years ago user interfaces were either CLI or pretty simple with no animations. A Software Systems was just a software application - it ran on a single machine with inputs and outputs on that machine - not a multi-tiered octopus involving a bunch of back end data stores, then control and data retrieval middle tiers, then another tier doing UI generation using a bunch of intermediate page definition languages and a frontends rendering those pages to a user and getting user input, probably with some local code thrown into the mix. Ditto for how cars are now mostly multiple programs running of various microcontrollers with one or more microprocessors in the mix all talking over a dedicated protocol. Ditto for how your frigging “smart” washing machine talking to your dedicated smartphone app for it probably involves a 3rd machine in the form of some server from the manufacturer and the whole thing is running over TCP/IP and using the Internet (hence depending on a lot more machines with their dedicated software such as Routers and DNS servers) rather than some point-to-point direct protocol (such as Serial) like in the old days.
Anyways, the point being that even if AI actually delivers more upsides than downsides as a tool to improve programmer output, that stuff is going to be eaten up by increasing demands on the complexity of the software we do, same as the benefits of better programming languages were, the benefits of better IDEs were, of the widespread availability of pre-made libraries for just about everything were, of templating were, of the easiness to find solutions for the problem one is facing from other people on the Internet were, of better software development processes were, of source control were, of colaborative development tools were and so on.
Funnily enough, for all those things there were always people claiming it would make the life of programmers easier, when in fact all it did was make the expectations on the software being implemented go up, often just in terms of bullshit that’s not really useful (the “smart” washing machine using networking to talk to a smartphone app so that the machine manufacturers can save a few dollars by not putting as many physical controllers in it, is probably a good example)
If it’s in your systems in an open format it’s yours, if it’s outside your systems or wrapped in some kind of locked format that forces you to go through somebody else’s software it’s de facto theirs.
Due to my own experience in software development with 3rd party solutions from way back, I never adhered to Streaming solutions (even though I was tempted) and always stuck to getting my entertainment in a media format I controlled (legitimately for a long as I could, not so much once even physical media started having DRM) because I was aware that it’s risky to outsource so much control over one aspect of what you do (in this case entertainment) to an entity which, frankly, sees you as nothing else that microscopic fraction of their bottomline.
(The funny bit is that if Netflix would sell me their Series in an open file format that I could download and at a reasonable price, I would have sent lots of money their way, same as I spent lots of money on DVDs and even VHS tapes back in the day. In fact all throughout that period I was doing something like that for games: as soon as I discovered GOG with their DRM-free downloadable installers, I started acquiring all my games by buying them from GOG)
In the fullness of time, my caution seems to have been proven right.
That’s pretty much the self-made home media system I’ve upgraded to some months ago, only mine has an N100 CPU (which is nicer from a power consumption point of view for an always on system since its TDP is 15W).
It’s wired to my TV, running Kodi on the foreground, runs qBittrorrent on the background over an always on VPN and serves as my home NAS.
From Aliexpress I got a wireless remote that let’s me control Kodi as if it was a TV box, so from my sofa I handle it as a TV box whilst from my PC I can ssh to it and to any computer kind of management.
Probably one of my best purchases ever.
The only thing I get from meeting again people I haven’t seen for decades is to, using the abilities I’ve been acquiring with time and life experience to read other people beyond the superficial, find out that most many haven’t really mature much from the people I knew and at times how much I misjudged them back in the old days when I was very naive and ran around pretty lost.
The “I’m better than that” feeling would be highly satisfying if I was a different kind of person, but it’s actually just sad that some people turn out to either having always been less than I made them up to be in my mind or failed to actually turn into well balanced mature adults.
The other possibility is that it’s all in my mind and I’m just deceiving myself, as having become more more self-deluded when it comes to others with time looks exactly the same from the inside as having become a little wiser in interpreting others.
In summary: Projection.
The chosen form of most accusations can be explained by the one doing the accusing having reached their own conclusions about the likely actions and motivations of others by thinking “What would I do in their place?”.
One should be have been assuming since Windows 7 and automated online updates that the Microsoft key used to sign OS updates is in the hands of at least the NSA (and hence probably the Israeli equivalent) and they can push whatever they want to your computer as an OS update, bypassing all protections.
In fact the same applies to Linux updates of certain distros - if they’re maintained by a company based in the US they can be forced by FISA courts to provide the signing keys to the US Government.
More in general, just go read about FISA courts and their secret court orders - companies based in the US or hosting things in the US can be secretly forced to just “give the keys of the Realm” to parts of the US Government.
Since things like the Patriot act one should be treating companies based in the US as just as untrustworthy as companies based in China.
(By the way, some other supposed Democratic countries have similar or worse systems - for example the equivalent of FISA courts in the UK have things like secret court sessions were the side which is not the State is not authorized to have a legal representation, see most of the evidence or even know the decision of the court).
Have people already forgot most of what came out in the Snowden Revelations?!
I really like the social engineering element of your documentation strategy!
At one point I was hired as a developer by an IT Products company which was starting a new area using (at the time) more recent technologies and programming languages, but until the thing really started going they had no significant work for me to do so I did QA for a few months (mostly automating QA).
Let’s just say that having a hacker mindset and a bit of a dastardly satisfaction in “cracking” the software is a big help in QA.
I suspect that I might have enjoyed the “managing to find a way to break somebody else’s code” part of it a bit too much.
Look, computers are like idiot savants - incredibly fast and capable of doing all sorts of things with mindless determination, but without a shred of common sense - so when you’re programming you have to literally explain everything including what for you is obvious and there is a whole class of bugs (around corner cases and boundary conditions) related to the programmers not explaining absolutelly everything and forgetting some really rare or unusual situations.
For documentation purposes one should assume that at least some users are like computers, without the savant part.
All lot of it is, without exageration, more at the
Put the proper side inside the cup
level of clarity: in other words just moving the “everybody should know this” element around rather than concretely just coming out and clarifying the bit that in the programmer’s mind is “obvious”.
Curiously, the pirate version works fine offline.
It’s almost as if being online is not an actual technical requirement…
Go check in Aliexpress: there are tons of non-smart phones, especially the stuff marked as “senior phone”, and they’re pretty cheap too (like $15 for a mobile phone that just does calls and SMS).
If you want the stuff that’s not glitzy and heavy on marketing you need to get it from where the factories are, not were the brands are - basic mobile phone tech is a thoroughly solved problem and highly integrated nowadays and well within range for even smallish electronics manufacturers to design themselves.
Also check HMD, the Finnish mobile maker who bought Nokia’s mobile business, who also have several non-smart models (including old Nokia models).
Edit: No idea if any are flip-phones though. Here’s an example flip phone
In some cases my 0 minutes played are because I bought it in Steam but had to go get a pirate version to play it in Linux (via Lutris and Wine rather than Steam and Proton) since the Steam version didn’t work in Linux but the pirate one did (probably something to do with the game’s own DRM, which in the pirate version has been cracked)
Which, IMHO, is more sad than just buying a game because it’s cheap and never actually getting around to playing it.
I’ve seen, again an again, deploying to Staging and integration testing in that Production-like environment together with the software of other teams, reveal problems that we did not saw in Dev, thus saving us from deploying into Production software that broke or, worse, corrupted the database.
This was certainly very important when I worked in environments such as Investment Banking where Production being down because of integration issues or, worse, sending bad data to other systems or the database having to be rolled back to the overnight backup, might mean the business losing millions of dollars.
It’s not a foolproof mechanism but it certainly catches most integration problems, which are often most of the problems in complex environments where multiple teams are responsible for multiple highly integrated software systems,
Granted, little teams doing small software systems in simple environments were their software has little or no integration with other software, can probably get away with not having a Staging environment if their Dev environments has the same setup as Production (same OS, same database and so on) since they’re going to have very little in the way of Integration problems with other people’s software.
The first sign that the company you just joined is amateur hour, every hour of the day, every day of the year is that they don’t have a Staging environment.
Well, I haven’t really made any large wire transfers to accounts outside the EU from that bank in over a decade so can’t really confirm or deny.
I do know that in past experience with banks in general, the people checking the validity of suspicious transations (and large transfers to accounts outside the EU tend to fall into that classification given the prevalence of online scams from countries were the Law is a bit of a joke) will actually call you, or at least they did in the UK some years ago (pre-Brexit) which was the last time I had experience with something like that.
(At one point I also worked in a company that made Fraud Detection software).
Maybe they switched to SMS to save money, I don’t know.
Probably found at the bottom of a Complaints Form.