Lowdown of everything I know about how to get good at programming fast

Hi there,
The reason I did this page, was, because, I am having difficulty getting a teaching job, so I want to propogate everything I know, about programming, before, I kick the bucket ,in 20 odd years time, Fast.
 I am not sure if all the links are,  "legal", free copies of books, but I verified they are genuine & if you are poor, I hope the publishers, &, book sellers, don't mind you taking a pdf.

If you really like the books, please buy the originals, or, get legitimate copy for your library. Printing them off on an inkjet printer, will, only cost you much more money than buying originals, printer companies don't make the money off the razors, they make it off the blades,

If I get a "cease and desist" email from publishers, I may have to take some/all of the links down.

The links, i hope, will teach someone, how to program, beyond, what a typical degree in computer science will get you, so, I hope they save you college fees which might be $100,000 in the States.

Admittedly you'd still need to socialise with programmers, practice coding, read others code to learn & github will help you do that.

This page, I believe, is the equivalent of a "college degree" in very marketable computer skills. In 2004, I was earning 72.9 euro an hour, on, a long term project based purely on the knowledge, I got from these books.... enjoy.

Advice for novice programmers from one with 35 years experience

As a programmer I've no accepted that this is not a viable opportunity for the average joe wanting to make a positive dent in the world, things were simple when I started but we had no internet to educate ourselves, common sense isn't that common, bitcoin is for bozos, people using as much electricity as Argentina to do obselete maths calculations which they sell to an even bigger fool.

 Despite being a competent programmer, my last job making money counting machines a bus ticketing system so complicated it could not work reliably because the code quality wasn't kept pristine, some poor design decisions and with the closed source hardware with bugs we were using, too many features, which have to have new features to sell, I have done this, had a meltdown with my nice boss and failed, like the self driving cars, most people enjoy driving, who really would trust a computer program to drive, they can be hacked, and the damn things are complicated, I could not even write a bus ticketing system a fucking fisher price toy and I'm an ex linux kernel hacker who was fairly well known in 2002.

The great starting point for absolute beginners is below and just needs a web browser, do the turorials on this computer language called scratch and choose next subsequent videos till you feel you are ready to advance further.




 https://raspberrypi.org is fantastic for a hobby programmer who wants to learn and https://www.github.com is where one finds projects to work on with others.

The best way to get good at everything from assembly to 3d games programming is the following tutorial google topics you don't know


Video graphics common stuff

Study one byte per pixel 256 colour indexed red green blue colour 3 bytes per pixel red green blue normal TV and one bit per pixel black and white look for 256 colour fade in fade out indexed rgb vga YouTube to see a nice effect playing with 256 colour indexes the common stuff that's enough rest is squares pixel artesian coordinates this is enough for you to get the gist of the common stuff


A great way to learn a lot of how computers work is there is a 3d game on GitHub.com called elite in 8 bit 6502 machine code 32000 bytes an infinite universe space trading game for the 1982 BBC micro a masterpiece that will teach you loads about computers if you wreck you head spending 6 months figuring out what the puzzle is up to the code has English comments just google if you don't understand a comment and download a BBC micro emulator onto your Android phone if you can find one or a computer

Among the tightest code ever written here

The code is about 50 pages 32000 bytes




You'd read it in one hour but won't understand till you wreck your head

Do you like the challenge???

All you need to understand is 50 assembly machine language instructions basic 3d math like hidden line removal scaling reading the keyboard screen bitmaps line drawing binary boolean algebra and making sound on the computer

Then your very dangerous

Stack accumulators registers and variables which are basically algebra

Screen bitmaps are a variant of coordinate geometry x y using pixels and memory locations

Different colour different memory location value

See my ebooks above for more
Then get a 6502 assembly language tutorial online here

Also look up c routines malloc free linked lists data bss heap and stack sections in memory and basic memory maps tutorial here





Also arrays and multiple dimensional arrays multiple dimensional arrays tutorial here

These ideas and how functions are called in assembly are important in the c language understand  call stacks in c the return instruction and parameter passing https://www.geeksforgeeks.org/c-function-argument-return-values/

That is most of programming in a nutshell

Also understand ascii basically it's binary byte code representation of numbers alphabet and special characters in English see wikipedia https://www.asciitable.com/


Be patient with yourself if the concepts sink in at 50 at least they sunk in eventually just have fun improving yourself with a beginners mindset


Your now a serious BBC Micro games programmer

The truth about anti virus, multi user systems, logins, bugs, virtual memory and breaking into computers/hacking

It has noting to do with computation these are man made solutions to man mad problems
I didn't understand what a login was in college I didn't need it on my amstrad cpc 464
breaking into computers, stack buffer overflow, and the rust programming languages stack overflow protection slow down computation, and are manmade solutions to man made problems like anti virus because hackers want to break into your computer, and users in turn put in bank safe like combination locks like encryption on network packets to prevent breakin, it has nothing to do with computation it is an awful waste of time preventing full use of all the machines resources and slowing down access to parts of the machine still available for computation, memory virtual memory paging is another technique requiring additional hardware to prevent bugs. Also there should be one computer architecture rather than hundreds of processors, hundreds of file systems, hundreds of computer languages, linux my ex favourite operating system is getting very bloated becoming all things to all men with different wants and willing to go completely incompatible with non homogenious compute mechanisms like docker and virtual machines installing multiple operating systems on the one box.

Now for TempleOS
A very interesting operating system by Terry A Davis diagnosed as bipolar schitzofrenic like me which means by african standards he was a christian shaman he made a smp os with games and software blobs entertaining ideas from the bible and talked to God or at least faeries through a random number generator to word generator I talk to God through watching nature like my dog knowing things I don't cows saying foooddd running into the parlour for nuts, they say mooorre if you sing to them sweetly in the field, crows say kill em, and fuck em, cows say noooo when you are cruel and dosing them, I see many druid signs through nature many voodoo doctors talk to ansestors like me, if you betray someone you will feel stabbing pains in the back, some people cause pains in the neck or migranes, if you sin you might get sick or someone close to you, my mother got cancer when i started drinking it happened to other friends too the wages of sin is death, i could go on explaining basic shamanism for weeks, anyway Terry A Davis commited suicide under a train to advertise the operating system when nobody would listen that it was quite good despite having a just in time c,C++ like compiler, for everything, just ascii, why do we need incompatible localisation solutions when google translate like mechanism can translate the gui on the fly like google translate can for years translate html. GUI's vastly complicate writing programs in some awful for me software has 120 command option elbow hot key strokes I have to remember to use the package, I prefer text based comtrol via a language, even the world seems to be text based, you speak things into existence with prayer and witchcraft, God says in the beginning is the world the universe seems to be text we wish into existence which self assembles as reality, things often manifest in my house, in heaven everything makes music, there are platonic solids, like sphere,cube, tetrahedron, golden ratio, and semitone multiple between notes seem to be fundamental concepts, 11 dimensions in string theory, strings create music, 11 dimensions in string theory, god reuses words to create reality, things have multiple meanings, something being funny is gods way of telling you its true, rules are made to be broken in physics like singularities in the middle of a black hole, the universe is computed, it is not only mathematical, and god has a sense of humour, this is why the most accurate theories are out by 10 to the power of 120 in places, and stephen hawking mind body spirit cringed when the stupid athiest tried to put god and the universe in a mathematical box, I had my gearbox sing songs of india to me like cat stephens and jesus would when thinking of going there, bees in heaven and earth make music like flight of the bumblebee, the start of star trek is mesmerising because the universe made pictures in time with the music like it really is, stars to me look like notes in the sky,  look at the tadpole galaxy on google images gods semen it appears to me in the sack of the multiverse sher why not. Jesus said if disobeyed the stones would rise and give out, if you take DMT psychadelics the spirit molecule you can become egoless, take on the consciousness of the sun crushed by gravity or a rock, the easiest way to see the universe which might be sinning and get you locked up like me is DMT or puss of the new mexico toad which Tyson took and if brave enough to achieve breakthough with 3 puffs can get you one off heroin addiction, two puffs trip to a place 11 minutes in hell.


Also watch 434 YouTube and intelligent nutter Terence Mc Kenna on YouTube intelligently but irresponsibly recomenend loads of psychadelics


Now for Temple OS

It is only 170k lines of code full symmetric multi processing holy c just in time compiler, for you to get to know everything valuable about how computer technology works aside from networking.

https://templeosonline.com/


https://templeos.org/ the iso disks here I could not get to work at least on qemu machine emulator maybe they work on virtualbox I suspect some athiest broke them like the cunt athiests who moderators on reddit.com not allowing me use arguments from the bible in physics posts or philosophy the fuckers are ruining free speech, get the moderators off reddit, I wish to offend narrow minded athiests who are fools even Richard Dawkins has congnative dissonance the worlds most famous athiest is afraid of haunted houses yet insists the supernatural doesn't exist I suppose you need clowns arguing a point to sharpen believers arguments for God.
 
The low hanging fruit is in software development is done, database technology and file systems are mature, the operating systems are mature, languages are mature and yet there are people reinventing the wheel making new ones for people to learn, too many processors, the world only needs one.
 
Using phones for cloud computing is prevented by google and telcos to prevent viruses maintain a business model,circumvention can be done using https://www.zerotier.com which provides an easy phone to phone internetcommunication, google is one of the few companies left innovating and it's slowing down, and, I'd suspect competition there is ferocious.
 
Don't chase money there are opportunities, providing services for good businesses, and especially for the poor, this is what I'm currently working on for the poor and the type of people I want to collaborate with my current project that no one in it for the money will do, but so obvious it could have been done long ago.

I'm calling sendmail superheroes see here.




I've since got to prefer the Raspberry pi for PC distro here it is very stable.

First thing do is figure out what a unix shell is, look at bash keyboard shortcuts,  & in the unix shell type "man ls" "man cd" "man pwd" "man which", figure out what a path variable is & learn bash scripting.

My coderdojo how computers work tutorials are here the first tutorial is completely self contained and requires no extra understanding, I would recommend learning a bit of C code in  Beginning Linux Programming or   C/C++ Programming lessons before tackling the stuff with gcc, for loops, variables and printf in the second tutorial.

Basic Web Programming

Seamonkey is based on the Mozilla browser but has a graphical user interface HTML developer and you can view page source to learn HTML.

SGML was a predecessor to html which i think is over rated and the concept of urls was already in apps like helptsr in 1985 in dos and htpercard the ip address was added and people went bananas. HTML had no editor and word95 had sql and visual basic and beauty i haven't seen in html and this could be done without microsoft using openoffice i suspect https://wiki.openoffice.org/wiki/Documentation/OOo3_User_Guides/Writer_Guide/Accessing_data_sources since bootstrap is bad the https://developer.android.com/guide/topics/large-screens/support-different-screen-sizes is awful android should have used html like palm resolutions https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework) would be better than android pinch zoom on amiga with web in ascii would have been my ideal on a phone fuck localisation let google translate do it https://lazyfoo.net/tutorials/SDL/index.php this on amiga with html awesome computing is over some awful new technologies have come like https://franklyspeaking.substack.com/p/franklyspeaking-060821 zero trust networking and lamda architectureless programming how can a cloud aws program be debugged when it doesn't even know what it was running on. when working on linux on the mainframe i thought another engineer was a god because he debugged a kernel vm problem from emacs lisp all the way up somehow but if the computer architecture on linux was simpler the program 99% of the time would have crashed close to the bug if no vm memory architecture existed programming seems largely now dealing with software safes computers were designed to compute not run multiple instances of anti viruses firewalls snadboxes vms cluuds and virtualisation this is horse manure to mostly stop hackers nothing to do with compute and now google and apple have your banking passwords and you don't rememeber them anymore i dont and if your good you will log onto my bank account from my blogger password through the google server running this website as a hacking challenge and steal my money.

Beginning Linux Programming a classic by Wrox press if you know everything in this book you'll be a good programmer by reading this book alone, just install Ubuntu,

Embedded Linux Systems the book you need to look at if your going messing with a Raspberry pi

C/C++ Programming lessons

Numerical recipies in C

Advanced Engineering Mathematics by Stroud is a nice simple classic, Advanced Engineering Mathematics is a book by a different author which does mathematical programming techniques also.


Control_engineering have a good read of this & at least be aware that the topic exists. It's the kind of mathematics used to keep Rockets Balanced so they don't fall over when going into space & has applications in Electronics & Mechanical Engineering

Machine learning ( a very hard topic ) explained for Kids by the excellent Siraj Raval


When googling a machine learning or another advanced topic it helps to type eli5 ( explain like I'm 5 ) into the search so you don't get some clown trying to baffle you with heavy mathematics. Siraj has since found a lot of haters as he was taking credit for other peoples work, he is still a great teacher though.

If you want to learn about AI start here Neural Net Basics with the fantastic Grant Sanderson.

Automatic Programming this is where programming is going.

If you want to develop for android phones look at this, more serious low level hackers look at this.

Here is a link from github on very advanced machine learning & computer vision if you want to outy google google, you could spend the next 20 years reading if you want to become a Doctorate in computers, read my stuff first it's easier ;)

Digital Fundamentals by Floyd a true lowdown on how Digital Electronics work I had this book in college in 1986 absolutely essential if you want to become a good low level programmer.

PHP, MySQL and basic Javascript essential if you want to write a carpool website or similar. To make PHP run faster use Facebooks Hip Hop for PHP

Rather than Java which I hate it doesn't even have global variables, my language of choice for web development is The go language.


Xilinx Student Edition  in it's current incarnation go at this if you want to become a digital hardware engineer. Learn VHDL/Verilog.

LTSpice for Linux  this is an powerful free open source electronics simulator LTSpice with loads of electronic device models it is designed to run on Windows & runs on Ubuntu via a windows emulator called Wine, install pSpice & Oregano if you want to stay open source pure. Windows version of LTSpice available here

Pro Git  git is a tool to allow multiple programmers work on the same source code at the same time and keep backups of working code, I have a love hate relationship with the program, it's absolutely neccessary for you to become proficient with at least github if you want to work with multiple programmers as a pro, it's complicated but absolutely neccessary. With the GitHub takeover is Microsoft trying to kill open source, learn the tecknologies Brad Traversy  on YouTube is teaching quickly Bootstrap 4, WebPack & Gulp come to mind, I'm not gone on, Angular yet, &, mailing list technologies, so we can erect, &, architect an alternative  GitHub quickly, thanks @NikitasFrs & CleverChuk, for your help. My opinions, on Bill Gates ,can be found here.

Reverse engineering stuff, link on quora, gnu debugger tutorial, to learn how to trace syscalls on Linux type "man strace" after that "man objdump" in a bash terminal. Another topic important in debugging or reverse engineering Linux Programs is the ELF ABI, get the ELF ABI specific to the processor you are debugging. Type "cd /proc" in a terminal and have a good look around the files and subdirectories in here by catting them ( man cat ). Type "man strings", type "strings <programname>" and "man ldd"

Brad Traversy on YouTube is excellent for advanced Web Programming

JavaScript the good parts I wouldn't recommend this book to a beginner but it covers fairly advanced programming topics

Lex & Yacc is the basic stuff you need to know to write a computer language like python ( interpreted languages are easier ), After reading this if still interested I recommend you look at the Antlr project which couples the lexical analyser & parser together in a cohesive unit which gets over some of Lex & Yaccs inability to communicate with each other,&, uses EBNF which is better than BNF.

Basics of how compilers work is okay, Principles of Compiler Design "The Dragon Book" is much more thorough but I can't find it online, I've found a lot of bad links possibly malware while searching for this so I presume the publishers want you to pay for this one, it's a classic. However, Gnu C Compiler Internals might satisfy your hunger for knowledge though on compiler design.

UML2 for Dummies I think this book was written for IBM, UML is a graphical way of describing how programs and processes work.

Design Patterns this teaches you elegant coding solutions common coding design problems, a must read.

The Architecture of Open Source Applications a fantastic resource if you need to figure out how some open source works.

Network Security Hacks  a serious book if you want to become a cyber security expert.

Starting point on developing for android mobile phones you will need to learn Java or Kotlin first it's like C++ Derek Banas has very good YouTube Android Tutorials on his channel.

Siraj Raval on YouTube has the hottest machine/deep learning tutorials if you want to work for google doing their magic watch this guy for a few years.

CodeEmporium YouTube Channel is the best lowdown nuts and bolts of neural net architecture.

x64 assembly language programming introduction

Scheme/Lisp Structure and interpretation of computer languages is the  book to go for recommended by a friend Pio, & a knowledgable reddit blog reader, lisp is an obscure old programming language you'll learn a lot from used to teach unusual programming design patterns, an easier tutorial The Little Schemer is here I'd recommend that first lisp/scheme have a strange way of doing things & it's one of the most versatile interpreted programming languages ever written. From talking to people who sing it's praises, I'd almost say if the queer design pattern you've in your head can't be implemented in Lisp it can't be implemented

Programming Forth another obscure old programming language you'll learn a lot from used in Bios'es like open firmware.forth-programmers-handbook is a fabulous book recommended to be by one of the smartest guys I know.

GitHub a huge repository where most of the free open source software in the world is stored

Design of the Unix Operating System a great first read before you jump into the Linux Kernel

Getting to know the Linux Kernel

Linux Device Drivers a classic, essential read before going at the guts of the Linux Kernel.

Source code of Linux kernel the Documentation directory in the source code explains almost everything about Linux internals.

Android bootloader fundamentals

ItÅ› getting harder to hack android and if you want to install normal linux on your phone
you need to root it.
To install a custom kernel on the phone read the following.
https://forum.xda-developers.com/showthread.php?t=2319018
https://www.androidauthority.com/install-ubuntu-on-your-android-smartphone-765408/
https://www.xda-developers.com/what-is-magisk/

My open source projects if you want to help me out have a look at fundamental.

When you want to change career from being a Physicist to a organic horticultrualist and want to look after the earth for your children here is a highly recommended pdf of a book on Permaculture ( Permanent Agriculture ) by Bill Mollison highly recommended by Paul which covers a lot of topics about how society can be less wasteful .

I'm pretty expert in most of the subjects in this page with the exception of permaculture, if you wish to start a conversation, please leave a comment below, if you want a mentor contact me, if you wish to collaborate with me in a project let me know...

If you need a $33 Euro very versatile computer, if you are poor, &, even if not, have a look at this, I present the fantastic raspberry pi.


Further interesting programming reading on this site....
The joys of reverse polish notation

People in the Mac/iOS Hacking community worth following on twitter planetbeing,geohot,RedSnow_JB,comex,saurik,stroughtonsmith


Thanks and God Bless,
D.J.

About this author

D.J. Barrow is a, "semi retired against his will", Engineer, and, Linux Consultant, based in Ireland, his website is here,  he's available for mentoring.

Some important videos in computer mathematics

Quarternions a 4 dimemsional complex number sine cosine alternative that doesn't get gimbal lock problems at the north and south pole very important invented by Irish Scientist Hamilton and may have implications in 4 dimensional space time, hard stuff, if you really master it get back to me i need you.



Neural nets used in artificial intelligence


Something for music and sound programmers



More Pages on this site

Recommended open source software



Comments

  1. Some great recommendations here !! Thanks

    ReplyDelete
  2. Can anyone recommend great design patterns books with links, possibly design and system analysis also.

    ReplyDelete
  3. I don't know J2EE, Spring, Hibernate, or Unit Testing frameworks which in my opinion were to a degree invented because the java debugger doesn't work in a browser, can someone who knows their stuff suggest good resources for those who want to study banking style software. It's not my thing but it pays well also SAP.

    ReplyDelete
  4. Correction to previous comment, the java debugger can't work in a web server AFAIK, making unit testing a neccessary & time consuming pain.

    ReplyDelete
    Replies
    1. Sorry java debuggers can be used in a web server just googled it.

      Delete
  5. Interesting blog, it gives lots of information to me. Thanks for sharing.
    Python Training in Chennai
    Python course in Chennai

    ReplyDelete
    Replies
    1. Thanks so much for your kind comment.

      Delete
    2. Have a look at this fantastic $33 euro computer https://sinscienceandspirituality.blogspot.com/2018/08/raspberry-pi-its-much-cheaper-and.html

      Delete
  6. Replies
    1. Thanks so much for your kind comment, have a look at this https://sinscienceandspirituality.blogspot.com/2018/08/raspberry-pi-its-much-cheaper-and.html.

      Delete
  7. Thanks so much for your kind comments have a look at this https://sinscienceandspirituality.blogspot.com/2018/08/raspberry-pi-its-much-cheaper-and.html

    ReplyDelete

Post a Comment

Popular posts from this blog

A very solid argument for Gods existence and a message to technology nerds, please leave comments

The joys of Reverse Polish Notation

How the brain works