Louis Better than before

    Migrating from Jekyll to Hexo

    Hello there, this Jekyll’s personal blog was migrated to Wellcome to Louis. Hope my new blog may bring good fortune, success, and happiness. ☀️ Brief I’ve been running my personal blog for about 4 years and am very happy running a static site generator. I’ve picked Jekyll in the past...

    Read more...

    Intorduction to Quick Select Algorithm

    “In computer science, quickselect is a selection algorithm to find the kth smallest element in an unordered list. It is related to the quicksort sorting algorithm. Like quicksort, it was developed by Tony Hoare, and thus is also known as Hoare’s selection algorithm. Like quicksort, it is efficient in practice...

    Read more...

    閱讀心得 人月神話 The Mythical Man Month II

    “Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family...

    Read more...

    Introduction of Multithreading and Race Condition

    Brief What is Multi threading? Multithreading is the ability of a CPU (or a single core in a multi-core processor) to provide multiple thread of execution concurrently, supported by the operating system. This approach differs from multiprocessing. In a Multithreading application, the threads share the resources of a single or...

    Read more...

    “閱讀心得-人月神話 I The Mythical Man Month"

    “Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family...

    Read more...

    Play 2048 Puzzle Game on Jekyll Blog

    Brief Sometimes, we would like to embed some JavaScript applications in our blog. In this post, I display one of popular JavaScript applications - 2048 in this post. Made just for fun. Play it here! Let’s Play 2048 Puzzle Game As we know, 2048 is challenging our brain to figure...

    Read more...

    Memory Layout of Program

    “In computing, a code segment, also known as a text segment or simply as text, is a portion of an object file or the corresponding section of the program’s virtual address space that contains executable instructions. The term “segment” comes from the memory segment, which is a historical approach to...

    Read more...

    General Tips to C/C++ Pointers

    Intorduction Pointer usage is easy to cause the error-prone areas of Programming. Using pointer is universal in C and C++. In this post, I would write the general tips on pointers down. General Tips Declare and define pointers at the same time: Assigning a variable its initial value close to...

    Read more...

    淺談 Digital IC Back-end Process

    “Platform-based systems typically consist of a basic RISC processor, which can be extended with multipliers, floating point units, or specialized DSP units. RISC processor core can have an HDL model that describes the behavior of the processor; a gate netlist that describes the type and interconnection of gates required to...

    Read more...

    Python Schedule Routine Tasks Everyday

    Brief Everyday routine is something that the user will always do, including workdays and weekends, at certain fixed time. For example, exercising or brisk walking at 7:00 AM and opening mail to check Emails at 10:00 AM are all everyday routines. Manual and repetitive notification could be tedious in some...

    Read more...

    淡定的撲克臉 (Poker Face)

    “Positive emotions affect our brains in ways that increase our awareness, attention, and memory. When we feel more positive emotions than negative ones, difficult situations are easier to handle. Positive emotions build our resilience (the emotional resources needed for coping). They broaden our awareness, letting us see more options for...

    Read more...

    略讀 - Linux Kernnel 設計的藝術

    “Linux was originally developed for personal computers based on the Intel x86 architecture, but has since been ported to more platforms than any other operating system. Because of the dominance of the Linux-based Android on smartphones, Linux also has the largest installed base of all general-purpose operating systems.” 書單 Linux...

    Read more...

    Introduction to Dynamic Programming

    [UPDATED: 2022/06/27] “Dynamic Programming is both a mathematical optimization method and a computer programming method. The method was developed by Richard Bellman in the 1950s and has found applicationns in numerous fields, from aerospace engineering to economics.” … from Wiki. Brief The dynamic programming (DP) refers to simplifying a complicated...

    Read more...

    Step on Clay Court

    引言 最近昔日待在加州期間認識的朋友飛來台灣,而網球賽季也進入了歐洲 spring clay season,我和他就一起去新竹鄰近的步道徒步、府後紅土網球場以及酒吧敘敘舊。 行程 府後網球場 - 球場屬於新竹市立體育場,場地使用費每面100元/Hour,而臨時使用(未辦理球證者)每人50元/half Hour。 板凳休息時間 鄰近步道 二階段的小瀑布 酒吧 Nice Beer

    Read more...

    How to Document Python Code by Using Sphinx

    [UPDATED: 2022/07/11] Purpose Previously, during the project development, I usually only put some brief comments in the Python functions or methods. However, since Python does not enforce function and variable type annotations, and those comments would not usually contain the typing information, It might hardly remember how those variables could...

    Read more...

    Introduction to Least Recently Used Cache

    “In computing, cache algorithms are optimizing instructions, or algorithms, that a computer program or a hardware-maintained structure can utilize in order to manage a cache of information stored on the computer. When the cache is full, the algorithm must choose which items to discard to make room for the new...

    Read more...

    Strongly Connected Components

    [UPDATED: 2022/04/26] “In the mathematical theory of directed graphs, a graph is said to be strongly connected if every vertex is reachable from every other vertex. The strongly connected components of an arbitrary directed graph form a partition into subgraphs that are themselves strongly connected. It is possible to test...

    Read more...

    Topological Sorting

    “In computer science, a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every directed edge uv from vertex u to vertex v, u comes before v in the ordering. For instance, the vertices of the graph may represent tasks...

    Read more...

    Introduction to Bitpartite Graph

    “In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V, that is every edge connects a vertex in U to one in V. Vertex sets U and V are usually called...

    Read more...

    Introduction to the Basic Backtracking Algorithms

    [UPDATED: 2022/06/11] “Backtracking is a general algorithm for finding solutions to some computational problems, notably constraint satisfaction problems, that incrementally builds candidates to the solutions, and abandons a candidate (“backtracks”) as soon as it determines that the candidate cannot possibly be completed to a valid solution.” … from Wiki page....

    Read more...

    閱讀心得-美麗境界 A Beautiful Mind

    書單 A Beautiful Mind: A Biography of John Forbes Nash, Jr., Winner of the Nobel Prize in Economics 書籍在Amazon中擁有4.5顆星,關於此書: “The powerful, dramatic biography of math genius John Nash, who overcame serious mental illness and schizophrenia to win the Nobel Prize. “How could you, a mathematician, believe that extraterrestrials were sending...

    Read more...

    What are the Differences between Recursion and Iteration

    [2022/06/16] Brief Iteration and recursion are key computer science technique using in developing algorithm and programming. In simple terms, an iterative function is one that loops to repeat some part of the code, and a recursive function is one that calls itself again to repeat the code. Both of two...

    Read more...

    Introduction of Asymptotic Complexity

    Brief When developing in programming, one of critical tasks is that you need to know Big-O, time and space complexity (algorithm complexity). The goal is to estimate the limiting behavior that is used to classify algorithms according to how their run time or space requirements. We might be able to...

    Read more...

    Overview of Greedy Algorithms

    “A greedy algorithm is any algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage. In many problems, a greedy strategy does not produce an optimal solution, but a greedy heuristic can yield locally optimal solutions that approximate a globally optimal solution in a reasonable...

    Read more...

    淺談蒙提霍爾博弈問題 - Monty Hall Program

    “The Monty Hall problem is a brain teaser, in the form of a probability puzzle, loosely based on the American television game show Let’s Make a Deal and named after its original host, Monty Hall.” 簡介 蒙提霍爾博(Monty Hall problem)問題源自於數學遊戲問題,又可稱為三門問題。這益智遊戲在電影 21劇情中播放過,遊戲的玩法是:“參與者會看見三扇窗關閉了的門,其中一扇的後面有一輛車,選中後面有的那扇門就可以贏得該汽車,而另外兩扇門後面則各藏有一隻山羊。當參賽者選定了一扇門,但未去開啟它的時候,節目主持人會開啟剩下兩扇門的其中一扇,露出其中一隻山羊。主持人其後會問參賽者要不要換另一扇仍然關上的門。問題是:換另一扇門是否會增加參賽者贏得汽車的機率呢?” 簡易的機率論 最初參賽者選中汽車的機率為1/3,當參賽者選定了一扇門,而主持人開啟剩下兩扇門的其中一扇藏有一隻山羊後,若參賽者堅持不換門,選中汽車的機率為1/3 * 1/2 + 1/3 * 1/2 = 1/3,但參賽者換門,選中汽車的機率將會是...

    Read more...

    淺談輾轉相除法 - Euclidean Algorithm

    “In mathematics, the Euclidean algorithm, or Euclid’s algorithm, is an efficient method for computing the greatest common divisor (GCD) of two integers (numbers), the largest number that divides them both without a remainder. It is named after the ancient Greek mathematician Euclid, who first described it in his Elements (c....

    Read more...

    淺談均攤分析 - Amortized Analysis

    [UPDATED: 2022/07/15] “In computer science, amortized analysis is a method for analyzing a given algorithm’s complexity, or how much of a resource, especially time or memory, it takes to execute. The motivation for amortized analysis is, that looking at the worst-case run time can be too pessimistic.” … from Wiki...

    Read more...

    Overview of Basic Graph Traversal Algorithm and Google Testing

    [UPDATED: 2022/04/02] “Graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of vertices (also called nodes or points) which are connected by edges (also called links or lines). A distinction is made between...

    Read more...

    代碼之外的生存指南 II

    [UPDATED: 2022/03/19] “Soft Skills: The software developer’s life manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important “soft” subjects like career and productivity, personal finance and investing, and even fitness and relationships....

    Read more...

    閱讀心得-鏡與窗談判課 Ask for More: 10 Questions to Negotiate Anything

    “Negotiation is not a zero-sum game. It’s an essential skill for your career that can also improve your closest relationships and your everyday life. Still, people often shy away from it, feeling defeated before they’ve even started.” 書單 Ask for More: 10 Questions to Negotiate Anything書籍在Amazon中擁有4.5顆星,關於此書: “Ask for More is...

    Read more...

    Overview of Dynamic Memory and Smart Pointer

    Abstract The C++ language allows programmers to manually allocate/decallocate memory by static allocation or dynamic allocation. The static memory is allocated from the stack and used for local static objects, for class static data members and for variables defined outside any function. The dynamic memory is allocated from the free...

    Read more...

    淺談物件導向的基本概念(II)

    “Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods). Many of the most widely used programming languages...

    Read more...

    淺談物件導向的基本概念(I)

    “Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods). Many of the most widely used programming languages...

    Read more...

    Overview of Google C++ Naming Style Guide

    Abstract C++ language has many powerful features and is one of the main development languages used by many Google’s open-source projects. In addition, many projects are also developed by C++, such as A Simple C++ CSS Parser, Notepad++, … etc. Even though the language has many powerful features, but this...

    Read more...

    Overview of Makefile and CMakeFile

    Abstract Makefile or CMakefile is the GUN build system. The developer could express the recipe to build their package in Makefile or CMakefile. In the Unix world, such a build system is traditionally achieved using the command make for Makefile and cmake for CMakefile. There are some useful tutorials and...

    Read more...

    Introduction of Verilog Mode and Emacs (Updated)

    Purpose The Verliog design has several duplicate informations, such as argument lists, sensitivity lists, and cross-module wire statement. This feature may causes potential errors by manually programing, lack of maintainability, and overall code bloat. The verilog-mode supports autogen features to eliminate duplicate effort, looking for keyword (/*AUTO*/) in the verilog...

    Read more...

    Overview of the LLVM Compiler

    “The LLVM logo is a stylized wyvern (a kind of dragon). Dragons have connotations of power, speed and intelligence, and can also be sleek, elegant, and modular (err, maybe not).” - The LLVM Compiler Infrastructure 簡介 最近心血來潮,由於前一陣子查詢Lexical analysis的相關文章以及實作CSS Parser(此程式代碼repo: lite css parser python),無意間發現只聞其聲、不見其型的LLVM編譯器,就開始試著自學編譯器相關的知識。 LLVM 最初由Chris Lattner 於研究助理期間實作的計畫項目,後續Apple聘用並持續將此計畫開發成產品,並且組織一個部門專門開發此技術。LLVM可視為是一個模組化的工具集合,其中包含assemblers, compilers, debuggers, …等,這些元件皆與Unix系統中的工具兼容。而典型的編譯器架構,主要由三項元件構成:Frontend(Parser),...

    Read more...

    代碼之外的生存指南 I

    書單 Soft Skills: The software developer’s life manual 這本書在Amazon 網路書店中獲得5顆星好評,作者在本書講述軟體開發人員程式碼以外,所經歷許多不同的旅程,將自身學到的和經歷過的經驗分享出來。幫助身為軟體開發人員的讀者們,在漫長人生旅途中,不至於迷失方向。關於此書: “Soft Skills: The software developer’s life manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important “soft” subjects like career and productivity, personal...

    Read more...

    Basic Bash Script Cheatsheet

    Bash is a Unix shell and a command processor that can read and execute commands from a file called a shell script. Like all Unix shells, it supports condition-testing and iteration ….etc. In addition, Bash has lots of different kinds of brackets, such as curly brackets, square brackets, parentheses. In...

    Read more...

    Introduction of POSIX Timer and Thread

    Abstract POSIX time is a system for describing a point in time, also known as Unit time. It is widely used in operation systems and file formats. The C POSIX library is a specification of a C standard library for POSIX systems, which includes the time types and functions definied...

    Read more...

    How to Manage the Children Processes and its Application

    Abstract The basic process management is done with a number of system calls, each with a single (simple) purpose. And these system calls can be combined to implement more complex behaviors. One of these system calls is fork() function that causes creation of a new process and create a child...

    Read more...

    閱讀心得-爸爸寄來的經濟學情書

    “We shall not cease from exploration And the end of all our exploring Will be to arrive where we started And know the place for the first time.” –from Little Gidding by T.S. 書單 Talking to My Daughter About the Economy: or, How Capitalism Works–and How It Fails 書籍在Amazon中擁有4.5顆星,關於此書: “In...

    Read more...

    Neovim with Vim-Plugins Toolkits

    Neovim might be a nice integrated development environment and able to enhance your workflow when executing many miscellaneous tasks on Linux. It’s very useful to make my life as an engineer a little easier and a little better. In this post, I would take notes of my configuration with numerous...

    Read more...

    專業程式設計師的生存之道 II (Updated)

    “In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice–about everything from estimating and coding to refactoring and testing. It covers much more than technique:...

    Read more...

    Introduction of Name Mangle and Demangle

    Intorduction When developing in C++, one of usual tasks is to demangle the name of a C++ method. Because the linkers only support C identifiers for symbol names, but don’t have any knowledge of C++’s namespaces, object, overload functions, etc. That means the C++ compiler needs to generate C identifier...

    Read more...

    閱讀心得-戀愛管理學:為何會拿好人卡

    “The meeting of two personalities is like the contact of two chemical substances: if there is any reaction, both are transformed.” – Carl Jung 書單 為何會拿好人卡?老僑的七堂戀愛管理課,翻轉你自以為是的愛情觀 這本書在博客來網路書店廣受好評,而且是一本介紹男生如何以建構長期關係的角度來追求女生,關於此書: “拿到好人卡不是因為你不夠努力,而往往是因為你太努力!「戀愛」其實是有遊戲規則,若不懂這秘密,當然會不斷受挫!這本書將向你揭露戀愛的遊戲規則、女生的心理門檻、以及哪些行為非常致命!” “Most of the problems of the world stem from linguistic mistakes and simple misunderstandings. Don’t ever take words at face value. When...

    Read more...

    Introduction of Python Exception, Logging and Error Handling

    Introduction Working on a large project is challenging on many fronts. One of those challenges is to make sure the logs are relaying all relevant information for the project that could help with debugging issues and failure. Even if you write clear and readable code, even if you are familiar...

    Read more...

    閱讀心得-最後的演講

    “We cannot change the cards we are dealt, just how we play the hand.” –Randy Pausch 書單 The Last Lecture 書籍在 Amazon 中擁有4.5顆星,關於此書: “Last Lecture” has attracted wide attention from media in the United States as well as around the world. The “Last Lecture” by Randy Pausch vedio of the...

    Read more...

    Intorduce CSS/HTML Basics and Simple Python based CSS Parser

    Purpose CSS (Cascading Style Sheets) and HTML (Hypertext Markup Languare) are two of the core technologies for building Web pages. CSS (cascading Style Sheets) is the language for describing the presentation of Web pages, including colors, layout, and fonts and the resendering of structured documents (such as HTML and XML)....

    Read more...

    How to Use Tmux and Set up Configuration

    Purpose When you program on the Unix-like terminal, you might not feel comfortable to mess around with multi-windows, especially more than 5 windows. It is quite difficult to operate with mulit-windows. The Tmux is a popular, powerful and flexible terminal multiplexer for Unix-like operating systems, It allows multiple terminal sessions...

    Read more...

    專業程式設計師的生存之道 I

    “In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice–about everything from estimating and coding to refactoring and testing. It covers much more than technique:...

    Read more...

    Mix C and C++ Programming

    The C++ language provides a “Language linkage” mechanisms for mixing code that is compiled by compatible C and C++ in the same program. Every function type, every function name with external linkage, and every variable name with external linkage, has a property called language linkage. The mechanism might be helpful...

    Read more...

    Detect Memory Issues by Using Valgrind

    Valgrind tools support to autimatically detect many memory management and threading bugs, and profile the programs in the detail. Some of the most difficult C/C++ bugs come from mismanagement of memory: allocating the wrong size, using an uninitialized pointer, accessing memory after it was freed, overrunging a buffer, and so...

    Read more...

    GCC Compiling, Linking, Utilities and Specialized Tools

    [UPDATED 2022/06/13] If you got in touch with free software before, you might hear Richard Stallman, who is the founder of the GNU Project and original author of the GNU Compiler Collection (GCC). He founded the GNU project in 1984 to start Unix-like operation system project. The original GNU Compiler...

    Read more...

    C++ Static and Dynamic Libraries

    Most modern software systems provide libraries that implement the majority of the system service. Such libraries have orgianized the services which modern application requires. There are two types of libraries: Static and Dynamic Libraries. Definition of Library A library is a collection of implementation of behavior that can be used...

    Read more...

    What is the Callback (function pointer) and How it Works

    [UPDATED: 2022/06/14] In computer programming, a callback function is any executable code that is passed an argument to other code; the other code is expected to call back (execute) the argument at the given time. Callbacks have a wide variety of uses. For example in error signaling, a Unix program...

    Read more...

    程序員修煉之道 - Updated 2022/01/23

    “The Pragmatic Programmer have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology. This classic title is regularly featured on “Top Ten” lists, and many corporations issue it to their new hires.” 紀錄與心得 最近利用工作之餘時間,閱讀一本關於程式員的相關書籍,此書在Amazon 4.5 顆星: The Pragmatic Programming:...

    Read more...

    Introduction of Downsampling

    Abstract The sampling process is creating a discrete signal from a continuous process. And there are two common sampling processes: down-sampling and un-sampling. To put it simply, downsampling reduces the sample rate and upsampling increases the sample rate. In this post, I only recored the basic concepts of downsampling and...

    Read more...

    Introduction of feature representations of the speech signal

    Purpose When doing the project on speech signal processing, we need to know the different feature representations of the speech signal. Any decisions in pattern recongnition system would affect classification algorithm. For quickly recapping the conception of features of speech signal and avoiding to forget bit and pieces of this...

    Read more...

    Memory Section Size

    Purpose In order to analyze the code size when implementing C program, we need to understand the meaning of memory section calculated by IDE tool. The memory size can be roughly classified into five sections. In this post, I made a copy about the memory section size from xtensa C...

    Read more...

    Some of Common C library functions

    fread, fseek and ftell functions fread function This function is used for reading data from the given file pointer into the array pointer. Usage: size_t fread(void *arr_ptr, size_t size, size_t element, FILE *file) fseek function This function is used for setting the position of the file pointer to the given...

    Read more...

    A Brief Introduction to Some of Common MATLAB Syntaxes and Usages

    Purpose When designing on the algorithm implementation, the matlab script is one of the common programming languages to develope in the initial stage. In this post, I recorded a few pieces of information in this post for avoiding to forget bit and pieces and will keep adding some informations. Read...

    Read more...

    Intorduction of Wave File Format

    Purpose When doing the project on speech recognition, the test audio data for voice processing utilizes WAVE PCM file. For quickly recapping the concept of WAVE PCM formay and avoiding to forget bit and pieces of this knowledge, I recorded this relevant information in this post. Abstract The WAVE file...

    Read more...

    Introduction of Wave File Format

    Purpose When doing the project on speech recognition, the test audio data for voice processing utilizes WAVE PCM file. For quickly recapping the concept of WAVE PCM formay and avoiding to forget bit and pieces of this knowledge, I recorded this relevant information in this post. Abstract The WAVE file...

    Read more...

    How to estimate CPU time

    Purpose To analyze the c programming performance, the CPU time is one of the good indications of how to measure user CPU time, system CPU time, and wall clock time. For avoiding to forget bit and pieces of how to measure CPU time in C programming, I found some relevant...

    Read more...

    Introduction of fixed-point and floating-point representation

    Purpose The fixed-point and floating-point notations are the basic representations on numerical analysis. In algorithm implementation, the notation frequently switches between fixed-point and floating-point. For avoiding to forget bit and pieces of representation, I recorded a few pieces of information in this post. The representation of fixed-point numbers A flxed-point...

    Read more...

    Introduction of Container Map in C++ Standard Template Library (STL) - Updated 2022/01/23

    Brief Maps are associative containters that store elements formed by a combination of a key value and a mapped value, following a specific order. In a map, the key values are generally used to sort and uniquely identify the elements, while the mapped values store the content associated to this...

    Read more...

    How to document your C++ Porgram by using Doxygen

    [UPDATED: 2022/03/08] Purpose In order to quickly recap your code, documenting your code is one of the effective methods and also readable. Doxygen supports the de facto standard for creating documentation for C and C++ program, but it also supports other popular programming languages such as Java and Python. It...

    Read more...

    How to setup gdb and Eclipse to debug C/C++ files on macOS

    Purpose For software development, Eclipse is one of the most common integrated development environments (IDE) that provides comprehensive facilities to computer programmers. IDEs contain the necessary compiler, interpreter, or both. Besides, the GNU Debugger (GDB) is a debugger that works for many programming languages, including C, C++, and Objective-C and...

    Read more...

    Basic Matrix Calculus for Machine Learning

    Purpose In response to the demand of AI technique in the market and its application covers many fields, such as voice and audio analysis, speech recognition and AI-optimized Hardware, etc., more and more companies gradually imported machine learning or deep learning algorithm into their system or architecture. Recently, due to...

    Read more...

    ARM Cortex M3 Handbook

    Purpose The internet of things (IoT) is the one of the fastest growing and highest profile trends in technology. Conforming to this trend, the ARM launched Cortex-M3 processor. This processor has been central to many of these innovations in the IoT space, such as Fitbit, smart light bulb and wifi...

    Read more...

    Linux/Unix command Handbook

    [UPDATED: 2022/02/23] Purpose During the period from graduating to being an Engineer, Linux/Unix commands becomes part of my working daily routine. Here, recording several useful and powerful commands to keep in mind. Linux/Unix command Table of Contents SED command WC command LN command SEQ command SED command "sed" is used...

    Read more...

    Introduce Tensilica Instruction Extension Language

    Purpose Tensilica Instruction Extension (TIE) refers to the proprietary language that is used to add assembly/instruction extensions to customize Xtensa processor core architecture for a specific application or design purpose. Optimizing Candence Tensilica Xtensa processors with new instructions and additional bandwidth using the TIE language enables you to compute and...

    Read more...

    Tensilica Xtensa Hardward Verification and EDA

    Purpose In Fortemedia inc., the company utilizes Tensilica Xtensa HW verification and EDA tool to develop SOC design. The Tensilica was a company based in Sillicon Valley in the semiconductor intellectual property core business. It is now a part of Cadence Design Systems. The Xtensa processor architecture is a configurable,...

    Read more...

    The Handbook of CIEE Orientation

    Purpose Before departing for the U.S, CIEE requires trainees to complete CIEE’s online orientation. The account is your DS-2019 number and the password is your last name. CIEE Orientation Table of Contents Arriving and Living in the U.S Understnding U.S. Culture Arriving and Living in the U.S. SEVIS and Social...

    Read more...

    Calfornia Driver License

    How to Get a Driver’s License with Calfornia DMV Table of Contents Complete a Driver License or Identification Card Application Make an Application and Visit your local CA DMV office Provide Proof of your Identity, Social Security Number Pay a Nonrefundable Application Fee Apply for a REAL ID DL Pass...

    Read more...

    What's Jekyll and How to build a personal blog using Lanyon ( Part II )

    Abstract Further to the previous past, What’s Jekyll and How to build a personalblog using Lanyon ( Part I ), this post guides you how to add unique and useful features in your blog. Such as, linking multiple social media accounts, changing the font that you love and inserting google...

    Read more...

    Git Handbook

    Purpose Due to the most of time on my job, I need to type many git command lines. So that this article is used to sort several git commands frequently used for easily searching. Intorduction Git is one of a distributed version control system (DVCS) commonly used for open source...

    Read more...

    What's Jekyll and How to build a personal blog using Lanyon ( Part I )

    headerfile Abstract Jekyll is a static site generator, an open-source tool for creating simple yet powerful websites of all shapes and sizes. From the project’s readme: Jekyll is a simple, blog aware, static site generator. It takes a template directory […] and spits out a complete, static website suitable for...

    Read more...