Skip to content

Instantly share code, notes, and snippets.

View badvision's full-sized avatar

Brendan Robert badvision

View GitHub Profile
@badvision
badvision / archimedes.a
Last active February 20, 2017 21:54
Mockingboard sound driver
*= $4000
!cpu 65c02
!sl "globals.txt"
;-----------
reg_ORB = 0 ;Output Register B
reg_ORA = 1 ;Output Register A
reg_DDRB = 2 ;Data direction reg B
reg_DDRA = 3 ;Data direction reg A
reg_T1CL = 4 ;T1 low-order latches (low-order counter for read operations)
@badvision
badvision / atari_diag_lines.a
Last active December 30, 2016 06:47
Makes a trippy diagonal line pattern on the VCS
; use with 8bitworkshop's VCS IDE
; http://8bitworkshop.com/?platform=vcs
processor 6502
; Include files for Atari 2600 constants and handy macro routines
include "vcs.h"
include "macro.h"
org $f000
@badvision
badvision / fix_surfacebook_audio.bat
Created November 8, 2016 19:53
When resuming from standby on a Surfacebook, HDMI audio becomes unavailable. Get devcon.exe from Microsoft's driver dev toolkit and run this bat script (as administrator!) to disable/enable the audio device.
cd "\Program Files (x86)\Windows Kits\10\Tools\x64"
devcon disable IntelAudio*8086*
devcon enable IntelAudio*8086*
@badvision
badvision / disk usage.jsp
Last active May 19, 2016 20:29
Call the *nix command line "df -h" to obtain the disk usage of the server
<%@page session="false" contentType="text/html; charset=utf-8"
pageEncoding="UTF-8" import="java.lang.*,java.io.*"%><%
Process p = Runtime.getRuntime().exec("df",new String[]{"-h"});
p.waitFor();
%><h2>STDERR:</h2><pre><%
String line;
BufferedReader error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while((line = error.readLine()) != null){
%><%=line%>
<%
@badvision
badvision / all ips.jsp
Created May 19, 2016 20:17
List all IP Addresses that the server is listening on.
<%@page session="false" contentType="text/html; charset=utf-8"
import="java.util.*,java.net.*"%><%
List<NetworkInterface> ifaces = Collections.list(NetworkInterface.getNetworkInterfaces());
for(NetworkInterface ifc : ifaces) {
if(ifc.isUp()) {
List<InetAddress> addrs = Collections.list(ifc.getInetAddresses());
for(InetAddress addr : addrs) {
%>
<%=addr.getHostAddress()%><br>
@badvision
badvision / regenerate thumbnails.jsp
Created May 19, 2016 20:12
Regenerate thumbnails using synthetic workflow
<%@include file="/libs/foundation/global.jsp"%>
<%@page session="false" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"
import="com.adobe.acs.commons.workflow.synthetic.*,
com.adobe.acs.commons.fam.*,
com.adobe.acs.commons.functions.*,
org.apache.sling.api.resource.*,
java.util.*,
javax.jcr.*,
com.day.cq.search.*,
com.day.cq.dam.commons.util.DamUtil,
@badvision
badvision / publish renditions.jsp
Last active May 19, 2016 20:04
Publish non-original renditions to another instance, using multiple publish queues in round-robin fashion
<%@include file="/libs/foundation/global.jsp"%>
<%@page session="false" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"
import="java.util.*,
com.adobe.acs.commons.fam.*,
com.adobe.acs.commons.functions.*,
com.adobe.granite.asset.api.*,
com.day.cq.replication.*,
org.apache.sling.api.resource.*,
javax.jcr.*"%><%
ActionManagerFactory amf = sling.getService(ActionManagerFactory.class);
@badvision
badvision / getAllGroupInfo.groovy
Last active March 8, 2016 17:18
AEM Group membership extractor, use with buildGroupMatrix to produce a spreadsheet of all users and what groups they're in
// Step 1: retrieve group list via http://AEMINSTANCE:4502/home/groups.xml and save as group.xml
// Step 2: modify this script (find/replace AEMINSTANCE:4502 with your AEM host/port, also USERNAME and PASSWORD)
// Stpe 3: run this script in the same directory as group.xml
// Step 4: make the output groups_retrieve.sh executable and run it
// Step 5: use the buildGroupMatrix.groovy script to render the spreadsheet
def groupXml = 'groups.xml' as File
def outScript = 'groups_retrieve.sh' as File
def allGroups = new XmlSlurper().parseText(groupXml.getText())
pathBuilder = {node, path="" ->
@badvision
badvision / buildGroupMatrix.groovy
Created March 8, 2016 17:17
Part 2 of building user information (See getGroupInfo.groovy for instructions)
import groovy.json.*
def slurper = new JsonSlurper()
slurper.setType(JsonParserType.INDEX_OVERLAY);
def groupDir = '.' as File
def output = 'matrix.txt' as File
def users = new TreeMap();
def userGroups = new HashMap();
import com.webcodepro.applecommander.storage.os.dos33.DosFormatDisk
import com.webcodepro.applecommander.storage.Disk
import com.webcodepro.applecommander.storage.physical.DosOrder
import com.webcodepro.applecommander.storage.physical.ByteArrayImageLayout
import java.io.File
def baseDir="/Users/blurry/Downloads/ac33"
def outDir="/Users/blurry/Downloads/ac33_extracted"
def sourceFolder = baseDir as File