Thank you for visiting! If you liked the site, please add a bookmark, else add a critical comment! Would you like to visit Greece? Traditional Greek flag This real estate site is only available in Greek! The holy mountain

Monday 29 May 2017

Netbeans 8: Setting up the current java development kit

This new post addresses another repetitive task which draws the attention of a Java developer, as the time goes by and newer versions of the jdk become available for the public. That is updating the Netbeans IDE with the most current version by editing the file:

 "C:\PathtoProgramFiles\NetBeans 8.1\etc\netbeans.conf"

Although the IDE is smart enough to locate an existing jdk, every time it starts, it stalls and shows this message.



A sample netbeans.conf file follows below  for  your reference.

# Default locations of userdir and cachedir:
# (http://wiki.netbeans.org/FaqWhatIsUserdir)
#
# On Windows ${DEFAULT_USERDIR_ROOT} will be replaced by the launcher
# with "<AppData>\NetBeans" where <AppData> is user's
# value of "AppData" key in Windows Registry under
# "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
# and ${DEFAULT_CACHEDIR_ROOT} will be replaced by the launcher
# with "<Local AppData>\NetBeans\Cache" where <Local AppData> is user's
# value of "Local AppData" key in Windows Registry under
# "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
#
# On Mac ${DEFAULT_USERDIR_ROOT} will be replaced by the launcher
# with "~/Library/Application Support/NetBeans" and
# ${DEFAULT_CACHEDIR_ROOT} with "~/Library/Caches/NetBeans"
#
# On other systems ${DEFAULT_USERDIR_ROOT} will be replaced by the launcher
# with "~/.netbeans" and ${DEFAULT_CACHEDIR_ROOT} with "~/.cache/netbeans"
#
# You can also use ${HOME} variable which will be replaced with
# user.home JVM system property value. This variable is valid only in
# netbeans_default_userdir and netbeans_default_cachedir properties.
#
# NOTE: If you specify a non-default userdir path on command line
# (--userdir option) and don't specify a cachedir path (--cachedir option),
# cachedir will be in "<userdir>/var/cache".
#
# Cachedir must be different from userdir. The same cachedir and userdir
# would cause problems.
#
netbeans_default_userdir="${DEFAULT_USERDIR_ROOT}/8.1"
netbeans_default_cachedir="${DEFAULT_CACHEDIR_ROOT}/8.1"

# Options used by NetBeans launcher by default:
# (can be overridden by explicit command line switches)
#
# Note that default -Xmx is selected for you automatically.
# You can find these values in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx
# here or on the command line.
#
# If you specify the heap size explicitly, you may also want to enable
# Concurrent Mark & Sweep garbage collector.
# (see http://wiki.netbeans.org/FaqGCPauses)
#
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m
 -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true
 -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true 
-J-Dsun.zip.disableMemoryMapping=true"

# Default location of JDK:
# (set by installer or commented out if launcher should decide)
#
# It can be overridden on command line by using --jdkhome <dir>
# Be careful when changing jdkhome.
# There are two NetBeans launchers for Windows (32-bit and 64-bit) and
# installer points to one of those in the NetBeans application shortcut
# based on the Java version selected at installation time.
#
netbeans_jdkhome="C:\PathToJava\jdk1.8.0_131"

# Additional module clusters:
# using ${path.separator} (';' on Windows or ':' on Unix):
#
#netbeans_extraclusters="/absolute/path/to/cluster1:/absolute/path/to/cluster2"

Wednesday 17 August 2016

A technical review of LG 32LF650V smart tv 3d series

This new post describes my experiences regarding the use of the 32 inch  LG 32LF650V smart tv. More or less the contents of the other post concerning the LG 32 LB 650 still apply, but there are some news as well.
On the bright side, the refresh rate has been increased to 900 Hz offering a clearer high definition view then the predecessor, especially during satellite reception.  The initial assembly is also simplified and that might explain the brevity of the printed owner's manual. By the way, the manual authors have spent almost two pages describing the functions of the magic remote which is to be purchased separately for around 50€. Although Adobe flash player is still missing, one could experiment starting up some third party  software, such as the nova player, and attempt to update it. Hopefully the built in internet browser will be able to play online streaming content full screen, as provided by internet broadcasting services such as filmon.    Regular manual updating of the WebOS might also help, please bear in mind that auto updating does not always work!
On the dark side, the menu structure, browser,  the tv operation via the remote control remain as good, or bad, as before. A convenient and cheaper alternative to buying the magic remote, is connecting a wheel mouse to the usb port of the tv. Sadly connecting a microsoft natural keyboard for entering text, did not work for me! Moreover, some people claimed that the plastic stands are of moderate to low quality and that the tv does not allow to switch off entirely.  However, one can disable the standby led light by changing the settings in order to save energy. Another regular complaint is the so often "Out of memory error" appearing while browsing the internet. Hopefully the updates will solve that problem too. After several updates the situation worsened: some streaming providers such as dw.com, which functioned well, just ceased to work!
All in all, the software quality of the linux open source based WebOS remains disputable, I 'd rather have android installed instead. For a price of 369€ it seems to be worth the money, only for people having access to a satellite dish. Watching online streaming is still troublesome, since the broadband lines are still too slow and unreliable.The smart tv browser is so bad, that streaming is almost out of question, some web sites can not display correctly either. What is worse is the memory errors thrown often when a web page is big. Allowing to install another open source browser such as Tor, firefox or opera might help. Only the standard tv functions well, but if one has paid a high price for a smart tv, not only a plain one, that is purely a waste of money!

Thursday 14 July 2016

A technical review of Android development using Android Studio 2.1.2

Photo from the Keramikos ancient cemetery, Athens, Greece
This new post describes my findings while developing a small android 
sightseeing application of about 4 MB in size, targeting English 
speaking tourists already visiting, or planning to travel to Athens,
 Attica, Greece using android version 4.3 devices, or newer.

 
On the dark side the development environment is so rapidly changing, 
that after less than six months, half the code of the book I was reading
 was already deprecated!
Moreover one has to daily download hundreds of MB, to update,
 which can be sometimes distracting. The IDE is also too CPU demanding 
 and memory hungry, 8 GB or even more are recommended, when simulators are needed.
Editing the gradle settings for the specific project might save you from overheating
your CPU.  Please read your console output and edit accordingly, here is only an instance: 
 
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users
:# Gradle settings configured through the IDE *will override* 
# any settings specified in this file.
# For more details on how to configure your build environment visit 
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
 # The setting is particularly useful for tweaking memory settings. 
# Default value: -Xmx10248m -XX:MaxPermSize=256m 
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m
 -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html
#sec:decoupled_projects 
# org.gradle.parallel=true 
 
Furthermore, one has to test each device screen size and android version separately at a time, 
having all handheld devices  available  is rather impossible, which may make development 
cumbersome and expensive. For one cannot upgrade the mobile or tablet OS to a newer version,
 unless one pays the higher (almost double) price of a Nexus device! 
 
On the bright side, the libraries and online services provided are extensive
 and effectively help the programmer to integrate mapping and calculating the distance, 
or route between two places. The documentation offers a basic skeleton of code samples
 to build upon, and naturally one has to search how to fit all pieces of the puzzle together.
 
All in all, the initial target of java seems not to be met, the doctrine write once run 
everywhere, is now not valid, since as far as I know, one cannot run the app on a traditional
 linux java virtual machine, such as Web OS of a  LG smart tv, 
 which I find rather disturbing.
 Such proprietary solutions are successful and bring up to now certainly big corporate 
profits, but I wonder whether and for how much longer in the future will the consumers
 and international organizations tolerate it.