Alvin Alexander, a programmer, writes tutorials and notes on Scala, functional programming, GIMP, macOS, and Android.
HN links it for a GIMP circle-drawing tutorial (in complaints about basic GIMP tasks) and a post arguing the IO monad is not pure.
For feature implementation speed, function point analysis (http://alvinalexander.com/FunctionPoints/) is a good start. There are tables available that give rough industry-wide figures for hours per function point. However keep in mind these will change quite a bit depending on the size of the project, the competence of the team as a whole, unique constraints on the particular software, and the tools in use; we're talking a range of 1/2hr to 20hrs per function point, so you need to factor those items in. Also you have to be willing to break down the requirements in ways that are a little odd sometimes when dealing with more interactive applications (say, games versus spreadsheets) or that have long-running processes (daemons versus batch).
Speed of learning is much harder to quantify because people aren't uniform in the experience they already bring to the table. So you'd have to administer tests of some sort across a wide variety of things to encompass things they do and don't already know.
But the talk of "objective metrics" for the "quality of developers" sounds a little bit leading, making this whole question seem a bit off-putting. You might be well-served by reading "Zen and the Art of Motorcycle Maintenance", especially the parts where Pirsig describes the difficulty of assessing Quality without already being an expert in the subject.
Well, how involved are you? Did you see much good work this last 5-6 years from the part of Oracle? Could there be anything more they could do to downplay Java and alienate the community?
http://www.infoworld.com/article/2987529/java/insider-oracle-lost-interest-in-java.html
https://jaxenter.com/oracle-and-javas-planned-obsolescence-121144.html
http://fortune.com/2015/09/07/oracle-cuts-java-execs/
http://www.zdnet.com/article/a-close-look-at-how-oracle-installs-deceptive-software-with-java-updates/
http://www.infoq.com/news/2015/09/oracle-purges-java-evangelists
http://www.computerworld.com/article/2469593/open-source-tools/it-s-not-apache-vs--oracle--it-s-oracle-vs--open-source.html
http://arstechnica.com/information-technology/2010/11/apache-foundation-to-vote-down-java-7-protesting-oracle-abuses/
https://dzone.com/articles/oracle-announces-jigsaw-delays-push-java-9-launch
https://jaxenter.com/even-if-oracle-is-losing-interest-in-java-should-you-worry-122390.html
http://alvinalexander.com/java/doug-lea-leaving-java-community-process-jcp
That's true. Until it was discovered, Troy was considered to be mythical. Now most people think we have Homeric Troy.¹
But how far do we go? We practically have the specifications for Noah's ark ² - so do you expect us to find it, large enough to house every animal except dinosaurs, cruelly left out? ³
So at first I thought you made a pretty good case, but I don't know, man. There's a lot of weird stories that are super specific, like the one I just quoted.
--
¹ https://en.wikipedia.org/wiki/Troy
² https://www.biblegateway.com/passage/?search=Genesis+6&version=KJV - "The length of the ark shall be three hundred cubits, the breadth of it fifty cubits, and the height of it thirty cubits. A window shalt thou make to the ark, and in a cubit shalt thou finish it above; and the door of the ark shalt thou set in the side thereof; with lower, second, and third stories shalt thou make it..." etc.
³ https://alvinalexander.com/sites/default/files/styles/preview/public/photos/dinosaurs-noahs-ark-oh-crap-today.jpg?itok=RJaPveZ5
Scala does something similarly neat with using #| for piping system commands.
Slash for Scala is not used by default though for path joining, but it can be by adding an implicit function:
implicit def slash(str: String) = new { def /(joinStr: String) = str + java.io.File.separatorChar + joinStr}
val joinedStr = "abc"/"def"/"ghi"
> joinedStr : java.lang.String = abc/def/ghi
Shell friendly syntax can be used for stdin/stdout in Scala as well (already in the stdlib with no implicits required):
#< Redirect STDIN
#> Redirect STDOUT
#>> Append to STDOUT
#&& Create an AND list
#!! Create an OR list
http://stackoverflow.com/questions/12772605/scala-shell-commands-with-pipe/12772628
http://alvinalexander.com/scala/scala-execute-exec-external-system-commands-in-scala
I saw this video that you linked in HN. I think you should add it to your page too.
I found these screenshots: http://www.exeone.com/vintager-gallery .
I still would like to see more/bigger examples. Something like http://alvinalexander.com/design/gimp-catalog-filters-effects-examples-cheat-sheet (130 is too much, pick the best 10 or 20 of your effects) (I'm totally unrelated to this site, it's the second link in https://www.google.com/?q=gimp+filters+examples+galery )
Don't worry about the inconvenience. Here is usual to try to give feedback. Most users go to the site and if they don't find what they want, they just go away. Here we try to provide some advice (sometimes it's good advice, sometimes it's bad advice). I hope these comments help you. Welcome to HN!
Because the documentation seldom is good and almost never really good. Long and "complete" documentation isn't the same thing as good documentation.
I have a piece of software and a task I want to accomplish. For example, list files ordered by size in ascending order. ls' man page tells me how to do that, but I have to piece the information together because it is arranged option by option. Thus, I'm forced to read more than what I'd like.
Or I can google "ls sort files by size" click on the first link https://alvinalexander.com/photos/linux-ls-command-how-sort-by-filesize-reversed and voila.
Most people writing docs don't get that people learn by example. Thus the docs they write lacks examples and therefore are not very useful.