Wambui Karuga

  • A Generic Stack in C

    The C Programming Language has a reputation of being small but powerful. Unlike C++, which is usually considered its superset, C does not provide built-in types as rich as stacks, vectors, queues, or sets. The built-in array type in C can however be extended to create custom data structures that emulate similar complex structures. In this example, I’ll try to build a generic stack that can be used to hold different types of data when configured.

    Read more…
  • Happy Hour Wednesdays: Arrays Part II

    As with our first post, this post continues to review the recently concluded #HappyHourWednesdays interview questions of arrays. The last two array questions are as follows: Product of Array Except Self This challenge from LeetCode is as follows: Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. It's guaranteed that the product of the elements of any prefix or suffix of the array (including the whole array) fits in a 32 bit integer.

    Read more…
  • Happy Hour Wednesdays: Arrays Part I

    As a community, we participate in our #HappyHourWednesdays to get better at our technical interviewing skills. We do this by reviewing some of the most common data structures and algorithms and solving problems similar to those that are becoming increasingly common during the interviewing process. For the past couple of weeks, we’ve been going through one of the simplest data structure - the Array. This post will go through the questions we’ve seen so far and offer explanations on the best solution to the challenges.

    Read more…
  • An Overview of Open Source Communities

    Open source projects usually employ unique collaborative processes and methods to work on a shared codebase or project for team members or individual contributors to ensure cohesive project advancement. To achieve this, the open source community has identified key aspects of managing such communities that ensure proper collaboration. Management of Open Source Communities Each open source project usually creates its own structure, with some common aspects: People Each open source community will have a few key people to drive forward the development of the project in the right direction.

    Read more…
  • The Eudyptula Challenge: Task I

    After my initial post introducing the Eudyptula Challenge, this is the first post of my solutions to the challenge. As with every programming tutorial or book, the first task is writing a very simple “hello world” kernel module. Here was the description of the first task in the challenge: Write a Linux kernel module, and stand-alone Makefile, that when loaded prints to the kernel debug log level, “Hello World!”. Be sure to make the module be able to be unloaded as well.

    Read more…
  • The Eudyptula Challenge

    The Free and Open Source Software movement has existed since the 1980s with Richard Stallman being credited as the “father” of the free and open source movement. Throughout the years, FOSS has gained momentum and popularity in the technology world with many developers and advocates hailing it as the future standard of technology. However, there are also two different positions covered under the umbrella term “FOSS”: Free software which gives the user the power/ability to run, change and distribute the software as they see fit.

    Read more…
  • Outreachy: Applying and Getting Accepted into the Programme.

    I found out about the Outreachy internship project in 2018 during my last year of school. I was interested in getting involved in contributing to the open source community and the Outreachy program kept popping up in guides on how beginners could get started in the open source world. Outreachy is an internship program that matches interns with Free and Open Source Software communities for a three month contribution period.

    Read more…