bllmlkg/javadoc/bllmlkg/package-summary

bllmlkg (bllmlkg 0.12 API)

Package bllmlkg

Share

bllmlkg/javadoc/bllmlkg/LicenseReaderWriter

LicenseReaderWriter (bllmlkg 0.12 API)
bllmlkg

Class LicenseReaderWriter

  • java.lang.Object
    • bllmlkg.LicenseReaderWriter


  • public class LicenseReaderWriter
    extends java.lang.Object
    • Constructor Detail

      • LicenseReaderWriter

        public LicenseReaderWriter(LicenseKeyGenerator _parent,
                                   java.lang.String _privateKey)
    • Method Detail

      • readLicense

        public License readLicense(java.lang.String _licenseFileName)
      • writeLicense

        public void writeLicense(java.lang.String _licenseFileName,
                                 License _lic)
Share

bllmlkg/javadoc/bllmlkg/LicenseKeyGenerator

LicenseKeyGenerator (bllmlkg 0.12 API)
bllmlkg

Class LicenseKeyGenerator

  • java.lang.Object
    • java.awt.Component
      • java.awt.Container
        • java.awt.Window
          • java.awt.Frame
            • javax.swing.JFrame
              • bllmlkg.LicenseKeyGenerator
  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.DocumentListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants


    public class LicenseKeyGenerator
    extends javax.swing.JFrame
    implements java.awt.event.ActionListener, javax.swing.event.DocumentListener
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      int trialExpiresInDays 
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void actionPerformed(java.awt.event.ActionEvent e) 
      void changedUpdate(javax.swing.event.DocumentEvent e) 
      void displayCryptoIcon() 
      void generateLicenses() 
      java.lang.String getKeyString() 
      void insertUpdate(javax.swing.event.DocumentEvent e) 
      static void main(java.lang.String[] args) 
      void readWalletIDfile() 
      void removeUpdate(javax.swing.event.DocumentEvent e) 
      void setKeyString(java.lang.String s) 
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • trialExpiresInDays

        public int trialExpiresInDays
    • Constructor Detail

      • LicenseKeyGenerator

        public LicenseKeyGenerator()
    • Method Detail

      • actionPerformed

        public void actionPerformed(java.awt.event.ActionEvent e)
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
      • insertUpdate

        public void insertUpdate(javax.swing.event.DocumentEvent e)
        Specified by:
        insertUpdate in interface javax.swing.event.DocumentListener
      • removeUpdate

        public void removeUpdate(javax.swing.event.DocumentEvent e)
        Specified by:
        removeUpdate in interface javax.swing.event.DocumentListener
      • changedUpdate

        public void changedUpdate(javax.swing.event.DocumentEvent e)
        Specified by:
        changedUpdate in interface javax.swing.event.DocumentListener
      • readWalletIDfile

        public void readWalletIDfile()
      • displayCryptoIcon

        public void displayCryptoIcon()
      • generateLicenses

        public void generateLicenses()
      • setKeyString

        public void setKeyString(java.lang.String s)
      • getKeyString

        public java.lang.String getKeyString()
      • main

        public static void main(java.lang.String[] args)
Share

bllmlkg/javadoc/bllmlkg/package-tree

bllmlkg Class Hierarchy (bllmlkg 0.12 API)

Hierarchy For Package bllmlkg

Package Hierarchies:

Class Hierarchy

  • java.lang.Object
    • java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
      • java.awt.Container
        • javax.swing.JComponent (implements java.io.Serializable)
          • javax.swing.JPanel (implements javax.accessibility.Accessible)
        • java.awt.Window (implements javax.accessibility.Accessible)
          • java.awt.Frame (implements java.awt.MenuContainer)
            • javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
              • bllmlkg.LicenseKeyGenerator (implements java.awt.event.ActionListener, javax.swing.event.DocumentListener)
    • bllmlkg.LicenseReaderWriter
Share

Google

Google manipulates Youtube searches

Google Is Micro-Gaslighting Again

Google data collection habits

Android is not open source

Google is not what it seems

Tips from Jim

Add the following to your hosts file:

127.0.0.1 googlesyndication.com
127.0.0.1 tpc.googlesyndication.com
127.0.0.1 doubleclick.net
127.0.0.1 g.doubleclick.net
127.0.0.1 googleads.g.doubleclick.net
127.0.0.1 www.google-analytics.com
127.0.0.1 ssl.google-analytics.com
127.0.0.1 google-analytics.com
127.0.0.1 www.onclickmax.com

Turn off Thunderbird and Firefox’s routine tattling.

Mozilla Firefox

Type ‘about:config’ in the address bar
Click through the warning
Type ‘geo.’ in the search box. A list of items appears
Doubleclick on the geo.enabled item till it reads ‘False’
Change the two strings to ‘http://localhost’
Change the timeout to 1

Mozilla Thunderbird

Select Tools/Options/Avanced/General/Config Editor
click through the warning
type ‘geo.’ in the search box. A list of items appears
set the timeout to one, and the url to ‘http://localhost’

Don’t use google accounts

Some alternatives:

Twitter –> Gab

Facebook –> Akasha

Search –> DuckDuckGo

Mail –> Disroot, Tutanota

Info within on what Google collects

Share

YouTube Go

In 1985, newly employed with cash to spare, I splurged on a Yamaha CD-X2 CD player. This was long before CDs were established as the heir to vinyl, and at a time when the future of 8-track tapes was still an uncertainty. My first CD was a gift from my roommates - Supertramp’s Breakfeast in America. The last CD I purchased was Beth Gibbons and Rustin Man Out of Season in 2003. In that interval I did my part supporting the music industry by purchasing about 300 CDs which I still own, but rarely listen to.

Today, when interested in listening to music, I usually just call it up on YouTube. The problem is usually recalling the group or song name. To catalog my musical preferences, I wrote an R/Shiny app I call Youtube Go, in honor of Chardonnay Go. The App provides a quick way to add a URL to a “database”, and then query and launch YouTube with a mouse click.

The data file layout is very simple - comma separated values that could be pulled into LibreOffice Calc and edited if necessary.

music-database.csv
1
2
3
4
5
6
7
8
9

genre,artist,title,url
rock,Boston,More than a Feeling,https://www.youtube.com/watch?v=SSR6ZzjDZ94
guitar,David Bolshoy,Sueno en la Floresta,https://www.youtube.com/watch?v=1zyW4-m7L4c
new wave,Talk Talk,It’s my life,https://www.youtube.com/watch?v=5ixRWvrkUHo
summer,John Barry,Walkabout,https://www.youtube.com/watch?v=s5Mf--ykjEU
new wave,Peter Schilling,Major Tom,https://www.youtube.com/watch?v=N1Hs2AQwDgA
new wave,a ha ,Take on me,https://www.youtube.com/watch?v=djV11Xbc914

Here is a view of the query window:

As you come across old favorites or discover new artists, you can easily add the URL to the database through the add tab. Songs are catagorized by genre and artist. Then using the query tab, you can easily recall the song. Since the database is a plain text csv file, errors are easy to correct. To launch the software, create an executable shell script:

~/bin/music.sh
1
2
3
#!/bin/bash

R -e "shiny::runApp(appDir='/home/mbc/syncd/prog/shiny/music', launch.browser=TRUE)"

Code is available on GitHub. You must have R along with the shiny and DT packages installed.

Share

Smalltalk evaluation

I have been working with Smalltalk part time for almost 3 months now. I have read Pharo By Example (some chapters multiple times), Smalltalk-80, Deep into Pharo, Art and Science of Smalltalk, many of the Smalltalk Reports and many Quora and Stack Overflow threads. I have started writing PlateManager in Smalltalk. Here is what I have learned:

Smalltalk pros:

  • Simple understandandable object model
  • Message passing simplifies code and keeps code readable
  • Live programming, debugging very useful
  • The IDE nicely organizes classes and methods
  • Increased productivity? This would be a big win if true, but I do not have enough experience to support nor refute this claim.

Smalltalk cons:

  • No package management. This is a big lose. Prepending classes with 3 letters is a band-aid. Package (namespace) management is a solved problem.
  • No build software. Is it even needed? What about obfuscation, signing, enhancing classes to make them persistant capable?
  • The image. More downsides than upsides. How do I deploy my application?
  • Too much mouse clicking required with the IDE.
  • Small user community
  • Few libraries, especially in bioinformatics
  • GLASS provides a nice integrated package, but you are limited to the provided implementations (Seaside and Gemstone) with no options.
  • Few job opportunities. Smalltalk is not mentioned in a single category in the 2018 Stack Overflow developer’s survey.

I would really like to work with Smalltalk, but the downsides seem significant. I will stick with Java/PostgreSQL. Safe if not adventurous.

Share

Smalltalk Articles

Smalltalk Report

Issue Volume–> 1 2 3 4 5
1 Sept91 Sept92 Sept93 Sept94 Sept95
2 Oct91 Oct92 Oct93 Oct94 Oct95
3 Nov/Dec91 Nov/Dec92 Nov/Dec93 Nov/Dec94 Nov/Dec95
4 Jan92 Jan93 Jan94 Jan95 Jan96
5 Feb92 Feb93 Feb94 Feb95 Feb96
6 March/April92 March/April93 March/April94 March/April95 March/April96
7 May92 May93 May94 May95 May96
8 June92 June93 June94 June95 June96
9 July/August92 July/August93 July/August94 July/August95 July/August96

Instantiation’s articles

  • [How Should Classes Be Initialized?](/lnsDFoKytr/2018/05/16/starticles/class_initialize.pdf)
  • [Class Instance Variables](/lnsDFoKytr/2018/05/16/starticles/ClassInstVars.pdf)
  • [Should Classes Have Owners?](/lnsDFoKytr/2018/05/16/starticles/ClassOwners.pdf)
  • [How to Use Class Variables and Class Instance Variables](/lnsDFoKytr/2018/05/16/starticles/ClassVars&ClassInstVars.pdf)
  • [Constants, Defaults and Reusability](/lnsDFoKytr/2018/05/16/starticles/Constants&Defaults.pdf)
  • [The Dangers of Storing Objects](/lnsDFoKytr/2018/05/16/starticles/DangerStoring.pdf)
  • [Exceptional Power and Control](/lnsDFoKytr/2018/05/16/starticles/Exceptions.pdf)
  • [How to Create Smalltalk Scripts](/lnsDFoKytr/2018/05/16/starticles/FileinScripts.pdf)
  • [How to Manage Source without Tools](/lnsDFoKytr/2018/05/16/starticles/ManageSource.pdf)
  • [Don't Use Arrays?](/lnsDFoKytr/2018/05/16/starticles/MisuseOfArrays.pdf)
  • [How Should Teams Organize their Applications?](/lnsDFoKytr/2018/05/16/starticles/OrganizingTeams.pdf)
  • [Techniques for Platform Independence](/lnsDFoKytr/2018/05/16/starticles/PlatformIndepdendence.pdf)
  • [Pools: An Attractive Nuisance](/lnsDFoKytr/2018/05/16/starticles/Pools.pdf)
  • [Return Values](/lnsDFoKytr/2018/05/16/starticles/ReturnValues.pdf)
  • [Creating Subclasses](/lnsDFoKytr/2018/05/16/starticles/Subclassing1.pdf)
  • [Extending the Collection Hierarchy](/lnsDFoKytr/2018/05/16/starticles/Subclassing1.pdf)
  • [A Smalltalk Virtual Machine Architectural Model](/lnsDFoKytr/2018/05/16/starticles/VMArchitecture.pdf)

Miscellaneous

Object Behavior Analysis and Design

Share

Pharma Productivity

More disappointing news concerning pharma productivity:

Given the poor success rates of compounds making it out of clinical trials, the poor efficacy of those on the market, and the realization that most breakthroughs are bullshit, I can only conclude that we are in the business of extracting money from insurance companies and patients.

Share