Category: Programming

  • How to Enable HTTPS on Your Apache Ubuntu Web Server

    I thought this is an easy task, but after searching for various ways on the internet, it is not as simple as I imagined. There are many ways to enable HTPPS on your web server depending on what server software is used, the operating system, and where the server is running. In my case, I […]

  • Now I Understand: What is Oblivious RAM?

    ORAM is the acronym of an Oblivious Random-Access Machine. The main idea is to hide the access patterns from attackers. For example, when a client tries to access data stored in the server, the server cannot gain any information about the user access pattern. Imagine data storage, where each data is inside a block, and […]

  • How to Run Linux on RISCV in Arty A7-100T FPGA

    It’s been tempting for me to try running open-source software on top of open-source hardware. SiFive provides a bitstream for Arty A7 called Freedom, but it seems that the repository is dead now. The other interesting alternative to try is VexRiscv, and everyone keeps posting about Arty A7 35T while I only have the 100T […]

  • Git Pristine: How to Pristine Clean Your Dirty Git Repository

    I found this command useful and I love this alias! git pristine, a command that will wipe any dirt on your local git copy, any untracked files, and the cache will be removed to make it pristine clean as the remote origin.

  • QEMU: How to Enable Plugin Build

    By default, QEMU does not enable the plugins. So you need to enable it on configure step by using –enable-plugins.

  • This Makes My RISC-V Trap Handler Does Not Work

    I was working on a RISCV assembly when suddenly I got a weird issue. The exception does not get caught in the trap handler. I thought this was a QEMU bug on the RISCV target because the trap handler works on my other code. Then after a day of digging, I figured out that it […]

  • The RISCV ISA Documentation Is Better than RISCV Green Card

    I hosted the RISCV ISA Documentation. This is really helpful if you want to learn about the assembly syntax or learning the RISCV itself. As a beginner, this documentation is more effective instead of constantly checking at the green card. 🙂

  • My Quick Ways to Auto Format Code in VSCode

    I don’t have much time to format my code to looks neat in VSCode (Ctrl + Shift + I), but the default formatting from Visual Code is not efficient for me. It makes the first bracket on function placed alone in one line. This makes my code longer!

  • Stuck at Debugging RISCV on Arty A7 using J-Link

    Running the RISCV Processor I got an Arty A7 board coming to my desk, and I’m curious to try running a RISCV processor on it. Not long after following the tutorial from Digilent, I was able to program the RISCV processor on this board just by using a MicroUSB cable. Running the Program on RISCV […]

  • How to Install Xilinx using Command Line in Four Steps

    I just got some problem with Xilinx 2020.1 installation on my Pop OS. The installer was stuck and gives me an error message: This seems like the GUI problem on the installer. So let’s just continue using batch mode.