ELI Beamlines | Data Management Specialist, CS Engineers| Prague, Czech Republic | ONSITE, VISA
ELI Beamlines is a European Petawatt laser research facility where an international team currently installs the world’s most intense laser systems.
We are in the middle of commissioning and getting our first users and producing data - and now we have to start handling that. Currently, we are building our first storage system (PB-range), and facing challenges regarding high-throughput applications, cataloguing / metadata of complex scientific data, integration of computational infrastructure, integration into the grid and with off-site data centers,..
We're building a small team for that, and I'm looking for well-rounded, hands-on personalities who can both implement solutions for sometimes quite challenging applications, but also work with different scientific stakeholders to negotiate tradeoffs and policies.
The profile is intentionally a big vague because I can fill 2-3 roles (and a couple of more in the CS department)- and if the profile fits, create new ones. I can also see someone working closer to the DAQ chain or the e-infrastructure side.
Nope. ECUs have something called a "fault memory" where the last n detected errors are stored, and that can be recovered. This is actually what workshops use for diagnosing a car.
This can give lots of information about what happened (faults could be "didn't receive message xyz" "sensor xyz gave signal out of tolerance").
But there is definitely no system trace for the communication - too many messages to really store them I guess.
Yeah, firmware is another issue. You read and flash firmware or parameters often directly over that CAN bus. There is nothing to validate that, for one manufacturer, I needed passwords (casually handed out to every supplier, the same for every unit), for one, the "encryption" was a XOR with the same number that had been used for every model for years. I didn't know why they even bothered. One of the manufacturers at least stopped you from flashing new software to an ECU more than 3 times.
Did I mention that we had incredibly high fluctuation (at least production line test benches - brutal deadlines and 2am deployments, working in loud production halls, lots of travel, no technical innovation,..). We basically hired anyone who was alive and somewhat skilled. I don't think anybody ever talked to me about security - ever.
What these articles are showing, is amateurs' work. I'm terrified by the idea of what a disgruntled / crazy / .. person with experience in the field could do.
Literally: I have successfully sent CAN messages that were understandable to ECUs with an Arduino while waiting for a delivery of real hardware. There are Arduino-GSM shields that are super easy to use and would be remote-accessible.
Such a device would be dead easy to build even for someone who has almost no experience in electronics.
Yip. And if you can query any ECU, and know what you are doing/have more information on the system, you can get higher level security access (and that information, is again, not THAT hard to find).
This allows you to call functions that modify the parameters and probably restart it as well..
Not surprised. I built automotive test benches for some time. The moment you have something that can remote-access the CAN-bus, you have a problem.
There are typically only a few busses in a car. In many cases, there is a LIN bus for entertainment / radio / lights etc that is physically separated from the main CAN bus. This one is mostly harmless.
But if you can somehow talk to the main bus... There are like 5 critical ECUs that have to communicate "I'm OK" (engine, breaks etc) - otherwise nothing works. Those communicate with some minor encryption, and that communication is somewhat validated (they send counters to each other etc).
But it doesn't matter. First of all, the protocols and databases are similar for different models, and known to A LOT of people who had jobs similar to mine. In order to test or build any ECU, you have to simulate the correct communication, otherwise the ECU won't start up.. Second, just sending nonsense with the right identifier could probably shut down the car or at least make it think there is a major problem. Third, there are messages that simulate power-cycling the bus..
As a young adult, I studied in a country (had a flatshare there) and took the train (2hrs) at the weekend and during the holidays to stay with my parents.
I guess lots of people close to borders know family situations like that (parents, partners).
Now, I have a job with 90% business travel between two countries (but same cities). Have small apartments in both. It is just more economical and comfortable that hotel room living.
There are also often reasons not to completely move to a country, even if it's close (different tax situation, having to switch social security systems which affects your retirement, wanting to stay inside a certain social security systems which requires a place of residence..)
You are correct, I was sloppy writing that and apologize.
Growing up, I learned that Czechoslovakia was part of the "Eastern Bloc" and we were never taught much about the individual countries and their peoples.
Moving there taught me a lot more about the country and its neighbors' history and culture, and also my own culture.
User / Domain profiles that set the language of wherever you login. The "original" installation remains in Czech.
Yes, it would be preferable to have the installations in English initially. But we weren't always international and not all of our employees speak English well (this is common for older people - former UDSSR ..., admin staff and people in roles that don't require a college education). There are still legacy tools in Czech, fully Czech teams (who obviously work partially in their native language), a need to work in the local language (procurement, legal topics,..) etc. It's just not economic to completely enforce English.
Defaulting to OS language can be terrible for organizations where the working language is different than a local language. Lots of programs do it and they always default to the language the OS was installed in, not the one that is currently used by the user.
I work in an international organization in Czech. The local IT team installs Windows in the local language, then sets it to English (which is fine, mostly). Half of our employees don't speak Czech well and changing weird tools to English is a constant and difficult hassle for those who haven't learned the basic words yet (printer drivers and small open source tools are the worst).
Browser language can be difficult as well. Half of the population is bi- or multilingual.. choosing which language to use for a browser (for me: German or English) affects how well Google Translate works - which I use daily. (Somehow, big American companies don't get the idea that people can live in multiple countries at the same time or speak multiple languages).
If you are a very experienced programmer, you program LabVIEW (one of the major visual languages) almost exclusively with the keyboard (QuickDrop).
Let me show you an example (gif)
I press "Ctrl + space" to open QuickDrop, type "irf" (a short cut I defined myself) and Enter, and this automatically drops a code snippet that creates a data structure for an image, and reads an image file.
If you are efficient at this type of input, the "dragging/dropping/rearranging" is similar to refactoring that you would do in an IDE.
The only difference is that there is something called secondary notation in many visual languages (people are not aware of that, I'm only familiar with it because I've done research on the topic - it is how the code is visually arranged).
How code is arranged is kind of a quality parameter for visual code (google examples for "spagetti code"). There are typical patterns that are instantly recognizable to an experienced user, ways of using distance and direction to group connected parts..
I actually played with alternative forms of input for LabVIEW, mainly gesture control and "drawing" on tablets. It sounds like a fantastic idea, but only for 5 mintues. After that, your hands start to hurt. The reality is that keyboard and mouse are heavily optimized tools for input (minimal movement of fingers, and we have lots of muscle memory), and don't restrict you. It's like saying "I can type xxx word per minutes" and thinking that typing faster would help you code faster..
ELI Beamlines is a European Petawatt laser research facility where an international team currently installs the world’s most intense laser systems.
We are in the middle of commissioning and getting our first users and producing data - and now we have to start handling that. Currently, we are building our first storage system (PB-range), and facing challenges regarding high-throughput applications, cataloguing / metadata of complex scientific data, integration of computational infrastructure, integration into the grid and with off-site data centers,..
We're building a small team for that, and I'm looking for well-rounded, hands-on personalities who can both implement solutions for sometimes quite challenging applications, but also work with different scientific stakeholders to negotiate tradeoffs and policies.
https://www.eli-beams.eu/en/careers/scientific/scientific-da...
The profile is intentionally a big vague because I can fill 2-3 roles (and a couple of more in the CS department)- and if the profile fits, create new ones. I can also see someone working closer to the DAQ chain or the e-infrastructure side.
Also (not so related to HN, but why not try): I'm always looking for LabVIEW and PLC developers.. https://www.eli-beams.eu/en/careers/technical/labview-develo... https://www.eli-beams.eu/kariera/technicke-pozice/control-sy...