Friday, November 15, 2013

A Brief History on Computer Science | PART TWO: Attack of the Phones... internet service providers.


Stopping for a breath of air feels nice, doesn’t it? Too bad, harden up and learn (review?) something…

FORTRAN comes into play in 1957, and IBM is dominating the market, followed shortly by COBOL… and then after a blatant run on, in ’62 we see Stanford and Purdue establish some stuff. Departments…that ‘do stuff.’ What stuff? Computer Science!

The end. Okay then there’s this thing called the Internet. That’s relevant right? ARPANET came about in ’69, while Cray computers push the bar on processing speeds. Intel kicks in with small microprocessors; FTP is established; Alan Kay says hello from Stanford with his mouse and graphics (icons and more); Jobs and Wozniak build their Apple while Gates and Allen start Microsoft in 77. This brings us to modern day computing. 1977! No not because Microsoft had a party, rather, because I was born and ready to surf the web… which… okay never mind.

Sooo… in The eighties, we saw the PC’s come to be, Apple and IBM, as well as many computerized consoles, appliances, and later on laptops and smart devices. CD-ROMs became a great alternative to magnet-sensitive, and small file space diskettes. By the mid nineties, Programming became increasingly accessible and user-friendly. With dial-up internet, file sharing, and MUDS/MOOs, BBS’, and operating systems enabling accessibility and communication in an exponentially growing capacity.

I remember 800 baud modems. Logging in to Genie, Compuserve, or *cough* AOL. Everyone had much more patience then… or dealt with it as there was little alternative. Play by mail Dungeons and Dragons was still a thing. Well, it still is, but much less popular (the play by mail thing, not the game.)

I suppose I’ll leave this as a history lesson and not so much a current day lesson as I long-wind like some old man to his family on a cold night… We have science and computers, and computer science. We have fourth generation microprocessors with 32 and 64 bit operating systems running at many thousands of operations per second in tandem. It’s often healthy to take a step back and get some perspective on just how far we have come, in order to understand that we can always innovate. There is always more to learn, and in order to do that we study, experiment, and communicate. We are passionate, sleep deprived, perceptive, adaptive, and bright, Computer Scientists.

I cannot morally complete this post without mentioning some major things such as UNIX/Linux, C, ParcPlace and Java. I have some links to do some digging on these as they require appropriately long posts to discuss:

History of UNIX: K&R (CLICK ME!)

History of Linux: K&R (CLICK ME!)

History of C: K&R (CLICK ME!)

History of ParcPlace: K&R (CLICK ME!)

History of C: K&R (CLICK ME!)


A Brief History on Computer Science | PART ONE: Calcular Wars


I could herald past efforts and speak of the innovation involved in computers from the abacus to modern-day smartphones and laptops, but I won’t. Instead I’ll focus on things I find important to remember in reference to Computer Science, and modern day development. This does involve a lot of Mathematics and technology, so ignore my comment and bring on the abacus!

A bunch of smart people refined logic –people like Gottfried Leibnitz who paved the way to modeling logic in binary formats in the early 1700’s. A bit over one hundred years later Charles Babbage described the first computer ‘Analytical Engine’, and in 1854 George Boole created a structure of rules which used simple true-false statements into computational processes. Multi-threaded calculators become a reality; Ada Lovelace develops an algorithm, and predicts symbolic calculation will be possible in the future.

It blows my mind every time I think that less than two hundred years ago, we were just beginning to figure out how to design calculators, less, computers, and mobile devices. I’m old enough to have seen the rise of Apple and Microsoft, the browser and file sharing wars, and many of the developments impacting the languages and operating systems we use today.

Stuff happens and cybernetics and bugs are coined by magazine submissions and moths in Navy circuits, respectively. Important stuff, hey! How else would we get our Neuromancer and Electric Sheep? Next up, we go back in time to the nineteen-forties! Expanding on Konrad Zuse’s mechanical computers, John von Neumann, and his famous von Neumann Architecture is developed, featuring a reduced instruction set computing (RISC) architecture that uses 21 instructions to, “make it so.” These computers use memory, the ALU (arithmetic logic unit), and IPU (instruction processing unit) to work together and perform interpretation, assignment and manipulation of data using registers. This is a huge step, and led to computing as we know it. Memory got better, microprogramming (Wilkes) and compilers were built (Grace Murray Hooper), and transistors started being built smaller and smaller.

A Timeline of Computers (CLICK ME!)


Monday, November 11, 2013

File Sharing: Data For All

Some ways to transfer and store stuff for.. err... more great justice!


There are a lot of ways to store and stream, share and retrieve data these days. The diskettes and zip drive days are gone, as with the tape drives and punch cards before that. Moore's Law keeps us busy making smaller and more efficient storage for holding data. Fortunately, the data is also being handled better and faster. We've got huge RAM, thumb drives, massive cloud storage, Google Drive, DropBox, and fast solid state/SATA/HDD local storage! It's amazing!


More stuff to look into for the neophyte scientist, or casual browser... We've got the old web hosting via FTP (File Transfer Protocol,) REST API's sending formatted data to queries such as AJAX GET calls which asynchronously toss the data into tables, or create site elements or even pages from them. Drupal, SQL-based, mySql-based, UDBC/JDBC and other database frameworks similarly allow for back-end file-sharing beasts which efficiently store and format data, provide statistical analysis, or secure secret digits for secure and speedy handshakes. There are also Java Servelets, JSON stringified objects, BLOBS and a great deal of other entities that make our life easier in the background of our comfortable, intuitive UI's. Everyone shares files, so it's good to take a step back and look at the system to understand just how easy we have it!

Bonus! More Snazz on File Sharing.(CLICK ME!)