English but not in a Brexit way.

  • 3 Posts
  • 29 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
  • WatTyler@lemmy.sdf.orgtoLinux@lemmy.mlGamedev and linux
    link
    fedilink
    arrow-up
    124
    arrow-down
    1
    ·
    8 months ago

    Reflecting on my first year running solely Linux (as opposed to dual-booting), I think that this culture comes from the fact that, on Linux, problems can more often than not be solved. If not solved, then at least understood. When you want to change something on Windows, or something breaks, you have far less room to maneuver.

    When I was a Windows user, I’d barely ever submitted a bug report for anything, in spite of being very tech-literate. It felt hopeless, as my entire experience with the OS was that if a fix would come, it’d have to be done by someone else.

    Linux treating its users like adults, produces users who are more confident and more willing to contribute.








  • You’re absolutely correct and if there’s one thing I wish I included it would’ve been a ‘charitable’ description of the possibilities of Brexit. The reason why it wasn’t included is that I think the actual motivations of the arch-Brexiteers within parliament and the media aren’t a contributing factor to why Brexit happened. They certainly had a vision for a potential Brexit but I don’t think that played any role in the decision to hold a referendum, and I believe only a very small subset of the 52% voted Leave did so because they shared the ‘Singapore with worse weather’ vision of the Brexit elite.




  • OK, so…

    Political necessity?

    The reason why it happened is that the Conservative Party government was wildly unpopular in 2013-2014 with all of the indications being that Ed Miliband’s Labour Party were going to storm the Conservatives at the 2015 General Election. Furthermore, ever since the Thatcher governments of the 1980s, the Conservatives were weakened by the ‘Eurosceptic’ branch of their party often being vocal, disruptive, difficult to work with, and harming the ‘Not the Nasty Party’ narrative Conservative Party Central HQ (CCHQ) had often tried to push in the 90s and the 00s.

    Offering a referendum on the European Union therefore had two advantages:

    • It was a substantial, concrete policy idea that would be easy to implement and massively popular with a certain portion of the populace, not massively unpopular with the other portions, and which Labour would never offer.
    • By having a popular ‘stamp of approval’ on the European Union, CCHQ believed it would permanently weaken and weaken the difficult Eurosceptic portion of their party.

    This is of course on the assumption that the referendum passed. And never let anyone tell you otherwise, David Cameron (then-PM) and George Osbourne (then-Chancellor; finance secretary and 2nd most important cabinet member) absolutely would not have proposed the referendum if they believed it had any chance of failing.

    Furthermore, they assumed they’d be out of government and the referendum would never see the light of day. To the arrogant, and out-of-touch Cameron and Osbourne the policy was all upside.

    As it happens, for a variety of reasons, the Conservatives actually won the 2015 General Election with a majority (whereas they were in a coalition before). And, as promised, a referendum was planned.

    Ideological basis

    For a substantial period of time (late 18th-century to mid-20th century), Britain was unquestionably the most powerful empire in the world. This is within living memory. The culture and expectation of Britain being a 1st rate world power is something that has only begun to fade within the past couple of generations. But a significant number of older people (people who vote) were raised and educated with the fair understanding that Britain was a superpower. For example, all of my grandparents and most of great Uncles and Aunts were being educated at a time when Britain still held all of India and most of Africa.

    Since the Second World War, Britain’s place in the world has unquestionably declined. We no longer have the Empire. We racked up tremendous amounts of debt to the United States. For periods in the 1970s, Britain was widely considered the ‘sick man’ of Europe. The feel good moments of the 1990s and Cool Britannia were quickly doused by the War in Iraq, where Tony Blair was universally seen as a puppet of the Bush administration.

    Since the 1980s in-particular, life has changed for many in the United Kingdom beyond recognition. Trade unions were razed. Income disparity has skyrocketed. Town centres have become neglected. Internal tourism has been decimated. Cities like Leicester started becoming majority-minority. 2008 and the Great Recession tumbled the New Labour government and brought in a Conservative government. All parties at the 2010 general election bought into the consensus that the only way the country would survive would be to gut public sector spending. Healthcare would worsen. Education would worsen. Adult social care would worsen. Local government services would worsen.

    A very large number of people came to the rational conclusion that, at least for them, their lives had gotten worse and would continue to get worse. But how does one consolidate this very clear observation with:

    • The Queen
    • Rule Britannia
    • Two World Wars; One World Cup
    • Largest empire ever known to man
    • The Second World War in-general, and the Battle of Britain in-particular

    A lot of the media attempted to bridge this issue with a scapegoat: the European Union.

    Euroscepticism

    Euroscepticism first found a voice with Margaret Thatcher in the 1980s. She often disagreed with a significant number of the leaders on the continent and didn’t appreciate being limited in how she could act.

    Thoughout the 1990s and the 2000s, the whole media knew they could gather attention by blaming various problems on the European Union. A notable young journalist, Boris Johnson, was particularly renowned for the ludicrous and inaccurate stories he wrote on European Union directives.

    The European Union was an outstanding scapegoat:

    • It was ‘foreign’
    • It was ‘undemocratic’
    • It was ‘bureaucratic’

    It had something for everyone. Before the result of the referendum, you’d never hear anyone defend the EU. It was seen by most of its defenders as a necessary evil in a world we could no longer rule, and isn’t it nice you don’t need a visa to go to Spain? No positive case was ever put forward by anyone. There was little point to. There was never any risk of us leaving.

    Now, the European Union is an imperfect project. However, thanks to the economic and cultural connections brought about by the EU, Western Europe is at the lowest risk of internal armed conflict in millennia of history. Europeans are more familiar with one another than they’ve ever been before. Smaller states such as Ireland remain independent and sovereign but now have defenders, and allies, and representatives that allow them to assert themselves globally.

    These arguments hold much less weight on an island nation, that hasn’t known armed conflict within its borders since the Glorious Revolution (excluding Ireland), who within living memory had the power and the influence to dominate half the globe.

    No one appreciated the EU until it was already too late. And all of the rich newspaper editors who made bank on peddling lies about this foreign government to a lost, and disaffected public thought it’d be consequence free.

    Conclusion

    What was it supposed to accomplish? Nothing. The referendum was never supposed to happen, and if it did, it was never meant to pass. No one with any power or influence had any idea on what to do. What Brexit would look like. What some fringe politicians had promised was an emotional return to self-government, wealth, power, influence, independence. A turning back of the clock.






  • Going front-to-back

    The entirety of your first paragraph is a humongous red flag. Your rationale makes sense, and it appears at each stage of the process you made logical decisions but the end result is disaster. You are evidently a knowledgeable and intelligent person, so I’ll ask you now to consider how old the underlying technologies on the web are, and how the web looked when they were written. Web frameworks exist to bridge the gap between languages and methods that are popular in the present day and the arcane mysteries of the world wide web. They bridge this gap with magic.

    Now, this magic is a wonderful thing. It enables developers to make applications for the web in a way they’re familiar with and saves them having to think about the ‘web’ part which is:

    1. Arcane.
    2. Reasonably boilerplate.

    However, if you’re trying to ‘learn programming’, starting with web dev is backwards in my opinion. You either choose to use a framework, and then you’re not really learning programming: you’re learning the framework. I always find this unrewarding, as it feels like the framework is doing all of the work and robbing me of the satisfaction. Furthermore, when you’re in the ‘beginner mindset’, you want to know how things work, you want to understand, you want to learn. Web frameworks are powerful when you focus on the ‘what’ and less on the ‘how’. Experienced developers have an understanding of ‘OK, this is what the framework abstracts for me, I’ll let it do its job and I’ll do mine’ and ‘Oh, I am not sure about this and it’s important I learn’. This is obviously a skill only gained by experience.

    Furthermore, as you touched on, web frameworks go in-and-out of fashion and can have radically different approaches. With professional experience, you can apply your knowledge of one framework to learning another. As a beginner, I do not believe you have a broad enough understanding to be able to make connections between frameworks. This leads to your feeling of always being on the back-foot.

    My recommendation for anyone who wants to learn programming in-and-of-itself, rather than to a specific end, is to start low-level. C was my traditional recommendation, though I may be altering this to Rust. C will never let you forget that you are programming a computer. This might sound ridiculous but it’s remarkably easy to lose track of and once you do, everything (in my head, at least) can get a bit esoteric and conceptual, and I find the ‘grounding’ deepens my sense of satisfaction working with computers.

    My diagnosis as it stands is that you attempted to work from ‘abstract’ (web frameworks) to ‘concrete’ (learning how to program) and I’d always advise the reverse. Use C to gain a clear appreciation for how a programming language is altering 1s and 0s on your machine. Then build up with other abstractions, languages, and, in due time, frameworks.

    Thinking differently

    It sounds to me that, in your experience, you made some correct assumptions and some very incorrect assumptions. Correctly, you identified that structure, ease-of-understanding, and writing your code in a style that you’re comfortable with is optimal. Incorrectly, you assume:

    1. Differences in programming styles are more often objectively better, than subjectively better.
    2. There exists no good programming style that will ever match how you conceive of code.

    Now, these aren’t merely incorrect assumptions, they’re incredibly incorrect. In the professional sphere, those who write code that is well-structured, easy-to-reason about, and is well documented are sparse but they are often highly valued (in good teams, at least). I was always taught, and still vehemently believe, that clarity and readability are absolutely the first priority. Speed of execution is a secondary concern. Terseness is not even a concern of mine at all.

    Good code is easily understood by computers, as well as human beings. You are the first human being who has to understand your code. You should always write it in the way that is most easy for you to understand. It is a darn sight easier to optimise neat code, than it is to neaten optimised code.

    I believe you’ve come to these conclusions because of your experience learning web development. I find web frameworks and JavaScript as a language to have syntax that is odd and inflexible. The pseudo-code you provided was in JavaScript and is reminiscent of many of the traits that mean that even experienced developers such as myself find it difficult to parse. There’s a reason callback hell is a meme. If you get the opportunity to use some other languages, I believe you’ll see there’s more flexibility in expressing yourself than maybe you’ve had the opportunity thus far.

    Furthermore, I am reticent to comment on what is valued in the JS community, as I have never written anything of note with the language but looking at the two code snippets you provided, the first snippet smacks more of a ‘professional’ developer. It’s more modular, finely-grained, expressive.

    Finally, if you’re still clinging onto the notion that coding demands a ‘particular’ way of thinking, I encourage you to look-up internet rants from people who know a lot about Java, Python, C++ etc. bashing Haskell. Haskell is a beautiful language that forces its developers to write in a style known as ‘functional programming’. I won’t go into depth about the differences and why functional programming is amazing but let’s put it this way:

    How far do you believe you could get in JavaScript without:

    • Being able to loop?
    • Being able to re-assign variables?

    In Haskell, you cannot do either of these things and it’s for the better.

    Conclusions

    I’m glad to hear you’re happy in your work but disappointed that you were unable to find a groove with programming. From what I’ve read, you absolutely seem to be the kind of thoughtful individual who should enjoy it.

    I’d encourage you to start learning Rust. I am learning Rust at the moment myself. Pay close attention to references and memory management. When your material discusses memory concepts, such as the heap and the stack, ensure you develop an intuitive understanding of how they work. Don’t just view this as an important part of your development (one many developers neglect!) but as a window into what is happening on your machine. If your brain is anything like mine (and I think it might be), it’ll further your satisfaction.

    Avoid Python. Python is tremendous is you want to use a tool that mandates Python. It will hinder your learning and force you into bad habits if you learn it early. Furthermore, when your project gets to any level of complexity, it’s going to be far more pain than its worth. I understand why Python is so popular in some non-programming domains but it has no appeal to me as anything more than a scripting language with boundless 3rd party libraries.

    Look at functional programming, if you’re curious. This free book on Haskell is popular for a reason. Functional programming ideas are slowly making their way into all mainstream languages, for a very good reason. They force you to think differently, and it might be different in a way you prefer.