LinkedInand 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.
Through my experimentation with ChatGPT, I have been able to accomplish some remarkable tasks such as aiding in the creation of job listings and resumes, assisting with copywriting, and providing valuable strategic advice.
Recently, I discovered my favorite new use-case for ChatGPT: creating flowcharts. While ChatGPT is a text-based chatbot and cannot generate visuals, it excels at coding. This is where mermaid.js comes in handy; it is a language that enables you to code visually appealing diagrams.
The initial response lacked sufficient detail and was quite rudimentary, despite containing a brief explanation. However, it is worth noting that ChatGPT is capable of tracking entire conversations and can refine and expand on previous responses. To take advantage of this feature, I guided the conversation towards specific topics and encouraged ChatGPT to provide more in-depth explanations by saying stuff like this:
By asking ChatGPT a series of questions, I received a comprehensive guide on the steps involved in product selection, supplier identification, online store building, and multi-channel marketing. As a visual learner, I find this approach highly effective in simplifying complex concepts and making it easier for me to quickly visualize the necessary actions.
The diagram serves as a valuable tool for me in knowing when to conduct research on specific topics. For instance, if I want to run TikTok ads but have little experience, I can easily identify that I need to learn about creating a campaign, segmenting audiences, developing bidding strategies, and enhancing creative strategies.
Exploring this feature has been an incredibly helpful experience. Whenever I encountered any issues, I could simply communicate with ChatGPT and have the problem resolved or the answer refined. The only challenge I faced with the flowcharts was a limitation on the character count when trying to incorporate excessive details. Nevertheless, this obstacle can be easily overcome by creating a separate flowchart for each specific topic, rather than expanding continuously on the original one.
The potential of this feature seems endless, and I can only imagine that with a jailbroken version of ChatGPT, it would be capable of teaching anything through the creation of flowcharts. I truly believe this represents the future of learning and information sharing.
Before jumping into any complex software development, it's often a good idea to spend some time designing the system or feature you will be working on. A design is easy and quick to change. A software implementation on the other hand, is not.
There are many generic diagramming tools that can be used to design software such as
diagrams.net (formerly
draw.io), Miro, or Lucid Charts. These generic tools do allow a lot of flexibility but end up costing you more time than you intended to align all boxes and arrows and to get the colour schemes just right.
An approach gaining in popularity is to use tooling that allows 'diagrams-as-code'. In this way you describe the diagram with code and the tooling takes care of the visual rendering. The added advantage is you can source control your diagrams and audit changes overtime. Two popular choices for this are PlantUML and Mermaid.
By far, the easiest version is to run the PlantUML docker image. If you have docker desktop, this is easy to start up any time you need to render diagrams. By using docker we keep our local machine clean.
Sequence diagrams are not as good as Flowcharts for showing branches or loops (although it can be done), but they shine to show actions taken by different participants and the timing of the action execution.
For C4 Models, Mermaid support is still experimental. This shows as you have little control over the way the diagram is rendered, and some parts are unreadable (i.e., arrows over nodes). PlantUML works as you would expect and has support for more advanced setup like sprites. Not even close on this one. Winner: PlantUML
The big elephant in the room is the rendering. Having markdown auto render the images in source control systems like Azure DevOps or GitHub is HUGE! This guarantees the diagrams will always be up to date with their definitions. With PlantUML, you need to also check in the images to source control and these could easily become out of date. Winner: Mermaid
Overall if I had to pick one, I would choose Mermaid. The main reason being ease of use directly in markdown. Mermaid will be fine for most of your needs, but for anything more complex or for doing C4 models, I would fall back to PlantUML. Overall Winner: Mermaid
In this article we've explored how to setup PlantUML and Mermaid and the main differences between the two. We've compared the common diagram types such as activity/flowcharts, sequence, entity relationship, state, and C4 models. We also explored some niche diagrams such as gitgraph, JSON data, and mind maps.
Much of the syntax is similar between the two, but Mermaid tends to do a slightly better job at rendering a nicer looking diagram OOTB. Mermaids' big downfall is the experimental support for C4 models, which is an excellent for architectural diagrams.
Hello Monks, thank you for taking the time to read, anwser and think about my inquiry.Monks, reading the llama just landed me on a job, and the alpaca is on its way. The thing is my new job uses old Perl scripts, one of them is 4000+ lines. I just thought that a flowchart generator would help me, and the rest of my teammates understand the code better, so Monks, I am wondering if you could recommend such a software, or maybe another way to better understand our perl scripts.Comment on Flowchart generator from Perl source code.
My experience with other languages is that machine generated flow charts are seldom useful for anything but satisfying a customer requirement for a flow chart. They must be isomorphic with the code. This is not at all the same as a hand drawn chart, where its designer comunicates his understanding of the code (often by intentionally omiting details.)
I believe that formatting your code with the CPAN utility perltidy would be more useful than rearranging the code into a flow chart. Clearly, this is a matter of opinion which you must decide for yourself.
perltidy is not a substitute for a chart nothing stops you from editing a chart after its generated -- the benefit is you don't have to re-type all that information
autodia.pl,
umlclass.pl, _portable...[reply]Re^3: Flowchart generator from Perl source code.
by Anonymous Monk on Aug 16, 2012 at 03:45 UTCYou can even involve sqlt, after all UML is schema :)[reply]Re^3: Flowchart generator from Perl source code.
by BillKSmith (Monsignor) on Aug 16, 2012 at 15:54 UTCFlow charts can be an excelent way to document our understanding of a program. No utility can possibly do this for us. Use any tool(s) that you find useful.
I suggest perltidy as a substitute for a flow chart program only in the sense that both are intended to reveal the structure of the code. I find it easier to grasp that structure from systematically indented code rather than from machine generated charts which spread the same information over several times as many pages. Again, my advice is use what works for you!
Hello.
Ive been working on some software Im calling "Flowcodeo"
Pronounced " Flow-Code- EEE-O "
Like " Rodeo "...
Its not ready yet, but I wanted to get some feedback as to what you think of it
The basic idea is that you can program an Arduino program with no code. BUT can add your own code if you want.
I wrote it because I was unhappy current Arduino software for generation code.
I couldn't find any i liked that had a good GUI, that worked as a flowchart should. and allowed you to edit code inline, while maintaining the GUI.
It can generate Arduino files (for Arduino) or python Files (For ROS (ROBOTIC OPERATING SYSTEM)) and I hope to expand it to many more "specific" versions in the future (for VEX robotics, Sparkfuns Redbot, Lego Mindstorms etc etc etc)
I am undecided as to how to progress. I have put a lot of work into this, so I would quite like to monetise it, or at least have a sponsor or advertiser. Really I would like to be able to afford to buy a range of robotics kits (such as the sparkfun redbot) so I can make it compatible with as many robotic platforms as possible.
It is I am afraid basically impossible to do this the other way around, As every programmer uses different styles of programming and different syntax, variable names, and flow of code. It is impossible* to work this backwards into a flowchart format.
Anyway, one thing that I believe is important is that kids should be able to parse the generated code. It was hard to tell from the video but as long as they can reference between the diagram and the code I think this has huge educational value. Maybe if you pulled the code in to the blocks and allowed it to be viewed as a tooltip, or displayed in the panels on the right...
Would it not be more useful for the students to teach them to program the Arduino just using the Arduino IDE and C/C++. It would give them a much more marketable skill. And they won't find it difficult.
Specifically in Hugo, you write the mermaid code in a code block with the language set to mermaid. Whether that is how it works elsewhere I have yet to find out. Here is my first attempt at a flowchart:
A node can have two parts, the first part is the node name and the second part is the node label. For ease of reading, once you have declared the label you only need to reference the node name. If you do however, write a label for a node more than once, the last one will be used.
3a8082e126