Posts

wk4: The Illusion of Memory

 I remember during my intro to comp arch course at a community college, the professor always showed us and reminded us that the memory that the program sees is not the physical memory.  I appreciate  him teaching us about this early on as it gained my interest to learn how exactly the OS manages that. Memory virtualization is a topic that makes every process think they have their own playground.  This allows the OS to manage the memory allocation while the program itself can do what it was programmed to do.  I also learned about paging which allows the translation of the virtual memory space to the physical memory locations.    For as long as I remember I tried again and again I tried to learn linux systems and something that caught my eye was the step to make swap space on the harddrive.  I wondered why Id have to do such a thing since windows doesnt have it.  But the idea behind it to use the harddrive as a backup memory location makes...

wk2: Trust the Process

 In the year 2012, Kobe Bryant was having a season filled with injuries and ups and downs, but confidently he said to "Trust the process" in order to achieve his goal of another NBA championship.  While he wasn't able to get this sixth championship, his saying still lives on.  Though I'm sure Kobe wasn't aware that trusting the process lies within our computers that allows them to perform whatever we tell them.   I've learned the interesting bits about how the OS manages processes through the fork() and exec() commands, which appear simple but allow the OS to perform multiple processes.  I later learned about how the OS manages permissions between the user and kernel, so the user can temporarily access higher permissions through the use of traps. Also fun to think about the potential of traps if one were to gain access, they can run malicious code.

CST334 - OS - WK1

 The first week of CST334 has been interesting, since I've always wondered how computers bridge the gap between hardware and software, and it seems like the OS is the glue that holds it all together.  I remember back in the lower division course of Computer Architecture, the professor spoke about how data is placed in memory and seeing where in the memory this information is being stored.  He was careful to point out that the memory address that was seen is not exactly the hardware memory address because of virtualization.  Then in the first week of this course we were exposed to virtualization to see how the OS manages the flow of information.  I find that all the computer things I've learned in the past through online tutorials like setting up linux machines, etc, are coming together, to understand why that command I copy and pasted to change file permissions are actually doing!

CST 363 Final Week

 The top 3 important topics I learned in this course are probably the following: SQL Database Design  Learning databases are designed and how information is organized and categorized in tables CRUD Operations Understanding CRUD operations is essential for building applications that interact with databases, as it covers how to add, retrieve, modify, and remove data.   NoSQL like Mongodb It’s important to understand the benefits and use cases for NoSQL databases, like scalability and handling unstructured data, as well as their trade-offs compared to relational databases.

CST 363 Wk7:

 I 100% prefer MongoDB, it's very intuitive compared to SQL statements, since it's more modern.   Some similarities are the CRUD operations, which makes going from SQL to MongoDB easy to handle. I do like how flexible the data is stored in MongoDB rather than SQL.

CST 363 Wk5: Slow Indexes

 Well hello! it's been awhile hasn't it? Even though indexes are generally fast and enhance query performance, but if the database is poorly designed and/or maintained then the index would have a negative effect on performance. For example table data can be unsorted and the index scan has to search all matching indexes instead of just finding a single matching value. .

Wk07/08: Learning Journal Summary

Taking a look back at HW1 Histogram  After looking at Histogram assignment, I feel like some operations could be handled in a different class.  For example a separate class to read in the file.  Then another class that does the counting of letters and counts, as well as creating a histogram.  Then the main class is one that handles all the class creation and displaying the histogram.   Highlighting two victories   Looking back to see where I started and now I'm impressed at how much I've learning especially in software design.  I learned to appreciate creating class diagrams early on to visualize how information flows and create a better product at the end.  I actually started implementing this strategy at work for some simple python tools.   The 2nd victory would be Android programming in general since I originally had no clue how Android programming worked.  I heard it's close to java, but has it's own built in libraries and built...