Windows Batch Sudoku Downloader

It’s surprising how often I need this…

@ECHO OFF
IF [%1] == [/?] GOTO USAGE
IF [%1] == [/h] GOTO USAGE
IF %1 NEQ +%1 GOTO USAGE
GOTO PROCESSING

:USAGE
ECHO Sudoku (killer difficulty) downloader, loads from https://sudoku-drucken.de
ECHO and assembles to single file, ready to be printed.
ECHO Dependencies are wget and pdftk, those need to be available on the PATH.
ECHO.
ECHO usage: sudoku [N] 
ECHO N - Number of Sudoku pages, default 20 if omitted
GOTO END

:PROCESSING
SETLOCAL
SET FOLDER=%TEMP%\SUDOKU
MD %FOLDER%
CD /D %FOLDER%

SET PAGES=20
IF NOT %1==[] SET PAGES=%1

FOR /L %%N IN (1, 1, %PAGES%) DO (
	wget -q -O %%N.pdf "https://sudoku-drucken.de/component/sudoku/?task=print_sudoku&level=killer"
	ECHO Downloaded page %%N
)
ECHO Combining %PAGES% to a single PDF
pdftk *.pdf cat output sudoku.pdf
CALL sudoku.pdf
CD \
RMDIR /S /Q %FOLDER%
ENDLOCAL

:END

Linux system online only on working hours

E.g. you have a linux machine and want it online only MO-FR 07:00-19:00?

As root do the following:

1. create a new script (I used /opt/shutdownWakeUpNextWorkday7.sh)

#!/bin/bash
TOMORROW=$(date --date="tomorrow" +%A)
if [ $TOMORROW = "Saturday" ]
then
  TOMORROW="Monday"
fi
rtcwake -m off -t $(date --date="$TOMORROW 7" +%s)

2. make that script executable

chmod +x /opt/shutdownWakeUpNextWorkday7.sh

3. in /etc/crontab add

00 19   * * *   root    /opt/shutdownWakeUpNextWorkday7.sh

Done!

Notes:

The script checks whether the next day is Saturday, if yes it configures the rtcwake command to wake on Monday instead (skipping Sunday). On my systems computer time equals local time. If you have a different setup (rtc set to UTC) there are paramteters for both date and rtcwake to use either the one or the other so that your dates align.

rtcwake is used with powerstate off which equals ACPI S5, apparently some very old systems don’t support that. If you happen to be in that situation use something else like standby (S1), mem (S3) or disk (S4) and comment below I’d be interested to know.

in OPS | 176 Words

@PostConstruct not working?

If using Java11+ the javax.annotation package is no longer part of the distribution, as per JSR-175 missing annotations do not trigger “missing class” or similar exceptions.
So look out when updating from sub-Java11 to there. Solution? Add

<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>

Another gotcha is when using vaadin, it has it’s own CDI dependency:

<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>

Netbeans 10 (incubating) – 30 available Plugins?

Since the move to apache the included Netbeans plugin sources (“Update Centers) seriously lost it’s appeal.

To have access to the most basic needs, head to Tools->Plugins->Settings and Add:

  • enabling “Netbeans 8.2 Plugin Portal” yields 20 additional plugins
  • adding
    http://plugins.netbeans.org/nbpluginportal/updates/8.2/catalog.xml.gz

    gets you 171 (26 shared with “Plugin Portal)

  • adding
    http://plugins.netbeans.org/nbpluginportal/updates/8.0/catalog.xml.gz

    will add 170 (12 shared with “Plugin Portal”, 69 shared with the 8.2 above)

In total 271, much better. Whether all of them are useful or even work is another question entirely. “Quick Opener” did, so I’m happy for now.

Btw, did anyone else notice that the windows executable properties have still version 9 listed?

 

Netbeans 10 – Cannot find Java 1.8 or higher

Freshly unpacked Netbeans 10 won’t run with either JDK 8 or 11 in PATH and JAVA_HOME.

Solution, either:

  • run netbeans with jdkhome parameter, pointing to your jdk-base folder, e.g.
    netbeans64 --jdkhome c:\jdks\jdk11
  • for a more permanent solution go to subfolder “etc” and open netbeans.conf search the line with netbeans_jdkhome and set the folder there (also uncomment/ remove hashsign) like so
    netbeans_jdkhome="c:\jdks\jdk11"