While I search for new employment, I’ve been taking the opportunity to expand my skillset. I’m very excited about React.js. I’ve been reviewing algorithms and calculating their complexity in time and space and really enjoying the exercises. Next up, Jenkins.
Category: Programming
Coding
This all began with an Atari 400 (technically with an Atari 2600)
Every single time I pull up a terminal window and begin typing “ssh -l” I feel like such a hacker ? “Morpheus, I’m going in!”
Productivity
Spent the day nose down in the WordPress codex on a WooCommerce Storefront theme and building a Max Mega Menu into the store. Beautiful plugin. Day of PHP and CSS.
An active mind is a healthy mind
Knocking the plaques off the brain. Began the day with some Spanish practice and some Morse code practice. Then jumped into codewars.com and the first challenge I was given was…”write a Morse code decoder!”
Here’s my passing code (wordpress stripped the indentions):
function decode_morse(string $code): string {
$returnstring = ”;
//break the input string into words based on three spaces between words
$morsewords = explode(‘ ‘,$code);
foreach($morsewords as &$word){
//translate each letter of each word from Morse using the built-in library
$morse = explode(‘ ‘,$word);
foreach($morse as &$value){
$returnstring .= MORSE_CODE[$value];
}
$returnstring .= ‘ ‘;
}
//clean up return string by removing any leading or trailing spaces we added or that were in the original input string
return trim($returnstring);
}
Now to return to becoming a PowerApps and Azure expert. Light the incense, dim the lights, and turn up the cyberpunk. I’m going in!
Error messages do not lie
As a programmer, you have to learn to trust the error messages. They can be cryptic and frustrating, but they usually tell you exactly where the problem is if you are willing to listen.
Catalina Trashed My Development Environment
And then made it work so much better than before! In troubleshooting, I applied updates and corrected problems with my previous development environment with lessons learned. While this was a nuisance, my machine is in better shape for it.
Any .NET advice for this?
Maybe you .NET experts could give me a shove in the correct direction.
I am still trying to resolve this error: "Error: Sys.InvalidOperationException: ‘DocMapUpdatePanelId’ is not a property or an existing field."
My ReportViewer won’t function and I’ve narrowed it down to system.web.extensions. I am using Framework 4.6.1 and should be using system.web.extensions 4.0.0.0. The references show it as 4.0.0.0 and when I try to add the reference I get a message that says “system.web.extensions is already referenced” I cannot remove the reference either.
When I look in the GAC, I do not see 4.0.0.0 but instead system.web.extensions 3.5.0.0.
I am working with Visual Studio 2017. I have installed all updates. No amount of uninstalling and reinstallng via NuGet makes a difference. Adding and removing dlls from the bin directory makes no difference. Solution has been cleaned. Temporary files have been cleared repeatedly.
Going to the forums with this results in a bunch of guessing, or silence.
Pretty sure I’m in Hell.
Confessions of a programmer
Confessions of a programmer: As a coffee drinker and programmer, I don’t want a standing desk; I want a desk with a urinal. #coap
Confessions of a programmer
Confessions of a programmer: I never presume the previous developer was incompetent. Instead, I assume they just had a drug problem. #coap
Why did they put Doug in a padded room?
Because "The type or namespace name ‘ScriptManager’ does not exist in the namespace ‘System.Web.UI’ (are you missing an assembly reference?)"
How to program effectively
Coding is so much better when it includes wine or beer.
Inside the life of a programmer
Some days require the environment be just right for productivity. Today, I need a darkened room, incense burning, attire that doesn’t include button down anything, bare feet, herbal tea, and very, very loud cyberpunk music. Instead, I am in Cubeville. Florescent lights burn through my eyes searing my brain. The glare is so harsh. A din of conversations float over cube walls as ambient noise but not soothing as white noise, oceans, or rain. Interruptions are imminent. Such is the live of a programmer.
Today’s magic trick
Today, I make Caldera Forms export to Excel.
Making a website look good on all devices
N.b. Be sure to read this.
Responsive design is actually pretty straight forward. Use standard practices and don’t overcomplicate your html. But when we start to tweak something here or there, you quickly find yourself having to make sure that the code has adjustments for various devices. What does this mean to your programmer? Basically having to make changes to all of these:
/*********** Phones and handhelds ***********/ /*********** iPhones ***********/ /* ----------- iPhone 4 and 4S ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) { } /* Portrait */ @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait) { } /* Landscape */ @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) { } /* ----------- iPhone 5 and 5S ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2) { } /* Portrait */ @media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait) { } /* Landscape */ @media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) { } /* ----------- iPhone 6 ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2) { } /* Portrait */ @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait) { } /* Landscape */ @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) { } /* ----------- iPhone 6+ ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3) { } /* Portrait */ @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: portrait) { } /* Landscape */ @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: landscape) { } /*********** Galaxy Phones ***********/ /* ----------- Galaxy S3 ----------- */ /* Portrait and Landscape */ @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 2) { } /* Portrait */ @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait) { } /* Landscape */ @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape) { } /* ----------- Galaxy S4 ----------- */ /* Portrait and Landscape */ @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) { } /* Portrait */ @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) { } /* Landscape */ @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape) { } /* ----------- Galaxy S5 ----------- */ /* Portrait and Landscape */ @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) { } /* Portrait */ @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) { } /* Landscape */ @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape) { } /*********** HTC Phones ***********/ /* ----------- HTC One ----------- */ /* Portrait and Landscape */ @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) { } /* Portrait */ @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) { } /* Landscape */ @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape) { } /*********** Tablets ***********/ /*********** iPads ***********/ /* ----------- iPad mini ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) { } /* Portrait */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) { } /* Landscape */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) { } /* ----------- iPad 1 and 2 ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) { } /* Portrait */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) { } /* Landscape */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) { } /* ----------- iPad 3 and 4 ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) { } /* Portrait */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) { } /* Landscape */ @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) { } /*********** Galaxy Tablets ***********/ /* ----------- Galaxy Tab 10.1 ----------- */ /* Portrait and Landscape */ @media (min-device-width: 800px) and (max-device-width: 1280px) { } /* Portrait */ @media (max-device-width: 800px) and (orientation: portrait) { } /* Landscape */ @media (max-device-width: 1280px) and (orientation: landscape) { } /*********** Nexus Tablets ***********/ /* ----------- Asus Nexus 7 ----------- */ /* Portrait and Landscape */ @media screen and (device-width: 601px) and (device-height: 906px) and (-webkit-min-device-pixel-ratio: 1.331) and (-webkit-max-device-pixel-ratio: 1.332) { } /* Portrait */ @media screen and (device-width: 601px) and (device-height: 906px) and (-webkit-min-device-pixel-ratio: 1.331) and (-webkit-max-device-pixel-ratio: 1.332) and (orientation: portrait) { } /* Landscape */ @media screen and (device-width: 601px) and (device-height: 906px) and (-webkit-min-device-pixel-ratio: 1.331) and (-webkit-max-device-pixel-ratio: 1.332) and (orientation: landscape) { } /*********** Kindle Fire ***********/ /* ----------- Kindle Fire HD 7" ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 800px) and (max-device-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) { } /* Portrait */ @media only screen and (min-device-width: 800px) and (max-device-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) and (orientation: portrait) { } /* Landscape */ @media only screen and (min-device-width: 800px) and (max-device-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) and (orientation: landscape) { } /* ----------- Kindle Fire HD 8.9" ----------- */ /* Portrait and Landscape */ @media only screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1.5) { } /* Portrait */ @media only screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1.5) and (orientation: portrait) { } /* Landscape */ @media only screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1.5) and (orientation: landscape) { } /*********** Laptops ***********/ /* ----------- Non-Retina Screens ----------- */ @media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) { } /* ----------- Retina Screens ----------- */ @media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) { } /*********** Wearables ***********/ /*********** Apple Watch ***********/ /* ----------- Apple Watch ----------- */ @media (max-device-width: 42mm) and (min-device-width: 38mm) { } /*********** Moto 360 Watch ***********/ /* ----------- Moto 360 Watch ----------- */ @media (max-device-width: 218px) and (max-device-height: 281px) { }
Confessions of a programmer
My job does not pay me enough to afford the quantity of alcohol required to do my job. #coap