Wednesday, March 28, 2018

Coming Soon, A Little Migration

It is indeed spring and the time is right for a Crazy Old Programmer migration.  Soon, I will start posting on a new Crazy Old Programmer blog at my Rural Ruins website.  Maybe I will post more...  Maybe I will post less...  Who knows.

The point of the matter is this:  I just received a bill for nearly $400 to host for the next three years.  Need to recover that cost somehow; and I am probably too old for lawn mowing or shoveling snow from peoples' driveways.

Friday, November 17, 2017

Sell-out? Pragmatist?

So, am I a sell-out or just a pragmatist?

Long ago, nearly ten years before Linux was released, I enjoyed the simple, no-nonsense, high-performance properties of the UNIX/Linux culture.  The belief that a tool should only be as complicated as required by the task and no more, truly resonated in my young mind.  Being a down-home, poor farm boy, I had very little appreciation for "bells and whistles".  And, as such, over the years I have enjoyed Linux.

Unfortunately my inner pragmatist needs to come out of the closet.  Why?  There are two hobbies that I would like to enjoy more fully: photography & ham radio.  Certainly there are great programs that run in Linux for both hobbies.  Unfortunately, aside from a few exceptions, I must admit, the better applications run under Windows.

Still on the fence, I evaluated my complete set of needs.  Certainly, programs running on Linux could support my basic list of user requirements.  There are some ham radio programs out there.  There are some great photo utilities like RawTherapee and ImageMagick on Linux.  Still walking that fence.

But there is one additional requirement...  I want to spend some time honing my C# and .NET skills.  Sure there is MONO on Linux; spending an afternoon with MonoDevelop and MONO pushed me in a different direction.  There is no way I could hone my C# skills using MONO.

So...  I re-evaluated...  Sure, Linux has RawTherapee, but Windows has ACDsee, the Canon DPP and a host of other photo management and manipulation programs.

Certainly, there are some great programs under Linux for amateur radio, but I want to get back into PSK31 and maybe SSTV and HSCW.  The programs in Windows are far more flexible than those for Linux IMHO.  And, honestly, there are no decent, up-to-date logging programs for Linux.  Certainly there are some ham radio logging programs for Linux but they don't meet my requirements.

And so...  I made a change.  Earlier this week I backed up my Linux machine and installed Windows 10.

Honestly, it has issues that I will write about later, but I am not ashamed.  Already I have ACDsee Studio running for photo management and DPP & RawTherapee installed for image development and manipulation.  OpenOffice runs well and I have Microsoft VisualStudio 2015 installed for programming and honing my C# skills.

No, I am not a sell-out.  I am a pragmatist.

Wednesday, November 15, 2017

Google, where for art thou?

So, Google...  Why aren't you indexing my blog?

I see traffic from your spider (or crawler or whatever you young folks call them...), but when I google specific, uniquely identifiable strings in my posts, the results don't show my blog.

Sure, Google shows my different index tags and in general shows the blog but not the specific posts.  I remember running Razor's Edge and To Farm Again, and firmly believe every post was indexed.  Nearly a decade ago I ran a website that indexed terrestrial radio stations that streamed online... I received more traffic on that website in a week than I have ever received on this blog.  Why? 

I have a Privacy Policy...  I don't post lewd, titillating or illegal content...  Why, oh why????

After some reading, a few things have come to my attention...  1) I do not post here regularly.  2) People don't know about this blog and therefore don't link to my content.  3) I don't attempt to push SEO.  4) Perhaps this blog doesn't have as much focus as it should.

So...  Maybe I shall start posting more frequently, try getting some publicity, read some things about SEO and focus my posts a little more.

Or maybe not...  Hey, I did make a whole $100 from Google over the course of five years on those other blogs and really wasn't tying to drive traffic.

Tuesday, November 7, 2017

Time to Upgrade a Bit

There, sitting on my bookshelf for more than a decade has been a nearly un-read copy of Victor Shtern's book, Core C++: A Software Engineering Approach.  Ever since college I have wanted to dive into C and later, C++.  As it occurred, my professional life yielded very little opportunity to learn either.

So...  Finally; after all that time gathering dust and being shuffled between at least three cross-country moves, I am diving into the wonderful world of C and C++.

According to my calculations, I should complete the book in about 100 days, if I read 12 pages a day (and perform the prescribed programming exercises).  Yes, it's a long book, but at the end is a prize: learning a new language.   And, well...   another prize...  I promised myself a new laptop after finishing the book.

So...  I had better get to it.

Wednesday, November 1, 2017

Visual Studio Professional 2013 Crashes on Windows 10... A Solution!!!

So...  This morning Microsoft pushed down a large Windows 10 update.  My Outlook had been randomly crashing since installing Windows 10 so thought it would be a good idea to install the update.

After only...  30 minutes, the update was finished.  I started my normal every-day work programs like Chrome, Putty, SQL Server Management Studio, Excel, Outlook, etc...  Then I started my installation of Visual Studio Professional 2013.

Nope.  Wouldn't work.  Would simply lock up with this window (on the left) after just about 15 seconds.

Event Viewer showed the exception in two separate events:

First Event:
Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException
   at System.IO.MemoryStream..ctor(Byte[], Boolean)
   at System.IO.MemoryStream..ctor(Byte[])
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.Utilities.BitmapFromPngOrJpeg(Byte[], Microsoft.VisualStudio.Shell.Connected.ConnectedUser.Logger)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.AvatarCache+<>c__DisplayClass2.<.ctor>b__0()
   at Microsoft.VisualStudio.Shell.InvokableFunction`1[[System.__Canon, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InvokeMethod()
   at Microsoft.VisualStudio.Shell.InvokableBase.Invoke()

Exception Info: System.ArgumentNullException
   at Microsoft.VisualStudio.Shell.ThreadHelper.InvokeOnUIThread(Microsoft.VisualStudio.Shell.InvokableBase)
   at Microsoft.VisualStudio.Shell.ThreadHelper.Invoke[[System.__Canon, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<System.__Canon>)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.AvatarCache..ctor(Microsoft.VisualStudio.Services.Profile.AvatarSize, Byte[], Boolean, Microsoft.VisualStudio.Shell.Connected.ConnectedUser.Logger)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.AvatarCache..ctor(Microsoft.VisualStudio.Services.Profile.Avatar, Microsoft.VisualStudio.Shell.Connected.ConnectedUser.Logger)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.ProfileCache..ctor(Microsoft.VisualStudio.Services.Profile.Profile, System.Guid, System.Uri, System.String, Microsoft.VisualStudio.Shell.Connected.ConnectedUser.Logger)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.Connector+<ConnectAsync>d__1.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.IdeUserSession+<ConnectAndInitializeSessionAsync>d__a.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.BaseUserSession+<ConnectAsyncImpl>d__17.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at Microsoft.VisualStudio.Shell.Connected.ConnectedUser.BaseUserSession+<ConnectAsync>d__2.MoveNext()

Second Event:
Faulting application name: devenv.exe, version: 12.0.21005.1, time stamp: 0x524fcb34
Faulting module name: KERNELBASE.dll, version: 10.0.16299.15, time stamp: 0x2cd1ce3d
Exception code: 0xe0434352
Fault offset: 0x001008b2
Faulting process id: 0x1958
Faulting application start time: 0x01d35325baa1390f
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: b0bb84fb-22a5-4efd-a88e-57bb6b1a32ca
Faulting package full name:
Faulting package-relative application ID: 

So...  After about 4 hours of poking on the internet and trying different things I found a solution that worked for me.  This will only work for people with valid logons to Microsoft MSDN who have access to Visual Studio.  (I am not certain how this would work for the free versions.)

  1. Run this in a command box:   DEVENV /resetuserdata 
  2. Add the line to the HOSTS file.
  3. Start Visual Studio 2013 and you should see a screen like the one below...
  4. Clicked Sign-Out on that screen.
  5. Remove the line added to the HOSTS file.
  6. Restart the computer.
  7. Go to MSDN website to get your Product Key for Visual Studio Pro 2013 (or whatever version you have installed.).
  8. Start Visual Studio.  
  9. When the User Information / Product Information screen pops up again, click “Change my product license.” 
  10. Enter your Product Key.
  11. Close Visual Studio and restart your computer one more time.

And, that's it.  My Visual Studio Professional 2013 is running fine once again.  Well, with one exception...  Now, every time I start it, I am prompted for my MSDN password.

There is mention that once you get VS running, you can select Tools -> Extensions and Updates -> Updates and install Update 5.  If you opt to try this upgrade install, be certain you have the time.  My upgrade is still downloading after 20 minutes.

Edit 1: Installing Update 5 does seem to complete the fix.


According to this reference, this specific problem started happening today...

Wednesday, October 18, 2017

My Brain

From time to time my brain does a self review of interests and projects, some inactive, some abandoned, some retired and yes, some still active.  Over the last several decades this list has grown quite a bit.  Unfortunately I tend to abandon interests rather than retire them.  It's like an operating system running a bunch of programs.  Retiring a program means shutting it down and performing garbage collection, releasing it's resources for other things to use.  Retired projects will likely never be restarted.  Abandoning a project means leaving its image in memory and only releasing any reserved CPU time.  There is a slim possibility abandoned projects could be restarted.

So...  Here is my periodic list of interests and projects in no particular order...

Tuesday, October 17, 2017

Beauty Lies in Simplicity - A Little Forum Software

This has been tumbling around in my brain for a while...  An extremely spartan forum script.  Something relatively small, very fast, uses minimal bandwidth and presents as a standard HTML page with no CSS or client-side scripting.  And, it must be reasonably usable with the Lynx browser.  For those of you who don't know, Lynx is a text based browser that has been around since the 1990s.

Why do it?  Why build a super-simple forum script?  Well, I consider it an experiment.  How fast and simple can a forum script be?

The intended audience is one; myself.  If others want to use it or help, cool.  Those interested, check back here.  I will post updates as they happen, using the label BLISf, which, funny enough, it the name of the script. :-)