RSSAmplifier

Blog

javadude.com

Recent content on javadude.com

javadude.comRSS feed ↗36 posts

Latest posts

Official Android Docs (That I've Written)

A collection of official Android documentation that I wrote while employed at Google, with editorial tweaks from the amazing tech writers I worked with! Includes build and project structure overviews and details on dependency resolution and maintenance. Read on for the links! Good stuff!

My Android class content for Johns Hopkins University

I've been teaching an Android class for Johns Hopkins University since 2012. It's gone through many iterations over time, from development environments to languages to UI frameworks. Most days I wish I just taught math. Math doesn't change like this every year. Read on for the current and legacy content links.

My Domain-Specific Languages (DSL) class content for Johns Hopkins University

I taught a single-term Domain-Specific Languages class for Johns Hopkins University in 2018. Read on for the video playlist link!

My Kotlin class content

I've been teaching a live Kotlin class for Johns Hopkins University since 2020. Read on for the latest video playlist link!

Finding a deadlock in Android Studio

Android Studio makes it crazy easy to locate deadlocks! I'll explain how in this video.

From Java to Kotlin - Episode 1 - You've Gotta Start Somewhere...

Let's learn Kotlin from a Java point of view. We'll start by looking at some basics of Variables, Values, Classes, Properties and Constructors.

Domain-Specific Languages (DSLs) and Code Generation

A Tech Talk I gave for Johns Hopkins University June 28, 2017. What is a Domain-Specific Language? How can we use one for code-generation?

Design Patterns Brown-Bag Lectures

Talks on Gang-of-Four Design Patterns: Mediator, Observer, Javabeans, Model-View-Controller, Command, Template Method, Strategy and Null Object, Composite and Visitor, Factory Method, Abstract Factory and Builder

Android Intents and Fragments

A tech talk I gave for Johns Hopkins University on Oct 6, 2014 on Android Intents and Fragments.

Java 8 - Lambdas and Streams

A Java Users Group talk from September 2014 I presented on new features in Java 8: Lambdas and Streams.

Code Generation with xText and xTend

A Java Users Group talk from July 2013 I presented on new features in JCode Generation with xText and xTend. We'll use xText to create a custom language by specifying a grammar, read the content into a model, and generate code using xTend!

Java Enumerations

A Java Users Group talk I presented on enumerations in Java. I cover: The old "type-safe enumeration pattern" Using enums for values Adding data and methods to enums Using enums for the Gang-of-Four State Pattern Using enums to emulate function pointers in Java EnumSet and EnumMap

Template Method and Strategy

I presented a talk on the Template Method and Strategy Patterns to the Columbia, Maryland Java Users Group on 10/13/2011.

Java Dynamic Proxies

I presented a talk on Dynamic Proxies to the Columbia, Maryland Java Users Group on 12/02/2010.

Effective Eclipse

A Java Users Group talk from May 2010 I presented on Eclipse tips and tricks.

Java Annotations

I presented a talk on Java Annotations to the Columbia, Maryland Java Users Group on 1/19/2010. This is a very deep dive into Annotation Concepts Creating annotation processors Using annotations at compile time and runtime Generating code from annotations

ANTLR 3.x Tutorial

A video tutorial on ANTLR 3.x

ANTXR

ANTXR: Easy XML Parsing, based on the ANTLR parser generator

Import on Demand is EVIL!

There should never exist any language feature such that adding a new type to a referenced package can break your existing code. Import-on-demand (aka "start imports") is one such feature... And it's evil...

Java is Pass-by-Value, Dammit!

I'm really tired of hearing folks incorrectly state "primitives are passed by value, objects are passed by reference". So I'm gonna rant, and you're gonna listen...

Layering Applications

Maintainable applications can be quite tricky to develop. One of the keys to creating such a beast, is to properly layer your application.

An ANTLR 2.0 Tutorial

A tutorial on ANTLR 2.x

Converting a Grammar from LALR to LL

Converting from LALR to LL can be challenging... Hopefully this article will make it a weeeeee bit simpler...

Creating JavaBean Property Editors

Property editors are a way to make your bean more user-friendly. Bean builder tools can determine quite a lot about your bean just by looking at it and its corresponding BeanInfo class, but they usually have only very simple methods of editing the properties in the bean.

Importifier

Automatic Expansion of Java Import Statements

JavaOne 2000/2001/2002

Some talks I gave at JavaOne in 2000, 2001, and 2002.

Swing Border Editor

Simple Swing Border Editing in GUI Builders

The JavaBean Component Model

The basics of the JavaBean Component Model

Using JavaBean Accessors

Accessors are a key ingredient to proper encapsulation. The can restrict access to only read/write data, inform other objects of changes to data, and perform validation on new values being set. Consistent accessor usage makes class modification easy and transparent.

Using the Right Comment in Java

Java provides three types of comments; when should we use which?

Autogut

A VisualAge for Java plugin to create interfaces from classes

SplitterLayout

A Layout Manager for Split Windows

BoxBeans

JavaBeans for BoxLayout Visualization

ParseView

Visual Debugging for ANTLR 2.x

TabSplitter

Way Cool (And Antiquated) Tabbed Panel Component

Effective Layout Management

Let's get familiar with Java Layout Managers!