# SPO600

Reviewing a Peer's Optimization

This post will be one of my last related to this semester, specifically to OSD600 which has seen the class learning quite a bit about Open Source web technologies; contributing to Mozilla’s Thimble in doing so.

Tags

Link

To Fail, is to Learn Without Safety Nets 2

The reason for such debauchery of our beloved cryptographic function? Because in attempts to optimize; I did the polar opposite. Coming to terms with such a fact is a difficult endeavour; analysing why it couldn’t be any more optimized being the only solution at the present time. So, I’ll continue from where I left off on!

Tags

Link

To Fail, is to Learn Without Safety Nets

This series of posts includes not just my admittance to failure, unable to optimize a previously selected function, but also how I learned from said failure in regards to style, logic, and also why the algorithm was already at peak performance.

Tags

Link

Why Mobile Devices Are Built Using AArch64 Chipsets

A common theme in the SPO600 course, is the need for software which originally was written for x86_64 to be ported over to AArch64 chipsets. This includes providing better capability,  optimizations, and developer support for the alternative processing architecture. Doing so is not as easy as one might imagine, for the GCC compiler (in the case of C code) already covers quite a bit of optimizations during compilation on a AArch64 system.

Tags

Link

When Segfaulting Won’t Do

Sometimes, you have a great idea which may improve one of the worst processes a developer routinely experiences over and over, and sometimes your idea is so grand that reality escapes your grasp quicker and quicker with each passing second. This is what I had come to realize after discussing with Chris how I could benchmark my updated segfault function, to which his response was simply, “why?”

Tags

Link

Optimizing Glibc’s SegFault

Segmentation Fault (Core Dumped) is a phrase that many know all too well, so much so that some developers such as yours truly was even granted the pleasurable nickname of ‘segfault’ during their first year at Seneca College. So, when tasked with the intention of optimizing a function or few from the GNU C Library (GLibc for short), I thought I may as well play a hand in ruining other programmer’s days as well. Seeing that segfault() existed in this library lit up my eyes to mischievous intents and melancholy memories, but I knew I wanted to take a crack at improving it.

Tags

Link

Writing Inline Assembly in C

For this exercise, the task was described in the following way, “Write a version of the Volume Scaling solution from the Algorithm Selection Lab for AArch64 that uses the SQDMULH or SQRDMULH instructions via inline assembler”.

Tags

Link

Compiler Vectorization in Assembly

For this exercise, we were tasked with the following instructions, cautioned that only ones with patience would achieve completion of this lab with their sanity intact.

Tags

Link

Algorithm Selection in C

During this lab, we were instructed to program two different implementations which attempted the same process; adjusting the volume of a sequence of samples. This program would be implemented in C, and benchmarked using the conventional time.h library available through the system.

Tags

Link

Compiler Optimizations and Features

When we were given the instructions to search, locate and eventually implement fixes or upgrades to Mozilla’s Thimble or Brackets, I found what perhaps was the most challenging enhancement I could possible implement.

Tags

Link

Assembly Language on x86_64 and aarch64 processors

Assembly language, a low level programming language which enables deeper integration with the supported machine’s architecture.

Tags

Link

Linux Package Build Process

Today we learned how to build GNUChess from source

Tags

Link

Django Python Framework & OptiKey Keyboard Project Analysis

A quick look into the Django and OptiKey project Licenses.

Tags

Link