<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Sylvia Mirecki</title>
    <link>http://elijah.mirecki.com/categories/linux/</link>
    <description>Recent content in Linux on Sylvia Mirecki</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 02 Jul 2018 10:22:46 -0400</lastBuildDate>
    <atom:link href="http://elijah.mirecki.com/categories/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Atari 800XL revival mod</title>
      <link>http://elijah.mirecki.com/blog/atari-mod/</link>
      <pubDate>Mon, 02 Jul 2018 10:22:46 -0400</pubDate>
      <guid>http://elijah.mirecki.com/blog/atari-mod/</guid>
      <description>Many moons ago, I bought a broken Atari 800XL from a used electronics store for about 10CAD. I wanted to bring it back to life in some form - even if I just slapped a Raspberry Pi inside and ran an Atari simulator. After letting it collect dust for about 6 years, I decided to finally finish this project.&#xA;To get the full Atari experience, the keyboard needs to work, of course.</description>
    </item>
    <item>
      <title>PinkyCtrls</title>
      <link>http://elijah.mirecki.com/blog/397/</link>
      <pubDate>Sat, 28 Jan 2017 22:57:26 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/397/</guid>
      <description>A couple months ago, I made the switch from Vim to Emacs. However, I&amp;rsquo;m using Evil mode, so I still have all the nice Vim keybindings.&#xA;One of my biggest complaints about Emacs is ergonomics - &amp;ldquo;Emacs Pinky&amp;rdquo; is a legitimate concern:&#xA;One solution is getting foot pedals or a fancy ergonomic keyboard like the Ergodox or Keyboardio, but I didn&amp;rsquo;t want to commit to the investment just yet. Thus, PinkyCtrls was born!</description>
    </item>
    <item>
      <title>Hello World, using only C syscalls</title>
      <link>http://elijah.mirecki.com/blog/hello-world-using-only-c-syscalls/</link>
      <pubDate>Mon, 29 Aug 2016 22:06:21 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/hello-world-using-only-c-syscalls/</guid>
      <description>I&amp;rsquo;m currently working on implementing system calls in BlarbVM (see my previous post on it), so I am trying to get comfortable using only syscalls.&#xA;In Linux, you can change the heap size through brk (syscall #12). To write a string to standard output, you must provide a pointer to a location on the heap.&#xA;The following code:&#xA;Get&amp;rsquo;s the end of the heap address&#xA;Increments the end of the heap address by 6 bytes</description>
    </item>
    <item>
      <title>GDB Basics: Stack Traces</title>
      <link>http://elijah.mirecki.com/blog/gdb-basics-stack-traces/</link>
      <pubDate>Wed, 16 Mar 2016 20:51:24 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/gdb-basics-stack-traces/</guid>
      <description>C beginners are often very lost when their program crashes from a segmentation fault or similar issues. Most of them know about GDB but are pretty intimidated by it.&#xA;Here is a super simple example about how to find a stack trace from a program crash.&#xA;#include &amp;lt;stdio.h&amp;gt; void bar(int *var) { printf(&amp;#34;%d\n&amp;#34;, var[100000]); } void foo(int *var) { bar(var); } int main() { int *a; foo(a); return 0; } Of course, this will result in the console simply printing &amp;ldquo;Segmentation Fault&amp;rdquo; which doesn&amp;rsquo;t help very much, especially in more complex programs.</description>
    </item>
    <item>
      <title>How to change login shell without chsh permissions</title>
      <link>http://elijah.mirecki.com/blog/how-to-change-login-shell-without-chsh-permissions/</link>
      <pubDate>Fri, 05 Feb 2016 23:08:25 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/how-to-change-login-shell-without-chsh-permissions/</guid>
      <description>On the University of Toronto servers and Linux lab computers, the default shell is tcsh, and we don&amp;rsquo;t have chsh access shakes fist.&#xA;If you are in a similar circumstance, plop this in ~/.cshrc:&#xA;# Run zsh only if we are in an interactive shell if ( $?prompt &amp;amp;&amp;amp; -f /bin/zsh ) then exec /bin/zsh # Run bash if we are in an interactive shell and if zsh isn&amp;#39;t found else if ( $?</description>
    </item>
    <item>
      <title>Switching from Arch to Debian</title>
      <link>http://elijah.mirecki.com/blog/switching-from-arch-to-ubuntu/</link>
      <pubDate>Mon, 09 Nov 2015 16:11:34 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/switching-from-arch-to-ubuntu/</guid>
      <description>Last night was a sad night. After 5 years of using Arch Linux, I decided to leave it for Debian. While I learnt a lot while using Arch, it was often disruptive to my work when it required maintenance. I woke up last night to work on a Physics assignment, and sure enough, my kernel panicked. I don&amp;rsquo;t blame Arch per se. If I retained a legacy kernel, it would have been fine.</description>
    </item>
    <item>
      <title>BTRFS Research Paper</title>
      <link>http://elijah.mirecki.com/blog/btrfs-research-paper/</link>
      <pubDate>Tue, 13 Oct 2015 19:33:46 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/btrfs-research-paper/</guid>
      <description>So I was digging through some of my old work while working on my résumé and ran into a research paper I wrote about BTRFS. Ever since writing this paper, BTRFS has a special place in my heart, so I wanted to share my research with the world :]&#xA;By now it is likely out of date, so posting it here should be fine.&#xA;BTRFS: Investigation of several aspects regarding fragmentation</description>
    </item>
    <item>
      <title>rm -rf roulette</title>
      <link>http://elijah.mirecki.com/blog/rm-rf-roulette/</link>
      <pubDate>Thu, 25 Jun 2015 18:26:14 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/rm-rf-roulette/</guid>
      <description>So at work, I recently migrated over from my Linux box to an OS X box, and the old box will soon be formatted&amp;hellip; so I decided to have a bit of fun with it!&#xA;I present you with rm_rf_roulette.sh!!&#xA;#!/bin/bash directories=&amp;#34;boot/* bin/* etc/* lib/* opt/* root/* run/* srv/* sys/* usr/* var/*&amp;#34; files=($(ls --color=never -d $directories | egrep -v &amp;#34;(:$|^$)&amp;#34;)) fileToDelete=&amp;#34;${files[RANDOM % ${#files[@]}]}&amp;#34; echo &amp;#34;Deleting $fileToDelete&amp;#34; rm -rf $fileToDelete I plan to run this in a loop until it no longer has the capability of running :)</description>
    </item>
    <item>
      <title>Setting up a BTRFS and rsync backup server</title>
      <link>http://elijah.mirecki.com/blog/setting-up-a-btrfs-and-rsync-backup-server/</link>
      <pubDate>Sat, 23 Aug 2014 18:50:15 +0000</pubDate>
      <guid>http://elijah.mirecki.com/blog/setting-up-a-btrfs-and-rsync-backup-server/</guid>
      <description>Who is this for?&#xA;This is for people who came across the following issues with current backup solutions:&#xA;You have multiple computers, but you want to sync all backups onto one of them.&#xA;You want the benefits of rsnapshot - daily, weekly, and monthly snapshots.&#xA;You want the efficient COW (copy-on-write) benefits of BTRFS.&#xA;You want to back all of this up onto a single, designated backup disk.&#xA;Syncing from remote nodes to the server.</description>
    </item>
  </channel>
</rss>
