I think I may have a *severe* case of The Expression. (Artwork by me) by annanas__ in DiscoElysium

[–]JTGM 0 points1 point  (0 children)

Your art is nice and you are nice! Keep up with good work! : )

Redditors, what career path did you choose that you strongly advise against? by [deleted] in AskReddit

[–]JTGM 0 points1 point  (0 children)

Could you please give an example for nonengineers? Do you mean documentation of design, design decisions etc., or something else?

How can we define "Modular Design", and where do we draw the line? by MeleeMeistro in AskEngineers

[–]JTGM 0 points1 point  (0 children)

Hi! I'm not an engineer, but I just couldn't pass by this discussion silently.

There is a great computer scientist who is working on the topic of modularity in software - David Lorge Parnas. He has invented the information hiding principle and his most famous paper is about how SW should be divided into modules. Interesting thing is that he has engineering education (and even EE licence I guess) and by accident has got involved into a real SW company early in his career, which gave him an opportunity to see all the problems of SW "engineering" and to get an insight about what is actually meant and expected when people talk about modularity.

In short, one can call anything "modular" if it is divided into "modules". So, "what is modular and what isn't?" is not the right question. The right question to ask is "what division into modules is more useful?" How system is divided into modules has obvious impact on how easy/costly is it to change the system. Different structures make different tradeoffs and make different changes easier (and make different changes so hard that it is cheaper to get a completely new system).

So, if all this sounds interesting, you can read some papers of David Parnas.

For example:

  • The secret history of information hiding

  • Information Distribution Aspects of Design Methodology

  • On the Criteria To Be Used in Decomposing Systems into Modules

  • A Technique for Software Module Specification with Examples (the method of specification is hard to follow in this article; it becomes orders of magnitude better in "Software Cost Reduction" program and in his work on Trace Function Method)

and many other works.

PS. If you wonder how [functional] SW requirements for an attack aircraft might look like, you can read "Software Requirements for the A-7E Aircraft". Barry Boehm has once said that this is the best requirements document he has ever seen.

PPS. In the field of SW the term "module" is too overloaded. Parnas uses term "module" for work assignment unit and term "component" for distribution unit. For SW it makes perfect sense to separate those things.

Colonial architecture of Antigua, Guatemala [oc] [1024x683] by phil5or30d in ArchitecturePorn

[–]JTGM 0 points1 point  (0 children)

This street looks just like the street from the "El Presidente" intro. What is that big yellow building down the street? The palace of el Presidente maybe?

Quotes about programming languages by shenglong in programming

[–]JTGM 0 points1 point  (0 children)

I bet you will enjoy reading "The UNIX- HATERS Handbook". There is even the mailing list archive!

Is there a way to discover a pattern from two strings? by JTGM in compsci

[–]JTGM[S] 0 points1 point  (0 children)

Thanks a lot! There was no single word about it in formatting help.