Google Tech Talk
October 8, 2015
(click "show more" for more info)
Presented by Bill Hoffman
Since 1998 Kitware has been developing scientific computing software with a strong focus on reproducibility and testability. Kitware was initially founded to grow and support the open source Visualization Toolkit (VTK). Over the past 17 years developers at Kitware have played a role in important scientific research in HPC & visualization, medical computing, data & analytics and computer vision. Behind all of this work has been an evolving set of tools to build, test, verify and deploy software. The cross-platform build tool CMake originally created for the Insight Toolkit (ITK) has become the most popular build tool for C/C++ in the world. In this talk I will describe the new innovations in the CMake family and give several examples of tools and techniques successfully deployed to advance a wide range of scientific and commercial activities such as Google Project Tango, ParaView, Slicer, VeloView, Netflix, and others. In particular the talk will describe how these tools are used to facilitate continuous testing and tracking of both code quality and algorithm performance in a world of distributed software teams and ever-growing datasets.
ABOUT THE SPEAKER
Bill Hoffman is a founder of Kitware and currently serves as Vice President and Chief Technical Officer. He is the original author and lead architect of CMake, an open-source, cross-platform build and configuration tool that is used by hundreds of projects around the world and the co-author of the accompanying text, Mastering CMake. Using his 20+ years of experience with large software systems development, Mr. Hoffman is also a major technical contributor to Kitware's Visualization Toolkit, Insight Toolkit and ParaView projects.
The original statement claiming that the language of science is mathematics is based on various things. The effective way to communicate scientific findings is done by using mathematical objects. Moreover when we want to do theoretical science we create a mathematical abstraction of the question and by manipulating those abstract entities we can arrive to findings that are testable against "physical reality".
All this proved to be an extremely successful method, even though the toolbox called mathematics has nothing to do per se with the concrete scientific questions under consideration. So we can call it an underlying universal structure so to say language.
Now, algorithms are part of this realm naturally.
Code is an encoding of a special type of algorithm describing the use of a specific type of physical object called computer. You can claim of course that every physical object could be considered a computer but that is not how code in practice is understood.
It only carries information if the encoding is known, only a type of code (specific programming language) can be called a language. However important it may be to explicitly cite this code as part of the research report it lacks the general nature of mathematics that is underlying all this including the code itself hence I claim it is not appropriate to call it the language of science.
It is just a side note that the complete description of an experiment is a lot more than the ensemble of all computer code in use.
No, I do not think so.
Code is just another word for "Algorithm". Every paper should (at heart) have two parts. A description of an algorithm, i.e. a description of what was done in which order on which object. (The object could be physical or data).
The second part is the description of the results and its relevance and place in the great scheme of things.
So I would say that statement is insufficient as only one part of science is able to be communicated through code. But I would argue that "Code is a necessary language of science".
Tried it but i'm back to hand written projects on Windows and MacOSX.
After setting it up once, it's all about adding source files which is extreme easy to maintain and you immediately see the errors. Main problem with CMake was the bad support for multiple configurations if you need more then Debug, Release, ReleaseDebugInfo.
Oh yes and when trying to cmake fltk it crashed and no it wasn't more readable then a makefile.
Good presentation, though I'm surprised at the level of hatred toward TCL. It's OK to dislike a language, but broadly mocking it like that seem unkind to the developers, nearly all of whom donated their time to the experiment. Well, it was still a good presentation. Many thanks to whoever took the time to create accurate closed captions. Captions make it easy to watch a presentation at accelerated speed, so it's greatly appreciated.
+William Dye Always hard to judge how this things will come out in video. I suppose I should have been kinder and gentler on TCL. Certainly TCL was and is a very useful project. However, I don't think it would have made a good language choice for CMake.
Work out if you need to pay.
When you know your gain you need to work out if you need to report and pay Capital Gains Tax.
You may be able to work out how much tax to pay on your shares.
the same type, acquired in the same company on the same date sold at the same time.
sold other shares in the tax year sold other chargeable assets in the tax year, such as a property you let out claim any reliefs are a company, agent, trustee or personal representative.
Reporting a loss.
The rules are different if you need to report a loss.
Fifth most actively traded share.
Market capital of DKK 206 bn.
Shareholders by geography.
Rest of Europe etc.
Ratings from equity analysts covering the Danske Bank share and consensus earnings estimates.
Selling in special circumstances.
shares you bought at different times and prices in one company shares through an investment club shares after a company merger or takeover employee share scheme shares.
Jointly owned shares and investments.
If you sell shares or investments that you own jointly with other people, work out the gain for the portion that you own, instead of the whole value. There are different rules for investment clubs.
What to do next.