HN user

CaciaraAsAServi

60 karma
Posts1
Comments24
View on HN

Yep! But before doing all of this, check if any .so/.dll for emulating the raw piece of code you are studying is available, so you can do this:

1. check if in the .so/.dll you can spot any function referring to any recognizable (occurring only once) kind of binary blob - like images, or strings too

2. find the same function in the raw image, Ghidra's decompiler helps so much in this

3. find the address supposed to be pointing to the same binary blob (assuming that this blob is the same in the emulated and the real version)

4. scan the raw image for that same blob you have in the emulated version

5. do the maths to find the base address of the raw image.

Obviously all of this works if the raw binary image you have all refers to the same flat memory space and there's no partial relocation by the bootloader/program accepting this image going on.

Don't ask me about that time I painfully spent so much time without knowing I had one file with the odd name of "emulator.dll" staring at me all that time...

All they have to do is piss of a billionaire with delays one to many times..

...and nobody will follow their lead [as quickly as you comment seems to suggest].

I've just come out from a discussion with a customer (young guy, circa 30, not a "boomer"), head of a major wastewater treatment plant in my circa 4 million ppl. metro area...he doesn't trust software, he would rather put relays everywhere and go on like that.

The problem is not only the velocity of those who produce the systems, it is also the mentality at the end users' side.

This is why I say that the transition will be slower than it could be; there are so many parts involved.

If it only were a problem of "rate of innovation produced per unit of time" I would 100% agree with you (and not only 50% as I do :-) )

(BTW, any industrial automation person living in Northern Italy: be wary when working for the company whose name is like "ZIP code" in Italian, there is lots of work to do there, but the technical org is suuuuuch a mess)

eh, eh, I know what you mean, but in my opinion most vendors are honestly putting effort into modernizing development practices; sure, they're the usual money-grubbers we all know and love ( not! :D ), and gatekeeping is strong, but on the other hand, the sector is so vast, you are dealing with a culture which is so dragged back by past traditions, and last but not least, one's "gatekeeping" is the other's "professionalism".

Edit: Not to say that most of the times we are talking about small operations, where the PLC programmer is also electrician, plumber, chemical eng., mechanic, etc. ...

We are not only talking about big corps where hyperspecialization is the norm, the bulk of the users are (literally!) jack-of-all-trades, software is only a part, and in many cases a marginal one at that. People who have to do with PLCs are IMO far, far more diverse than the other kind of software developers.

You are partly right, but it is not so bleak, come on.[1] It is true that the average programming practices in the sector are pretty outdated, but we do have forms of code reuse like function blocks and functions, some form of code generation via the APIs of various IDEs, etc.

The thing is, this sector is SO vast.

(Modern) software will take quite a bit to eat this world, at least simply for its size.

Industrial automation goes from smalltown electricians (this particular LOGO PLC lineup is targeted at these people), to builders of small machines still hugely relying on electro-mechanical components, to world-wide corporations, with varying levels of regulation, tolerance to risk, and so on. Not to say anything about truly advanced deployments in science projects, etc. We are basically talking about the WHOLE of what used to be called the "secondary sector of the economy", and part of the primary, AND part of the tertiary! [2]

The IEC standard, the most advanced products of nearly every vendor, and the most advanced users, are going towards (sure, at their own pace, but still) modernity, but it's just a part of a vast ocean. I personally don't think I would exaggerate if I said that the variety of attitudes towards software in industrial automation is far, far greater that the one in the "normal" software industry; coupled with the other constraints expressed in other comments, that means that is not so simple for modern practices to win, they eventually will, but it will take a quite a bit.

[1] many might laugh at the content, but have a look at the programming guidelines by Siemens https://support.industry.siemens.com/cs/document/81318674/pr... and while I am at it at https://www.plc-security.com

[2] https://en.wikipedia.org/wiki/Three-sector_model

Nitpick (as you well know) - codice fiscale in Italy differs from USA SSN in that, for once, it has never had AFAIK any semblance of secrecy at all, as you can easily construct it starting from name, surname, place and date of birth [1] Funnily enough, this sometimes results in two individuals computing to the same code [2]

[1] https://en.wikipedia.org/wiki/Italian_fiscal_code

[2] https://it.wikipedia.org/wiki/Omocodia

Heh, I remember learning some German just to understand their lyrics, some years ago.

Funniest one I remember is, in Computerwelt, Flensburg und das BKA / Haben unsere Daten da... where BKA is the federal German police and Flensburg is the city where they held some data about people (or still do, I don't know).

Hey, not the parent but I'll write my views

So, "systems integration" job involves making systems interoperate as seamlessly as possible, by doing so adding new features, or reducing weaknesses, like for example vendor lock-in (sadly this is not always possible in industrial automation, see below). So the concept applies also to other sectors - and there are indeed non-industrial automation SIs - you might want to add terms like "PLC", "SCADA", "ICS" (industrial control systems), "industrial automation", "controls" to your search.

As for my own experiences in the (industrial automation) system integration industry, in Italy:

As I said before, and said elsewhere by TheCapn, vendor lock-in (in the form of employing equipment by one company, and their tooling, and their services, etc.) is a thing. But at the same time, your job is to make heterogenous systems interoperate! So most certainly you'll have to work not with your usual tools. Personally I have found that the most successful companies rely on some vendor (and their support, and their expertise), but are very open with working with, and know, the others. Obviously the more you can develop autonomously the better; it is a trade-off between freedom of action and access to more credible (branded, battle-tested, supported by big company etc.) solutions.

Knowing when to add one part to the system, or where you can just expand one of the already existing parts in order to accomplish the task is fundamental. Too often I have seen superflous parts added where it would have been enough to extend one of the existing parts a little (This is often due to vendor lock-in, you cannot work on some equipment, so you put another device by your vendor of choice).

Another thing I love about my job is the "Jack-of-all-trades" mindset required. Also human skills are important, especially here where the industry is mostly composed of little shops: sometimes you just have to understand enough to call the right specialist and contract that part of the job to them. I started as more of a computer person than a engineering one, but I managed to gain some expertise over time thanks to this knowledge transfer.

True! Hence my, "most of the time". I recently had to heavily customize a SCADA event engine with my plugins due to the particular requirements of the system; come to think of it, I might have as well rewritten the whole thing, but I had some "non-technological" limitations. :)

Now that more IT is entering the shop floor, many places are adopting some solutions (for diagnostics, data collection etc.) with more "computer" content than the past; for example all the predictive maintenance platforms big vendors are developing. Or you can concentrate on the "upper" levels, like SCADA, MES; of course working with these tools is not super CS rocket science, most of the time. You can start from positions more akin to programming, then work your way into process sensors technology, electrotechnics, etc. That's what I did.

Edit: System integrators as sibling says, I second that!

Can confirm!!

Especially

Find your way into Industrial Electrical work if you can. You get a strong mix of tech and electrical, moreso than Residential, can't really say the comparison to Commercial work though...

Avoid residential electrical work if you are technology oriented! Yes, yes, home automation and all that, but that pales in comparison with industrial work. Commercial in theory has the same potential, but (at least here in Italy) the jobs are ..hm.. dodgy (very poor project management, tasks scattered across sub-sub-sub-contractors so nobody has really a clue of the global picture ..stuff like that)

Well explained

I'd add one point

This also incentivized the governor to make their province to generate as much tax revenue as possible (good for both the governor and Rome itself)

That society was slave labour-based, so at some point of their history they needed lots of tax revenue, to support the army, for it to collect as many slaves as possible (or, in general, for it to protect their sources of slave labour). That particular arrangement with provincial governors was one of the solutions they tried. See also the progressive extension of the right of citizenship, first limited to the city of Rome and few other places, then after various intermediate phases, extended to the whole of the Empire: citizens were the ones who were taxed.

I am of opposite opinion. Being a strange unprecedented political lifeform, the EU might be further defined in some of its instituions after this crisis. After the collapse of the USSR and German reunification they defined one piece, after the 2008 crisis some other piece, and so on.. maybe the EU can only be shaped crisis after crisis, being so particular a political entity. Look for example at how they are now discussing the Eurobond issue (means: moving a bit toward fiscal integration).

It seems IMHO that such a historically new process cannot proceed linearly but only via sudden accelerations determined by the occurrence of crises (and talking about crises, I guess that in the next decades there will be enough of those)

Or maybe not.

I was not very surprised that Italy turned out to be the (first?) major hit in Europe. Considering the strong business connections, it had to be either us or Germany.

We are, as much of the world, importers from China, but many enterprises here are also, somewhat, strong exporters to China (I can see it from my dayjob as industrial automation SI), and if you factor in the small average size of Italian companies requiring many individual contacts (contrast with Germany where companies on average are bigger), you can imagine that there is a strong flow of people to and fro. Maybe the small size of companies requiring more people to establish commercial links + population being more uniformly settled across the country (no huge wildland or sparsely inhabited area left in Po Valley, except maybe some parts of Piedmont?) + a certain cultural inclination for useless quarreling hindering political action + inefficiencies in the administration + an unsolved conflict of power between central gov't and periphery possibly causing some waste of time in other quarreling + having to keep the vast group of small business owners somewhat quiet has resulted in a vast spreading of the virus.

The interesting thing is that, if you replace China with Germany in the paragraph above (wrt. the possible German origin of the outbreak in Italy), the consideration about business links would still apply.

Another interesting thing I have just noticed is that some journalists are now openly praising the Chinese handling of the crisis. Maybe this may sound strange to an American :D but there has been for some time a growing cross-partisan movement calling for stronger links to China. In fact this movement is somewhat present in European business community, so it is not so special to Italy, but nonetheless it is interesting to see these comments of open praise.

The major reason in Italy is enormous fragmentation of capital. We lost most big concentrations in the years following the 1970s crisis because the direction the post-crisis restructuration took has been towards very small enterprises and not the consolidation of big groups. Reasons for this are complex, but I would call as the two most important

1. the way the urbanisation process during Les Trente Glorieuses didn't push people into working for big companies as much as in other European countries, leaving more room for small companies in later years (there are also historical reasons for this unusually stronger weight of small capital, of course, which go long back to the past);

2. how the political cadres didn't have enough, basically, courage, to push for the consolidation of bigger companies, if not in a way that amounted to stitching some smaller low-productivity companies together - pushing for an increased industrial productivity would have meant that many smaller enterprises would have gone out of business, that would have meant the loss of MANY votes from those social groups! Excuse me if I say something controversial, but just read up on the Reggio Calabria riots in 1970, especially the afternath.

The 1980s have been characterised by the widespread diffusion of the SME model (the meme was "piccolo è bello" - small is beautiful), also with remarkable examples like Veneto which saw a real facelift, turning from a somewhat still rural region into the homeland of the "capannone" (the small industrial shed) in little less than 10 years! Personally I think that all of this has been a major mistake, but maybe unavoidable due to the social structure and history of the country.

But in all of this, consider also that northern Italy is basically Europe's second most important industrial zone (we serve as component makers for the larger industries of northern Europe)

So.. it is very complicated.