The UK doesn't have much to export in terms of natural resources (excepting Ireland), or hard-to-move industry. That leaves services, which can go away easily. So the situation was already bad in terms of overt influence, compared to, say, Germany.
Behind the scenes however, the British seem to stay important. The safekeeping of the Gladio operatives' names, Steele's involvement against Trump, the UK national who started the White Helmets, ... I have the vague feeling that les rosbifs seem to pop up a lot where the action is, just not too obviously.
Indeed. Or more people than you realise implicitly support the idea of censure with only vague restraint, and are just nerding out on the details.
In the end it will likely not matter how expertly the eurocrats contain the symptoms of deeper, social problems, it might very well blow up in their faces.
People who like thinking seem to overestimate the power of ideas in shaping the world. My interpretation is that it's probably the typical arrogance of the intellectual letting itself through.
For example, there are arguments that the renaissance was a result of the social and economic conditions created by the black death, not the intention of any human actor. The post-WW2 social wellness a result precisely of the war, and so on.
Not everybody agrees on what "improve mankind and society" should mean, so you're back to either submitting to a common concept of objective truth, where the "bad" but realistic model wins, or political arm wrestling for your ideas to win against the other's (on the basis of faith if you're in the middle ages, or whim if you're a postmodernist).
>People who like thinking seem to overestimate the power of ideas in shaping the world. My interpretation is that it's probably the typical arrogance of the intellectual letting itself through.
This was not about ideas -- it's was about viewpoint, which has enormous impact in shaping the world.
>For example, there are arguments that the renaissance was a result of the social and economic conditions created by the black death, not the intention of any human actor.
Well, there were other periods similar to the renaissance throughout history, periods not affected by the black death. E.g. the rise of ancient Greece city states (from the so-called "middle ages" of pre-historic antiquity), or the rise of the islamic culture.
And even if the black death was a major factor of change, the way the change took shape is all ideas and viewpoints.
In fact a common argument is that the renaissance was indeed a response to the conditions created by the black death, but the mechanism of change was a change in viewpoints ("let's celebrate life", etc).
What seperates ideas from viewpoints essentially? I would guess largely how they dearly they are held. Another factor was what it did to existing ones. It undermined authority in both economic/balance of power sense and in "claim to being right". The church could not save them no matter how much they prayed nor how saintly their lifestyle. Nobility could not protect them - nor even themselves. It wasn't an enemy to be faced by big budgetted knights riding out to slay those who raid and pillage. It left a vacuum for growth of other forces while the society had not collapsed.
It had an interesting cultural remnant so embedded that nobody notices it - desensitization to skeletons. Nobody reacts to skeletons in an elementary school classroom or doctors office in the west.
Yet Chinese variants of video games widely censor their apperances despite other brutality. One in a moba notably changes a spell icons from skeletons to a tortured bald man - more graphic to us but not them. China does have their own hangups but it highlights how weird it is fundamentally that we are okay with dead bodies reduced to their very core and reassembled. Keep preserved other internal organs around small children and people would ask what is wrong with you. The unacceptable ethics in sourcing were the main driver for the switch to plastic if I recall correctly. Cheaper now but they started when the fine details were more expensive and at risk of being less accurate.
>What seperates ideas from viewpoints essentially?
I used the first to refer to general abstract theories (marxism etc) and the second to refer to more concrete ways of viewing the world that people share / adopt etc.
In the 60s for example there were several abstract theories about this and that, but also a shared viewpoint about the need of change, revolution, etc
I'll keep amalgamating viewpoints and ideas, as I don't see the usefulness of the distinction so far.
As you say, for the renaissance, the change in viewpoints were caused by the conditions of the time. The power of social change ultimately lies in big changes in the physical world, not in civilised humans and their thinking and arguing.
As I mentioned, that last idea seems to me to be just a covert way to pretend we have any control, when we are actually rather effete and incapable of shaping the world into what we'd like.
You mentioned the western revolutionary sentiment of the sixties in another answer. If you believe Strauss and Howe (http://www.fourthturning.com/), they didn't have a choice. That generation believed whatever humans believe when they are put into the conditions they were in, repeating a pattern with little self-consciousness.
edit: the power of change -> the power of social change
And yet, the programmer may have a responsibility to bring a salary back to his family. People will call him a criminal for obeying his boss, but they usually will not come and help him if he does the right thing and takes flak for it.
This thread is somewhat framing this as ethics vs salary, but what I found most useful in your statement was the (somewhat implicit?) thought that there is often no ethical way to earn a salary for some programmers.
While this has not been true in my personal experience, I must say that I've been very fortunate in life. I can totally understand and see how this may be true for some programmers.
I wonder if, as an industry, there was a better way for us to handle such situations.
Programmers enjoy a rare market where employers compete for hiring a good dev, not the other way around. Unless lots o employers do things so unethical you can't stand working on them, you can just walk away from an unethical boss and spend time digging through numerous invitations from other companies.
I live in a market where finding a job quickly makes it another shitty job, and only after amply signaling your submissiveness (ah, Europe). You get no unemployment money, because it's you who quit, of course.
There's also the fact that you're the good guy and yet you're the one getting shafted, while the arses above keep doing what they do. Anyone with a brain will sense something's wrong, and will rethink their ethics.
Programmers are highly in demand. The idea that a programmer and their family are going to be homeless because they didn't do what the big, evil boss said is not very convincing.
But programmers are in high demand because of the many artificial barriers that are put up to keep most of them out of work. Just because you have a programming job now does not mean you will make it through the 16 weeks of programming trivia that the next employer expects before considering you a potential hire.
I may agree that it is not a convincing argument for anyone, doing any job, but I'm not sure the programmer part makes any difference.
I really don't know if I agree with yours. As a developer in a rural area, while there are certainly jobs for programmers, they are never advertised. You have to find them by word of mouth. It could easily take more than a week just to discover what jobs are available.
Moving isn't realistic within the span of a week. Remote might be an option, but brings its own challenges.
I do not see Python as the natural choice for a first language. I've even had adult colleagues squint when I tried to explain decorators, or objects and all the self/static/class/method binding nonsense.
OOP in Python is something I really cannot like. I teach the language to children and as soon as I get to objects (which is not avoidable in Python, as many libraries and the language itself use objects) the number of concepts I have to explain is too much and I get the dreaded blank stare. I haven't so far found a short explanation that gives them a good enough grasp on objects that they can start making their own.
Ideally I would like to have to explain few orthogonal concepts, as learning a new concept in the abstract is hard and their mind has little patience for it, and let them experiment as soon as possible. But experimentation needs the minimum mastery required to combine the concepts and get some result. Pyhton's objects tend to expose their functions+struct guts, which does not help.
And don't get me started on warts like the "global" keyword, which makes simple scripts with global state and a few functions (a step into learning functions and structured programming) a frustrating and buggy process. I still cannot understand async/await enough to be comfortable with it, and if Armin Ronacher doesn't either... Meanwhile, languages like Oz do concurrency, with actual parallelism, beautifully.
I'm starting to think Scheme and Smalltalk would be excellent beginner languages. "Here's how to make an s-expr; these s-expr are applications, these are definitions. Now go."
I disagree, I think Python is an excellent first language. While there are many oddities, I think Python lets you ignore them, or defer them to later in the learning process. Python can be pretty much as simple as you need it to be, and I think that's important for teaching programming.
I would not expect to get to objects _properly_ (maybe things like list()) in an introduction to programming course, I think you can get very far with just functions and simple data types.
Then, once you do want to introduce objects, I think Python's class system can be kept simple enough to begin with, and the parts that are inherently tricky (like self) have equivalently tricky parts in most other languages anyway.
I think a course teaching programming that goes into async IO, needs to discuss 'global' (something I've still used only twice in 5 years of Python), talks about decorators, etc, is doing something seriously wrong.
I don't know a lot about Smalltalk, but Scheme is an interesting idea for a first language. I think it could be a good first language, but I would be concerned about what the next step is. Having learnt Python, there are lots of next steps because it has a large and active ecosystem with plenty of opportunities, I'm not sure Scheme has the same, and I feel learning a second language, while Scheme might be good preparation, is not going to be straightforward for someone who has only just learnt to code.
You can. Georgia Tech's intro to CS classes for non-engineers are both Python (the engineering one is Matlab). Objects are introduced at the end, but as a concept OO is largely deferred to the following class, in Java. GT actually used to have the intro class be in Scheme, but switched it to Python a number of years ago, which they've stayed with. I agree though, Scheme would be a good language, but the impedance mismatch to get to more popular languages would be higher (plus have students asking "who uses this?!" Being able to reply "Google" tends to satisfy that question pretty well)
When I was there, at least, the focus was on basic programming concepts, functions, variables, loops, recursion, conditionals, and library interaction was largely imperative, more focused on successful execution than on the organization of the code.
I don't have my computer around, so replying with a throwawy account. Wall of text!
> While there are many oddities, I think Python lets you ignore them
Yes, thankfully. But libraries that will make programming interesting for children usually have a rather sophisticated design, including an object-oriented interface. Pygame is slightly too complex for my taste and installing it on Windows is a pain (not Python's fault). I've tried Pyglet on that platform, despite its hard API, and am I right now comparing two students, one on each framework (although the Pygame one uses pgrun).
Once they've used Python as a means to get a game displayed, it seems easier to teach Python's useful minutiae as it helps them code. Not enough experience to assert this with certainty though.
> Then, once you do want to introduce objects, I think Python's class system can be kept simple enough to begin with, and the parts that are inherently tricky (like self) have equivalently tricky parts in most other languages anyway.
Python's OOP really has more complexity than needed. Smalltalk does objects simpler. Alan Kay used it to teach programming to children (the seventies version, the public '82 version had more stuff, meant for adults.) Children can learn to program _starting_ with OOP, not structured programming, but Python (or Java, or...) will not help you there. It seems to expect its user to understand OOP in terms of structured programming, which a practicing programmer certainly can, but a child with limited abstract thought?
Interestingly, Alan Kay was a lisper, which brings me to...
> I don't know a lot about Smalltalk, but Scheme is an interesting idea for a first language.
Can't be sure without trying it, but probably. The scheme community has projects in teaching CS through game programming, with at least one scheme dialect for games and accompanying IDE where images are first-class objects, displayed in the code.
> I think a course teaching programming that goes into async IO, needs to discuss 'global' (something I've still used only twice in 5 years of Python), talks about decorators, etc, is doing something seriously wrong.
I can see how it came out that way, but I don't teach async IO to children; I try to teach some Python to colleagues from time to time.
As for 'global', was your programming activity the one of a beginner? When you have someone that successfully wrote a single script with variables and control structures, you will want them to start writing functions to complete the introduction to structured programming. You will want to make them reuse the existing state, and once they discover the limitations of it, slowly introduce local variables, scoping rules and so on. My students often have the right reasoning at this stage but forget 'global', _repeatedly_ (that's the important part -- hint of a bad UI), which means I have to explain scoping rules, which seem to them like unnecessary wanking at this point.
Guido's attention to newbie-friendliness is obvious, but Python is old and has accumulated cruft, and its developers have blind spots. Zed Shaw listed some of them. Also don't forget that a professional in IT has developed a thick skin when it comes to complexity, or less charitably, learned helplessness in the face of shitty design. Where we think a system's idiosyncrasies are mere details (or worse, the right way to do things), an innocent mind will refuse to engage.
If you're trying to teach someone OOP with their first language, I think you're doing it wrong. If someone is new to programming, it's far more important that people get an understanding of simple procedural logic first. Anything that gets in the way of that is just likely to put people off.
I don't think Python is a great language longer term, but its simple syntax and lack of ceremony makes it pretty much ideal for beginners.
Alan Kay would disagree, and he's got some experience teaching programming to children. See my answer to your post's sibling.
Why is it far more important that people get an understanding of simple procedural logic first? (And what is it exactly? I've had a 'procedural' feeling when seeing:
- assembly code
- structured programming (Algol 60 and descendants)
- even some kinds of logic programming)
I would very much like to know that too. I think Alan Kay said something about the middle management at Xerox being excellent people, too, so I would be tempted to think this is the one important factor to get the kind of tech oasis that were PARC and Bell Labs.
Some of us end up in the few dream-team environments that already exist today, but most will have to build those ourselves; any hint would be very welcome.
Your view would be fair if it was openly stated to the smart kids in their young age. Knowing that they're on their own, whatever they end up doing would be an informed choice and their responsibility entirely.
This isn't what happens in reality though. Schools and teachers demand submission to their authority on the implied promise that they are going to take care of you. When children believe that, and then are let down, is it the children's fault?
Gifted kids have high IQ, but probably not high EQ. They're defenceless against bullshit and blind to multi-level messages at that age, like most other kids.
Personally I don't blame the school system. What it does is not fair, but fairness is a fairy tale. It is a tool of society, with a useful purpose, and some unfortunate side-effects. The parents of a kid that's let down by the system should however take charge and start telling him how things really work, and make the kid realise that it's just him now.
What about the cost of moving the logs to storage, and the infrastructure required to move them around and put them in storage? Especially if you have a micro services architecture.
Also the cost of the infrastructure to search the logs and view the logs.
Remember that there are different sizes of deployments. For sites like Reddit or Netflix, logs becomes a burden since there's so much data. For smaller deployments it's possible that all logs can be aggregated on a single machine quite easily, and aggregating the logs is far more enjoyable than SSH:ing to each separate machine.
> Sometimes logs can be useful, but only after your monitoring system has told you which system is not behaving, and then you can turn on logs for that system until you've solved the problem, but you shouldn't need access to old logs, because if the problem was only in the past, then it's not really a problem anymore, right?
Some things happen rarely, but can still have large impact. E.g. Imagine a once a day job of moving files which fails twice a month, rendering those files inaccessible.
Many shops don't keep logs around because we want to. We keep them because we have to. You might see things differently someday if you host data for customers and have to follow SOC2 and HIPAA requirements...