tag:blogger.com,1999:blog-21294300517854702612024-02-06T20:16:53.084-06:00Mark E. DeYoung's Miscellaneous StuffThis is a collection of miscellaneous stuff. Mostly related to projects that I plink on from time to time and research interests. This just makes it easier for me to google the stuff later on. Please note that I do retroactively edit posts.Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.comBlogger124125tag:blogger.com,1999:blog-2129430051785470261.post-21553548385568869292015-09-03T09:31:00.001-05:002015-09-03T09:32:01.118-05:00Adobe Reader: "Cannot find or create [font-name]"The "Cannot find or create [font-name]<font-name>" problem comes up nearly every time I build a new Windows box then install Adobe Acrobat Reader or Pro. This time it was on a Windows 10 x64 box.</font-name><br />
<br />
The fix that worked for me was to delete Adobe's local cached files with:<br />
<span style="font-family: "Courier New", Courier, monospace;"></span><br />
<span id="bc_0_12b+seedHFryD" kind="d"><span style="font-family: "Courier New", Courier, monospace;">rmdir "%userprofile%\AppData\Local\Adobe\Acrobat\" /s /q</span></span><br />
<span kind="d"><span style="font-family: Courier New;"></span></span><br />
<span kind="d"></span><br />
<span kind="d"></span><br />Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com1tag:blogger.com,1999:blog-2129430051785470261.post-76006145290015194122015-01-31T10:37:00.001-06:002015-01-31T10:37:45.844-06:00CentOS 7 PostgreSQL 9.2 installHere's what I did to install PostgreSQL on a CentOS 7 box. As root:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">yum -y install postgresql postresql-server postgresql-contrib postgresql-libs</span><br />
<br />
<span style="font-family: inherit;">Optionally, install pgAdmin III with:</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">yum -y install pgadmin3</span><br />
<br />
Configure initial database structure:<br />
<span style="font-family: Courier New, Courier, monospace;">postgresql-setup initdb</span><br />
<br />
<span style="font-family: inherit;">Configure PostgreSQL to listen on all IPs by editing /var/lib/pgsql/data/<a href="http://www.postgresql.org/docs/9.2/static/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE">postgresql.conf</a>. Change listen_addresses = '*'</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Start the server:</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">systemctl start postgresql</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Check that the service is listening:</span><br />
<span style="font-family: Courier New, Courier, monospace;">netstat -antup | grep 5432</span><br />
<br />
<span style="font-family: inherit;">Modify /var/lib/pgsql/data/<a href="http://www.postgresql.org/docs/9.2/static/auth-pg-hba-conf.html">pg_hba.conf</a> to allow md5</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">## IPv4 local connections:</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">host all all 127.0.0.1/32 md5 </span><br />
<span style="font-family: Courier New, Courier, monospace;"># IPv6 local connections:</span><br />
<span style="font-family: Courier New, Courier, monospace;">host all all ::1/128 md5 </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">As the user postgres reload configuration:</span><br />
<span style="font-family: Courier New, Courier, monospace;">su - postgres</span><br />
<span style="font-family: 'Courier New', Courier, monospace;">pg_ctl reload</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">As postgres, create a test database and an administrative user:</span><br />
<span style="font-family: Courier New, Courier, monospace;">createdb test</span><br />
<span style="font-family: Courier New, Courier, monospace;">psql test</span><br />
<span style="font-family: Courier New, Courier, monospace;">CREATE USER root WITH SUPERUSER LOGIN PASSWORD 'password';</span><br />
<span style="font-family: Courier New, Courier, monospace;">\q</span><br />
<br />
As root, configure PostgreSQL to start with the system:<br />
<span style="font-family: Courier New, Courier, monospace;">systemctl enable postgresql</span><br />
<br />
<br />Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com1tag:blogger.com,1999:blog-2129430051785470261.post-27019955563330878062015-01-31T06:06:00.002-06:002015-01-31T06:06:21.593-06:00.ssh permissions on a *nix boxMostly to remind myself...set .ssh permissions on a *nix box. From ~:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">chmod 700 .ssh</span><br />
<span style="font-family: Courier New, Courier, monospace;">chmod 644 .ssh/id_rsa.pub</span><br />
<span style="font-family: Courier New, Courier, monospace;">chmod 600 .ssh/id_rsa</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">End result is:</span><br />
<br />
<ul>
<li><span style="font-family: inherit;">.ssh directory is (drwx------)</span></li>
<li><span style="font-family: inherit;">public key (.pub file) is (-rw-r--r--)</span></li>
<li><span style="font-family: inherit;">private key (id_rsa) is (-rw-------)</span></li>
</ul>
<br />
<span style="font-family: inherit;">That's better.</span><br />
<br />
<br />Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-88314667925201245042015-01-02T22:15:00.001-06:002015-01-04T09:13:07.599-06:00Build libsdl2-dev deb package for Raspbian on Raspberry PiSome projects I want to experiment with require <a href="https://www.libsdl.org/">Simple DirectMedia Layer (SDL)</a> version 2 for Raspbian on a Raspberry Pi. Unfortunately, the debian package for libsdl2-dev is not currently included in <a href="http://www.raspbian.org/RaspbianRepository">Raspian Repository</a>. Jan Zumwalt described how to build libsdl in his post titled "<a href="http://www.raspberrypi.org/forums/viewtopic.php?f=67&t=58180">How To Install & Use SDL2 on Raspbian PI</a>". I prefer to install software via package managers when possible so I decided to make a .deb for libsdl2-dev.<br />
<br />
Install devscripts<br />
<span style="font-family: Courier New, Courier, monospace;">sudo apt-get install devscripts</span><br />
<br />
Download <a href="https://www.libsdl.org/download-2.0.php">libsdl 2.0</a>. I used <a href="http://sdl2-2.0.3.tar.gz/">SDL2-2.0.3.tar.gz</a>. Then follow the <a href="https://wiki.debian.org/IntroDebianPackaging">IntroDebianPackaging</a> guide.<br />
<br />
rename the SDL2-2.0.3.tar.gz to SDL2_2.0.3.tar.gz<br />
extract the tar.gz<br />
All the necessary files for building a .deb are already in the debian folder<br />
<br />
Run debuild<br />
<span style="font-family: 'Courier New', Courier, monospace;">debuild -uc -us</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
Install missing build dependencies<br />
<span style="font-family: Courier New, Courier, monospace;">sudo apt-get dh-autoreconf libpulse-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxt-dev libxxf86vm-dev</span><br />
<br />
Run debuild again<br />
<span style="font-family: Courier New, Courier, monospace;">debuild -uc -us</span><br />
<br />
Install packages<br />
<span style="font-family: Courier New, Courier, monospace;">sudo dpkg -i libsdl2_2.0.3_armhf.deb</span><br />
<span style="font-family: Courier New, Courier, monospace;">sudo dpkg -i libsdl2-dev_2.0.3_armhf.deb</span><br />
<br />
<br />Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com1tag:blogger.com,1999:blog-2129430051785470261.post-72794307363582060572014-12-21T08:35:00.000-06:002014-12-23T08:21:25.612-06:00PowerShell Text-to-Speech (TTS).Here is a PowerShell one liner for Text-to-Speech (TTS) using Microsoft's desktop oriented <a href="http://msdn.microsoft.com/en-us/library/ee125077(v=vs.85).aspx" target="_blank">Speech API (SAPI)</a>.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">(New-Object -ComObject Sapi.SpVoice).Speak("Hello There!")</span><br />
<br />
It uses <a href="http://technet.microsoft.com/en-us/library/hh849885.aspx" target="_blank">New-Object</a> to create a <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms694363(v=vs.85).aspx" target="_blank">Component Object Model</a> (COM) instance of SAPI <a href="http://msdn.microsoft.com/en-us/library/ee125075(v=vs.85).aspx" target="_blank">spVoice</a>.<br />
<br />
Actually, if you plan to use speech in script it will make more sense to keep the object around for reuse.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">$synth = New-Object -ComObject Sapi.SpVoice</span><br />
<span style="font-family: Courier New, Courier, monospace;">$synth.Speak("Hello Again!")</span><br />
<br />
<h3>
<b style="font-family: Arial, Helvetica, sans-serif;">In the Windows jungle there is no escape from King-COM!</b></h3>
<br />
Oh...wait..You can also access SAPI via .NET instead of directly using COM. You can make the SAPI <span style="font-family: Courier New, Courier, monospace;">System.speech</span> assembly accessible by using <a href="http://technet.microsoft.com/en-us/library/hh849914.aspx" target="_blank">Add-Type</a>.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">Add-Type -AssemblyName System.speech</span><br />
<span style="font-family: Courier New, Courier, monospace;">$synth = New-Object System.Speech.Synthesis.SpeechSynthesizer</span><br />
<span style="font-family: Courier New, Courier, monospace;">$synth.Speak("Hello from dot net")</span><br />
<br />
SAPI is fun to play with but it comes with a limited set of voices and speech recognizers. If you want to experiment with other voices you'll need to purchase them or switch speech systems. One option is the <a href="http://msdn.microsoft.com/en-us/library/jj127858.aspx" target="_blank">Microsoft Speech Platform</a> which supports several additional voices.<br />
<br />
Unfortunately, voices and speech recognizers are not compatible between the two Microsoft speech systems. They have slightly different designs reflecting their different use cases. SAPI is designed for desktop platforms and single users. The SAPI speech recognizers are tuneable to a specific user and they support recognition of arbitrary words with a diction engine. A single running instance of the SAPI speech system can be shared among many applications (i.e. the SAPI provider runs <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms683835(v=vs.85).aspx" target="_blank">out-of-process</a>). The Speech Platform is server oriented. It is <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms683835(v=vs.85).aspx" target="_blank">in-process</a> (AKA InProc) so each process that requires speech capabilities will have it's own instance of the Speech Platform speech system. You could run multiple speech capable processes on a single server (e.g. concurrent voice recognition processes on several users voice mailboxes).<br />
<br />
I'm assuming that you have already downloaded and installed the <a href="http://msdn.microsoft.com/en-us/library/office/hh361572(v=office.14).aspx">Microsoft Speech Platform</a> SDK, runtime, language packs (speech recognizers and text-to-speech voices) you want to use. Once again, use <a href="http://technet.microsoft.com/en-us/library/hh849914.aspx" target="_blank">Add-Type</a> to add the Speech Platform assembly and create <span style="font-family: Courier New, Courier, monospace;">Microsoft.Speech</span> objects in a PowerShell environment. The Speech Platform requires you to set the audio output destination so you can hear what is said.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">Add-Type -Path "C:\Program Files\Microsoft SDKs\Speech\v11.0\Assembly\Microsoft.Speech.dll"</span><br />
<span style="font-family: Courier New, Courier, monospace;">$ms_speak = New-Object Microsoft.Speech.Synthesis.SpeechSynthesizer</span><br />
<span style="font-family: Courier New, Courier, monospace;">$ms_speak.setOutputToDefaultAudioDevice()</span><br />
<span style="font-family: Courier New, Courier, monospace;">$ms_speak.Speak("Hello, again, and again!")</span><br />
<br />
After creating the <span style="font-family: Courier New, Courier, monospace;">SpeechSynthesizer</span> object You can record the speech to a file with:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">$ms_speak.setOutputToWaveFile("hello.wav")</span><br />
<span style="font-family: Courier New, Courier, monospace;">$ms_speak.Speak("Greetings")</span><br />
<span style="font-family: Courier New, Courier, monospace;">$ms_speak.Dispose()</span><br />
<br />
You must Dispose of the object to commit the speech audio data to the named file.<br />
<br />
I recommend reviewing the MSDN documentation for both speech systems. Also, check out the <a href="https://gallery.technet.microsoft.com/scriptcenter/Out-Voice-1be16d5e" target="_blank">Out-Voice</a> function and this <a href="http://learn-powershell.net/2013/12/04/give-powershell-a-voice-using-the-speechsynthesizer-class/" target="_blank">blog post</a> (both by Boe Prox) he describes how you can spelunk the two systems from PowerShell with <a href="http://technet.microsoft.com/en-us/library/hh849928.aspx" target="_blank">Get-Member</a>. Finally, <a href="http://windows.microsoft.com/en-us/windows/language-packs#lptabs=win8" target="_blank">Language Packs</a> provide SAPI text-to-speech voices and speech recognizers for a few non-English languages.<br />
--<br />
<i>P.S. Technically you can use <a href="http://msdn.microsoft.com/en-us/library/ms722071(v=vs.85).aspx" target="_blank">SAPI InProc or shared (out-of-process)</a>.</i><br />
<i>P.P.S. There really is no getting away from COM. It's still one of the architectural pillars of Microsoft server and desktop products.</i><br />
<br />
<br />
<br />Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com1tag:blogger.com,1999:blog-2129430051785470261.post-52880159293362460352014-11-16T16:29:00.001-06:002014-12-23T08:29:26.534-06:00PowerShell one liner to download a file from a URLPowerShell 3 and 4 include the <a href="http://technet.microsoft.com/en-us/library/hh849901.aspx" target="_blank">Invoke-WebRequest</a> (wget) to download a file from a URL.<br />
<br />
A PowerShell 4 one liner to download a file from a URL is:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">Invoke-WebRequest <i><b>url</b></i> -OutFile <i><b>filename</b></i></span><br />
<br />
Replace <i><span style="font-family: Courier New, Courier, monospace;"><b>url</b></span></i> with a string that has the full URL for the file and replace <span style="font-family: Courier New, Courier, monospace;"><i><b>filename</b></i></span> with a string containing the local file name. For example, to download get-pip.py I could do the following:<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;">Invoke-WebRequest </span><span style="font-family: 'Courier New', Courier, monospace;">"https://raw.github.com/pypa/pip/master/contrib/get-pip.py"</span><span style="font-family: 'Courier New', Courier, monospace;"> -OutFile </span><span style="font-family: 'Courier New', Courier, monospace;">"get-pip.py"</span><br />
<i style="font-family: 'Courier New', Courier, monospace;"><b><br /></b></i>
In PowerShell 2 you can use the following one liner to achieve the same.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">(New-Object System.Net.WebClient).DownloadFile(<i><b>url</b></i>,<i><b>filename</b></i>)</span><br />
<br />
For example, to download get-pip.py I could do the following:<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;">(New-Object System.Net.WebClient).DownloadFile("https://raw.github.com/pypa/pip/master/contrib/get-pip.py","get-pip.py")</span><br />
<br />
<span style="font-family: Consolas; font-size: 8.0pt;">
</span>
Optionally, if you are running Windows 7 you could switch to PowerShell 4 by installing <a href="http://www.microsoft.com/en-us/download/details.aspx?id=40855" target="_blank">Windows Management Framework 4.0</a>.<br />
<br />
<br />
<span style="font-family: Consolas; font-size: 8.0pt;">
</span>
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]-->Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-14201026921517825142014-08-31T19:36:00.000-05:002014-08-31T19:36:50.225-05:00Install Kinect for Windows SDK v1.8Here are the steps I completed to install the Kinect for Windows SDK version 1.8 on a Windows 8.1 x64 box with Visual Studio 2010 already installed. These steps were adapted from the Kinect for Windows SDK 1.8 <a href="http://msdn.microsoft.com/en-us/library/hh855359.aspx" target="_blank">System Requirements</a> page at MSDN.<br />
<br />
1. Uninstall Microsoft Visual C++ 2010 x86 & x64 Redistributable. <a href="http://support.microsoft.com/kb/2728613" target="_blank">KB2728613</a> provides the following:<br />
<pre class="in_text" style="color: #333333; font-family: Consolas, 'Courier New', Courier, monospace; font-size: 13px; padding: 10px; position: relative; width: auto;">MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}</pre>
2. Install the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=6812">DirectX Software Development Kit</a>. At the moment this seems to be the June 2010 version.<div>
<br /><div>
3. Update Microsoft Visual C++ 2010 x86 & x64 Redistributable. I used Windows Update.</div>
<div>
<br /></div>
<div>
4. Install <a href="http://www.microsoft.com/en-us/download/details.aspx?id=27226" target="_blank">Microsoft Speech Platform Software Development Kit (Version 11)</a>.</div>
<div>
<br /></div>
5. Install <a href="http://www.xbox.com/en-US/LIVE/PC/DownloadClient" target="_blank">Games for Windows Marketplace Client</a>. See Stack Overflow "<a href="http://stackoverflow.com/questions/12849107/how-to-install-the-xna-game-studio-4-0-in-windows-8">How to install the XNA Game Studio 4.0 in Windows 8?</a>" for the reason why. Install <a href="http://www.microsoft.com/en-us/download/details.aspx?id=23714" target="_blank">Microsoft XNA Game Studio 4.0</a>. (It might be worth checking one of the versions at <a href="https://msxna.codeplex.com/" target="_blank">XNA Game Studio project </a>on Codeplex.<br />
<div>
<br /></div>
<div>
6. Finally, Install KinectSDK v1.8 and Kinect for Windows Developer Toolkit v1.8.</div>
<div>
<br /></div>
</div>
Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-88848410491240040762014-08-30T18:27:00.002-05:002014-11-16T16:16:18.329-06:00Silent Uninstall of All Java on a Windows Box<br />
<br />
Finally figured out a command line method to do a silent uninstall of all Java on a Windows box. Open a command window as Administrator, then run the following wmic:<br />
<br />
<div>
<span style="font-family: Courier New, Courier, monospace;">wmic product where "name like 'Java %% %%'" call uninstall /nointeractive</span><br />
</div>
<div>
That is so much easier than manually uninstalling.</div>
<div>
<br /></div>
Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-76920255054109470642014-07-01T09:58:00.001-05:002014-08-30T18:20:30.951-05:00Fix Windows 8.1 mouse pointer stutter in Ace of SpadesI started having mouse problems after upgrading to Windows 8.1 when playing Ace of Spades. I was almost convinced that it was a hardware problem. <br />
<br />
Turns out that Microsoft changed the mouse polling for 8.1. Microsoft has a patch for this at <a href="http://support.microsoft.com/kb/2908279" target="_blank">KB2908279</a>. I downloaded and ran the "Microsoft Fix it" on Ace of Spaces. After running, I had to reboot. After rebooting I ran the game with no change...still lots of mouse stutter.<br />
<br />
The KB2908279 fix it recommended checking <a href="http://support.microsoft.com/kb/2907018" target="_blank">KB2907018</a> and <a href="http://support.microsoft.com/kb/2907016" target="_blank">KB2907016</a>. KB2907016 is the "Disable display scaling on high DPI settings" and it did the trick for my hardware/software setup.Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com2tag:blogger.com,1999:blog-2129430051785470261.post-14255501573768207672014-02-13T20:30:00.000-06:002014-02-13T20:30:50.319-06:00Windows Search iFilter for PDF files.I'm working on some papers for an online class and found out that Windows search doesn't have a built in iFilter for PDF files. Since I'm using a 64-bit Windows 7 box I downloaded the <a href="http://www.adobe.com/support/downloads/detail.jsp?ftpID=5542" rel="nofollow" target="_blank">Adobe PDF iFilter 64 11.0.01</a>; installed; and Windows is now indexing.Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-69039058736229698252014-02-05T09:48:00.002-06:002014-02-05T09:48:34.712-06:00US Government Open Source projectsBelow are links to a few list of US Government funded Open Source projects:<br />
<br />
<ul>
<li><a href="http://www.darpa.mil/OpenCatalog/index.html" rel="nofollow" target="_blank">DARPA Open Catalog</a></li>
<li><a href="http://tinyurl.com/govoss" rel="nofollow" target="_blank">Government Open Source Released Software</a></li>
<li><a href="http://gsa.github.io/federal-open-source-repos/" rel="nofollow" target="_blank">Government Opens Source Projects on GitHub</a></li>
<li><a href="http://code.nasa/" rel="nofollow" target="_blank">code.NASA</a></li>
</ul>
<div>
<br /></div>
Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-8399191294190977872014-01-04T12:58:00.000-06:002014-01-04T12:59:29.744-06:00Empire Earth 2 window modeI picked up Empire Earth 2 from <a href="http://www.gog.com/">gog.com</a> but was having some issues with multiple-monitors. After a bit of googling I came across a solution from someone going by galatei at <a href="http://www.neoseeker.com/forums/20480/t1143242-empire-earth-2-window-mode/" target="_blank">neoseeker</a>. Add the following lines to the config.cfg (or config_EE2X.cfg for EE2:TAS):<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">g_bFullscreen = 0 </span><br />
<span style="font-family: Courier New, Courier, monospace;">g_allowWindowedMode = 1 </span><br />
<span style="font-family: Courier New, Courier, monospace;">g_ConstrainCursor = 0 </span><br />
<span style="font-family: Courier New, Courier, monospace;">s_windowXOffset = 10 </span><br />
<span style="font-family: Courier New, Courier, monospace;">s_windowYOffset = 10 </span><br />
<span style="font-family: Courier New, Courier, monospace;">s_adapterIndex = 0</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
Worked for me in single player mode.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<br />
<div>
<br /></div>
<div>
<br /></div>
Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com1tag:blogger.com,1999:blog-2129430051785470261.post-32503769650830654962013-12-30T10:31:00.002-06:002013-12-30T10:33:55.042-06:00Hack is the new MagicIt's pretty likely that you will be a subject of scorn and ridicule if you explain things you don't understand as "magical", "mystical", or acts of God. So in the technology realm it seems that popular media uses "hack" in place of "magic".
I've started using the following word replacements when reading online "news':<br />
<br />
<ul>
<li>hack = magic</li>
<li>nerd = witch</li>
<li>geek = wizard</li>
<li>cyber = medieval</li>
<li>code = incantation</li>
<li>jailbreak = dark magic</li>
<li>DRM = white magic</li>
<li>enhance = magnify</li>
</ul>
<div>
It really makes reading the online "news" more magical!</div>
<div>
<br /></div>
<div>
<br /></div>
Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-4746817177006311282013-10-09T10:55:00.001-05:002014-01-04T12:49:51.496-06:00Quick PuTTY registry backup from the command lineHere is some strung together windows commands to backup PuTTY registry keys:<br />
<tt><br /></tt>
<tt>
@echo off</tt><br />
<tt>
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)</tt><br />
<tt></tt><br />
<tt>echo Backing up PuTTY registry to .\PuTTY-sessions-%mydate%_%mytime%.reg
regedit /e .\PuTTY-sessions-%mydate%_%mytime%.reg HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions
</tt><br />
<tt><br /></tt>
Hope that works for you.Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-87309315056074056192012-05-16T06:04:00.001-05:002014-02-05T10:22:19.235-06:00Manually add libdvdcss.dll to Handbrake on 64-bit Windows 7I was looking for a process that would allow someone to manually add libdvdcss.dll to a 32-bit <a href="http://handbrake.fr/" target="_blank">Handbrake</a> version 0.9.6 install on 64-bit Windows 7. After a bit of web searching the process that seems to work for many is: <br />
1. Download GStreamer WinBuilds v0.10.6 GPL (x86) (<a href="http://code.google.com/p/ossbuild/downloads/detail?name=GStreamer-WinBuilds-GPL-x86.msi" target="_blank">GStreamer-WinBuilds-GPL-x86.msi</a> ) from <a href="http://code.google.com/p/ossbuild/" target="_blank">OSSBuild</a> Downloads. <br />
2. Install GStreamer. <br />
3. Navigate to C:\Program Files (x86)\OSSBuild\GStreamer\v0.10.6\bin <br />
4. Copy libdvdcss-2.dll to C:\Program Files (x86)\Handbrake <br />
5. Rename libdvdcss-2.dll to libdvdcss.dll<br />
<br />
---------------<br />
Check <a href="http://www.webluke.net/2011/08/handbrake-windows-7-64-bit-dvd-ripping/" target="_blank">Handbrake Windows 7 64-Bit DVD Ripping</a> for a 64-bit oriented guide.<br />
<br />Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com2tag:blogger.com,1999:blog-2129430051785470261.post-64621068625007229082012-05-12T08:30:00.001-05:002012-05-12T08:31:26.669-05:00Digital Curation / Digital Asset Management TTPs for digital forensics artifacts<p>Started looking into <a href="http://en.wikipedia.org/wiki/Digital_curation" target="_blank">Digital Curation</a> / <a href="http://en.wikipedia.org/wiki/Digital_asset_management" target="_blank">Digital Asset Management</a> techniques, tactics and procedures.  I’m mostly interested in curating and preserving digital forensics artifacts -- hard drive images, memory images, network trace captures, event log files, etc.—to support team oriented forensics analysis and annotation of large scale <a href="http://digitalcorpora.org/" target="_blank">digital corpora</a>.  I prefer to use open source technologies. Fortunately for me, professional digital archivists are already working the issues! </p> <ul> <li>There is a  list of candidate technologies at the <a href="http://www.opensourcedigitalassetmanagement.org/" target="_blank">Open Source Digital Asset Management</a> page.  </li> <li>The <a href="http://digitalcurationexchange.org/resources" target="_blank">Digital Curation Exchange</a> provides a searchable resource directory.  </li> <li>Also,  <a href="http://blogs.loc.gov/digitalpreservation/author/lesliej/" target="_blank">Leslie Johnston</a> from the  Library of Congress posted a short  list of  <a href="http://blogs.loc.gov/digitalpreservation/2012/02/there-are-more-tools-for-digital-curation-than-you-might-think/" target="_blank">tools for digital curation</a>.</li> </ul> <p>The <a href="http://www.clir.org/" target="_blank">Council on Library and Information Resources</a> provides an overview of the challenges in their December 2010 report  titled “<a href="http://www.clir.org/pubs/abstract/reports/pub149" target="_blank">Digital Forensics and Born-Digital Content in Cultural Heritage Collections</a>”.  A bit on the lighter side…the “<a href="https://www.ideals.illinois.edu/handle/2142/17097" target="_blank">Preserving Virtual Worlds Final Report</a>” from <a href="https://www.ideals.illinois.edu/" target="_blank">IDEALS</a> investigates preservation of video games and interactive fiction.</p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-6876980936217160812012-05-06T11:36:00.001-05:002012-05-06T11:36:22.780-05:00Netzob–Reversing protocols<p>Just saw <a href="http://www.netzob.org/" target="_blank">Netzob</a> on <a href="http://freecode.com/projects/netzob" target="_blank">free(code)</a> today.  It looks like it combines protocol format recovery (vocabulary) and control flow recovery as automaton.  They use grammar inference (specifically Angluin L*)  to generate a modified <a href="http://en.wikipedia.org/wiki/Mealy_machine" target="_blank">Mealy machine</a>.  Very cool!  I previously did <a href="http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA484312" target="_blank">some work</a> inferring protocol control flow as <a href="http://en.wikipedia.org/wiki/Finite-state_machine" target="_blank">FSM</a>  using a few <a href="http://en.wikipedia.org/wiki/Grammatical_inference" target="_blank">GI</a> algorithms.  I’m off to the <a href="http://code.google.com/p/netzob/" target="_blank">netzob code repository</a> to have a look…</p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-65309674642237428822012-05-06T10:37:00.001-05:002012-05-06T10:37:40.766-05:00Storage Virtualization for home use<p>I have several odd size SATA drives that I might be able to put back to work…so I’m looking for a <a href="http://en.wikipedia.org/wiki/Storage_virtualization" target="_blank">storage virtualization</a> system.  At the moment it looks like <a href="http://blogs.msdn.com/b/b8/archive/2012/01/05/virtualizing-storage-for-scale-resiliency-and-efficiency.aspx" target="_blank">Windows 8 Storage Spaces</a> or the Linux based <a href="http://www.greyhole.net/" target="_blank">Greyhole</a> might be the best fit for my home use scenario.  Greyhole is the <a href="http://wiki.amahi.org/index.php/Storage_pooling" target="_blank">storage pooling</a> system used in <a href="http://www.amahi.org/" target="_blank">Amahi</a>.</p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-6183811005500901852012-05-06T09:21:00.001-05:002012-05-06T09:21:13.386-05:00IQEmu–Launch Windows apps in a VirtualBox sandbox on Linux host.<p><a href="http://mirage335.dyndns.org/wiki/IQEmu" target="_blank">IQEmu</a> launches  Windows applications in a virtualized sandbox on Linux hosts.  Currently works best with VirtualBox for the virtualization backend.  Source is available via <a href="https://github.com/mirage335/IQEmu" target="_blank">github</a>.</p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-13823042843275357422012-05-06T07:22:00.001-05:002014-02-05T10:21:12.005-06:00Alternatives to Objective-C that target iOSWhile some have <a href="http://www.gnu.org/software/gnustep/resources/ObjCFun.html" target="_blank">fun</a> with <a href="http://en.wikipedia.org/wiki/Objective-C" target="_blank">Objective-C</a> and despite neat features like <a href="http://clang.llvm.org/docs/AutomaticReferenceCounting.html" target="_blank">automatic reference counting</a> I have no deep love for the language. So I started looking for some alternatives to target iOS devices. So far my list is very short: <br />
<ul>
<li><a href="http://www.rubymotion.com/" target="_blank">RubyMotion</a> – based on <a href="http://www.macruby.org/" target="_blank">MacRuby</a> is a Ruby implementation built in Objective-C. The backend is a LLVM derived compiler that emits iOS native code.</li>
<li><a href="http://xamarin.com/monotouch" target="_blank">MonoTouch</a> – from <a href="http://xamarin.com/" target="_blank">Xamarin</a>, the developers of Mono, it’s a version of C# that targets iOS. They also have developed <a href="http://xamarin.com/monoforandroid" target="_blank">Mono for Android</a> so there is the possibility of sharing some code between platforms.</li>
<li><a href="http://www.robovm.org/" rel="nofollow" target="_blank">RoboVM</a> - translates Java bytecode into native ARM or x86. One advantage RoboVM has over RubyMotion and MonoTouch is that source is available at <a href="https://github.com/robovm/robovm/wiki/Hacking-on-RoboVM" rel="nofollow" target="_blank">GitHub robovm/robovm</a>.</li>
</ul>
WikiPedia has a longer list of platform development environments in a <a href="http://en.wikipedia.org/wiki/Mobile_application_development" target="_blank">Mobile application development</a> article. Also, Simone D’Amico summarizes several <a href="http://webification.com/best-iosandroid-cross-platform-mobile-development-sdks" target="_blank">cross-platform mobile development SDKs</a>. Finally, there are some mutterings around about developing with other languages, besides MacRuby, then emitting iOS binaries via the LLVM middle-end optimizers and LLVM back-end code generators.Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-79184527925519478972012-04-23T21:01:00.001-05:002012-04-23T21:01:46.210-05:00SCIgen<p>I forgot about this one…<a href="http://pdos.csail.mit.edu/scigen/" target="_blank">SCIgen</a> - An Automatic CS Paper Generator.   The generated papers are rather fun.</p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-65029691000118839722012-04-11T16:14:00.001-05:002012-04-24T17:43:31.221-05:00Slashdot Alternatives?I was a long time Slashdot reader but, in my opinion, the site is on a death spiral since it was sold to corporate overlords. I’m looking for some alternatives. So far it seems that <a href="http://hackaday.com/" target="_blank">Hack A Day</a>, <a href="http://spectrum.ieee.org/" target="_blank">IEEE Spectrum</a> and <a href="http://www.osnews.com/" target="_blank">OSnews</a> might scratch my geeky news itch. <a href="http://thedailywtf.com/" target="_blank">The Daily WTF</a> can fill in the techy humor gap. <br />
Google Trends shows <a href="https://www.google.com/trends/?q=slashdot" target="_blank">Slashdot's declining search volume index</a> and, of course, what post like this would be complete without a link to <a href="http://www.cs.washington.edu/homes/klee/misc/slashdot.html" target="_blank">Quit Slashdot.org Today!</a>Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-55016784492228646922012-04-10T04:29:00.001-05:002012-04-10T04:29:21.394-05:00Learning From Data course material<p>Caltech Professor Yaser Abu-Mostafa is allowing online live access to <a href="http://work.caltech.edu/telecourse.html" target="_blank">Learning From Data</a> lectures April-May 2012.  The <a href="http://www.amazon.com/gp/product/1600490069/ref=as_li_ss_tl?ie=UTF8&tag=maredeysmisst-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1600490069">Learning From Data book</a><img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=maredeysmisst-20&l=as2&o=1&a=1600490069" width="1" height="1" /> is available from Amazon. </p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-829866012434754722012-04-07T09:47:00.001-05:002012-04-07T09:47:47.175-05:00Technic– Minecraft launcher with mod pack support<p><a href="http://www.technicpack.net/" target="_blank">Technic</a> - finally a Minecraft launcher with support for some of the big mod packs.  At time of writing it supports: Technic, Tekkit,  Vanilla, VoxelMODPACK, and YogBox.   The only quirk I’ve run into so far is that it requires a 64-bit JRE on 64-bit OSes. </p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0tag:blogger.com,1999:blog-2129430051785470261.post-20293847636745468262012-04-01T05:57:00.001-05:002012-04-01T05:57:49.140-05:00Kid-friendly Multi-Player games (Console)<p>Another rainy weekend… Tried out several PC oriented games over the last couple weekends with varied success.   This weekend it was time to hit the “bargain bin” at Amazon for “<a href="http://www.amazon.com/mn/search/?_encoding=UTF8&tag=maredeysmisst-20&linkCode=ur2&camp=1789&creative=390957&field-keywords=lego&url=search-alias%3Dvideogames#/ref=nb_sb_noss_1?url=search-alias=videogames" target="_blank">Lego video games</a><img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="https://www.assoc-amazon.com/e/ir?t=maredeysmisst-20&l=ur2&o=1" width="1" height="1" />” and <a href="http://www.amazon.com/mn/search/?_encoding=UTF8&tag=maredeysmisst-20&linkCode=ur2&camp=1789&creative=390957&field-keywords=lego&url=search-alias%3Dvideogames#/ref=nb_sb_noss_1?url=search-alias=videogames" target="_blank">Zelda</a><img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="https://www.assoc-amazon.com/e/ir?t=maredeysmisst-20&l=ur2&o=1" width="1" height="1" /> for the Wii.</p> Mark E. DeYounghttp://www.blogger.com/profile/00708206676578569853noreply@blogger.com0