Deprecated Techniques - sgml/signature GitHub Wiki

Full Stack

  • IDE: Microsoft Frontpage
  • Front-end: ECMA-290
  • Authentication: Siteminder
  • Authorization: CHMOD
  • Data: CSV

Web Apps

IE6_Technologies:
  XML_Data_Islands: 
    Modern_Equivalent: HTML5_Local_Storage
  UserData: 
    Modern_Equivalent: IndexedDB
  ActiveXObjects: 
    Modern_Equivalent: Web_Components
  CSS_2_1: 
    Modern_Equivalent: CSS3
  VML_Vector_Markup_Language: 
    Modern_Equivalent: SVG_Scalable_Vector_Graphics
  DHTML_Dynamic_HTML: 
    Modern_Equivalent: JavaScript_ES6+
  OLE_Automation: 
    Modern_Equivalent: WebAssembly

PDF Conversion

Accessibility

Embedded Content

UI

CoffeeScript

XML

News

AI / Machine Learning

XSLT

best_practices:
  - Avoid Unnecessary Functions: Minimize the use of functions, especially if they are called repeatedly. Instead, try to inline code directly into templates where possible.
  - Minimize Loops: Avoid nested loops and use XPath expressions or template matching to filter and select nodes directly. Use built-in functions like `xsl:for-each` or `xsl:apply-templates` for better performance.
  - Use Keys: Leverage `xsl:key` to improve lookup performance for repeated elements.
  - Optimize XPath Expressions: Write efficient XPath expressions to reduce the time taken to navigate the XML tree.
  - Test and Benchmark: Regularly test and benchmark your XSLT stylesheets to identify bottlenecks and areas for improvement.
  - Modularize Code: Use templates to modularize your code, making it easier to maintain and reuse.
  - Cache Results: Use caching strategies to store frequently accessed data and avoid redundant computations.
  - Profile Your Code: Use profiling tools to measure execution time and memory usage, helping you identify performance issues.

ISO 8601

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <xsl:variable name="isoDate" select="'2023-12-31T23:59:59Z'" />
        
        <xsl:variable name="year" select="substring($isoDate, 1, 4)" />
        <xsl:variable name="month" select="substring($isoDate, 6, 2)" />
        <xsl:variable name="day" select="substring($isoDate, 9, 2)" />
        <xsl:variable name="hour" select="substring($isoDate, 12, 2)" />
        <xsl:variable name="minute" select="substring($isoDate, 15, 2)" />
        <xsl:variable name="second" select="substring($isoDate, 18, 2)" />
        <xsl:variable name="timezone" select="substring($isoDate, 20, 1)" />

        <xsl:variable name="isValid">
            <xsl:choose>
                <xsl:when test="string-length($isoDate) = 20 and $year >= 1000 and $year &lt;= 9999 and 
                    $month &gt;= 01 and $month &lt;= 12 and $day &gt;= 01 and $day &lt;= 31 and
                    $hour &gt;= 00 and $hour &lt;= 23 and $minute &gt;= 00 and $minute &lt;= 59 and
                    $second &gt;= 00 and $second &lt;= 59 and ($timezone = 'Z' or $timezone = '')">
                    <xsl:text>true</xsl:text>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:text>false</xsl:text>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

        <result>
            <xsl:value-of select="$isValid" />
        </result>
    </xsl:template>
</xsl:stylesheet>

Code Gen

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"
            >
<xsl:template match="node()" mode="print">

        <xsl:choose>

            <!-- is it element? -->
            <xsl:when test="name()">
                <br />

                <!-- start tag -->
                <xsl:text>&lt;</xsl:text>
                <xsl:value-of select="name()" />

                <!-- attributes -->
                <xsl:apply-templates select="@*" mode="print" />

                <xsl:choose>

                    <!-- has children -->
                    <xsl:when test="node()">
                        <!-- closing bracket -->
                        <xsl:text>&gt;</xsl:text>

                        <!-- children -->
                        <xsl:apply-templates mode="print" />

                        <!-- end tag -->
                        <xsl:text>&lt;/</xsl:text>
                        <xsl:value-of select="name()" />
                        <xsl:text>&gt;</xsl:text>
                        <br />
                    </xsl:when>

                    <!-- is empty -->
                    <xsl:otherwise>

                        <!-- closing bracket -->
                      <xsl:text>/&gt;</xsl:text><br />

                      <br />
                    </xsl:otherwise>

                </xsl:choose>

            </xsl:when>

            <!-- text -->
            <xsl:otherwise>
                <xsl:copy />
            </xsl:otherwise>

        </xsl:choose>

</xsl:template>

<xsl:template match="@*" mode="print">
    <xsl:text> </xsl:text>
    <xsl:value-of select="name()" />
    <xsl:text>=&quot;</xsl:text>
    <xsl:value-of select="." />
    <xsl:text>&quot;</xsl:text>
</xsl:template>


<xsl:template match="text()" mode="print">
    <xsl:choose>

      <xsl:when test="contains(parent::node()/@key, 'Availability')">
        <xsl:value-of select="number(current()) + 1" />
      </xsl:when>

      <xsl:otherwise>
        <xsl:value-of select="." />
      </xsl:otherwise>
    </xsl:choose>
</xsl:template>

<xsl:template match="/">
  <xsl:apply-templates mode="print" />
</xsl:template>

</xsl:stylesheet>

RDF

ECMAScript 4

E4X

XQuery

JSONPath

Technical Documentation

  • wikibooks
  • slideshare
  • codeproject
  • codementor
  • LinkedIn Pulse

ANSI Terminal

C++

XForms

Microformats

UIML

Exception Hierarchy

Dependency Injection

duplicate bean annotation classpath circular exception definition collision injection autowire

Enterprise Architecture

Operating System Architecture

Design by Committee

Email

https://help.dreamhost.com/hc/en-us/articles/215035988-How-to-spoof-in-your-CMS-or-web-application

Coding

Architecture

Objective-C

C#

DLL

TCL

Literate Programming

Cookbooks

Symbian

DOS

VB/ASP

NIEM

Docbook

Alfresco

FoxPro

AutoIt/AutoHotKey

CoffeeScript

ES6 Subclasses

Solaris/Linux Library Linking

LAMP

Ada

Project File Structure

Architecture

Packaging

UTF-16

ORMs

XQuery

XPath

XHTML

SOAP/WSDL Web Services

Regexp

Spec Writing

Templating

Data Mining

Tooling

ActionScript

Adobe Air

java_projects_targeted_adobe_air:
  - name: "Air Native Extensions (ANE)"
    description: "Bridges the gap between the Adobe AIR runtime and native code written in Java."
    url: "https://github.com/adobe/air-native-extensions"

  - name: "Tutorial ANE - Air Native Extension with Java as Native Language"
    description: "Step-by-step guide on developing an Air Native Extension (ANE) using Java as the native language."
    url: "https://github.com/devcodef1/tutorial-ane-air-native-extension-with-java"

  - name: "Java Adobe AIR Projects"
    description: "Collection of projects using Java for Adobe AIR development."
    url: "https://github.com/topics/adobe-air-java"

Flex

Flash

MHTML

Content Tracking

Release Planning

Unit Testing

Integration Testing

Modeling

Logging

Scripting

GUI

Migration

Introspection

Perl + Emacs

  1. https://rachelandrew.co.uk/archives/2023/12/31/1996/
  2. https://alexschroeder.ch/wiki/Oddmuse

Naming Conventions

Changelog

Troubleshooting

OOP

JCL

IDE

Eclipse

  1. DockFX¹: A fully featured docking library for the JavaFX platform.
  2. Eclipse Corrosion¹: Rust edition in Eclipse IDE.
  3. Bazel Eclipse¹: This repo holds two IDE projects. One is the Eclipse Feature for developing Bazel projects in Eclipse. The other is the Bazel Java Language Server, which is a build integration for IDEs such as VS Code.
  4. KaiZen-OpenAPI-Editor¹: Eclipse Editor for the Swagger-OpenAPI Description Language.
  5. Google Cloud Eclipse¹: Google Cloud Platform plugin for Eclipse.
  6. Swing Paint Application¹: A Basic Paint Application based on Java Swing.
  7. Texlipse¹: Eclipse Texlipse.
  8. Pitclipse¹: Mutation testing for Java in Eclipse IDE. Based on PIT (Pitest).
  9. Eclipse Discord Integration¹: Discord's Rich Presence Integration within Eclipse IDE.

Compilers

Build Automation

MVVM

Annotations

Schema

Auth

Pattern Matching

Path Finding

Compression

Serial Ports

Data Modeling

Siteminder

MVC

MVVM

Configuration

Servlets

Doclets

Bad Default Environment Variables

Documentation

Testing

Hardware Abstraction

TLS

Analysis

Visual Basic / VBA

APIs

Regedit

Certifications

Windows Batch

Stop Cortana

:loop
 taskkill /f /im SearchUI.exe
 timeout /t 1
 goto loop

Add this to the Task Scheduler to run after logon is successful

Ant

git:

<macrodef name = "git">
    <attribute name = "command" />
    <attribute name = "dir" default = "" />
    <element name = "args" optional = "true" />
    <sequential>
        <echo message = "git @{command}" />
        <exec executable = "git" dir = "@{dir}">
            <arg value = "@{command}" />
            <args/>
        </exec>
    </sequential>
</macrodef>

git clone/pull:
<macrodef name = "git-clone-pull">
    <attribute name = "repository" />
    <attribute name = "dest" />
    <sequential>
        <git command = "clone">
            <args>
                <arg value = "@{repository}" />
                <arg value = "@{dest}" />
            </args>
        </git>
        <git command = "pull" dir = "@{dest}" />
    </sequential>
</macrodef>

git clone:
<git command = "clone">
    <args>
        <arg value = "git://github.com/280north/ojunit.git" />
        <arg value = "ojunit" />
    </args>
</git>

git pull:
<git command = "pull" dir = "repository_path" />

Ant Config

jtidy

cp jtidy-r938.jar ~/jtidy.jar
Run the help file
java -jar jtidy.jar -h
Create an alias for it using xargs
vi ~/alias
alias jtidy='xargs | java -jar ~/jtidy.jar'
Run it on a file
cd html
jtidy foo.html
  • Create a config file
indent: auto
indent-spaces: 2
quiet: yes
tidy-mark: no
doctype: omit
new-blocklevel-tags: main
newline: LF
output-html: yes
show-body-only: yes
trim-empty-elements: no
drop-empty-paras: no
wrap: 148
input-encoding: UTF-8
output-encoding: UTF-8
char-encoding: UTF-8

Save it as config.txt

Run with a config file:

jtidy.jar -config config.txt foo.html

Hibernate, Spring, Struts, and other frameworks reveal Java's deficiencies rather than its strengths. A future platform shouldn't need a cacophony of frameworks just to do the basics.

SSI

Use FilesMatch and SetHandler and put this in .htaccess instead of httpd.conf:

# Enable server side includes
Options +Includes 

# Handle files ending in .php, .shtml, and .html using the PHP interpreter:

<FilesMatch "\.(php|shtml|html)$">
  SetHandler application/x-httpd-php
</FilesMatch>

# Filter .php, .shtml and .html files through mod_include first
AddOutputFilter INCLUDES .php .shtml .html

Flash Drawing API Animation

stage.frameRate = 31;

var currentDegrees:Number = 0;
var radius:Number = 40;
var satelliteRadius:Number = 6;

var container:Sprite = new Sprite();
container.x = stage.stageWidth / 2;
container.y = stage.stageHeight / 2;
addChild(container);
var satellite:Shape = new Shape();
container.addChild(satellite);

addEventListener(Event.ENTER_FRAME, doEveryFrame);

function doEveryFrame(event:Event):void
{
    currentDegrees += 4;
    var radians:Number = getRadians(currentDegrees);
    var posX:Number = Math.sin(radians) * radius;
    var posY:Number = Math.cos(radians) * radius;
    satellite.graphics.clear();
    satellite.graphics.beginFill(0);
    satellite.graphics.drawCircle(posX, posY, satelliteRadius);
}

function getRadians(degrees:Number):Number
{
    return degrees * Math.PI / 180;
}

References:

⚠️ **GitHub.com Fallback** ⚠️