This is an old revision of the document!
Table of Contents
About Azman
“One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one’s greatest efforts.” - Albert Einstein
Curriculum Vitae: Basic Resume (Mini)
Feature: my1sim85 (releases), my1emu85, my1asm85, my1digitaljs
Useful Note(s): Linux (Slackware| Devuan), FreeBSD, Raspberry Pi, MCU51 (8051), Git (SCM)
Not-so-complete Note(s): Code:C, Code:C++, Code:Python, Code:Javascript, Code:HDL, System Design
Mini-blog
“Intelligence is not the ability to store information, but to know where to find it.” - Albert Einstein
Another LAME blog (by me, of course ).
MY1 C Compiler
Guess what I have been doing for the last month? I call it my1cc (duh!)… and I have published my initial work at codeberg.org. Obviously it is wayyyyy from being usable, but the parser seems to work… somewhat. In the end, I was hoping to develop a usable C compiler for 8051/8085 platforms, so that I can use it in my microcontroller/microprocessor classes. I do have to pause a bit… hopefully I can resume A.S.A.P.
But, DO NOT hold your breath for that
That is all I have to say about that.
SPM-Level Computer Science
It turns out, Computer Science (CS) for SPM (Malaysia Certificate of Education @MCE) deals mainly with database and web interface. I have developed database-related systems before, but I was doing it without having formal class on it. Basically, I simply wing-it based on what I know on how computers store data (i.e. C data types).
I need to help my son with some questions, so I looked up 'database normalization' and found some things. The good thing is the way I implemented my database is mainly the 'correct' way. The not-so-good thing is that I am NOT able to help my son much with the practice questions - simply too many terms that I am not familiar with. Just shows that implementations need not be theoretically developed - experience (and good fundamentals) can also help to produce relatively sufficient results.
Anyways, the main reason I am writing this here is to 'store' the following 'note' (for my personal future reference).
- db_normalization.txt
Database Normalization Five 'rules' to make data normal: 1NF,2NF,...,5NF (NF=normal form) - each rule builds on another, starting from 1NF - 1NF/2NF/3NF -> Core Basics (normalization usually means 3NF!) - 4NF/5NF -> Exceptions *Note: Normalization is about grouping & connecting data the right way! 1NF is about - atomic values - unique identifiers *Term: Imagine a spreadsheet -> [table] or [entity] 1NF rules - a cell cannot contain more than 1 value = if it does, that column needs to be split into multiple columns - each row (@record) must be unique = look for potential primary key = usually, we use system-generated (integers are better!) - each column name must be unique - there must be no repeating groups (or cells?) = it there are, remove and create new table (1NF!) 2NF rule - all data/column(s) must depend on the primary key = if it does not, must be split into it own table (1NF!) = use primary key in new table as column value -> foreign key 3NF rule - primary key must define all non-key column(s) = non-key column(s) must not depend on any other key = if this is not met, must create new table and use foreign key to link
Links to stuffs
Things I'm checking out…
- RISC-V - RISC open architecture
- J-Core - SH-compatible (SuperH instruction set) open core design
- Tiny Tapeout - For me, the new MOSIS :p
- Neuromorphic - VLSI with analog circuits… an example is theNeurogrid
- Memristor - Memory capable circuit element… better density, better suited for analog integration?
- CoreBoot - BIOS replacement
- FlashROM - Need this for coreboot?
- Wireless Power - Wireless Charging?
- Game Theory - Something that I was VERY interested in, but just couldn't get the time to look further…
- XL Game Engine - Nice!
- Open Simulator - 3D Application Server
- suckless.org - what do you think?
- Open Street Map - Google Maps alternative? Data only?
- Open Layers - Mapping JS library (BSD licensed)
- Matrix - Open Network, Decentralized Communication
- https://emscripten.org/index.html - Compile C/C++ code into Javascript?
- pcb - Tutorial for PCB layout software
- Wiring info: Wiring
- basically, the minimum (AWG30-gauge) is said to achieve 1A easily although the above site states 860mA/142mA
Interesting Links:
- Image Completer? - Not really related… just like to read about it.
- Auto-Focus - Something I want to explore… also here
- IceStorm - Reverse engineering project that allows fully open source Verilog-to-Bitstream flow for iCE40 FPGAs
- IceStudio - FPGA Block Diagram Design Tool (plus Programmer)… Cool!
- Webots - Robot Simulator
- Player - Robot device Interface (Part of the Player Project)
- ARGoS - Large-scale Robot Simulator?
- Games Development - From Scratch?
- Using hosts file - Interesting!
- InfraRed DB - May want this as reference?
Development Platform
I have decided to use Linux exclusively for my project development work. Which Linux distribution should I use? Let's ask Einstein…
Note #1: I got this image from a link in an LQ forum thread. Please inform me if I should NOT use this image (from legal point of view).
Note #2: I would also like to clarify that you do NOT have to be be Einstein to run Slackware. But, you DO need to know how to read (instructions) and write (specifically, type some stuffs on a computer).
All development work will be done on Linux-based systems - Slackware is recommended and is what I use (Devuan is also a good substitute and what I setup for my family), but I'll also try to accommodate people working on other platforms.
I'm inclined towards the MIT license and the Simplified (2-clause) BSD license. Information on various open source license(s) at OSI website. Read more @ wikipedia
Links to local pages
Training Courses: Introduction to Verilog and ModelSim, Using Raspberry Pi as Data Server for Embedded Systems
Personal Notes: Vim Stuff, Sed Stuff, Database Stuff, Screen Stuff, Qemu Stuff, LibreOffice Stuff, Android App Development, MathPublish(Dokuwiki) Stuff, Cross Compiler Stuff, Samba AD Domain Controller, Computer Network, Android Stuff, VirtualBox Stuff, GTK Stuff, Python CV Stuff, Scripting Stuff, Htaccess Stuff, Random Stuff, (OLD) Games Stuff, Sync Google Drive on Linux FPGA Notes: Xilinx, Xilinx Spartan-3 VSK Barebone, Altera Dev. Notes: Board(s), Display(s)
Archive: Nokia 3310 LCD, Pioneer-3 Robot SDK Basics, Window$ Stuff, Linux on Android
Academic Archive: NMK322 - Microcontroller, NMK201 - Microprocessor, NMK206 - Computer Architecture, PGT444 - B.Eng.Tech. Project (FYP @FTKE), PGT302 - Embedded Software Technology, PGT104 - Digital Electronics, PGT206 - Computer Architecture, PGT200 - Operating Systems, EKT322 - Embedded System Design, EKT222 - Microprocessor Systems, EKT422 - Computer Architecture, EMT251 - Introduction to IC Design, EKT444 - Final Year Project @SCCE, Unisite stuff, Infopedia
Something...
Something to remember…
Note to self
Dokuwiki Stuffs: purge=true (force re-caching) , do=check , do=export_html , do=export_pdf (plugin)
Setting up dokuwiki…
git clone https://github.com/splitbrain/dokuwiki.git git checkout --track origin/stable
Dokuwiki plugins I use:
- dokuwiki_plugins.txt
- blog> https://www.dokuwiki.org/plugin:blog = include> https://www.dokuwiki.org/plugin:include = pagelist> https://www.dokuwiki.org/plugin:pagelist - columns> https://www.dokuwiki.org/plugin:columns - definitionlist>https://www.dokuwiki.org/plugin:definitionlist - dw2pdf> https://www.dokuwiki.org/plugin:dw2pdf - folded> https://www.dokuwiki.org/plugin:folded - iframe> https://www.dokuwiki.org/plugin:iframe - math2|mathpublish> https://www.dokuwiki.org/plugin:mathpublish - move> https://www.dokuwiki.org/plugin:move - orphanswanted> https://www.dokuwiki.org/plugin:orphanswanted - pagebreak> https://www.dokuwiki.org/plugin:pagebreak - tag> https://www.dokuwiki.org/plugin:tag - upgrade> https://www.dokuwiki.org/plugin:upgrade - vshare> https://www.dokuwiki.org/plugin:vshare - wrap> https://www.dokuwiki.org/plugin:wrap

