Time and tide wait for no man. – English proverb
Full disclosure: If you click on the Amazon Prime add below and sign up for a free trial I will get a little advertising kickback.
When we lived in Guelph, Ontario we were close to Amazon logistics so Prime was not much faster. But now that I live in the boondocks of Prince Edward Island, the delivery speed is a bigger factor.
Besides faster shipping did you know that an Amazon Prime membership also gets you some other perks:
- Prime Video
- It’s like Netflix.
- You get access to thousands of popular movies and TV shows
- Free unlimited photo storage
- Amazon is one of the biggest players in the online storage space
- You get access to all your photos on any device with Amazon Drive
- Shop Lightening Deals
- You get access to Lightning Deals on Amazon.ca 30 minutes before other costomers
I have not actually purchased any of this stuff yet. Not interested myself till spring. But it’s all well reviewed on Amazon.ca.
If you’re default file manger search is not cutting it on your desktop you might want to try DocFether. It’s good for searching within the contents of files.
“We are about to study the idea of a computational process. Computational processes are abstract beings that inhabit computers. As they evolve, processes manipulate other abstract things called data. The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells.
A computational process is indeed much like a sorcerer’s idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer’s spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform.
A computational process, in a correctly working computer, executes programs precisely and accurately. Thus, like the sorcerer’s apprentice, novice programmers must learn to understand and to anticipate the consequences of their conjuring. Even small errors (usually called bugs or glitches) in programs can have complex and unanticipated consequences.”
― Harold Abelson, Structure and Interpretation of Computer Programs
How can we define computer science?
Shall we limit it to the standard textbook “study of algorithms” definition? What’s the difference between a programmer cranking out widgets and a computer scientist? Functionally, a professional programmer may need to focus on profitable algorithmic problem solving in electronic computers. But, a computer scientist may be drawn to tougher questions than, “Does it meet the customer’s specs?” or “Does it compile? …Ok, how about now?”
Algorithms and understanding electronic computers are prerequisites for a computer scientist. Like a composer needing to master musical notation and understand pianos before being able to be creative.
Ada Augusta Byron (1815-1852), considered the first computer programmer said,
“We may say most aptly that the Analytical Engine weaves algebraic patterns just as the Jacquard Loom weaves flowers and leaves.”
Before Von Neumann architecture, this suggests a theoretical emphasis not on the mechanics but in the potential of the mechanics as medium for autonomous execution of abstraction. Lovelace was not a programmer, but a computer scientist recognising ideal beauty in mathematics and flowers.
Donald Knuth, another pioneer suggested we change our traditional attitude to constructing programs.
Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
In his seminal /Literate Programming/ paper, Knuth suggested considering programs as “works of literature”. If a computer scientist applies a literate programming methodology, he functions as an essayist, primarily concerned with exposition and style. (Knuth, 1984)
Computer science evolved into an interdisciplinary study via distributed cognition, not limited to university departmental silos. With the rise of Artificial Intelligence and major players like Google and Elon Musk investing in human brain interfaces, we need to think outside the computer box in redefining computer science.
Or, at least I do if I want to make a living with computer science.
“In this new economy, three groups will have a particular advantage: those who can work well and creatively with intelligent machines, those who are the best at what they do, and those with access to capital.”
― Cal Newport, Deep Work: Rules for Focused Success in a Distracted World
Knuth, Donald E. (1984). “Literate Programming” (PDF). The Computer Journal. British Computer Society. 27 (2): 97–111. doi:10.1093/comjnl/27.2.97.