Thursday, November 07, 2013

Visual Studio 2012 - Cannot evaluate expression because the code of the current method is optimized

While trying to debug my C# project, I kept getting the dreaded "Cannot evaluate expression because the code of the current method is optimized" message - meaning the compiler optimized away all the details of the methods to increase execution speed. To see if your library is optimized, start the debugger and then go to "Debug/Windows/Modules" and see if your library is optimized. My problem child .dll was optimized. Right clicking on the project and selecting "Properties", I looked at the "Build" tab. I made sure the "Optimize code" checkbox was unchecked, but that is not enough.

My missing piece was on the same "Build" tab, but further down under "Advanced". I needed to set the "Output / Debug to "full", it's not enough just to be "pdb-only".

Now the project compiles with full debugging info.

Wednesday, November 06, 2013

"synwinxt.dll is missing or invalid" error after 1.4.14 upgrade on Windows XP

After loving synergy for the last few years, I decided to upgrade since it had one minor annoyance: When ever my server machine got a new IP address, the client couldn't find it - I had to manually reset it by reentering a different version of the host name which caused synergy to lookup the IP address.
Well, nothing is as easy as it looks.
I upgraded my windows7 server to the 64 bit version and windows XP client to the latest 32-bit version, 1.4.15.  Didn't work.  My XP box keep getting "synwinxt.dll is missing or invalid".
I downgraded to version 1.4.14 on both machines and still couldn't get them to communicate.
I finally installed the 1.4.15 32-bit version on my Windows 7 server and it all worked beautifully again.
Synergy is wonderful for sharing keyboard and mouse across multiple machines.


Saturday, October 26, 2013

Photos from Pablo's Fiesta October 26, 2013 Austin TX

Lost Techies Fiesta Open Space Conference 2013

Thanks to all the Los Techies for their hard work on making this a great conference.

The opening session:


9:00 Session JavaScript Frameworks Session
Knockout is for data binding, but the syntax is a little awkward
Angular is a better knockout
Ember is a better backbone (it's like Rails, follow conventions and life is easy)
SPA is Single Page Application
Progression:  jQuery -> Backbone -> Marionette -> Ember
                     Knockout -> Angular
Breeze is an ORM for the browser
One strategy is to use Razor template strictly to toss out div tags and have the js framework populate the content.

10:00 Not a Basic Git Introduction by Keith Dahlby
BeyondCompare is a recommended diff tool (a class of tools Microsoft has yet to include in their OS)
Set a union merge strategy in the git attributes file:
*.sln merge=union

Official notes of the conference are at https://github.com/lostechies/fiesta/wiki


11:00 Faster CodeMonkey, Faster
What helps you develop code faster?
Using Bootstrap Themes
Foundation, a competitor of Bootstrap, has flexible grids
PowerPoint 2012 Storyboard is great for prototyping GUIs
Lightswitch
Expresso is a RE utility
https://www.debuggex.com is an online Regular Expression utility - very slick
Dapper is a micro ORM
"Do not write clever code"
Jira has a planning view for Scrum

 Lunch!


 1:00 Care and Feeding of Developers with Gabriel
DISC personality test
Amir recommended "Greatness" by Dabid Marquet for ideas on training developers:
http://www.youtube.com/watch?v=OqmdLcyES_Q

2:00 Continuous Integration
Team City
Jenkins
Culture is the hard part
Toggle new features on a per user basis - have StuctureMap get the right version
Use Octopus for TeamCity for deployment
Rake is used in a lot of .Net builds
GitHub Enterprise is worth the price for some
 3:00 Codebetter.CI
Chocalaty is used to install programs.  It is NuGet package with standard .ps1
2013 version of msbuild.exe has moved, but the old one is still there.  Change your batch files.
Ruby needed by new .Net project
nhibernate has not been actively developed lately
ORMs require a deep understanding of underlying topics
Dapper and Massive are micro-ORM alternatives

Friday, October 25, 2013

Photos from Pablos Fiesta, Austin Tx, Oct 25, 2013



Pablo's Fiesta Pics
Austin TX, October 25 2013



John welcomed the crowd to the Los Techies Annual Open Spaces Conference

Doc List retold the mythical history of Open Spaces
 Participants, like Jeffery Palermo, wrote on sticky notes topics they would like to discuss.


Here's our list for tomorrow's sessions:

Fishbowl exercise on HealthCare.gov


Saturday, September 28, 2013

After iOS 7.0.2 Update, Podcast App Failing

I updated my iPhone 4S to iOS7.0.2 and it immediately put the phone in recovery mode.  The phone was dead.  Fortunately, iTunes had it backed up on my Windows XP (no smirks please, it's historical) and was able to restore the phone, mostly.
The Podcasts app would open and then die immediately.
It took a while to find the fix.  I went to "App Store" on the phone and found an update for the "Podcasts" app.  After applying the update it was all working again.

Wednesday, September 18, 2013

Convert Sql Server DateTime to Milliseconds Since 1970

watch
Photo by Rich Masso
While noodling around with HighCharts, I needed to convert dates from Sql Server's DateTime to what HighCharts needs, which is milliseconds since 1970.



My first attempt to convert the current UTC time was not successful:
 
 
select Datediff(s, '1970-01-01', GETUTCDATE())*1000
Msg 8115, Level 16, State 2, Line 1
Arithmetic overflow error converting expression to data type int.

Since the number of milliseconds is greater than the precision of int, we have to bring up the big guns: "bigint".
 
select cast(Datediff(s, '1970-01-01', GETUTCDATE()) AS bigint)*1000

This worked great. A good site to check the values is www.epochconverter.com.

Monday, September 16, 2013

How to unzip files in Windows 7 and Windows 2008 natively

Photo by: Klafubra

Unix systems have had native unzipping programs for the last few decades that are easily accessible from scripts.  Now Microsoft has darkened the door of the party.
Instead of downloading 7zip or WinZip, you can now natively unzip files provided your server has the latest software.  You need .Net 4.5 and PowerShell 3.0, and then everything is unicorns and rainbows.
In PowerShell scripts to unzip file "$zipFile" into directory "$targetFolder" you can do this:
[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipFile, $targetFolder)