/diy/ DIY (come up with a better title) Old /ck/ Old /tek/ plus4chan home [baw] [co/cog/jam/mtv] [coc/draw/diy] [pco/coq/cod] [a/mspa/op/pkmn] [Burichan/Futaba/Greygren]
Posting mode: Reply
Subject   (reply to 10256)
Password  (for post and file deletion)

Currently 0 unique user posts.

  • 08/21/12 - Poll ended; /cod/ split off as a new board from /pco/.

File 134711681398.jpg - (13.46KB , 404x600 , code.jpg )
10256 No. 10256
Kinda.. pondering if this is a good idea or not. Keeping a log of what I'm reading and trying to put it into my own words. I have a few learning difficulties so it'll be displaying my ignorance on the subject, but I enjoy this book. Perhaps the silent masses who read the site and threads but don't comment might get something out of it. I dunno.
What I had in mind were a summary of the chapters as they're read, and a presentation and condensing of the information covered per chapter. As much review for myself as anything else, with the opportunity to correct or rephrase things incorrectly understood as I go along.
Expand all images
>> No. 10260
We begin with a primer from the author where they grumble about the earlier ventures of other writers on the subject, in their attempts to convey code and how computering works to the layman. He goes on to say how similes and metaphors are good literary devices in stories, but bankrupt of actual instruction or understanding when it comes to explaining technology. Citing the question, "What's the difference between memory and storage?" He goes on to the common answer usually being an analogy, "Memory is like the surface of your desk and storage is the filing cabinet." But that it's not sufficient. The real answer would be, "The difference is artificial, since we don't have a single storage medium that's fast, nonvolatile and large." That von Neumann architecture is a direct result of this deficiency.

Questions like, "Why can't I use my Mac program under Windows?" present more forking questions to bewilder the unprepared questioner, since it gets technical in ways the questioner may not be at a level to comprehend at the time. Being left with more questions than answers is just not a satisfying way to explain computers. He hopes for the book to get away from indirect analogies and present the raw facts in a processed and comprehensive way, to leave one with understanding on par with programmers and electrical engineers. Instruction that works, without flowery and indirect poetry getting in the way.

He explains computers are constructed in a hierarchy, from the most simple operations of code at the bottom to the text on our screen much higher. That they're all based on fairly simple things, and if you go back far enough, the technology and the underlying principles get simpler still. He goes back one hundred plus years of the history of computer science and communication. With history, it's possible to reach a point where the fundamentals become prime and simple, comprehensive. At least, he hopes. Without little illustrations of 1s and 0s getting on a bus.

>> No. 10261
File 134736807978.jpg - (35.29KB , 360x495 , morse-code.jpg )
The underlying reason to develop code is portrayed here as two children trying to communicate through their bedroom windows after curfew. They can't use conventional means to communicate, since they're supposed to be asleep. The most primitive way would be crude gestures and unrefined sign language, but you can't see that with the lights off at night, and you're a pair of dumbass children, so it's not like you know sign language. You could use a phone, except your responsible 90s-00 era parents would overhear you, and you don't have the option to text. I guess because it'd run up their bill by your god damned texting habit. Just go with it, the book were written in the year 2000. You don't have very sophisticated means of communication. So, you decide to be a hero and make one. You do have flashlights.
So.. what to do with them. Well, first you try and use the light to 'write' letters in the window for your friend to translate. This is taxing to your batteries, arms, it's inaccurate and takes a real fucking long time with mistranslation wasting whole hours to interpret simple sentences.
Okay, scrap that method. You and your friend collude the next day and decide instead of swoops and strokes, you'll try blinking lights corresponding to letters of the alphbet. This, also, is inefficient. 1 flick for A, 10 for J, etc. "How are you?" requires 131 blinks, and you have no fucking idea how punctuation works in light blinking. Turns out in your juvenile exploration, you've been trying to reinvent the wheel. Somebody already faced this problem, oh so long ago, and devised a simple way of conveying information over long distances years ago. It's called Morse Code. You now save lots of electricity, translation brain power and arm wavery by having a sophisticated and brief system to communicate with. There's a little art that goes into understanding the unique clicking speed of each user of the blinking code, as some clickers may be faster than others. So etiquette on how close the dots and dashes are with the pauses is important. It has to be consistent to be more intelligible.
This chapter isn't about morse code, though. It's about conveying the uses and purpose of devising codes. Codes are how we communicate. Languages are inherent codes you pick up as children. Glyphs that mean certain things previously agreed upon by society. Symbols. Efficient ways to convey information and explain what is on your mind, based on a shared rosetta stone of culture and language. Speech is a spoken code, sometimes arbitrary and sometimes with logical basis. Written code, we call text. Code with motion and movements is sign language. Code for the blind is braile. In Spain, there's a type of code where whistling reaches further than shouts due to the higher pitch, and like Disney birds, the pitch of the whistle mirrors the pronunciation of Spanish words. Codes are useful to fulfill niches that other codes can't; we can't communicate by brail over long distances, nor can we speak over very long ones. For every niche humans comprehend, a code. And it's likewise with our wonderful blinky boxes. Different codes for text, video, audio, and any combination thereof.

You may notice certain letters have more simple codes in Morse, while others have more complex codes. This is due to the convenience and repeated use of certain letters in words. Keep It Simple, Stupid. You may also notice a certain something of interest here; two. Dots, dashes. Dit, dah. The rich variety of things you can convey and communicate just by code that's one thing or another in pattern and succession.
>> No. 10263
Invented by Samuel Finley Breese Morse, Morse code goes hand in hand with the telegraph. We'll cover that later.
Many people find Morse Code easier to send than receive. One only needs to take a peek at the handy picture above to know why associating letters to dots and dashes alphabetically may not be the most efficient way to stack the definitions for each code. If you organized the table alphabetically, you'd be hunting down the specific corresponding letter unless you'd already memorized the whole thing. That's pretty hard to chew and swallow for newbies, and it's a little cruel. So. We have a problem. Right now, the problem is we have a table that does this: Alphabetical letter ----> Morse code dots/dashes.
But not this: Morse code dots/dashes ----> Alphabetical letter.

So, they reasoned perhaps it'd be more sensible to group the letters instead by the number of dots and dashes.
* = E
- = T

Combinations of exactly two dots and/or dashes gives us this:
** = I
-* = N
*- = A
- - = M

Patterns of three dots and/or dashes gives us S D U K R G W O.

Patterns of four dots and/or dashes gives us H B V X F C Ü Y L Z Ä Q P Ö J Ş.
Altogether, this gives us two plus four plus eight plus sixteen codes, for a total of 26 Roman alphabetical letters, and 4 remainders. Used here with some European accented letter gobblydygook.

This gives us the power to arrange the codes by the most simple, to the most complex. All dots on the left, all dashes on the right. And an interesting pattern emerges.
Number of dots and dashes______________Number of possible code combinations.

Each table has twice as many codes as the table preceding it.
1 = 2
2 = 2 X 2
3 = 2 X 2 X 2
4 = 2 X 2 X 2 X 2
And, why not. Lets use some exponents to save space but mean the same damned thing.
1 = 2
2 = 2²
3 = 2³
4 = 2⁴
(and so on)

This way, all possible combinations are used without repeating (do you really want two letters to share the same code?) and you don't have to make your codes unnecessarily long. Up to a power of two to the sixth, we have enough codes for all roman letters, numbers, punctuations, and even some remaining codes we can use for those wacky euro letters, complex mathematical symbols and even a symbol for the kitchen sink if we damned well please. But if we don't bother defining all the codes, those are left undefined. Until such point they get definition and recognition for such. 128 codes is more than enough for conversational morse. But, we can easily create more if we need them, and easily keep track of and understand them.
Continuing this line of thought, we can tell the number of codes from the number of dots and dashes.
1 = 2¹ = 2
2 = 2² = 4
3 = 2³ = 8
4 = 2⁴ = 16
5 = 2⁵ = 32
6 = 2⁶ = 64
7 = 2⁷ = 128
8 = 2⁸ = 256
9 = 2⁹ = 512
10 = 2¹⁰= 1024

We don't have to write out all the combinations to figure out how many we could possibly have. All we have to do is tack another multiplication or exponent on the end, and immediately create more placements. This little exercise shows us how binary code can be constructed and taken apart.
>> No. 10264
File 134754875217.jpg - (37.32KB , 337x309 , datasslifted.jpg )
>reading ahead a few chapters in preparation of summarizing them.
>dat hexadecimal what.
okay mathematicians are assholes. Gonna.. gonna take a while to compose my thoughts.
>> No. 10269
File 134771848344.jpg - (208.30KB , 548x575 , 1347268025535.jpg )

The most interesting thought I ever heard about code was that code should be taught before mathematics, because code allows you to solve mathematics. One of the more basic complex programs you'll learn in early comp sci courses is "Determining Prime Numbers under X upper limit". There's isn't a simple mathematical equation that does this. But you can get the code to do it much more easily.

IDK man this strikes me as general coding, not specific computer coding. Tis seems like it'd be nicer with a better grasp of the basics, but it still seems to lack in the material that I personally would like to see in more Comp Sci classes.
>> No. 10271
This seems more... pure code, as opposed to computer programming code
>> No. 10272
And it is. It starts off from the position where the person may know nothing. Fundamentals that move on to more involved things.
>no, haven't abandoned the thread. Still actually studying the material.
>> No. 10290
I put this in a text to speech app on my tablet and it said "underscore" for each _. It took forever then it crashed.
>> No. 10292
I feel terrible for laughing.

Also, finished the initial read of the book. Will resume breaking down the contents by chapter once I've a more complete comprehension of the things -in- each chapter. Please hold.
>♫ Elevator music goes here. ♪

Delete post []
Report post