Bunnie Huang, hardware hacker, wrote a brief article about transparency versus liability in the context of open hardware. He covers some of the tradeoffs without going into depth.
[...] Should a buggy library you develop be used in a home automation appliance that later causes a house to catch fire, you get to walk away scot-free, thanks to the expansive limited-liability clauses that are baked into every open source software licence.
Unfortunately, hardware makers don't get to enjoy that same luxury. Beyond guaranteeing a product free from workmanship or material defects, consumer protection law often requires an implied or express 'fitness for purpose' guarantee – that a piece of hardware is capable of doing what it's advertised to do. The latest controversy over Spectre/Meltdown indicates that more people than not feel CPU makers like Intel should be liable for these bugs, under the 'fitness for purpose' theory.
Open hardware makers should be deeply concerned. [...]
At BlackHat 2014, Dan was more specific regarding software and raised, with Poul-Henning Kamp, the idea that normal liability laws should also apply to software. But with that liability in place, exemptions should be available if vendors supply complete and buildable source code along with a license that allows disabling any functionality or code that the licensee decides against. Poul-Henning has called for a long time for changes to liability laws for software.
(Score: 2) by Freeman on Monday March 26 2018, @04:41PM (6 children)
Unit Tests sound like a great thing and I should probably learn to make them and use them. Probably not going to happen real soon, though. You have a good source for learning unit testing. Preferably using Python. Free is always good too, but I figure that'd be too much to ask.
Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
(Score: 2) by fyngyrz on Monday March 26 2018, @05:51PM (5 children)
I assume that was a question. If so:
They've canned a great deal of what you need to do; start with something simple and go from there.
(Score: 2) by Freeman on Monday March 26 2018, @06:14PM (4 children)
Yes, should have been a question mark there. I've looked that over some, but it's very much written like it's a manual. Which is good since, it is a manual, but it's not too great for learning. The couple of Python books I've read haven't really gone over unit testing. Will have to see, if I have one that does.
Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
(Score: 2) by fyngyrz on Monday March 26 2018, @07:07PM
It's very simple.
You write a procedure that generates some expected output. You keep this for reference.
The class compares the expected output with the output of the (presumably newly revised) code, and points out the differences to you.
Takes just a few lines of code to do the whole thing.
(Score: 2) by fyngyrz on Tuesday March 27 2018, @12:09PM (2 children)
Tell you what. Here's a live example [github.com] from my aa_macro language.
It's pretty long for an example (about 150 lines), but I do several different kinds of tests and I also use color to highlight the results.
So to add to that, here is an introduction [pythontesting.net] to it which is much simpler.
Between the two, you may be able to find your footing.
(Score: 2) by Freeman on Tuesday March 27 2018, @02:44PM (1 child)
Thanks! I'll definitely look at those. I also found one of my Python e-books that covers Unit Testing. "Python Crash Course" by Eric Matthes, if anyone is interested. I love the humble bundle e-book bundles. They have a fairly interesting e-book "maker" bundle going on right now, too.
Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
(Score: 2) by fyngyrz on Tuesday March 27 2018, @05:44PM
The web is pretty much literally a treasure-trove of information. Best thing about it, IMHO. :)