New Online IBM iSeries Website

Just a quickie after all these years since my previous post

if you need to learn how to code and manage an IBM AS/400 or iSeries computer, please see this new website location address: PUB400.com

you may need a 5250 terminal emulator for full access. SourceForge.net has a tn5250 telnet client i tried that did it for me. Google ‘free 5250 terminal emulator’ for that.

here is a new link: https://sourceforge.net/projects/tn5250/files/latest/download

Thanks to all you who continue to visit this blog daily. 💖

It is  with a bit of satisfaction and some pride, i can say yearly stats continue in the many thousands of visitors who may have found an answer or a clue here to how all this stuff works. 😁 🙏

Travis Continuous Integration Fails

My Travis builds worked nicely until I start to add a java/groovy Swing view or GUI to my projects. The gradle tests run and pass locally, but Travis throws a java.awt.HeadlessException as soon as it tried to run the test suite.

The Travis docs suggest using a tool called xvfb (X Virtual Framebuffer) to simulate a windowing system and run headless tests, but also warn “you need to tell your testing tool process” exactly how to use it.

The solution is simple: just add a few arguments to .travis.yml file. Mine looks like this:

language: java
before_install:
  - "export DISPLAY=:99.0"
  - "sh -e /etc/init.d/xvfb start"
jdk:
  - oraclejdk7
  - openjdk7
  - openjdk8

IBM360

Nice 😉

Is GPars on My Groovy Classpath ?

Since i use sdkman to manage my Groovy and Gradle installs, was wondering what jars it gives me in my groovyConsole classpath.

This script reveals all:

—-

def printClassPath(classLoader) { println "$classLoader" classLoader.getURLs().each {url-> println "- ${url.toString()}"}

if (classLoader.parent) { printClassPath(classLoader.parent) } }

printClassPath this.class.classLoader
-------

and the results are here:
------
Screenshot 2016-03-14 09.27.00

Website Performance ? – Use Google Analytics !

How to see how a website is accessed ? Use Google Analytics !

Google keeps track of visitors to websites based on a visitor’s search terms. This ability to track such vital data can lead to improved sales and more responsive website designs. Tracking Basics Quickstart notes are here.

The Analytics begin with a snippet, a small piece of JavaScript code that you paste into your web pages. It activates Google Analytics tracking by inserting ga.js into the page.
It uses a unique tracking code Google assigns your website. That tracking code is inserted into the google-provided javascript.

The javascript code for the asynchronous syntax requires two calls to _gaq.push.

_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);

The UA-XXX.. is replaced by your uniquely assigned value. Javascript code like this is inserted each page you wish to track.

Drag and Drop Visuals in your Interactive Dashboard – Gridster & D3.js

This is a treat for quicker mock ups !

The Tech Blog

Greetings Folks,

As part of my continued interactions with the open source stack, i came across a very nice library: Gridster.js. Gridster is a really cool and awesome JavaScript library that enables drag and drop as well as re-sizing features for your html placeholders (div’s).

I have had my fair share of experience with self service modules provided by various BI tools like Spotfire, Qlik, Tableau etc. The main aim of these modules as i inferred is to allow the business user to focus on the business aspects of visuals rather than on creating and designing the visuals.
At the same time, These self service modules reduce the dependency on IT as opposed to the traditional reporting structures where the businesses have to rely on IT for report generation.
And lastly, these modules allow faster time to insights as the dependency on the IT is reduced and the business (analyst)…

View original post 763 more words

List of Groovy Annotations

Don’t know where i found this list but have always wondered what annotations can we use when coding groovy scripts ? This list may not include more recent annotations – sorry.

Yeah, know you always wanted to understand groovy annotations but were afraid to ask, so just to give you the scoop, yo can watch this Paul King video where he explains how it all works – enjoy 🙂


Groovy AST Transforms
Groovy AST Transforms by Paul King

For those who don’t know, annotations are metadata tags we provide to the groovy compiler. These annotations are not directly turned into byte code, but more typically generate a small set of add-on logic to support specific stuff.

One typical annotation i use a lot is

@ToString class Fred{}

which asks the groovy compiler to produce extra code to create a toString() method for my class rather than hand-code one myself – cos i’m a lazy bugger like that ;-}

The list so far is :

// Abstract Syntax Tree
- in memory transform of your groovy script before bytecode generation
- it's a macro-like compiler hook allowing further mods to post-xlate /  pre-generate stage
- Code generation
@ToString
@EqualsAndHashCode
@Canonical
@TupleConstructor
@InheritConstructors
@Category
@IndexedProperty
@Lazy
@Newify

- Class design
@Delegate
@Immutable
@Memoized
@Singleton
@Mixin

- Logging
@Log
@log4j
@Log4j2
@Slf4j

- Safe Scripting
@ConditionalInterrupt
@ThreadInterrupt
@TimedInterrupt

-CompilerDirective
@Field
@PackageScope
@AnnotationCollector
@DelegatesTo
@TypeChecked - throws error if typo in var.s ane method names, bad return types, wrong type assigns -- allows fine-grained type inferences for DSLs or dynamics
@CompileStatic - generates same bytecode as javac w/same performance whe used with @TypeChecked
@CompileDynamic

- Swing
@Bindable
@ListenerList
@Vetoable

- Dependencies
@Grab
@GrabConfig
@GrabExclude
@GrabResolver

- Testing
@NotYetImplemented
@ASTTest

More

Let me know if you find more annotations we can add to this list.

StackEdit.Io – A Live Mark-Down Editor

StackEdit.IO

This is a sample markdown edited tool. It uses the live-console approach. It’s like an immediate WYSIWYG editor – quite interactive. And this editor has two features that are really keen :
1. Direct upload of document to wordpress
2. Dropbox backing store for persistent document retention.
3. Go to read more of the doc.s meself !

If you want to try it out and have a Dropbox account, please see this link: https://stackedit.io/editor# as it will give you a live taste of what this tool can do. Enjoy 🙂

Written with StackEdit.