1. Principles and practices, Project management¶
In the following I will attempt to describe the things I did during the first two weeks of the Fab Academy. I am already a bit behind I guess - even though I was determined to manage my tasks in the way it is advised. I went from confused to carried away, and that is where I am now.
The bootcamp week for me was first and foremost getting used to an alien paradigm; the language and concepts I was confronted with were hard to contextualise - last time jokes were cracked that went entirely over my head was in my teens maybe :)
Figuring out what the known unknowns are (as in: the things my peers have to learn as well) vs the unknown unknowns (where the hell am I?) gave me severe vertigo sometimes. Estimating what is feasible in terms of time & talent, and where to check my assumptions: in the light of the above even that was hard.
The only way forward is through I guess. So I soldered parts I know name nor function of
ending up with an item that almost flashed my name - with Erwins help, we might get it debugged eventually.
I started taking notes in the book I got as a reward, back in the day, for when I bought the collected works of one of my favourite writers. The cover looks rather pretentious, but the title (‘Heart and Reason’) fits comfortably for the moment. In it, my confusion is clear - I try to distinguish the important from the unimportant and I’m not doing a very good job.
I think managing all the data might be my biggest challenge. It is not that I’m sloppy by nature; it seems I do not have a very methodical brain, and therefore find categorising and prioritising quite hard to do.
Jorge Luis Borges quoting the ancient Chinese encyclopaedia ‘Celestial Emporium of Benevolent Knowledge’ is more like it…
**The list divides all animals into one of 14 categories:¶
.Those that belong to the emperor
.Those that are trained
.Mermaids (or Sirens)
.Those that are included in this classification
.Those that tremble as if they were mad
.Those drawn with a very fine camel hair brush
.Those that have just broken the flower vase
.Those that, at a distance, resemble flies**_
…coninued from week 1…
With the help of Henk and my peers I installed (I’m certain I forget a few) Git, Visual Studio Code, MKdocs, ICAD, FreeScad, OpenScad, GIMP, got connected to the Fab network e.g. through Mattermost,
and learned that there are people who are textually inclined like Henk , and visually inclined like me. On my commute to work (I still teach cinema) I watched the tutorial on soldering by Duaa Alaali from Fablab Bahrain. Oh and of course I got acquainted with loads of new people, first my peers here at the Waag, and then the wider circles of regional and global colleagues and tutors. That is a wonderful thing.
I turned one unknown unknown into a better known unknown: I began learning Markdown.
In the meantime I browsed through former Fablab alumni projects and through my own archive, figuring out what kind of final project would be worth working at in this new paradigm. Not the windshield wiper for glasses; not the ‘something with scanning and archeology’; not the machine from Kafka’s In the Penal Colony. Two ideas remained, both of which I managed to describe on the webpage I made and tweaked over the last few days.
That was also a moderately steep learning curve - first understanding the architecture and function of GIT (not there yet), then its connection to the website on the one side, and the connection to VSC on the other side. Apart from what I learned in class, I watched a few tutorials on those.
So I learned (and I am writing this in april, long after the events) that Git is a repository, an archive, with a taste for smaller files. You’ll have to downsize all the things you want in there (the struggle I have with those steps I describe elsewhere, but ffmpeg does not work for me for example since you cannot easily determine the specs for the outcome). I learned how it is especially suitable for communal projects, keeping track of everything you do, but in the end I am the only one working on my project, so I am not convinced (apart from possible future use in different projects) of the practical use in my particular case. I have no knowledge of other systems though, so maybe this is the most practical in its sort. Here, as oftentimes, I have a hard time categorizing and updating everything. I clearly see the relevance of documenting, but it is very timeconsuming and when it eats away at time that could be spent producing stuff it frustrates. Not knowing how to do things because of faulty or lacking documentation also eats away time - so that’s a major Catch 22 for me. I learned how to supply ‘content’ to Visual Studio Code through Git, and I learned how to utilize markdown to publish different styles and categories of content (an image requires different formattting for example). I learned how to push and pull, how to commit, how to give a name to the commit, how to check the pipeline to see if things are going as planned, and I learned about how the example in VSC is not what the actual page looks like.
Answering some more questions: I ended up using Git on a semidaily basis, uploading stuff to my archive. I found the procedure a bit cumbersome as I write elsewhere: main obstacle being the downsizing of my pics and vids, which I never really managed to do the right way via the Terminal/ffmpeg. I went through several online options, and in the end found Online Converter that adressed all my needs. After filling up git I’d publish things via Visual Studio Code, probably the tool I used most throughout the whole course. Write your text in the correct week, add illustrations via links to git when applicable (by copying the link to the file, in your vsc tab write a descriptor between square brackets and an exclamation mark in front, directly followed by the link in brackets pointing to the right path), press save, name the commit, and then publish by pressing source control and synching the changes. Naming the commit was not easy! I used MKdocs, and customized it as follows:
site_name: Sander Blom - Fab Academy site_description: Fab Academy documentation site for Sander Blom site_author: Sander Blom copyright: Copyright 2022 Sander Blom - Creative Commons Attribution Non Commercial
theme: name: material palette: # try other colors https://squidfunk.github.io/mkdocs-material/getting-started/#primary-colors primary: blue grey accent: pink scheme: default font: # See available fonts at https://fonts.google.com/ text: Red Hat Display code: Ubuntu Mono icon: logo: material/school favicon: images/favicon.ico features: - navigation.tabs - navigation.instant
plugins: - search - git-revision-date-localized: fallback_to_build_date: true
enabled: !ENV [ENABLED_GIT_REVISION_DATE, False]
markdown_extensions: - extra - smarty - admonition - codehilite: guess_lang: false - toc: permalink: true
I was happy with this format - nothing too flashy but elegant and basic. I experienced earlier in designing websites how one can go down a horrendous rabbithole with all the options - so this was more than fine for me.
I still now have questions on how git and VSC work, and how they work together - I got lost in working with a communal page in the machineweek for example - but I got it working well enough for me. With more time I would have tidied things up more - a standard size for my images e.g., and maybe a more elaborate use of Markdown.
I generated an ED25519 ssh-keypair through the terminal, and published the public one my git.
And then there is the Terminal, which seems to be the key to many things. I do not yet fully grasp how and when to use it. Is it suitable for the textually impaired like me? Could I screw things up permanently if I use it the wrong way? Where in the learning spiral is ‘me, operating the Terminal’?
I decided not to put the pic here, because as a newbie the Terminal scares me, and I’m not 100% sure I will not be hacked once I show it. Another goal: to overcome irrational fears.
edit: added the pic weeks later
I understood how the Terminal makes it easier to track the processes going on in your computer, and also makes it easier to have it perform tasks. In retrospect - still writing this in April- I hardly ever resorted to using the Terminal. I guess, I get caught up the new software-of-the-week so much, trying to get it to run and understand its workings, that I forget there is a backdoor/topview called Terminal. Checking one half-mastered process by means of another half-mastered process seems to add to the complexity of the issue.
Right now, on this Tuesday night, it feels I should publish this first text on documentation. That’s it for now.