Synchrony Bank has the following security questions when setting up an account. They look well thought out, at least. The only problem? All of the answers are required to be 6 characters or longer. There are plenty of proper names or other valid answers that don't meet that requirement.
2 of the answers I can readily recall from this list don't meet the requirement. Half of them I don't have an answer for, and at least one of the answers is public information.
This one is bad... seven of my answers here are 3-5 characters, two don't have an answer for me.
Again, 4 out of 10 are 4-5 characters, 1 doesn't have an answer, and 1 of them I wouldn't spell the same way twice. Also: Ford? Dodge? Kia? Honda? Lexus? GMC? AMC?
Beyond all this, programmers need to read Falsehoods Programmers Believe About Names. ...and anyone answering security questions just needs to store the answers to the security passwords as yet another generated password using something like https://1password.com/ (although I had to limit the symbols that my own password manager would use to generate because slashes weren't allowed.)
I *just* registered in this same exact tab 20 minutes ago.
Hammerspoon uses Lua as a programming interface. I was able to automate moving windows around a 3x3 grid on the current screen with 18 lines of code.
I got an email update from Microsoft on their upgrading of Bing Rewards to "Microsoft Rewards", which includes using Microsoft Edge as another way to earn rewards. My first thought was that that wouldn't be too bad for web developers who use multiple browsers, anyway. But, of course, Edge is quite a bit more advanced than the Internet Explorer versions that people are still using.
So I was curious how each browser stacked up, and went to html5test to check on current compatibility.
Chrome Version 51.0.2704.106 (64-bit)
Safari Version 9.1.2 (10601.7.7)
Edge (Okay, I haven't figured out how to find version info on Edge yet)
HTML5Test overall scores (all features in categories are given pretty much equal weight)
While Firefox looks like number 2 overall, the form elements features in HTML5.
Chrome: 64/65, only missing Directory Upload support (no browser listed has it)
Edge: 58/65, missing an output element, input type=color.
Firefox: 44/65, but missing all the date type inputs, including type=date itself.
Safai 39/65<, with similar gaps + datalist element./li>
Edge: 100/100, but pregnant pauses and artifacts in the intermediate stages.
Firefox: 99/100, completely smooth until it stopped.
Chrome: 97 - 99/100. One artifact in the upper left corner, inconsistent results.
There probably won't be much benefit in using Edge as far as uncovering problems traditionally associated with IE, but it is yet another browser that behaves "differently", yet not nearly as frustrating as old Microsoft browsers.
I have an area of functionality that is controlled by a Settings class that is a subclass of RailsSettings::CachedSettings (rails-settings-cached gem) and changing that setting for tests was interfering with the parallel_tests gem when I ran my rspec tests.
I tried namespacing the cache, making TTL 0, invalidating the cache, monkeypatching the lookup... Every convoluted solution possible... to try and get tests to play nicely together.
The humbling thing about programming is how simple actual solutions are compared the things the brain comes up with.
The solution? Wrap the access to the Setting in a layer of abstraction (which I had partially done already.)
And then in tests:
allow(ThatFunctionality).to receive(:enabled?).and_return(true)# or falseend
allow(ThatFunctionality).to receive(:enabled?).and_return(true) # or false
Trying again to stub RailsSettings
The class method approach is explicit, but once a large set of settings is needed, it can get unwieldy. If you haven't found a better strategy for wrapping settings values, you can go back to stubbing the : method. The caveat is that you need to save the original Settings behavior for any settings that you want to leave unchanged. By stubbing the : first to passthrough to .and_call_original, you can add additional stubs on top.
I love my Seiki 4k Display for writing code on my Mac. The one downside is that it times out and goes to sleep after 2 or 4 hours of inactivity (from the remote, not the screen). I decided to fix this problem in a somewhat complicated way: With an Arduino Uno that I already had, and an IR control kit.
I used the IR receiver to find the Seiki "Volume Up" and "Volume Down" codes, which appear to be structured like NEC codes. Those are hardcoded because I haven't really bothered to refine the setup or code any more. The IRBlaster library uses digital out 3 for the IR sends, and I used digital 8, 9, and 10 for red, yellow, and green indicators to give some indication of where in the refresh cycle things are. The code as-is sends the volume up and volume down signals every hour or so, and the indicators start with a slow blink on red, a slightly faster blink on yellow, and a fast blink before remote send on green.
...less impressive was the Defiance trilogy (CJ Redwine), probably due to the believability of an alien race doing astounding things versus ordinary humans accomplishing futuristic feats in a world thrown back to the Dark Ages.
Sometimes, having done things several times before can make you miss the OBVIOUS.
to my ApplicationController to verify that Pundit was being used for authorization, I got the following error in rspec:
2) Jobs GET /jobs works! (now write some real specs)
Failure/Error: get jobs_path
undefined method `verify_authorized' for #
# ./spec/requests/jobs_spec.rb:6:in `block (3 levels) in '
Maybe there's a problem with my RSpec? Nope:
Started GET "/" for 127.0.0.1 at 2015-07-31 07:13:17 -0500
Processing by JobsController#index as HTML
Job Load (0.1ms) SELECT "jobs".* FROM "jobs"
Rendered jobs/index.html.slim within layouts/application (0.5ms)
Completed 500 Internal Server Error in 8ms
NoMethodError (undefined method `verify_authorized' for #):
Okay, does ApplicationController have the method?!