7 Binary Options

Virtual Reality: Where it is and where it's going

VR is not what a lot of people think it is. It's not comparable to racing wheels, Kinect, or 3DTVs. It offers a shift that the game industry hasn't had before; a first of it's kind. I'm going to outline what VR is like today in despite of the many misconceptions around it and what it will be like as it grows. What people find to be insurmountable problems are often solvable.
What is VR in 2020?
Something far more versatile and far-reaching than people comprehend. All game genres and camera perspectives work, so you're still able to access the types of games you've always enjoyed. It is often thought that VR is a 1st person medium and that's all it can do, but 3rd person and top-down VR games are a thing and in various cases are highly praised. Astro Bot, a 3rd person platformer, was the highest rated VR game before Half-Life: Alyx.
Lets crush some misconceptions of 2020 VR:
So what are the problems with VR in 2020?
Despite these downsides, VR still offers something truly special. What it enables is not just a more immersive way to game, but new ways to feel, to experience stories, to cooperate or fight against other players, and a plethora of new ways to interact which is the beating heart of gaming as a medium.
To give some examples, Boneworks is a game that has experimental full body physics and the amount of extra agency it provides is staggering. When you can actually manipulate physics on a level this intimately where you are able to directly control and manipulate things in a way that traditional gaming simply can't allow, it opens up a whole new avenue of gameplay and game design.
Things aren't based on a series of state machines anymore. "Is the player pressing the action button to climb this ladder or not?" "Is the player pressing the aim button to aim down the sights or not?"
These aren't binary choices in VR. Everything is freeform and you can basically be in any number of states at a given time. Instead of climbing a ladder with an animation lock, you can grab on with one hand while aiming with the other, or if it's physically modelled, you could find a way to pick it up and plant it on a pipe sticking out of the ground to make your own makeshift trap where you spin it around as it pivots on top of the pipe, knocking anything away that comes close by. That's the power of physics in VR. You do things you think of in the same vain as reality instead of thinking inside the set limitations of the designers. Even MGSV has it's limitations with the freedom it provides, but that expands exponentially with 6DoF VR input and physics.
I talked about how VR could make you feel things. A character or person that gets close to you in VR is going to invade your literal personal space. Heights are possibly going to start feeling like you are biologically in danger. The idea of tight spaces in say, a horror game, can cause claustrophobia. The way you move or interact with things can give off subtle almost phantom-limb like feelings because of the overwhelming visual and audio stimulation that enables you to do things that you haven't experienced with your real body; an example being floating around in zero gravity in Lone Echo.
So it's not without it's share of problems, but it's an incredibly versatile gaming technology in 2020. It's also worth noting just how important it is as a non-gaming device as well, because there simply isn't a more suitably combative device against a world-wide pandemic than VR. Simply put, it's one of the most important devices you can get right now for that reason alone as you can socially connect with no distancing with face to face communication, travel and attend all sorts of events, and simply manage your mental and physical health in ways that the average person wishes so badly for right now.
Where VR is (probably) going to be in 5 years
You can expect a lot. A seismic shift that will make the VR of today feel like something very different. This is because the underlying technology is being reinvented with entirely custom tech that no longer relies on cell phone panels and lenses that have existed for decades.
That's enough to solve almost all the issues of the technology and make it a buy-in for the average gamer. In 5 years, we should really start to see the blending of reality and virtual reality and how close the two can feel
Where VR is (probably) going to be in 10 years
In short, as good as if not better than the base technology of Ready Player One which consists of a visor and gloves. Interestingly, RPO missed out on the merging of VR and AR which will play an important part of the future of HMDs as they will become more versatile, easier to multi-task with, and more engrained into daily life where physical isolation is only a user choice. Useful treadmills and/or treadmill shoes as well as haptic suits will likely become (and stay) enthusiast items that are incredible in their own right but due to the commitment, aren't applicable to the average person - in a way, just like RPO.
At this stage, VR is mainstream with loads of AAA content coming out yearly and providing gaming experiences that are incomprehensible to most people today.
Overall, the future of VR couldn't be brighter. It's absolutely here to stay, it's more incredible than people realize today, and it's only going to get exponentially better and more convenient in ways that people can't imagine.
submitted by DarthBuzzard to truegaming [link] [comments]

The Next Processor Change is Within ARMs Reach

As you may have seen, I sent the following Tweet: “The Apple ARM MacBook future is coming, maybe sooner than people expect” https://twitter.com/choco_bit/status/1266200305009676289?s=20
Today, I would like to further elaborate on that.
tl;dr Apple will be moving to Arm based macs in what I believe are 4 stages, starting around 2015 and ending around 2023-2025: Release of T1 chip Macbooks, release of T2 chip Macbooks, Release of at least one lower end model Arm Macbook, and transitioning full lineup to Arm. Reasons for each are below.
Apple is very likely going to switch to switch their CPU platform to their in-house silicon designs with an ARM architecture. This understanding is a fairly common amongst various Apple insiders. Here is my personal take on how this switch will happen and be presented to the consumer.
The first question would likely be “Why would Apple do this again?”. Throughout their history, Apple has already made two other storied CPU architecture switches - first from the Motorola 68k to PowerPC in the early 90s, then from PowerPC to Intel in the mid 2000s. Why make yet another? Here are the leading reasons:
A common refrain heard on the Internet is the suggestion that Apple should switch to using CPUs made by AMD, and while this has been considered internally, it will most likely not be chosen as the path forward, even for their megalithic giants like the Mac Pro. Even though AMD would mitigate Intel’s current set of problems, it does nothing to help the issue of the x86_64 architecture’s problems and inefficiencies, on top of jumping to a platform that doesn’t have a decade of proven support behind it. Why spend a lot of effort re-designing and re- optimizing for AMD’s platform when you can just put that effort into your own, and continue the vertical integration Apple is well-known for?
I believe that the internal development for the ARM transition started around 2015/2016 and is considered to be happening in 4 distinct stages. These are not all information from Apple insiders; some of these these are my own interpretation based off of information gathered from supply-chain sources, examination of MacBook schematics, and other indicators from Apple.

Stage1 (from 2014/2015 to 2017):

The rollout of computers with Apple’s T1 chip as a coprocessor. This chip is very similar to Apple’s T8002 chip design, which was used for the Apple Watch Series 1 and Series 2. The T1 is primarily present on the first TouchID enabled Macs, 2016 and 2017 model year MacBook Pros.
Considering the amount of time required to design and validate a processor, this stage most likely started around 2014 or 2015, with early experimentation to see whether an entirely new chip design would be required, or if would be sufficient to repurpose something in the existing lineup. As we can see, the general purpose ARM processors aren’t a one- trick pony.
To get a sense of the decision making at the time, let’s look back a bit. The year is 2016, and we're witnessing the beginning of stagnation of Intel processor lineup. There is not a lot to look forward to other than another “+” being added to the 14nm fabrication process. The MacBook Pro has used the same design for many years now, and its age is starting to show. Moving to AMD is still very questionable, as they’ve historically not been able to match Intel’s performance or functionality, especially at the high end, and since the “Ryzen” lineup is still unreleased, there is absolutely no benchmarks or other data to show they are worth consideration, and AMD’s most recent line of “Bulldozer” processors were very poorly received. Now is probably as good a time as any to begin experimenting with the in-house ARM designs, but it’s not time to dive into the deep end yet, our chips are not nearly mature enough to compete, and it’s not yet certain how long Intel will be stuck in the mud. As well, it is widely understood that Apple and Intel have an exclusivity contract in exchange for advantageous pricing. Any transition would take considerable time and effort, and since there are no current viable alternative to Intel, the in-house chips will need to advance further, and breaching a contract with Intel is too great a risk. So it makes sense to start with small deployments, to extend the timeline, stretch out to the end of the contract, and eventually release a real banger of a Mac.
Thus, the 2016 Touch Bar MacBooks were born, alongside the T1 chip mentioned earlier. There are good reasons for abandoning the piece of hardware previously used for a similar purpose, the SMC or System Management Controller. I suspect that the biggest reason was to allow early analysis of the challenges that would be faced migrating Mac built- in peripherals and IO to an ARM-based controller, as well as exploring the manufacturing, power, and performance results of using the chips across a broad deployment, and analyzing any early failure data, then using this to patch any issues, enhance processes, and inform future designs looking towards the 2nd stage.
The former SMC duties now moved to T1 includes things like
The T1 chip also communicates with a number of other controllers to manage a MacBook’s behavior. Even though it’s not a very powerful CPU by modern standards, it’s already responsible for a large chunk of the machine’s operation. Moving control of these peripherals to the T1 chip also brought about the creation of the fabled BridgeOS software, a shrunken-down watchOS-based system that operates fully independently of macOS and the primary Intel processor.
BridgeOS is the first step for Apple’s engineering teams to begin migrating underlying systems and services to integrate with the ARM processor via BridgeOS, and it allowed internal teams to more easily and safely develop and issue firmware updates. Since BridgeOS is based on a standard and now well-known system, it means that they can leverage existing engineering expertise to flesh out the T1’s development, rather than relying on the more arcane and specialized SMC system, which operates completely differently and requires highly specific knowledge to work with. It also allows reuse of the same fabrication pipeline used for Apple Watch processors, and eliminated the need to have yet another IC design for the SMC, coming from a separate source, to save a bit on cost.
Also during this time, on the software side, “Project Marzipan”, today Catalyst, came into existence. We'll get to this shortly.
For the most part, this Stage 1 went without any major issues. There were a few firmware problems at first during the product launch, but they were quickly solved with software updates. Now that engineering teams have had experience building for, manufacturing, and shipping the T1 systems, Stage 2 would begin.

Stage2 (2018-Present):

Stage 2 encompasses the rollout of Macs with the T2 coprocessor, replacing the T1. This includes a much wider lineup, including MacBook Pro with Touch Bar, starting with 2018 models, MacBook Air starting with 2018 models, the iMac Pro, the 2019 Mac Pro, as well as Mac Mini starting in 2018.
With this iteration, the more powerful T8012 processor design was used, which is a further revision of the T8010 design that powers the A10 series processors used in the iPhone 7. This change provided a significant increase in computational ability and brought about the integration of even more devices into T2. In addition to the T1’s existing responsibilities, T2 now controls:
Those last 2 points are crucial for Stage 2. Under this new paradigm, the vast majority of the Mac is now under the control of an in-house ARM processor. Stage 2 also brings iPhone-grade hardware security to the Mac. These T2 models also incorporated a supported DFU (Device Firmware Update, more commonly “recovery mode”), which acts similarly to the iPhone DFU mode and allows restoration of the BridgeOS firmware in the event of corruption (most commonly due to user-triggered power interruption during flashing).
Putting more responsibility onto the T2 again allows for Apple’s engineering teams to do more early failure analysis on hardware and software, monitor stability of these machines, experiment further with large-scale production and deployment of this ARM platform, as well as continue to enhance the silicon for Stage 3.
A few new user-visible features were added as well in this stage, such as support for the passive “Hey Siri” trigger, and offloading image and video transcoding to the T2 chip, which frees up the main Intel processor for other applications. BridgeOS was bumped to 2.0 to support all of these changes and the new chip.
On the macOS software side, what was internally known as Project Marzipan was first demonstrated to the public. Though it was originally discovered around 2017, and most likely began development and testing within later parts of Stage 1, its effects could be seen in 2018 with the release of iPhone apps, now running on the Mac using the iOS SDKs: Voice Recorder, Apple News, Home, Stocks, and more, with an official announcement and public release at WWDC in 2019. Catalyst would come to be the name of Marzipan used publicly. This SDK release allows app developers to easily port iOS apps to run on macOS, with minimal or no code changes, and without needing to develop separate versions for each. The end goal is to allow developers to submit a single version of an app, and allow it to work seamlessly on all Apple platforms, from Watch to Mac. At present, iOS and iPadOS apps are compiled for the full gamut of ARM instruction sets used on those devices, while macOS apps are compiled for x86_64. The logical next step is to cross this bridge, and unify the instruction sets.
With this T2 release, the new products using it have not been quite as well received as with the T1. Many users have noticed how this change contributes further towards machines with limited to no repair options outside of Apple’s repair organization, as well as some general issues with bugs in the T2.
Products with the T2 also no longer have the “Lifeboat” connector, which was previously present on 2016 and 2017 model Touch Bar MacBook Pro. This connector allowed a certified technician to plug in a device called a CDM Tool (Customer Data Migration Tool) to recover data off of a machine that was not functional. The removal of this connector limits the options for data recovery in the event of a problem, and Apple has never offered any data recovery service, meaning that a irreparable failure of the T2 chip or the primary board would result in complete data loss, in part due to the strong encryption provided by the T2 chip (even if the data got off, the encryption keys were lost with the T2 chip). The T2 also brought about the linkage of component serial numbers of certain internal components, such as the solid state storage, display, and trackpad, among other components. In fact, many other controllers on the logic board are now also paired to the T2, such as the WiFi and Bluetooth controller, the PMIC (Power Management Controller), and several other components. This is the exact same system used on newer iPhone models and is quite familiar to technicians who repair iPhone logic boards. While these changes are fantastic for device security and corporate and enterprise users, allowing for a very high degree of assurance that devices will refuse to boot if tampered with in any way - even from storied supply chain attacks, or other malfeasance that can be done with physical access to a machine - it has created difficulty with consumers who more often lack the expertise or awareness to keep critical data backed up, as well as the funds to perform the necessary repairs from authorized repair providers. Other issues reported that are suspected to be related to T2 are audio “cracking” or distortion on the internal speakers, and the BridgeOS becoming corrupt following a firmware update resulting in a machine that can’t boot.
I believe these hiccups will be properly addressed once macOS is fully integrated with the ARM platform. This stage of the Mac is more like a chimera of an iPhone and an Intel based computer. Technically, it does have all of the parts of an iPhone present within it, cellular radio aside, and I suspect this fusion is why these issues exist.
Recently, security researchers discovered an underlying security problem present within the Boot ROM code of the T1 and T2 chip. Due to being the same fundamental platform as earlier Apple Watch and iPhone processors, they are vulnerable to the “checkm8” exploit (CVE-2019-8900). Because of how these chips operate in a Mac, firmware modifications caused by use of the exploit will persist through OS reinstallation and machine restarts. Both the T1 and T2 chips are always on and running, though potentially in a heavily reduced power usage state, meaning the only way to clean an exploited machine is to reflash the chip, triggering a restart, or to fully exhaust or physically disconnect the battery to flush its memory. Fortunately, this exploit cannot be done remotely and requires physical access to the Mac for an extended duration, as well as a second Mac to perform the change, so the majority of users are relatively safe. As well, with a very limited execution environment and access to the primary system only through a “mailbox” protocol, the utility of exploiting these chips is extremely limited. At present, there is no known malware that has used this exploit. The proper fix will come with the next hardware revision, and is considered a low priority due to the lack of practical usage of running malicious code on the coprocessor.
At the time of writing, all current Apple computers have a T2 chip present, with the exception of the 2019 iMac lineup. This will change very soon with the expected release of the 2020 iMac lineup at WWDC, which will incorporate a T2 coprocessor as well.
Note: from here on, this turns entirely into speculation based on info gathered from a variety of disparate sources.
Right now, we are in the final steps of Stage 2. There are strong signs that an a MacBook (12”) with an ARM main processor will be announced this year at WWDC (“One more thing...”), at a Fall 2020 event, Q1 2021 event, or WWDC 2021. Based on the lack of a more concrete answer, WWDC2020 will likely not see it, but I am open to being wrong here.

Stage3 (Present/2021 - 2022/2023):

Stage 3 involves the first version of at least one fully ARM-powered Mac into Apple’s computer lineup.
I expect this will come in the form of the previously-retired 12” MacBook. There are rumors that Apple is still working internally to perfect the infamous Butterfly keyboard, and there are also signs that Apple is developing an A14x based processors with 8-12 cores designed specifically for use as the primary processor in a Mac. It makes sense that this model could see the return of the Butterfly keyboard, considering how thin and light it is intended to be, and using an A14x processor would make it will be a very capable, very portable machine, and should give customers a good taste of what is to come.
Personally, I am excited to test the new 12" “ARMbook”. I do miss my own original 12", even with all the CPU failure issues those older models had. It was a lovely form factor for me.
It's still not entirely known whether the physical design of these will change from the retired version, exactly how many cores it will have, the port configuration, etc. I have also heard rumors about the 12” model possibly supporting 5G cellular connectivity natively thanks to the A14 series processor. All of this will most likely be confirmed soon enough.
This 12” model will be the perfect stepping stone for stage 3, since Apple’s ARM processors are not yet a full-on replacement for Intel’s full processor lineup, especially at the high end, in products such as the upcoming 2020 iMac, iMac Pro, 16” MacBook Pro, and the 2019 Mac Pro.
Performance of Apple’s ARM platform compared to Intel has been a big point of contention over the last couple years, primarily due to the lack of data representative of real-world desktop usage scenarios. The iPad Pro and other models with Apple’s highest-end silicon still lack the ability to execute a lot of high end professional applications, so data about anything more than video editing and photo editing tasks benchmarks quickly becomes meaningless. While there are completely synthetic benchmarks like Geekbench, Antutu, and others, to try and bridge the gap, they are very far from being accurate or representative of the real real world performance in many instances. Even though the Apple ARM processors are incredibly powerful, and I do give constant praise to their silicon design teams, there still just isn’t enough data to show how they will perform for real-world desktop usage scenarios, and synthetic benchmarks are like standardized testing: they only show how good a platform is at running the synthetic benchmark. This type of benchmark stresses only very specific parts of each chip at a time, rather than how well it does a general task, and then boil down the complexity and nuances of each chip into a single numeric score, which is not a remotely accurate way of representing processors with vastly different capabilities and designs. It would be like gauging how well a person performs a manual labor task based on averaging only the speed of every individual muscle in the body, regardless of if, or how much, each is used. A specific group of muscles being stronger or weaker than others could wildly skew the final result, and grossly misrepresent performance of the person as a whole. Real world program performance will be the key in determining the success and future of this transition, and it will have to be great on this 12" model, but not just in a limited set of tasks, it will have to be great at *everything*. It is intended to be the first Horseman of the Apocalypse for the Intel Mac, and it better behave like one. Consumers have been expecting this, especially after 15 years of Intel processors, the continued advancement of Apple’s processors, and the decline of Intel’s market lead.
The point of this “demonstration” model is to ease both users and developers into the desktop ARM ecosystem slowly. Much like how the iPhone X paved the way for FaceID-enabled iPhones, this 12" model will pave the way towards ARM Mac systems. Some power-user type consumers may complain at first, depending on the software compatibility story, then realize it works just fine since the majority of the computer users today do not do many tasks that can’t be accomplished on an iPad or lower end computer. Apple needs to gain the public’s trust for basic tasks first, before they will be able to break into the market of users performing more hardcore or “Pro” tasks. This early model will probably not be targeted at these high-end professionals, which will allow Apple to begin to gather early information about the stability and performance of this model, day to day usability, developmental issues that need to be addressed, hardware failure analysis, etc. All of this information is crucial to Stage 4, or possibly later parts of Stage 3.
The 2 biggest concerns most people have with the architecture change is app support and Bootcamp.
Any apps released through the Mac App Store will not be a problem. Because App Store apps are submitted as LLVM IR (“Bitcode”), the system can automatically download versions compiled and optimized for ARM platforms, similar to how App Thinning on iOS works. For apps distributed outside the App Store, thing might be more tricky. There are a few ways this could go:
As for Bootcamp, while ARM-compatible versions of Windows do exist and are in development, they come with their own similar set of app support problems. Microsoft has experimented with emulating x86_64 on their ARM-based Surface products, and some other OEMs have created their own Windows-powered ARM laptops, but with very little success. Performance is a problem across the board, with other ARM silicon not being anywhere near as advanced, and with the majority of apps in the Windows ecosystem that were not developed in-house at Microsoft running terribly due to the x86_64 emulation software. If Bootcamp does come to the early ARM MacBook, it more than likely will run like very poorly for anything other than Windows UWP apps. There is a high chance it will be abandoned entirely until Windows becomes much more friendly to the architecture.
I believe this will also be a very crucial turning point for the MacBook lineup as a whole. At present, the iPad Pro paired with the Magic Keyboard is, in many ways, nearly identical to a laptop, with the biggest difference being the system software itself. While Apple executives have outright denied plans of merging the iPad and MacBook line, that could very well just be a marketing stance, shutting the down rumors in anticipation of a well-executed surprise. I think that Apple might at least re-examine the possibility of merging Macs and iPads in some capacity, but whether they proceed or not could be driven by consumer reaction to both products. Do they prefer the feel and usability of macOS on ARM, and like the separation of both products? Is there success across the industry of the ARM platform, both at the lower and higher end of the market? Do users see that iPadOS and macOS are just 2 halves of the same coin? Should there be a middle ground, and a new type of product similar to the Surface Book, but running macOS? Should Macs and iPads run a completely uniform OS? Will iPadOS ever see exposed the same sort of UNIX-based tools for IT administrators and software developers that macOS has present? These are all very real questions that will pop up in the near future.
The line between Stage 3 and Stage 4 will be blurry, and will depend on how Apple wishes to address different problems going forward, and what the reactions look like. It is very possible that only 12” will be released at first, or a handful more lower end model laptop and desktop products could be released, with high performance Macs following in Stage 4, or perhaps everything but enterprise products like Mac Pro will be switched fully. Only time will tell.

Stage 4 (the end goal):

Congratulations, you’re made it to the end of my TED talk. We are now well into the 2020s and COVID-19 Part 4 is casually catching up to the 5G = Virus crowd. All Macs have transitioned fully to ARM. iMac, MacBooks Pro and otherwise, Mac Pro, Mac Mini, everything. The future is fully Apple from top to bottom, and vertical integration leading to market dominance continues. Many other OEM have begun to follow in this path to some extent, creating more demand for a similar class of silicon from other firms.
The remainder here is pure speculation with a dash of wishful thinking. There are still a lot of things that are entirely unclear. The only concrete thing is that Stage 4 will happen when everything is running Apple’s in- house processors.
By this point, consumers will be quite familiar with the ARM Macs existing, and developers have had have enough time to transition apps fully over to the newly unified system. Any performance, battery life, or app support concerns will not be an issue at this point.
There are no more details here, it’s the end of the road, but we are left with a number of questions.
It is unclear if Apple will stick to AMD's GPUs or whether they will instead opt to use their in-house graphics solutions that have been used since the A11 series of processors.
How Thunderbolt support on these models of Mac will be achieved is unknown. While Intel has made it openly available for use, and there are plans to have USB and Thunderbolt combined in a single standard, it’s still unclear how it will play along with Apple processors. Presently, iPhones do support connecting devices via PCI Express to the processor, but it has only been used for iPhone and iPad storage. The current Apple processors simply lack the number of lanes required for even the lowest end MacBook Pro. This is an issue that would need to be addressed in order to ship a full desktop-grade platform.
There is also the question of upgradability for desktop models, and if and how there will be a replaceable, socketed version of these processors. Will standard desktop and laptop memory modules play nicely with these ARM processors? Will they drop standard memory across the board, in favor of soldered options, or continue to support user-configurable memory on some models? Will my 2023 Mac Pro play nicely with a standard PCI Express device that I buy off the shelf? Will we see a return of “Mac Edition” PCI devices?
There are still a lot of unknowns, and guessing any further in advance is too difficult. The only thing that is certain, however, is that Apple processors coming to Mac is very much within arm’s reach.
submitted by Fudge_0001 to apple [link] [comments]

Best Practices for A C Programmer

Hi all,
Long time C programmer here, primarily working in the embedded industry (particularly involving safety-critical code). I've been a lurker on this sub for a while but I'm hoping to ask some questions regarding best practices. I've been trying to start using c++ on a lot of my work - particularly taking advantage of some of the code-reuse and power of C++ (particularly constexpr, some loose template programming, stronger type checking, RAII etc).
I would consider myself maybe an 8/10 C programmer but I would conservatively maybe rate myself as 3/10 in C++ (with 1/10 meaning the absolute minmum ability to write, google syntax errata, diagnose, and debug a program). Perhaps I should preface the post that I am more than aware that C is by no means a subset of C++ and there are many language constructs permitted in one that are not in the other.
In any case, I was hoping to get a few answers regarding best practices for c++. Keep in mind that the typical target device I work with does not have a heap of any sort and so a lot of the features that constitute "modern" C++ (non-initialization use of dynamic memory, STL meta-programming, hash-maps, lambdas (as I currently understand them) are a big no-no in terms of passing safety review.

When do I overload operators inside a class as opposed to outisde?

... And what are the arguments foagainst each paradigm? See below:
/* Overload example 1 (overloaded inside class) */ class myclass { private: unsigned int a; unsigned int b; public: myclass(void); unsigned int get_a(void) const; bool operator==(const myclass &rhs); }; bool myclass::operator==(const myclass &rhs) { if (this == &rhs) { return true; } else { if (this->a == rhs.a && this->b == rhs.b) { return true; } } return false; } 
As opposed to this:
/* Overload example 2 (overloaded outside of class) */ class CD { private: unsigned int c; unsigned int d; public: CD(unsigned int _c, unsigned int _d) : d(_d), c(_c) {}; /* CTOR */ unsigned int get_c(void) const; /* trival getters */ unsigned int get_d(void) const; /* trival getters */ }; /* In this implementation, If I don't make the getters (get_c, get_d) constant, * it won't compile despite their access specifiers being public. * * It seems like the const keyword in C++ really should be interpretted as * "read-only AND no side effects" rather than just read only as in C. * But my current understanding may just be flawed... * * My confusion is as follows: The function args are constant references * so why do I have to promise that the function methods have no side-effects on * the private object members? Is this something specific to the == operator? */ bool operator==(const CD & lhs, const CD & rhs) { if(&lhs == &rhs) return true; else if((lhs.get_c() == rhs.get_c()) && (lhs.get_d() == rhs.get_d())) return true; return false; } 
When should I use the example 1 style over the example 2 style? What are the pros and cons of 1 vs 2?

What's the deal with const member functions?

This is more of a subtle confusion but it seems like in C++ the const keyword means different things base on the context in which it is used. I'm trying to develop a relatively nuanced understanding of what's happening under the hood and I most certainly have misunderstood many language features, especially because C++ has likely changed greatly in the last ~6-8 years.

When should I use enum classes versus plain old enum?

To be honest I'm not entirely certain I fully understand the implications of using enum versus enum class in C++.
This is made more confusing by the fact that there are subtle differences between the way C and C++ treat or permit various language constructs (const, enum, typedef, struct, void*, pointer aliasing, type puning, tentative declarations).
In C, enums decay to integer values at compile time. But in C++, the way I currently understand it, enums are their own type. Thus, in C, the following code would be valid, but a C++ compiler would generate a warning (or an error, haven't actually tested it)
/* Example 3: (enums : Valid in C, invalid in C++ ) */ enum COLOR { RED, BLUE, GREY }; enum PET { CAT, DOG, FROG }; /* This is compatible with a C-style enum conception but not C++ */ enum SHAPE { BALL = RED, /* In C, these work because int = int is valid */ CUBE = DOG, }; 
If my understanding is indeed the case, do enums have an implicit namespace (language construct, not the C++ keyword) as in C? As an add-on to that, in C++, you can also declare enums as a sort of inherited type (below). What am I supposed to make of this? Should I just be using it to reduce code size when possible (similar to gcc option -fuse-packed-enums)? Since most processors are word based, would it be more performant to use the processor's word type than the syntax specified above?
/* Example 4: (Purely C++ style enums, use of enum class/ enum struct) */ /* C++ permits forward enum declaration with type specified */ enum FRUIT : int; enum VEGGIE : short; enum FRUIT /* As I understand it, these are ints */ { APPLE, ORANGE, }; enum VEGGIE /* As I understand it, these are shorts */ { CARROT, TURNIP, }; 
Complicating things even further, I've also seen the following syntax:
/* What the heck is an enum class anyway? When should I use them */ enum class THING { THING1, THING2, THING3 }; /* And if classes and structs are interchangable (minus assumptions * about default access specifiers), what does that mean for * the following definition? */ enum struct FOO /* Is this even valid syntax? */ { FOO1, FOO2, FOO3 }; 
Given that enumerated types greatly improve code readability, I've been trying to wrap my head around all this. When should I be using the various language constructs? Are there any pitfalls in a given method?

When to use POD structs (a-la C style) versus a class implementation?

If I had to take a stab at answering this question, my intuition would be to use POD structs for passing aggregate types (as in function arguments) and using classes for interface abstractions / object abstractions as in the example below:
struct aggregate { unsigned int related_stuff1; unsigned int related_stuff2; char name_of_the_related_stuff[20]; }; class abstraction { private: unsigned int private_member1; unsigned int private_member2; protected: unsigned int stuff_for_child_classes; public: /* big 3 */ abstraction(void); abstraction(const abstraction &other); ~abstraction(void); /* COPY semantic ( I have a better grasp on this abstraction than MOVE) */ abstraction &operator=(const abstraction &rhs); /* MOVE semantic (subtle semantics of which I don't full grasp yet) */ abstraction &operator=(abstraction &&rhs); /* * I've seen implentations of this that use a copy + swap design pattern * but that relies on std::move and I realllllly don't get what is * happening under the hood in std::move */ abstraction &operator=(abstraction rhs); void do_some_stuff(void); /* member function */ }; 
Is there an accepted best practice for thsi or is it entirely preference? Are there arguments for only using classes? What about vtables (where byte-wise alignment such as device register overlays and I have to guarantee placement of precise members)

Is there a best practice for integrating C code?

Typically (and up to this point), I've just done the following:
/* Example 5 : Linking a C library */ /* Disable name-mangling, and then give the C++ linker / * toolchain the compiled * binaries */ #ifdef __cplusplus extern "C" { #endif /* C linkage */ #include "device_driver_header_or_a_c_library.h" #ifdef __cplusplus } #endif /* C linkage */ /* C++ code goes here */ 
As far as I know, this is the only way to prevent the C++ compiler from generating different object symbols than those in the C header file. Again, this may just be ignorance of C++ standards on my part.

What is the proper way to selectively incorporate RTTI without code size bloat?

Is there even a way? I'm relatively fluent in CMake but I guess the underlying question is if binaries that incorporate RTTI are compatible with those that dont (and the pitfalls that may ensue when mixing the two).

What about compile time string formatting?

One of my biggest gripes about C (particularly regarding string manipulation) frequently (especially on embedded targets) variadic arguments get handled at runtime. This makes string manipulation via the C standard library (printf-style format strings) uncomputable at compile time in C.
This is sadly the case even when the ranges and values of paramers and formatting outputs is entirely known beforehand. C++ template programming seems to be a big thing in "modern" C++ and I've seen a few projects on this sub that use the turing-completeness of the template system to do some crazy things at compile time. Is there a way to bypass this ABI limitation using C++ features like constexpr, templates, and lambdas? My (somewhat pessimistic) suspicion is that since the generated assembly must be ABI-compliant this isn't possible. Is there a way around this? What about the std::format stuff I've been seeing on this sub periodically?

Is there a standard practice for namespaces and when to start incorporating them?

Is it from the start? Is it when the boundaries of a module become clearly defined? Or is it just personal preference / based on project scale and modularity?
If I had to make a guess it would be at the point that you get a "build group" for a project (group of source files that should be compiled together) as that would loosely define the boundaries of a series of abstractions APIs you may provide to other parts of a project.
--EDIT-- markdown formatting
submitted by aWildElectron to cpp [link] [comments]

/r/Popheads 150k Subscriber Census Results!

Hello! Here is the general sum of the 150k census survey! We had a total of 2697 participants - a 3% decrease from the 75k subscriber census.
View the full results here!

Age Demographics of /Popheads

Age Participants Percent
2 1 0.04%
12 1 0.04%
13 6 0.25%
14 18 0.74%
15 28 1.15%
16 65 2.67%
17 119 4.90%
18 160 6.58%
19 184 7.57%
20 222 9.14%
21 250 10.29%
22 240 9.88%
23 219 9.01%
24 179 7.37%
25 138 5.68%
26 138 5.68%
27 107 4.40%
28 80 3.29%
29 64 2.63%
30 55 2.26%
31 30 1.23%
32 23 0.95%
33 22 0.91%
34 13 0.53%
35 26 1.07%
36 9 0.37%
37 3 0.12%
38 4 0.16%
39 3 0.12%
41 1 0.04%
43 4 0.16%
44 1 0.04%
45 1 0.04%
46 1 0.04%
50 1 0.04%
51 1 0.04%

Gender Demographics

(Please note that the creator of this census, me (picc), is a cis female who intended on the next two questions being gender vs sex identity and realized that the original wording of the questions were a bit confusing. I'm sorry for this and we will make sure that it's more clear in the future.)
Gender vs Sex Identity Participants Percent
Agender 21 0.79%
Cis-Gender 2455 92.36%
Genderfluid 1 0.04%
Non-Binary 6 0.23%
Pan-Gender 1 0.04%
Trans-Gender 89 3.35%
Questioning 67 2.52%
Other 18 0.68%
Sex identity Participants Percent
Binary 1 0.04%
Female 983 36.58%
Gender-non-conforming 1 0.04%
Genderfluid 1 0.04%
Genderqueer 11 0.41%
Male 1579 58.76%
Non-binary 72 2.68%
Non-binary man 1 0.04%
Other 2 0.07%
Pangender 1 0.04%
Questioning 32 1.19%
Transmasculine 2 0.07%
Transfeminine 1 0.04%

Sexual Orientation Demographics

Sexual Orientation Participants Percent
Asexual 54 2.01%
Bi and Ace 1 0.04%
Bicurious 2 0.07%
Bisexual 604 22.54%
Demisexual 2 0.07%
Don’t Identify 1 0.04%
Gay 849 31.68%
I don't know 6 0.22%
Lesbian 106 3.96%
Other 9 0.34%
Pan, lesbian-leaning 1 0.04%
Panromantic Ace 1 0.04%
Pansexual 72 2.69%
Queer 89 3.32%
Questioning 5 0.19%
Straight 878 32.76%

Current Relationship Status

Relationship Status Participants Percent
Cohabitating 152 5.65%
In a relationship 474 17.63%
Married/Domestic Partnership 166 6.18%
Single 1896 70.54%

Ethnicity Demographics

Ethnicity Participants Percent
Asian (includes East Asian, Southeast Asian, and origins in the Indian subcontinent) 392 14.59%
Askenazi Jewish 1 0.04%
Australian 1 0.04%
Black 107 3.98%
Hawaiian / Pacific Islander 5 0.19%
Hispanic/Latino/Latina (non-white) 140 5.21%
Hispanic/Latino/Latina (white) 187 6.96%
Indeginous Australian / Aboriginal Australian 5 0.19%
Indigenous American / Native American 14 0.52%
Indigenous Canadian 1 0.04%
Indo European 1 0.04%
Jewish 4 0.15%
Kurdish 1 0.04%
Middle Eastern 50 1.86%
Mixed / Biracial 142 5.28%
NZ Maori/Pakeha 1 0.04%
Other 4 0.15%
Romani 1 0.04%
White (Non-Hispanic/Latino/Latina) 1630 60.66%

Location Demographics

Location Participants Percent
Australia/New Zealand 165 6.14%
Canada 245 9.11%
Caribbean 4 0.15%
Central America 5 0.19%
Central Asia 1 0.04%
Central Europe 1 0.04%
East Asia 8 0.30%
Eastern Africa 1 0.04%
Eastern Europe 48 1.79%
Middle East 26 0.97%
North America 29 1.08%
Northern Africa 5 0.19%
Northern Europe 55 2.05%
Oceania 1 0.04%
Russia 5 0.19%
South America 90 3.35%
South Asia 20 0.74%
Southeastern Africa 2 0.07%
Southeastern Asia 85 3.16%
Southern Africa 4 0.15%
Southern Europe 33 1.23%
United Kingdom 260 9.67%
United States 1474 54.82%
Western Asia 1 0.04%
Western Europe 121 4.50%

Native English Speakers

The highest non-english native languages were: Spanish, Portuguese, Dutch, German, French, Filipino, Polish, Arabic, Italian, and Swedish!

Education Demographics

Highest Level of Education Participants Percent
Attained High School degree or equivalent 213 7.93%
Completed Masters/Doctorate or equivalent 198 7.37%
Completed undergraduate or equivalent 879 32.74%
Still in High School or lower 305 11.36%
Still in college/got some college credit 1090 40.60%

Employment Demographics

Please note this census occurred as the COVID-19 shutdowns began, so this may not be completely reflective of the current status of Popheads.
Employment Status Participants Percent
Employed - Full Time 844 31.38%
Employed - Part Time 386 14.35%
Not Employed 333 12.38%
Self Employed 64 2.38%
Student (Not Employed) 1063 39.52%

Mental and Physical Health Statistics

Food Preferences

There were so many! Here are the top 5:
Note - this is the same as the last census!

How Long Have You Been a Part of the Community?

Popheads Status Participants Percent
1-2 years 869 32.32%
2+ years 1074 39.94%
3 to 6 months 170 6.32%
6 to 9 months 166 6.17%
9 months to 1 year 273 10.15%
Less than 3 months 137 5.09%

We're Overrun By Lurkers!

Lurkability Participants Percent
Lurk 1290 47.97%
Only comment 595 22.13%
Rarely comment and post 406 15.10%
Comment and post sometimes 331 12.31%
Comment and post often 67 2.49%

Other Subreddits We Use

Blackpink is in WHICH area?
HipHopHeads, Indieheads, Music, Kpop, ListenToThis, LetsTalkMusic, EDM, WeAreTheMusicMakers, ElectronicMusic, and R&BHeads say hello

Popheads is the Best Music Sub, and we have the talent to prove it

85.2% of us (2277 respondents) primarily use Popheads, while 14.8% (395 respondents) do not
88.6%% of us use Popheads as our primary source of entertainment! We also primarily use Pitchfork, NPR, and Rolling Stone.
We love making our own music! Just kidding. 82.6% (2,208) of our respondents don't make their own music.

Listening Hours and Methods

Hours spend listening to music per week

Hours of Listening Participants Percent
<5 hours 144 5.37%
6-10 424 15.81%
11-15 442 16.48%
16-20 430 16.03%
21-30 497 18.53%
31-40 318 11.86%
41-50 168 6.26%
>50 hours 259 9.66%

Percentage of that time listening to new music

New Music? Participants Percent
<20% 1719 64.09%
21-40% 755 28.15%
41-60% 156 5.82%
61-80% 40 1.49%
81-100% 12 0.45%
A little more than half of our participants listen to "pop" music more than 50% of the time.
We use phones as our primary source of listening tool, followed by computer, radio, music player, and others. We buy our music primarily as digital downloads, but plenty of us (919, 46%) buy CDs, and the cool kids (760, 38.1%) buy vinyl.
Spotify came out on top as the primary streaming service with 2,160 participants using it, followed by YouTube at 1,605 participants. (This and the above were multiple answer options). Apple Music came in with 549 participants, barely beating out Soundcloud who had 469!

Miscellaneous

We're suckers for Pitchfork!
73.8% of participants have friends they can comfortably discuss music with.
We are also a part of other communities on Last.fm and Discord! Though, 875 people said they are not part of other communities.

Favorites

Top 5 TV Shows: The Good Place, Bojack Horseman, Breaking Bad, Parks and Recreation, and The Office
Top 5 Movies: Parasite, Mean Girls, La La Land, Titanic, and Interstellar
Top 5 Video Games: Animal Crossing, Minecraft, The Sims, Pokemon, and Skyrim
Top 5 Musical Acts: Taylor Swift, Charli XCX, Lady Gaga, Lana Del Rey, and Lorde
Top 5 Books: Harry Potter, 1984, The Great Gatsby, A Little Life, and Lord of the Rings
Lots of you still don't read or have a favorite book!

Artists We Rated

Heavily Favored (Primarily 4s and 5s)

Heavily Disliked (Primarily 1s and 2s)

Mixed Bag (Leaning neither way)

All pets were 5/5 thank you

submitted by Piccprincess to popheads [link] [comments]

Addressing recent controversies + A new idea for the Trusted Sellers list.

Hello everyone. I just took a brief hiatus from moderating, as I’ve been in the process of a major post-graduation move. I just caught up with some of the recent controversy regarding Will, and we did a thorough investigation on the matter. Unfortunately, we found evidence of bad faith on the side of the primary individual attacking Will, including usage of alternate accounts to fake grassroots momentum in the "petition” to remove (which he deleted, after being found out), as well as strong suspicions of vote manipulation. Luckily, nothing worthy of an exposé post, like the last time this happened. We have no reason to believe that his motives were more nefarious than simply getting the attention and gratification of being a Cancel Culture Star. But suffice it to say, we are disinclined to bow to his attempt to “cancel” Will.
That said, Will is far from innocent. Most of the comments on the individuals posts were not fake and/or motivated for the same reasons as the user behind the main posts. We identified many issues via customer anecdotes and examples of Will’s (un)professional manner, which will not continue to fly as a trusted seller on this board. Will is going to be on thin ice for the time being, and despite being an OG seller on Repsneakers, we are not opposed to removing or even blacklisting him from the TS list if issues persist.
Onto the next topic: It is unfortunate that we have had to remove several trusted sellers recently, and I have come to the realization that the current system is not optimal in the way list removals are handled. For example, until a few months ago, UABat was one of the most popular sellers on this subreddit. But he was recently removed from the TS list. Despite this removal, he still appears to be dedicated to making amends with the community, and climbing out of the hole he dug himself into. Not good enough to be on the TS list. Not bad enough to be on the blacklist...
So what do we do about these situations where we have sellers have solid history of good service, but go through rough patches which cause loss of confidence by the community? Simply being removed from the list and forgotten/shunned doesn’t seem to be the best answer.
The solution may be a third section for the purpose of further distinguishing the many sellers on this board. The idea is to categorize sellers in a less polarizing way than the simply binary (tri-nary?) "on the list", "off the list", or "blacklisted". We would call this section “New/Probationary Sellers”, which is yet another idea adopted from our grandfather community, RWI Forum.
In this section, we would post profiles for new or new-to-Repsneakers sellers which have established a positive/neutral reputation on Repsneakers, but not yet to the extent that they belong on the TS list. We would also migrate profiles for sellers which were previously on the TS list, but fell out of favor with the community for reasons which did not justify blacklisting. Sellers on this "NP list” will have the opportunity to move up to the TS list if they prove their commitment to the community.
The primary purpose of the pinned post is to provide easily-accessible information on the full breadth of sellers on this board, including those which should be avoided (the blacklist). Merely removing sellers from the TS list does the community a disservice, because users will be left with questions about why ‘x’ seller is not on the list, but also isn’t blacklisted. I believe creating a fuller picture of the marketplace options will have a positive effect. It may also result in probationary sellers finding more motivation to earn their place back on the TS list, and remain there.
This may apply to all or most of the recent removals from the TS List, such as Vicky and UABat, as well as new sellers like Firecloud and Wedosneakers.
Let me know what you guys think of the idea. I hope all my fellow Americans had a good Independence Day! 🇺🇸
submitted by Walt_F to Repsneakers [link] [comments]

Sympathy for the Drow - De-Vilifying the Dark Elves

The "Evil" races in DnD have always rubbed me kinda the wrong way. Partly once I learned that a lot of them come from racist stereotypes (Orcs, Drow, and Goblins in particular) and also just because it doesn't make sense to me. Even Nazi Germany had variation and dissenters and it only lasted for 12 years. Why would a clearly evil society never change over hundreds of years? In my opinion, a story is only as good as it's villains. So, I've set out to try and make the traditionally evil races slightly more believable and even sympathetic in places.
Now, I've not been a DM very long, only like three years. But the first campaign I ever ran was through Curse of Strahd which paints the Vistani (an itinerant society heavily based on the real world Romani) as a conniving group of thieves, murders, and vampire-worshipers. Thankfully, I found through reddit and other sites how to steer away from the racists depictions of the Vistani and making them seem like, at worst, opportunists. So, I hope to be able to do that with some other of the classic DnD antagonist races.
I've read some other phenomenal post on here about evil races that totally inspired me as well. There's a great two part post about Decolonizing D&D which I adore. The post about alignment is easily my favorite. There's a couple great ones on Orcs and Yuan-Ti too so if some of my ideas are lifted from them, I hope y'all consider it flattery instead of theft. So, here are some primer notes before I get into it.
For creating the Dark Elves, I tried to keep as much as I could from the books. Obviously some stuff has to get thrown out the window though. I also tried to standardize calling them Dark Elves instead of Drow partly because I feel like Drow has a much nastier sound to it and calling them Dark Elves follows the naming convention with the High and Wood Elves. I tried to model them after real-life matriarchal societies like the Mosuo people of China and their pantheon after real deities like the Greeks, Romans, and Norse. I also quickly realized that building a society is inseparable from geography. Where a people are from effects their language, values, mythology, history, and family structure. I've tried to outline details I think are necessary to making this society realistic while leaving it open ended enough to be place-able in different worlds with relative ease. All that aside, lets get into the meat of it.

The Dark Elves: Elven Outcasts

The Elves are a varied and magical people that come from many planes and many environments within them. But none are met with more distrust and fear than the Dark Elves. Easily set apart from their cousins by their charcoal or pitch-black skin, pink-red eyes, hair of grays and whites, and shorter stature, these people have earned a reputation as killers, thieves, demon worshipers, and liars. But history is a cruel mistress, something the Dark Elves know better than most.

The Divine Divide

As the legends go, when the world was still young, Corellon Larethian lived on the Plane of Arvandor with his fellow Primal Elves. They were wild and mutable, emotional and free in all things. They changed shapes at will, gave and took freely to and from the world, and never stayed in any location too long. They wandered to and fro, scattering their peoples across almost every plane. However, this unbridled freedom was not without a price. Arguments, feuds, and small scale wars were incredibly common between them. Some elves would find themselves stranded on far off planes after most of their companions impulsively decided to leave. Their self serving impulses drove them to often completely disregard the needs or wants of others if they went against their own desires. And their reckless revelry was wreaking havoc on the natural world with Elven parties decimating whole planes of edible plants, wild game, and drinkable water.
One such Primal Elf began to see the destruction of their ways and talked to other elves about their actions. Slowly, this Elf by the name of Lolth amassed a small following of devotees that saw the negative ramifications of their inconsiderate freedom. Lolth and her followers agreed to take on fixed forms to show recognition of the dangers that impulsivity could bring. Lolth led this small group of devotees to Corellon to ask for his support. Now, Corellon did not lead these Primal Elves: he was just as wild as the best of them and did not take kindly to others telling him what to do. But he was the First Elf ever born and was universally respected amongst the Primal Elves and if Lolth could convince him, others would surely follow. Corellon listened to her proposition and agreed that they should change to prevent more destruction and conflict, but refused to order his kinsfolk into any action. He was an Elf, same as all of them, and he wouldn’t dare order around his family. He balked when Lolth asked him to take a concrete form as a show of solidarity and brushed her off as a killjoy.
Lolth was unsatisfied with this outcome and her following set out to convince each Elf to change their ways to preserve the beauty of the worlds. However, without the support of Corellon, many elves refused her offer. Her anger grew with each failure and her opinion of Corellon turned sour, something she made no attempt to hide from her Elven siblings. Now, Corellon is a proud god and once he caught wind that Lolth was bad mouthing him in an attempt to win over others, he became enraged. He railed against Lolth calling her a snake-tongued thief and Lolth called him incompetent and cruel. Their tempers flared and all the elves chose sides between Corellon’s freedom and Lolth’s stability. During this great debate, the Primal Elves turned to violence. The Dark Elves maintain that Corellon’s side threw the first blow, while the High Elves claim that it came from Lolth’s side.
No matter the source, this violent outburst soured relations between Lolth and Corellon forever after. He cast her and her followers out of Arvandor and barred her from ever returning. He also cast all but his most trusted kin from Arvandor, forcing them all to live lives on other worlds out of fear of another perceived insurrection. Thus, the Seldarine remain in Arvandor to judge the souls of Corellon’s faithful when they die and Lolth takes refuge in Arcadia with her pantheon where she minds the souls of the Drow. Corellon’s faithful call her pantheon the Dark Seldarine, while her faithful call it the Myrkalfar.

Myrkalfar: The Spider Mother’s House

Lolth the Spider Queen is the unquestioned head of the Myrkalfar, with all other deities seen as her divine family. Lolth is considered at times to be fickle or even cruel, but her ire is never gained without good reason. A very involved deity, her followers constantly search for signs of her favor or scorn in everyday life. When a Dark Elf contemplates a risky or controversial decision, they consult priestesses or perform their own rites which often gives them direct and succinct answers. She serves as an example to matriarchs of Drow families as demanding yet understanding, punishing yet guiding. She asks for a lot of her priestesses, demanding they be an unflinching example of everything a strong leader should be. The Myrkalfar is often presented as a divine household, with Lolth as the matron.
Keptolo is the consort of Lolth and considered to be the ideal of what a male should be. Beautiful and kind, strong and hard working, he helps Lolth in everything she does. Sometimes he serves as a messenger, other times as an agent of redemption, sometimes as a divine healer. When a Dark Elf is tasked with a divine charge, he is usually the one to deliver the message and guide them through their charge. He serves also as a fertility deity and is often worshiped by women or men seeking a child. Outsiders see him as a weak and subservient husband to Lolth, but his faithfulness to his matron is considered a virtue and his status as a “husband” is relatively alien to the Dark Elves as they have no binding marriage in their society.
If Keptolo is the agent of Lolth’s mercy, Kiaransalee is the agent of her vengeance. She is the eldest daughter of Lolth and Keptolo and one that Dark Elves pray to when they feel wronged. Only the most binding and serious contracts are signed under her name. To break an oath made under her name is sure to bring destruction. She is also the governor of the dead, judging the souls of those passed in the afterlife. She opposes the mindless undead created by mortals, but spirits and revenants that return to finish unresolved business amongst the living are considered under her protection. Should a Dark Elf encounter a returned spirit that is seeking vengeance, it’s their duty to leave them on their way and pray that the spirit isn’t there for them. This reverence of certain undead is something many outsiders consider downright evil.
Selvetarm is the Dark Elven warrior goddess and youngest daughter of Lolth. Often depicted with eight arms, she represents the pinnacle of hand to hand martial prowess, but often is without restraint. She serves as both an inspiration for warriors, and a warning. Vhaeraun is the eldest son of Lolth and governs ambition and stealth. Both of these traits are not necessarily vilified, but worship of him is highly scrutinized. Haughty and rash, tales of him often include deceiving his fellow gods for good and ill and more often than not are cautionary ones. He’s depicted as wearing a mask, either as some punishment for endangering Lolth and her family or to hide his identity for various schemes, possibly both.
Malyk is Lolth’s youngest son and a youthful deity of change and growth. He’s often seen as a bouncing young boy that Lolth and her family have to reign in from wild misadventures. His freedom and curiosity is often seen as a double edged sword, both gaining him great riches but also putting him in tremendous peril. He has strong ties to sorcerers and when a child is born with innate magical talent, he is often the one thanked for it. He serves as an outlet for a Dark Elves youthful chaotic nature, but also warns them of the ramifications of their actions.
Ghaunadur is a strange figure in the pantheon. Their place in the family is a bit of a mystery, sometimes called the sibling of Lolth, or her child, or even as Lolth’s parent. What makes them truly unique is that they are a formless deity, something that Lolth once warred with Corellon over. The legends go that when Ghaunadur joined Lolth, they refused to give up their changeable nature. When questioned, Ghaunadur pointed to the slimes, oozes, and formless creatures of the world and said that they wished to protect them from the Elves and the Elves from them. Lolth agreed, cementing their position as the deity of the changing forms of nature. Their favored creature is the ooze, but they govern all natural creatures. Dark Elves often pray to Ghaunadur to protect them from the creatures that lurk in the depths of the forest.
Zinzerena is Lolth’s sister and is the goddess of poisons, illusions, and magic. Viewed as an elderly and patient figure, she often serves as council to Lolth in desperate times. She’s said to be the mother of all poisons and venoms and her teachings are all about finding the wisest solution to a problem. Zinzerena teaches that even though the spider is small, it’s bite can still fell a panther. Despite her perceived age, she’s considered the younger sister of Lolth and is thought to be incredibly quick and nimble: a reminder that not everything is as it seems.
Eilistraee is Lolth’s niece and daughter of Zinzerena. Considered the black sheep of the pantheon, she serves as a goddess of redemption and moonlight. Dark Elves that turn their back on their family or scorn traditions will sometimes find themselves turned to Driders, half-spider half-Dark Elf creatures shunned by all. Eilistraee is said to watch over these creatures and if they are repentant, offer them challenges that they could complete to redeem themselves. Lolth often views her with contempt or mistrust, but never hates her and maintains her place in the pantheon. Dark Elven faithful rarely worship her as the others. She’s also one of the only deities of the Myrkalfar to claim no animosity toward the Seldarine and their faithful.
Spiders are the sacred animal of Lolth and are often used as an example of social order and the importance of family bonds. Each strand of silk serves the web as whole. More literally, the giant spiders of the Underdark are multifaceted and incredibly useful creatures. Serving as beasts of burden, war steeds, meat producers, household guardians, and silk producers, they are present in almost every facet of society. Their silks are used in everything from wound dressings to armor to architecture. To kill or steal another family's spider is considered akin to stealing a member of the family. Smaller and more poisonous spiders are often kept in temples and their webs are used as divining tools for priestesses.

Elven Exiles

The recorded history of the Dark Elves is full of contradictions from High Elf and Dark Elf sources. What historians can agree on is when the Elves of the Prime Material arrived, the followers of Lolth secluded from their Wood and High cousins and retreated into the Azelarien, also known as the Green Sea in Common. A massive forest, nearly 1 million square miles of dense and vibrant trees, that grows denser and darker the farther in one ventures. For countless eons, the High, Wood, and Dark Elves lived in relative harmony in their own corner of the world. High Elves lived near the forests in towns and villages, the Wood Elves lived in the lightly forested outlands of the Green Sea, and the Dark Elves lived deep in the central forests which was so dense that very little light reached the forest floor.
As time passed and their villages turned to cities, the High Elves began expanding into the forest, chopping some down to build homes and heat their furnaces. This began pushing into the territory of the Wood Elves and eventually the Dark Elves as well. These two peoples formed a shaky alliance to push back the expansive tide of the far larger High Elven armies. This alliance proved successful however and the High Elven forces began losing ground. What happened next is a matter of some debate. High Elven historians attest that the Dark Elven armies used Wood Elven soldiers as unwitting bait to lure the High Elven armies into a trap, thus causing a schism between them. Dark Elven historians state that the Wood Elven armies turned on them after the Wood Elves met in secret with High Elven leaders and bargained for their independence. Some Wood Elven historians claim that after a brutal defeat on the field, they were met by High Elven dignitaries that offered them clemency if they turned on their allies. They initially refused, but after the dignitaries threatened to make the same offer to the Dark Elves, they had no choice but to accept. No matter the cause, the histories agree that the Wood Elves turned on their erstwhile allies and helped push the Dark Elves into a rapid loss of ground.
Facing the might of the two armies with their own relatively small one, the Dark Elves were beaten into a hasty retreat into their own territory. Losing every open encounter, the Dark Elf matrons developed a new strategy of combat. The armies switched from training as many as quickly as they could, to training only a select few in multiple different forms of combat and magic. As the High and Wood Elves advanced into their territory, they quickly found their supply lines cut out from under them, their soldiers ambushed while sleeping, their scouts captured, and their leaders assassinated. And even if they would make it to a Dark Elf settlement, they would find it abandoned and booby-trapped, warned by their fast and silent scouts. If the Dark Elves couldn’t face their enemies head-on, they would weaken them with quick and decisive strikes.
Eventually, the war ground to a stalemate. The High Elves couldn’t push into the Dark Elf territory far enough to capture any cities of note without taking severe casualties and the Dark Elves were only managing to hold the invading armies back and couldn’t muster a force strong enough to push back to the enemy capital. Thus, the war cooled into a tense peace. The leaders came together to draw borders, but neither side fully forgave nor forgot one another’s actions. High and Wood Elves viewed the change in tactics by the Dark Elves as an unethical violation of the standards of war. The Dark Elves felt a particular animosity toward the Wood Elves, considering them backstabbers in their darkest hour.

Dark Elf Families: Matrons of Order

The Dark Elf society, to an outsider, looks like an oppressive and cruel society of slave traders and backstabbers. But the truth is more subtle. The Dark Elves value tradition and filial piety above almost all else. To a Dark Elven citizen, their family name is their most valuable possession and they are taught from a very young age that to look after their parents and their younger siblings is the highest virtue. Ancestors that have achieved great things often have shrines in a household alongside the gods themselves. A Dark Elf going against the will of their family is considered one of the highest taboos and often causes them to be outcast from Dark Elven society as a whole. Dark Elf society is matrilineal meaning that the eldest woman in each family is revered as the household leader and receives great respect from her family and society. This also means that the males of the society don’t inherit wealth as frequently as the females.
Dark Elven families are quite large, often with multiple generations along with aunts, uncles, and cousins living in the same household. New children almost always reside with their mother. Males of the society are expected to care not for their own biological children, but for the children born to their sisters, aunts, or nieces. This results in a striking amount of sexual freedom for both men and women, but is often viewed from the outside as promiscuity. The Dark Elves do not marry in the traditional sense, instead favoring long term partners with one another that can end at any time with no concerns to material wealth or ownership.
However, to become a member of a Dark Elf family is not entirely a matter of heritage. When a family that cannot support another child has one, they are often adopted by more well to do families and raised as one of their own. These adopted children are considered just as legitimate as if they were born into the family. Also, should a family lose all their heirs or become destitute, they often ask to become assimilated into other families for their own safety. The latter is considered a morose ceremony as the members of the smaller family forsake their surnames. To take in such a family is both an extreme honor and grim burden, as it means ending another family's line.
The borders of Dark Elven civilization only goes so far as there are trees so many newer up and coming families have expanded underground, a difficult and slow endeavor. This has put multiple houses at odds with one another for territory. However, Dark Elves do not tolerate open hostility between families as they have a very strong sense of collective identity. Dark Elves do not war against fellow Dark Elves, same as a spider does not fight its own web. This leads to many tensions and conflicts needing to be resolved in other ways. Most families will attempt a diplomatic solution, but when that isn’t an option, sabotage and coercion is the favored outlet. Murder is considered a bridge too far by most houses, but subterfuge in almost every other facet is, while not accepted, tolerated.
Legends of Lolth’s rebellion and the tension of their enclosed territory have imbued the Dark Elves with a strong sense of symbiosis with nature and conservancy. Sustainable living is the cornerstone of Dark Elf society. In the wild, no creature is killed or plant destroyed unless it’s a matter of self defense or necessary to survival.

Dark Elven Sex and Gender

As with many Elven peoples, sexuality is seen as a fluid and non-binary matter. Same sex relationships are usually seen as just as acceptable as male-female relationships. Since Dark Elves have no marriage structure, same sex life partners are common and widely accepted. Inheritance is passed along by the family as a whole, not linearly, meaning some houses may have matrons with no direct biological descendants while still serving at the elder matron. Power dynamics in relationships are still a factor, with the elder female in a gay relationship considered slightly above their partner socially and is seen as the inheritor in cases of property or genealogy. Male same sex relationships are accepted with little controversy. Since children are passed down their mothers line, the males have no social obligation to sire an heir as with other societies.
Transgender and transexual Dark Elves are met with slightly more controversy. Lolth’s rejection of the Primal Elves mutable forms is sometimes cited against transgender and transexual Dark Elves. Ghaunadur, however, is considered the patron god of these people and teaches that just as they are part of nature, they can change their forms. Many of these people join the religious order of Ghaunadur, serving in various roles both in religious ceremonies and as forest guides. Some even consider them to be blessed by Ghaunadur and are highly sought after in forays into the forests for protection. Children born to transgender Dark Elves are still expected to be a part of their eldest mother’s family or eldest father if no woman is part of the union.

Slavery Amongst the Dark Elves

While the Dark Elves do take slaves, their slavery doesn’t look the same as many other societies. When a family becomes indebted to another and they cannot pay off the debt, a member of their family, usually male, will be sent to work for the owed family. They give him room and board and are expected to care for him as if he were one of their own. He’ll work for them for an agreed upon amount of time before returning to his native family. Injury or misuse of this person is often grounds for them to leave and the debt to be nullified. Children born to servant fathers needn’t worry about inheriting their father’s status since they’re considered to be their mother’s child. On the rare occasion that a female servant has a child while in servitude, the child is returned to the mother’s family to be raised by her family while she works off the remaining debt. Some trade of servants does occur between houses, with indentured servants being traded for goods or services or even other servants of special skills, but the family of the servant reserves the right to veto such a trade for any reason.
During their frequent clashes with external armies, the Dark Elves do sometimes take prisoners of war, though very rarely are they used for slave labor. They never bring them back to major settlements, often keeping them on the outskirts of their territory to prevent them from learning critical knowledge of their territory. Most prisoners are held as bargaining chips to be traded for passage, supplies, or captured Dark Elves. Captured military leaders are sometimes brought to Dark Elven cities to be tried for their crimes against their people.

Dark Elven Government: Independent Houses

Unlike many other cultures, the Dark Elves lack a centralized government. Societal etiquette govern the standard for how certain crimes and disagreements should be handled, but each family unit acts as its own governing body. Disagreements within families are thus resolved internally. Inter-family disputes are resolved in multiple different ways. Most often, the two matrons of the family will meet and agree on terms to fairly compensate both sides. In cases when these talks deteriorate, the High Priestess of Lolth is often called to serve as the mediator and serves as the ruling body between disputes. Her rulings are final and indisputable, as she is considered the mouthpiece of Lolth’s will.
In times of crisis, historically the many houses of the Dark Elves have convened to discuss threats to all of Dark Elven society. This is uncommon as it’s difficult logistically to gather all the matrons in the same place at the same time, so often houses are represented by either the second eldest woman of the family or the eldest daughter of the matron. The High Priestess of Lolth often resides over these meetings as an arbiter in the event of split decisions or in delivering guidance from Lolth herself.

There's my take on the Dark Elves. Any comments, suggestions, questions, outrages, and critiques are welcomed. This is my first comprehensive look at a whole race so if I've missed things, I'll try and patch them up. I'd like to do similar things for Orcs, Goblinoids, Kobolds, and others so those might be seen soon. Thanks!
submitted by Lerad to DnDBehindTheScreen [link] [comments]

APD Statement Regarding Arrest of Rosalinda Nuno Trevino


FOR IMMEDIATE RELEASE July 7, 2020 Contact: Public Information Office, (512) 974-5017 APD Statement Regarding Arrest of Rosalinda Nuno Trevino
APD is aware of a video that is circulating involving the arrest of 40-year-old Rosalinda Nuno Trevino for multiple hazardous traffic violations.
Regarding Case# 20-1860985, on July 4, 2020, Austin Police Department Motor Unit Officers were riding their motorcycles behind a protest march to keep people safe from vehicular traffic. Ms. Trevino was driving a white SUV behind these motor officers. Ms. Trevino began to follow the officers very closely with her vehicle and honk her horn continuously. She drove through empty parking spaces and attempted to move her vehicle around the officers’ motorcycles. Officers told Ms. Trevino to stay behind their motorcycles to ensure the safety of the people marching. Ms. Trevino then stopped her vehicle, ran up to an officer and requested his badge number, which the officer provided.
At the intersection of 2nd Street and Congress Avenue, Ms. Trevino started to honk the vehicle horn a second time and drove through a red light. Ms. Trevino then stopped her vehicle again and approached officers. Ms. Trevino was placed under arrest for the multiple hazardous traffic violations to include, running a red light, failure to yield the right-of-way to pedestrians, improper use of a horn and failure to maintain an assured clear distance. As a crowd began to form, officers moved Ms. Trevino to the front of an officer’s vehicle to conduct a search before transporting her to jail. While conducting the search, he advised Ms. Trevino that a female officer was not available. He conducted the search in front of a police vehicle where a vehicle camera could document and at least one other officer was present, as required by APD policy.
Full APD Policy: https://www.austintexas.gov/sites/default/files/files/Police/General%20Orders.pdf
APD Frisk/Search Training Video: https://youtu.be/XgdZBwQ-0Og
Portions of APD Policy have been copied below with highlighted explanations for your convenience:
306.3.1 SEARCH PROTOCOL
Nothing in this order supersedes officer safety tactics.
(a) Officers will conduct person searches with dignity and courtesy.
(b) Officers will conduct property searches in a manner that returns the condition of the property to its pre-search status as nearly as reasonably practicable.
(c) Officers should attempt to acquire keys to locked property when a search is anticipated, and the time and effort required to gain the keys makes it a practicable option.
(d) It is the responsibility of each individual officer to search a prisoner for weapons or contraband anytime he gains custody of that prisoner, regardless of whether the prisoner was previously searched by another officer.
(e) When safety permits:
  1. Officers should explain to the person being searched the reason for the search and how the search will be conducted.
2. When practical, an officer of the same gender should be called to the scene when officers believe the subject is concealing items in a sensitive area, such as evidence or narcotics in the groin, buttocks, or breast areas. This does not apply to items that pose an immediate threat to officer safety.
  1. If a subject requests a search by an officer of the same gender, an attempt should be made to have a same gender officer conduct the search.
  2. If a same gender officer is unavailable, the search should be conducted in front of a Mobile Audio Video (MAV) recording system, if available, or a second officer should be present.
  3. If the gender of the individual needing to be searched comes into question, officers should respectfully inquire as to whether the individual identifies as transgender. When an individual self-identifies as transgender, officers will not question this identity absent articulable, compelling reasons, nor will an officer inquire about intimate details of an individual's anatomy to determine gender. Officers needing to search a person who has disclosed that, or the officer recognizes by prior knowledge, the individual is Transgender, Intersex, and/or Fender Non-Binary/Gender Non-Conforming (TIGN), should, when practicable, conduct the search based on the gender with which the individual identifies. (For example, a Female-to-Male individual should, when practicable, be searched by a male officer, or by a female officer who conducts an opposite gender search. A Male-to-Female individual should, when practicable, be searched by a female officer, or by a male officer who conducts an opposite gender search).
  4. Officers will use the backside of their hands and fingers to frisk/search sensitive areas of the opposite gender to include the breast, crotch, and buttocks.
306.6 SEARCH INCIDENT TO ARREST
The general authority to search incident to a lawful custodial arrest is not qualified or limited by the type of arrest. Objects of the search are weapons, evidence, and/or means of escape.
(a) Persons:
  1. When officers make a lawful arrest, they are permitted to conduct a contemporaneous search of the arrestee. Such a search safeguards the arresting officer and others nearby from harm while ensuring that the arrestee will not discard or destroy evidence.
  2. It is entirely reasonable for arresting officers to search the area where the defendant might reach in order to grab a weapon or evidence.
306.9 FRISK (PAT-DOWN) FOR WEAPONS
A frisk is a mere pat-down of the outer clothing, area, vehicle or container to which a detained person may have immediate access. The purpose of a limited weapons frisk after an investigatory stop is not to discover crime, but to allow the officer to pursue the investigation without fear of violence. An officer does not need to be absolutely certain that an individual is armed; the issue is whether a reasonably prudent person would justifiably believe that he or others were in danger.
(a) Persons:
  1. A frisk is a limited patting of the outer surfaces of a person's clothing in an attempt to find weapons. A frisk can only be used by officers when they justifiably stop someone and have a reasonable fear for their safety, the safety of the public, or when a cautious and prudent officer under the same or similar circumstances would conduct a pat-down.
  2. Normally, officers cannot put their hands under the suspect's outer clothing until they feel something they reasonably believe is a weapon. If the outer clothing is too bulky to allow officers to decide if a weapon is concealed underneath, outer clothing such as overcoats and jackets may be opened to allow a pat down of the inner clothing, such as shirts and trousers.
  3. Packages, purses, briefcases and other containers may be frisked during the stop.
  4. The scope of a protective frisk is limited to persons and places within arm's reach of a concealed weapon or toward which the subject might lunge.
submitted by ATX_311 to Austin [link] [comments]

Since 1983, I have lived, worked and raised a family in a progressive, egalitarian, income-sharing intentional community (or commune) of 100 people in rural Virginia. AMA.

Hello Reddit!
My name is Keenan Dakota, I have lived at Twin Oaks, an income-sharing, intentional community in rural Virginia for 36 years, since 1983. I grew up in northern Virginia, my parents worked in government. I went to George Mason University where I studied business management. I joined Twin Oaks when I was 23 because I lost faith in the underpinnings of capitalism and looking for a better model. I have stayed because over time capitalism hasn't looked any better, and its a great place to raise children. While at Twin Oaks, I raised two boys to adulthood, constructed several buildings, managed the building maintenance program, have managed some of the business lines at different times.
Proof this is me. A younger photo of me at Twin Oaks. Here is a video interview of me about living at Twin Oaks. Photo of Twin Oaks members at the 50th anniversary.
Some things that make life here different from the mainstream:
More about Twin Oaks:
Twin Oaks is an intentional community in rural central Virginia, made up of around 90 adult members and 15 children. Since the community's beginning in 1967, our way of life has reflected our values of cooperation, sharing, nonviolence, equality, and ecology.
We do not have a group religion; our beliefs are diverse. We do not have a central leader; we govern ourselves by a form of democracy with responsibility shared among various managers, planners, and committees. We are self-supporting economically, and partly self-sufficient. We are income-sharing. Each member works 42 hours a week in the community's business and domestic areas. Each member receives housing, food, healthcare, and personal spending money from the community.
We have open-slots and are accepting applications for new members. All prospective new members must participate in a three-week visitor program. Applicants to join must leave for 30 days after their visit while the community decides on their application.
We offer a $5 tour on Saturdays of the property, starting in March. More info here.
Ask me anything!
TL;DR: Opted out of the rat-race and retired at 23 to live in the woods with a bunch of hippies.
EDIT: Thanks for all the questions! If you want some photos of the farm, you can check out our instagram.
EDIT2: I'm answering new, original questions again today. Sort by new and scroll through the trolls to see more of my responses.
EDIT3: We DO have food with onion & garlic! At meals, there is the regular food, PLUS alternative options for vegan/vegetarian/no gluten/no onions & garlic.
EDIT4: Some of you have been asking if we are a cult. No, we are not. We don't have a central leader or common religion. Here are characteristics of cults, FYI.
Edit: Yikes! Did I mention that I am 60? Reddit is not my native land. I don't understand the hostile, angry and seemingly deliberately obtuse comments on here. And Soooo many people!
Anyway, to the angry crowd: Twin Oaks poses no threat to anyone, we are 100 people out of a country of 330 million? Twin Oaks reached its current maximum population about 25 years ago, so not growing fast, or at all. Members come and go from Twin Oaks. There are, my guess is, 800 ex-members of Twin Oaks, so we aren't holding on to everyone who joins—certainly, no one is held against their will.
Twin Oaks is in rural Virginia, but we really aren't insular, isolated, gated or scared of the mainstream culture. We have scheduled tours of the whole property. Local government officials, like building inspectors, come to Twin Oaks with some frequency. People at Twin Oaks like to travel and manage to do so. I personally, know lots of people in the area, I am also a runner, so I leave the property probably every day. There are lots of news stories about Twin Oaks over the years. If you are worried about Twin Oaks, maybe you could go read what the mainstream (and alternative) media have to say.
Except about equality Twin Oaks is not particularly dogmatic about anything. (I know some people at Twin Oaks will disagree with that statement.) Twin Oaks isn't really hypocritical about Capitalism, Socialism, or Communism, we just don't identify those concepts as something that we are trying to do. Twin Oaks is not trying to DO Communism, we are trying to live a good life with equally empowered citizens—which has led us to try to maintain economic parity among members. Communists also do that. In making decisions in the community I don't remember anyone trying to support or oppose an idea due to excess or insufficient Communism, Socialism, or Capitalism. In most practical senses those words aren't useful and don't mean anything. So, no need to hammer Twin Oaks for being insufficiently pure, or hypocritical.
Twin Oaks is very similar to the Kibbutz in Israel. If anyone has concerns or questions about what would happen if places like Twin Oaks suddenly became much larger and more common, read about the history of the Kibbutz, which may have grown to possibly 1% of the population at their largest? There was and is no fight with Capitalism from the kibbutz—or with the State. My point is—not a threat.
To the other people who think that the ideas of Twin Oaks are interesting, I want you to know it is possible to live at Twin Oaks (or places like Twin Oaks) and happily live ones entire life. There is no central, critical failing that makes the idea not work. And plenty of upside. But do lots of research first. Twin Oaks maintains a massive web site. (Anyway, it takes a long time to read.)
But what I would like to see is more people starting more egalitarian, income-sharing communities. I think that there is a need for a community that is designed and built by families, and who also share income, and provide mutual support with labor and money. If you love this concept, maybe consider gathering together other people and starting your own.
Ideologically speaking:
-Ecology: the best response to ecological problems is for humans to use fewer resources. The easiest way to use fewer resources is to share resources. Living communally vastly cuts down on resource use without reducing quality of life.
-Equality: ideologically speaking, most people accept the idea that all humans have equal rights, but most social structures operate in ways that are fundamentally unequal. If we truly believe in equality then we ought to be willing to put our bodies where our ideology is. In a truly equal world, the issues of sexism and racism and all other forms of discrimination would, essentially, not exist.
-Democracy: Twin Oaks uses all manner of decision-making models and tools to try to include everyone and to keep people equally empowered. There is no useful word for this. We do use a majority vote sometimes, as a fallback. But sometimes we use consensus. We sometimes use sociocracy (dynamic governance). The word "Isocracy" (decision-making among equals), would be useful to describe Twin Oaks' decision-making model, but Lev in Australia has written an incomprehensible "definition" on Wikipedia, that he keeps changing back when someone corrects it.
-Happiness: The overarching goal of all ideologies is to make people happy, right? I mean, isn't it? Capitalism is based upon the belief that motivation is crucial to human aspiration and success (and therefore more happiness). Under Capitalism, equality is a detriment because it hinders motivation (less fear of failure, or striving for success). Twin Oaks believes that humans are happier when they are equal, and equally empowered. So the place to start up the ladder of happiness is to first make everyone equal. Well, Twin Oaks is mainly still working on that first step.
EDIT5: Some have asked about videos - here are links to documentaries about Twin Oaks by BBC, VICE and RT.
submitted by keenan_twinoaks to IAmA [link] [comments]

A Brief introduction to African Socialism

At the end of the Second World War, Europe realized that their hold on their colonial holdings was slipping fast. Most of them began to draw up plans to gradually grant independence. The people within these countries however had different priorities. They saw their chance to break from the colonial masters and took it. In 1950, only Egypt, Liberia, Ethiopia, and South Africa could be considered independent, by 1965 the vast majority of nations were on their own. Some flourished, some languished, but almost all improved with their newfound freedom.
At this time, the world was locked in a struggle between Western Democracy and Communist Dictatorship. With little warning, a new theater opened in the Cold War. Africans were given the decision of who to side with. As an enemy of their former masters, the Soviet Union made a natural ally, and Socialism's anti-imperial (theoretic) stance appealed to people in post imperial regions of the world. Since independence, seventeen African nations have had a government which self-identified as socialist, six of those as Marxist-Leninist. Like Africa itself, socialist movements in the continent were varied and diverse. Ranging from self described socialist Nelson Mandella becoming celebrated world wide for his devotion to peace and equality to Ethiopian dictator Mengistu Haile Mariam, whose violence and economic mismanagement killed thousands.
The purpose of this post is to describe the ideological origins and tenets of African socialism, with a look at what makes it distinct from mainstream Communist movements. On this map red shows those states which identified as Marxist, yellow shows those which identified as with a variety of other forms of socialism, and green shows those which more closely fall under the Arab Socialist movement and will not be discussed here.

Ideological Origins

Broadly speaking, African Socialism drew inspiration from two main sources, the traditional body of socialist literature and that of the Pan-African movement.
Socialism
Both the ideological tenets of socialism and the practical concerns socialist nations played a role in African nations adopting socialism. Most of the nations of Africa were in a struggle for freedom from capitalist European countries and found a natural ally in the Soviet Union. Following WWII, it was in many ways a binary choice to side with the US or USSR. Those who led rebellions or coups against US backed leaders had few options other than the USSR.
Political concerns aside, there were many reasons why socialism was ideologically attractive to educated Africans. Socialism is at its base revolutionary. "Let the ruling classes tremble at a Communistic revolution. The proletarians have nothing to lose but their chains. They have a world to win. Workingmen of all countries unite!” With even a cursory glance at Marx, it doesn't take much imagination to see why people oppressed for decades would turn to him.
The anti-Imperial rhetoric of socialism (regardless of the actual aggression of the USSR and PRC) was another motivating factor. In this case, I point to Vladimir Lenin's Imperialism: the Highest Stage of Capitalism. In this work, Lenin points towards imperialism as a symptom of the capitalist system. However, one of the reasons this work remained applicable after the collapse of most overseas empires is due to his characterization of imperialism. One example he gives in the book speaks of US domination of the Argentine beef industry. According to Lenin, though the US never carved out a concession area or installed a governor general, they used economic power to dominate the industry and exert control over the country. This characterization rang true for many people who looked at the efforts taken by former colonial powers looking to retain their economic stakes in their old colonies.
One of the problems socialists face in implementing their policy is that Orthodox Marxism is heavily based on the conditions of 19th century Western Europe, and when applied outside of those conditions, thinkers need to reconcile the inconsistencies with the conditions on the ground. While we will look at how various African leaders adapted the ideology, one sub-ideology which played a major role in African Socialism was Maoism. Orthodox Marxism focuses heavily on a revolution based around industrial workers. Early 20th century China, much like post-colonial Africa had little in the way of industry. Mao re conceptualized the idea of the proletariat to include peasant farmers and made the revolution as agrarian as it was industrial. For example, the first president of Socialist Madagascar released an ideology book heavily inspired by Mao's Red Book. China also served as an alternative source of support in the event of a conflict with Russia; Somalia received aid from the PRC when they were at war with Soviet aligned Ethiopia.
Pan- African Movement
The Pan-African movement did not solely influence the African Socialist movement. In fact, almost all post-colonial governments took inspiration from many of the tenets of movement. Nor were all the central figures socialists, indeed Emperor Halie Salassi of Ethiopia was about as far from socialist as could be. However there was a degree of mutual influence in a number of places. The start of it can be traced to Jamaican thinker Marcus Garvey. The Pan-African colors and the icon of the Black Star both came from him. Kwame Nkrumah mentioned him directly as an influence. This remained on the nationalist and pan-nationalist side of African socialism. This and racial empowerment remained a constant theme in African socialism, with many African thinkers rejecting class reductionism. African's tended to be acutely aware of the role of race in world politics and used it in conjunction with class and capitalist interest to explain the world.
Another major thinker was American W. E. B. du Bois. One of the founding members of the NAACP and author of one of the first sociological works about African Americans, Du Bois is one of the most important figures of the American Civil Rights Movement. Du Bois was in reality a Social Democrat, who often saw world communist governments as a means to an end for black people. In Socialism and the American Negro, he referred to the New Deal as a America's foray into Socialism. Though a stalwart supporter of democracy he visited Mao Zedong and Joseph Stalin personally. He was a strong opponent of colonization and spoke to young leaders in the 1945 Pan-African congress. There he met future President of Ghana Kwame Nkrumah. He would become a mentor to Nkrumah and move to Accra in his final days.

Non-Marxist-Leninist Socialism

Many of the most interesting and successful movements in Africa were non-Marxist-Leninist. They took local beliefs and attitudes and molded socialism to fit them. These were incredibly diverse, ranging from forms of social democracy to far more authoritarian structures. The leaders ranged from educated elites to guerrilla leaders. The first socialist governments sprang up at independence and continued through the Cold War. These are some of the more notable ones.
Consciencism
Few other thinkers have had near the lasting influence on African politics and philosophy as Kwame Nkrumah. Born to a poor family in the British Gold Coast, Nkrumah was sent to school by his family where he excelled. Interested in Politics and Philosophy, he saved money to pay to visit the United States. He worked menial jobs to put himself through school at Lincoln University and University of Pennsylvania. In the US he became close to expat and American leftists as well as enjoying African American culture. After graduating he went to the London School of Economics. This is where he began political organizing. He returned to the Gold Coast where he founded the Convention People's Party. When the British began increasing local rule, his party swept. When the British did not meet the demands of the Ghanian people, he became a champion of the people with his down to earth nature and organization of general strikes. When Ghana was given full independence, he was the overwhelming choice.
A strict empiricist, Nkrumah sought to make an organic political philosophy that was designed to change as the material needs of the country changed. He determined that the welfare of the individual was the most important concern of the government and society. It was from this lens that he criticized capitalism, contending that it reduced man to a means to achieving the goal of profit. He pointed to traditional African values, Islam, and European influences as the three ideological tides that shaped Africa. The latter two he condemned, though admitted their merits where he saw them (such as the French education system), and gave qualified approval to the first. African society was to be, in spirit but not practice the driver of society. This meant that pan-Africanism and historical study were to be focused on, but the actual institutions such as tribalism, traditional monarchy, and class hierarchies were to be abandoned.
This is where socialism came into Nkrumah's Consciencism. It was not out of devotion to Marxist thinking, but out of a belief that socialist economic structures would be the most effective way of leading the country to prosperity. In a 1967 address he gave in Egypt he stated "Socialism is not spontaneous. It does not arise of itself. It has abiding principles according to which the major means of production and distribution ought to be socialized if exploitation of the many by the few is to be prevented; if, that is to say, egalitarianism in the economy is to be protected. Socialist countries in Africa may differ in this or that detail of their policies, but such differences themselves ought not to be arbitrary or subject to vagaries of taste. They must be scientifically explained, as necessities arising from differences in the particular circumstances of the countries themselves." To Nkrumah, Socialism was not prescriptive, but rather a process where one used communal ownership as needed to create a better society. He was a believer in the idea of scientific socialism in believing that socialism came from the natural needs of the people, rather than an ideological devotion.
Ujamaa
If Nkrumah was a product of the study of Philosophy, Julius Nyerere was a product of the study of anthropology and history. Unlike Nkrumah, Nyerere was the product of elite lineage. His father was a chief who earned the favor of both the German, and later British Administrations in Tanganyika. He was chosen by the British to receive education to be a local leader and studied at Makerere College before finishing his post graduate work at University of Edinburgh. Upon returning, he founded the Tanganyika African National Union, which pushed for independence from the UK through non-violent protest.
His philosophy of Ujamaa, meaning familyhood in Swahili, became the guiding ideology of the party and independent Tanganyika (and Tanzania after their unification with Zanzibar). In this ideology, Nyerere posits that socialism is the natural state of African people. Before the introduction of Western influences, African people lived in an equal and communitarian society. While he admits the existence of elites he countered that the relative equality of means meant that there was no comparison to modern economic structures. For Africans to be prosperous, they had to return to the social structures as well as the spirit of pre-colonial Africa, while accepting modernizations that would benefit the common man.
He posited that African society had a natural social value attached to work, and this work was done, not to the benefit of a capitalist elite, but to the benefit of society, thus with the fruits of labor belonging to society, they could be considered socialist. Through a return to these structures, they could have a socialist society that was structured on the needs of Africans, rather than those of 19th century Europeans. He regarded Marxists as rigid and dogmatic, stating that, "The works of Marx and Lenin are regarded as holy writ… We find them condemning others actions because they do not accord with what the 'priests of scientific socialism' have decided is the true meaning." His ontology marked the community as the basic unit. He believed in socialism through consent of the people, but not necessarily through democracy.

Marxist-Leninism

Marxist-Leninist nations in Africa tend to fill a different niche that those of non-Marxist states. Non-Marxist states tended to grow from movements within the countries with a locally based variant of socialism guiding the development of government structures. Marxist states on the other hand tended to come from the geopolitical needs of the nation. They tended to lean heavily into the support of the Soviet Union or People's Republic of China. These governments tended to be criticized by Orthodox Marxists both within the countries and abroad for simply slapping a Marxist aesthetic on a run of the mill authoritarian state. This is not universal, and depended on the leader and movement. Thomas Sankara (referred to as the African Che Guevara) is celebrated by leftists for his attempts to organize Burkina Faso, whereas his successor Blaise Compaoré simply co-opted Marxist symbolism until the end of the Cold War when it was dropped entirely. The two states I will profile show a best and worst case for African Marxists.
Benin
Nothing I write would be complete without me mentioning Benin somewhere. The Republic of Dahomey gained its freedom from France August 1st, 1960. At that time Hubert Maga, a school teacher turned politician from the North was named first president. Benin is divided into three broad super-cultural groups (though there are a total of 64 ethnic groups). The Fon in the South, the Yoruba in the East, and the Bariba and other Muslims in the North. The Maga government was soon overthrown and the country rapidly switched between a number of governments, each dedicated to giving as much as possible to their constituent area before being removed from office.
This changed in 1972 when a young army officer named Mathieu Kerekou led a successful coup. Kerekou was different in the sense that he had no real ties to any of the political families that had been competing for power. He also ended the system of clientism that had defined Dahomeyan politics to that point (though some contend he showed bias against the Fon. Strongly nationalistic, Kerekou made his hatred for the French clear early on, pointing to them as the cause of many of the country's problems and the patron of the old regime.
In 1974, Kerekou changed the country's name from the Republic of Dahomey to the People's Republic of Benin and formally adopted Marxism-Leninism as the guiding ideology of the nation. Oil reserves and refineries as well as the banking system were rapidly nationalized and Kerekou made overtures to international communist nations for aid. Austerity programs were also quickly ended. The North Koreans were particularly close allies. Curiously, Kerekou worked to retain warm relations with the United States. Peace Corps remained in operation through his entire presidency and working in the American embassy was considered a strong stepping stone.
The practical effects for the average Beninese person varied from urban to village. Local leaders were required to be members of the People's Revolutionary Party, and extreme corruption and inefficiency meant that few resources radiated outside of population centers. Instilled with a strong labor union tradition during French occupation, the national labor movement was consolidated into a single approved union that was basically mandated to follow government orders. Unionized workers as well as students were the chief opponents of the regime and faced significant surveillance and harassment.
This started to change in the mid 80s as it became clear that the regime's economic reforms weren't working. Benin was lagging behind its neighbors Ghana, Togo, and Nigeria. On top of this, student groups and workers in unofficial unions were demanding change. Simultaneously, the election of Francois Mitterrand in France opened a new era in Franco-Beninese relations, shifting the nation back to Western alignment away from the moribund USSR. Under mounting pressure, Kerekou agreed to a constitutional referendum and free elections. Upon his loss, he gracefully stepped down in 1991, but was reelected in 1996. Having dropped Marxism, he led his second term as a moderate liberal, doing little to harm the economic and political reforms of the early 90s.
Ethiopia
Ethiopia, on the other hand, faced the fullest horror of Communism and likely suffered to a similar extent to Ukraine and China. In 1970, the Solomonic Dynasty leading the Empire of Ethiopia was one of the oldest royal houses in the world dating back to 1270 and drawing its lineage back to the Biblical King Solomon. Their last Emperor was Halie Selassie, celebrated among Pan-Africanists as one of the only African leaders to resist colonization. Though celebrated by the diaspora, Selassie's rule was authoritarian and secretive. In 1973, a famine hit Ethiopia. Rather than petition for aid Selassie covered it up, and only accepted aid on the contingency that it was given in secret. The inaction of the Emperor prompted a revolutionary council known as the Derg to take over.
This council quickly moved to numerous industries. Eritrean, Tigre, and Somali nationalists took advantage of the situation to launch offensives against the government. When the Carter Administration warned the Derg to cease the human rights violations they were committing in the crackdown, they cut ties with Washington and invited East-German and Soviet military advisors. In the Tigre region, the Ethiopian military embarked on a scorched earth offensive to quell the rebellion. Using such tactics in a nation with food security concerns was probably ill-advised. The offensive in the North consumed around two thirds of the national budget.
The problems the Derg had created were compounded in 1983. In 1982, the rains failed and there was risk of another great famine. Having become an international pariah due to the extreme violence of Derg forces, the international community was reluctant to give aid and the Reagan administration lobbied heavily against it as part of his campaign to halt Communism in the Horn of Africa. When the famine hit in earnest, the Derg mobilized to create collective farms. These farms were incredibly inefficient, consuming 82% of imported fertilizer while contributing only 15% of grain production. To staff these farms, people from offending areas, particularly Tigre were forcibly removed from their homes and shipped to location. Africa Watch estimates that around 50,000 people died on these farms alone, comparing conditions to the Ukrainian farms in the days of Stalin. In total, as many as 1.2 million people were killed, 2.5 million displaced, with Human Rights Watch estimating that around half could be attributed to government actions.

Conclusion

Socialism is a phenomenon that struck the African continent in many ways across the Cold War era and beyond. Its incarnations were as diverse as the groups it affected. This is by no means an exhaustive look at African socialism, but simply a chance for the reader to find a starting place for further study and give context to an under studied part of the world. Indeed, there were many important people and thinkers left out, such as Cheikh Anta Diop, Walter Rodney, and Siad Barre. Please let me know in the comments what if anything you would like to learn more about. If you found the philosophical analysis or historical fact more interesting, I would be happy to write more about it.
Sources African Socialism Revisited- Kwame Nkrumah
Ujamma – The Basis of African Socialism- Julius K. Nyerere
Drought, War, and the Politics of Famine in Ethiopia and Eritrea- Edmond J. Keller
Applying the weapon of theory: comparing the philosophy of Julius Kambarage Nyerere and Kwame Nkrumah- Tomáš František Žák
Three African social theorists on class struggle, political liberation, and indigenous culture : Cheikh Anta Diop, Amilcar Cabral, Kwame Nkrumah - Charles Simon-Aaron
Socialism and the American Negro- W. E. B. Du Bois
Benin- Chris Allen
submitted by Dibbu_mange to neoliberal [link] [comments]

another take on Getting into Devops as a Beginner

I really enjoyed m4nz's recent post: Getting into DevOps as a beginner is tricky - My 50 cents to help with it and wanted to do my own version of it, in hopes that it might help beginners as well. I agree with most of their advice and recommend folks check it out if you haven't yet, but I wanted to provide more of a simple list of things to learn and tools to use to compliment their solid advice.

Background

While I went to college and got a degree, it wasn't in computer science. I simply developed an interest in Linux and Free & Open Source Software as a hobby. I set up a home server and home theater PC before smart TV's and Roku were really a thing simply because I thought it was cool and interesting and enjoyed the novelty of it.
Fast forward a few years and basically I was just tired of being poor lol. I had heard on the now defunct Linux Action Show podcast about linuxacademy.com and how people had had success with getting Linux jobs despite not having a degree by taking the courses there and acquiring certifications. I took a course, got the basic LPI Linux Essentials Certification, then got lucky by landing literally the first Linux job I applied for at a consulting firm as a junior sysadmin.
Without a CS degree, any real experience, and 1 measly certification, I figured I had to level up my skills as quickly as possible and this is where I really started to get into DevOps tools and methodologies. I now have 5 years experience in the IT world, most of it doing DevOps/SRE work.

Certifications

People have varying opinions on the relevance and worth of certifications. If you already have a CS degree or experience then they're probably not needed unless their structure and challenge would be a good motivation for you to learn more. Without experience or a CS degree, you'll probably need a few to break into the IT world unless you know someone or have something else to prove your skills, like a github profile with lots of open source contributions, or a non-profit you built a website for or something like that. Regardless of their efficacy at judging a candidate's ability to actually do DevOps/sysadmin work, they can absolutely help you get hired in my experience.
Right now, these are the certs I would recommend beginners pursue. You don't necessarily need all of them to get a job (I got started with just the first one on this list), and any real world experience you can get will be worth more than any number of certs imo (both in terms of knowledge gained and in increasing your prospects of getting hired), but this is a good starting place to help you plan out what certs you want to pursue. Some hiring managers and DevOps professionals don't care at all about certs, some folks will place way too much emphasis on them ... it all depends on the company and the person interviewing you. In my experience I feel that they absolutely helped me advance my career. If you feel you don't need them, that's cool too ... they're a lot of work so skip them if you can of course lol.