2016-01-20

music: synthwave/ outrun/ retroware playlist

  1. Carpenter Brut - FRA - playlist, bandcamp
  2. Perturbator - FRA - playlist, The Uncanny Valley, bandcamp
  3. Lazerhawk - USA (Austin, TX) - playlist, bandcamp
  4. Miami Nights 1984 - CAN (Victoria, BC) - playlist, bandcamp
  5. Mitch Murder - SWE (Stockholm) - playlist, Kung Fury OST, bandcamp
  6. Betamaxx - USA (Pittsburgh, PA) - playlist1, playlist2, bandcamp
  7. Power Glove - AUS (Melbourne) - playlist, Blood Dragon OST, bandcamp
  8. Vector Hold - USA (San Jose, CA) - playlist
  9. Timecop1983 - NL (Eindhoven) - playlist1, playlist2
  10. Waveshaper - SWE (Stockholm) - playlist, bandcamp
  11. Garth Knight - UK (Glasgow) - playlist1, playlist2, bandcamp
  12. Dynatron - DEN (Copenhagen) - playlist1, playlist2 
  13. Bourgeoisie - USA (Miami, FL) - playlist, bandcamp
  14. Mega Drive - USA (Dallas, TX) - playlist1, playlist2, playlist3, bandcamp
  15. Zombie Hyperdrive - GER (Halle) - track, bandcamp
...or start here: "Back To The 80's" Mix on YT

Disclaimer: Do not drive under the influence of these.

    2016-01-02

    hupquote #1

    Pedig igaza van. Amíg nem fogják fel a felsőoktatásban, hogy bizony létezik egy olyan szakma, hogy szoftvermérnökség, ami nem csak abból áll, hogy a ciklus leállási feltételét bizonyítjuk be papíron, hanem abból is, hogy hogyan írunk tiszta kódot, hogyan írunk tesztelhető kódot, hogyan és mit dokumentálunk, hogyan keresünk hibát és oldunk meg problémát, addig ne is várd, hogy a cégek elvárják a diplomát az állásokhoz. A cégeknek szoftvermérnökök kellenek. Az egyetemi oktatás nem képest ezt megadni nekik.
    -- http://hup.hu/node/144645?comments_per_page=9999#comment-1941528

    2015-10-13

    Some Hungarian laws

    A "2010. évi CXXX. törvény a jogalkotásról" alapján a szolgáltató nem jogalkotó és nem jogforrás. Következményként az ÁSZF/EULA törvényt nem írhat felül.

    2015-09-16

    javascript: What is the type of this thing?!?!

    So you wonder, what the hell is the type of a something? Stack Overflow to the rescue!

    Object.prototype.toString.call('abc') // [object String]
    Object.prototype.toString.call(/abc/) // [object RegExp]
    Object.prototype.toString.call([1,2,3]) // [object Array]
    

    The full explanation and other ideas are here: http://stackoverflow.com/a/332429/357403

    2015-06-23

    java: Field Type Descriptors

    A field descriptor represents the type of a class, instance, or local variable.

    FieldType termTypeInterpretation
    Bbytesigned byte
    CcharUnicode character code point in the Basic Multilingual Plane, encoded with UTF-16
    Ddoubledouble-precision floating-point value
    Ffloatsingle-precision floating-point value
    Iintinteger
    Jlonglong integer
    LClassName;referencean instance of class ClassName
    eg. for Object ⇒ Ljava/lang/Object;
    Sshortsigned short
    Zbooleantrue or false
    [referenceone array dimension
    eg. for double[][][] ⇒ [[[D

    2015-06-11

    Oracle: JIRA issue activity breakdown

    So you need how many issues get created, changed or commented per hour, each day.

    SELECT * FROM (
       SELECT * FROM (
          SELECT
             ID                             AS "ISSUEID",
             TO_CHAR(CREATED, 'YYYY-MM-DD') AS CREATED  ,
             TO_CHAR(CREATED, 'HH24')       AS HOURS    ,
             TO_CHAR(CREATED, 'DAY')        AS DOW      ,
             'NEW'                          AS "TYPE"
          FROM JIRAISSUE
          WHERE CREATED >= TO_DATE('2015-01-01', 'YYYY-MM-DD')
          UNION ALL
          SELECT
             ISSUEID                                  ,
             TO_CHAR(CREATED, 'YYYY-MM-DD') AS CREATED,
             TO_CHAR(CREATED, 'HH24')       AS HOURS  ,
             TO_CHAR(CREATED, 'DAY')        AS DOW    ,
             'CHANGE'                       AS "TYPE"
          FROM CHANGEGROUP
          WHERE CREATED >= TO_DATE('2015-01-01', 'YYYY-MM-DD')
          UNION ALL
          SELECT
             ISSUEID                                  ,
             TO_CHAR(CREATED, 'YYYY-MM-DD') AS CREATED,
             TO_CHAR(CREATED, 'HH24')       AS HOURS  ,
             TO_CHAR(CREATED, 'DAY')        AS DOW    ,
             'COMMENT'                      AS "TYPE"
          FROM JIRAACTION
          WHERE CREATED >= TO_DATE('2015-01-01', 'YYYY-MM-DD')
       )
       PIVOT (
          COUNT(ISSUEID) FOR (HOURS)
          IN ('00', '01', '02', '03', '04', '05', '06', '07',
             '08', '09', '10', '11', '12', '13', '14', '15',
             '16', '17', '18', '19', '20', '21', '22', '23')
       )
    ) ORDER BY CREATED DESC, "TYPE" DESC;
    

    Not my best, but what do you expect in ten minutes?

    2015-06-10

    java: How to bulk load the Java Exception Site List

    This guide comes handy if you have a big site list that utilizes a Java applet as the primary entry point (Netscaler, Agile, HP BPM/PPM, etc), those you want to allow in browsers but latest Java blocks them, because they are not containing a security manifest.

    Good to know

    • No wildcards at all in the exception file.
    • Specify the port if needed (like :8080), as the default is the protcol's default port (80 for http, 443 for https).
    • End URL-s with / to also allow subdirectories.
    • Your own (default) exception.sites file is at: C:\Users\<user>\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites, this is what the Java Control Panel uses by default. You have to copy your existing stuff from here.
    • No comments are allowed in the exception.sites file... :-( If you try to have one, the exception file gets corrupted and will be skipped.

    Step-by-step guide

    1. Create the file: C:\Users\<user>\AppData\LocalLow\Sun\Java\Deployment\deployment.config
    2. Set it's contents to be:
      deployment.system.config=file\:C\:/Windows/Sun/Java/Deployment/deployment.properties
    3. Create the file: C:\Windows\Sun\Java\Deployment\deployment.properties
    4. Set it's contents to be:
      #C:\Windows\Sun\Java\Deployment\deployment.properties
      deployment.webjava.enabled=true
      deployment.security.level=MEDIUM
      deployment.security.level.locked
      deployment.user.security.exception.sites=C\:/Windows/Sun/Java/Deployment/exception.sites
      install.disable.sponsor.offers=true
    5. Create the file: C:\Windows\Sun\Java\Deployment\exception.sites
    6. Now, you can copy your previous site list. You can even populate it by a login script.

    2015-05-27

    C: fun on the 404 page of stackoverflow

    I found this fun on the SO's 404 page:
    Of course, it is a pretty lightly obfuscated C code printing out "404".

    This is what will get effectively compiled and executed (you can verify with gcc -E -P):
    main(){putchar(4+putchar(putchar(52)-4));return 0;};exit();
    
    As putc returns the character it printed out, the magic is easy:
    1. Print the character dec 52  (which is the digit four)
    2. Print the character dec 52-4 = dec 48 (which is the digit zero)
    3. Print the character dec 48+4 = dec 52 again

    2015-05-12

    Shell: Get threaddump directly from the java process

    Inspecting the Java source, I found a pretty easy way to skip java in the process of extracting info from another java process :-)

    PID=`pgrep java`
    SCKT=/tmp/.java_pid$PID
    SGNL=/tmp/.attach_pid$PID
    CMD='1\0threaddump\0\0\0\0'
    
    if [ ! -r $SCKT ]; then
     touch $SGNL || exit 2
     kill -s SIGQUIT $PID
     sleep 5
     rm $SGNL
     if [ ! -r $SCKT ]; then
      echo Cannot read $SCKT ... either you are not the correct user for this, or the java process does not 'see' our attach request.
      exit 1
     fi
     echo Done
    fi
    
    echo -ne "$CMD" | nc -U "$SCKT"
    

    Possible options and variations I know about:
    • 1\0threaddump\0-l\0\0\0 small L for the jstack -L option
    • 1\0inspectheap\0\0\0\0
    • 1\0inspectheap\0-live\0\0\0
    For others see the attachListener.cpp (JDK7, JDK8)