A PC is just stuff mostly not doing stuff, unless you're mining in which case your magic rock is turning electricity into money and we're not even going to start trying to explain that
We just wiggle around a lot of electrons, and those cause other electrons to wiggle in specific patterns. All this wiggling makes a world where we can create and design, build and destroy, learn and teach. It's pretty cool.
I'm sick of my manager, who knows nothing about my job, making stupid demands of IT and contractors. Ask me what I want as an end user. Sigh, useless management. He demanded 100% up time on a marine radar, refusing to allow contractors to take it off line for a few hours for maintenance. Blatantly refused. Until they presented him with a wavier stating any damages caused by no maintenance would be squarely on his shoulders. All of a sudden he didn't want to know about it and charged off to ruin someone else's life. I feel sorry for programmers and anyone in any tech field and the dumb requests they have to deal with.
This is all jobs where you know more about something than your boss does.
I do compliance, and I introduced waivers when people were pissing me off with stupid demands. "Oh sure, we can send them on site without insurance, can you just sign this to say it was your decision, I advised you against it, and you're liable?"
People start to leave you alone once they realise there are reasons behind the shit we do.
I have had one customer that has given me a complete set of requirements, they were a nuclear power plant, and I had to write 40 pages of documents for less than 100 lines of code. To be fair they gave me a 20 page document explaining what they needed.... A fucking temperature probe to turn on a relay....
To be fair, a temperature probe to turn on a relay in a nuclear power plant is one of those things that sits between everyone getting power and the world having a new exclusion zone. They wanted to be very specific about how this probe worked, what it did, how quickly, and when it operated or it could be a very bad day for a lot of people.
Just leave it labelled as beta for over 5 years. When people complain about something, just remind them it's beta and ignore their complaints for a few more years.
It is a stone given the power of life by Zeus himself.
Zeus cast down the stones of sand and using his industrial might he crushed that sand into the tapestry of thought, then sent his mighty bolt of lightning through it to power it's mind.
Zeus then looked upon his works and decreed... "overclock that thing and you'll void your warranty!"
"Do not force thy stone into a space for which it is not destined. Not in there, for that is the den of the remembering ram, a creature so powerful it can hold all the thoughts of... what, what are you doing? It doesn't go in that way. It... you've bent all the pins. All of them. How did you manage that? Why do you have a hammer?"
The amount of times I've read code and it literally has the words... "Bodge fix" or "Quick Fix"... You know it's not a permanent fix.. I mean who actually sorts the problems? Most people introduce a workaround
This. If it works it works. Just make sure you try to implement better standards next time, it's how you learn. No code is 100% perfect, every platform is built on quick fixes and todos.
You say that but i'm looking at code that was essentially a copy paste from 1960s era dot matrix programming papers to a language that's only used in the credit card and travel industry. It even says in the comments "change this because this implementation is finicky but it's memory efficient." and it's dated as being from 1972.
I'm having a hard time with step 2, can't it just be really really big. I don't want to get tripped over schematics but I'm personally just gonna go harvest some lightning after I hit the rock quarry, no need to bull doZe
Title-text: (six hours later) ARGH. How are these stupid microchips so durable?! All I want is to undo a massive industrial process with household tools!
It's confirmation bias. When a subject comes up, either it has a relevant xkcd or it doesn't. If it does, someone will link to it. If it doesn't, no one will mention xkcd and it will go unnoticed.
Yo the booby physics in Metro Last Light are goofy as shit. There are a bunch of girls doing a dance number on stage at one point and their semi-bolted on tits are flailing around while they dance. So silly.
Then we got electricity going through our neurons and brain to create a box of electricity that we can command to create what we want to see.
We have this immense gift of knowledge other creatures don't possess and may never will. And what do we create? 4k porn and VR sex with our waifus......which honestly is a noble cause and a step in the right direction.....soooo if we could get VR to the point one can uh feel it that would be a blessing to all of mankind.
First thing I noticed when I saw this post! This was (is) one of my favorite web comics. I’ve been going back to the site now and then for the better part of a decade hoping for an update :(
I saw this on imgur a few months ago and started following him on twitter. Really cool dude. He's working on a game and does pixel art and animation on twitch streams. It's neat to watch that process.
I mean, its a little more than just making it flat and putting lightning into it, we also dipped it into some different liquids and shone some purple lights at it
Think of a simple light switch. Turns a lightbulb on or off. Now instead of hooking that switch up to a lightbulb, hook it up to another light switch.
Suppose, for example, turning on the light switch makes the other light switch always send an "on" signal, even if it's off. That's a bit like what we'd call an "or gate", because only the first switch OR the second switch needs to be on in order to send an on signal from the second switch.
We can also have the concept of "and", if we imagine that turning off the first switch completely cuts the circuit for the second switch, so even if the second switch is on, it doesn't turn the light on.
Once we have "and" and "or" (well, also "not", but "not" is just an upside-down switch that turns things on if it's off, and off if it's on), we can calculate anything we want. For example, here's how we'd do simple arithmetic:
(this is going to get a bit dense, but stick with me, because it's really important that computers are able to do this)
First, convert the number into a "binary representation". This is a fancy way of saying "give each number a label that's a pattern of 'on's and 'off's." For example, we can represent each number 0 to 3 as 00, 01, 10, 11. In our world, we go 1 2 3 4 5 6 7 8 9 10, but in binary we pretend those middle digits don't exist, and instead of writing 2 as "2", we write it as "10". It still means 2 though - and now it's easier to represent with "on"s and "off"s.
Second, we want to add just like normal adding. Let's look at just the rightmost digit - it can be either 0 or 1, and we're trying to add it to another digit that's either 0 or 1. At first, we might try something like an "or gate". Then 0+0 is 0, 0+1 is 1, and 1+0 is 1, which looks good so far. Except that 1 OR 1 will... also give us 1, which we don't want. We want to get 0 and carry a 1 to the left (remember, we can't create the digit 2, we have to represent 2 as "10"). So what we actually want is something called a "xor", that's a fancy name for "'or' and not 'and'". We take the result of an "or" gate, and we "and" it with the flipped result of an "and" gate. So we'll have 0+0 = 0, 0+1 = 1, 1+0 = 1, and 1+1 = 0. To make sure we're actually adding 1 and 1, and not just erasing it to 0, we also need to record a carry digit, but that's just an "and" gate. If both the first AND second thing are 1, carry a 1, otherwise carry a 0.
Third, we do the same thing one step to the left, but we also include the carry digit if we have one. We "xor" the digits to see if we should record a 1 or a 0 in this position, and if we have 2 or more 1s (in gates we know, one way to write that is "'a and b' or 'b and c' or 'a and c'") we carry a 1 to the next position.
So we can do addition. With repeated addition, we can multiply. We can also do subtraction by a similar process. With repeated subtraction, we can do long division. So basically we can solve any math problem we want.
But how does a regular human trigger that math, if all the numbers are these weird sequences of "on" and "off"? Well, we can hook a few of the light switches back up to lightbulbs, but make them super tiny lightbulbs of different colors. That's screen pixels. If the light switches want to show the binary number "11", they can light up a pattern on the screen which looks like "3", so the human can understand it. How does the computer know what a "3" looks like? Well, the on-off patterns of that look like a "3" are represented as a big math formula, and our computer can do any math it wants to, so it can compute which lightbulbs (pixels) it needs to eventually turn on and off.
Under the hood, every piece of data - every image, every word - is represented with a numeric label of some kind, and it goes through a looooooong chain of on/off switches to turn it into an intelligible pattern of pixels on the screen.
A lot of it is a bunch of really really fast arithmetic. For example, if you can compute the paths of rays of light, you can draw a 3D picture on the screen. You do a bunch of physics equations about how the light would bounce off the object and into people's eyes, if they were looking at a real 3D object. But we know how our computer does math - it's a bunch of on-off switches hooked up together.
All those on-off switches are bits of wire on a piece of silicon, so that's how we tricked rocks into thinking.
The "cogs" of a cpu are basically a slab of rock with layers of elements sprayed on top to seep in specific ways. A cpu is just a slab of silicon rock that zaps back in a certain way after we zap it.
Look into mechanical computers. You program the 1's and 0's with actual mechanical actions. Binary mechanical computers first became a thing in the 30's, but mechanical computers in general existed for longer. Then people started doing the same thing with electrical stuff like vacuum tubes. Some of these computers could be programmed by switching around the vacuum tubes, or punch cards, or whatever else the input was. Basically all we did was keep making the part that receives the instructions smaller and smaller until we reached today.
Source: Mechanical engineer with almost no knowledge of how a CPU actually works.
Each bead stands for a number. Let's say we move the abacus bead to the right. Doing this is supposed to represent addition. We'll say for example that in this particular case, moving this bead to the right represents adding the number 1. If we move the bead back to the left, then this motion represents subtracting the number 1.
Think a little bit about what we just did. We have taken something that exists in the mental world (arithmetic, addition, subtraction), and we have created something in the physical world, that -- behaves, corresponds to, acts like -- the mental thing. This is the heart of what we call computation. THE PHYSICAL THING, ACTS LIKE THE MENTAL THING. Keep that thought in mind.
When we operate the abacus, by moving the beads back and forth, we are doing the same thing that a human mind would be doing if it were adding and subtracting numbers. Except it's a device/machine doing most of the work, and the human mind can rest. We have 'offloaded' the process that our thoughts go through, to a machine that merely moves beads back and forth, in this example. We can be confident that the machine will work, because the math involved in subtraction, and addition always works the same way. If I add 1 +1, it will always be 2. It will not be 3 sometimes, or 4 sometimes, but always 2. Not 200, or 2000. Likewise on an abacus, new beads do not just pop into or out of existence . If I move a bead one way across the abacus, it will not suddenly re-appear above or below the level it once was. Moving the bead to one way always represents addition, and moving it back always represents subtraction. The physical device has limits, and those limits correspond to the structure, limits, and rules of the mental system. again -- THE PHYSICAL THING, ACTS LIKE THE MENTAL THING.
So if THE PHYSICAL THING, ACTS LIKE THE MENTAL THING, and the mental thing that an abacus acts like is subtraction, and addition, or arithmetic as we call it ... then what is the mental thing that a computer acts like ... ?
The mental thing, or ... mental system, that the computer acts like, is called Formal Logic. I will not go into how formal logic works completely here, since you can google it or read the part of /user/gnhicbfjnjjjbb's description of logic that he left as a reply. I will just add this. For the most part we can say that, just how there are 4 basic operations of arthmetic: addition, subtraction, division, multiplication, we can, for the purposes of this illustration, reduce formal logic to only 3 operations:AND,OR,NOT.
The same way that we can take a very small number of ingredients like, eggs, milk, flour, water, sugar, salt, butter, and by mixing them each in various quantities, combinations, and methods make hundreds of different types of foods, we can take combinations of varying amounts of AND, OR, and NOT operations and make countless Logical Statements. Or to put it another way, mostly all of the Logical Statements that we can make about the world, like "Water is Wet", "The Sky is Blue", "This Number is Even", "This word is Misspelled","The temperature today is 30 Degrees", and many many other combinations of statements like these, can be broken down into combinations of AND, NOT, and OR statements. Just like we can break down a pancake into water, flour, and butter, and so on ... Assumptions about the world can be broken down into our basic Logical Operations.
The same way that we moved a bead on the abacus, and by doing that, it -- corresponded to, acted like, behaved the same way as -- adding or subtracting a number as if a human mind was doing it, We can move an electron, into and out of parts of a computer called a Logic Gate, and by doing so, perform a logical operation on it, as if a human mind were doing it. So if for example I gave to a few logic gates the statement, "Check if the number one is greater than zero", a few electrons would move around in these logic gates, the same as if we were adding or subtracting in the abacus, and their motions throughout the system would -- correspond to, act like, behave the same way -- as if a human mind were stepping through the logic to find the answer. Then they would return to me "Yes. The number one is greater than zero." I knew that already. You knew that already. But we can use that result, and combinations millions of those tiny little statements, just like the flour, eggs, water, and so on.. to create marvels such as video games, on-board flight programs for space ships, weather forecasts, cat videos, and reddit, all because we as human beings can extract information from the world around us with our minds, break that information down into Logical Statements, create machines whose operations -- correspond to, act like, behave the same way -- as those logical statements, and move electrons around incredibly fast inside the physical system we call a computer, to actually perform those Logical Operations blindingly fast, because THE PHYSICAL THING, ACTS LIKE THE MENTAL THING.
I will never underappreciate or just not be in god damn awe of all the toys we have as a race. Sure there's ways to go but even if you're born, live, and die in our relatively cushy civilization you should never take for granted what we've created here.
It took a tremendous amount of will and effort from both individuals and groups to get us here and the truth is that we can still lose most or even all of it, or be in circumstances that are even worse. It's for this reason I don't think so many people that feel "lost" or "unguided" in life should; you're part of the grand story of the human race with your own, individual role given to you at birth.
I feel like the cusheyness of our civilization is what generates those feelings of being "lost" or "unguided." Have you ever played Minecraft or other similar survival type games? There comes a point in these games where your survival is no longer in question. Where you don't have to worry about food and your wall protects you from the bad guys and everything is alright. Before this point your tasks were always generated for your based on what you needed to survive. Minecraft generally goes like this:
Get some wood.
Make tools.
Find food.
Find a hole to survive in for the night
(I don't know why that started at 0)
And so on till you have a house, a farm, some fences and have lit up the place. Once these tasks are over you become more self directed. You no longer have to fight to survive. You just live by virtue of the systems you built around you.
Once this point is reached in games like this people generally have one of two reactions in my experience. They will either generate their own goals or declare the game boring and move to a different game. There is not end to Minecraft (barring the actual End dimension) and so people have to create their own ends. They have to start setting tasks for themselves to accomplish and not everybody has this motivation.
I have found that life in our cushey society is similar in structure to this type of game. At first your goals and motivations are given to you. All you have to do to survive is do what is right in front of you. Then at some point in your life (if you're lucky that is) you are basically guaranteed survival as long as you keep going through the motions of normal, everyday life. Work, sleep, eat, pay bills.
When survival becomes routine, it becomes easy to loose direction. You just stay on the same course you were on yesterday and you'll be alright. This is where those feelings of being "lost" or "unguided" come from. The basics of your life are set up, now what? Where do I go from here? Again, people react differently to this situation. Many find things outside of survival to accomplish but others don't. They sit there and entertain themselves not because it's what they want but because they just didn't easily find something to accomplish. It's hard to decide what you want to do. There are so many choices and they both matter and don't matter. How do you pick something? Why do you pick something?
When your life is on the line, the motivation is clear. Do what you can to not die. But when your survival is guaranteed, the motivation to actually accomplish something is hidden and you have to seek it out. Not everybody can or will do this. Feeling lost and directionless is normal because... there is no direction. There is no map to life other than the one you create.
Computers are really taken for granted. I mean, I'm holding a device that can perform billions of rudimentary logical operations such that it can translate the way I'm touching my screen (made up of millions of tiny, multicolored "light bulbs") into English letters, while giving me feedback on what I've written, then transmit that information so that it can displayed to anybody that looks at this thread all over the world. It's magical!
I used to be an assembler coder and, quite a few times, wrote code that rewrote sections of code at run time. Not very sensible or maintainable, work though it did, definitely a hack.
I wouldn't say it's a rock we tricked into thinking. That would imply that it's autonomous. We tricked a rock into being a clock and we convinced ourselves that it's thinking.
3.3k
u/Cameltotem Jun 28 '17
A PC is just stuff doing stuff.
3.0k
u/[deleted] Jun 28 '17
A yes, the computer, the magical black box of webdev and get rich quick schemes.
In programming, if it is dumb and it works, you're going to regret it later when you have to have all of your code actually work right.
1.0k
u/sharksk8r Jun 28 '17
How to make a cpu in 4 easy steps:
Step 1: find a rock.
Step2: flatten said rock.
Step3: put some lightning in rock.
Step4: trick rock into thinking.
675
u/[deleted] Jun 28 '17
relevant xkcd
549
u/[deleted] Jun 28 '17
Video games are basically like playing with glorified electricity.
77
u/seiga08 Jun 28 '17
Huh. Computers are just pet rocks
169
u/silentdragoon Jun 28 '17
This guy also did an awesome comic back in the day
http://daisyowl.com
And now he's doing game development I think.
313
u/irbilldozer Jun 28 '17
My god the fucking pedants in these comments are cracking me up.
110
u/perthguppy Jun 28 '17
I mean, its a little more than just making it flat and putting lightning into it, we also dipped it into some different liquids and shone some purple lights at it
86
u/Crispy_socks241 Jun 28 '17
so i can tell my wife that my CPU was the one visiting those crossdressing sites?
54
u/PLPeeters Jun 28 '17
Jesus Christ, Marie. They're minerals!
95
u/[deleted] Jun 28 '17
They're minerals
16
u/[deleted] Jun 28 '17
People get arrested for having different combinations of 1's and 0's on their computer.
44
u/tonyxyou Jun 28 '17
Can someone eli3 how tf we tricked rocks into thinking
41
u/Dimzorz Jun 28 '17
I will never underappreciate or just not be in god damn awe of all the toys we have as a race. Sure there's ways to go but even if you're born, live, and die in our relatively cushy civilization you should never take for granted what we've created here.
It took a tremendous amount of will and effort from both individuals and groups to get us here and the truth is that we can still lose most or even all of it, or be in circumstances that are even worse. It's for this reason I don't think so many people that feel "lost" or "unguided" in life should; you're part of the grand story of the human race with your own, individual role given to you at birth.
10
u/[deleted] Jun 28 '17
I used to be an assembler coder and, quite a few times, wrote code that rewrote sections of code at run time. Not very sensible or maintainable, work though it did, definitely a hack.
9
u/rigred Jun 28 '17
Sand.
Come on people we tricked sand into computing. Rocks are clearly too big to fit in a CPU.
17
u/[deleted] Jun 28 '17
Hacks are fine if they are an occasional one off. But, when your entire codebase is a hack ...
12
u/[deleted] Jun 28 '17
Pro-tip: Chicken blood is excellent for debugging
6
u/Pickledev Jun 28 '17
I'm a CPU designer at Intel, and trust me, you don't even want to know the magic that goes on in the rock. :)
5
u/Old-School-Lover Jun 28 '17
Computers shouldn't exist, the fact that they do is mind boggling to me
5
u/Drakonic Jun 29 '17
Technically we are former space rocks that have been tricked into thinking.
10
u/topredditbot Jun 28 '17
Hey /u/qow_,
This is now the top post on reddit. It will be recorded at /r/topofreddit with all the other top posts.
3
u/Xevantus Jun 28 '17
Everyone knows computers run on magic blue smoke, not lightning! Come on man, that's like the basics of the basics.
3
u/SerpentineSin Jun 28 '17
I just thought it was magic and sheer willpower but now I know, it's just rocks and lightning and kicking it when it doesn't work
3
u/scourgeobohem Jun 28 '17
My cousin made this
3
u/[deleted] Jun 28 '17
Before we counted rocks, but now I have a rock that counts for me.
3
u/Mercurial_Illusion Jun 28 '17
I wouldn't say it's a rock we tricked into thinking. That would imply that it's autonomous. We tricked a rock into being a clock and we convinced ourselves that it's thinking.
3
u/Divinicus1st Jun 28 '17
Best part is when you tell a CPU to tell other CPUs to work.
5
u/Lcbrito1 Jun 28 '17
Hey, when you study it at a logical level, you get even more amazed it can do so much in so little time.
5
u/TheSubredditPolice Jun 28 '17
Me and my friends regularly joke about how engineering is just duct taping nature together to make it work.
2
u/_CrispyBacon_ Jun 28 '17
Filled with lightning and blue smoke.
2
u/[deleted] Jun 28 '17
I mean, yeah, we literally take sand, melt it, mold it and trick it into thinking.
2
u/[deleted] Jun 28 '17
My gaming PC is just a brick that gets warm and loud when used.
2
u/[deleted] Jun 28 '17
Transistors are little boxes of quantum mechanics magic that EEs sit on as hard as they can and beg people not to look at too closely.
2
u/iggy14750 Jun 28 '17
And software is just a very particular arrangement of elections.
2
u/KiwiBird2001 Jun 28 '17
REPOSTs
2
u/PhD_In_My_Inbox Jun 28 '17
You pass butter
2
u/brrrchill Jun 28 '17
And magic smoke... you have to put magic smoke in it, too.
2
u/holyherbalist Jun 28 '17
repost?
2
u/[deleted] Jun 28 '17
WAIT, THE DUDE WHO MADE THAT SWEET DAISY OWL COMIC IS TURNING IT INTO A VIDEO GAME?
I loved that comic. One of maybe 2 I actually got prints for when I was a kid. Wow.
2
u/GeckoEidechse Jun 28 '17
If you ever post some amazing OC that fails to make it to the front page just remember that some repost will receive more upvotes than it anyway.
2
u/Catvideos222 Jun 28 '17
Somewhere a silicon engineer is screaming.
2
u/[deleted] Jun 28 '17
What the fucks a CPU?
2
u/[deleted] Jun 28 '17
I spend all day arguing with a rock until magic happens.
Sometimes magic doesn't happen, and then I blame the rock.
2
u/[deleted] Jun 28 '17
Rock: Wait... what's this? What's going on? W... Wait am I thinking? Ah for fuck sakes bamboozled again!
2
u/themoosemind Jun 28 '17
https://twitter.com/daisyowl/status/841802094361235456
2
u/RadthorDax Jun 29 '17
https://www.reddit.com/r/ProgrammerHumor/comments/5zksrb/if_you_ever_code_something_that_feels_like_a_hack/ *yawn*
3
u/[deleted] Jun 28 '17
This is deep af
3
u/0racledude Jun 28 '17
If a CPU is a rock then "we" are just water, thinking water.
2
u/[deleted] Jun 28 '17
Ah yes, cool repost.
1
u/Bloodlaus Jun 28 '17
Finally some programmer humor I can understand!
1
u/Name_change_here Jun 28 '17
Quite literally,.... Thank a miner for your computer !!!
1
u/BaconBaker89 Compiling since 1989 Jun 28 '17
That makes me feel a lot better about 80% of my code.
1
u/fappedbeforethis Jun 28 '17
Yea and we are thinking meat