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.

-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


Tuesday, April 16, 2013

Windows 8 Lock Screen Timout

Simple script to set the Lock Screen Timout in Windows 8 to be the same as the screen sleep.  This is useful for Windows 8 PCs that are connected to AC power so that lock screen notifications can still be seen until the screen enters sleep mode.

The default setting of 60 seconds is useful for mobile devices to preserve battery, but for office use, this defeats the purpose of having an interactive lock screen.


@echo off
cls
REM ############################################################################
REM #                      CONSOLE LOCK FIX WINDOWS 8 PC                       #
REM ############################################################################
REM # Description: Sets console lock to occur when screen sleeps (i.e. 10 mins)#
REM # Author:  A. Tres Finocchiaro, 2013-04-16                                 #
REM ############################################################################
REM #############  AVAILABLE POWER PLANS ##############
set BALANCED=381b4222-f694-41f0-9685-ff5bb260df2e
set PERFORMANCE=8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
set POWERSAVE=a1841308-3541-4fab-bc81-f71556f20b4a
REM #################### GROUPS #######################
set DISPLAY=7516b95f-f776-4464-8c53-06167f40cc99
REM ################# SETTING GUID ####################
set CONLOCK=8ec4b3a5-6868-48c2-be75-4f3044be88a7
set DISPLAYIDLE=3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e
REM ######## PATH TO PWRCONFIG EXECUTABLE #############
set PWRCFG=%windir%\System32\powercfg.exe
echo Lock Screen Timeout Changed (Windows 8 Only):
FOR /F "tokens=*" %%a in ('%PWRCFG% /q %BALANCED% %DISPLAY% %DISPLAYIDLE% ^| FIND "AC"') DO set TIME=%%a
set /a TIME=%TIME:~-11%
%PWRCFG% /setacvalueindex %BALANCED% %DISPLAY% %CONLOCK% %TIME%
set /a TIME=%TIME%/60
echo Balanced profile set to: %TIME% minutes
FOR /F "tokens=*" %%a in ('%PWRCFG% /q %PERFORMANCE% %DISPLAY% %DISPLAYIDLE% ^| FIND "AC"') DO set TIME=%%a
set /a TIME=%TIME:~-11%
%PWRCFG% /setacvalueindex %PERFORMANCE% %DISPLAY% %CONLOCK% %TIME%
set /a TIME=%TIME%/60
echo Performance profile set to: %TIME% minutes
FOR /F "tokens=*" %%a in ('%PWRCFG% /q %POWERSAVE% %DISPLAY% %DISPLAYIDLE% ^| FIND "AC"') DO set TIME=%%a
set /a TIME=%TIME:~-11%
%PWRCFG% /setacvalueindex %POWERSAVE% %DISPLAY% %CONLOCK% %TIME%
set /a TIME=%TIME%/60
echo Powersave profile set to: %TIME% minutes
echo.
echo You may need to reboot for these timeouts to take effect.
echo If errors are encountered, you may need to run this script as administrator.

Friday, March 22, 2013

[Fixed] VST Pops/Clicks in LMMS Win7 x64

Partial fixed, I created a VBScript to remedy this.  I just run it when VSTs start popping and clicking.  Post if you have a better way to do this.

Download the VBScript here:

http://sdrv.ms/1044J1V

Note:  This must be run after a project using VSTs has been loaded.



-------------------------------------------------

ORIGINAL DESCRIPTION BELOW

So I use LMMS a lot on several PCs and I've noticed on one of my machines, the latency (pops/clicks) for VSTs is unbearable.

  1. I've tried to install ASIO4all as a work-around, but PortAudio never lists under sound devices.  Am I doing something wrong?
  2. If I change the process priority for RemoveVstPlugin32.exe* to realtime, the latency issues go away.  Can this realtime process priority option be added to through LMMS? (is that even possible?)
  3. If not, does anyone know any other tweaks for VST latency in Windows?
This happens even worse when I'm scrolling through the project or moving a window around.  It sounds like it's going to crash but eventually responds.  In fact, with Priority set to "Normal", any CPU spike on the PC will cause the pops/clicks.

Are others experiencing this?  My sound card drivers have been upgraded as a troubleshooting measure.  This is most noticeable in LMMS with VSTs.   All VSTs seem to do this.

Tuesday, February 5, 2013

Ubuntu 12.10 x64 + LMMS 0.4.14-rc1 with VST Support


Ubuntu 12.10 x64 + LMMS 0.4.14-rc1 with VST Support

May work with other versions:

sudo apt-get remove lmms
sudo apt-add-repository ppa:ubuntu-wine/ppa
sudo apt-add-repository ppa:kxstudio-team/ppa
sudo apt-get update
sudo apt-get install wine
sudo apt-get install lmms


Solution?  Install the new version of Wine and the KXStudio version of LMMS.

This will prompt for all the usual Wine stuff (MSCore Fonts, etc).

When the first VST plugin is loaded, it may say "Preparing wine configuration, please wait".  Just wait for it to finish and VST should work.


This is the quickest way I could find to get LMMS working with VST under Ubuntu 12.10 x64.

Problems with other methods I've found:
  1. Some mirrors of 0.4.14-rc1 don't include the VST plugin binaries
  2. Some methods seem to install an incompatible version of Wine
-Tres

Ubuntu 12.10 x64 Mouse Glitch in VirtualBox

Ask Ubuntu has the answer:

http://askubuntu.com/questions/207813/why-does-an-ubuntu-12-10-guest-in-virtualbox-run-very-very-slowly/214968#214968



This method involves compiling the guest add-ons and then enabling vboxvideo in /etc/modules seems to fix it.  I have the instructions copied below.

Unfortunately, you can't simply copy/paste these into the VM, since the guest addons need to be installed for the clipboard to work, so type very carefully.

-Tres


How to enable 3D acceleration (VirtualBox 4.2.x only) - Courtesy AskUbuntu.com

These instructions are intended for VirtualBox 4.2.4 or 4.2.6, installed from VirtualBox's website, not from Ubuntu's repo. Future versions of VirtualBox may fix this problem automatically, or may need a different workaround.
  1. Install VirtualBox Oracle VM VirtualBox Extension Pack.
  2. Create a VirtualBox instance and install Ubuntu 12.10 on it.
  3. Install some required packages for the guest additions:
    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Install the guest additions by clicking Devices, Install Guest Additions and running this command from the CD-ROM's directory:
    sudo ./VBoxLinuxAdditions.run
    
  5. Add the vboxvideo driver to the instance by running:
    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Shutdown the VirtualBox instance.
  7. Open the settings of the Virtualbox instance, navigate to "Display", and tick "Enable 3D acceleration".
  8. Boot your Ubuntu 12.10 guest, and check that 3D acceleration is working by running:
    /usr/lib/nux/unity_support_test -p
    
If windows seem to disppear, install CompizConfig Settings Manager and disable FBO in the OpenGL section.

Monday, January 28, 2013

Jumi Plugin Replaces code with HTML



This is most clearly a bug with jumi-3.0.3-2glux and jumi-3.0.4-2glux.

Thanks to jimjam from 2GLux for discovering and offering a fix for this.

The bug occurs when you use jumi syntax inside a Joomla article.

For example:
< h1 > Test stuff </ h1 >{jumi [custom_code/hello_world.php]}< h2 > Test stuff </ h2 >

Will be replaced with:
< h1 > Test stuff </ h1 >< p > Hello World! < /p >< h2 > Test stuff </ h2 >


(Assuming hello_world.php only has "< ?php echo "< p > Hello World! < /p >" ? >" in it)
To fix this, you will need file access to jumi.php  This is located in the plugins\system\jumi directory.

In class "plgSystemJumi", the first function is called "onAfterRenderer()".

Insert this code into the very beginning of the onAfterRenderer() function:
/* Begin custom code */
$layout = JRequest::getVar('layout', null);
if($layout=="edit")
   return;
/* End custom code */
Save and backup this file.  Upgrades to the Jumi plugin may overwrite this change and will need to be added manually.

This will ensure the Joomla Jumi plugin doesn't replace the jumi syntax with HTML markup when editing an Article.

If you find this write-up useful, please show gratitude by notifying the jumi developers of the bug.

-Tres

Wednesday, January 2, 2013

[Book Review] LMMS: A Complete Guide to Dance Music Production


Image courtesy Packt Publishing

http://www.amazon.com/LMMS-Complete-Guide-Dance-Production/dp/1849517045

There's some things you'll learn by clicking through them, then there's LMMS. LMMS has a lot of features that have become expected in a music studio, but without a clear understanding of how to find them and what they actually do (i.e. Envelope) it's just a game of turning knobs, clicking buttons and *hoping* things sound good.

The book starts with an introduction to the equipment LMMS (as well as other music software) mimics and ends with some very cool automation stuff such as dynamically changing tempo, volume and some advanced techniques used in music creation.

Don't be fooled into thinking this is just a crash course on the LMMS software. The author takes time to explain microphones, keyboards, synthesizers, distortion pedals and much more which is important in an era where many musicians have never touched the physical equipment they are so eager to use electronically.

What I found most valuable from this book is the explanation of the Triple Oscillator. This instrument often seen as "Default preset" is easily overlooked but can create sounds such as a bass guitar, electric guitar, and many others! Also, the detail about each instrument plug-in (such as Kicker, LB302 and ZynAddSubFX and taking advantage of that yellow star (instrument presets) was excellent. This book was enough inspiration for me to take LMMS a step further from a hobby to a great free production tool. I'd highly recommend purchasing this book.

-Tres

Monday, November 26, 2012

Viewing SQL Queries Against AS400

Viewing SQL queries against an AS400 iSeries:

  1. Open iSeries Navigator
  2. Expand the System (i.e. 10.0.0.1 or PROD400)
  3. Expand "Databases"  (*Note:  If Databases does not exist, run a Selective Reinstall of iSeries Access for Windows and Select "iSeries Navigator", "Databases".  On a side note, you may also want to install everything under iSeries Navigator as well as "Data Access", "ODBC" and "Data Transfer", "Base" as well as "Excel Add-In")
  4. Expand the System Name (i.e. S10bABC)
  5. Right click on SQL Plan Cache Snapshots
  6. Click SQL Plan Cache
  7. It is strongly recommended to set up some filters to limit the results. (i.e. Set date/time, User, etc)
  8. You should be able to read the SQL Queries in the result window.  Click it to view the entire statement.


Monday, November 5, 2012

Lenovo T61 Audio Pops Clicks Ubuntu 12.10


From Ubuntu's ALSA driver bug database [link here]:
This appears to be an old bug in kernel module snd_hda_intel (see /usr/share/doc/alsa-base/driver/powersave.txt and http://forums.opensuse.org/english/get-technical-help-here/hardware/388736-strange-pop-click-sound-speakers-every-time.html). Strangely however, I only observed this after upgrading to Precise AND installation of a new battery in my T61p Thinkpad. In any case, turning off Intel audio power saving works around the problem:In /usr/lib/pm-utils/power.d/intel-audio-powersavechange the line

INTEL_AUDIO_POWERSAVE=${INTEL_AUDIO_POWERSAVE:-true}to
INTEL_AUDIO_POWERSAVE=false
There's also something wrong with Unity 3D. Well, everything is wrong with Unity 3D, but here's the second bug report [link here]

-Tres

Tuesday, August 14, 2012

Screenshot Your Web Page


This is a very straight forward sample to get a screenshot to a PNG.




<html>
<head>

<!-- Keep these scripts in order! -->
<script type="text/javascript" src="http://html2canvas.hertzen.com/js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="http://html2canvas.hertzen.com/js/html2canvas.js"></script>
<script type="text/javascript" src="http://html2canvas.hertzen.com/js/jquery.plugin.html2canvas.js"></script>
<!--  -->

<script type="text/javascript">
function ss() {
  $("#content").html2canvas({ 
canvas: hidden_screenshot,
onrendered: function() {alert($("canvas")[0].toDataURL('image/png'));}
  });
}
</script>

</head>

<body>
<div id="content"><h1>Screenshot Demo</h1><input type=button value="Screenshot" onclick="javascript:ss();" /><br /><br /></div>
<canvas id="hidden_screenshot" style="display:none;" />
</body>
</html>


-Tres

Monday, July 16, 2012