Skip to content

Instantly share code, notes, and snippets.

View greghelton's full-sized avatar

Greg Helton greghelton

View GitHub Profile

The Lost Decades

A friend claims that software design evolved as an engineering disipline due to the move from waterfall SDLC (systems development lifecycle) to the agile project management process. He claims that the move from waterfall SDLC to agile methodology is what propelled application design from monolithic style applications to modular code that works with unit testing frameworks.

The first reference to SDLC dates to a 1968 software conference (https://en.wikipedia.org/wiki/NATO_Software_Engineering_Conferences) and ironically, waterfall SDLC was not proposed as a methodology that would succeed but rather it was presented as the antithesis of a workable methodology. His thesis is that methodology impacted the design of application code, pushing it from monolithic to modular. I too am interested in how the style of application code evolved from monolithic programs to modular code. Was it a top down movement driven by methodology or did programmers develop new goals for the code they wrote, going

@greghelton
greghelton / gist:83190267e657146b98b9985b9ea9c06d
Created July 1, 2024 20:37
Installing The Client After Installing Postgres DB
;; Some helpful commands
sudo mkdir /etc/paths.d
brew install libpq
brew install graphviz
;; if necessary
export PATH=/opt/homebrew/Cellar/libpq/16.3/bin:$PATH
createdb -h localhost
psql -h localhost
@greghelton
greghelton / make_python_talk.md
Last active September 14, 2023 19:08
Conda commands used in the book Make Python Talk

What is Anaconda?
(from wikipedia) Anaconda is a cross-platform distribution of the Python and R programming languages
for scientific computing that aims to simplify package management and deployment.

Conda is Anaconda's package management system.

To install Anaconda, go to https://www.anaconda.com/products/individual/
then choose the graphical installer and follow the instructions

Conda Command to Update Conda

@greghelton
greghelton / HelloFX.java
Created June 19, 2022 14:21
JavaFX Command Line Compile
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class HelloFX extends Application {
@Override
public void start(final Stage stage) throws Exception {
@greghelton
greghelton / snowflakes.c
Last active January 4, 2022 02:24
This is my first solution to the snowflake problem given in the book Algorithmic Thinking. I am not a C programmer so read or use with caution.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdbool.h>
const int SIZEOFFLAKESARRAY = 2000;
static int flakes[SIZEOFFLAKESARRAY][6];
void makeSnowflakes() {
time_t t;
@greghelton
greghelton / build.xml
Last active June 18, 2021 04:22
Use Ant to create, populate and verify a H2 database.
<project name="h2db" basedir="." default="echo">
<property name="sqldriver.jar" value="lib/h2-1.4.200.jar"/>
<property name="url" value="jdbc:h2:~/h2db"/>
<property name="driver" value="org.h2.Driver"/>
<property name="userid" value="root"/>
<property name="password" value="root"/>
<target name="echo">
<echo>The targets that can be run are: </echo>
package com.example;
import org.slf4j.*;
import java.sql.*;
import java.util.stream.Collectors;
import org.apache.commons.collections4.*;
import org.apache.commons.collections4.multimap.*;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.beans.factory.annotation.Autowired;
package com.example;
import org.slf4j.*;
import java.sql.*;
import java.util.stream.Collectors;
import org.apache.commons.collections4.*;
import org.apache.commons.collections4.multimap.*;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.beans.factory.annotation.Autowired;
**free
dcl-s x packed(3:0) inz(0);
dcl-s y char(10) inz('Texas');
dcl-s key char(10);
dcl-s val char(20);
dcl-s mysql CHAR(250)
inz(‘SELECT key1, prop1 FROM states_afflictions where key1 = ? UNION ALL +
SELECT key2, prop2 FROM states_afflictions where key2 = ? UNION ALL +
SELECT key3, prop3 FROM states_afflictions where key3 = ? for read only’);
@greghelton
greghelton / Commands
Last active August 15, 2020 00:26
I got out the old JUnit book and I tried using VS Code and its Java plugin and I had a myriad of problems. I reverted back to the old DOS command line just to verify that the problem was them, not me.
javac -d bin src/boss/ScoreCollection.java
javac -cp lib\junit-4.13.jar -d bin test/boss/ScoreCollectionTest.java
javac -cp lib\junit-4.13.jar;bin -d bin test/boss/TestRunner.java
java -cp bin;lib/junit-4.13.jar;lib/hamcrest-core-1.3.jar boss.TestRunner
Result:
test(boss.ScoreCollectionTest): Not yet implemented