Skip to content

Instantly share code, notes, and snippets.

View MggMuggins's full-sized avatar

Wesley Hershberger MggMuggins

View GitHub Profile
@MggMuggins
MggMuggins / ArtemisDesignGuidelines.md
Last active September 7, 2017 00:19
A file that describes design goals for the Artemis desktop.

Preface

This document describes goals and rules for creating the Artemis desktop. It is written in plain english with an attempt to be clear and consice and is currently small enough to contain both internal design goals and user interface guidelines. It is a heavy work in progress.

We aim to create a desktop shell and applications for the desktop Linux experience. As such, no accomodations will be made specifically to support mobile platforms.

Design Goals

  1. Clean source with good source code documentation.
  2. Efficiency is important. However, when there is a choice between user experience/polish and efficiency, efficiency comes second.
  3. Modularity is key. Making components that can work apart from the whole as well as they can with it. This will allow multiple peices of our codebase to be reused easily.
  4. Consistency in both programming style and archetecture. Programming should be done in a similar way across our codebase. Also, archetecture should be consistent across all parts of the desktop.
@MggMuggins
MggMuggins / yam.fish
Last active August 10, 2017 14:59
My tool for installing packages from the AUR. Rename to "yam" and install in /usr/local/bin if you so desire for easy execution.
#!/usr/bin/fish
# Sources are placed in $HOME/.local/share/yam
# by default. I'll add better argument parsing
# and an option to change it later
set install false
set srcdir $HOME/.local/share/yam/
for arg in $argv
#!/bin/bash
# USAGE:
# ./drinkOverlay /path/to/lotr/assets /path/to/output/dir
# $0 $1 $2
cd $1
cd lotr/textures/items
# Make sure we have the overlays
@MggMuggins
MggMuggins / styleguide.md
Last active August 2, 2017 20:58
My Personal D style Guide

D Style Guide

My personal style guide for the D programming language. This document outlines best practices that I have found to help with D source code readability and cleanliness.

General Statements

Take a moment to think about what you spend the most time doing when you are writing a program. Is it typing? Certainly not. Is it looking through documentation? Arguably. Is it reading the mess you've written and trying to understand it? Most of the time.

Code readability is very important. If no one (including you!) can read your code, you've done somthing wrong. The vast majority of our time as programmers is spent reading and understanding either our code or someone else's. The majority of this document focuses on code quality as code readability. The rules defined here are designed to make your code easier to read and easier to follow.

One thing this document does not claim to do is to make code easier to write. In fact, it does quite the opposite. Making code easy to read is inherently making it har

@MggMuggins
MggMuggins / chrysalis.swift
Last active July 24, 2017 18:39
Buggy code...
import Glibc
import Qlift
class ChrysalisFM {
let app = QApplication()
let window = QMainWindow()
let mainWidg = QWidget()
var layout: QHBoxLayout
let v_layout = QVBoxLayout()
@MggMuggins
MggMuggins / fileAppend.d
Created April 8, 2017 02:48
Small D program to do some stuff with a file.
/*
* Pseudocode
* Read Infomation on what needs to happen from the user
* Open file
* Read each line of the file to an array of strings
* Apply operations to array of strings
* Write each element of the array to the file
*
* Syntax:
* Arguments go in this order: Input File, Output file, Prefix, Suffix
@MggMuggins
MggMuggins / tradingPrices.d
Last active January 16, 2017 16:46
A little program written in D to calculate the price range of items in LOTR mod trading from the average price.
import std.stdio;
float readValue (string text) {
float output;
write(text);
readf(" %s", &output);
return output;
}
void printOut (float large, float small) {