#Decoupling Components
Explore tagged Tumblr posts
Text
Event-Driven Design Demystified: Concepts and Examples
🚀 Discover how this cutting-edge architecture transforms software systems with real-world examples. From e-commerce efficiency to smart home automation, learn how to create responsive and scalable applications #EventDrivenDesign #SoftwareArchitecture
In the world of software architecture, event-driven design has emerged as a powerful paradigm that allows systems to react and respond to events in a flexible and efficient manner. Whether you’re building applications, microservices, or even IoT devices, understanding event-driven design can lead to more scalable, responsive, and adaptable systems. In this article, we’ll delve into the core…
View On WordPress
#Asynchronous Communication#Decoupling Components#E-commerce Order Processing#Event Broker Paradigm#Event Sources and Consumers#Event-driven architecture#Event-Driven Examples#Event-Driven Paradigm#Event-Triggered Workflows#Microservices and Events#Middleware in Event-Driven Design#Modular Development#Reactive Systems#Real-Time Responsiveness#Scalable Software Systems#Smart Home Automation#Social Media Notifications#Software Design Patterns#System Event Handling#User Experience Enhancement
1 note
·
View note
Text


‘Flying at over Mach 3 is a thermal problem. Everything is too hot, including any air you slow down to interact with the vehicle. You are trying to make the vehicle (and the pilots inside) survive for hours in a pizza oven, while they are getting cozy with two 500 million BTU/hour flamethrowers,’ Iain McClatchie, an aviation and turbine engine expert
Quora.
‘When you look at a graph like this, your first impression might be that the vehicle is this glowing hot thing slicing through the icy -52 C air at 80,000 feet. So naturally, you think of the air as cooling the airplane down.
NO…Not so much. The air has to change to the vehicle’s speed to touch the vehicle, and that requires work. That work heats the air. At Mach 3.2, the stagnation temperature of the air is 740 F, which is hotter than every (labelled) point on the above graph! (The nacelles around the engine afterburners, unlabelled, are in fact hotter than the air around them
Basically, the shocks from the airplane heat the air around it, but the vehicle itself cools the air in contact with it down. Once the airplane passes by, all that disturbed air tumbles to a stop, leaving a path of hot air through the upper atmosphere.
‘So back to life in the pizza oven. The basic solution is (a) leave most of the airframe hot and make it out of stuff like titanium and stainless steel that are strong when hot, and (b) start with a large amount of cold fuel, and then dump heat from critical areas into the fuel before burning it. When decoupling from an aerial tanker, half the SR-71’s weight was fuel.
‘A special type of kerosene fuel, JP-7, was developed for the SR-71 to be good as a heat sink. It boils away at 285 C at 1 atmosphere pressure, which is the upper end of the kerosene range. When the plane tanked up at 30,000 feet, the kerosene might start below 0 C. At speed, it would be used to cool the avionics and cockpit, and by the time it arrived at the engine it would get up to 177 C. It was then used as hydraulic fluid for the various engine actuators, primarily the variable geometry nozzle. By the time it got to the fuel injectors it had gotten up to 316 C (but wasn’t boiling because it was at several atmospheres of pressure). At cruise the burner cans were at 330 kPa (about 3.3x the pressure at sea level), so the fuel still didn’t boil as it left the nozzles but the droplets would have evaporated very quickly.’
McClatchie continues;
‘JP-7 is mostly a mix of hydrocarbons centered around C12H26 (dodecane). The graph above shows the vapor pressure of dodecane as a function of reciprocal absolute temperature. That makes it a bit hard to read. 0.0024, for instance, is 417 Kelvin which is 143 Celsius. Liquids start to boil when their vapor pressure is greater than the ambient pressure. I’ve labelled the boiling point of dodecane at 2900 Pa, which is the absolute pressure at 80,000 feet, and 13000 Pa, which is the minimum absolute pressure in the SR-71 fuel tanks. Note that the dodecane component of JP-7 starts to boil at 162 C at sea level… quite a bit less than the advertised 285 C which is actually when the stuff boils away completely.
‘The flash point of JP-7 is 60 C. The fuel was held in tanks whose walls were formed of the skin of the vehicle. Since fuel vapor against the top skin of the vehicle would be well over 60 C during cruise, if air was allowed in any ignition source in the tank would cause a deflagration and destruction of the vehicle. Instead, nitrogen gas from a 260-liter liquid nitrogen dewar was used to pressurize the tanks. This would have mostly been an issue during descent, when the ambient pressure rose and extra gas was needed to fill the tank ullage space. Click on the full article to read more.
Written by Linda Sheffield
@Habubrats71 via X
#sr 71#sr71#sr 71 blackbird#blackbird#aircraft#usaf#lockheed aviation#skunkworks#aviation#mach3+#habu#reconnaissance#cold war aircraft
93 notes
·
View notes
Text

Bare CPU Printed Circuit Board for the Alpha NT XL366 workstation I designed back in 1995 or so. This was an obscure model of an obscure product line, made by a company (Digital Equipment Corp.) that is now itself obscure. To be honest I don't even remember much about this machine now.
What I do remember is the HUUUUGE fight I got into with our Signal Integrity team while I was designing this, over decoupling capacitors.
Decoupling caps are small components that hold a charge to help even out power when a circuit is active. This board featured hundreds of them, smaller than a grain of rice (see photo comparison of mounting pads vs rice grain below).

Our Signal Integrity team was tasked with making sure everything was electrically stable, so they required many hundreds of these to be added to the board, based on power simulations they did. Trouble was, they wanted so many, we couldn't even build the board.
My job as the Systems Engineer here was to meet the requirements from the SI team, but also from manufacturing, and the requirement that my PCB layout techs don't go insane trying to place and route the board. SI really only cared about signal quality, so they would not relent, and I ended up getting shouted at at one point by a junior SI engineer who was also under a lot of stress, when I said "There are different schools of thought on this.." and he screamed THERE ARE NOT DIFFERENT SCHOOLS OF THOUGHT ON THIS!!
It got to the point where the product was not going to get built, because we just couldn't fit like a thousand of these tiny caps on the board, we needed to ditch at least 25% of them to have a hope. The models were the models though, and you couldn't argue against them.
But then my boss got a genius idea. What if we could prove the simulation models were too conservative? We came up with an experiment where we would remove caps from an older system and measure the power supply noise, to see how many caps could be taken off before the system became unstable.
Me and the junior SI engineer were tasked with doing this experiment (later deemed The Decapitation Project), so we grabbed a Tektronix scope and Metcal soldering station and headed over to this abandoned lab we had in our old Maynard headquarters, a now creepy attic space on the 6th floor of an old mill building. Here were a few older Alphastation 3000 workstations we built years earlier, working but waiting to be recycled.
We had this special program that would thrash the CPU within an inch of its life, to put a big demand on the power supply system. While this was running, the SI engineer measured the power quality, while I proceeded to (very carefully to avoid short-circuiting the system) actually desolder caps from the board while the workstation was running.
We managed to get about 1/3 of them off before there was any noticeable effect, and we found one specific type of cap was not doing much of anything at all. We took the data back to the head of the SI team, and he finally relented and let us remove several hundred capacitors. (He also buried the report and data I had, because he didn't want the bad publicity - I remember being mad about that)
The system got built after that, and worked just fine. We did try to enact a small bit of petty revenge on the SI team manager though - there was a recognition event for people involved on the project, and me and our PCB procurement guy decided to give the SI team manager a special "Faraday Award" for achievement in capacitance (Farads are a measure of capacitance - geeky eng joke). We took an old bowling trophy with a giant, beer-can sized electrolytic capacitor strapped to the top of it as the award. He was a no-show so we didn't get to present it. Those SI guys never did have much of a sense of humor.
Anyway, long story sorry. Just thinking of it recently because I was helping someone at work with an analog simulation and I remembered this..
497 notes
·
View notes
Text
April 2025 Wrapup!
This month, I focused on me, and that meant writing about things I mostly wanted to write about and wanted to share with you because I think they’re cool and I think you’d think they’re cool. Come read, see, you might find something new you love!
Game Pile:
Libertalia: Wings of Galecrest, one of my new favourite board games, which I finally! got! to! the! table!
Quest For Glory I-IV, turning the four articles I wrote on these games years ago into an accessible experience and updated some of the wording and ideas.
The First Hour of Disco Elysium, where I contemplated just the initial experience of playing Disco Elysium. It’s a really engaging game, it’s an incredible joy to play, but also, it’s something almost nobody has meaningfully explained. ‘Why play Disco Elysium’ is a question that most people respond to by either gritting their teeth about the finale, or just effusing about the premise, neither of which work as ways of getting you past a bit of a brick wall of ‘why are you even trying’ opening.
I Can Be Normal About Selaco, where I played one game so much for this month that I not only ran it out of material (100% secrets on all levels), I also ran out its minigames to the best of my ability. Selaco is one of my favourite games I’ve played all year, and even the ways it fails its legacy are still ideas I think are worth trying.
Story Pile:
Gleipnir, an incredibly horny, violent gory action manga. I really enjoyed this one, to my surprise, and I love finding things like this; complete, finished manga that get to run their course and tell all the parts of their story they want to. Manga is such a great format for this kind of story, too, where the pace of release allows for both speedy and abrupt paces in narratives, and very dark, conscious genre shifts.
Hundreds of Beavers, a live-action Looney Tunes cartoon that I’ve been recommending as much as I can to anyone I know who likes practical effects, despite the movie being 80% green-screen by volume.
Keasbey Nights by Catch-22, an album of songs I already knew by a band I already liked, in a primal, and primeval state. Basically, it’s things I knew, mixed worse, and somehow all the stronger for it.
X, by Daniel Sloss, a comedy show about getting guys to pay attention and relate to the host as he drags them along into analysing his own toxicity and his own limits as a guy, and then the things that those limits made him bad at doing and bad at helping.
Dev Diary:
14 — Generative Art as Intuition Pumps. I used a free generator to make some images in class, then critically examined those images.
15 — Time Exchange in Wyrmspan. After playing the game Wyrmspan I dedicated thought to the idea of managing time in the game mechanics of Moonshiners and Bloodwork.
16 — Playtesting Results. Did some playtesting, wrote about it.
17 — The Guff You Gather. Article on the sets and components in Moonshiners and how they’re going to proliferate ot.
18 — As Yet Unpublished. Hopefully, this will be the print-and-play of Moonshiners I’ve been working on all month, but it goes up tomorrow, so who can say.
I think it’s only natural as a big dorky fan of TTRPGs and specifically of Dungeons & Dragons 4th edition (with an nunecessary amount of expertise in 3rd edition I find worth sharing), my month should focus on an unnecessary amount of D&D based material. For example, I talked about the explosive potential of the Artificer (with a rules misunderstanding that I mention at the bottom of the article – turns out I’d forgotten the even cheesier trick of use magic device spoofing metamagic feats). I also ruminated on what decoupling the Druid from the Cleric’s space permitted, with the mysteries of the druid. I wrote about something generic in Cobrin’Seil that you should feel free to poach for your setting, the Fluttering Groves, with their moth-people, ooze-people, and chitin-people, who all represent a kind of material version of pluralisation, and the specific anarchist pirate state of Mertzenne.
While talking about worlds and world building, I reflected on the way that magic rules get regulated and enforced in settings, and I even did a different kind of How To Be where I instead approached the characters as level 1 puzzles, and focused on the narrative questions I would use to engage other players and the GM, while contemplating the really good (first season of) Arcane. A final dash of TTRPG rumination was brought to bear on the nearly impossible task of making a good Pokemon RPG.
I wrote about Homestar Runner fanfiction, which I wrote before the brothers chaps released a 25th anniversary recommendation to go back to a websiiiite, which you are doing, if you’re reading this. I also put together some words on the Locked Tomb and its relationship to the composition of a person, who, in universe, is largely regarded for their decomposition. Eyyyy. Then I wrote about my birthday, but don’t worry I also wrote about the Autobots’ crab-shaped wetwork expert, in order to make sure I didn’t explode from being too serious on the internet.
I made a shirt for the new semester. It’s been in and out of Redbubble jail. It’s also a type you absolutely do not want to buy, so I won’t bother linking it.
It’s my birthday as I write this. I took it very easy today. I got up, I went to the grocery store, and I came home with lunch. Then once I was home, I marked student work for a few hours, then did two hours of PhD work, and then watched some Russ Reviews talking about Beverly Hillbillies with Fox. My dad and mum dropped around, and then my mother in law. I walked the dog. I got some pants and some pepsi for my birthday.
It was so wonderfully nice. So very chill.
This month has had a chunky break in it and I’ve really appreciated it. Starting tomorrow I expect to get more students asking me questions, and that’s fine for then. We’re going to have to approach May one step at a time.
I still have an incredibly important writing project to do, though. Working on that.
Check it out on PRESS.exe to see it with images and links!
10 notes
·
View notes
Text
The Baltic states of Lithuania, Latvia, and Estonia are about to take a historic energy security step on February 9, when they will synchronize their former Soviet electricity systems with the Continental Europe Network (CEN). This will conclude the final chapter of Russia’s involvement in the energy sectors of these frontline European Union (EU) and NATO member states. But the Baltic states and their NATO allies must now work to secure this hard-won energy independence from Russia’s ongoing hybrid attacks on critical energy infrastructure.
Lithuania, Latvia, and Estonia have faced a wide array of Russian coercive energy policy measures arising from their historical dependence on Russian energy supplies and Soviet-era energy infrastructure. These measures included a total economic and energy blockade of Lithuania in 1990 in response to its independence movement, a prompt shutdown of an oil pipeline after Lithuania declined to sell its crude oil refinery to a Russian company in 2006, and long-term politically motivated gas pricing for the Baltics, to name just a few well-known cases.
Having faced the destructive impacts of Russia’s weaponization of energy, the Baltic states have become leaders among European nations in severing ties with Russia’s energy supplies over the past decade. The installation of the liquefied natural gas (LNG) terminal in Klaipėda, Lithuania’s seaport, in late 2014 marked a significant step in this direction. It opened the Baltic gas markets to global LNG suppliers, including those from the United States. This alternative gas supply route enabled the Baltic states to ban all Russian gas imports, both piped and LNG, just two months into Russia’s full-scale war against Ukraine. The Baltic states became the first European countries to take such a principled stance, and they are among those advocating for the rest of the EU members to follow suit by implementing a blanket ban on Russian LNG.
Flipping the switch
The timely diversification of oil and electricity supply routes also allowed the Baltics to stop importing these energy sources from Russia. In terms of electricity, the Baltic states use the interconnectors Estlink 1 and Estlink 2 between Estonia and Finland, Nordbalt between Lithuania and Sweden, and LitPol Link between Lithuania and Poland for power exchanges with Europe. However, the Baltic states’ early market-level integration with their EU neighbors did not mean the immediate end of Russia’s involvement in the their electricity sectors on the system control level.
These are the last days that the Baltic states’ power grids remain a part of the Russian-controlled Integrated Power System/United Power System (IPS/UPS) grid. This effectively means that a dispatch in Moscow is still responsible for maintaining electric frequency stability in the Baltic states—bringing all the risks that such a dependency on Moscow entails. Ukraine and Moldova performed a test desynchronization from the IPS/UPS grid concurrently with the onset of Russia’s invasion of Ukraine in 2022, immediately asking for an emergency synchronization with the European grid, which was granted. Lithuania was aware of the potential need to perform an emergency synchronization, too, and thus had prepared its power grid to function in an isolated mode if needed. On February 8, Lithuania, Latvia, and Estonia will decouple from the Russian-controlled grid and conduct a joint isolated operation test before joining the European grid on February 9.
The planning for the Baltic synchronization with the European grid began as early as 2007, but—due to multiple project phases involving political, regulatory, and infrastructural components in Lithuania, Latvia, Estonia, and Poland—it has only now been finalized. The project was co-financed by the EU, which has allocated more than €1.2 billion from its Connecting Europe Facility. For the EU, the project is as important as it is for the Baltic states: only with Lithuania, Latvia, and Estonia connected to the European grid can the EU achieve its goal of a fully integrated European energy market, in which all uncontrolled third-party impacts on its member states are eliminated.
Securing critical infrastructure
Although Russia will no longer exert direct influence over the energy supply and system control of the Baltic states, Moscow may now focus on targeting their critical energy, communications, and data infrastructure. Since October 2023, at least eleven cables running under the Baltic Sea have been damaged. This includes the underwater Balticconnector gas pipeline between Estonia and Finland; communications cables linking Finland, Germany, Sweden, and Lithuania; and the Estlink 2 power cable between Estonia and Finland. A data cable between Latvia and Sweden has been damaged as recently as January 26. The Lithuanian government is responding with increased military involvement in protecting critical seaborne energy infrastructure under the Baltic Sea amid an attempted sabotage of the NordBalt power cable that connects it to Sweden.
The damage was caused by vessels dragging their anchors on the Baltic Sea’s seabed. Investigations into the circumstances of the damage are still ongoing, but the rapid increase in such incidents and the vessels involved—mostly Russia’s “shadow fleet” oil tankers—raise concerns that the damage was intentional. As a response, NATO has stepped up its presence in the Baltic Sea by launching a new military patrol mission called Baltic Sentry. This mission involves deploying frigates, maritime patrol aircraft, and naval drones to enhance the ability of littoral states to respond to destabilizing acts on their critical infrastructure. The Alliance has also established a Critical Undersea Infrastructure Network to enhance information-sharing and situational awareness and a dedicated Maritime Centre for the Security of Critical Undersea Infrastructure within NATO’s Maritime Command in Northwood, United Kingdom.
Crucial first steps have also been made to increase the protection level of the onshore LitPol Link interconnector between Lithuania and Poland, through which the Baltics are synchronizing with the European grid. Lithuania’s Public Security Service has taken over the protection of several LitPol Link sites from a private security company that had previously been assigned this role. The Baltic states and Poland, fully aware of Russia’s hybrid activities in the region, have also urged the EU to provide financial support for enhancing current security measures for the LitPol Link and other critical energy infrastructure in the region.
It’s a start, but more needs to be done, particularly in the case of Lithuania. With vital interconnectors—LitPol Link in energy and Rail Baltica in transport and military logistics—passing through the country, Lithuania is emerging as a crucial gateway connecting continental Europe to the Baltics, the Nordic region, and even the Arctic.
All these interconnections traverse the narrow land corridor between Lithuania and Poland, known as the Suwałki Gap. This notorious area borders Belarus to the east and Russia’s Kaliningrad exclave to the west.
Russia could attempt to isolate the Baltics from the rest of Europe by obstructing the Suwałki Gap from these territories. Thus, beyond the punctual tactics of strengthening the security of the LitPol Link and, later, the planned additional onshore electricity interconnector between Lithuania and Poland that is reportedly set to run along the Rail Baltica tracks, an approach of a comprehensive protection regime for this vulnerable border area is needed. An increased NATO military presence in Lithuania and regional measures, such as installing the Baltic Defense Line along the Baltic states’ borders with mainland Russia, its Kaliningrad region, and Belarus, are important steps toward a solution.
With the Baltic power systems soon operating in harmony with those in continental Europe, the regional security agenda shifts from concerns over the security of energy supply to the protection of critical energy infrastructure. The Baltic nations and their allies should further enhance their proactive efforts to deter sabotage and secure this strategically vital region.
15 notes
·
View notes
Text
Someone was having trouble getting decent sound in his living room and instead of recommending a room treatment or better speakers this person just casually suggests PUTTING AN ADDITION ONTO THE HOUSE.
Trying to get advice on audio forums is often a challenge because a lot of these dudes just have *so much* disposable income. And they just assume everyone else is wealthy too. You can even tell them you have a budget and they'll be like, "You should save up longer and buy this thing that is three times your budget."
And it's not like there aren't wonderful options that are more affordable. I think I may have about $3000 worth of home theater equipment that I have collected over the last 20 years. They will spend that on a single speaker and suggest you do the same.
The people in these forums would have a fit if they knew I had a single subwoofer. Apparently, the cardinal audio sin is having only ONE subwoofer.
Your room could have NULLS!
NULLLLLLS!!!
Seriously, they will lecture you anytime you mention having a single subwoofer. "Your seat-to-seat response is going to be inconsistent!"
I also saw a guy say that a 15" subwoofer was "tiny" and "pointless."
My 70-pound, 12" subwoofer is currently vibrating items off the shelf in my house ever since I moved it upstairs and don't have concrete floors like in the basement. I'm going to have to buy special subwoofer feet to decouple it from the floor. I can't imagine what a 15" sub would do to my house. It might collapse on top of me.
So you can only get a sub that is at least 18" and you need a minimum of 2... but 4 is much better. Actually, 4 is the minimum. 2 is garbage. 2 in front and 2 in back.
And, of course, you have to get a Rythmik or PSA subwoofer. Don't cheap out on the brand!
You have to build an addition to the house AND buy $8000 worth of subwoofers and then MAYBE your sound will be somewhat listenable.
But only if you calibrate the subs with a MiniDSP and the proper UMIK calibration microphone.
Wait, do you have a regular AVR with built in amplification? That won't do. What you need is an audio processor with individual external amplification.
You'll need a 9.4.6 configuration for the proper surround sound experience. That is 9 ear-level speakers, 4 subwoofers, and 6 atmos ceiling speakers.
So 2 of these.
1 of these.
3 pairs of these.
6 of these... plus professional ceiling installation.
And an individual amplifier for each speaker.
Do you really need a 600 watt amp for the ceiling speakers too?
OF COURSE YOU DO!
DO YOU WANT A LOW NOISE FLOOR AND NO DISTORTION OR DO YOU WANT GARBAGE?
Comfort is important too. So you'll want a Valencia leather power recliner with LED cup holder.
And... by far... the most important home theater component...
The power cable.
This will assure that only the highest quality electrons are delivered to your audio equipment.
Don't think about it too much.
Don't think about all of the janky powerlines that deliver electricity to your house.
Or all of the generic power cables inside your wall.
This cable magically negates all of that and turns the last few feet of electricity into pure, audio-grade power.
Guaranteed to drastically improve your sound quality... somehow.
It can't be nonsense, otherwise someone would have never written such beautiful prose about a power cable in a review...
"I was smitten by the piano’s extra depth in its nether regions. I’m not talking about what some audiophiles like to refer to as testicular bass, but rather, a rich and absorbing presentation."
$14,000 for rich and absorbing testicular bass? WORTH IT!
So that's roughly $65,870 for all of that and between $50,000 and $100,000 for a 500 square foot room addition.
A small price to pay for a room that is not junk for listening to music.
202 notes
·
View notes
Text
How To Make Your Code Actually Good
This is about programming structure and organization. Resources online are very sparse, and usually not super helpful. Which was unhelpful to me who was struggling with code organization.
So I wanted to make this, which will explain how best to structure your code based on what I've learned. What I lay out here may not work for everyone but it works well in my experience.
These resources were very helpful for me
Handmade Hero - https://youtu.be/rPJfadFSCyQ
Entity Component System by The Cherno - https://youtu.be/Z-CILn2w9K0
Game Programming Patterns - https://gameprogrammingpatterns.com/
So, let's get started.
So first we need to cover a few terms. These are Decoupling, and Abstraction.
Decoupling
So, when we code there is only so much information we can keep inside of our brain at one time. If we kept all of our code in a single file, we would have to keep in mind every single line of code we have written thus far. Or, more likely, we would actively ignore certain lines that aren't relevant to whichever problem we are trying to solve. And miss possible errors by skipping over lines we didn't know were important.
This is bad, what we need to do is decouple our code. Decoupling just means to break something up.
We need to split our code into smaller more manageable pieces so that we can focus better on it without cluttering up our brain with useless information.
For example lets take into account a basic game loop
int main(){
bool running = true;
// Game init code
while(running){
// Game update code
}
// Game exit code
return 0;
}
Obviously in a real example this would be much larger. So an extremely good start would be moving chunks of code into different functions.
int main(){
bool running = true;
gameInit();
while(running){
gameUpdate();
}
gameExit();
}
Now, when we are working on loading the game, we shouldn't have to think about what's happening in the rest of the app. This may take moving some code around inorder to truly seperate it from the rest of the code. But it is a very worthwhile effort.
Abstraction
Abstraction is when we take complex pieces of code and put them inside of a function or structure to make that feature easier to use. Or to hide tiny details that would be a waste of time to type out over and over.
For example programming languages are abstracted away from Assembly. Which of course is a thin abstraction away from machine code.
Now abstraction is great, computer science is practically built ontop of abstracting away small details. but the point I'd like to make here is that you can go too crazy with abstraction.
If you are making a gui application, and you need to create a new button. And to do so you need to run a function that returns a new class that you pass into another function that returns a pointer to an app state that you use with the original class to interact with a gui state that takes in a general state class and a position.
You have abstracted too far away to actually getting that button on screen. And due to all the hoops your code has to go through you will face major performance hits as well. And nobody likes a slow program.
Generally my rule of thumb is one layer of abstraction. Obviously for really complex stuff like graphics more abstraction is required. But for our own apps we should strive to as little abstraction as possible. Which makes code more clear and easier to debug, if a little more verbose at times.
Note that breaking things up into other files and functions are pretty cheap abstraction/performance wise. But the number of steps your code has to go through is what's important. Like the number of objects you have to go through, and functions you have to run.
Now these are good general tips for programming. There are also other good tips like consistent naming conventions, and consistent function names and argument patterns. But that's all pretty basic good-programming-things-you-should-do.
Now when I was learning this sort of stuff, I got told a lot of the stuff I just put above. But the biggest question I had was "but where do I PUT all of my code?"
As projects grow in complexity, figuring out sane ways to organize your structures and code logic in a way that makes sense is pretty tricky.
So to kinda crystallize how I think about code organization is basically.
Pick a pattern, and stick to it
A design pattern is just a piece of code structure you repeat. And there are lots of smart people that have come up with some pretty smart and flexible patterns. Like entity component systems, and state machines.
But sometimes you have to figure out your own, or modify existing patterns. And the best way to do that is to not plan at all and jump right in.
Do a rough draft of your app just to get a general idea of what you are going to need your pattern to support. And you may have to build up a pattern, find out it sucks, and start over. The trick is to fail fast and fail often.
Grabbing some paper and trying to diagram out how you want your app to flow is also handy. But getting your hands dirty with your keyboard is the best.
Now if you are new to programming, the above method probably wont work the first time. The only way to really learn code architecture is by building apps, and when you are first starting out many of your apps are probably falling apart early on. But the more you build these apps the more you learn. The bigger the apps you make, the more you learn.
But there is something that's also very helpful.
Steal somebody else's pattern!
So I can explain this best with an example. I make games, and the complexity I have to deal with is having multiple game objects that can all interact with each other fluidly. Enemies, the player, collectibles, moving platforms. This is a pretty tricky task, and I wound up picking two patterns to follow.
The first one is a modified version of a State Machine that I call a Scene Manager.
A scene is essentially a structure that contains an init, update, and exit function and can store data relating to the scene. And I have a Scene Manager that I can dynamically load and unload scenes with. So if I need to create a main menu or a pause menu it's as easy as loading a scene.
For my actual game scene I chose to use an Entity Component System. I linked a video above that explains it very well. To summarize, an ECS use entities. Entities can contain data called components. And systems will grab any entity that has the required components and will modify that entity. For example a Move system will operate on any entities that have the Position and Velocity components.
And this has worked very well for my game. Now this doesnt solve every problem I had. I still had to fill in the gaps with code that doesnt 100% match the pattern. After all there isnt any pattern that will fix all possible issues a codebase needs to solve. For example to delete an entity I have to add it by reference to an array where it is deleted AFTER the game is done updating.
Elsewhere I used a bit of abstraction to make creating entities easier. For example i created a class that stores methods to create entities. Whereas before I was manually adding components to empty structures.
Decoupling entity creation meant I could focus on more important things. I also deal with window resizing and rendering in a layer outside of the scene. In a way that would affect all Scenes.
An Example
In the game I'm making, the most complex part of the program so far is the player update code. Which makes sense for a platformer. So the issue is simple, it's getting too long. But the other issue is things are in places that don't immediately make sense. And it's all packed inside a single function.
You can view the code as it is now here.
Our goal is to decouple the code into pieces so that it takes up less brain space. And to reorganize the function so it's layout makes more immediate sense.
So my first step is to figure out a logical way to organize all of this code. My plan is to split it up by player actions. This way all of the jump logic is inside it's own function. All of the shooting logic is in it's own function etc.
Here is the code after implimenting the pattern.
Notice how this decouples the code into more manageable pieces so we can work on it better. Also note how I am still keeping one layer of abstraction from the player update code. I also put it in a seperate file to slim down the systems file.
So the method I implemented here of observing a problem, coming up with a pattern, and implementing it. That at a larger scale is how to overall structure a good code base. Here in this small instance I found a working solution first try. But for more complex code you may have to try multiple different patterns and solutions before you find what works best.
And that's all I have to say. I hope it made sense, and I hope it helps you. Let me know if I should change anything. Thanks for reading!
301 notes
·
View notes
Text
The Mycelial Networking Project - A New Kind of Employment Structure for Neurodivergent Talent
Hey y'all--some of you might remember I used to be fairly active on here during my final few years of grad school, and then I nearly burned out of my PhD, found out I was autistic, and subsequently drastically reduced the time I spent on tumblr. Well, good news: I'm ok, I recovered from burnout, graduated, and discovered something surprising both in my PhD research and during my burnout recovery--cooperating with other people who are on the same wavelength as you is both more efficient for knowledge transfer in a variety of expert fields, and also socially healthier than struggling alone! Whoda thunk!
With that in mind, myself and Mykola Bilokonsky (creator of r/AutismTranslated, software developer, and Autistic coach) have been working for the past few months on the Mycelial Institute (at mycelial.institute in your address bar--I haven't linked it because tumblr search suppresses outside links, oops)
The Mycelial Institute is attempting to create a new kind of workplace that’s optimized for neurodivergent people. If you follow me on here or found this post from the tags, chances are you already know there are so many autistic, ADHD and other neurodivergent folks who have so much to give but who struggle to do so in a traditional employment context. We can be some of the most passionate experts you know and we'll still be languishing in unemployment because we're not able to do things the way everyone else does - and as a result everyone is worse off.
What if there was a different kind of employment available? One that:
Was completely worker owned, without any kind of profit-taking or power hierarchy orthogonal to the specific goals of the organization?
Understood that there are many different ways to contribute, and that some people can be profoundly valuable in some of those ways while struggling with others - and so decoupled them!
Accepted the fact that disability isn’t a fringe experience to marginalize but a core component of most peoples’ lives - especially during the age of Covid - and so prioritized accommodation?
Embraced non-punitive accountability - we have goals, we have challenges. Sometimes we can’t meet a goal because of a challenge. Instead of that being a source of shame, how can we make that an accepted learning experience and build in additional supports?
If this sounds like something you'd be interested in, please visit mycelial.institute. We are currently very early in this process, and are actively seeking collaborators. Currently we’re trying to build a diverse leadership team, meaning we want to find folks across as many marginalized identities as we can to help us make foundational decisions. This includes disability - we want non-speakers and intellectually disabled leadership as well. (You don’t need to be interested in a leadership role to fill out our submission form, we’re gathering a pool of folks in general.)
More info below the readmore:
We are the 🍄Mycelial Institute because we are inspired by the decompositional half of ecologies that often goes overlooked. Rather than competing for winner-take-all dominance, mushrooms accept that everything dies eventually and simply wait their turn to build large distributed networks that break down the waste of the broader system, giving rise to new forms of life. No ecosystem is complete without this component, and our economics generally fail to acknowledge this meaningfully.
A “Mycelial Network” here is a new kind of collective workplace. The corporate structure is such that there’s a board that steers the organization, made up of members. The organization seeks paying work from large clients who have needs that can be served by our diverse and specialized membership - but it’s not really important what kind of work that is, as long as it’s ethical. So we may do R&D for one client, engineering for another client, data analysis for another client, whatever - as long as we have folks in our membership who have things to contribute, we can match member to tasks.
The way this is structured is something we’re still working on, but we are thinking it’s likely going to be something like a Social Purpose Corporation or an L3C. The point is, we seek high paying work and exceed the expectations of our clients with specialist output, but those specialists are supported by other members as they carry out their tasks.
So there’s room in this organization for folks with e.g. a deep special interest in esoteric engineering practices, but there’s also room for those folks who derive deep satisfaction from filling out paperwork, or doing compliance or QA oversight, etc. We are a collective, and that means that everyone’s time is valuable and we sink or swim collectively.
Members are paid based on the decisions made by the board, but we’re leaning towards a flatter pay scale where folks are paid for contributing period, rather than treating some peoples’ time as more valuable than others, because we recognize that it requires a collective effort to get the work done and keep the client happy.
The organization itself may choose to keep a portion of proceeds to pay into a “Subsidy Pool”, which can be used to pay members to provide services to other members who couldn’t otherwise afford them. But nobody is getting a cut just for investing or anything like that, this institution doesn’t exist to enrich founders, it exists to cast a wide net of support for members of the served community.
(So far everyone involved is US-based and this will likely be a US-based organization, at least to start. That said, we don’t yet know what we don’t know, and welcome collaborators from other parts of the world at least for early days when we’re not making money etc yet anyway.
Just, we’re going to be figuring it out as we go along.)
-> mycelial.institute <-
#autism#autistic#actually autistic#adhd#audhd#neurodivergent#neurodiversity#neurospicy#disability#text
23 notes
·
View notes
Text
Manga Recommendation: Soara and the House of Monsters
So with the popularity of fantasy series that are actually pretty hard fantasy and not just isekai fantasy in manga and anime recently. Particularly, series like Dungeon Meshi, Frieren, and Witch Hat Atelier, I wanted to personally spotlight a lesser known series in that same high fantasy genre that gave me a similar vibe. Soara and the House of Monsters

So the premise: Soara is an orphan who was raised to do battle in a war between man and monsters, but never got the opportunity to before peace was declared. Without a purpose in life, she meets a dwarf, Kirik, who builds homes for monsters. Displaying the gorgeous/imaginative art of the series.


Each "arc," if you want to call it that, often involves Soara and Kirik's party coming across a stereotypical fantasy race and their often run down or depressing lair where they can live. Kirik resolving to then build that creature their dream home. This is because monster have been motivated to steal from humans because what they desire is a home. Comfortable accommodations instead of the squalor they're trapped in. Through building these homes, Kirik makes a place where they can be happy and avoid trying to take from humans.
Now if that sounds a little like discussing how people are inclined to do bad things when society may not allow them to have a comfortable place in life, that's because it is. Despite its comedic tone, a key component of the series is Soara herself coming the grips with the prejudice that was instilled into her as someone raised to fight against monsters. But also her own hang ups of not having a home to call her own.
While I won't say it pushes the envelop of fantasy manga like the artistic tour de force of Witch Hat Atelier or the melancholic beauty of Frieren, it's still a creative fantasy series with likable characters with some great art. Following a compelling protagonist as she both has her comedic moments, badass moments, and moments of decoupling the prejudices that were instilled into her. Soara and the House of Monsters is a great little series.
First volume has already been translated officially, so you can pick it up from any book store or site.
#soara and the house of monsters#soara#kirik#manga#manga recommendation#Soara to Mamono no Ie#soara and the monster's house#fantasy#dungeon meshi#sousou no frieren#frieren: beyond journey's end
44 notes
·
View notes
Text
The Purgatory of Stillness
One of the most polarizing feelings that I feel sometimes is the crushing and overwhelming realization of the complexities of the world around me, all of the systems (nervous, societal, structural) of everyone and everything within my environment turns into something that is so suddenly magnified in front of my face that it pushes me to the ground with great might. It's akin to putting on prescription glasses for the first time in your life and realizing that the world is this extremely interconnected symbiosis of systems, both in nature and in manmade construction. The individual leaves of trees, the tiny little rocks of asphalt that you used to look past with glossy eyes as your periphery blends into this muck of barely perceptible colours and shapes not unlike a Monet painting.
This feeling occurs in utter stillness, in stillness so still that the natural humdrum of life isn't present. Stillness so still that it is offensively loud, fostering in you a complete inability to concentrate on anything but this persistent state. It's not an objectively bad state to be in nor is it an objectively good state to be in. It is simply a state in which you exist in the middle of two extremes, a sort of purgatory of sorts. What I mean by this is that it is a state so delicate and airy that at any point you can either succumb to complete despair and crushing depression, or you can use it to foster an intense feeling of being connected to the world around you. It's very easy to go whichever way you're naturally predisposed to, and whichever way you're led, you are immediately catapulted into the depths of it. There is never a "tiny" bit of despair or a "tiny" bit of enlightenment, you have no choice but to feel the deepest effects of these polar opposite states.
The thing is, this state isn't something that is ephemeral in it's nature, it's something that persists consistently in the backgrounds of our very psyches. One of the main reasons why we're not always consciously aware of this feeling is because of how many things we layer on top of this basal humanistic feeling throughout our daily lives with the thousand different mundane things that we need to accomplish or do. These routines and responsibilities which consist of being a functional human being within our societies ultimately distract us from our essential existence. This, however, isn't to say that these distractions are particularly negative or bad things. They serve a very real purpose of integrating ourselves within our cultures and societies, an essential component to our survival and general happiness. When we are disenfranchised from society, as in the case of prisoners, lunatics, or social outcasts, a large and sacred part of our humanity as individuals is decoupled and we turn into savaged beasts who belong to no structure or group.
However, as useful as this fitting into a societal structure is, it lays prey to us forgetting who we are as individuals, what the stillness of our hearts feels like and sounds like without the noise of that which is around us. Which brings us back to this discrete feeling. Generally, it is only through deliberate meditative practice or situations where our own mortality is put into the forefront of our attention, such as in a near-death situation or some intensely painful and life-altering news. In the moments when we are unsure of what to make of what just happened, do we get invited to dwell in this purgatory for a time, before our minds make up our minds.
Earlier, I mentioned this capacity to be swayed by whatever you're predisposed to. How you arrive at this state, whether through the budding hints of intense emotional pain or the serenity of deep peace, will dictate where the wind takes you. For instance, in the aftermath of intense heartbreak or loss, you inevitably reach a point of stillness. From there, you may either fall back into the depths of despair (a common response) or begin the slow walk toward acceptance and eventual enlightenment. Conversely, entering this state through meditation, prayer or some other kind of deliberate tranquility such as nature walks makes it more likely you’ll follow the path of enlightenment, avoiding the pull of despair entirely.
It is within this duality, this teetering between complete despair and enlightenment, that the state reveals itself to be an incredible teaching tool. When you deliberately spearhead yourself into this deep stillness that always exists within you, looking through all the superficial blubber that exists on top of it from the distractions mentioned above, are we able to confront the truths that we so desperately try to avoid in our daily lives.
It’s hard to say what comes from this feeling. Sometimes it feels like it’s just there, sitting in your chest, waiting for you to do something with it. But what? I guess that’s the thing about being in this state, it doesn’t tell you what to do, it just holds up a mirror and makes you look. Heartbreak throws you into it, like falling into a cold lake. Meditation lets you walk into it slowly, like stepping into a quiet room. But once you’re there, it doesn’t give you a map. You just have to feel your way through.
Maybe that’s the point. It’s not about figuring out what to do with the feeling but about letting it show you something, about yourself, about the world, about whatever’s underneath all the noise. It’s uncomfortable, yeah. It’s heavy and loud, and sometimes it feels like it’s too much. But maybe that’s where it’s trying to teach you something, not by giving you answers, but by forcing you to sit with the questions. What do you see when you’re there? What do you hear? What do you feel? Maybe it’s not about knowing what comes from this feeling but being willing to find out.
#essay#personal essay#david foster wallace#existentialism#existential crisis#writing#stream of consciousness#philosophy#stillness#melanchonic
5 notes
·
View notes
Text
THIS IS VITAL. Do not convince yourself that you have "insomnia" or go into bed thinking you're going to have trouble sleeping. Even if you've been professionally diagnosed. Doctors don't care about you the same way you care about yourself, so keep this in mind. You're one of many patients to them so you need to take control of your own health, and sometimes that means completely rejecting their advice and diagnoses. You need to tell yourself that you're simply going through a rough period and sleep might be difficult, but you're fine. I can't stress how important it is to psychologically believe that things are fine and/or will get better. A major component of insomnia for people who suffer from anxiety is the very anxiety around not being able to sleep. The anxiety compounds the issue and it thus becomes a self-fulfilling prophecy. It's one of the many cases in humans where if you believe it's a problem, it WILL be a problem.
You need to find a way to, over time, decouple the association between sleep and whatever negative delusional spin you're putting on it. Do not predict the future with false and irrelevant evidence from the past. A bad night of sleep, or no sleep the day before does not mean it's going to repeat in the future. This is highly ILLOGICAL, but your brain won't care about this, it will force those thoughts on you. Be aware of your own cognitive behaviors and beat them out with clear, logical thinking. Obviously, this will be difficult since emotional states cause us to think delusionally, and insomnia along with the accompanying sleep deprivation will make it worse, but the big takeaway is to realize that you can't really trust your brain at this time because it isn't functioning properly and is under a lot of stress. This process can take time, be patient with yourself, especially if you think nutrition might be a factor. It's vitally important to remember that YOU CAN FALL ASLEEP. EVERY HUMAN HAS THIS ABILITY unless you have extremely rare genetic disorders or severe nutritional deficiencies that can EASILY be corrected.
You need to realize that it's ENTIRELY NORMAL to have problems falling asleep for days, weeks or even months at a time. Your case is likely NOT UNIQUE, and many millions of people over millenia have suffered and successfully recovered from this disturbance. It is scary because it is happening to YOU, but take comfort in the fact that it is also common and treatable. This is not blind hope, or lying to yourself, these are FACTS THAT YOU NEED TO CONSTANTLY REMIND YOURSELF OF because your brain will already be doing a great job of bringing you down with negative thoughts. You must truly believe that you're going to get better and fix the problem, while taking every possible step you can to move the dial in the right direction towards progress.
Take comfort in the fact that many people have sleepless periods like this for various reasons. Stress, nutritional deficiencies, terrible diets, anxiety, grieving, depression, breakups, divorces, etc. It's crucial to remember that all psychological stresses will diminish over time and you will return to normalcy. Your brain is constantly adjusting towards homeostasis, so YOU WILL HEAL IN TIME. YOU MUST KNOW THIS. Don't get obsessive over how long your recovery is taking, or set arbitrary goalposts (e.i. "I should be fine in a week"). Take things one day at a time.
Also be aware that stress depletes magnesium, which is responsible for reining in ruminating thoughts and relaxing you. Again, I urge anyone with insomnia and/or anxiety to do ample research on magnesium. It is absolutely a life safer.
[x]
52 notes
·
View notes
Text

Is one of the nearest galaxies to ours being torn apart?
A team led by Satoya Nakano and Kengo Tachihara at Nagoya University in Japan has revealed new insights into the motion of massive stars in the Small Magellanic Cloud (SMC), a small galaxy neighboring the Milky Way. Their findings suggest that the gravitational pull of the Large Magellanic Cloud (LMC), the SMC’s larger companion, may be tearing the smaller one apart. This discovery reveals a new pattern in the motion of these stars that could transform our understanding of galaxy evolution and interactions. The results were published in The Astrophysical Journal Supplement Series.
“When we first got this result, we suspected that there might be an error in our method of analysis,” Tachihara said. “However, upon closer examination, the results are indisputable, and we were surprised.”
The SMC remains one of the closest galaxies to the Milky Way. This proximity allowed the research team to identify and track approximately 7,000 massive stars within the galaxy. These stars, which are over eight times the mass of our Sun, typically survive for only a few million years before exploding as supernovae. Their presence indicates regions rich in hydrogen gas, a crucial component of star formation.
“The stars in the SMC were moving in opposite directions on either side of the galaxy, as though they are being pulled apart,” Tachihara said. “Some of these stars are approaching the LMC, while others are moving away from it, suggesting the gravitational influence of the larger galaxy. This unexpected movement supports the hypothesis that the SMC is being disrupted by the LMC, leading to its gradual destruction.”
Another surprising finding was the absence of rotational movement among the massive stars. Unlike in our Milky Way where interstellar gas rotates along with the stars, the study revealed a distinct pattern. Typically, young massive stars move together with the interstellar gas from which they were born, as they have not yet had time to decouple from its motion. However, the massive stars in the SMC do not follow a rotational pattern, indicating that the interstellar gas itself is also not rotating.
“If the SMC is indeed not rotating, previous estimates of its mass and its interaction history with the Milky Way and LMC might need to be revised,” Nakano, a collaborator on the study who also made a video explaining the findings, explained. “This could potentially change our understanding of the history of the three-body interaction between the two Magellanic Clouds and the Milky Way.”
The study has broader implications for understanding the dynamics of interactions between neighboring galaxies, particularly in the early universe. Astronomers consider the SMC to be an ideal model for studying the universe's infancy because it shares many conditions with primordial galaxies, such as low metallicity and weak gravitational potential. Therefore, the researchers' discoveries about the SMC and LMC interacting may resemble processes that shaped galaxies billions of years ago, providing valuable insights into their evolution over cosmic time. The group’s findings could create a new understanding of these processes.
“We are unable to get a ‘bird's-eye view’ of the galaxy in which we live,” Tachihara noted. “As a result, the SMC and the LMC are the only galaxies in which we can observe the details of stellar motion. This research is important because it allows us to study the process of star formation in connection with the motion of stars throughout the galaxy.”
IMAGE: Velocities of massive star candidates within the SMC shown as vectors. The colors of the arrows represent the direction of motion. Relative to the LMC, located at the bottom left of the image, most red arrows show movement towards the LMC, whereas most light blue arrows show movement away from the LMC, suggesting they are being pulled apart. Credit: Satoya Nakano
2 notes
·
View notes
Text

The Technological Components of Colonialism
Many comrades cannot grasp the technological components of colonialism (or rather they ignore them deliberately), remaining perplexed at a perspective based on the urgency of utterly annihilating techno-domination and the tech industry. If you talk to them about the connection of technologies to power, they respond with the supposed neutrality of these technologies and that they can be decoupled from the very logic of power which developed and produced them.
Such a perspective ignores that the entire framework of fundamental technologies which have today entered into all fields of social life stem from military research, and that colonialism, historically and presently, has a strong technological component. It is in fact a cornerstone. The process of colonization developed over centuries, always adding new technologies as soon as they developed. These technologies are based not only on the exploitation of people in the Global South and their lands, but were and have always been unleashed against the “enemy” or tested in the colonies, until they finally make their way into the empire itself.
With the aid of the British colonies, undersea cables enabled telegraphic communication in service of the British Empire. New developments in record-keeping, archiving, and organization of information were first utilized by the US military intelligence service during the conquest of the Philippines. Governments today work together with tech-giants to enable widespread surveillance and control of their own people. This is first tested in the global south. Microsoft offers a solution for police vehicles with facial-recognition cameras that was launched in Cape Town and Durban, South Africa. The “Command-and-Control Surveillance Platform” named “Microsoft Aware” is utilized in Brazil and Singapore. Microsoft is also heavily engaged in the prison industry. They offer a variety of software solutions for the penal system, covering the whole process. In Africa they have gotten together with a firm named Netopia offering a “Prison Management Software Platform,” including “escape management” and prisoner analysis. Countries in the global south also offer an abundance of cheap laborers for technological processes and tech giants. These includes data annotators for artificial intelligence, call center workers, and content moderators for social media giants like Facebook. They clean disruptive content from social media feeds and are often left psychologically damaged.
Over centuries, imperial powers have tested technologies for the surveillance and control of their own populations on foreign populations; from Sir Francis Galtons pioneering work on fingerprinting, which occurred in India and South Africa, all the way to America’s combination of biometrics and innovations in the management of statistics and data, which constructed the first modern surveillance apparatus to pacify the Philippines. The wide collection of surveillance technologies used in the Philippines offered a testing site for a model that was finally brought back to the United States to set against the dissidents in its own country. High tech surveillance projects by Microsoft and their partners suggest that Africa will continue to be serve as a lab for carceral experiments.
The technological component of colonialism also reveals itself in the ways and means by which people in the Global South are exploited for menial and dangerous work as their lands are destroyed, just to provide supposedly necessary technology. Thus Congo supplies more than 70% of worldwide Cobalt, a vital raw material for the batteries used in cars, computers, and smartphones. As for Lithium, the biggest reserves are found in Chile, Argentina, Bolivia, and Australia. Out of these, Australia is less attractive because the workers there earn dramatically higher wages. The actual process of mining the raw materials often has negative consequences to the health of the workers and their surroundings.
To eradicate colonialism, its causes, main actors, and processes must be clearly and plainly illustrated and linked. There must be no illusions: an anti-colonial struggle must inevitably align itself against the tech industry if decolonization is to live up to its name.
#affinity groups#anti-civ#anti-colonialism#anti-technology#Black#Black Anarchism and Black Anarchic Radicals#decivilizing#decolonization#disability#egoism#german#indigenous#interpersonal relationships#post-civ#post-colonialism#switzerland#translation#anarchism#anarchy#anarchist society#practical anarchy#practical anarchism#resistance#autonomy#revolution#communism#anti capitalist#anti capitalism#late stage capitalism#daily posts
2 notes
·
View notes
Text
The Psychotic Part in All of Us
Few eclectic insights following Don Caverth on Bion, Lacan & conversations with friends
In Bionian psychoanalysis, the psychotic part of the psyche is a universal component of human experience. When we operate within the PS (paranoid-schizoid) position, we are engaging with this psychotic part. This aspect of the self actively resists emotional reality; it attempts to destroy or fragment painful thoughts and emotions. Sometimes, this includes attacking our own mental apparatus, undermining the very capacity to think and process experience.
Container and Contained: In Bion’s model, the mind is a potential container for truth. However, this container is not perfect; it is akin to a sieve, riddled with holes through which truth may escape. Lacan’s concept of foreclosure offers a parallel: the foreclosure of the fundamental gap or cut between subject and object—essential to recognizing “I am not the other”—can lead to psychosis. Bion’s understanding of the Oedipus complex reflects this dynamic. In the myth, Tiresias is blind, yet he sees the truth, while Oedipus blinds himself to evade reality.
Thoughts Without a Thinker: Bion’s concept of thoughts without a thinker describes the proto-mental realm, a state where unprocessed, uncontained thoughts exist without being assimilated into consciousness. Don Caverth questions this view, suggesting instead that these thoughts require a container to develop meaning. Without containment, they remain fragmented. When someone—or something—acts as a container, these thoughts can be integrated, enabling growth and understanding.
Dreams, according to Bion, are not merely a concealment of the unconscious but an active manifestation of the mind’s alpha function—its ability to transform raw emotional experiences into symbols and metaphors. This mythopoetic (what a fantastic word) quality of the mind operates unconsciously and is a marker of mental health. Dreaming represents the mind’s capacity to create subjectivity and generate a narrative, turning raw experiences into something meaningful.
Note: unlike Winnicott’s concept of “holding,” Bion’s container-contained relationship is not inherently nurturing. The container can crush the contained, or vice versa. This dynamic can be explosive, destructive, or even annihilative. Thus, the container-contained relationship represents not just support but also the potential for destruction.
Linking and Differentiation
Bion’s psychoanalytic framework emphasizes linking as a fundamental aspect of mental health. Attacks on linking—severing connections between thoughts, emotions, and experiences—are central to psychopathology. Don Coverth adds that psychopathology also includes attacks on differentiation, the capacity to distinguish self from other, mind from object. While Bion focuses on pairing and integration, Don emphasizes the necessity of separation and decoupling.
Sartre’s existentialist philosophy aligns with this idea: the mind is both a linker and a distinguisher, simultaneously connecting and differentiating. To create meaning, there must be a gap—a lack—between knower and known, between subject and object.
Dialectics of Psychoanalysis: Bion and Lacan
The dialectical nature of psychoanalysis emerges in the interplay between Bion’s focus on linking and Lacan’s emphasis on separation. Lacan’s concept of the No of the Father underscores a one-sided separation, which can result in an imbalance. Both the paternal function and the maternal function are necessary for a holistic understanding of the psyche. Lacan’s later work, in my perspective, especially his exploration of feminine jouissance, corrects some of this imbalance, integrating the idea of receptivity and creativity into his framework.
Productive Suffering and Mental Growth
As therapists, the goal is to help patients suffer productively—to think, talk, and feel their pain. This process fosters mental growth by bringing individuals closer to truth and reality. For Bion, mindlessness—the absence of meaning and the destruction of links—is analogous to Freud’s death drive. A healthy mind creates meaning, constructs stories, and generates images. Conversely, the destructive mind erases meaning, leaving chaos and fragmentation.
The ego-destructive superego, as described by Bion, exemplifies a container that undermines rather than supports. This parasitical linking consumes rather than nurtures, standing in stark contrast to the productive linking that fosters integration and understanding.
The Mystic and the Creative Genius. Bion’s idea of the mystic reflects the tension between innovation and societal resistance. Mystics bring new truths to light, but these truths often threaten established structures, which seek to suppress or contain them. Think of creative geniuses like Freud, Bion, or Giordano Bruno—figures who challenged conventional thinking and faced opposition for their insights. Creativity and truth are disruptive forces, but they are essential for growth and transformation.
4 notes
·
View notes
Text
I didn’t think I’d need to say this, but apparently I do:
Don’t use the Raspberry Pi 2040 to build a DCC decoder.
It’s not really wrong, of course, and it gives you ridiculous amounts of computing power, but to get that you need miles and miles of extra components. Like a dozen of decoupling capacitors, an external oscillator, and of course an external flash memory. You can maybe do that sort of thing in H0, but for real model trains, it’s just not ideal. Pick something like an ATTiny or STM32C0 (I’ve done both for different projects): Cheap, just one or two decoupling capacitors, no external oscillator required and no external flash memory needed either.
The versions of the RP2350 with built in memory may be a better idea, once they fix the GPIO issues anyway, but still, there’s the oscillator and just way too many capacitors.
(Some of these concerns may be different if you want to add sound support, which requires more memory anyway. But I’d argue that sound in model railroads is a mistake anyway. I’ve never seen an N scale locomotive that sounds good, it’s all just an annoying expensive gimmick.)
Also while we’re at it, don’t use a cheap standard bridge rectifier. The steep slopes of the DCC signal mandate a really fast rectifier, typically Schottky diodes. This is particularly important when you have RailCom on your layout. You may need four individual diodes instead of one rectifier, but since you won’t need all the capacitors of the RP2040, you still win out in the end (it’s also typically smaller than the rather large SMD standard rectifiers).
This is a call-out post for https://github.com/gab-k/RP2040-Decoder . It’s a useful project, but it’s also far from ideal.
4 notes
·
View notes
Text
The Future of Web Development: Trends, Techniques, and Tools
Web development is a dynamic field that is continually evolving to meet the demands of an increasingly digital world. With businesses relying more on online presence and user experience becoming a priority, web developers must stay abreast of the latest trends, technologies, and best practices. In this blog, we’ll delve into the current landscape of web development, explore emerging trends and tools, and discuss best practices to ensure successful web projects.
Understanding Web Development
Web development involves the creation and maintenance of websites and web applications. It encompasses a variety of tasks, including front-end development (what users see and interact with) and back-end development (the server-side that powers the application). A successful web project requires a blend of design, programming, and usability skills, with a focus on delivering a seamless user experience.
Key Trends in Web Development
Progressive Web Apps (PWAs): PWAs are web applications that provide a native app-like experience within the browser. They offer benefits like offline access, push notifications, and fast loading times. By leveraging modern web capabilities, PWAs enhance user engagement and can lead to higher conversion rates.
Single Page Applications (SPAs): SPAs load a single HTML page and dynamically update content as users interact with the app. This approach reduces page load times and provides a smoother experience. Frameworks like React, Angular, and Vue.js have made developing SPAs easier, allowing developers to create responsive and efficient applications.
Responsive Web Design: With the increasing use of mobile devices, responsive design has become essential. Websites must adapt to various screen sizes and orientations to ensure a consistent user experience. CSS frameworks like Bootstrap and Foundation help developers create fluid, responsive layouts quickly.
Voice Search Optimization: As voice-activated devices like Amazon Alexa and Google Home gain popularity, optimizing websites for voice search is crucial. This involves focusing on natural language processing and long-tail keywords, as users tend to speak in full sentences rather than typing short phrases.
Artificial Intelligence (AI) and Machine Learning: AI is transforming web development by enabling personalized user experiences and smarter applications. Chatbots, for instance, can provide instant customer support, while AI-driven analytics tools help developers understand user behavior and optimize websites accordingly.
Emerging Technologies in Web Development
JAMstack Architecture: JAMstack (JavaScript, APIs, Markup) is a modern web development architecture that decouples the front end from the back end. This approach enhances performance, security, and scalability by serving static content and fetching dynamic content through APIs.
WebAssembly (Wasm): WebAssembly allows developers to run high-performance code on the web. It opens the door for languages like C, C++, and Rust to be used for web applications, enabling complex computations and graphics rendering that were previously difficult to achieve in a browser.
Serverless Computing: Serverless architecture allows developers to build and run applications without managing server infrastructure. Platforms like AWS Lambda and Azure Functions enable developers to focus on writing code while the cloud provider handles scaling and maintenance, resulting in more efficient workflows.
Static Site Generators (SSGs): SSGs like Gatsby and Next.js allow developers to build fast and secure static websites. By pre-rendering pages at build time, SSGs improve performance and enhance SEO, making them ideal for blogs, portfolios, and documentation sites.
API-First Development: This approach prioritizes building APIs before developing the front end. API-first development ensures that various components of an application can communicate effectively and allows for easier integration with third-party services.
Best Practices for Successful Web Development
Focus on User Experience (UX): Prioritizing user experience is essential for any web project. Conduct user research to understand your audience's needs, create wireframes, and test prototypes to ensure your design is intuitive and engaging.
Emphasize Accessibility: Making your website accessible to all users, including those with disabilities, is a fundamental aspect of web development. Adhere to the Web Content Accessibility Guidelines (WCAG) by using semantic HTML, providing alt text for images, and ensuring keyboard navigation is possible.
Optimize Performance: Website performance significantly impacts user satisfaction and SEO. Optimize images, minify CSS and JavaScript, and leverage browser caching to ensure fast loading times. Tools like Google PageSpeed Insights can help identify areas for improvement.
Implement Security Best Practices: Security is paramount in web development. Use HTTPS to encrypt data, implement secure authentication methods, and validate user input to protect against vulnerabilities. Regularly update dependencies to guard against known exploits.
Stay Current with Technology: The web development landscape is constantly changing. Stay informed about the latest trends, tools, and technologies by participating in online courses, attending webinars, and engaging with the developer community. Continuous learning is crucial to maintaining relevance in this field.
Essential Tools for Web Development
Version Control Systems: Git is an essential tool for managing code changes and collaboration among developers. Platforms like GitHub and GitLab facilitate version control and provide features for issue tracking and code reviews.
Development Frameworks: Frameworks like React, Angular, and Vue.js streamline the development process by providing pre-built components and structures. For back-end development, frameworks like Express.js and Django can speed up the creation of server-side applications.
Content Management Systems (CMS): CMS platforms like WordPress, Joomla, and Drupal enable developers to create and manage websites easily. They offer flexibility and scalability, making it simple to update content without requiring extensive coding knowledge.
Design Tools: Tools like Figma, Sketch, and Adobe XD help designers create user interfaces and prototypes. These tools facilitate collaboration between designers and developers, ensuring that the final product aligns with the initial vision.
Analytics and Monitoring Tools: Google Analytics, Hotjar, and other analytics tools provide insights into user behavior, allowing developers to assess the effectiveness of their websites. Monitoring tools can alert developers to issues such as downtime or performance degradation.
Conclusion
Web development is a rapidly evolving field that requires a blend of creativity, technical skills, and a user-centric approach. By understanding the latest trends and technologies, adhering to best practices, and leveraging essential tools, developers can create engaging and effective web experiences. As we look to the future, those who embrace innovation and prioritize user experience will be best positioned for success in the competitive world of web development. Whether you are a seasoned developer or just starting, staying informed and adaptable is key to thriving in this dynamic landscape.
more about details :- https://fabvancesolutions.com/
#fabvancesolutions#digitalagency#digitalmarketingservices#graphic design#startup#ecommerce#branding#marketing#digitalstrategy#googleimagesmarketing
2 notes
·
View notes