×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

GitHub for Engineers
3

GitHub for Engineers

GitHub for Engineers

(OP)
Hi Everyone,

I'm new to the engineering world and am trying to understand the online ecosystem. As such I have a few questions!

Is there a 'GitHub for Engineers'? That is, is there a website where I can find people's engineering projects to learn from? Ideally I'd like to download their files, inspect them, play around, etc, in order to learn rapidly.

A second question is what is the established best practice for working on engineering projects with others? Do people use dropbox or google drive? What's the best practice 'work flow'?

Lastly, how do you find out about new interesting engineering projects people are working on?

Thanks,


Jackson

RE: GitHub for Engineers

GitHub for engineers? GitHub is written by lots of programmers many of which are engineers.
As far as I know there is no site as you describe.

RE: GitHub for Engineers

"Ideally I'd like to download their files, inspect them, play around, etc, in order to learn rapidly."

There is already a misconception here. "files" would only be in the form of schematics and board layouts, which are uniquely proprietary to software that the engineers use, i.e., there is no equivalent of source code, unless they're designing in VHDL. However, VHDL is essentially a programming language, and as such does not have really deal with analog circuitry, although one could probably describe analog circuitry in VHDL. Moreoever, VHDL is only worth the effort for large designs, ala the size of a compiler, or similar. Even then, much of the functionality of a design might be abstracted into major subfunctions, like processors, or DMA, and there won't necessarily be any lower level details for those.

A similar situation would exist for mechanical engineers as well. While there are textbooks that describe mechanisms in the abstract sense, a mechanical design database is all about mechanical drawing details, and the specifics of why a design looks the way it does is not really captured anywhere

TTFN
I can do absolutely anything. I'm an expert!
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers

RE: GitHub for Engineers

(OP)
RE "There is already a misconception here. "files" would only be in the form of schematics and board layouts, which are uniquely proprietary to software that the engineers use, i.e., there is no equivalent of source code"

What is the analogue for engineers then? Source code is to software engineers as ??? is to aerospace/mechanical/electrical engineers.

RE "specifics of why a design looks the way it does is not really captured anywhere"

Is there any entity in the engineering world that captures this? Is it a report document? How is the knowledge of the design decisions transferred from one person/group/team to another?

Nobody has addressed the idea of collaborative engineering. Are tools like google drive or dropbox used by any of you?

RE: GitHub for Engineers

If I understand your inquiry correctly, my first comment is congratulations on being inquisitive enough to want to learn more on your own. Speaking as a fully qualified "old fart" who has been designing machines for 40 years in all kinds of engineering environments, I can tell you that I've never heard of GitHub. I have heard of Dropbox though. (My daughter sent us some pictures on it.) And I have heard of Google Drive but have no clue. Don't even own (or want) a smartphone. But if I am understanding your question correctly, you are simply wanting to learn more about various designs by studying their engineering documentation in detail.

Most companies (and designers) consider their designs to be proprietary, their own intellectual property. So, you're probably not going to find a lot of publicly available detailed information.

The best way for you to learn about designs is to do what I did. Back in the day companies' engineering departments used to be FULL of drawing files, large flat drawer cabinets full of paper (remember paper?) and mylar drawings. They were an unending fount of knowledge for me as I learned from past masters of my craft. I could spend HOURS just studying old drawings. My respect for those guys just grew and grew. My favorite was the World War II era. Those guys were unbelievable in their creativity!

I would ask myself "Exactly how does this system work?" and "Wonder why they did it that way?" I also learned very valuable lessons about the importance of layout, planning, and the appearance of a drawing.

Source code is simply a method of communicating your ideas clearly enough that those that need to understand them in exact detail can do so. Other engineering disciplines have their own methods. Electrical engineers have electrical schematics. Fluid power engineers have hydraulic and pneumatic schematics and fabrication drawings. Chemical engineers have formulas and piping diagrams. Mechanical engineers have physical drawings and mathematical analysis of loading, stress, etc.

Which is all probably more than you really wanted to know, but there you have it.

Now, go learn things!

RE: GitHub for Engineers

GrabCAD is an interesting source, not sure if that's what you have in mind.

It is better to have enough ideas for some of them to be wrong, than to be always right by having no ideas at all.

RE: GitHub for Engineers

"Nobody has addressed the idea of collaborative engineering. Are tools like google drive or dropbox used by any of you? "

Depends on what type of collaboration you're talking about. For fully integrated 3D CAD data collaboration you probably need a PLM or at least PDM system to do it well so as to maintain all file links etc.

Using any kind of file share be it the ones you list or ftp to a company server or... has severe limitations in the file linkage aspect.

Posting guidelines FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm? (probably not aimed specifically at you)
What is Engineering anyway: FAQ1088-1484: In layman terms, what is "engineering"?

RE: GitHub for Engineers

(OP)
"PLM or at least PDM system to do it well so as to maintain all file links etc."

I'm not familiar with what PLM or PDM are/is. Can you detail them for me?

What is the nature of these file links? How are they created, and what purpose do they serve?

RE: GitHub for Engineers

it's a good idea, but perhaps too simplistic.

sure, review your company's designs (if you have time), talk to other engineers (if they have time). Accessing other company's design data is probably very difficult (they don't want to share it) and to a degree, pointless. Pointless because you don't how how well the design worked, but more, you don't know the limitations that they worked with ... maybe they were an OEM with access to all the plane design data and all sorts of modern and expensive productions methods; maybe they were a "chop shop" making do with what they had, being overly conservative to compensate.

You're clearly new to the business ... a word of advice ... i think you need to listen to some of the people around you to figure out why we do things a particular way. the trouble is figuring which people to listen to !! You may have some good ideas, I suspect that most ideas won't work (for a multitude of reasons ... and this is an excellent way to learn) and most probably will have been tried at some time in the past. That said, I'm sure we can all gain from sitting back and thinking "why do we do it this way?" ... until the boss comes round and says "git 'er done".

another day in paradise, or is paradise one day closer ?

RE: GitHub for Engineers

(OP)
RE "it's a good idea, but perhaps too simplistic."

why is it too simplistic? what need do you see not being met by the solution?

RE "i think you need to listen to some of the people around you to figure out why we do things a particular way."

that's exactly why i'm asking in a forum "how is it done?"

RE "Pointless because you don't how how well the design worked, but more, you don't know the limitations that they worked with"

I agree this is immensely valuable information. The fact it is not communicated is one of the greatest losses. In industry, how is this meta knowledge not lost. That is, how is it communicated and persisted?

RE: GitHub for Engineers

I've been engineering stuff for almost 40 years. For personal use I have MathCAD, AutoCAD, a lightweight FEA program, Excel, lots of books, articles, published papers and access to university libraries. For collaboration I use Buzzsaw, GoogleDocs, Basecamp ans Sharepoint. This site is an excellent resource. Participating in code committees is a very good way to understand a particular subject and cultivate a peer group to bounce questions off of. I don't think you can expect to learn much from downloading a CAD file of a structure without understanding the methodology of its design but some details might be of interest and then you could attempt to reverse engineer or forward engineer to see if you get the same result. To find out where the new stuff is happening, go to trade shows, read engineering journals, industry magazines, things like Science News, ASME magazine. There is an interest group and journals for just about everything. Read patents. Go to universities where research is being done. Engineering is a skill developed over time based on understanding of basic principles, practical methods, imagination, number crunching, design elegance, experts in areas you are unfamiliar with, trial and error. My opinion only...good luck and please report back what you find and the direction you decide to go !

RE: GitHub for Engineers

I'm curious, are you actually employed as an engineer at the moment, or are you looking at engineering employment?

Github is a mostly (there may be 'closed' setups specifically for certain companies, but I've never looked) open source utility, based on both use of Git as a software collaboration tool, as well as facilitation of an open means of developing software. Its possible to use Git (and by extension, GitHub, since Github is really a hosting solution) for development of other systems / platforms / artifacts, but its often not suitable for those purposes for a number of reasons, least of all concurrent access and approvals.

Its also quite unlikely that 3rd party companies would allow you access to their engineering development tools (PLM is in some respects, a functional equivalent of what Git provides) as in just about all cases they're concerned with protecting their intellectual property, rather than allowing collaboration with others.

Companies generally have their own methodology for production of engineering services, ranging from SMB shared folders, Microsoft Sharepoint, various PLM tools and others. Usage is generally company specific.

RE: GitHub for Engineers

(OP)
RE "For collaboration I use Buzzsaw, GoogleDocs, Basecamp ans Sharepoint."

Thank you! The first direct answer to my question. Much appreciated.

There's a lot of discussion here about companies sharing their files. I'm not interested in seeing companies engineering documents/files/data. I'm interested in individuals' project files. Surely you do hobby engineering on your computer, right?

RE: GitHub for Engineers

"Surely you do hobby engineering on your computer, right? "

Rarely, and when I did/do it was mostly related to either 'bright' ideas I might be able to make a $ off, or it was things like landscaping plans for my yard or occasionally just silly geometry problems that were bugging me or the like.

Posting guidelines FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm? (probably not aimed specifically at you)
What is Engineering anyway: FAQ1088-1484: In layman terms, what is "engineering"?

RE: GitHub for Engineers

If you are a Civil Engineer, you can visit all the State Highway sites and view their Standard Plans for ideas on how highways and bridges are built and how designers put the drawings together. I also used to collect old out-of-date bid documents from plan centers to see what my competition was doing.
I don't know what Aerospace industry does. It's probably all proprietary.

I have my house plans drawn up if you want to see them. Give me a day to get my perspective done by "Rent an Engineer".

RE: GitHub for Engineers

(OP)
RE "I have my house plans drawn up if you want to see them. Give me a day to get my perspective done by "Rent an Engineer"."

Most definitely! Do you have a whole folder dedicated to the project, with subfolders for each section? How would you plan to share it with me?

Thanks also for the PLM and PDM links. That's all new to me.

RE: GitHub for Engineers

ok, i'll try again ...

looking at how other people solved problems isn't IMHO a whole lot of use to you. You don't know their "design space", the limitations they had to work with, the materials available to them. And without talking to the engineer involved, just reviewing the final drawings,may not be a lot of help either ... why did you do that? what were you worried about ? ...

Of course, there are fields (eg bridges) were I guess some sense can be gained.

another day in paradise, or is paradise one day closer ?

RE: GitHub for Engineers

I think too you're reading too much into FreddyNurk's post. "for collaboration" I think refers to sharing work between members of a design team, not making info available to the general public. Eg "Buzzsaw" is an autodesk application, that needs a user login.

another day in paradise, or is paradise one day closer ?

RE: GitHub for Engineers

It sounds like you want to view and manipulate other engineering models and assemblies. For personal use, there is nothing wrong with Goggle Docs, SharePoint, and DropBox for sharing files, data, and large CAD models in that order. Also look into GrabCAD and their GrabCAD Workbench, it may be what you are after.

In a professional work setting, we use Arena PLM and Arena Exchange to share BOM info and files with suppliers and other engineers.

"Art without engineering is dreaming; Engineering without art is calculating."

Have you read FAQ731-376: Eng-Tips.com Forum Policies: Eng-Tips.com Forum Policies to make the best use of these Forums?

RE: GitHub for Engineers

Hi sabrehagen,
You sound like you are more familiar with the "creative commons" than the Patent and Trade Office.
Most professional engineering works in the realm of proprietary information. To be even more blunt: it is against the law to share the information we work with daily. This is pretty much the opposite of "the commons". Each has its place, including in engineering. Until you know the difference between public domain data (patents, regulations, design standards, etc) and private data that corporations and individuals own (drawings, schematics, test results) then you will find it difficult to ask for the right thing. Ok I've had my piece to say, critically.

More along the lines of what you asked for: try Onshape. They have a lot of freely available CAD models.

STF

RE: GitHub for Engineers

rb1957: When you say "looking at how other people solved problems isn't IMHO a whole lot of use to you" I will have to respectfully, but strongly, disagree with you. Your reasons for saying that are indeed valid (you don't know their restrictions, etc.) but they are also incomplete. You can never know the full story of the environment in which a design was created, but I have found studying the past work of others to be highly enlightening, and extremely useful. I have seen amazingly creative solutions to design problems. I have also been able to learn about fatal flaws that I was able to avoid in my own work. It also gives one a better historical perspective of the progress of technology, their place in it, and your own. Maybe you didn't mean it this way, but your post frankly struck me as rather closed-minded. I'm hoping you didn't really mean it that way.

RE: GitHub for Engineers

"I agree this is immensely valuable information. The fact it is not communicated is one of the greatest losses. In industry, how is this meta knowledge not lost. That is, how is it communicated and persisted?"

It isn't. It is mostly thrown out like trash or kept by those without true talent to prevent anyone challenging their assumptions or analysis.

I was basically fired after 30 years for trying to set up a system to capture this info using a Wiki. The main problem is that a Wiki makes it clear who the contributors are, and how much and what kind of contribution is being made. In my former company I estimated that 80% of engineering time was spent re-gathering information that had already been gathered or waiting for others to go through their private stash or to finally do the work they should have done and didn't, but was buried in e-mails, spreadsheets, presentations, et all, but so disorganized that no one could put together a picture of how a design evolved or how the program was managed.

Guess who doesn't like the idea that they will be exposed as liars? Middle and upper management. I guess one of them was smart enough to see the eventual outcome of documenting how the organization really worked.

RE: GitHub for Engineers

Oddly 'my' (it isn't, I just set it up) Wiki, in the company I work for, is high on the internal search list. There again it doesn't point the bone, if you want to contribute you can, if you don't you don't. (and really, if you want to point the bone, why use such a passive-aggressive method?)

Now oddly enough I set it up because we used to have a sort of blog type construct, and for several years I reported most of my day to day work on that. One day, they killed that system, and encouraged us to 'migrate' to the new system. The migration tool was frankly unusable, so I let it slide.

That's when I invented my idea of 'corporate Alzheimers'. So, these days I use the official backup methods, and put no effort into alternatives (which I'm not allowed to do). A company that can't maintain its intellectual capital will die, and it deserves to.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?

RE: GitHub for Engineers

I like the phrase Corporate Alzheimer's. I've witnessed several engineering notebooks round-filed in several companies in the past. A few I saved, many I didn't.

"Art without engineering is dreaming; Engineering without art is calculating."

Have you read FAQ731-376: Eng-Tips.com Forum Policies: Eng-Tips.com Forum Policies to make the best use of these Forums?

RE: GitHub for Engineers

3DDave, Years ago we spent a ton of time developing a tool we called the "knowledge index". After a project was finished or during its progress for larger ones the engineers were supposed to go in and explain all the decisions made, constraints, and lessons learned from a project. The tool was great, easily searchable, detailed without being overly cumbersome but it took time to fill out. We worked in contract design and couldn't bill the time for internal documentation in excess of project deliverables to our customer, especially since it would be used to improve other customers products. So what happened was that no one was willing to schedule the time for engineers to enter the data since it wasn't billable and the tool we spent so much effort developing was never used.

RE: GitHub for Engineers

(OP)
hendersdc: what an unfortunate waste! i'd love to draw on your experience in that situation. if we were to optimise that system and pick the human tasks that required least effort and time, but had the highest value to future teams/jobs/contracts, what would those tasks have been?

RE: GitHub for Engineers

Unfortunately the devil is in the details and a quick synopsis of something like "we needed to accommodate tolerance stackup" is not nearly as useful as all the options that were considered and why something worked in that particular instance along with associated diagrams/pictures. Moral of the story is that if you want to save time in the future by referring to past experience you need to take the time to properly document the past experiences which, unfortunately, takes more time and associated lost revenue than we were willing to commit.

RE: GitHub for Engineers

(OP)
Are computers and project management software helping improve this? Do you see any areas that could be improved?

RE: GitHub for Engineers

The 'knowledge capture' systems were terrible because they require on-going commitment. But a lot of information can be captured and linked (and its the links that are important) by using a system that acts as a repository that is as easy to use as file folders. Too many people start off with the idea they can build a bureaucracy and that will solve the problems.

My favorite current state-of-the-art is someone makes a spreadsheet, then e-mails it to the 20 participants. They, of course, have to decide what folder(s) of their own to store them in, and then some of them make changes. Now they have to decide if they want to keep versions by date and will either change the name or create folders with date-names. Then a few will send updates to others and what was 1 spreadsheet easily blossoms into 50-100 copies/versions which are of no discernible pedigree. Then there are the follow-on emails discussing the contents of the sheets. And those get filed or saved as msg files somewhere.

Having repeated this same thing with multiple dozens of spreadsheets, word-processed, presentation, et al documents, a new guy comes on and he has no old e-mails, there's no reasons available for the various versions. Maybe a new supplier is being considered and they want to make a change - but no one knows why anything is like it is. (I have seen drawings that they won't remove Datum symbols from, even though there are no Feature control frames and nothing uses the Datums, because they don't know why they are there and don't want to change a thing.)

Were I in charge somewhere, I'd give the team 5 years and anyone not willing to get along with the Wiki could start watching their increases decrease because it's costing the company big bucks in the long run. That management did not sit in with the engineers and provide them a stenographer/court recorder indicates they had no interest in the value being thrown away.

If there's any sense to a group at all a Wiki is a terrific tool. Where I am now there are hundreds of places to look for information, and none of it is linked. There are some search engines that look to the content of the document, but if it's important to know why something is the way it is - tough luck. Every decision ends up with many of the participants reinventing the wheel. Sad really.

RE: GitHub for Engineers


sabrehagen

Try Local Motors or one of the other projects trying to do open source engineering. I have no idea if the "engineering" they are doing will be useful.

A better resource would be design guides published by suppliers. Some of them like for plastic resins or bearings can be very useful and are public.

Grabcad wants to be the public communication portal for engineers.

Onshape requires the free users to share their cad files you may find something there.

Because people can die from your mistakes it is harder to teach your self engineering than programing.

Don't forget their are libraries full of books on every subject in Engineering.

RE: GitHub for Engineers

I think you could consider Fab Labs/Makerspaces/Hackerspaces/Tech Shops to be like a GitHub for engineers.

I am a member of a local Fab Lab (find yours here: http://www.fabfoundation.org/fab-labs/), and in the lab you get to collaborate on hands-on projects with people of all kinds of backgrounds.

Most Fab Labs believe in open-source hardware, and require members to document their projects so that others can learn from and iterate their designs. Many of them have their own platforms for collecting projects so that curious people like yourself can replicate or improve their designs.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close