I will try to explore my relationship with IT / software / computers / computer science / software engineering or whatever the best term is to describe it. I am in a mode of looking back with content, and making small changes, learning a bit more.
As often, thinking in 'opposites' comes most natural to me:
Self-study versus formal education. The IT and software industry is young and - I believe - had originally been populated by people without a formal training in computer science as this did not yet exist as an academic discipline. The community was open to outsiders with no formal training or unrelated experience. As a former colleague with a psychology background put it: In the old times, anybody who knew how to hold a computer mouse correctly, was suddenly considered an expert.
I absorbed the hacker ethics of demonstrating your skills rather than showing off papers, and I am grateful about the surprisingly easy start I had in the late 1990s. I just put up a sign in a sense, saying Will Do Computers, and people put trust in me.
I am not 'against' formal education though. Today I enjoy catching up on computer science basics by reading classics like Structure and Interpretation of Computer Programs.
Breaking versus building things. I have been accountable for 'systems' for a long time, and I have built stuff that lasted for longer than I expected. Sometimes I feel like a COBOL programmer in the year of 2000.
But I believe what interested me most is always to find out how stuff works - which also involves breaking things. Debugging. Reverse Engineering. Troubleshooting. All this had always been useful when building things, especially when building on top of or interfacing with existing things - often semi-abandoned blackboxes. This reverse engineering mentality is what provided the connection between physics and IT for me in the first place.
It was neither the mathematical underpinnings of physics and computer science, or my alleged training in programming - I had one class Programming for physicists, using FORTRAN. It was the way an experimental physicist watches and debugs a system 'of nature', like: the growth of thin films in a vacuum chamber, from a plasma cloud generated by evaporating a ceramic target bombarded with laser pulses. Which parameter to change to find out what is the root cause or what triggers a system to change its state? How to minimize the steps to trace out the parameter space most efficiently?
Good-enough approach versus perfectionism. 80/20 or maybe 99/1. You never know or need to know anything. I remember the first time I troubleshooted a client's computer problem. I solved it. Despite knowing any details of what was going on. I am sort of embarrassed by my ignorance and proud at the same time when I look back.
In moment like this I felt the contrast between the hands-on / good-enough approach and the perfectionism I applied in my pervious (academic) life. I remember the endless cycles of refinement of academic papers. Prefixing a sentence with Tentatively, we assume,... just to be sure and not too pretentious though I was working in a narrow niche as a specialist.
But then - as a computer consultant - I simply focused on solving a client's problem in a pragmatic way. I had to think on my feet, and find the most efficient way to rule out potential root causes - using whatever approach worked best: Digging deep into a system, clever googling, or asking a colleague in the community (The latter is only an option if you are able to give back someday).
Top-down, bottom-up, or starting somewhere in the middle. I was not a typical computer nerd as a student. I had no computer in high school except a programmable calculator - where you could see one line of a BASIC program at a time. I remember I had fun with implementating of the Simplex algorithm on that device.
However, I was rather a user of systems, until I inherited (parts of) an experimental setup for measuring electrical properties of samples cooled down by liquid nitrogen and helium. I had to append the existing patchwork of software by learning Turbo Pascal on the job.
Later, I moved to the top level of the ladder of abstraction by using *shock, horror* Visual Basic for Applications, ASP, and VBScript. In am only moving down to lower levels now, finally learning C++, getting closer to assembler and thus touching the interface between hardware and software. Which is perhaps where a one should be, as a physicist.
Green-field or renovation (refactoring). I hardly ever had the chance to or wanted to develop something really from scratch. Constraints and tough limiting requirements come with an allure of their own. This applies to anything - from software to building and construction.
So I enjoy systems' archaeology, including things I have originally created myself, but not touched in a while. Again the love for debugging complements the desire to build something.
From a professionals' point of view, this is a great and useful urge to have: Usually not many people enjoy fiddling with the old stuff, painstakingly researching and migrating it. It's the opposite of having a chance to implement the last shiny tool you learned about in school or in your inhouse presentation (if you work for a software vendor).
In awe of the philosophy of fundamentals versus mundane implementation. I blogged about it recently: Joel Spolsky recommended, tongue-in-cheek, to mention that Structure and Interpretation of Computer Programs brought you to tears - when applying for a job as a software developer.
But indeed: I have hardly attended a class or read a textbook that was at the same time so profoundly and philosophically compelling but also so useful for any programming job I was involved in right now.
Perhaps half of older internet writing reflects my craving for theses philosophical depths versus the hard truth of pragmatism that is required in a real job. At the university I had been offered to work on a project for optimizing something about fluid dynamics related to the manufacturing of plastic window frames. The Horror, after I had read Gödel, Escher, Bach and wanted to decode the universe and solve the most critical problems of humanity via science and technology.
I smile at that now, with hindsight. I found, in a very unspectacular way, that you get passionate about what you are good at and what you know in depth, not the other way round. I was able to possibly reconnect with some of my loftier aspirations, like I could say I Work In Renewable Energy. However, truth is that I simply enjoy the engineering and debugging challenge, and every mundane piece of code refverberates fundamental truths as the ones described in Gödel, Escher, Bach or Structure and Interpretation.
Sometimes I wonder why I had created a Tech category separate from an IT category. The two of them are interrelated closely as my recent Wordpress blog post on my so-called Data Kraken had demonstrated.
I call myself the Theoretical Department of our engineering consultancy because I am mainly in charge of software development, simulations, and data analysis – related to measurement data for our heat pump system (and those of our clients).
But there is one big difference between what I call 'IT-only projects' (like my PKI-related services) or engineering projects that also involve software: 'IT' is my tag for providing software-related consulting or software engineering related to somebody else's IT system – a system whose requirements are defined by somebody else. My engineering software is built according to my own requirements. My 'Tech' projects, IT-centered as they may seem, are not primarily about IT: They are about systems using, storing, and transferring energy. IT is just a tool I use to get the job done.
All things I had ever done as an IT professional turn out to be useful, and I am learning something new nearly every day – when thinking about 'energy'. Heating systems today are part of what is called Internet of Things – so IT security is also an important aspect to consider. In 2015 I used this website to finally transition to .NET (… finally, from ASP ?), and as a spin-off I also re-developed the numerical simulations for our heat pump system in .NET – representing every component as on object. 2014 I migrated our initially only Excel-based data analysis to SQL Server, and I have improved my 'Data Kraken framework' since then, adding visualization by automated Excel plots etc.
I still work for some select 'IT-only' clients - and it seems my 'IT articles' here just constitute a series of updates about the exact extent to which I still do PKI. If the occasional data analysis question comes up, any SQL, Excel, or .NET skills might come in handy in my IT projects - like querying a certification authority's database, or using a semi-automated Excel sheet to create a Certificate Policy Statement, following the RFC. But I don't advertise myself as a SQL etc. expert; I rather think I returned to where I came from, many years ago:
When I worked as an IT consultant, I had been asked over and over: How does a physicist end up in IT? There are very different reasons: The obvious one is that as a physicist you might have picked some programming experience. I had indeed contributed to the (mess of patchy 'local-community-developed') software for automating the measurement of electrical resistance of superconducting thin films many years ago, but this was not the main reason. I was an experimental physicist so I can't claim that my work was immensely mathematical or computational (and my job as 'implemented applied cryptography' via Public Key Infrastructures was not either). The main analogy is that IT systems of sufficient complexity are as unpredictable as an experimental setup governed by lots of parameters, some of which you have not identified yet – as was the manufacturing of thin films by laser ablation. I was simply patient, perseverant, and good at troubleshooting by navigating a hyperspace of options what might have gone wrong.
This might be either boring or frustrating for non-geeks. But I believe the grunt work of maintaining and fixing software is rewarding if this is an auxiliary task, done to support the 'actual' system of interest. Mine are heat pump systems, power meters, photovoltaic generators and the like. I want to understand and optimize them and so I am willing to learn new programming languages and spend hours on troubleshooting bugs with software vendors' updates. Just as back then I learn the bare minimum of Turbo Pascal to develop software for low temperature measurements.
In 2017 I am going to focus on maintaining (and bug fixing ?) Data Kraken und ich will work on making usage and 'visualization' of the numerical simulation more and more similar to Data Kraken.
Currently, Data Kraken has the following main features:
- Documentation of the sensors and log files for different loggers (Heat pump / UVR16x2, smart meter, PV…) in an Access database - a small proto-kraken per installed system.
- Documentation of changes to sensors and log files, such as: Shuffled columns in files, modified naming conventions for files, new or replaced sensors. For example, the formerly manual reading off of the surface level of water in the water/ice tank has been replaced with an automated measurement in 2016. So the input value for calculating ice volume moved to a column in a different log file, and was measured in different time intervals.
- A Powershell script grabs all log files from their source locations, and changes date formats, decimal commas and line breaks. (I found this to be more performant than manipulating every line later after the import to SQL Server).
- The Powershell script then creates an updated set of SQL scripts – one set of scripts and one SQL database for each installation / each client. For example, the CREATE TABLE or ALTER TABLE commands are created based on the Access documentation of measured values and their change log.
- SQL scripts create or add SQL Server database fields, import only the files containing data points not imported yet, and import their data to a staging table. Each SQL database can thus always be re-created from scratch – from CSV log files and the meta documentation (Access).
- Error values are modified or deleted from the staging table, as defined before in the Access database (and such in a SQL script): For example vendor-defined error values for not connected sensors (as 9999) are set to NULL or whole rows of values are deleted if the system was e.g. subject to maintenance according to other system's documentation.
- Finally, the most important script is run: The one that does the actual calculation of e.g. average brine temperature, energy harvested by PV panels or the solar / air collector by day, or daily performance factors of the heat pump. The script needs several levels of SQL views – all of which are re-created by the script.
- Microsoft Excel is used as a front-end to show values from tables with calculation results. One Excel-formula only simple table allows for browsing through values, and picking daily, monthly, yearly, or seasonal numbers.
- Excel plots are automated with respect to the fields (columns) and to start and end date. Existing plots can be copied (also from other workbook), then documented in a table. The documentation table can then be modified and is used as input. Color and line widths are still tweaked manually.
Weird as this setup sounds, it allowed me to develop and change the solution just in the right way – installation by installation, e.g. by testing the changes to log files after the control unit's firmware for one specific installation first.
I blog about anything heat-pump-related, in particular about our system. In addition, I am interested in thermodynamics, heat pumps and heating systems in general - and their integration with the smart grid and related security concerns. These are my postings about our 'ice-storage-/solar-' powered system specifically and postings on closely related subjects like the power grid, renewable energy and sustainable living.
I am running a small engineering consultancy together with my husband. Following Star Trek terminology, he is Chief Engineer, and I am Science Officer.
In overly correct legalese, my job titles according to our business licences are 1) Consulting Engineer in Applied Physics and 2) IT Consultant.
We specialize in planning of heat pump systems with unconventional heat sources, that is a combination of an underground water tank and an unglazed solar collector. 'IT' means: playing with control units and data monitorin.
As we run a German blog focused on this system and I also devote a 'sub-division' of my English blog to it, I use this site (radices.net) mainly for consolidating resources and links - in the same way as I curate security / PKI related links. Perhaps these link dumps will not be very useful for anybody but myself.
I once was a laser physicist and a materials scientists - my specialties having been high-temperature superconductors, laser-materials processing with Excimer lasers, and the microstructure of stainless steel. Then I turned to IT security, IT infrastructure and IT management for more than 10 years.
In 2012 I felt the urge to reconnect with my roots as a scientist and engineer, and we started working on our own heat pump research project in stealth mode. It turned to a second 'branch' of our two-person business. There are connections between my different fields of expertise - IT security and heat pumps - like: the security of the smart grid, 'hacking critical infrastructure', monitoring and control systems. Even the data we gather with our pilot setup have turned into 'big data' that require analysis and management.
So I am actually more of an engineer than a physicist. But I am still very interested in theoretical physics as sort of a mental exercise, and I indulge in reading textbooks as hobby. In 2013 I had focussed on (re-) learning quantum field theory.
Since 2014 I am mainly blogging on down-to-earth classical mechanics or thermodynamics, and I enjoy doing cross-checks and back-of-the-envelope calculations on my blog.
Heat pump usage in different countries and history of heat pumps
- Swedish Ground Source Heat Pump Case Study (2010), by GNS Science (New Zealand based consultancy)
- History of heat pumps - Swiss contributions and interntional milestones, by Martin Zogg, Process and Energy Engineering
Unusual heat sources
- Aquifer at Oslo Airport
- (Former) Cisterns - a paper documenting research done in Iowa in 1993. I have also summarized the paper in this blog post.
Sizing heat pumps - I am trying to learn the terminology of standards commonly applied in English-speaking countries:
Power grid and availability
- March 20 (2015) Solar Eclipse - a challenge for European Transmission System Operators: Announcement by ENTSO-E, Analysis by US-based company, success story. Electricity production in Germany (select week 12 of 2015) - the dip in March 20 is visible.
- Squirrels a major issue for the power infrastructure of the US: Squirrel Power!
- #DarkNL - outage in Newfoundland and Labrador, Canada in January 2014.
Hydro power plants
In Sweden the world's largest pumped hydro storage plant might be built:
- See bottom of page 30 of
this research paper:
Besides the official estimations there are some discussions [28b] about building pumping capacity between the lakes Vänern and Vättern in Southern Sweden. The difference in altitude is 44 meters between these lakes.?
- ... and the
last page of this presentation:
Possible future? Mariestads Kraftverks AB & others 50 km tunnel between the lakes Vänern & Vättern Cost: 250 billion SEK. Installed capacity: 50000 MW .
Free long-term weather data
Inputdaten für eigene Simulationen.
Germany and Austria.
- FTP server of the German weather service. Extensive and detailed datan, e.g. ambient air temperatures, for some locations since 1950!
- Annals by ZAMG - Austrian national weather service. Daily averages since 1994 as CSV files (only if you pick the link for German readers. The EN version still links to data in the older HTML format that requires you to run a browser in compatibility mode.
- Climate data for the last decades. The navigation is something you need to get used to (Pick: Cities, Climate, Climate Robot...). Therefore I start with Ice Days for Vienna. It is a bit weird that available data seem to depend on the choice of the language (less data for Vienna in English).
The winter 1962/63 was the coldest since 250 years in Europe (German article:
Winter 1962/63 in Europa. Englisch article:
Winter of 1962–63 in the United Kingdom).
More data from a talk / slides avaiable at the website of the Royal Meteorological Society: The bitter winter of 1962/63 - this winter was unusually mild in Canada and Greenland (p.17)
Could such a winter ever happen again? "The 1963 winter is well within the population of other cold winters that have been experienced in this country ... It is not necessary therefore to seek some very special cause in order to explain it." – H.C. Shellard , Meteorological Magazine , 1968 (p.21 of PDF)
Different heating systems
Statistics for Austria: Heating 2003 to 2012 by fuels used and heating system (in Austria). Less than 15% of (primary) heating systems are stoves, and they have been on a decline in the last decade.
Units, heat values, energy costs
Tools for converting units
- Heizwerte von festen, flüssigen und gasförmigen Brennstoffen auf Wikipedia.
- Heat values of different varieties of wood, per cord.
- Energy Content in Common Energy Sources (engineeringtoolbox.com)
Properties of water (for comparing the energy stored in a water / ice tank)
- Interesting properties of water as per Wikipedia: Specific heat, density.
- Thermal properties of water (engineeringtoolbox.com)
Costs of energy - international
- Photovoltaic systems are more expensive in the US than in Germany (2014), despite prices have dropped.
- Comparion of costs of kWh electrical energy worldwide. Costs seem to be much lower in the US and in Canada than in German. This article about the details of a typical US electrical bill implies that there are delivery fees on top of energy fees. On the other hand, the value for Germany seems to include anything.
Monitoring, Control, IT
Metering and monitoring electrical power consumption
- Smart meters with data loggers and/or various interface for attaching
loggers - to be installed behind the official smart meter:
- EMU Professional, different types available with different interfaces such as M-Bus, Modbus TCP and RTU, HTTP, included logger.
- Specification of the EMU meter's Modbus RTU interface.
- EM Series by B-Control / TQ-Systems (The SMA Smart Meter is an OEM meter of that type): EM210 has a web server for online monitoring and stores log files, EM300 supports real-time logging via Modbus RTU, Modbus TCP and a simple HTTP interface (but does not store log files, and uses the web server for configuration only).
- Parsing an online monitoring website is perhaps the most universal 'real-time protocol' in case not other interfaces are available. E.g. by using Powershell, I tested with the local website of a Fronius Symo inverter and their web portal www.solarweb.com. One option: Start an InternetExplorer.Application comobject and identify the html containing the interesting value per its ID (getElementById).
Manuals of data loggers by Technische Alternative Gmbh (for control units UVR1611, UVR16x2)
- C.M.I - Control and Monitoring Interface
- BL-NET Bootloader
- Logging with CMI and BL-NET on the same CAN bus in parallel is not supported.
- Bus topology. Note that UVR1611 is automatically terminated by default.
Heating with computers
Computers installed in private homes provide their computing power to cloud services - while heating those homes.
- Paper presented at the conference Hotcloud 2011: The Data Furnace: Heating Up with Cloud Computing.
- A prototype based on a similar idea, in need of crowdfunding, 2015: Project Exergy wants to build a home computer that also heats your house.
Basics (Physics) - Mechanics, Electrodynamics
The Feynman Lectures of Physics
... an odd combination probably.
But I have a penchant for combining anything. For me IT security, physics, and engineering are all connected naturally, and not only through my biography.
The communication between devices making up the internet of things need to be secured. Publicy Key Infrastructures may provide X.509 certificates needed to do this.
Physics provides one the one hand the underpinning of engineering, on the other hand mathematical methods used in physics can be applied to all kinds of complex systems. There is some truth to this satirical explanation of the relation between Feynman diagrams, certificate validation, and hydraulic designs..
But philosophical musings aside, on a daily basis I simply like to play with technology: Exploring how applications and systems use digital certificates and how they can or can't be 'hacked'. How to build ('hack') a technical solution using off-the-shelf components? How to develop a simulations tool from so-called simple 'Office software'?
(Last Update: January 13, 2014. Created: September 14, 2013)
My motto is: Building bridges between human beings and technology.
I had always been working as a vendor-agnostic consultant and trusted advisor to clients and I support them with picking, evaluating, understanding and implementing technology. Our business is called punktwissen: an artificial German word made up of 'Punkt' (point) and 'Wissen' (knowledge), indicating: Getting to the point and boiling down knowledge to the essential information.
My specialties: Modelling of heat pump systems that utilize unconventional heat sources, troubleshooting issues with digital certificates and Public Key Infrastructures.
My mission: Improving personal and economic independence of small businesses and entrepreneurially minded persons - via the clever utilization of renewable energies and carefully selected IT tools.
I am interested in the interfaces between building technology, energy engineering, applied physics, and IT infrastructure. In my thesis (2013) I have tried to combine everything I was ever interested in – physics, IT security, power engineering – writing about smart metering and security.