Friday, December 18, 2020

Parallels 16.3.0 Apple Silicon Windows 10 Screen Refresh Issues

Parallels Version 16.3.0 (50385) Technical Preview was released today and it is capable of running Linux and Windows VMs, but with certain caveats.  I cannot find a list of known issues for this software so I'm documenting my own.

  • Ubuntu 20.04 Desktop for ARM64 
    • ISO not locatable, installer wants VHDX only it seems.  Selecting "All Files" allows selection, but then the user is presented with an error suggesting the ISO is Intel (it's not).
    • If you choose to create the VM without a boot CD, the ISO can be mounted manually.  Installation succeeds without issue.
    • Once booted, the VM works well however Parallels Tools are not yet available.  Attempt to run via command line wi will state "Aarch64 is not supported".



  • Windows 10 Pro Insider Preview
    • Installation is done using the VHDX image from Microsoft and it is completely seamless.  VM installs and boots up fine with Parallels Tools installed and working. 
    • On my M1 Mac Pro, rebooting the VM causes the screen to stop responding.  The only workaround I've found for this so far is to reinstall the Parallels Tools via "Actions, Install Parallels Tools" and the screen will eventually flicker and come back.  Then click "Postpone" when prompted for reboot.  You'll be asked several times.

      **Edit:** It turns out that disabling time sync can fix this.  More details here: https://forum.parallels.com/threads/how-to-unfreeze-frozen-vm-bug-workaround.351871/#post-878636
    • Several items seem to trigger the Green Screen of Death, usually on reboot.  In many scenarios, simply using the "Restart' button from the recovery screen fixes this.



Using the Parallels Desktop "Send Feedback" utility, all above issues have been reported to Parallels.

Monday, November 9, 2020

ld: framework not found JavaVM

ld: framework not found JavaVM


XCode 12 and higher no longer can use -framework JavaVM when building using Clang/gcc.

See also this change in JNA PR RFC: Enable building jna for Darwin arm64:

https://github.com/java-native-access/jna/commit/32c8915d3eb1c670c7d7fde4ca220f35d7be8bda#diff-d6a038c176b5df3cfcf2b1512ef7a63f57c7a207176bbbc6b3acc05acf75733aL413

Quoting Florian Kistner:

"Apple does not ship a JavaVM framework anymore starting from Big Sur."

 

Wednesday, June 3, 2020

Printing to a raw printer using DOSBox

Working article is here: https://gist.github.com/tresf/48183217173cdaef580b2cb1797a052c

Although DOSBox offers printing support, the documentation is sparse and most articles refer to printing on a Windows host.

Using Ubuntu 20.04 and a fork of DOSBox called DOSBox-X, printing can be configured as follows:


  1. Install DOSBox-X
  2. Configure DOSBox-X to write to a physical file
  3. Write a script which listens on the physical file

Install DOSBox-X


  1. Installing DOSBox-X on Linux is as simple as installing the snap: https://snapcraft.io/dosbox-x.  This can be launched with Ubuntu Software center.

    Note: For Windows, MacOS or RPM users, DOXBox-X can be downloaded directly from the official site.

Configure DOSBox-X to write to a physical file

Although the recommendation for most tutorials is to configure DOSBox to print to a physical printer, I was unable to get this working on Ubuntu 20.04.  Instead, I had to manually configure DOSBox to print to a file.

  1. Start DOSBox-X for the first time from Terminal

    dosbox-x
  2. Save a default configuration file (the default location is your $HOME directory, this is fine)
    • Main, Configuration Gui
    • Parallel
    • For parallel1, type:
      file append:prnout.txt
    • Configuration, Save (This is important!)
    • OK

Write a script which listens on the physical file

Finally, write a bash script which listens on this prnout.txt file.

  1. Create a file called printlistener.sh

    gedit printlistener.sh &
  2. Paste the following


    #!/bin/bash


    # File to look for
    TOPRINT=~/prnout.txt

    printf "Waiting for content at $TOPRINT\n"

    while [ true ]; do
      printf "."
      sleep 1 # one second
      if test -f "$TOPRINT"; then
        printf "\n[$(date)] Sending $(wc -c "$TOPRINT" | awk '{print $1}') bytes\n"
        lpr -o raw "$TOPRINT" && rm "$TOPRINT"
      fi
    done
  3. Make it executable:

    chmod +x printlistener.sh
  4. Start the listener

    ./
    printlistener.sh


Last, print from the DOS application and it will send to your printer.  Note, this will send content in a text format.  This may be undesirable for certain printers.

For assistance setting up a default raw printer in Linux see here: https://github.com/qzind/tray/wiki/setting-up-a-raw-printer-in-ubuntu-linux

Wednesday, March 4, 2020

QZ Tray 2.1.0 + MacOS 10.7 "Lion"



Oracle's website makes claim that Java 8 is supported on macOS 10.7 or higher however this information is not correct for Java 8u122 and higher.

https://stackoverflow.com/a/49678695/3196753

dyld: lazy symbol binding failed: Symbol not found: _CTFontCopyDefaultCascadeListForLanguages  Referenced from: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/libawt_lwawt.dylib  Expected in: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
Warning:

  • There are security implications running outdated versions of macOS
  • There are security implications running outdated version of Java 8
  • Continue at your own risk!


Solution:

Note, if you have already installed QZ Tray using Java 8u241, a reinstall is not needed.

P.S. The above steps were done using Firefox 45.9.0 ESR.

Tuesday, February 25, 2020

15 years later: OpenWorkbench with AdopOpenJDK



A question came in over on AdoptOpenJDK Slack channel about how to get OpenWorkbench -- a 2005 app written in C++ but uses a custom Niku-authored C++ to Java bridge for talking to the JVM -- working with AdopOpenJDK.

Turns out it does work (at least it starts up!).  Here's how:


That's it, OpenWorkbench will startup with AdopOpenJDK with the above steps.

Keywords:
openworkbench no JRE at startup

Cannot start or find the Java JRE (4) the JRE may not have been installed or the registry may be incorrect.

Thursday, February 7, 2019

HiDPI Ubuntu 18.04 Parallels

Ubuntu 18.04 running in Parallels using Retina will be either blurry or too small.

The setting to enable 200% in Ubuntu settings is missing.  Force it by doing the following: (whole numbers only)

gsettings set org.gnome.desktop.interface scaling-factor 2

Then reboot.

If you have a similar problem but don't have a Retina display, you may be interested in the following experimental feature:

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
This allows fractional scaling in Ubuntu 18.04.

Monday, November 20, 2017

HDHomeRun Dual + Geniatech EyeTV3

It appears the HDHomeRun Dual was dropped from the list of supported hardware by EyeTV3's latest updates.

Fortunately, the old version will still detect the tuner and work properly.

Unfortunately, the legacy downloads seems to be very hard to find.  Well, here's the link:
http://file.geniatech.com/eyetv3/Geniatech_eyetv_3.6.9_7514.dmg

Furthermore, a specific build can be grabbed by changing the URL appropriately.  Just change the _7514 to the build you need.  This should work for most legacy EyeTV3 downloads.

Note, EyeTV isn't free.  This option only works for those that have paid for the software but since lost support for their attached hardware.

Sunday, January 3, 2016

Amazon S3 Reporting

Amazon S3 storage doesn't appear to have a built-in reporting feature for getting resource usage statistics.  Fortunately, there's s3stat.com which seems to do this in a breeze.

The site has a .NET desktop application which automates the (somewhat painstaking) task of setting up a dedicated Amazon IAM user account and enable reporting on the bucket of choice.

Once the 30-day trial is up, the service starts at $10 USD/month.

I'm starting my free trial now to get some real-world analytics out of my Amazon S3 hosting.

If you know of any other services that offer something similar, please leave it in the comments below.


-Tres

Thursday, May 21, 2015

Kali Linux 1.1.0 VirtualBox Guest Additions


Edit, you may want to try this out, notably the "dist-upgrade" portion.

http://www.blackmoreops.com/2014/06/10/correct-way-install-virtualbox-guest-additions-packages-kali-linux/


Old info:

If you receive this message:

> "Building the main Guest Additions Module ...fail! (Look at /var/log/vboxadd-install.log to find out what went wrong)"

There seems to be a difference between the versioning of the Kernel Headers running in Kali Linux versus the Kernel Header sources available via apt-get.

These commands will expose the kali3 kernel sources to the currently running kernel (i.e. kali1, etc) thus allowing the VirtualBox display adapter to work properly.


sudo apt-get install build-essential
sudo ln -s /lib/modules/3.1.8.0-kali3-amd64/source /lib/modules/$(uname -r)/source
sudo ln -s /lib/modules/3.1.8.0-kali3-amd64/build /lib/modules/$(uname -r)/build
sudo bash '/media/cdrom0/VBoxLinuxAdditions.run'



Test 3D acceleration:

glxgears


Mount a shared folder:

mount -t vboxsf 'Shared_Windows_Or_Host_Folder_Name' /empty/folder/to/mount/it/to

Wednesday, December 31, 2014

Syracuse NY Terrestrial/Clear QAM Mapping

For those in the Rome/Utica/Syracuse area that may combine a OTA digital antenna (ATSC) with Time Warner ClearQAM on a 3rd-party DVR device... or perhaps you're simply trying to tune in the local stations from your cable line onto a computer tuner (HDHomeRun, CetonTV, Elgato eyeTV, etc) here's what I've put together in terms of station mapping... 

Station Handle Call Sign Channel QAM Channel
NBC WKTVDT 2.1
--
CWPLUS WKTVDT2 2.2 --
METV WKTVDT3 2.3
--
NBC
WSTMDT1
3.1
76.3
CW
WSTMDT2
3.2
92.5
IND
WSTMDT3
3.3
76.2
CBS
WTVHDT1
5.1
76.5
ABC WSYRDT 9.1 92.1
METV WSYRDT2 9.2 92.2
BOUNCE WSYRDT3 9.3 --
YNN TWCNCNY 10.1 86.1
WGN -- 14.1 93.5
TBS -- 17.1 119.2
ABC WUTRDT 20.1 --
MYNET WUTRDT2 20.2
--
PBS
WCNYDT1
24.1
--
CREATE
WCNYDT2
24.2
--
WORLD
WCNYDT3
24.3
--
PBS
WCNYDT4
24.4
--
FOX WFXVDT 33.1
87.6
E -- 42.1 109.1121
MYNET WNYSDT 43.1 87.4
ION WSPXDT 56.1
--
QUBO WSPXDT2 56.2 --
IONLIFE WSPXDT3 56.3
--
SHOP WSPXDT4 56.4 93.7
QVC WSPXDT5 56.5 115.1
HSN WSPXDT6 56.6 93.9
CKWS -- 66.1 86.4
FOX
WSYTDT1
68.1
87.1
ZUUS
WSYTDT2
68.2
87.2
CSPAN -- 86.1 86.6

P.S. To merge the ClearQAM and ATSC channels in Windows Media Center, I used GuideTool.  Stations first had to be added manually via Settings, TV, Guide, Add Missing Channel.  If you have a different lineup of stations, the HDHomeRun Config utility is great for previewing ClearQAM channels and labeling them similar to how I've done above.  If you do not have a HDHomeRun, you may wish to borrow one for the purpose of finding these channels as the cheaper USB tuners didn't have the ease of finding and labeling stations like the HDHomeRun did.

Note that PBS (24.x) is available via ClearQAM, but only with a cable subscription, which I do not have.  Please provide that information or any other updates in the comments below.

Keywords:  GuideTool, WMCE, WMC, Windows Media Center, Windows MCE, DVR, TV Guide, Tuner, SiliconDust

Friday, December 12, 2014

Amazon Unbox Broken by Windows Updates

Per thedigitialmediazone's article:

A recent update that came through Windows Update on December 9th, 2014, appears to be breaking the PlayReady DRM used by Media Center. Members of the GreenButton.tv forum are indicating that the culprit is update KB3004394. The update applies to all versions of Windows 7, Windows 8, Windows 8.1, although only Windows 7 has been tested for breakage so far. If it breaks PlayReady for all of those versions, the Media Center users will be unable to play back any protected content including watching live TV and watching recorded TV. Any non-protected content, like over the air recordings, should play back just fine.
Do not attempt to reinstall PlayReady, as you may loose access to your existing library of protected content. It appears that the best fix, until Microsoft addresses this, is to remove the update 3004394.
Thanks to Paul Honens for the tip!
Full article here:
http://www.thedigitalmediazone.com/2014/12/10/windows-update-breaking-playready-drm/ 

Friday, December 13, 2013

How to prepare for Java 7 Update 51?

The exception site list [link] newly introduced with Java 7 Update 51 is a well needed work-around for those LiveConnect users out there that get blocked on every update, however am I correct in assuming it does nothing to help the issues we will encounter with the roll-out of Java 7 Update 51 in January?

If so, it still puts administrators in reactive mode for this next update.  Thousands of applets around the world will stop functioning the day they are marked outdated (usually the day the new version is released), and the only work-arounds are inadequate for non-specific deployments (the spirit of cloud services and spirit that the web was formed on).  i.e. Default settings will block the applet and there isn't an easy way for users stop it.

Arguments I've seen to alleviate this stress on the users (and therefor on the projects and companies that are flooded with complaints when this occurs) often mention 1. Deployment Rule Sets for the PCs and 2. Lowering the security slider for the PC.

1.  Deployment Rule Sets:

From my experience, DeploymentRuleset.jar has needs that are too specific for most global software roll-outs (as the specification specifically warns against anyways) so offering DeploymentRuleset.jar as a long-term solution to fix compatibility is impractical as well as ill-advised.  It's a bad solution unless you have a very controlled closed network of computers.

2.  Lowering the "bar"

Lowering the security slider bar is the exact OPPOSITE of what outdated installs should be doing (they are outdated after all), but this is the only *other* solution I've found to get LiveConnect to work on Java 7 that's below security baseline.

From what I've read, the reasoning behind blocking LiveConnect (and therefore blocking all JavaScript calls to the applet) is Oracle's position that JavaScript code is "unsigned" and therefore "untrusted" with old versions of Java, but I've yet to see a proposed way by Oracle to sign and trust JavaScript code.

The end result is legitimate applets that have been working for months suddenly fail to load with no obvious warnings to the user.  This causes revenue loss for companies (for profit and not for profit) as well as a burden on the individual.  In most cases, the individuals using the applet lack sufficient access and/or knowledge to update, which hurts all parties involved.

Is there something I'm missing?  How do the "big guys" do it?

-Tres

Monday, August 5, 2013

Configuring Pidgin with Avaya OneX Portal XMPP Server



Background

Avaya's OneX Portal has a built in Jabber/XMPP server (OpenFire).  This service is easy to connect to, however the message "Invalid Login" shows up when you try to connect using a 3rd party IM client, such as Pidgin.  This was due to incorrect documentation from Avaya (usernames with spaces needed underscores). Since there wasn't any help online for this, here are my steps for quickly getting Pidgin working with your Avaya OneX instant messenger. (Also works for Mac OSX iChat)

Steps

  1. Have the network administrator create a DNS record for the appropriate named service.  This FQDN should have been established while installing and configuring OneX Portal.
    i.e. Alias record:  onex.yourcompany.com
  2. In Avaya IP Office manager, the the username must be configured to use OneX portal.
    - Launch Manager
    - Click Users (It's not alphabetic, it's under Extension)
    - Select the Extension/User you would like to enable chat for
    - Either change the profile to Teleworker or click the "one-X Portal Services" checkbox for that user
    - IMPORTANT:  Set a Login Code using Telephone, Supervisor Settings
    - Click the save icon on the toolbar.  When prompted select merge.
    - Make note of the Name.  It may be "John Doe" or it maybe "Jonathan Do" with the last letter cut off.  This is important.
  3. In Pidgin, click Accounts, Manage Accounts, Add
    - For Protocol, select XMPP (Jabber)
    - For username, put: (example) John_Doe (replace space with underscore)
    - For Domain, put (example) onex.yourcompany.com
    - For Password, put the "Login Code" just created
    - For Local Alias, put "John Doe" as you would like it to appear on your PC
    - No advanced settings should need to be configured.  Default port of 5222 should work.  Optionally, - you may want to disable the Proxy settings.
  4. For Mac OSX iChat users, the above steps should work just fine, with one exception, you must format the username (example) John_Doe@onex.yourcompany.com, leave server and port default.

    Troubleshooting:  If your username is very long it might be truncated.  If unsure, see the full list of usernames on the OneX Portal Server located here:  "C:\Program Files (x86)\Avaya\oneXportal\scs\etc\sipxpbx\xmpp-account-info.xml"
  5. *NOTE:* For external access, some ports will need to be forwarded outside of your firewall, which is outside of the scope of this tutorial.

Trying It Out

  1. Once successfully connected, under "Broadcast Groups" should be "everyone", and under "system" should be "mybuddy" with an Avaya avatar.
  2. Open a new conversation window by double-clicking mybuddy.
  3. OneX Portal has the ability to initiate a phone call via IM (it won't actually call from within the software, it will simply ring your desk line).
    call 3001 from work  (where 3001 is the number you'd like to dial).  Work can be replaced with your phone extension.
  4. To test chat, set up a second user on the phone system and they should automatically add to your buddy list.
  5. Moving buddies around into groups does not work well, so you may choose to leave the default "system" and "Broadcast Groups" group names.

Troubleshooting

If you receive an error Input/Output Error after adding buddies to your "Personal" tab in the web client, Pidgin's login process will break and won't allow you to login anymore.  (possibly related to bug #14797)
  1. Sign into the web interface for Avaya OneX Portal
  2. Remove the buddies from the Personal tab of the contacts list
  3. Sign in as admin to the OpenFire administrative console
    The admin console is disabled by default, enable it via:
    AdminConsoleManager.bat enable
  4. Locate the user with the login issue and delete them
  5. Restart the Avaya OneX Portal Service
Update (2016-04-11)

If newer versions of OpenFire say "Not authorized", the passwords may have gotten reset.  To fix this:

  1. Open openfire.exe from Avaya\oneXportal\Openfire\bin
  2. Click "Launch Admin" to get to the OpenFire Administrative console (Login with default credentials)
  3. Under users/groups, locate a user, click on it
  4. Click on Password, update the password to what it used to be (i.e. a 4-digit PIN or the phone extension, etc)
  5. Try to reconnect using Pidgin
  6. Repeat for all users :)
If OpenFire is not set to start automatically, install it as a service via openfire-service.exe /install per https://community.igniterealtime.org/thread/39237


-Tres

Tuesday, May 14, 2013

Parallels 7 + Ubuntu 12.10


To get Parallels 7 working properly with Ubuntu 12.10 (Also works with 12.04, may work with other versions).


Disclaimer:  You will need to purchase Parallels 8 in order to get the tools to work with 12.10 since it comes with the newer version of Parallels Tools.

My work-around:  A work-around until you are able to upgrade:

  1. Download the trial of ParallelsDesktop-8.x.xxxxx.xxxxxx.dmg
  2. Extract dmg with 7-zip or equivalent.
  3. Locate 2.hfs
  4. Extract 2.hfs with 7-zip or equivalent
  5. Navigate to \Parallels Desktop.app\Contents\Resources\Tools\
  6. Use prl-tool-lin.iso.  Attach this as a virtual CD-ROM in Parallels.  Install the tools as you would normally.
Your desktop should now resize properly.  To test 3D functionality:
/usr/lib/nux/unity_support_test -p

-Tres


Thursday, April 25, 2013

Automating TrackIt! Reports

Automating TrackIt! Reports - The Easy Way (Works for other Crystal Reports)

Rainforest Software makes a utility "crexport.exe" that can automate a Crystal Report with parameters.  Here's how:


  1. If not already installed, install the .NET Framework 4.0.  This comes bundled with modern versions of Windows and most likely is already installed.
  2. Install the 32-bit Crystal Reports runtime here. (64-bit won't work for TrackIt! reports, but may work for others).
  3. Download and extract "crexport.exe" to a folder on your desktop
  4. From TrackIt's report section, click "Work Order Status by Technician" and in the top left click "Export Report".
  5. Save this report to the same directory as "crexport.exe".
  6. Download the "CorFlags.exe" utility to the same directory as "crexport.exe"
  7. Open a command prompt.  Using CorFlags, Switch "crexport.exe" to run in 32-bit only.
    corflags /32BIT+ crexport.exe
  8. Get the TrackItRpt (or TrackItRpt_1) password from your dba or from TrackIt! Support.
  9. If TrackIt is installed, a 32-bit ODBC connection should already be on the PC for the TRACKIT_DATA database.  If not, create one.  This must be 32-bit ODBC.
  10. Run the crexport utility against the RPT file, where "-s Trackit" matches the ODBC name.
    crexport.exe -P TRACKIT_PASSWORD -U TrackItRpt -s Trackit -F HD_StatusbyTechnician.rpt -O HD_StatusbyTechnician.xls -E xls -a "Date_ Entered_Range:(2013-04-24,2013-04-25)"
  11. *Note: "Date_ Entered_Range" has a space in it.  This needs to match the field names in the RPT files exactly.  If you are unsure what the field names are, use a 30 day trial of Crystal Reports to view the Parameter Fields.
  12. *Note:  If the report is currently open in Crystal Reports, you will recieve an error:
    Misc Error: Load report failed
    Type "crexport -?" for help
  13. *Note:  Not all reports will work.  Make sure to test crexport fully before running on a Production Server as there are some reports that cause it to eat up CPU and Memory.

To email (SMTP) these reports to recipients once they've been generated, you may wan to look into Blat.

-Tres