<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2025-06-20:4233726</id>
  <title>sorcerer_see</title>
  <subtitle>sorcerer_see</subtitle>
  <author>
    <name>sorcerer_see</name>
  </author>
  <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom"/>
  <updated>2025-12-29T17:29:09Z</updated>
  <dw:journal username="sorcerer_see" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:58813</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/58813.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=58813"/>
    <title>My new website</title>
    <published>2025-10-28T07:35:30Z</published>
    <updated>2025-12-29T17:29:09Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">I hereby share with you the link to my new website.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sorcerer-see.dev"&gt;sorcerer-see.dev&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Where Dreamwidth is essentially an editable blog site, I built my new site&amp;nbsp;from scratch in HTML and CSS. And on it I represent what I learn in a less linear, more organic manner.&lt;/p&gt;&lt;p&gt;Consider &lt;br /&gt;&lt;a href="http://sorcerer-see.dreamwidth.org"&gt;sorcerer-see.dreamwidth.org&lt;/a&gt; &lt;br /&gt;as part 1&lt;br /&gt;and&amp;nbsp;&lt;br /&gt;&lt;a href="http://sorcerer-see.dev"&gt;sorcerer-see.dev&lt;/a&gt;&lt;br /&gt;as part 2&lt;br /&gt;&lt;br /&gt;of my trajectory to full-blown pcb designer and hardware-level software developer.&lt;/p&gt;&lt;br /&gt;Cheers&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=58813" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:58529</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/58529.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=58529"/>
    <title>DDaCA R-VEd Page28 - Phase1 0028/2316</title>
    <published>2025-10-24T12:17:26Z</published>
    <updated>2025-10-28T14:28:42Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and add own comments cursively in &lt;span style="color: rgb(0, 0, 255);"&gt;blue&lt;/span&gt;. I list pages done vs total pages, including any roman and appendix numbered pages.&lt;/em&gt;&lt;/div&gt;&lt;strong&gt;&lt;br /&gt;DDaCA R-VEd Page28 - Phase1 0028/2316&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Generally, when one talks about &lt;em&gt;architecture&lt;/em&gt;&amp;nbsp;one speaks about a computer from the the perspective of a programmer. The Intel x86 architecture, according to which most microprocessors in modern PC's are built, is defined by a set of instructions and registers that programmers are allowed to use.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=58529" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:58352</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/58352.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=58352"/>
    <title>DDaCA R-VEd Page27 - Phase1 0027/2316</title>
    <published>2025-10-24T04:17:51Z</published>
    <updated>2025-10-24T08:40:39Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and add own comments cursively in &lt;span style="color: rgb(0, 0, 255);"&gt;blue&lt;/span&gt;. I list pages done vs total pages, including any roman and appendix numbered pages.&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;DDaCA R-VEd Page27 - Phase1 0027/2316&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;1.2 THE ART OF MANAGING COMPLEXITY&lt;/strong&gt;&lt;div&gt;&amp;nbsp;&lt;br /&gt;Computer  engineers and scientists have learned a systematic approach to managing  complexity. The idea is to understand how these things work in a broad  sense, without getting bogged down in endless detail.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.2.1 Abstraction&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;The essential method to keep complexity at bay is &lt;strong&gt;abstraction&lt;/strong&gt;. This method hides what is not important &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;em&gt;The mind does this all the time. Since being aware of everything that exists all the time would drive us mad. We simplify things by using simplistic concepts to classify everything that arises within our awareness.&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;em&gt;&lt;br /&gt;Overview of possible layers of abstraction of a computer system&lt;br /&gt;from 'Application Software' = high-level to 'Physics' = low-level&lt;/em&gt;&lt;br /&gt;&lt;img src="https://cdn.imgchest.com/files/4c852837784e.png" width="400" height="687" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;All the way down the ladder of abstractions exists the motion of electrons. Their behavior is described by quantum mechanics and Maxwell's equations. Computer systems are constructed with electronic components such as transistors, in the case of modern pc's, or were, for example, built with vacuum tubes, decennia ago. Both these components have connection points called &lt;strong&gt;terminals&lt;/strong&gt;. These points can be modeled by the measured relationship between voltage and current.&lt;br /&gt;&lt;br /&gt;At this level of abstraction we can ignore the individual electrons. The next level upwards, we perceive the analog circuits. These are used to develop components like for example amplifiers. Analog circuits input and output a continuous range of voltages. Digital circuits, such as logic gates, on the contrary, restrict voltages to discrete ranges, which we label 0 and 1. Within Logic Design we build complex structures with digital circuits such as &lt;strong&gt;adders &lt;/strong&gt;or &lt;strong&gt;memories&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Micro architecture links the logic and architecture levels of abstraction. When we talk about the architecture level of abstraction we describe a computer from the programmer's perspective.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=58352" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:57863</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/57863.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=57863"/>
    <title>DDaCA R-VEd Page26 - Phase1 00026/2316</title>
    <published>2025-10-24T03:28:11Z</published>
    <updated>2025-10-28T08:41:45Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and add own comments cursively in &lt;span style="color: rgb(0, 0, 255);"&gt;blue&lt;/span&gt;. I list pages done vs total pages, including any roman and appendix numbered pages.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DDaCA R-VEd - Phase1 0026/2316&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;1 From Zero to One&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;1.1 THE&amp;nbsp;GAME PLAN&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The&amp;nbsp;continuous innovation in the field of CPU's, during the past 30 years, has advanced our way of life tremendously.&amp;nbsp;This book teaches the reader how to design their own microprocessor.&amp;nbsp;Along the way readers obtain skills that prepare them to design many other digital systems as well.&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;It is expected from students who want to study this book that they have&lt;br /&gt;&lt;ul&gt;&lt;li&gt;basic familiarity with electricity&lt;/li&gt;&lt;li&gt;some programming experience&lt;/li&gt;&lt;li&gt;genuine interest in what goes on under the hood of a computer&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;This book focuses on the design of digital systems, which operate on 1's and 0's.&lt;br /&gt;we:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;explore digital logical gates that can receive 1 or 0 as input and produce&amp;nbsp;1 or 0 as output&lt;/li&gt;&lt;li&gt;show how logic gates are put together in complicated &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;em&gt;combinations &lt;/em&gt;&lt;/span&gt;(modules)&lt;/li&gt;&lt;li&gt;teach programming in assembly language&lt;/li&gt;&lt;li&gt;build a microprocessor&lt;/li&gt;&lt;/ul&gt;The building blocks to build a microprocessor are simple, but the end product is very complex. One of the themes of this book is how to manage complexity.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=57863" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:57621</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/57621.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=57621"/>
    <title>My current curriculum (2316+3385=5701pages)</title>
    <published>2025-10-23T18:22:49Z</published>
    <updated>2025-10-29T03:50:57Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;strong&gt;My current curriculum&amp;nbsp;&lt;/strong&gt;(2316+3385=5701 pages)&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;I revised my curriculum after I realized that both hardware books, one in each of the 2 phases, neglected the circuit level of computer hardware.&amp;nbsp;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The 3 Books I target now, in my PRE-Earn Phase&lt;/u&gt;&amp;nbsp;&lt;/strong&gt;(733+879+704=2316 pages)&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;1. Digital Design and Computer Architecture RISC-V Ed. -&amp;nbsp; S.L Harris &amp;amp; D.M Harris, 2021. &lt;/strong&gt;(733 pages)&lt;br /&gt;This book covers the fundamentals of computer architecture.&lt;br /&gt;&lt;img src="https://cdn.imgchest.com/files/fecbd2dcafaa.png" width="175" height="209" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;2. x64 Assembly Language Step-By-Step Programming 4Ed. - J. Duntemann, 2023. &lt;/strong&gt;(879 pages&lt;strong&gt;)&lt;/strong&gt;&lt;br /&gt;This book covers the fundamentals of ASM programming.&lt;br /&gt;&lt;img src="https://i.postimg.cc/sD8j8kxH/asm-s-b-s.png" width="175" height="219" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;3.&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;Sams Teach Yourself&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;C Programming, 7Ed. -&amp;nbsp; B.L. Jones, P.G. Aitken, D. Miller,&amp;nbsp;2013. &lt;/strong&gt;(704 pages)&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Decent, praised book on the basics of C programming.&amp;nbsp;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;img src="https://i.postimg.cc/qvx3TBKB/stys-c.png" width="175" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;u&gt;&lt;strong&gt;3 Books I want to target in my POST-Earn Phase&lt;/strong&gt;&lt;/u&gt;&amp;nbsp;(864+1999+522=3385 pages)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Fundamentals of Digital Logic with Verilog Design 3Ed.&amp;nbsp;&lt;/strong&gt;(864 pages)&lt;br /&gt;It covers details of computer hardware in relation  to logic gates.&lt;br /&gt;&lt;img src="https://cdn.imgchest.com/files/8b684bfa7020.png" width="175" height="218" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;2.&amp;nbsp;Assembly Programming for x86 Processors 8th Ed. - K. Irvine, 2019. &lt;/strong&gt;(1999 pages)&lt;br /&gt;This book covers assembly programming, the low-level programming language that sits between hardware and high-level programming.&lt;br /&gt;&lt;img src="https://i.postimg.cc/rFJPhNgR/al-x86.png" width="175" height="237" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;3. Modern C 3th Ed. -&amp;nbsp;&amp;nbsp;J. Gustedt, 2025. &lt;/strong&gt;(522 pages)&lt;br /&gt;This book covers intermediate level C programming, according to the C23 standard.&lt;br /&gt;&lt;img src="https://i.postimg.cc/2y3SPrfP/modern-c.png" width="175" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=57621" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:57580</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/57580.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=57580"/>
    <title>SCO Ed6 Page9 - Phase1 0009/2384</title>
    <published>2025-10-23T06:50:09Z</published>
    <updated>2025-10-24T02:11:15Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and comment cursively. I list pages done vs total pages, including any roman and appendix numbering.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;strong&gt;SCO Ed6 Page9 - Phase1 0009/2384&lt;br /&gt;&lt;br /&gt;The invention of Microprogramming&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In the 1940's, computers had only two levels:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;the digital logic level (Level 0)&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 40px;"&gt;here&amp;nbsp;programs were executed&lt;/div&gt;&lt;ul&gt;&lt;li&gt;the ISA level (Level 1)&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 40px;"&gt;here the programming was done&amp;nbsp;&lt;/div&gt;&lt;div style="margin-left: 40px;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Hardware then was complicated, difficult to understand and built, and unreliable.&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=57580" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:57318</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/57318.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=57318"/>
    <title>SCO Ed6 Page8 - Phase1 0008/2384</title>
    <published>2025-10-22T12:14:45Z</published>
    <updated>2025-10-23T06:55:42Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and comment cursively. I list pages done vs total pages, including any roman and appendix numbering.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;SCO Ed6 Page8 - Phase1 0008/2384&lt;br /&gt;&lt;br /&gt;The set of&lt;ul&gt;&lt;li&gt;data types&lt;/li&gt;&lt;li&gt;operations&lt;/li&gt;&lt;li&gt;features&lt;/li&gt;&lt;/ul&gt;of each level is called the architecture of that level. Architecture of a level refers to the visible aspects of the level as they present themselves to the user of that level.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Implementation aspects are not part of the architecture. The study of the design of those parts of a computer system that are visible to programmers is called computer architecture.&lt;br /&gt;&lt;br /&gt;But, essentially, computer architecture and computer organization are the same thing.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.1.3 Evolution of Multilevel Machines&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Programs written in machine language (level 1) can be directly executed by the electronic circuits (level 0),&lt;br /&gt;without the need for interpretation or translation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hardware&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Level 0&lt;/em&gt;&lt;br /&gt;Tangible objects:integrated circuits, printed circuit boards,&lt;br /&gt;cables, power supplies, memories, printers ...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Software&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Level 1 - ...&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Abstract ideas, algorithms, instructions, computer graphical or additive representations (applications)&lt;br /&gt;&lt;br /&gt;History&lt;br /&gt;With the first computers the separation between hardware and software was clear. It got gradually more blurred due to the addition, merging and removal of layers of abstraction, as the machines developed and computing became ever more complex.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;But, in the end, hard- and software are logically equivalent, since one can be resembled the other, and, at least theoretically, even be replaced by the other.&lt;br /&gt;&lt;br /&gt;The choice between hardware vs software solutions is one of cost, speed, reliability and the expected frequency of changes/additions.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=57318" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:56882</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/56882.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=56882"/>
    <title>SCO Ed6 Page7 - Phase1 0007/2384</title>
    <published>2025-10-22T10:37:40Z</published>
    <updated>2025-10-23T06:56:57Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and comment cursively. I list pages done vs total pages, including any roman and appendix numbering.&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;SCO Ed6 Page7 - Phase1 0007/2384&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;To sum up: some level 3 instructions are interpreted by the operating system and some directly by the data path controller, whether that is done by the microprogram, or embedded in the hardware. Because of these different sources of instructions coming together at the same level, we call it a hybrid level. Onward the book will call the hybrid level the &lt;em&gt;operating system&lt;/em&gt; level.&lt;br /&gt;&lt;br /&gt;Between level 3 and 4 we can see a clear break.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Levels 0 to 3&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 40px;"&gt;Are not normally accessed by the average programmer, rather programs like interpreters and translators are running on those levels, to support applications of the higher levels. Such level 3 programs are written by system programmers. These people specialize in designing and implementing virtual machines.&lt;br /&gt;Level 2 and 3 are always interpreted. Levels 1. 2 and 3 code is always numeric. Easy to read for machines but hard to read for humans.&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Level 4 and up&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 40px;"&gt;Are used by application programmers. These levels are usually translated but sometimes also interpreted. These programs are human readable to different degrees.&lt;br /&gt;Level 4: assembly language (ASM), is a symbolic form of the levels below and is particularly well suited to write programs that levels 1-3 can understand, while still being reasonably readable to humans. Assembly is first translated to the destined level by the assembler program and then there interpreted by the respective virtual machine or directly by the hardware.&lt;br /&gt;Level 5 consists of the high level languages, used for applications with specific functionality. Many exist: C, C++, Java, Perl, Python, PHP, etc., etc. These are most often translated to level 4 or 3 by translaters called &lt;strong&gt;compilers&lt;/strong&gt;, but sometimes also interpreted: &lt;em&gt;Java&lt;/em&gt;, for example is first translated to Java byte code, an ISA-like language, which is then interpreted. On level 5 here are also specialized interpreters for specific application domains, like for example &lt;em&gt;symbolic mathematics&lt;/em&gt;.&lt;/div&gt;&lt;br /&gt;The main point to understand about computer organization is that computing consists of layers of abstraction and interpretation/translation, which are brought forth by different kinds of software programs and hardware operations.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;(&lt;em&gt;but in essence, there is only hardware, and all the abstraction happens within the human mind&lt;/em&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=56882" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:56621</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/56621.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=56621"/>
    <title>SCO Ed6 Page6 - Phase1 0006/2384</title>
    <published>2025-10-22T09:30:27Z</published>
    <updated>2025-10-23T06:58:17Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and comment cursively. I list pages done vs total pages, including any roman and appendix numbering.&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;SCO Ed6 Page6 - Phase1 0006/2384&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;Each register can hold starting from minimum 1 binary up to a certain maximum of binaries, defined by the specific hardware architecture. Gates also form the main computing engine itself.&lt;br /&gt;&lt;br /&gt;The proceeding level, level 1, is the micro-architecture level. Here we see a collection of typically 8 to 32 registers that form a local memory and a circuit called Arithmetic Logic Unit (ALU). The ALU does simple arithmetic operations. Certain registers are connected to the ALU and together form a &lt;strong&gt;data path&lt;/strong&gt; over which data flows. The data path selects registers and has the ALU operate on them, for example, adding them together, and then storing the result in another register.&lt;br /&gt;&lt;br /&gt;On some machines, especially older machines, these operations are controlled by a program called &lt;strong&gt;microprogram&lt;/strong&gt;. But on other machines, especially newer machines, the data path is directly controlled by the hardware. In older editions of the book level 1 was called the micro programming level, since a interpreter software was involved. In newer editions the name of this level is renamed into micro architecture level.&lt;br /&gt;&lt;br /&gt;Software control of the data path was instructed with a level 2 language program that then was interpreted by level 1 software. Such a program would fetch, examine, and execute instructions one by one, via the data path. On a modern machine with hard-wired control of the data path, similar steps take place but without an explicitly stored program directing these..&lt;br /&gt;&lt;br /&gt;The book calls level 2 the Instruction Set Architecture level (ISA level). Computer manufacturers publish manuals for each computer they sell that describe the principles that apply to the ISA level of their product.&lt;br /&gt;&lt;br /&gt;The level above the 2nd is usually a hybrid level. This 3th level carries some of the same instructions as level 2 + some additional instructions and a different memory organization, the ability to run two or more programs simultaneously and more. Level 3 designs can differ widely between computers on the contrary to level 1 and 2 designs which are more universal (on the same level). The new level 3 instructions are interpreted by a level 2 interpreter. This interpreter has historically been called an &lt;em&gt;operating system&lt;/em&gt;. Those instructions on level 3 that are also used on level 2 are executed directly by the microprogram or the equivalent hardwired hardware control.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=56621" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:56544</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/56544.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=56544"/>
    <title>SCO Ed6 Page5 - Phase1 0005/2384</title>
    <published>2025-10-22T08:31:12Z</published>
    <updated>2025-10-23T07:00:24Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and comment cursively. I list pages done vs total pages, including any roman and appendix numbering.&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;SCO Ed6 Page5 - Phase1 0005/2384&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;1.1.2 Contemporary Multilevel Machines&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Almost all computers consist of 2 or more levels of abstraction. Some even up to 6 levels. The circuits at level 0 carry out the machine level instructions. There is one more layer below level 0,- that of the internals of circuits, which we will call the device level. We do not go into this very lowest level since this is the level of electrical engineering,- we are then talking about solid state physics, which is truly beyond our scope as programmers.&lt;br /&gt;&lt;img src="https://i.postimg.cc/DzQzzNWP/sco-p5-img-1.png" width="400" alt="" /&gt;&lt;br /&gt;&lt;em&gt;The 6 level computer. Below each level we list the support method of said level&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;The lowest level that we will study, level 0, is the &lt;strong&gt;digital logic level&lt;/strong&gt;. It consists of the most essential elements of computing:&amp;nbsp;&lt;strong&gt;gates&lt;/strong&gt;. In the underlying level these digital devices are composed of analog components, such as transistors. A gate receives one or more digital signals, called input, which are represented in level 1 as 0 or 1, and they compute as output combinations such as AND or OR. Each gate is composed of at max a handful of transistors. A small number of such gates are combined to form a 1-bit memory, which can store a state of 0 or 1. These 1-bit memories can be combined in groups to form registers of, for example, 8, 16, 32 or 64-bit memory.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=56544" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:56110</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/56110.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=56110"/>
    <title>SCO Ed6 Page3-4 - Phase1 0004/2384</title>
    <published>2025-10-22T05:25:39Z</published>
    <updated>2025-10-23T07:02:44Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and comment cursively. I list pages done vs total pages, including any roman and appendix numbering.&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;SCO Ed6 Page3-4 - Phase1 0004/2384&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;Another way of looking at the problem: imagine a computer or virtual machine who's language is L1. In this example we will call this machine M1 and the machine using L0 M0. M1 uses L1 as it's base language. If this were the case we would not need L0 or any M0 machines. People could just write L1 and have their M1 execute their programs directly without the need for conversion/translation.&lt;br /&gt;&lt;br /&gt;This thus is a third method of bridging the gap: creating a M1 virtual computer running on L0 hardware and write L1 programs directly for the M1 virtual machine.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;For translation or interpretation to be practical, the difference between L0 and L1 should not be too great. Because of this limitation, L1, while being more suitable for programming by humans than L0, will still not be very suitable, for most applications.&lt;br /&gt;&lt;br /&gt;The answer to this, is the development of yet another, again more abstract, set of constructions that is yet more easy to be understood by humans. We will call this language L2. A virtual machine that uses L2 as it's own language, we will call M2. We will need software to translate L2 into L1, for running at a M1 machine/. And we can use L1 interpreters to interpret L2 interpreted languages.&lt;/div&gt;&lt;br /&gt;This process of creating language upon language &lt;em&gt;theoretically &lt;/em&gt;can go on indefinitely, until the &lt;em&gt;theoretic &lt;/em&gt;perfect language is achieved. We could see these as layers &lt;em&gt;of abstraction&lt;/em&gt; within the &lt;em&gt;organization of computing&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Theoretically &lt;/em&gt;we can also perceive of a machine that functions on each of these layers, as if the language at the same level can be run natively on it. The writer things such machines are even possible as hardware, but that such machines are not cost effective since it is much easier to use software to achieve higher levels of abstraction upon low level hardware.&lt;br /&gt;In this sense 1 computing machine can be seen as, in effect, consisting of several (virtual) computing machines of the respective degrees of abstraction.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/1z0zzdgG/sco-p4-img-1.png" width="400" height="364" alt="" /&gt;&lt;br /&gt;&lt;em&gt;A multilevel machine&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;In this book the words 'level' and 'virtual machine' will be used interchangeably.&amp;nbsp; Just keep in mind that computer terms can mean different things within different contexts and the term 'virtual machine' can mean several things.&lt;br /&gt;&lt;br /&gt;Although only at level 0 instructions are put in effect, a programmer, writing at any of the different levels of abstraction need not know what his program is converted into before reaching the hardware, in order to write solid programs.&lt;br /&gt;&lt;br /&gt;High-level programmers are generally not interested in what happens at the low-level. People designing new computers must understand at least the lower levels of computing. People who really want to understand how computing works must study all the levels.&lt;br /&gt;&lt;br /&gt;The description of the computer as a series of levels of abstraction in relation to the effect the existence of such levels has on computing methods, is the central theme of this book.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=56110" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:55849</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/55849.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=55849"/>
    <title>My revised C.S. programming curriculum: 7519 pages, in 2 phases</title>
    <published>2025-10-22T03:31:24Z</published>
    <updated>2025-10-22T08:33:02Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">I find myself challenged by friction between wanting to gain specific knowledge and the urgency of landing jobs to make money.&lt;br /&gt;&lt;br /&gt;This morning I have been contemplating deeply on the pressure to get ready to earn money and the depth of knowledge I want to obtain. And consequently I have been juggling with books that I want to study in terms of page count and contents, to create a suitable curriculum.&lt;br /&gt;&lt;br /&gt;I concluded that I want to aim for income asap but without compromising on the knowledge I eventually want to obtain.&lt;br /&gt;&lt;br /&gt;To achieve this balance I defined 2 phases: a &lt;strong&gt;Pre-Earn Phase&lt;/strong&gt;&amp;nbsp;and&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;a &lt;strong&gt;Post-Earn Phase &lt;/strong&gt;(2384+5135=7519 pages)&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;The 3 Books I target now, in my PRE-Earn Phase&lt;/u&gt;&amp;nbsp;&lt;/strong&gt;(801+879+704=2384 pages)&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;1.&amp;nbsp;Structured Computer Organization 6th Ed. -&amp;nbsp; A.S. Tanenbaum &amp;amp; T. Austin, 2013. &lt;/strong&gt;(801 pages)&lt;br /&gt;This book covers the fundamentals of computer hardware in relation to programming as well as an introduction to ASM programming.&lt;br /&gt;&lt;img src="https://i.postimg.cc/wx0BxwmJ/sco-p1.png" width="175" height="230" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;2. x64 Assembly Language Step-By-Step Programming 4Ed. - J. Duntemann, 2023. &lt;/strong&gt;(879 pages&lt;strong&gt;)&lt;/strong&gt;&lt;br /&gt;This book covers the fundamentals of ASM programming.&lt;br /&gt;&lt;img src="https://i.postimg.cc/sD8j8kxH/asm-s-b-s.png" width="175" height="219" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;3.&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;Sams Teach Yourself&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;C Programming, 7Ed. -&amp;nbsp; B.L. Jones, P.G. Aitken, D. Miller,&amp;nbsp;2013. &lt;/strong&gt;(704 pages)&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;img src="https://i.postimg.cc/qvx3TBKB/stys-c.png" width="175" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;u&gt;&lt;strong&gt;3 Books I want to target in my POST-Earn Phase&lt;/strong&gt;&lt;/u&gt;&amp;nbsp;(2614+1999+522=5135 pages)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Computer Systems: A Programmer's Perspective, 3Ed. -&amp;nbsp; R.E. Bryant &amp;amp; D.R. O'Hallaron, 2016.&amp;nbsp;&lt;/strong&gt;(2614 pages)&lt;br /&gt;This book was already on my list since I started me study, but back then I decided not to use it because I assumed using Linux OS was a per-requisite and I was using Windows XP. Now I am using Windows 10, which offers the Windows Subsystem for Linux, so the barrier to use it is now out of the way. It covers detailof computer hardware in relation to programming.&lt;br /&gt;&lt;img src="https://i.postimg.cc/156WgRQz/CSaPP.png" width="175" height="232" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;2.&amp;nbsp;Assembly Programming for x86 Processors 8th Ed. - K. Irvine, 2019. &lt;/strong&gt;(1999 pages)&lt;br /&gt;This book covers assembly programming, the low-level programming language that sits between hardware and high-level programming.&lt;br /&gt;&lt;img src="https://i.postimg.cc/rFJPhNgR/al-x86.png" width="175" height="237" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;3. Modern C 3th Ed. -&amp;nbsp;&amp;nbsp;J. Gustedt, 2025. &lt;/strong&gt;(522 pages)&lt;br /&gt;This book covers intermediate level C programming, according to the C23 standard.&lt;br /&gt;&lt;img src="https://i.postimg.cc/2y3SPrfP/modern-c.png" width="175" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=55849" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:55127</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/55127.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=55127"/>
    <title>SCO Ed6 Page1-2 - Phase1 0002/2384</title>
    <published>2025-10-20T14:29:57Z</published>
    <updated>2025-10-23T07:04:12Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all&amp;nbsp;&lt;/em&gt;&lt;em&gt;exercises they offer, and comment cursively. I list pages done vs total pages, including any roman and appendix numbering.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;SCO Ed6 Page1-2 - Phase1 0002/2384&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;1 INTRODUCTION&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;A &lt;em&gt;digital computer&lt;/em&gt; = a machine that does (&lt;em&gt;computing&lt;/em&gt;) tasks for people. To make the machine do specific tasks, instructions are given to it. A set of such instructions is called a &lt;em&gt;program.&amp;nbsp;&lt;/em&gt;These instructions are directed to the core of the computer, which consists of circuits that are affected by these instructions. At the (near to) base level those instructions are very simple:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;check the state of what is already set&lt;/li&gt;&lt;li&gt;add 2 digits&lt;/li&gt;&lt;li&gt;check whether a digit stored is zero&lt;/li&gt;&lt;li&gt;copy a state of one memory location to another memory location&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;A collection of possible instructions forms a language that users use to communicate with the computer. This language, to which the computer can respond, we call &lt;em&gt;machine language.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;People who design a new computer also record the body of instructions with which to operate it. Because the machine can only understand very simplistic instructions, this language is tedious to handle by humans, especially once instruction sets become elaborate.&lt;br /&gt;&lt;br /&gt;For this reason people created a language that consist of prepared instruction sets that are triggered by human-understandable commands. These commands are easier to understand, oversee and organize by humans. This language formed a first layer on top of the machine language. Later more layers were built, each on top of the former, in the same way. These languages became ever more clear and intuitive to use by humans.&lt;br /&gt;&lt;br /&gt;The way that computer instructions are thus organized, is called &lt;strong&gt;structured computer organization&lt;/strong&gt;. This is also the name of this book, and in the next section we will explain what this term exactly means. After this explanation we will look into historical developments, and the current state of the art of programming computers.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;1.1 STRUCTURED COMPUTER ORGANIZATION&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Computers can not understand human language and humans can not easily understand computer language&lt;strong&gt;.&amp;nbsp;&lt;/strong&gt; This book explains how this gap can be bridged.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.1.1 Languages, Levels, and Virtual Machines&lt;/strong&gt;&lt;br /&gt;There are 2 main methods in vogue to solve the problem. Both ways involved designing a new,set of instructions that is more convenient for humans to use. These sets form each a new language which we will, for the sake of example, call Level 1 languages. The collection of machine instructions we already had, we will call the Level 0 language. Our 2 L1 languages differ from one another in their approach and we will call them A and B.&lt;ul&gt;&lt;li&gt;In the case of the&amp;nbsp;&lt;u&gt;L1 A&amp;nbsp;&lt;/u&gt;&amp;nbsp;language, a &lt;strong&gt;compiler &lt;/strong&gt;replaces &lt;strong&gt;all&lt;/strong&gt;&amp;nbsp;instructions in a program with the equivalent sequence of instructions in L0 machine language &lt;strong&gt;before &lt;/strong&gt;executing the newly begotten program in its entirety. This method is called &lt;strong&gt;translation&lt;/strong&gt;, and the program that replaces the original text a &lt;strong&gt;compiler&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;In the case of the &lt;u&gt;L1 B&lt;/u&gt; language, a &lt;em&gt;runtime environment &lt;/em&gt;replaces and immediately runs the program's instructions, one after the next. This method is called &lt;strong&gt;interpretation&lt;/strong&gt; and the program that interprets the interpreted instructions the &lt;strong&gt;interpreter&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;In both cases the program is created in L1 language and then converted and ran as L0 instructions. But in the first case the program is first converted entirely and only then ran, while in the second case the program is converted and ran instruction per instruction. Both types of languages are commonly used today and even mixed with one another.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=55127" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:54808</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/54808.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=54808"/>
    <title>My curriculum: Comp. Systems+Assembly+C = 3661 pages</title>
    <published>2025-10-20T12:26:21Z</published>
    <updated>2025-10-22T02:09:12Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;strong&gt;My curriculum = 3661 pages&lt;/strong&gt;&lt;/div&gt;Based on my various learning experiences of the past months I evolved to the following study situation, which should get me to a level of comprehensive understanding of modern computer programming.&lt;br /&gt;&lt;br /&gt;Basically I build my knowledge from the bottom up&lt;strong&gt;:&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;1.&amp;nbsp;Structured Computer Organization 6th Ed. -&amp;nbsp; A.S. Tanenbaum &amp;amp; Tod Austin, 2013. 801 pages.&lt;/strong&gt;&lt;br /&gt;This book covers the fundamentals of computer hardware in relation to programming..&lt;br /&gt;&lt;img src="https://i.postimg.cc/wx0BxwmJ/sco-p1.png" width="175" height="230" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;2.&amp;nbsp;Assembly Programming for x86 Processors 8th Ed. - Kip Irvine, 2019. 1999 pages&lt;/strong&gt;&lt;br /&gt;This book covers assembly programming, the medium between hardware and software.&lt;br /&gt;&lt;img src="https://i.postimg.cc/rFJPhNgR/al-x86.png" width="175" height="237" alt="" /&gt;&lt;br /&gt;&lt;strong&gt;3. C Programming: A Modern Approach 2nd Ed. -&amp;nbsp; K.N.K King, 2008. 861 pages&lt;/strong&gt;&lt;br /&gt;This book I already followed, but this is the more recent 2th Edition, which includes the C99 standard.&lt;br /&gt;It covers the C programming language, which is the best language to connect low-level programming with high-level programming.&lt;br /&gt;&lt;img src="https://i.postimg.cc/VLnCgpG7/cpma.png" width="175" height="219" alt="" /&gt;&lt;br /&gt;Understanding these 3 levels of programming will make me a solid programmer who can fill in various kinds of programming jobs.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=54808" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:54749</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/54749.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=54749"/>
    <title>Sound of Frankfurt, Dorian Gray, 1996</title>
    <published>2025-10-20T10:30:20Z</published>
    <updated>2025-10-21T08:00:34Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;strong&gt;&lt;span style="font-size: large;"&gt;Sound of Frankfurt, trance in the&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: large;"&gt;Dorian Gray&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: large;"&gt;club&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: large;"&gt;in 1996&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a href="https://youtu.be/eK4hxAvcQB4?si=yKb5zEfPyBAB2I4s"&gt;https://youtu.be/eK4hxAvcQB4?si=yKb5zEfPyBAB2I4s&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/xCY8MxD2/dorian-gray-mix.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=54749" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:54350</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/54350.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=54350"/>
    <title>Additional study subjects: x86 Assembly and Hardware Architecture</title>
    <published>2025-10-19T14:24:24Z</published>
    <updated>2025-10-19T14:28:25Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;strong&gt;To achieve programming mastery&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;I add 2 subjects: &lt;/strong&gt;&lt;strong&gt;x86 &lt;/strong&gt;&lt;strong&gt;Assembly and Hardware Architecture&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To reach my goal,&amp;nbsp;I need to add a few other, necessary, subjects to my curriculum.&lt;/div&gt;&lt;p&gt;I got my eye on a popular study text book that in itself might be enough to do that.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&amp;quot;Assembly Language for x86 Processors&amp;nbsp;8th Ed.&amp;quot;&lt;/em&gt;&amp;nbsp;Kip Irvine, 2019&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This book teaches low level programming and programming-related hardware knowledge.&lt;br /&gt;&lt;br /&gt;Tools used: &lt;u&gt;Microsoft Visual Study 2022&lt;/u&gt; + &lt;u&gt;MASM for x86 assembly programming&lt;/u&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;img src="https://i.postimg.cc/rFJPhNgR/al-x86.png" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=54350" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:54158</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/54158.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=54158"/>
    <title>ASM Programming: MASM, GAS, TASM, NASM, FASM*</title>
    <published>2025-10-17T04:24:33Z</published>
    <updated>2025-10-17T06:40:18Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;strong&gt;ASM Programming&lt;/strong&gt;&lt;/div&gt;Assembly is the oldest form of short hand coding used to create machine language (object code) instruction sets (programs) for CPU's. High level programming languages were meant to improve on it, making programming even more short-handed, but at the cost of familiarity with the hardware: the computers that programmers are creating the instruction sets for.&lt;br /&gt;&lt;br /&gt;Because mastery to me means really knowing what one is doing, I learn ASM as a basic and C and C++ as complementary languages to that basic, all in order to write the best programs I can.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;MASM, GAS, TASM,&amp;nbsp;NASM, FASM&lt;/strong&gt;, are the most prominent softwares for assembly programming.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MASM&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Microsoft Macro Assembler&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Released in 1981.&lt;br /&gt;Microsoft's x86 assembler for MS-DOS and Windows &lt;u&gt;only&lt;/u&gt;.. Integrated with VS Code and the Windows SDK.&lt;br /&gt;It&amp;nbsp;comes in two versions:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;one for 16-bit &amp;amp; re-bit&lt;/li&gt;&lt;li&gt;one for 64-bit&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;GAS&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Gnu Assembler&lt;/em&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Released in 1986&lt;strong&gt;.&lt;br /&gt;&lt;/strong&gt;It  is principally cross-platform and cross-architecture,&amp;nbsp; good for Windows, also good for ARM/Android, especially suitable for Linux and Unix systems.. It is the default back-end of  the GCC compiler and used to assemble the GNU OS and the Linux kernel. It is part of the GNU Binutils package. and is commonly used with the CLANG and GCC compilers. Uses AT&amp;amp;T syntax by default and Intel syntax can be enabled in some cases.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TASM&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Turbo Assembler&lt;/em&gt;&lt;br /&gt;Released in 1989.&lt;br /&gt;By Borland. 16-bit &amp;amp; 32-bit x86 for MS-DOS and Windows. Comes with Turbo Linker and can works seamlessly with Turbo Debugger. It can be used in unison with the companies other programming products:&amp;nbsp; Turbo Pascal, Turbo Basic, Turbo C and Turbo C++&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;NASM&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Netwide Assembler&lt;/em&gt;&lt;br /&gt;Released in 1996.&lt;br /&gt;One  of the most popular assembler program for Linux, Windows and Mac OS. Does not support ARM so can not be used for Android OS. Netwide Assembler / dissembler&amp;nbsp; for Intel x86 architecture.  For 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. Uses only Intel syntax.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;FASM&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Flat Assembler&lt;/em&gt;&lt;br /&gt;Released in 2000.&lt;br /&gt;For Intel-style x86 CPU's. Cross-OS and cross-architecture, supporting Windows, Linux, MAC&amp;nbsp;OS, Android - IA-32 and x86-64 architectures. free, and open-source.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;*I use &lt;/strong&gt;&lt;strong&gt;&lt;u&gt;FASM&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;for my programming.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=54158" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:53987</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/53987.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=53987"/>
    <title>TCPL 2Ed - Page 018 - 8.30% Completion</title>
    <published>2025-10-16T12:10:10Z</published>
    <updated>2025-10-17T04:21:26Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;PS I synthesize here in my own words what K&amp;amp;R teach, re-write all their example programs, character by character, solve all &lt;/em&gt;&lt;em&gt;the                   C exercises they hand out. I comment  to    what   K&amp;amp;R       teach       cursively. I do not copy-paste anything from    the     book!&amp;nbsp;&lt;/em&gt;&lt;em&gt;In           regards to the percentages listed:   books   often have prefaces    with     Roman    numbers and often also   lengthy   Appendices. In my percentage calculation I    include    all   pages that  I  effectively study and     synthesize, including   non-regular pages.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;&lt;strong&gt;TCPL 2Ed - Page 018 - 8.30% Completion&lt;br /&gt;&lt;br /&gt;1.5.2 Character Counting&lt;br /&gt;&lt;/strong&gt;Now a program, similar to the copy program, that counts characters&lt;strong&gt;:&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;img src="https://cdn.imgchest.com/files/b2e9ce9f144c.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=53987" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:53517</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/53517.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=53517"/>
    <title>Macro's and EOF - End Of File</title>
    <published>2025-10-15T15:12:14Z</published>
    <updated>2025-10-16T11:51:33Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Macro's in C&lt;br /&gt;&lt;/strong&gt;Macro's are program-writing tools to write a program more efficiently. They are implemented BEFORE compilation, during preprocessing, and affect the language the compiler gets to compile but not the compilation itself.&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;EOF - End-Of-File in C&lt;br /&gt;&lt;/strong&gt;EOF is, in fact, a macro. The pre-processor replaces all the programmer's mentions in a program of EOF with an agreed to value.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Preprocessing&lt;/strong&gt;&lt;br /&gt;With C we instruct the compiler to create a program in machine language. We use instructions that the compiler understands, but not the hardware. The compiler makes our program understandable to the hardware., Many aspects of C guide the compiler, macro's are one element to that, but also headers and others, where as algorithms go deeper into the underlying mechanics of computation itself. Preprocessing, as it were, creates a form document , readable by the compiler, that is then entered into the compiler and compiled to machine language. These are all layers of abstraction to bridge the human mind and the hardware with one another.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=53517" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:53396</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/53396.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=53396"/>
    <title>TCPL 2Ed - Page 017 to 018 - 8.30% Completion</title>
    <published>2025-10-15T03:45:27Z</published>
    <updated>2025-10-16T12:03:25Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;PS I synthesize here in my own words what K&amp;amp;R teach, re-write all their example programs, character by character, solve all &lt;/em&gt;&lt;em&gt;the                  C exercises they hand out. I comment  to    what  K&amp;amp;R       teach       cursively. I do not copy-paste anything from   the     book!&amp;nbsp;&lt;/em&gt;&lt;em&gt;In           regards to the percentages listed:  books   often have prefaces    with     Roman    numbers and often also  lengthy   Appendices. In my percentage calculation I    include    all  pages that  I  effectively study and     synthesize, including  non-regular pages.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;&lt;strong&gt;TCPL 2Ed - Page 017 to 018 - 8.30% Completion&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Parentheses around assignments within a condition  are essential. The precedence of != is higher than that of =, which  means that, were there none, the relational test would happen before the  assignment =.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/V6sMrYd1/251015-tcpl-p17-1.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;is equal to&lt;br /&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/k4M86nBJ/251015-tcpl-p17-2.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;But they have a different effect depending on whether or not the call of getchar encountered end of file.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Exercise 1-6&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;strong&gt;Verify that the expression getchar () !=EOF is 0 or 1&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;tcpl_p17-3.c&lt;br /&gt;&lt;img src="https://cdn.imgchest.com/files/12a39ad18603.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;tcpl_p17-3.exe&lt;br /&gt;&lt;img src="https://cdn.imgchest.com/files/a97b955c6b04.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Exercise 1-7&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;strong&gt;Write a program to print the value of EOF&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;tcpl_p17-4.c&lt;br /&gt;&lt;img src="https://cdn.imgchest.com/files/0fc9622d63d2.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;tcpl_p17-4.exe&lt;br /&gt;&lt;img src="https://cdn.imgchest.com/files/ec9b378f93f6.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=53396" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:53162</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/53162.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=53162"/>
    <title>TCPL 2Ed - Page 017 to 018 - 8.30% Completion</title>
    <published>2025-10-13T00:02:51Z</published>
    <updated>2025-10-15T04:33:54Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;PS I synthesize here in my own words what K&amp;amp;R teach, re-write all their example programs, character by character, solve all &lt;/em&gt;&lt;em&gt;the                 C exercises they hand out. I comment  to    what K&amp;amp;R       teach       cursively. I do not copy-paste anything from  the     book!&amp;nbsp;&lt;/em&gt;&lt;em&gt;In           regards to the percentages listed: books   often have prefaces    with     Roman    numbers and often also lengthy   Appendices. In my percentage calculation I    include    all pages that  I  effectively study and     synthesize, including non-regular pages.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;&lt;strong&gt;TCPL 2Ed - Page 18 - 8.30% Completion&lt;br /&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/KznyYQ5q/tcpl-17-1.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;while here, gets a character, assigns it to c and then also tests whether that character was the end-of-file signal.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;If it is not, the body of the while is executed, printing the character. The while will repeat until the end of the input is reached. When that happens the while and main as a whole terminate.&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;This version of the program is more compact and, once the language grammar is understood, easier to read: it puts the input centrally: there is only one reference to getchar&lt;strong&gt;.&lt;br /&gt;&lt;/strong&gt;We should, while writing code, always maintain a balance between our code being concise as well as readable&lt;strong&gt;.&lt;/strong&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=53162" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:52880</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/52880.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=52880"/>
    <title>TCPL 2Ed - Page 017 to 018 - 8.30% Completion</title>
    <published>2025-10-12T10:53:47Z</published>
    <updated>2025-10-12T23:41:52Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;em&gt;PS I synthesize here in my own words what K&amp;amp;R teach, re-write all their example programs, character by character, solve all &lt;/em&gt;&lt;em&gt;the                C exercises they hand out. I comment  to    what K&amp;amp;R      teach       cursively. I do not copy-paste anything from  the    book!&amp;nbsp;&lt;/em&gt;&lt;em&gt;In           regards to the percentages listed: books  often have prefaces    with     Roman    numbers and often also lengthy  Appendices. In my percentage calculation I    include    all pages that I  effectively study and     synthesize, including non-regular pages.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;TCPL 2Ed - Page 18 - 8.30% Completion&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;In this version of the program the input stands central. There is only one reference to getchar:&lt;br /&gt;&lt;img src="https://i.postimg.cc/KznyYQ5q/tcpl-17-1.png" alt="" /&gt;&lt;br /&gt;This is the same program as Which I created in Dev-C++ but I had an error, probably due to using  ANSI C89, while Dev-C++, by default, probably uses C99 or C11. &lt;a href="https://sorcerer-see.dreamwidth.org/50652.html"&gt;https://sorcerer-see.dreamwidth.org/50652.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have just now rewritten it in PowerShell 7.5.3 + Neovim and compiled with Clang:&lt;img src="https://i.postimg.cc/ncV68qXJ/tcpl-p17-2.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=52880" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:52676</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/52676.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=52676"/>
    <title>Activity Report 25 10 12 - noon</title>
    <published>2025-10-12T06:47:41Z</published>
    <updated>2025-10-12T09:31:17Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;u&gt;&lt;strong&gt;Activity Report 25 10 12 - noon&lt;/strong&gt;&lt;/u&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;Current objective&lt;br /&gt;&lt;/strong&gt;C development of applications for modern Windows OS, within&lt;/div&gt;&lt;ul&gt;&lt;li&gt;PowerShell Core terminal&lt;/li&gt;&lt;/ul&gt;with&lt;ul&gt;&lt;li&gt;Vim text editor&lt;/li&gt;&lt;li&gt;Clang/LLVM compiler&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;2. Installing Vim text editor&lt;br /&gt;&lt;/strong&gt;In my drive for advanced modern development tools I will download and install Neovim and see if it can run from within PowerShell, so that I can use it like I was using Vim in Linux bash. Neovim is a vastly extended version of the classic Vim. To install it in PowerShell I need to use a package manager. I can use Scoop or Chocolatery. In this case I decided to use Scoop.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.1 Installing Scoop&lt;br /&gt;&lt;img src="https://i.postimg.cc/598wTcmz/25-10-12-install-scoop.png" alt="" /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;2.2 Installing Nvim&lt;br /&gt;&lt;img src="https://i.postimg.cc/kGwDCy4F/25-10-12-install-nvim-1.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;2.3 Nvim&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;Installed!&lt;br /&gt;&lt;img src="https://i.postimg.cc/tCMCzJVr/25-10-12-install-nvim-2.png" width="394" height="256" alt="" /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;2. Installing Clang C compiler&lt;br /&gt;&lt;br /&gt;2.1 Checking whether I already have Clang&lt;br /&gt;&lt;img src="https://i.postimg.cc/nV16xWFb/25-10-12-install-clang.png" alt="" /&gt;&lt;/strong&gt;Clang is already installed: Clang version 21.1.2, which is the latest. I probably already installed it the past week.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Testing my setup&lt;br /&gt;&lt;br /&gt;3.1 Write ANSI C89 C file main.c&lt;br /&gt;&lt;img src="https://i.postimg.cc/R0LZzRqg/25-10-12-test-setup-1.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;3.2 Compiling and executing main.c&lt;br /&gt;&lt;img src="https://i.postimg.cc/25gRML7T/25-10-12-test-setup-2.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Done! Setup for my&amp;nbsp;&lt;strong&gt;current objective realized&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/strong&gt;&amp;quot;C development of applications for modern Windows OS, within&lt;ul&gt;&lt;li&gt;PowerShell Core terminal&lt;/li&gt;&lt;/ul&gt;with&lt;ul&gt;&lt;li&gt;Vim text editor&lt;/li&gt;&lt;li&gt;Clang/LLVM compiler&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=52676" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:52383</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/52383.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=52383"/>
    <title>Activity Report 25 10 12 - morning</title>
    <published>2025-10-12T03:36:01Z</published>
    <updated>2025-10-12T09:33:06Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;u&gt;&lt;strong&gt;Activity Report 25 10 12 - morning&lt;/strong&gt;&lt;/u&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;Current objective&lt;br /&gt;&lt;/strong&gt;C development of applications for modern Windows OS, within&lt;/div&gt;&lt;ul&gt;&lt;li&gt;PowerShell Core terminal&lt;/li&gt;&lt;/ul&gt;with&lt;ul&gt;&lt;li&gt;Vim text editor&lt;/li&gt;&lt;li&gt;Clang/LLVM compiler&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;1.2 Installation of PowerShell Core 7.5.3 Part 2&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;1.2.1 Checked my current version of PowerShell&lt;br /&gt;&lt;/strong&gt;&lt;img src="https://i.postimg.cc/wMPJLybW/25-10-12-install-ps-0.png" alt="" /&gt;&lt;br /&gt;It is PowerShell version 5.1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.2.2 Search the current latest PowerShell version from PowerShell bash&lt;/strong&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/XJqpLN5s/25-10-12-install-ps-1.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/8zbRn5Fj/25-10-12-install-ps-2.png" alt="" /&gt;&lt;br /&gt;Latest is 7.5.3.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.2.3 Upgrade PowerShell from 5.1 to 7.5.3&lt;br /&gt;&lt;img src="https://i.postimg.cc/bNV800gv/25-10-12-install-ps-3.png" alt="" /&gt;&lt;br /&gt;&lt;/strong&gt;Upgrading PS did not work.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.2.4 Upgrade winget&lt;br /&gt;&lt;img src="https://i.postimg.cc/rwt6SBzW/25-10-12-install-ps-4.png" alt="" /&gt;&lt;/strong&gt;&lt;br /&gt;Upgrading winget did also not work, since I apparently already got the latest winget version (that fits with PS 5.1)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.2.5 PS 5.1 is Windows PowerShell and not PowerShell Core&lt;br /&gt;&lt;/strong&gt;The PS I have installed is the latest version of the non-core predecessor of PowerShell Core. The former is Windows only and the latter works cross-platform.&lt;br /&gt;Because these programs are fundamentally different, one can not be upgraded to the other, and the latter can also not be installed from within the former. Hence we will use the .msi installer from the PowerShell website and installe PS 7.5.3 alongside WPS 7.1, asd the two different programs they are. However WPS 5.1 is outdated and will eventually become depreciated, while PS Core will continue to be developed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.2.6 Installing PowerShell 7.5.3 Core&lt;/strong&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/sxhjvMFc/25-10-12-install-ps-5.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;The .msi package downloaded:&lt;br /&gt;&lt;img src="https://i.postimg.cc/nhcL1cBR/25-10-12-install-ps-6.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Done! PowerShell Core 7.5.3 installed!&lt;br /&gt;&lt;img src="https://i.postimg.cc/Fz8xVnnn/25-10-12-install-ps-7.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=52383" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2025-06-20:4233726:52222</id>
    <link rel="alternate" type="text/html" href="https://sorcerer-see.dreamwidth.org/52222.html"/>
    <link rel="self" type="text/xml" href="https://sorcerer-see.dreamwidth.org/data/atom/?itemid=52222"/>
    <title>25 10 11 Activity Report</title>
    <published>2025-10-11T11:21:12Z</published>
    <updated>2025-10-12T03:35:21Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;div style="text-align: left;"&gt;&lt;u&gt;&lt;strong&gt;25 10 11 Activity Report&lt;/strong&gt;&lt;/u&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;Current objective&lt;br /&gt;&lt;/strong&gt;C development of applications for modern Windows OS&lt;/div&gt;within&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PowerShell Core terminal&lt;/li&gt;&lt;/ul&gt;with&lt;ul&gt;&lt;li&gt;Vim text editor&lt;/li&gt;&lt;li&gt;Clang/LLVM compiler&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;1.1 Installation of PowerShell Core 7.5.3 Part 1&lt;/strong&gt;&lt;br /&gt;&lt;img src="https://i.postimg.cc/252fr7Zg/OIP-421052804.jpg" width="40" height="40" alt="" /&gt;&lt;br /&gt;&lt;em&gt;PowerShell &lt;/em&gt;is Microsoft's answer to Linux bash. Its function consists of &lt;strong&gt;command-line shell, scripting, task automation&lt;/strong&gt; and operating system &lt;strong&gt;configuration management&lt;/strong&gt;. The shell has a built-in command-line- and script interpreter which are directed by textual commands of a language specially designed for it. Formerly PowerShell was solely a Windows application ('Windows PowerShell') but in 2016 PowerShell was made platform agnostic in the form of &lt;em&gt;PowerShell Core&lt;/em&gt;, and now works on Windows, Linux and Mac OS.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Command-line&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;PowerShell not only accepts and returns text, like other shells do, but also accepts and returns .NET objects. .Net objects are elements of the .Net programming framework, which supports several languages, among which C# is an important one.&lt;br /&gt;&lt;br /&gt;Features of the command-line shell:&lt;ul&gt;&lt;li&gt;command-line history&lt;/li&gt;&lt;li&gt;tab completion&lt;/li&gt;&lt;li&gt;command prediction&lt;/li&gt;&lt;li&gt;command aliases&lt;/li&gt;&lt;li&gt;parameter aliases&lt;/li&gt;&lt;li&gt;chaining commands&lt;/li&gt;&lt;li&gt;in-console help system&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Scripting&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;With scripts, the PowerShell user, can automate management aspects of an operating system. Scripting language can also be used to automate the delivery of software solutions, like in CI/CO environments. PowerShell itself is built within the .Net framework. All its inputs and outputs are .Net objects.&lt;br /&gt;&lt;br /&gt;Features of the PowerShell Script :&lt;ul&gt;&lt;li&gt;extensibility thanks to functions, classes, scripts and modules&lt;/li&gt;&lt;li&gt;extensibility of system formatting for easy input&lt;/li&gt;&lt;li&gt;extensibility in terms of system types, for the creation of dynamic types&lt;/li&gt;&lt;li&gt;built-in support for common data formats like CSV, JSON and XML&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Task automation&lt;/strong&gt;&lt;br /&gt;PowerShell provides an ecosystem of modules that manage various technologies:&lt;br /&gt;&lt;br /&gt;- Microsoft Modules&lt;ul&gt;&lt;li&gt;Azure&lt;/li&gt;&lt;li&gt;Windows&lt;/li&gt;&lt;li&gt;Exchange&lt;/li&gt;&lt;li&gt;SQL&lt;/li&gt;&lt;/ul&gt;- Third-party modules&lt;ul&gt;&lt;li&gt;AWS&lt;/li&gt;&lt;li&gt;VMWare&lt;/li&gt;&lt;li&gt;Google Cloud&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Configuration management&lt;/strong&gt;&lt;br /&gt;PowerShell's DSC (Desired State Configuration) is a management framework for enterprise infrastructure that can:&lt;ul&gt;&lt;li&gt;create declarative configurations&amp;nbsp;for repeatable deployments&lt;/li&gt;&lt;li&gt;create custom scripts&amp;nbsp;for repeatable&amp;nbsp;deployments&lt;/li&gt;&lt;li&gt;enforce configuration settings&lt;/li&gt;&lt;li&gt;report on configuration drift&lt;/li&gt;&lt;li&gt;deploy configuration with push/pull models&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=sorcerer_see&amp;ditemid=52222" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
