Or listen to C Programming for Beginners | Full Course - about 6 hours - YT
Is the C programming language still worth learning? - Jacob Sorber - YT - 🫶
Keynote: Linus Torvalds, Creator of Linux & Git, in Conversation with Dirk Hohndel - The Linux Foundation - YT - 🫶
First Notes
Preface
Rust
The Rust Programming Language
GO
Lisp
GTK
Graphics
Difference between C and C++
CGP
Raspberri Pi
Notes
Links
♡ Listen to The Tallis Scholars, Amsterdam 01 May 2016: Arvo Pärt, Tallis, Allegri, Lotti, Sheppard, Mouton ♡♡♡ ♡ ♡♡♡
by Feroniba Ramin Hassani - GitHub -
Twitter - started on
C 26.6.2016 in London, UK
Best C Books of All Time - Extreme C - #9! ♥♡♥ -
Amazon $31.19 - Push the limits of what C - and you - can do, with this high-intensity guide to the most advanced capabilities of C!
♡ Listen to Arvo Pärt - «Virgencita» / THE TALLIS SCHOLARS (Live) ♡♡♡ ♡ ♡♡♡
... coming soon :-))
♡ Is C the best language ever? - quora.com
Understanding the For Loop (examples in C) - Jacob Sorber - YT - ♡♡♡ ♡ ♡♡♡
♡ Listen to somafm.com ♡♡♡ ♡ ♡♡♡
• Getting started with ... Rust - stackoverflow.blog
• Is the C programming language still worth learning? - 6:00 Rust - Jacob Sorber - YT
• Zig or Rust - 5/2023 - reddit.com •
Zig And Rust - 26.3.2023 - matklad.github.io •
ziglang.org
• Rust - YT Channel
• History of programming languages - WP
• rust-lang.org • Install Rust on Ubuntu
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Why and how to use Rust on Ubuntu - ubuntu.com
//> before: sudo apt install curl
rustup toolchain install stable
rustc --version
//> rustup 1.26.0 (5af9b9484 2023-04-05)
//> info: This is the version for the rustup toolchain manager, not the rustc compiler.
//> info: The currently active `rustc` version is `rustc 1.76.0 (07dca489a 2024-02-04)`
rustup update stable
//> info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
//> info: checking for self-update
//> stable-x86_64-unknown-linux-gnu unchanged - rustc 1.76.0 (07dca489a 2024-02-04)
//> info: cleaning up downloads & tmp directories
cargo new hello-world
How to Fix Rust Error Linker CC Not Found on Linux - trendoceans.com
cd hello-world
cargo run
A half-hour to learn Rust - fasterthanli.me
♡ Listen to somafm.com ♡♡♡ ♡ ♡♡♡
First Links
• The Rust Programming Language - doc.rust-lang.org
• Best Programming Language for AI Development in 2024 - hackr.io
• Rust for Artificial Intelligence: A Basic Guide - Rust's unique approach to memory management makes it a promising language for AI, Machine Learning (ML), and Data Science - reintech.io
• Rust vs Python: Which Programming Language Leads in 2024? - simplilearn.com
• Rust for the impatient - duration 10:42 - No Boilerplate - YT
• Why is Rust so different? - duration 12:37 - No Boilerplate - YT - 6:36 Rust Data Modelling WITHOUT CLASSES, YT - 5:25
• quadratichq.com - Infinite spreadsheet with Python, SQL, and AI. - 8:00
• doc.rust-lang.org/rust-by-example/scope/move.html - ... - 11:35 Because of Rust's low level control & high level ergonomics, Rust is a universal language, built on real math and real hardware confirms -> with one language you can do what previously you'd have to learn multiple languages to do - you don't have to learn C to write robotics firmware or linux kernel drivers, or learn JavaScript (JS) to write interactive web apps - or learn the latest hot HTML preprocessors ... - Rust can do it all, and there is so much more for Rust to discover
• Linus Torvalds Speaks: Rust's Impact on the Linux Kernel - duration 3:49 - YT
• Rust Is Easy - duration 8:85 - No Boilerplate - YT ---
• Mad Like You - NAMTAO (Cover of John Callaghan's mashup of Tears For Fears & The Dandy Warhols) - duration 3:05 - Tristram Oaten - YT
• rustlings online
Learn Rust
• How to Learn Rust - duration 10:35 - 5:00 install rustlings - repeat exercises like sports or musical training - 6:00 Haskell - and Python - In Rust simple things are possible, and complex things are easy - 8:20 Rust learn things once, JavaScript always have to learn more and more - Lifetime annotations --- No Boilerplate - YT -->
To install Git, run the following command:
sudo apt-get install git-all
Once the command output has completed, you can verify the installation by typing:
git version
Now install rustlings:
curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash
When installation is finished, showing "All done!", run:
rustlings
• The Rust Programming Language - doc.rust-lang.org --> We use here only the rust-book.cs.brown.edu version -->
• The Rust Programming Language - rust-book.cs.brown.edu
• RustConf 2023 - The Art and Science of Teaching Rust - duration 28:00 - Rust - YT -->
ch2 - Programming a Guessing Game
... done :-) ...
3. Common Programming Concepts - about variables, basic types, functions, comments, and control flow
More Links
• The Rust Standard Library - doc.rust-lang.org/std/index.html
• Go (programming language) - WP -
go.dev
create file helloworld.go
package main
create a new folder "helloworld" - save file helloworld.go in this folder - via terminal move to this folder: cd helloworld - compile with
import "fmt"
func main() {
fmt.Println("hello, world")
}go mod init example/helloworld
run with
//> go: creating new go.mod: module example/helloworldgo run .
//> hello, world
or create executable
go build -o helloworld helloworld.go
file helloworld is created into your folder - run with
go run ./helloworld
//> hello, world
More: Top 5 online resources to learn Go from scratch in 2020 - golang.cafe -
Effective Go - go.dev
• What's the best way to learn LISP? - stackoverflow.com -
Lisp (programming language) - WP -
John McCarthy (1927-2011): Artificial Intelligence (complete) - Thinking Allowed -Jeffrey Mishlove - YT
• Practical Common Lisp - gigamonkeys.com
• What's the best way to learn LISP? - geeksforgeeks.org
sudo apt-get -y install sbcl
• Atom editor: install atom-slime language-lisp lisp-paredit - read for more: Practical Common Lisp - gigamonkeys.com
sudo apt-get -y install curl
curl -o /tmp/ql.lisp http://beta.quicklisp.org/quicklisp.lisp
sbcl --no-sysinit --no-userinit --load /tmp/ql.lisp \
--eval '(quicklisp-quickstart:install :path "~/.quicklisp")' \
--eval '(ql:add-to-init-file)' \
--quit
sbcl ; ("sbcl" starts Common Lisp - ";" starts a comment until end of line)
* (print "hello, world from Lisp") ; "*" is the asterisk-symbol showing that Lisp is running on terminal, waiting for your code input --- output: hello, world from Lisp
(exit) ; quits Common Lisp
• How To Open ePub Books In Ubuntu Linux - itsfoss.com
sudo apt-get install fbreader
• Common Lisp Documentation - The Common Lisp HyperSpec - lispworks.com
• How hard is it to learn LISP? - quora.com - - "You can easily learn LISP in one day, sufficient to implement simple applications." James McDonald, former Founder at Lucid, Inc. - "Yes, Lisp is about the most easy programming language. The syntax is very simple as the usage to define new functions. The only difficult thing is to keep parenthesis in balance and right places." (Pekka Järveläinen)
• Practical Common Lisp - gigamonkeys.com
LISt Processing - ...
• 54 Best Lisp Books of All Time - bookauthority.org
• Which book is the best for learn Common Lisp? - reddit.com
• Land of Lisp - github.com -
clisp.org - p18 install:
sudo apt-get install clisp
p19 - REPL (read-eval-print loop) -
[1]> (+ 3 (* 2 4))
11
p21 - ch2 - Creating your first Lisp program - Guess-My-Number Game - guess number betw. 1-100 -
p22 - need write 3 functions: guess-my-number, smaller, and bigger - player calls functions from REPL - starting CLISP (or any other Lisp), you are presented with REPL, from which the commands you type will be read, then evaluated, and finally printed - in this case, we’re running the commands guess-my-number, smaller, and bigger - to call a function in Lisp, you put parentheses around it, along with any parameters you wish to give the function - since these particular functions
don’t require any parameters, we simply surround their names in parentheses when we enter them - let’s think about the strategy behind this simple game - after a little thought, we come up with the following steps:
1.Determine the upper and lower (big and small) limit of the player’s number - since the range is between 1 and 100, the smallest possible number would be 1 and the biggest would be 100
2.Guess a number in between these two numbers
3.If the player says the number is smaller, lower the big limit
4.If the player says the number is bigger, raise the small limit
= binary search - defparameter (can be changed), defvar (can't)
> (defparameter *foo* 5)
this book only defparameter - dynamic variable or special variable later - spaces and line breaks are completely ignored by Lisp:
FOO
> *foo*
5
> (defparameter *foo* 6)
FOO
> *foo*
6
> (defvar *foo* 5)
FOO
> *foo*
5( defparameter
p25 - this book not so much interested in indentation rules ... -
*small* 1)
*SMALL*[1]> (load "example.lisp")
...
p114 - graphviz.org - creates graph.dot.png ... p116 - ...
p303 - ch15 - DICE OF DOOM, A GAME WRITTEN IN THE FUNCTIONAL STYLE -
dicewars - gamedesign.jp
... - ch20 - Epilogue - p463 end of chapters - INDEX ... p482 - Ads - p488 end of book
by Guy L. Steele Jr. - c 1984, 1989 - 30ch 1095p + Bibliography + Index p1131 end of book
by Paul Graham - 17ch 286p + Appendix A-D + Notes + Index p433 end of book
• haskell.org -
WP
wiki.ubuntuusers.de - before installong Haskell install:
System requirements
Resolve generated breaks, this may be caused by held packages
Please ensure the following distro packages are installed before continuing (you can exit ghcup and return at any time):
build-essential curl libffi-dev libffi8ubuntu1 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
Haskell in 5 steps - wiki.haskell.org
ghci -- start
quit: ctrl D
-- comment
main = putStrLn "hello, world from FO .hs :-)" -- helloworld.hs
ghc -o helloworld helloworld.hs -- compile
./helloworld -- run
--> hello, world from FO .hs :-) -- output
• scratch.mit.edu -
WP
https://scratch.mit.edu
• gtk.org -
WP
getting started - docs.gtk.org
Install GTK4 Linux - docs.gtk.org
LEARNING gtk3 - PDF - riptutorial.com
How to create GUI in C programming using GTK Toolkit - geeksforgeeks.org
GTK3 Drawing Area - docs.gtk.org
• liquid.html - terasof.com
• Graphics Programming in Linux - opensourceforu.com - first used Turbo C and graphics.c - got stuck with its limited graphics functionality and maximum resolution - teacher introduced OpenGL - rich graphics experience and platform independence - contacted the LFY editorial team members for platform to share about OpenGL - OpenGL (Open-source Graphics Library) has 3 major library header files:
gl.h, glu.h and glut.h - create basic.c and basic2.c (red window) - ...
• A Beginner’s Guide to Setup OpenGL in Linux (Debian)
- medium.com - instruction to setup OpenGL in Ubuntu and Debian-based distros
• Recommended tutorial on how to use OpenGL: learnopengl.com, website by joeydevries.com - Joey's complete book "Learn OpenGL - Graphics Programming", and the free PDF of the complete book, 523 pages! Wow! 1st edition 6/2020 --- Breakout Game -
Breakout II - ...
• Recommended videos, 31 lessons to learn OpenGL by
The Cherno - YT
• Is it possible to use OpenGL purely with C instead of C++? - gamedev.stackexchange.com - Yes, in fact OpenGL is a C library - you can perfectly use it with C
• Cont. Beginner's Guide OpenGL - installing libraries GLFW and GLAD - ...
• Vulkan -
vulkan.org -
vulkan-tutorial.com - 284 pages - Copyright 4/2020 - p8: You can use C instead of C++ if you want, but you will have to use a different linear algebra library and you will be on your own in terms of code structuring. We will use C++ features like classes and RAII to organize logic and resource lifetimes.
Install And Test Vulkan On Linux - linuxconfig.org - not working
Graphics driver check on Ubuntu 20.04 - linuxconfig.org
How to Install or Upgrade Nvidia Drivers on Ubuntu 21.10 Impish Indri - after installation check status of the nvidia graphic card:
nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running - forums.developer.nvidia.com
E: dpkg was interrupted... run 'sudo dpkg --configure -a' -
sudo apt-get install -f // rejects - after that:
How do I disable UEFI Secure Boot? - support.avira.com -
sudo dpkg --configure -a // rejects - then:
sudo rm /var/lib/apt/lists/lock // delets lock files
sudo rm /var/cache/apt/archives/lock // same
sudo rm /var/lib/dpkg/lock // same - now repeat:
sudo dpkg --configure -a // again: Your system has UEFI Secure Boot enabled.sudo mokutil --enable-validation // to re-enable Secure Boot if wanted
Vulkan tutorials for C - linustechtips.com
SDL2-C - my efforts to make coding with pure C and SDL2 more clear and fun
Getting Started with SDL and C - learncgames.com
HOW TO SET UP SDL2 ON LINUX - learncgames.com
SDL2 DRAG AND DROP - gigi.nullneuron.net
• Metal_(API)
• Demo Unreal Engine Unreal Engine Metahuman with Faceware Mark IV HMC, Xsens, Manus & GlassboxTech
• ch1 - Inroduction - p7 - ... - learncpp.com - ...
• Next-Gen Graphics FINALLY Arrive [Unreal Engine 5] - YT
Difference Between C and C++ by Vijay Singh Khatri - hackr.io
• C system progr. lang. - comkpiled, lightweight, manual memory managm. - strength is performance - C++ originally should be a more flexible and efficient extension of C - OOP - compatible to C, lightweight, compiled
• C top-down - C++ like all OOP lang. bottom-up
• C++ compatible with some other lang., C not
• ...
by Cyber Punk Architects
ch8 - How To Be Completely Anonymous Online Like The Pro's
p66 - 1 Linux - 2 ExpressVPN - 3 TOR network - 4 email address "Hushmail's", website Mailinator, defended from the third party sites which are tracking your IP address and location every time you go online - 5 never use Google while hacking - StartPage or DuckDuck go will prevent google from remembering your online searches and history of your online activity - you will be able to search through the google without compromising your identity -
p71 - 6 use public wireless connection, never public WiFi
ch9 - How To Setup NMAP
setting up NMAP (network mapper, the type of security scanner which is used in order to discover any hosts and service on the devices) - ... - nmap.org
sudo apt-get install nmap
How to Install and Use Nmap on Ubuntu - unixcop.com
nmap --version //> Nmap version 7.80 ( nmap.org )
man nmap // manual nmap
nmap --help
...
ch10 - How To Keep Yourself Safe From Being Hacked
...
by Simon Long - 1st edition, Raspberry Pi Press, 19. April 2019, $4,99/16,76 - for Raspberry Pi - 156 pages - Amazon
Welcome ...
p5 - C earlyb 1970s - ... - most of Linux and Raspbian written in C - ... 1st book part intro to C for absolute beginners - 2nd part shows how to use C to create desktop applications for
Raspbian, using the GTK toolkit - you don’t need any programming experience, and a Raspberry
Pi running Raspbian is all you need to get started - About Simon Long ...
Contents
p7 - Ch 1-26...
Ch1 - Getting started
raspberrypi.com -
Raspberry Pi - WP -
Raspbian OS - WP -
What is a Raspberry Pi? - YT -
raspberrypi.org/help -
Which Raspberry Pi should you choose for your project? - opensource.com
Raspberry Pi 4 - raspberrypi.com
minimum need: 1. 3B+ 2. power supply 3. micro SD card 4. keyboard 5. mouse 6. TV or computer screen 7. HDMI screen cable, adapter if needed - optional: 8. case 9. speakers or headphones 10. breadboard cables and other ---
A BRAND-NEW PI FOR π DAY - YT
Raspberry Pi 3 Model B+ is the newest, fastest, and easiest to use -
• 1. Raspberry Pi
3 Model B+ 1.4GHz 64-bit quad-core ARM Cortex-A53 Dual-band 802.11ac wireless LAN Bluetooth 4.2 - 3x faster Ethernet - Power over Ethernet support (with separate PoE HAT) NZ$63.25 inc GST
+ 2. power adapter
Raspberry Pi Official White Multi Plugs In (AU EU UK US) Travel Adapter with MicroUSB Connector 5.1V 2.5A 13W NZ$21.85
+ 3. card
Raspberry Pi TRANSCEND 16GB MicroSD Card Pre-loaded with NOOBS V2 NZ$27.94
+ 8. case
Official Red & White Enclosure for Raspberry Pi 3 Model B and B+ NZ$20.70
+ 10. breadboard cables Raspberry Pi Breadboarding Wire Bundle NZ$18.40
+ 10.a lead cables test
Raspberry Pi Alligator Clip Test Lead Cables (Multi Colours) 40cm Long (Set of 10) NZ$10.35
+ 11. camera Raspberry Pi Infrared Night Vision Camera Kit. Focal Adjustable, 1080P, 5MP, Sensitive Infrared Lights. Quick Install Guide NZ$72.45
+ 4. keyboard
+ 5. mouse
+ 6. screen TV or computer
+ 7. HDMI cable
+ Raspberry Pi Official White HDMI Cable 2m Male to Male HDMI 2.0 with Ethernet and Audio Return Channel Support 3D, 4K, 2160P/60Hz and X.V.colour NZ$16.10
9. speakers or headphones
--- Combo Deal Raspberry Pi 3 Model B+ Official Starter Kit White Edition with OS (Inc 1. New Pi3 Mainboard, 2. Multi Plugs Aadapter, 8. Red & White Case, 3. 16GB NOOBS Card, 7. HDMI 2M Cable) NZ$150.66 -
pbtech.co.nz
What languages are used to program raspberry PI? - raspberrypi.org
Python 2 or 3 - raspberrypi.org
Other shop pishop.nz
Machines for world knowledge 300 Exabytes, ship SH and spaceship SS - Computers should do what humans want them to do - input output - keyboard pad touchscreen cam mic controller etc. - based binary - ASM and C needed - terminal - IN HTML CSS JS WASM - Arduino Rapberry PI etc. - Linux - games animation sounddesign graficdesign - art FP MP WR - O MG
Chrome: Ctrl F5 > reload tab
C terasof.com (first studies)
IDL Webdesign -
HTML Workshop -
JavaScript
TIOBE Index for December 2021 - tiobe.com
30 Best PS4 games to play right now 2021 - tiobe.com -
What Remains of Edith Finch - 2017 - WP
Session 1 • Tue 2024-2-27 Zürich 23:15-0:45 WR rust.html - start ♡♡♡