Youtube comments of Traveller (@traveller23e).
-
This video misses out on one very important fact: Trains, fundamentally, are not like planes. Yes, they are both modes of transport. Yes, it's good when both are cheap. But the difference is that planes are not mass transit systems like trains are. The number of people who commute by plane is negligible, and the mode of transit in general is very badly suited for that task. Trains however are mass transit, or at least can be. Although long distance trains can be compared to flying, regional trains cannot, and here's where my worry is: typically, the most profitable part of the railway system is the high-speed service. It's not clear from the video and I don't know from elsewhere what the pricing looks like for companies to operate on the rail infrastructure, but for the most part it won't make sense for companies to operate the regional trains that are really the important ones when it comes to public benefit and environmental impact. In Italy we've already begun to see this. Over the last few years Trenitalia has been announcing all sorts of great high-speed routes at a fairly low price (e.g. Milano to Paris), but at the same time they've been quietly deemphasizing regional trains. Italo has been operating as a competitor to Milano, and that's great, but most of the country has no competitor to bring the price down on regional trips. Those are held down I believe through government funding, however in many places lines are closed or service so bad as to be unusable. Additionally, the more the government thinks of trains as a commercial sector rather than a public service to be funded and directed for the good of the people, the worse off I think we'll be. That's the kind of thinking that got Britain its privatized network, and we saw where that got them.
Actually, that's a good point- How come Britain's privatization mess not make it into this video? It would seem like a prime example of what happens if you rush towards deregulation on a public service.
Additionally, as others have pointed out, privatizing and then allowing companies to swoop in and make their for-profit booking sites to take advantage of the confusion is a terrible solution to the problem. At present, if I need to take a train from Italy to Austria, I have a grand total of two booking sites to look at. If I need to get to Germany, make that three. Rather than making it a healthy half-dozen and then capitalizing on the resulting mess, why don't we, and I know this is gunna come across as a huge breakthrough of an idea, just make a site and app for booking trains across the EU, funded as a service by the EU? I know you mentioned countries don't like publishing their schedules, but if that's an insurmountable issue your proposed app won't have the timetables for ex-national/quasi-still-national operators anyway. It really doesn't make much sense to me as an argument for nationalisation.
All in all, it really doesn't strike me as one of your better videos, I'm afraid. It feels like you got convinced it was a good thing and then were bound and determined to prove that point.
Honestly I think this is a step backwards from a sustainable future where anyone can take the train to where they need to go, but let's be honest if our government is anything to judge by they're well and truly sold on the idea that electric cars are the future. It really makes me sick.
1100
-
548
-
167
-
142
-
116
-
105
-
83
-
61
-
57
-
56
-
45
-
44
-
42
-
39
-
38
-
37
-
37
-
35
-
34
-
34
-
33
-
33
-
32
-
31
-
30
-
28
-
27
-
25
-
25
-
24
-
24
-
@Davebsuk The thing is, at present the vast majority of people in western nations live in cities (I'm not sure about global statistics, but I believe this goes for most other places as well) , and any decent city shouldn't require residents to have cars. Heck, a good city should discourage car use to improve the living standards in the city. If you don't need all that noise, confusion, and danger, might as well get rid of it.
A lot of pedestrians, dozens of bikes, and a bus (or better yet, tram) passing every couple minutes is way nicer to live in than hundreds of vehicles to navigate around, which when not in use either end up parked on the street or in dedicated parking lots (meaning you have to dedicate a ridiculous amount of terrain for for storing rolling cages for moving people as inefficiently as possible).
There are definitely places (every American suburb, I'm looking at you) where this isn't really feasible at present in large part because they've intentionally designed their city to make them a heaven for cars and no one else, and I really wish in places like those they'd invest in infill and mixed zoning to make their cities more livable in the absence of a car. In a way they've made things as difficult as possible for themselves when it comes to transitioning to be sustainable.
24
-
24
-
23
-
23
-
23
-
22
-
21
-
20
-
19
-
18
-
17
-
17
-
17
-
17
-
16
-
15
-
13
-
13
-
13
-
13
-
13
-
12
-
12
-
12
-
12
-
12
-
12
-
11
-
11
-
11
-
11
-
11
-
11
-
11
-
10
-
As a programmer, I know that no matter how hard you might try, it is in practice impossible to plan the optimal outcome for all possible scenarios in a system with any level of complexity. At some point the human in the system will act in a way you didn't expect, or the computer will kill one of the processes, or a server developed by a different team will return a web response you didn't expect. It's not always a matter of assuming something will never happen, it's just as often or more often that something just never occurs to anyone as a possibility.
And yes, there are plenty of software houses that rush stuff to market, there's plenty of code that assumes a computer's clock time won't be set to before the Unix epoch and just figure if it's an issue the code can be patched, but when it comes to systems with a high importance such as these, that require a lot of certification and so on, it's probably best to assume the mistakes weren't made intentionally to cut costs unless such a motivation and deliberate decision can be proven.
10
-
10
-
10
-
9
-
9
-
9
-
9
-
9
-
9
-
9
-
9
-
9
-
8
-
8
-
8
-
8
-
8
-
8
-
8
-
8
-
8
-
8
-
8
-
7
-
7
-
7
-
7
-
I have Arch on one machine, NixOS on another. They have fundamentally different use-cases.
Arch is fantastic if you're decently good at configurations and have a single machine you frequently need to adjust settings on, especially thanks to its incredible docs. It also does a pretty good job of ensuring you don't end up with meaningless duplicate packages. However, if you want any kind of partitioning of program installation it starts to work against you, e.g. it's easy installing a program on the system but hard to install it for just one user. It's also hard to install multiple versions of stuff if you need that (not normally a problem but it could be). Additionally, in a fairly normal install it's more or less incompatible with Haskell development due to the fact that by default Arch uses dynamically linked libraries and Haskell revolves around statically linked ones (technically options for dynamic linking exist, but mileage may vary and to give an idea some related critical bugs have sat unfixed for years).
I installed nixOS for the facility of operations with Haskell, and I can see how it would be great if you needed to install identical systems on multiple computers. It allows having packages installed only when you're in certain environments making it really easy for groups to share their build dependencies, however what's not mentioned in the video is that understanding how any of that works is very difficult due in large part to lack of clear guides and when there is documentation it tends to only cover one small part of the setup so it's up to you to figure out how the components work together. Additionally, if you're doing a lot of tweaks to your config firstly they take forever to test and secondly you'll quickly end up with lots of different versions of your machine each with its own set of binaries etc. Of course you can clean that up. The other thing is that although the versioning saves the state of your installed programs, it does not save the state of your homefiles which could easily include configs written by those same programs so it could be rolling back doesn't restore some data deleted or updated in the interim.
7
-
7
-
7
-
7
-
7
-
7
-
7
-
7
-
6
-
6
-
6
-
6
-
6
-
6
-
6
-
6
-
6
-
6
-
6
-
6
-
6
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
5
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
4
-
@voidvector Ironic you mention Java, since it still doesn't have generics working properly in a lot of the more basic classes (methods just return object and stuff, so you lose the type checking). Also, in Java and C# things like lambda expressions keep things from being pure OOP. However, I would posit that that is not a bad thing; pure-OOP is 1) a concept revered by programming philosophers, without much intrinsic merit to the programmer, and 2) a concept people claim to try for yet don't really seem able to consider in concrete terms, sort of like Clean Code or Agile. (Note to clean coders: it's not that I dislike the concept, just it doesn't have any amount of objective measurability and can when unchecked lead to voodoo programming.) One thing I think would be interesting to see would be a language with fully-fledged support for multiple paradigms but with compiler directives forcing you to explicitly label sections as hybrid OOP/procedural or functional or whatever. It would be interesting to see how people react with having to make an explicit decision like that.
Actually, I'd propose adding this feature to Powershell, as it could only make it better.
4
-
4
-
4
-
3
-
3
-
3
-
Thank you, I'm so glad I'm not the only one.
I'm 23 and was diagnosed at the age of somewhere around twelve. For me (and in retrospect probably even more for my family) it was really helpful because I could finally start to understand why I didn't ever really fit in and start to get some help in the for of books and so on targeted to that audience. I have a fairly high intelligence (particularly when it comes to mathematical and logical topics) and not too much in the way of sensory issues so for me it's mostly good, but I do struggle in social situations. I don't need help in everyday life, certainly not more than what friends can provide now and again, though I do sometimes amuse people around me for not thinking about something that is "obvious" and sometimes I have to remind myself that I'm in public so I shouldn't dance and mouth the lyrics of the song I'm listening to in my head. I do also struggle in social situations as well; that may be part of why I've yet to have a date for all my trying.
Coming from this background, more or less all discussion of autism irritates me for some reason or another.
First off, a self-diagnosis as far as I'm concerned is not a diagnosis. It doesn't mean you don't have autism, but I'm not going to believe you do just because you claim to. Yes you're very special Chad, next. Personally I've always been a little nervous and embarrassed when I tell someone, never sure how much they're going to judge me for it. Though in today's trend of marks of not being normal, I guess I shouldn't bother to be concerned. Also, by the time I know someone well enough to discuss it, there's no way they haven't noticed that after three or four sentences of smalltalk I'm out of my depth.
Secondly, the terms neurotypical and neurodivergent. When a sizeable percentage of your population is neurodivergent, and both groups have a great amount of internal diversity, I don't think it's a useful distinction. It would be a "useless or whatever" thing in my mind if I weren't seeing these terms used ever more frequently with correlation to the trend discussed in the previous paragraph.
Next off, ASD: As mentioned in this video, disorder is not always the most appropriate term. When it's mostly just thing that sets you apart and doesn't require medical attention or constant assistance, I think using the term disorder may be misguided. Condition might be a better term, as in a lot of cases much as with dwarfism there's not really anything particularly wrong with the person per se.
Dismissing it as not an issue: There are people for whom it is debilitating, so those people need support.
Really I think what it boils down to is a lack of attention to the severity of the issue and particular unique traits or struggles of the person. I suspect if there were medical classifications (preferably without the word "autism") specifically for people who really need help living their lives do to the issue and/or separate classifications for the different facets of the condition, it would be easier to discuss.
And as a last note, each and every one of us upon this planet has our foibles; just please have a little patience for those of the people around you and help out where you can. Life's too short to laugh at someone for walking funny, never remembering that you ordered a cappuccino unless they make it right away, or singing joyously one day an moping around the next.
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
3
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
@DiegoMonroyF I agree that the goal should be to give people transport, but I don't agree that roads comprise transport. What roads are, fundamentally, is a place for people who have otherwise obtained a means of transportation to use it, thus putting the burden of acquiring transportation squarely on the individual whilst also using a lot of public money to do so. If I have to own, borrow, or otherwise arrange for a vehicle the government has clearly not provided a full transit solution. That said, if I could hop on a bus or cable car rather than a train, it would be perfectly alright.
For a lot of use cases though trains are better, and they have a way of forming a central part of public transportation networks between their reliability, efficiency, and extremely high capacity.
As far as your argument for deregulating in order to force quality to rise, I have to agree that yes that does normally work, assuming that previously the service was just kinda left to its own devices in a government-aided monopoly. This assumption sadly is often correct, but the solution I'd far rather see is for the public service to actually be controlled by the government with parameters like ridership and percentage of population served as goals, not money.
As for the last one, I don't think the government should be playing the "game" of economics when it comes to public transit, it should be doing its job.
If there's someone (government or private) who's "winning", that means they're making boatloads (trainloads?) of money off of either the government or the populace directly, on the basis of a public _service_. There should not be a game to be played, there should be a legally guaranteed way for people to get from point a to point b, at an affordable price.
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
Note about the "a value cannot be null, but you can make it nullable by adding a question mark".
The short answer is this is inaccurate, but a full explanation is that there are two kinds of data types, reference types (defined by classes and interfaces, e.g. string) and value types (defined by structs, e.g. int). Reference types can be null, however value types cannot.
Therefore, if you create a new variable of a value type (as in "SomeType variableName;") it'll be set to the default value, but for a reference type it'll be set to null. If you need a nullable value type, that's actually a fundamentally a different type and is written with a question mark at the end. So, int? can be null, but int cannot. If you need to compare them, a cast is involved (if I recall correctly the int gets implicitly cast to int? prior to comparison). There are also other important differences between value and reference types, so if you're new to the language at some point be sure to learn them.
However, for some reason the designers of C# decided that this was confusing to newcomers [citation needed] and so in the most recent versions of the language by default there's a warning (hence the yellow squiggle, not red) if the compiler detects that a value of reference type that's not explicitly nullable (the question mark) could at some point in the execution become null. This has the advantage that you don't have to worry about null checking if the value isn't marked as nullable, assuming your dev team does a good job of paying attention to warnings and resolving the issues. The code base I'm working on currently has something along the lines of 4700 warnings if my memory serves (it's also an older version of C#, from before they decided to start all this non-nullable reference type stuff). However, there are a few disadvantages to this behavior too.
One is that you have to explicitly mark the type if you ever plan on setting the value to null, a frequent thing to want to do. Additionally, if you're trying to work only with non-nullable variables it can make some patterns more cumbersome (e.g. "SomeType returnResult; if (something) {doStuff(); returnResult = someValue;} else returnResult = someOtherValue; Log($"Returning {returnResult}!"); return returnResult;"). One could also argue that it can confuse people at a fundamental level about the differences between classes and structs, sort of like in Java the line between abstract class and interface was somewhat muddied when they introduced default implementations in interfaces. And then you get the people like me who just hate it for no solid good reason other than "this isn't how I learned it!" and try to justify their hatred through other arguments.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
I'm a fairly junior programmer, and the stuff I've gotten to work on has been so boring compared to my personal projects. Not just because I don't care about the program, the requirements are interesting, but like...guys, not everything needs to be written exactly the same way. Seriously, everything seems to be done with classes, not structs (even where value-type semantics would be better), it's like people are scared of using a class directly rather than in interface for that class (the other day I was asked in peer review why I'd defined the return type of a method as a List<T> rather than an IEnumerable<T> when the method created the new list internally 🙄), abstract classes seem to be a largely forgotten concept, not to mention the "clean coders" who will spend half an hour of review time debating something really trivial but then when asked about the performance implications of writing a LINQ statement one way versus another can't say anything on the subject. I'm trying to switch from C# to C for my next job, in the hope that the C crowd will have a more performance-oriented perspective. Unfortunately most of the openings are for C# and Java webservices and stuff though.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
@bogdyee Sure, the industry has all sorts of tools that help such as compilers and profilers, and unit tests are certainly helpful, but the fact is that a compiler is deterministic (assuming a bug-free compiler, mileage may vary). Unit tests and profilers are useful for testing the program. Other kinds of analyzers are good for figuring out potential problems. Not sure what you mean by the delightfully vague "cloud tools", but I assume it has to do with tracking network traffic, or maybe load balancing and stuff? But at any rate none of these are both nondeterministic to a significant degree and affect the end result. Hooking up AI straight to the IDE in a position to generate code seems like a vary risky proposition. Your comparison to a plane's autopilot is not very apt, because the autopilots have very precise operational parameters and have a predetermined set of manouvres they can do (like level change, maintain a specific vertical speed, autoland in conditions that allow it, etc). Outside of this the pilots have to take over, and even when autopilot is engaged you still constantly have a pilot flying. AI has no such limits. Even if you tell people to look over the code before copying and pasting it, what are the chances they will do so? And it's a small (and practical!) step from the dev copying and pasting to someone hooking the AI up to the IDE and getting rid of the middleman.
Regarding allowing AI to take important decisions, I suspect it's already happening. And the better and more intelligent AI gets the bigger a problem it will become.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
@luisjavieravilaolivera2471 For reasons unknown to me, copyright for code is very different from that for art or books. Yes, it's written and you can put a copyright notice on it and everything, but there is no obligation to actually publish your copyrighted code as code. This means that in practice you can copy and paste however much source you would like into one codebase, compile, and ship the program with a license that explicitly disallows any attempt at reverse engineering or decompiling (these sorts of licenses are very common in proprietary software). The result is that anyone who even tries to look into whether you're infringing on copyright can be sued or for violating the end user agreement, and moreover no one can see what your software is doing behind the scenes that may be...undesirable. Things get even more crazy when you consider that a lot of software these days is run only on remote servers, so there's no way for you to get to the binaries at all much less to the source, and therefore the only thing that will reveal copyright infringement is a whistleblower.
IMO companies should be required to release the source code of the programs they publish or run on servers, even if the licenses do not permit editing the source. This would allow auditing for compliance to legal standards as well as a greater transparency regarding overall quality of product. Better yet would be if they were required to allow end users to edit and publish changes to the source after official support period ended, but this might be too effective at breaking up the patterns of insufficiently long support cycles for some people's taste.
1
-
1
-
@johnsteward8325 I'm not in the US, but I can say that the market's pretty good more or less everywhere for programmers. Especially the fact you're full-stack is great- everyone's looking for those. As for not having a bachelor's, I don't have one either and I haven't had too much of an issue. Again, I'm not in the US and actually currently I consult for a company that can't hire me directly due to an ancient policy against hiring people with no degrees. It's mostly fine, though. I would definitely lean on your three years of experience though, not your schooling. They're even advertising "senior" roles with very few years of experience. If you're able to describe your projects in detail or show them off at all, that might help too, but perhaps best of all would be to learn to market yourself. Chances are the first round interviewers won't know a thing about programming, so if you're downplaying what you've done they probably won't even pick up on it. Also, watch out for any red flags...there are a lot of terrible companies out there so do what you can to avoid them. Sorry I can't be more helpful, but I guess the good news is you should be able to find something.
1
-
1
-
1
-
1
-
1
-
Not quite, he missed out on bitfields, several of the keywords (static, register, inline, volatile...depending on C version), and completely omitted mention of the CPP which is pretty important to say the least. Also, he didn't mention all the datatypes, nor go into some of the more complex topics like integer promotion, which overflows are undefined behavior and which are defined, and the challenges of having potentially different byte sizes on different platforms.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
@pinkace The main point I was trying to make was that European politicians are perfectly capable of idiocy and corruption too.
Regarding electric cars, my main beef with them is that they have basically all the downsides (and a few extra ones) of ICU cars, save for what comes out of the tailpipe. We have politicians pushing hard to promote automobiles for both personal transit and freight, yet the continent is already criscrossed with well-designed and largely electrified rail lines which have all kinds of advantages over road traffic. We have a golden opportunity/excuse to expand pedestrian zones and improve public transit to get cars off the road (in the process making our cities prettier, safer, and wealthier), yet mostly that isn't happening. They're going for costly bandaid "solutions" instead.
Now don't get me wrong, if you happen to need to go somewhere where infrastructure isn't present and human powered vehicles just aren't gunna cut it (say, the middle of a desert), and electric vehicle might be worth considering. I don't know diddly about offroading so I wouldn't really know what the state of technology is in that regard, but my point is that we should have better options available where most people live, i.e. cities.
1
-
1
-
@pinkace Well that's exactly my point, within the confines of cities cars are largely (read: should be completely) unnecessary. Take a look at some of the cities in the netherlands for examples of how much cities can be improved by restricting or removing them.
Regarding train networks...Yes we have one, but it's being continuously underfunded and depending on where you are gradually or suddenly privatised. In Germany for instance the Deutschbahn trains are so routinely late that the swiss railways will no longer wait on late connecting trains run by them (usually there's a policy of waiting a few minutes). Additionally each state has its own local lines, some of which apparently have enough money for nice modern DMUs yet still aren't electrified. In Italy where I live there are still some major lines in the south that are single unelectrified track only, and until this year intercity trains through there were hauled by ancient diesel locomotives (we haven't bought diesels in a while). Now they're being replaced with DMUs and I think some widely publicized hybrid units. They've also made a ton of noise about hydrogen and battery locomotives/multiple units, both of which are insanely overengineered concepts that have no real use-case on the peninsula. Just cough up the money to electrify already instead of hiring consultants for a bridge that is never going to be built. Local trains in particular are suffering, for example the line that ran by my parent's city has been closed the better part of a decade because the company that took it over decided it didn't really need maintenance.
Local public transit is much the same way, in some places and ways it's wonderful (look at Milan with trams every few minutes, or Munich with its fantastic system) but other times not. In my city some of the busses have an unreliable schedule and frequency as low as an hour, and they get stuck in traffic. Additionally, they spent lots of money on building a metro system and buying trains for it, yet they only have one every 20 minutes and the latest one is way too early for anyone going out in the evening.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
@simplehealthyliving4681 Well, Microsoft got a foothold when they got their CP/M clone shipped with every IBM PC, and from there they were able to grow and create a plan with IBM to work together to make a graphical operating system. That plan fell apart, but Microsoft was able to ship windows and importantly within a few versions it got good enough for companies to choose it as it was cheaper than alternatives. There were far better OSs around at the time, many of which had their roots predating Microsoft (consider things based on Unix for instance).
Microsoft has also long a policy of largely refusing to standardise, for example the wikipedia page on POSIX has a long list of things you can do to have limited POSIX environment within windows, and that's just a very basic standard pretty much every other major OS in the last twenty years conforms to. Even Linux which is not even standard with itself is usually approximately POSIX compliant. Another example is .NET, a Java competitor designed and heavily promoted by Microsoft since the early 2000s. Until recently .NET programs (so pretty much anything written in C#, F# or Visual Basic) could not be run in other operating systems. I think there were some independent projects to try to make it possible earlier, but my memory fails me on the details. Recently some versions of .NET have been made cross-platform, however none of the Microsoft graphics frameworks have (note to C# devs out there: if you need this feature, check out Avalonia).
Particularly in the 90s, Microsoft was vicious. They did things like sabotage other vendor's application suites by adding new (faster) APIs for use in Microsoft products but not telling anyone else about it so 3rd party programs would all feel slower when run on a Windows machine.
Largely due to the combination of Windows pcs being everywhere and incompatibility, many programs for commercial use were written for Microsoft with no attempt at rendering them cross-platform; in my industry (as a mostly C# dev), an important example is Microsoft's own Visual Studio which their attempt at porting consisted of creating a fancy text editor and selling it as an IDE. Now if you do find yourself in such a situation Wine will let you run Windows programs on Linux however it only works with decently "normal" programs. Things that use more specialised Windows APIs typically don't work (so, good for most games or simple tools but if you have drawing software like Paint.Net or Photoshop it won't work. Visual Studio is another example of something that doesn't work with Wine). Add to this the fact companies typically like to simplify things by requiring everyone to use the same OS and you end up with a high level of lock-in.
And yes, I absolutely agree that more programs should be built in a cross-platform way. There are plenty of technologies that let you do that without too much pain, however it's a slow process especially when a tool only makes sense in its surrounding environment. You really have to convince the people at top that relying on Microsoft is a certifiably bad idea.
Btw if you're interested in the history check out Retrobytes, he has a ton of delightfully nerdy stuff.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
@kkon5ti I used to think that the UK did a terrible job with their privatisation, but honestly the more I learn about it the more I realise they did about as well as could possibly have been expected, and certainly way better than a lot of governments have in recent years with all kinds of privatisations. Sure, it's still a mess and everything's being done by the lowest bidder which can't even make enough money to stay afloat, but at least it's highly regulated. Meanwhile in my country one project after another gets basically given to a company which profits when times are good and gets money from the government when times are bad. One of my more recent pet peeves is that the large train stations have been handed over to a company with no interest in providing rail service; instead they've turned the stations into shopping malls with ticket barriers to keep homeless people off the platforms. They divide those barriers into meaningless groups termed "gates", which should shed a light onto their inspiration. Last time I was in the most important central stations, I needed to go to the loo with half an hour to spare before my train left. I remembered there being a pay toilet a short ways up platform 24, but when I went there it was gone. there were signs to the toilet, but it took many rounds of dashing back and forth on two different levels and asking for directions before I finally found what appeared to be the only restroom in the station, in the very back of a cramped food court. It was saddening to note that on the way to the food court was a hall with desks belonging to car rental companies. Now if that's not an admission of failure, I don't know what is.
1
-
@appa609 Planes are not on the same scale. 737NGs range from 149-220 passengers, whereas a Trenitalia Jazz trainset (chosen because it's frequently used for local as well as intercity services) ranges from 347 to 511 passengers. On the upper end of things, an A380 can carry up to 868 passengers (per the EASA), whereas the Rock trainset (always trenitalia) has a maximum of 729 seats (plus a number of standing room spaces I couldn't quickly find online). From the standpoint of the endpoints, in 2018 the Atlanta Hartsfield-Jackson airport had 43 million passengers pass through it in 2018, meanwhile in 2019 the Roma Termini station handled 179 million passengers. From a more practical standpoint though, if you're flying it's generally not a commute, it's a more substantial trip. When you're in a train, it could be either.
There's a whole other argument to be made, though (completely independent of the above argument): When transatlantic flights were deregulated, that wasn't a process of privatisation, that was a process of removing ensured monopolies. Had the routes been government-run on the basis of which flights people relied on, the impact may have been quite different. What worries me more than having multiple train companies is having train companies that don't have to provide the public service. We may already have reached that point though; I can only hope we backtrack before it's too late.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
@Fabian46544 Ah yes, I'm a dev and it's pretty much every interview when they ask about how much experience I have with the exact Java frameworks they use. I mean dude, I've used C#, Java, C, Haskell, Python, Javascript, Typescript, fking Powershell (don't ask), Lua, Nix (the language and the system) and probably a few others with any number of different frameworks or libraries as each project required. I'm perfectly capable of ye old RTFM procedure. The much harder part will be understanding the over- yet somehow also under-engineered backasswards system that your team has cooked up over the last eight years with no documentation to speak of.
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
OOP languages tend to be good, but if someone tells you to stick to strict OOP principles ignore them. Like any other tool in programming, use it when it makes sense. If your code would be better with a lambda expression somewhere or whatever, do that. The strict OOP cops will tell you not to use inheritance ("antipattern") or static methods, for an example of how over-the-top some of the stuff gets.
My controversial opinion would be that it's best to just stop worrying about it and just write code that's readable, low-effort, uses the best tool for the job, and (if applicable) efficient. If the best way forward involves a goto, then fuck it and stick a goto in there. Just double check it was the best way first, and choose a more laid-back coworker to do the peer review.
Also, side note: given the choice of C# and Java, go with C#. It's virtually the same, except generics aren't broken in all the core methods ;)
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1