An Automated GUI Testing example (Nov. 2, 2021)
This is all still very much a work in progress, but here’s an example Automated GUI Testing (AGT) script that I developed yesterday.
This is all still very much a work in progress, but here’s an example Automated GUI Testing (AGT) script that I developed yesterday.
“To be a programmer is to develop a carefully managed relationship with error. There’s no getting around it. You either make your accommodations with failure, or the work will become intolerable.”
~ Ellen Ullman (via this tweet)
This quote makes me think of all those years of exception-handling with Java. I never knew there was a better way to handle errors, so I developed a strategy of letting my exceptions bubble up to the controller level (as in model/view/controller), where I would deal with them. These days I know I can use Option/Some/None in Scala, as well as Try/Success/Failure.
I can never find a list of states for an HTML select/option list (aka, combobox, drop-down list) when I need one, so I’m putting two versions here. The first select/option list shows a list of states, but only shows the abbreviations of the states:
“I’m not a great programmer; I’m just a good programmer with great habits.”
~ Kent Beck
As I get close to releasing the Second Edition of the Scala Cookbook, I’m trying to use the “foo bar baz” phrase less often, and trying to find better and more meaningful phrases. Thanks to Arrow and The Flash, one phrase I’m using is “Big Belly Burger.”
If you know any great phrases to use to help rid the world of “foo bar baz,” let me know here on Twitter. Here are a few I just looked up:
bond, james bond clear eyes full hearts can’t lose (friday night fights) elementary, my dear Watson fasten your seatbelts frankly my dear gonna need a bigger boat hasta la vista (baby) here’s looking at you kid I see dead people just keep swimming make my day no crying in baseball not in kansas any more of all the gin joints open the pod bay doors, HAL pass the beernuts (Cheers) play it again sam show me the money shaken, not stirred Soylent Green is people the walking dead too much fruit (in the house) who’s on first? why so serious? you talking to me? you’ll thank me later
Thanks to this tweet by Heather Miller, today I learned about the book, Code as a Creative Medium.
There seems to be a lot of OOP-bashing lately, which I’m not a fan of, but this article titled Goodbye, OOP makes decent points about the problems with inheritance, encapsulation, and polymorphism. IMHO, OOP still makes sense in certain areas, including GUIs like Java Swing and JavaFX, so I’m not ready to throw it out completely or bash it.
Morpheus on Lambdas.
I knew about GOTO
statements from using FORTRAN, and today I learned about COMEFROM
statements. For more information:
GOTO en.wikipedia.org/wiki/COMEFROM
This is a great way to put this: “Higher-order functions aren’t just a part of the Haskell experience, the pretty much are the Haskell experience.”
(A “higher-order function” is generally defined as (a) a function that can take a function as an input parameter, or (b) returns a function as a return value.)
The quote and image come from this LYAHFGG page.
“Every great developer you know got there by solving problems they were unqualified to solve until they actually did it.”
~ Patrick McKenzie (as seen on this tweet)
@WiemZin shared her slides from a talk titled, Friendly Functional Programming.
“Two steps are required to write a good piece of code. The first step is to get the algorithm right. The second step is to figure out which sorts of things (types) it works for.”
From the “Deriving a Generic Algorithm” chapter in the book, From Mathematics to Generic Programming.
July 19, 2015: Lately I have been thinking about writing a functional programming book, and if I decide to do that, I might include a variation of this Ward Cunningham example of how to parse HTML <table>
tags recursively. His code is written in Java, and you can read about it here.
Personally, I like helpful comments in code (such as to explain a complex algorithm in a function), but I understand that they get as out of date as this “Missing” sign. Image from this Twitter page.
Land of Lisp is one of the most interesting, quirky books I’ve read in quite a while. IMHO, Lisp can be a tough language to read, but the author, Conrad Barski, keeps it interesting.
In the last post about Mary Rose Cook, the reason I originally found her work again today is because she wrote a Little Lisp interpreter in JavaScript. (116 lines of code.) As shown in the image, the beginning of the article is a very quick introduction to Lisp.
I was just reminded of Rubber Duck Debugging. From this Wikipedia link, “The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck.” For me, my rubber duck is Albert Einstein.
I never met Carl Quinn in person, but I knew of his work. I just read that he passed away from the Coronavirus/Covid-19.