Skip to content

Instantly share code, notes, and snippets.

@codemonkey-uk
codemonkey-uk / LANDCAP.PAS
Created December 31, 2013 12:08
Landcap is a Fractal Landscape Generator for DOS/VGA PC's, that I wrote when I was in college, circa 1993. It was originally released as shareware, and got 1 (one) £10 registration for my efforts. It was reviewed in PC-Format magazine in the same issue as Alta-Vista, which was/is a much better commercial application that does the same thing. At …
Program MakeTrue3DFract;
uses dos,crt;
const
ver : string = '1';
update : string = '1';
Ysize : WORD = 512;
Xsize : WORD = 512;
ColourSet : Char = 'G';
@codemonkey-uk
codemonkey-uk / IOCCC2001.c
Created December 31, 2013 12:25
2001 Entry for the IOCCC.
/*(c) 2001 Thad */
#include<string.h>
#include <stdio.h>
#define abc stdout
int main(int a,ch\
ar*b){char*c="??="
"??(??/??/??)??'{"
"??!??>??-";while(
!((a=fgetc(stdin))
==EOF))fputc((b=s\
@codemonkey-uk
codemonkey-uk / TCD.C
Created December 31, 2013 12:34
TCD is a directory tree browser for DOS PC's, that I wrote as a learning exercise, circa 1994. It was not released at the time, but was used as part of a successful job application. I have made the "TCD" source code public here as a curiosity only. http://thad.frogley.info/portfolio/tcd.html
/* TCD directory tree program T.Frogley '94 */
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <dir.h>
#include <dos.h>
#include <memory.h>
@codemonkey-uk
codemonkey-uk / astar.h
Last active December 30, 2021 13:59
The C++ header file "astar.h" implements the A* graph search (route finding) algorithm using a C++ function template. The interface is written in an STL like style.
// -------------------------------------------------------------------------
// Filename: astar.h
// Version: 3
// Purpose: Provide template for a* algorithm
// (c) T.Frogley 1999-2021
// Stable and used in many projects 2003-2021+
// Updated: 2021 to better support behaviour controls, & unordered_set
// -------------------------------------------------------------------------
#ifndef ASTAR_H
@codemonkey-uk
codemonkey-uk / bfs.h
Last active January 2, 2016 03:19
Provide self contained function template implementing the Breadth First Search algorithm.Does not depend on STL, or any other library code. Circa 2003.
// -------------------------------------------------------------------------
// bfs.h
// Version: 1.1
// Date: 2003/04/14
// Purpose: Provide template for Breadth First Search algorithm
// Note: Self contained, does not depend on STL, or any other library code
// (c) T.Frogley 2003-2015
// -------------------------------------------------------------------------
#ifndef TFROGLEY_BFS_H_2003

Why you should never have to call super.Foo() in an Foo overload.

This is a classic example of poorly structured points of customisation.

For example, when you have:

class Base
{

virtual void Foo();

-- A five digit number minus a four digit number equals 33333,
-- where the nine contributing digits are 1-9, each used only once.
import Data.List
slice start end = take (end - start + 1) . drop start
sliced :: String -> [Int]
sliced s = [read $ slice 0 4 s, read $ slice 5 9 s]
@codemonkey-uk
codemonkey-uk / pfc5.cpp
Created November 6, 2014 22:03
Programming Fun Challenge 5: Polygon Packing (Winning Solution)
// pfc5.cpp v2 (c) T.Frogley 2002
// Programming Fun Challenge 5: Polygon Packing
// http://www.kuro5hin.org/story/2002/5/24/171054/160
//
// My solution does not provide an optimal packing,
// instead it produces a reasonable packing,
// and very good throughput, scaling very well,
// packing thousands of polys in sub-minute times,
// rather than hundreds in hours.
//
#!/bin/bash
for i in $( ls *.jpg ); do
echo -n , $i
done
echo
for i in $( ls *.jpg ); do
echo -n $i
for j in $( ls *.jpg ); do
echo -n , $(compare -metric PSNR $i $j difference.png 3>&1 1>&2- 2>&3-)
done
@codemonkey-uk
codemonkey-uk / LODcheck.sh
Last active January 13, 2022 12:02
Find source of "Inconsistent LOD naming (_LOD1 found but no _LOD0)." messages in a large Unity project.
#!/bin/bash
for i in $(seq 0 9)
do
let j=i+1
echo "Looking for LOD$j where no LOD$i exists."
diff <(find . | grep _LOD$i | grep -v meta$ | sed -e "s/LOD$i/LOD-/g" | sort) <(find . | grep _LOD$j | grep -v meta$ | sed -e "s/LOD$j/LOD-/g" | sort) | grep ">"
done