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
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
As far as I know there is no site as you describe.
RE: GitHub for Engineers
http://ocw.mit.edu/courses/mechanical-engineering/
RE: GitHub for Engineers
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
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
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
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
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.
What is Engineering anyway: FAQ1088-1484: In layman terms, what is "engineering"?
RE: GitHub for Engineers
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
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
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
https://en.wikipedia.org/wiki/Product_lifecycle
If you need more http://lmgtfy.com/?q=CAD+PLM+%26+PDM
What is Engineering anyway: FAQ1088-1484: In layman terms, what is "engineering"?
RE: GitHub for Engineers
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
RE: GitHub for Engineers
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
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
http://opensourceecology.org/wiki/Global_Village_C...
RE: GitHub for Engineers
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.
What is Engineering anyway: FAQ1088-1484: In layman terms, what is "engineering"?
RE: GitHub for Engineers
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
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
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
another day in paradise, or is paradise one day closer ?
RE: GitHub for Engineers
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
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
RE: GitHub for Engineers
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
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
"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
RE: GitHub for Engineers
RE: GitHub for Engineers
RE: GitHub for Engineers
RE: GitHub for Engineers
No, because they are just tools and it's how the tools are used that matters.
What is Engineering anyway: FAQ1088-1484: In layman terms, what is "engineering"?
RE: GitHub for Engineers
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 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.