Skip to content

Instantly share code, notes, and snippets.

View ahogen's full-sized avatar

Alex H ahogen

View GitHub Profile
#!/bin/bash
#####################################################################
# Download and install Icarus Verilog 10.2 on a Debian-based system.
# I wrote and executed this script on Linux Mint 18.3, which is based
# on Ubuntu 16.4.
#
# Author: Alex Hogen <https://github.com/ahogen>
# Created: 2017-12-12
#####################################################################
@ahogen
ahogen / julia-install-pyplot-windows.jl
Last active January 24, 2018 20:32
Install and setup Plots with PyPlot backend using system Python in for Julia. Then builds system-specific Julia image for faster performance in the future.
# Note: Both Julia and Python must be of the same architecture type. If Julia
# is 64-bit, so must your Python distribution.
#
# I tested this with a clean Julia install, by installing Julia and
# deleting "C:\Users\<username>\.julia".
#
# Julia: v6.1
# Python: v3.6.3 for Windows
#
@ahogen
ahogen / xTIMEcomposer_code_under_version_control.md
Last active March 8, 2018 12:39
A tutorial describing how to keep code and Eclipse workspace metadata separate.

xTIMEcomposer Code Under Version Control


Intro

Do you need to keep your code under source/revision control with a solution like Git, Subversion (SVN), Mercurial? Are you using an Eclipse-based IDE like xTIMEcomposer (XMOS) or Code Composer Studio (Texas Instruments) and hate all the /.metadata junk that should stay far away from your precous code?

That's exactly what I wanted. I literally wanted just my code sitting under version control (SVN in my case) and I needed to be able to pull and build that code on multiple machines. Putting your entire workspace folder under version control is a really bad idea (I tried it) because it's got a bunch of junk created by Eclipse that you never wanted. It also isn't portable. Making a pull on a new machine results in a bunch of Eclipse errors.

This was my answer to my own question I posted/asked on the XMOS forums. The original post is here. I d

PlantUML Graph [link]

@startuml
INIT_BRIDGE : updateRoleDisabledTree()

ROLE_SELECTION : clearReselectTree()
ROLE_SELECTION : updateRolesTree()
ROLE_SELECTION : setSelectedTree()
@ahogen
ahogen / win-hostnames-on-linux.md
Created July 12, 2018 17:56
How to enable Linux machines to resolve Windows hostnames
@ahogen
ahogen / usb-rescan-print.sh
Created July 25, 2018 05:54
Automatically scan and print dev list when USB device added or removed.
#!/bin/bash
###############################################################################
# Author: Alex Hogen <code.ahogen@outlook.com>
# https://github.com/ahogen
# Date Created: 2018-07-19
#
# Copyright (c) 2018, Alexander Hogen.
#
# Usage:
@ahogen
ahogen / build-sys-img.jl
Created November 14, 2017 17:21
Build system-specific Julia image
# From: #7 http://www.stochasticlifestyle.com/7-julia-gotchas-handle/
Pkg.update()
if is_windows()
Pkg.add("WinRPM");
using WinRPM
WinRPM.install("gcc", yes=true)
WinRPM.install("winpthreads-devel", yes=true)
end
@ahogen
ahogen / inject_crc32_lpc_boot_block.gdb
Last active June 10, 2019 23:15
Compute a CRC32 of an ELF image and insert it into the
###############################################################################
# Date: 2019-06-06
# Author: Alexander Hogen
# code.ahogen@outlook.com
# https://github.com/ahogen
#
# !! NOTE: This is currently just a scratchpad for my work. THIS IS NOT DONE YET!
#
# The NXP LPC(546xx) microcontroller's bootloader supports verifying the
# image by checking a CRC32 value before starting to execute it. This
#!/usr/env python3
"""
Alex Hogen (code.ahogen@outlook.com)
Compare Anybadge to Sheilds.io SVG badges.
"""
import os
import sys
import shutil
@ahogen
ahogen / get-gcc-arm-none-eabi.py
Last active October 30, 2019 19:23
Download latest GNU GCC compiler from ARM's website (for Cortex-M and Cortex-R processors).
#!/usr/bin/env python3
"""Download latest GNU Toolchain from ARM's website
Author: Alex Hogen (code.ahogen@outlook.com)
MIT License
Copyright (c) 2019 Alexander Hogen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal