#inputs and outputs. logic
Explore tagged Tumblr posts
Text
Lazy story idea today, but what about a.... Idk how to describe this. A more lower level basic level robot falling in love with a human, so it keeps seeking to upgrade itself over and over until it has the kind of body that is the closest to that of a human.
#rambles#story ideas#hmmm#depending on which way you take this it can be creepy but it can also be a cute story#i rather like this idea#thinking about this more what if it started off with lower level processing too but like....#due to an error in its code it develops a curiosity for the human#this error creates the ability for desire#i just want it to start off very robotic at first#inputs and outputs. logic#like it inputs that it does not have the fire to properly process the collected data#so it finds a way to upgrade it's processing power#probably the story would be that the human's father is a programmer or some kind of robot engineer#this specific robot is a special robot because it's the only one that has this special program built into it#it was a small project on the father's part#i'd say 'but he died before he could complete it' but that's too cliche#maybe the project ended up in a dead end so he abandoned it not realizing that he actually succeeded#idk
3 notes
·
View notes
Text
PROGRAMMING COURSES LEVEL ONE
Course Curriculum
The logic and programming
Algorithms and Flow charts
Understanding source codes.
The types of variables, constants, logical
The Input/Output.
Programming procedure
Programming in VB.Net
Programming in Python
Introducing the Object Oriented Programming
The loops and their logic
Website: https://giti-edu.ch/
Call: +41 /22 301 22 44
#ProgrammingCourses#Programming#Algorithms#FlowCharts#SourceCodes#Variables#Constants#Logical#Input#Output#ObjectOrientedProgramming#Loops#Logic#Geneva#GITI
0 notes
Text
Many billionaires in tech bros warn about the dangerous of AI. It's pretty obviously not because of any legitimate concern that AI will take over. But why do they keep saying stuff like this then? Why do we keep on having this still fear of some kind of singularity style event that leads to machine takeover?
The possibility of a self-sufficient AI taking over in our lifetimes is... Basically nothing, if I'm being honest. I'm not an expert by any means, I've used ai powered tools in my biology research, and I'm somewhat familiar with both the limits and possibility of what current models have to offer.
I'm starting to think that the reason why billionaires in particular try to prop this fear up is because it distracts from the actual danger of ai: the fact that billionaires and tech mega corporations have access to data, processing power, and proprietary algorithms to manipulate information on mass and control the flow of human behavior. To an extent, AI models are a black box. But the companies making them still have control over what inputs they receive for training and analysis, what kind of outputs they generate, and what they have access to. They're still code. Just some of the logic is built on statistics from large datasets instead of being manually coded.
The more billionaires make AI fear seem like a science fiction concept related to conciousness, the more they can absolve themselves in the eyes of public from this. The sheer scale of the large model statistics they're using, as well as the scope of surveillance that led to this point, are plain to see, and I think that the companies responsible are trying to play a big distraction game.
Hell, we can see this in the very use of the term artificial intelligence. Obviously, what we call artificial intelligence is nothing like science fiction style AI. Terms like large statistics, large models, and hell, even just machine learning are far less hyperbolic about what these models are actually doing.
I don't know if your average Middle class tech bro is actively perpetuating this same thing consciously, but I think the reason why it's such an attractive idea for them is because it subtly inflates their ego. By treating AI as a mystical act of the creation, as trending towards sapience or consciousness, if modern AI is just the infant form of something grand, they get to feel more important about their role in the course of society. Admitting the actual use and the actual power of current artificial intelligence means admitting to themselves that they have been a tool of mega corporations and billionaires, and that they are not actually a major player in human evolution. None of us are, but it's tech bro arrogance that insists they must be.
Do most tech bros think this way? Not really. Most are just complict neolibs that don't think too hard about the consequences of their actions. But for the subset that do actually think this way, this arrogance is pretty core to their thinking.
Obviously this isn't really something I can prove, this is just my suspicion from interacting with a fair number of techbros and people outside of CS alike.
449 notes
·
View notes
Text

On my Nova 1200, both the Cassette I/O board and the CPU board, were having issues passing serial tests. The /DS5 signal had incorrect logic levels, so I swapped some gates there and solved that problem.

Then the big problem, which took alot of work to diagnose and fix is specific to the CPU board. Using the Nova 1200 Logic Test tape (as in a virtual paper tape), tests were performed but no clear answer was forthcoming. It was failing, but the serial output messages weren't working right to tell us what failed, or now. I single-stepped through the program until we hit a test that didn't pass: the auto-incrementing addresses.


On a Nova, addresses 00020 thru 00027 auto-increment values when accessed. Meanwhile, addresses 00030 thru 00037 auto-decrement values when accessed. These functions worked, but unfortunately they were being activated on addresses 00120 thru 00137 which is not right at all.
It took days of tests, writing our own testing routines, and lots of oscilloscope captures before it was finally found. The N8859A quad-input NAND gate that is part of the address decode logic had started ignoring the /MBO13 and /MBO14 signals, meaning it was decoding incorrectly. That part has been replaced with a 74LS20 (despite technically requiring a 7440, Fairchild 9009, or the aforementioned Signetics part, which has no datasheet) -- it's fine. So, that problem finally got solved, but it was a pain because it's only using a single 4-input NAND gate to decode a 16-bit value for a 15-bit address. DG pulled this off by cycling through one nibble of the instruction at a time, synced with the four Processor Time Groups (PTGs).

See those cyan and magenta traces? When those go low, they should trigger the blue trace at the bottom to go high. There it is.

Anyway, that took alot to figure out, and it still doesn't work completely yet, but that's like 3 to 5 problems fixed in the span of a week, so I'd say that's pretty good progress.
39 notes
·
View notes
Text
On Keeping Time
To run a simple program, a computer needs some kind of storage, and some kind of input/output device. To run a simple operating system, a computer will also need some random-access memory for holding onto information temporarily. To run a sophisticated operating system that supports many users and programs reliably, a computer will also need some way to make sure one user doesn't hog resources and prevent other users' programs from running.
My Wrap030 homebrew computer currently has a flash ROM which holds a bootloader program from starting other programs from disk. It has 16MB of RAM. It has 9 total serial ports for I/O. It just needs that last thing to be able to run a sophisticated operating system.
I've written before about how computers can share a single processor between multiple users or programs. The simplest option is to have each program periodically yield control back to the system so that the next program can run for a little while. The problem with this approach is if a program malfunctions and never yields control back to the system, then no other program can run.
The solution is to have an external interrupt that can tell the CPU it's time to switch programs. Each program can be guaranteed to have its chance to run because if a program tries to run too long, that interrupt will come to force a switch to the next program.
The way this is typically accomplished is with a periodic timer — ticking clock that interrupts the CPU regardless of what it's doing.
And that's what my Wrap030 project is missing. I need a timer interrupt.
The catch is, my system has always been a little fragile. I have it running well right now with three expansion boards, but there's always a risk of it being very unhappy if I try to add another expansion board. If I could somehow pull a timer interrupt out of what I already have, that would be ideal.
Nearly all of the glue logic pulling this system together is programmable logic in the form of CPLDs. This gives me the flexibility to add new features without having to rework physical circuitry. As it happens, the logic running my DRAM card currently consumes under half of the resources available in the card's CPLD. It also has several spare I/O pins, and is wired to more of the CPU bus than any other chip in the system.
So I added a timer interrupt to my DRAM controller.
It is very minimal — just a 16-bit register that starts counting down every clock cycle as soon as it's loaded. When the timer gets to 1, it asserts one of those spare I/O pins to interrupt the CPU.
And all it took was a couple bodge wires and a little extra logic.

I put together a quick test program to check if the timer was running. The program would spin in a loop waiting to see if a specific address in memory changed. When it changed, it would print out that it had, and then go right back into the loop. Meanwhile, the interrupt service routine would change the same address in memory every time the timer expired.
This is great! It was the last significant piece of hardware I was missing to be able to run a proper operating system like Unix or Linux — which has always been a goal of the project. While I still have much to learn before I can attempt to get a proper OS running, I can still put this new timer to use.
I had previously built my Multibasic kernel to run cooperatively. Each user instance of BASIC would yield control whenever it needed to read or write to its terminal (which it does at every line while running a BASIC program, checking for the Ctrl-C stop sequence). This worked well enough, but a particularly complex BASIC program could still slow down other users' programs.
Converting my Multibasic kernel from Cooperative multitasking to Preemptive multitasking was actually fairly easy. I just needed to initialize the timer at startup, and add an interrupt service routine to switch to the next user.
(It's not really something that can be seen in a screenshot, but it's doing the thing, I promise.)
Now that I have all of the requisite hardware, I guess I need to dive into learning how to customize and build an operating system for a new machine. It's something I have always wanted to do.
35 notes
·
View notes
Note
Do you often use random dungeon layout generators for your megadungeons? If so, how do you make those randomly generated layouts make sense as a space? I find that the eclectic nature of how the dungeon ends up looking makes it feel weird to consider the area as a real space instead of as the output to a random generator.
I use a lot of random generation when I make megadungeons, but I pretty much never use a layout generator. That's a solution to a different problem from the one that I have. Creating an assortment of rooms connected in random ways is pretty easy for me. The problem, as you note, is making the space engaging, making it make sense, making the connections logical but also interesting, etc.
But I do think random generation is a great way to juice your creativity! Getting external input that you then have to fit your ideas into often produces better results than just trying to create on a blank slate.
My most common random tools are roll tables for generating dungeon rooms and features. Worlds Without Number is the first book I reach for for most random tables, and it has some pretty solid tables for generating rooms, features in the rooms, connections, etc. I also have a bunch of tables saved from OSR blogs for generating interesting traps or dungeon features. Honestly just rolling for the number of exits a space has is one of the simplest ways to force myself to think creatively. When the dice tell me a bedroom has six exits, it means I need to re-evaluate what that bedroom is doing and I probably need to create some unusual exits.
I will use geomorphs sometimes. These are basically bespoke little fragments of dungeon created to be shuffled and combined randomly. Dyson Logos has a bunch of these, and I know @imsobadatnicknames2 has a bunch as well. These are good for creating a bunch of interesting connections and clever tiny bits that are great for finding interesting uses for. I've never used these to generate a whole dungeon, but for small fragments I really like them. I also have a set of them handy when I run a sandbox campaign in case the players somehow end up in a dungeon I didn't prep for at all.
Now, if you do want to use a randomly generated layout, whether from some tool, a dice generator, geomorphs, whatever, I have some advice for making sense of it: embrace the second occupant effect.
It's very common in dungeons that the people who built the dungeon and the current occupants are not the same group. It's an orcish ruin occupied by dwarves, it's an ancient temple being used as a bandit hideout, it's a wizard's keep overrun by demons, etc. The question that a random layout is going to have you asking is, "Why is this constructed this way?" and it's perfectly okay for the answer to be, "there's nobody left who knows." What was this big room with seven entrances built for? Well, nobody knows, but the goblins living there are using it as a dining hall.
If you're designing using this approach, you don't need an answer for every space. You can instead approach it the same way its new occupants did. Take it for granted that this is the space that exists, how would the new occupants use it? That weird room off to the side that's a pain to access? Well, who knows what it was built for, but it's cold storage now. This weird thoroughfare makes a perfectly good guard checkpoint. This big hole in the floor might have been used for casting spells at some point, but now it's a garbage dump. In this way, it's easy to come up with what rooms are now that doesn't require you to answer what a room was built for.
Using this approach, you still want to have good answers for what a room's original purpose was some of the time. If the space just never makes sense, players will stop trying to engage with it logically, and that's a big loss. Plus, using this effect most effectively, you get a lot of value out of knowing the previous purpose of a room. It can be easy for every kitchen to feel similar, but a kitchen that's been built on what used to be a foundry is instantly more interesting and easier to get creative with. But you get to pick and choose the parts of a random layout that look interesting, or that you have an easy time answering for, and make those the parts where the original purpose shines through. And then in the spaces where you're left saying, "What is with this snarl of hallways?" you can just have the answer be, "it's a mystery. Scholars theorize it served a ritual purpose."
67 notes
·
View notes
Text
✧・゜: how i'm learning to trust my creative intuition :・゜✧:・゜✧




hey lovelies! ✨
i've been thinking a lot about creative intuition lately, that quiet inner voice that nudges you toward certain ideas or projects. for the longest time, i was absolutely terrible at listening to it. i'd get these little sparks of inspiration and immediately talk myself out of them. "that's been done before" or "you don't have the skills for that" or my personal favorite: "who do you think you are?"
sound familiar? thought so.
the thing is, i've slowly been learning that my intuition actually knows what it's talking about. those random ideas that pop into my head at 2am or while i'm in the shower? they're not random at all, they're my creative compass trying to guide me toward what truly lights me up.
⋆.ೃ࿔:・ recognizing intuition vs. fear ・:࿔ೃ.⋆
the first big challenge was learning to tell the difference between my intuition and my fear. they can sound weirdly similar sometimes!
my intuition tends to feel like excitement mixed with certainty, like "yes! this!" even when it makes no logical sense. it feels light and expansive, like opening a window in a stuffy room.
fear, on the other hand, feels heavy and contracted. it comes with a lot of "shoulds" and worrying about what other people will think. it's the voice that compares my chapter 1 to someone else's chapter 20.
i started keeping track of when these different voices would speak up, and slowly got better at recognizing which was which.
⋆.ೃ࿔:・ creating space to listen ・:࿔ೃ.⋆
intuition doesn't shout. it whispers. and in our noisy, constantly-connected world, those whispers can get completely drowned out.
i realized i needed to create actual space to hear myself think. for me, that looks like:
morning pages: three pages of stream-of-consciousness writing before looking at my phone
solo walks without podcasts or music (just me and my thoughts)
intentional boredom: staring out windows, lying on the floor, letting my mind wander
reducing input before trying to create output (no scrolling before creative sessions)
it's amazing what starts to bubble up when you're not constantly drowning it out with other people's voices and ideas.
⋆.ೃ࿔:・ the "stupid idea" notebook ・:࿔ೃ.⋆
one of the most helpful tools has been my "stupid idea" notebook, a judgment-free zone where i write down every creative impulse, no matter how ridiculous it seems.
the name is intentionally silly to remind myself not to take it all so seriously. some ideas truly are stupid, and that's perfectly fine! but some turn out to be the beginnings of something meaningful.
the rule is simple: write it all down, evaluate later. this creates a safe space for intuition to speak without immediately being shut down by my inner critic.
⋆.ೃ࿔:・ small intuition experiments ・:࿔ೃ.⋆
trusting your intuition is like building a muscle, you start small and work your way up.
i began with low-stakes creative decisions: which color to use in a drawing, which topic to write about in my journal, which route to take on my walk. when something felt intuitively "right," i'd go with it, even if i couldn't explain why.
gradually, i started trusting my intuition with bigger choices: which project to pursue, which opportunities to say yes to, which creative direction to explore.
with each small win, my confidence in my inner guidance grew stronger.
⋆.ೃ࿔:・ embracing the "wrong" turns ・:࿔ೃ.⋆
here's the thing about intuition: sometimes it leads you down paths that seem to go nowhere. i've followed creative impulses that resulted in projects i never finished or ideas that didn't work out.
but i'm learning that these aren't failures, they're necessary detours. every "wrong" turn teaches me something i needed to learn or leads me to connections i wouldn't have made otherwise.
intuition isn't finding the most direct path; it's finding YOUR path, with all its twists and surprises.
⋆.ೃ࿔:・ letting go of external validation ・:࿔ೃ.⋆
perhaps the hardest part of trusting my creative intuition has been detaching from external validation. when you follow your intuition, you might create things that don't immediately resonate with others or fit neatly into what's trending.
i'm still working on this one, honestly. but i've noticed that my most intuitive creations... the ones that felt most aligned with my inner voice, are ultimately the ones people connect with most deeply, even if the audience is smaller.
⋆.ೃ࿔:・ a gentle practice ・:࿔ೃ.⋆
trusting your creative intuition isn't a destination, it's an ongoing practice. some days i'm better at it than others. sometimes fear still wins. but each time i choose to listen to that quiet inner knowing, it gets a little louder, a little clearer.
if you're struggling to trust your own creative voice, start small. create tiny spaces of silence. write down the whispers. follow the sparks of excitement. and be patient with yourself when you forget.
xoxo, mindy 🤍

#creative intuition#creative process#creativity tips#creative journey#trusting yourself#creative inspiration#creative blocks#creative confidence#artistic journey#creative mindset#creative growth#creative voice#creative practice#creative development#artistic intuition#creative authenticity#creative self-trust#inner voice#creative guidance#intuitive creativity#creative expression#finding inspiration#creative flow#personal growth#self discovery#creative identity#artistic development#creative wisdom#creative struggles#overcoming creative blocks
50 notes
·
View notes
Text
On Wave Functions (and i-value shenanigans)
Consider a [some object]... How many [wave functions] can we define based on its [output] or it's [input] or even the work that it is currently performing based on the input in order to get a specific output.
The Galton board of the [output] measured a [set distance] away from some [fan or motor] based on how far we skew left or right (or even up or down) from the [original position] of that [fan or motor].
Techically you have 4. 1 based on each axis, which each can be defined as [in front of] or [behind that fan] which may be positive or negative depending on the measurement.
(measurement distance) = MeasurePos{x,y,z} - FanPos{x,y,z}
(output) = (mD) * (power or measured input)
Hey look, a couple of tensors! That's such an easier way to define a thing than in straight code... Wow, am I a mathematician yet?
Oh wow... I may have learned a whole school of maths outside the current educational knowledge because I learned it in programattical language and not the mathematical languages and literally cannot talk with anyone on them because of it.
So you'll notice the tensors have a functional (programmatic/algorthimic) output, where once you have the flat value (measurement distance) you can't get the original (space coordinates) back. All that's necessary are the two measurements which Pythagorean there on their way to some measurement from the source of energy output.
You may also notice that I seriously have to define everything I do so that Mathematicians and programmers alike can understand what the heck I'm saying ... Wild dude.
Anyway, you may notice a few other [wave functions] can be defined from this; how the output might be affected based on how the measurement of the output from the source is skewed ...
If we measure orthogonally, we may measure nothing, OR we may measure some fluctuations that don't mean anything from the perspective we're measuring it... Like a magnetic field from between the two poles for example.
If, for example... The measurement distance is askew, let's say ... mPos{x,y,z} + 5i
We're off by 5 in some orthogonal distance, that would affect the measured output TANGIBLY. Because of where we're measuring in relation to the fluid flow of the Fan itself.
And, you'll notice I've given a functional definition for a useful i-defined-value. So, we've created an *imaginary space* by anchoring out perspectives to two points, the Fan's position in relation to the position in which we take our measurement.
And because of this, we no longer need the actual physical position of the two measurements, just the two measurements as defined by their axis-to-each-other.
AND we can also make note of how much of the definition of output can be incorrect if our measurement is off, and the operation function for value of output based on that measurement may give us a bad measurement!
Oh wow ... I'm more excited that I've discovered how to explain these things in my head in English...adjacent verbage for once!
Especially because I've also called any currently defined usage of the buzzword [Wave Function] as requiring two minimally valid measurements to be defined for any [wave function] to not be arbitrary.
And I've just laid the path work for understanding a [maybe new, maybe old] functions that may include offsets which can skew measurements.
Actually. What is the minimal educational foundation *required* to fully understand this particular {journal entry/post}? Because I can't define it....
You need a bit of geometry and a bit of logic and a bit of programattical languageal foundation to understand it. Holy shit. I might be a genius. Or like a [reverse-genius] at least.
Help. Enmeshed in the Academia people... I need help defining this {all this thing here I'm trying to define} D:
26 notes
·
View notes
Note
the main thing im struggling with in regards to AI art is if the person using AI can even call it their art. is the creator the person who put in the prompt(s)? is it the person who made the AI? is it all the artists that the AI created 0.01% of its patterns from? is it the AI itself? does the question even matter? i don't know if it's comparable to something like scrapbooking, moodboarding or interior design (see: using things You Didn't Make (magazine images, gifs, furniture) to then create your own art. the comparison just feels...off. there is a general understanding that scrapbookers/moodboarders/interior designers probably didn't create the things they're using, and people generally have a different view on it than say painting or drawing because of those differences in fundamentals. i understand that a lot of AI artists can take a lot of time, effort and skill into narrowing down prompts to get very unique and specific outputs but it feels more comparable to a commission to me. i do think there is an amount of creativity that goes into prompt-making, visualising the end product and figuring out how to get there, but i struggle to see where the line sits of "AI did this" vs "I used AI to do this". i also don't find generative AI to be very similar to other technology 'shortcuts' like digital art tools such as layering, blending and line stabilization -- generative AI is on a whole other level to that. i'd love to know your thoughts on this
I think AI generation is a tool that's the logical progression from a lot of already-existing digital art tools. We don't question whether a digital artist gets to call their work their own even though they couldn't have done it without the hundreds of people who program and maintain Photoshop and we don't question whether a traditional painter gets to call their work their own even though they didn't grind their own paints or build their own paintbrushes. For that matter, we don't call digital artists lazy hacks because they use a computer to generate colors instead of buying and mixing their own paints, because we understand it's a different medium that requires different skills - or at least, we don't anymore, because I'm pretty sure we went through all this same discourse when digital art started being a thing.
There's already plenty of art forms out there that rely on some level of randomness or automation - plenty of digital artists use custom brushes to do the grunt work of filling in foliage so they don't have to individually place every leaf, splatter artists let paint fall where it will instead of deliberately placing every dot, epoxy artists let physics and gravity pull resin across the canvas with relatively little human input. They're still artists, they're just using art styles and tools that don't rely on intention in every aspect of the art the way traditional artists might.
Overall I think if you say "sure, this person has an artistic vision they are trying to express with a tool that requires skill and practice to use effectively, but can we really call them an artist?" you're getting lost in the weeds. But I also think we've had this argument with every single advancement in art technology since we moved on from cave paintings, so I kind of wish we could just skip this one.
And because I think there's a disconnect here that people are getting tripped up on - am I saying that every person who throws a prompt into DALL-E is an artist? No, in the same way I don't call myself a photographer because I took a picture with my cellphone. But that doesn't mean the nature photographer who spends hours laboring over getting the perfect shot isn't an artist either, y'know?
37 notes
·
View notes
Text
when they finally pause their (lighthearted) wars long enough to talk about their feelings for each other, grian and doc realize that they work so well together-- yin and yang, opposites that slot together perfectly.
doc is mechanical (in more than the bodily modification sense). he operates in absolutes and principles. he thinks with utter rationality, and often finds himself so caught up in the logical that he loses touch with the more humane side of himself, the side that weighs more than just the individual action and takes the concepts of empathy into account. he allows himself to fall into the anger of slights against him, no matter how petty or inconsequential; it's the most logical reaction to actions taken against him.
grian is the utter opposite. he's so all over the place, caught up in the ideals of chaos and human reactions and the overly emotional. he struggles to bring it back down to earth and grasp the more logical side of things. it's part of why redstone is so incomprehensible to him, because he wants to connect what feels right, even if it isn't logical. he doesn't get angry, but rather allows himself to be lost in the absurd, allows himself to retaliate in ways silly and almost abstract in comparison to the jokes against him.
when doc gets caught up in the self as a machine, grian brings him up into the clouds, where emotions and human reactions rule, and reminds him that no living thing exist in the black and white, no living things exist with binary with inputs and perfect outputs. when his anger towards perceived slights overwhelms him, grian turns it lighthearted, pushes back against the desperately rational anger to instead help him find the absurd within the ire.
similarly, when grian gets taken with his own emotions or goes off the rails with some insane scheme (and the frustrations of said scheme), doc grounds him in the logical and known, reminds him of where the wires should connect and how the signals should flow, recalling the simple truths within the complex for him. when grian dives too deep into the lighthearted or absurd, past the point of knowing what should count as a slight against him, doc is rational on his behalf, reasonably angry for him when he should be, and stoic when grian's tumultuous emotions call for it.
they balance each other out. it works perfectly.
71 notes
·
View notes
Text
The theory of operation for my balanced ternary "shift register" is actually pretty simple, though it might not look like it -- once you spend some time in it, so to speak, it's totally grokable.
Ready? This is gonna be looong.
Okay.
First, in case anyone reading this is unaware of what a logic gate, truth table, or the balanced ternary number system is, you'll want to read these three Wikipedia articles to get some background knowledge:
https://en.wikipedia.org/wiki/Truth_table
https://en.wikipedia.org/wiki/Logic_gate
https://en.wikipedia.org/wiki/Balanced_ternary
Second, if you're unaware of how water and lava behave in Minecraft, you'll want to read this article from the Minecraft wiki.
Thirdly, you'll want to read these excerpts (↓) from my notes (my apologies for their quality), where I list my personal conventions and definitions for what is to come.
Got that all?
What we want to do now is try to construct some of the aforementioned logic gates with Minecraft's fluid model. Water will be used to represent 1, lava will represent T (-1), and air (neither water nor lava) will represent 0.
Believe it or not, this isn't too difficult. Most of the logic gates I describe above are rather simple to implement -- so long as we ignore the timing constraints imparted by water and lava flowing at different rates, which for the sake of brevity (brevity, lol) we will.
Two of the most fundamental of these logic gates, at least for our purposes, are MAND and OR. They are implemented like this (↓)
If you're having trouble grasping how these work, and have access to a copy of the game, I encourage you to play around with it yourself! After a while, the principles start to become pretty intuitive.
We can use these "fundamental" gates to construct the rest. ISN, ISP, NISN, and NISP can be made by simply hard-wiring one or the other of the inputs of a MAND gate to 1/water or T/lava. (Not that you'd always want to implement ISP in particular that way--it's actually the third fundamental logic gate and can be implemented via a different principle, but I digress)
From there we can construct NEG, as NEG a is equal to (NISN a) OR (NISP a); from NEG we can construct AND, because a AND b = a MAND (NEG b); and so on and so forth. (Exercise for the reader to derive the rest :P)
This brings us back to the shift register, which is primarily constructed of these (↓) little circuits who operate analogously to normally-closed relays.
Let the green input be a, the white input be b, and the output be q. When a is nonnegative (0 or 1), b will "pass through", so to speak, and q = b. When a is negative (T), q will always be 0.
Put more simply, q = b OR (ISN a) OR (NISN a). Run the numbers and you'll see how it works!
From there, it's pretty trivial to line a few of these up, tie their outputs together, and get a demultiplexer -- a circuit that takes in some number of inputs (here three) and "selects" one of them to output. Let's look at our demultiplexer now:
Let s1, s2 and s3 be the blue "selector" inputs; p1, p2, and p3 be the white "selectee" inputs; b1, b2 and b3 be the intermediate "blocking" signals (the green inputs from earlier); q1, q2 and q3 be the outputs from our relays; and q (no number) be the overall output.
The yellow and light blue circuitry are our relays, the black concrete is the aforementioned output tying-together (q = q1 OR q2 Or q3), and the blue and red circuitry is... complicated.
Its job, though, is simple: translate a positive "selecting" signal on one of its three inputs (s1, s2 and s3) into two negative "blocking" signals to be sent to the relays (b1, b2, b3).
This is implemented as follows:
b1 = (NISP (s1 OR s2 OR s3)) OR s1 b2 = (NISP (s1 OR s2 OR s3)) OR s2 b3 = (NISP (s1 OR s2 OR s3)) OR s3
In other words, b1 is negative iff s2 or s3 is positive, b2 is negative iff s1 or s3 is positive, and b3 is negative iff s1 or s2 is positive.
Let's work through an example. Say c1 is 1, c2 is 0 and c3 is T, and we set s3 to 1--"selecting" c3.
Since s1 and s2 are 0, and s3 is 1, s1 OR s2 OR s3 = 1 and NISP (s1 OR s2 OR s3) = T
It follows then that b1 = T OR s1 = T OR 0 = T, b2 = T OR s2 = T OR 0 = T, and b3 = T OR s3 = T OR 1 = 0.
Finally, since b1 and b2 are T, q1 and q2 are 0 (relay 1 and relay 2 "block" their inputs from flowing through) and since b3 is 0, q3 = p3 and thus q = q3 = p3 = T.
Got that? Great! Let's move on to the monster then.
A diagram may be in order.
Better?
The shift register (again not the correct term because this is a one-time use circuit, but I digress -- they're roughly analogous) is constructed mainly of demultiplexers (light blue boxes), as described before.
Each demuxer is selecting between the input directly above it, the input to its left, and the input to its right. (e.g. demuxer #4 is selecting between In3, In4 and In5).
The signals telling the demuxers which inputs to select (s1, s2 and s3 from earlier) are generated by the "split" box (in blue) from the "Selector" signal. If "Selector" is T, "Split" sends a positive signal to the s1 input of the demuxers; if it is 0, s2; if it is 1, s3.
This is implemented as follows:
s1 = NISN "Selector" s2 = NISN ("Sync" OR s1 OR s3) s3 = ISP "Selector"
The "Sync" signal line (in orange) and circuits (purple boxes) work to ensure the timing constraints and invariants we've so far elided are upheld. "Sync" is always either 0 (wait for sync) or T (resume), never 1.
The purple boxes work like the opposite of the relays we described earlier: they receive an input and only output it after they receive a "Sync" signal.
They are implemented as follows:
q = (a MAND "Sync") OR (a MAND (NISN "Sync"))
Likewise, the "Split" box waits for a "Sync" signal to determine if "Selector" is 0 -- if it "jumped the gun" it wouldn't be able to go back and correct its output, all fluid-based logic gates are necessarily one time use.
What does all of this nonsense accomplish?
When "Selector" is 0, the input is simply passed through; when "Selector" is T, the input is shifted left (Out1 = In2, Out2 = In3... Out6 = 0); when "Selector" is 1, the input is shifted right (Out1 = 0, Out2 = In1... Out6 = In5). This is equivalent to either multiplying or dividing the output by 3.
And that's that!
If you have any further questions, feel free to let me know! Hell, if you managed to read this whole thing, feel free to let me know! (I hope at least someone is able to...)
48 notes
·
View notes
Note
Hi, its been a while since I've heard you've open your requests. Can you do a platonic request for Frieza, where female human S/O acts similarly like Twilight Sparkle. I like to think that she would freak out a little when something logically doesn't make any sense of Frieza just messing with her, cause he can.
Of courseee, it sure sounds funny. There's a friend of mine that's like her and I enjoy bothering her with anything (I'm not as brilliant as her (she's a freakin genius) so I just make things work under my logic), so I got inspired.
“Frieza, this makes absolutely no sense!”
You paced back and forth on the pristine floors of Frieza’s spaceship, a clipboard in one hand and a stylus in the other. Your brows were furrowed, and your eyes darted between Frieza and the incomprehensible mess before you. The tyrant lounged in his chair, tail swishing lazily, a smirk tugging at the corners of his lips.
“Ah, but that’s the beauty of it, dear,” Frieza drawled, resting his chin on one hand. “It doesn’t need to make sense. I simply will it so.”
You stopped mid-step and spun on your heel to face him, your frustration bubbling to the surface. “That’s not how things work! Logic, rules, cause and effect—these are fundamental principles of the universe! What you’re saying is just… chaos!”
“Precisely,” he replied, his grin widening. “And isn’t it delightful?”
It wasn’t delightful. Not to you, anyway. You gestured emphatically at the display screen, which was showing a gravity simulation that, by all accounts, should have imploded the room. Instead, objects floated serenely, unaffected by the laws of physics.
“Look at this! The equations don’t balance. The energy inputs don’t match the outputs. The… the…” You threw your hands in the air, your voice rising in pitch. “It’s impossible!”
Frieza chuckled, a low, almost musical sound that only deepened your exasperation. “Oh, dear, your obsession with logic is utterly charming. But you forget: I am no mere mortal bound by your quaint little rules. If I desire gravity to behave like a playful child, then so it shall.”
You gaped at him, your brain working overtime to reconcile his words with the reality before you. “But why?” you demanded. “What’s the point of all this?”
Frieza rose from his seat with a fluid grace, his tail flicking behind him as he stepped closer. “Why not?” he said simply, the smug amusement in his voice nearly tangible. “It’s so entertaining to watch you squirm, my dear. You remind me of a bird flapping hopelessly against a cage. Adorable, really.”
You crossed your arms, determined not to let him get under your skin. “Well, it’s not entertaining to me! Do you know how hard it is to solve a problem when you keep rewriting the rules?”
Frieza leaned down, his red eyes glinting with mischief. “Oh, but that’s the point. There is no problem to solve. It’s a game. One you can’t win.”
Your jaw tightened, and you jabbed your stylus in his direction. “If this is a game, then what’s the objective?”
“To watch you unravel, of course.” His smirk widened, utterly unrepentant.
You groaned, dragging a hand down your face. “Unbelievable. You’re doing this just to mess with me.”
“Correct,” he said, his tone dripping with satisfaction. “I must say, your reactions are priceless. Do go on.”
You threw your clipboard onto a nearby table, planting your hands on your hips. “Fine. If you want chaos, I’ll give you chaos. But don’t come crying to me when you can’t fix it.”
“Crying?” Frieza echoed, his voice laced with mock offense. “As if I, Lord Frieza, would ever stoop to such a thing. But by all means, do try.”
Challenge accepted. You marched over to the console and began tapping furiously, your mind racing to devise a way to outsmart his nonsensical alterations. Meanwhile, Frieza watched with keen interest, his smirk never faltering.
“Let’s see how your precious logic fares against divine will,” he mused, reclining once more.
You muttered something under your breath, something that sounded suspiciously like, “This is why I prefer books to people.”
Frieza, of course, heard it. His laughter echoed through the room.
Masterpost
DBS Masterlist
#fanfic#x reader#frieza#frieza x reader#dragon ball frieza#dbs one shot#fem reader#dbs x reader#dbs frieza x reader#lord frieza x reader#lord frieza
41 notes
·
View notes
Text
a triangle and a logic gate enter a bar
((context under the cut if u dont get it))
this is an inverter (circuit/breadboard thing)
if you input something it'll output the opposite
in other words, input "A" and itll output "NOT A"
usually used for conditions like "f B and not A then C"
this is a sign that engineering is taking over my life
send help
#gravity falls#bill cypher#breadboard#circuits#logic gates#engineering#electrical engineering#yaoi dorito#this has so many errors but i did it instead of hw so idc#my art#my comic#art#annnnnd post!
24 notes
·
View notes
Text
Okay here's my treatise on why mechs are so got to me: theyre a combo of computer and automobile.
Computers are hot because they're just a bunvh of logic processes that all do One Thing, but interact in such a way that they do Many Things at a massive scale. Working on a computer involves balanving all of the little logic processes that are all so interconnected that it feels and looks like manipulating magic runes. With enough knowledge, you can make any computer do any thing, you just have to manipulate it JUST right, and at that point it looks like negotiation with an intelligent human. In fact, at a certain point, a sufficiently complex robot looks a lot like the human brain, and hey isn't psychology just kinda looking at all the little logic processes that our nervous systems make in order to interact with the world? What really is the difference between the way operant conditioning takes in input in order to adjust future output and the way a computer adjusts its variables to be more precise? In this way, computers are kinda just brains that are a little less plastic and a lot more susceptible to being directly edited on the basic code level.
Automobiles, on the other hand? They are highly specialized, extremely well engineered parts all put together in order to make something that does one job Very Well. This ball joint is engineered to perfection, and when combined with this motor (also engineered and tuned to perfection) and a couple other parts (that are, likewise, engineered to perfection) they make a machine that moves an arm in a specific way Very Well. And then that arm is combined with other parts, and you get the picture. An automobile (or mech) is a big machine that's made up of increasingly smaller groups of extemely well-engineered parts, and those tiny parts have to be maintained and cared for or else they'll fuck up the whole system, cascading outward. The general wear and tear of being in the physical plane makes is so that you Have to get in there and maintain and replace parts, but with such care that the delicate, graceful balance of engineering isn't lost. And once again, with enough knowledge, you can navigate this delicate landscape and make that machine do whatever you want.
The idea that these specialized things that are only supposed to be used Like So can then be adjusted to be able to do something else, only accomplished by having an intimate knowledge of what these parts and processes' limits are and how far you can push an individual component before damage is done, then lends itself very well to the idea that that intimate knowledge is no different than the love and care you could feel for a human being. After all, a human brain is a squishy, extemely complicated computer, and the human body is a squishy, very complicated piece of machinery. If you take out the squishy part (and hinestly sometimes you dont even need to do that) and scale it up so that someone can pilot it, thats a mech babey!
Anyway i hope this was coherent enough that I'll someday find something that scratches that itch, or maybe i'll write it myself. Just know that that's the fantasy im aiming for with the #robot fucker tag
10 notes
·
View notes
Text
Low Voltage Relays Explained: Types, Functions, and Applications

In the complex world of electrical systems, relays play a crucial role in ensuring safety, efficiency, and automation. Among these, low voltage relays stand out as versatile components that manage and protect circuits operating below 1000 volts. Whether in industrial automation, residential power distribution, or commercial infrastructure, these devices act as the nerve center of electrical control and protection.
In this comprehensive guide, we will break down what low voltage relays are, explore their types, explain their functions, and highlight their diverse applications across industries.
What Are Low Voltage Relays?
A low voltage relay is an electrically operated switch that uses a small control voltage (typically below 1000V AC or DC) to switch larger electrical loads on and off. These relays act as intermediaries between control circuits and power circuits, providing isolation, control, and protection.
Unlike manual switches, relays automate the process of circuit management, responding to electrical signals, fault conditions, or system commands without human intervention.
Types of Low Voltage Relays
Low voltage relays come in several forms, each tailored to specific tasks within an electrical system. Here are the main types:
1. Electromechanical Relays (EMRs)
· Use a coil and a movable armature to open or close contacts.
· Provide physical isolation between input and output.
· Common in traditional control panels and basic automation.
2. Solid-State Relays (SSRs)
· Use semiconductors (like thyristors or triacs) instead of mechanical contacts.
· Offer silent operation, faster switching, and longer lifespan.
· Ideal for high-speed applications and environments requiring low maintenance.
3. Overload Relays
· Specifically designed to protect motors and equipment from sustained overcurrent.
· Available as thermal overload relays (using bimetallic strips) or electronic overload relays (using sensors and processors).
4. Time Delay Relays
Provide a deliberate time lag between the relay receiving a signal and switching.
Used in motor control circuits, lighting systems, and sequential operations.
5. Overcurrent and Short-Circuit Relays
· Detect and react to current exceeding preset thresholds.
· Essential for system protection against faults and overloads.
6. Voltage Monitoring Relays
· Monitor voltage levels and trip when voltages fall below or rise above safe limits.
· Protect sensitive devices from under voltage and overvoltage conditions.
Functions of Low Voltage Relays
Low voltage relays serve multiple vital functions in electrical systems:
1. Switching and Control
Relays control the opening and closing of power circuits in response to low voltage signals from controllers, timers, or sensors. This enables remote and automated control of large electrical loads.
2. Protection
Relays detect abnormal conditions like overloads, overcurrent, under voltage, and phase failures. When such conditions arise, they disconnect the affected circuit to prevent equipment damage or fire hazards.
3. Isolation
They electrically isolate control circuits (usually low voltage, low current) from power circuits (high voltage, high current), ensuring safety and reducing interference.
4. Signal Amplification
A small control signal (from a PLC, sensor, or microcontroller) can trigger a relay to switch much larger loads, effectively amplifying the control power.
5. Automation and Sequencing
In complex systems, relays help sequence operations by ensuring that processes occur in the correct order and at the right time intervals.
Applications of Low Voltage Relays
Low voltage relays are the backbone of automation and protection in various industries. Here are some key application areas:
Industrial Automation
· Control of motors, pumps, conveyor belts, and production lines.
· Use in programmable logic controllers (PLCs) and distributed control systems (DCS).
Power Distribution Systems
· Protect electrical panels from overload and short circuits.
· Monitor voltage and current levels in distribution boards.
Building Automation
· Lighting control systems.
· HVAC (heating, ventilation, and air conditioning) systems.
· Elevator and escalator controls.
Renewable Energy Systems
· Manage and protect solar inverters, battery banks, and wind turbines.
· Automatically disconnect faulty sections to prevent system-wide failures.
Data Centers and IT Infrastructure
· Ensure stable power supply to servers and networking equipment.
· Protect sensitive electronics from voltage fluctuations.
Transportation
· Railways, metros, and automotive applications for control and safety circuits.
Home Appliances
· Found in washing machines, microwave ovens, and HVAC units to automate functions and provide protection.
Advantages of Using Low Voltage Relays
· Enhanced Safety: Isolate control and power circuits, reducing electrical shock risks.
· Automation Ready: Easily integrated into automated systems for smarter operation.
· Cost-Effective Protection: Safeguard expensive equipment from damage due to electrical faults.
· Versatile: Available in many forms to suit different voltage levels, currents, and response times.
· Reduced Maintenance: Especially with solid-state relays, which have no moving parts.
Future Trends: Smart Relays and IoT Integration
As industries move toward smart grids and Industry 4.0, low voltage relays are also evolving:
· Digital relays offer programmable settings, self-testing, and event recording.
· IoT-enabled relays can send status updates and alerts to centralized monitoring systems.
· Energy-efficient designs reduce power consumption while providing reliable protection.
Conclusion
Low voltage relays are indispensable in modern electrical engineering, seamlessly combining protection, control, and automation. From safeguarding your home appliances to managing the power in a sprawling industrial plant, these devices ensure that electrical systems run smoothly and safely.
Understanding the different types, functions, and applications of low voltage relays empowers system designers, engineers, and even DIY enthusiasts to build safer and more efficient electrical setups.
As technology advances, the role of these small but mighty devices will only grow, driving the future of safe, smart, and automated power systems.
9 notes
·
View notes
Text
On Bodging Silly Mistakes
After a few weeks of rest and working on non-homebrew-related projects since getting my 68030 stack running 8-user BASIC, I've circled back around to the project. My goal is to have it ready to exhibit for VCF Southwest 2025 in June.
The first thing to do when picking up an old project is to make sure it still works to begin with.
It did not.
The computer would start up, go through its boot process, and start the user programs. The supervisor terminal would accept and execute commands, but none of the user terminals would accept input.
I could tell the serial data was making it to the machine, because my 8-port serial card has indicator LEDs on the Transmit & Receive signals and they were working as expected. If I held down a key as the system booted, it would print that character a few times before stopping and then no longer accept any more data. So it really looked like the hardware was working. Nothing had changed in software so that wasn't likely to be the issue.
It reminded me of the problems I encountered with reading from disk when CPU cache was preventing the updated disk status bit from being read. The serial card supports asserting the CPU's Cache Inhibit signal, but perhaps that circuit wasn't functioning. There was no change with it connected or not. Time to break out the oscilloscope. The Cache Inhibit signal was always low — always asserted. Cache wasn't the problem because cache was effectively always disabled.
Out of ideas, it was time to break out the logic analyzer. The I/O Read & Write signals on the serial card were working as expected, and it was properly addressing the card & its individual ports. So next thing was to check was the actual data being read from the UARTs.
Letting the logic analyzer run and watching the data fly through, the problem finally made itself known — the UARTs were not setting bit 0 of the status byte to indicate that they had received data. The data was getting to the UART, it just wasn't acknowledged.
But why? And why did it work initially on restart and then stop? And why did it work without issue a few weeks ago? What is different?
What is different, indeed. I have made one change to the hardware since I last ran it — I added a proper watchdog/power-on-reset controller. If the power supply drops below 4.7 volts, it will reset the computer. The power supply I had been using was marginal and was getting caught by the watchdog, so I switched to a proper power PC supply.
So what's different since last time I ran the system is my reset circuit is more effective and the system voltage should be much more stable 5V.
And that's when I realized a mistake I made in the design for my 8-port serial card. The 68k reset signal is active-low and the 16C55x UART reset signal is active-high. I was trying to minimize part count, and didn't have an inverter for the reset signal, so I used what I had on hand — a buffer with an active-low enable signal.
Anyone well-versed in electronics may already see the problem.
When the CPU-RESET# signal is asserted (low), the buffer will set its output, IO-RESET to match its input, VCC (high). That's great, we get a high signal on the output whenever the CPU Reset signal is low.
Except ... what happens when the CPU Reset signal is not asserted? The buffer goes open-collector and doesn't pull the IO-RESET signal one way or the other; it's just left floating.
Floating signals are bad news for digital circuits. Their behavior is unpredictable and subject to environmental noise, power fluctuations, etc. For my IO-RESET signal to function properly, something needs to pull it low whenever the 74'125 buffer is not actively driving it high. A good-sized pull-down resistor should do the job just fine, so I dug through my stock and found a 3.65k surface-mount resistor and bodged it onto the back side of the board.

And sure enough, that fixed the problem!
It is possible that when I was running the system on that marginal power supply previously, the IO-RESET signal was able to stay just low enough to not trigger reset on the UARTs. Or it could have just been different environmental factors.
I'm glad I took the time to test the machine today, and I'm glad this bug came up. It's the kind of bug that could easily have come up when running in a new environment for the first time — such as on the show floor at VCFSW. Far better to run into a bug like this at home with access to all of the tools (and time) to figure it out.
Now that things are up and running again I can continue my testing and setup for VCFSW.
#homebrew computing#homebrew computer#vintage computing#motorola 68030#motorola 68k#mc68030#wrap030#vcfsw
16 notes
·
View notes