Jekyll2023-03-12T10:39:14+00:00http://mavrodinov.me/feed.xmltester|maker|geekIvo Mavrodinovivo@mavrodinov.meMicro obsessions pt. 2 - Poison Dart Frogs2023-03-11T00:00:00+00:002023-03-11T00:00:00+00:00http://mavrodinov.me/micro-obsessions-2<p>Hey friend, how’s it going?</p>
<p>Spring is almost right round the corner and I’m slowly getting out of my annual hibernation. In between production releases at work and seasonal illnesses at home, here I am to give you the scoop of yet another one of my micro obsessions (pun intended). That is, the seven poison dart frogs that inhabit my living room. Ribbit.</p>
<h3 id="frogs-make-the-best-pets">Frogs make the best pets</h3>
<p>This isn’t the first time I’ve kept frogs as pets, though it’s the first time as an (ir)responsible adult who’s willing and able to invest more into taking care of animals properly. Keeping dart frogs is simple, but initial investment in terrariums and all of the setup needed to turn a glass box into a mini slice of rainforest requires a lot of upfront work.</p>
<h3 id="dart-frogs---dazzling-and-deadly">Dart frogs - dazzling and deadly</h3>
<p>Poison dart frogs are a catch all group of around 200 species split into 16 genera, all native to South America. On average, they’re relatively small as far as frogs go, live in tropical rainforests both on the ground as well as the canopy areas, and are also very toxic. How toxic you may ask? The most toxic species, phyllobates terribilis (commonly known as the golden poison frog) has enough poison to kill over 10 humans.</p>
<p>Basically, you eat eat and you die, that’s how toxic they are.</p>
<p>That being said, though, dart frogs secrete their poison through a very complicated chain of synthesis which involves specific bugs in their diet, which in their own term feed on plants containing high amounts of alkaloids.</p>
<p>Keeping them as pets in captivity means they don’t have access to their natural diet, so no poison is ever produced.</p>
<h3 id="easier-to-keep-than-you-think">Easier to keep than you think</h3>
<p>Frogs only require three things - temperature, humidity and food.</p>
<p>The first is easy - they just need room temperature, that’s all. Humidity is more difficult, as levels of over 70% are required to keep them healthy, but that’s easily automated with misters.</p>
<p>Food can get challenging, but basically boils down to having good habits and supervision. Tiny hunters eat tiny prey like fruit flies, springtails and small beetles in captivity. I run several colonies of each on a strict schedule to ensure constant supply of food.</p>
<p>Amphibians don’t need sustenance every day - their metabolism is different than mammals and can slow down depending on their surrounding conditions. One week with little or no food is no problem, so I don’t worry about them during business trips or vacations.</p>
<h3 id="my-small-collection">My small collection</h3>
<p>I currently have three different groups in my collection - Dendrobates leucomelas (the yellow banded poison dart frog), Epipedobates anthonyi (phantasmal poison dart frog), as well as a trio of Ranitomeya imitator ‘Chazuta’ - they don’t have a common non-scientific name, but since I got them from a pet show in Italy, I just call them Gicci frogs.</p>
<p>Each group is housed in its own vivarium and exhibits very different behavior.</p>
<p>The Anthonys are very skittish and hide most of the time. They’d rarely hang out while I’m in the room, so I try not to disturb them too much. Sources say they will turn bright red and also ease in after an year or so.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/dart_frogs/anthony_frogs.jpg" alt="saint_2" /></p>
<p>Yellow banded ones are now adults and like to mostly chill high in the canopy, occasionally coming down to eat. Both are over 2 years old (side note - this species can live up to 15) and I may or may not have smuggled them on a plane coming back from a business trip in Prague once.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/dart_frogs/leucomelas_frogs_1.jpg" alt="saint_2" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/dart_frogs/leucomelas_frogs_2.jpg" alt="saint_2" /></p>
<p>Chazuta trio just turned teenagers and started displaying husbandry last month. There’s a clear pair who’s going through their elaborate courting rituals every day, so fingers crossed they’ll have babies in spring.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/dart_frogs/chazuta_frogs_1.jpg" alt="saint_2" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/dart_frogs/chazuta_frogs_2.jpg" alt="saint_2" /></p>
<h3 id="abstract-communication">Abstract communication</h3>
<p>You obviously can’t pet frogs, or play catch with them, or take them out for walks and such. That being said, there’s still communication going on and they appear very smart for their tiny size. For starters, all frogs already learned to recognise me and memorised their feeding schedule. We’d often observe each other through the glass, and they’d come out to watch me while I’m in the room. They’re not too trusting of strangers and would usually hide if I have guests over, then quickly reappear when the coast is clear. They’ve also adapted to my schedule and know when I usually leave for the day. Lights out means they might not find their way to their hideouts, so each group would slowly get ready for bed around 11pm.</p>
<p>Friend, that’d be all for this post. Catch me next time for something more technical and work related. 🐸</p>
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
<iframe src="https://www.youtube.com/embed/QP37rnwa-UY" frameborder="0" allowfullscreen=""></iframe>
</div>Ivo Mavrodinovivo@mavrodinov.me❤️🐸Micro obsessions pt. 1 - Katakombenheilige2022-11-23T00:00:00+00:002022-11-23T00:00:00+00:00http://mavrodinov.me/micro-obsessions-1<p>Friend, it’s been a hot minute, but let me tell you something - I’m an absolute master of putting the pro in procrastination when it comes to blogging. JK, too much work, as usual.</p>
<p>Be that as it may, I’m starting a new series of giving you the brief of my micro obsessions - small scoped side quests I’ve been getting myself into lately. My approach is short and sweet - read up, research and then experience them in person. Just enough for my INTP brain to be satisfied before moving on.</p>
<p>We’re kicking it off with something quite cryptic (pun very much intended) for the pilot episode, namely my crazy 11 day Tesla trip around Europe that had a little bit of everything for everyone who was in that <strong>overrated</strong> car. What was my go-to destination you may ask - the bejeweled Catholic skeletons in Waldsassen; a small town in Bavaria just a couple of hours away from Prague.</p>
<p>A word of caution, tho - if you’re afraid of actual skeletons and/or are not keen on seeing the absolute lengths human beings are capable of going through to justify their religious beliefs, then feel free to skip this one altogether. You’ve been warned.</p>
<h3 id="all-paths-lead-to-bavaria">All paths lead to Bavaria</h3>
<p>The image of catacomb saints has slipped into my life on a few separate occasions, though piecing everything together happened relatively recently.</p>
<p>Being interested in craftsmanship, I recall reading a paper on the evolution of hand tools and techniques in Europe over the years. The article focused on industrialization and manufacturing, but there was a segment on less technical areas and there was a picture of a catacomb saint with an excerpt going over fine gold work and precious stone faceting.</p>
<p>Fast forward some years, I spent a weekend playing Blasphemous on the Switch (for the initiated, that’s a very hard, very Catholic and very gory game by a small Spanish dev studio) when I had to battle a possessed catacomb saint main boss who whooped my ass so many times, that an online guide was needed to progress further.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/blasphemous.jpeg" alt="blasphemous" /></p>
<p>Last year I also got my hands on physical copies of Etmaal and Heven by O SAALA SAKRAAL, both of which feature images of catacomb saints as album covers:
<img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/o_saala_sakraal.jpeg" alt="o_saala_sakraal" /></p>
<p>My micro obsession peaked after getting the only official write up on katakombenheiligen by Paul Koudounaris named Heavenly Bodies: Cult Treasures and Spectacular Saints from the Catacombs. An excellent exploration into the topic featuring almost all remaining relics of the time in amazing photo details with commentary and locations. Highly recommended, you won’t regret getting a copy for your coffee table!</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/heavenly_bodies_book.jpeg" alt="heavenly_bodies_book" /></p>
<h3 id="katakombenheiligen-abridged">Katakombenheiligen abridged</h3>
<p>From what I’ve gather so far, some 450 years ago Catholicism was losing steam as the Protestant Revolution had taken a serious material and follower toll across what’s currently Germany, Austria and Switzerland. Around the same time, some random farmer had his donkey stuck in a hole near Italy’s endless vineyards. Uncovering the site revealed one of the oldest Christian catacombs from a thousand years ago, packed full of the skeletal remains of supposed early Christians. Supposed, as there is little factual proof all people buried there were Christians.</p>
<p>Anyway, then someone pulled the best marketing scheme of that time - dozens of holy skeletons were exhumed and sent all over Europe to be lavishly decorated and put on display as inspiration for the fading Catholic beliefs.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/saint_1.jpeg" alt="saint" /></p>
<p>Catacomb saints were a smash hit, drawing in countless Catholics to pray for their health, faith, good fortune and overall state of their mortal lives.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/st_luciana.jpeg" alt="st_luciana" /></p>
<p>Contrary to popular belief, all of the gold, silver and precious gems were not meant to symbolize earthly goals, but the riches and prosperity that await true believers in the afterlife - friend, I’ll fetch you the Bible quote on this later.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/st_hyacinthus.jpeg" alt="st_hyacinthus" /></p>
<p>Nowadays, though, catacomb saints have long faded into obscurity and even my German friends had no idea about them. Although they’re still regarded as holy Christian relics, the amount of time (~2k hrs per saint) and exceptional craftsmanship are what drew me into seeing them in person this summer.</p>
<p>So, basically, catacomb saints are kinda like incorruptible saints, but with less skin and more bling.</p>
<h3 id="waldsassen-basilika">Waldsassen basilika</h3>
<p>The biggest collection of catacomb saints is located in Waldsassen, Germany. We drove in from Prague and were headed to Berlin, so getting there was very straightforward. For the record, relics are scattered all over Germany, Austria and Switzerland, though some of them are in small churches in the middle of nowhere, and reaching them with the <strong>overrated</strong> (Tesla) car would have been way too much of a challenge. We were on a very tight schedule and already lost an unplanned day in travel, so our bets were on Waldsassen abbey first with others on our way back home if time allows it. Spoiler - it didn’t.</p>
<p>Waldsassen is a bit unassuming - it’s traditionally Bavarian and does not offer much apart from the basilica and old library, so we drove there right away.</p>
<h3 id="basilika">Basilika</h3>
<p>Built in the early 18th century, the interior is in typical high baroque style - everything is huge, opulent and awe inspiring. Intricate hand carved wood work line walls end to end, with life size statues of saints looming over it. Every inch of the ceiling was ornate and covered with frescos, the biggest of all right above the basilica entrance.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/wood_relief.jpg" alt="wood_relief" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/ceiling_fresco.jpg" alt="ceiling_fresco" /></p>
<p>Apart from katakombenheiligen, Waldsassen Abbey houses one more relic - a very old statue of Jesus commonly called the savior without arms. It’s rather small and perched on top of a simple stand at around eye height. Both hands were broken by a soldier a long time ago, and many pilgrims see it as a sign of compassion and forgiveness.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/jesus_of_compassion.jpg" alt="jesus" /></p>
<p>The titular skeletons are kept in gilded aquarium looking boxes that are embedded into each side wall, with a couple more in standing positions right above the main altar.</p>
<p>Friend, they had a common pattern for almost all relics - skeletons were assembled in reclining positions, dressed in high end gold and silver woven Roman style garments and often featured silk fabric around the bones and sometimes the entire head. The arrangement and amount of bling was based on church status, with this particular one having some of the most over the top decorations of all ~100ish remaining relics.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/saint_2.jpg" alt="saint_2" /></p>
<p>Other common traits include vials of their own dehydrated blood - used as a symbol and proof of their martyrship, as well as assorted window dressing items such as books, laurel twigs and what not. One skeleton even has a sword, check this out!</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/saint_sword.jpg" alt="saint_sword" /></p>
<h3 id="library">Library</h3>
<p>Sadly, we were not able to see the interior of the library during our visit, as it’s closed for visitors on Mondays and you guessed which day we ended up visiting Waldsassen. Regardless, it was built alongside the basilica, but finished much later. Currently maintained by nuns, just like the basilica, cloister and accompanying hotel/restaurant.</p>
<p>It features much the same level of lavishness and woodwork, but the theme is different. No Gucci skeletons this time, but rather ten life sized wooden statues representing people in professions related to books - book binders, butchers (leather was heavily used in the industry back then), and scribes - all hunched over by the laborious task that binds them together; pun intended again!</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/catacomb_saints/library.jpeg" alt="library" /></p>
<p>That’s mostly a wrap on the topic. Would love to go see some of the other remaining katakombenheiligen some day, but touring several would take a lot more planning and preparation. And less Tesla, ha!</p>Ivo Mavrodinovivo@mavrodinov.meGucci from the cryptBird Poop & Watch Straps2021-10-04T00:00:00+00:002021-10-04T00:00:00+00:00http://mavrodinov.me/watch-straps<p>I’m gonna keep it real here - the abandoned essence of this blog post is dated mid April, and here I am sitting at the local cafe during my flopped a-day-late-and-it’s-alamost-October ‘summer’ staycation trying to sweep my laziness and procrastination under the faded carpet that I currently call my life. The seemingly infinite amalgam of responsibilities, ideas, and errands below it growing beyond the measurements of modern day physics with every passing day.</p>
<p>So, TL;DR: yes, this will be a short project post, though the actual of it would be shoved below several paragraphs explaining why I’m still being held hostage creatively all those months.</p>
<h3 id="still-on-the-struggle-bus-with-easy-st-nowhere-in-sight">Still on the struggle bus with Easy St. nowhere in sight</h3>
<p>Friend, you know how sometimes you’re just minding your own business doing whatever when it hits you out of nowhere - time is passing by, we’re all visitors here, and the sudden realization of not having achieved anything major over the passing year is just crippling.</p>
<p>I have a somewhat valid excuse here - in between getting a surgery rescheduled several times (oncology, my life long arch enemy), being super busy at work and trying to take it easy, the liveliness of my mind has been a scarce resource that’s not getting renewed as fast as it used to.</p>
<p>Guess everyone is entitled to their own existential crisis every now and then - a sign of the (Covid) times.</p>
<h3 id="too-much-work-man">Too much work, man</h3>
<p>Work has been going mostly good, though rather busy. That’s probably the norm for hyper fast startups. And I got used to it - keeps you on the edge, so it’s harder to slip into doing mundane tasks every day. Speaking of tasks, I’m not spending a lot of time testing right now. And I’m not really coding that much either. Rather, I’m shifting focus towards an overseeing/advisory role for all teams in my tribe going forward. A quality advocate if you will.</p>
<h3 id="live-a-little-love-a-not">Live a little, love a not</h3>
<p>The massive decrease in events, gigs, conferences, and workshops brought to us by Covid has made me somewhat desensitized to almost everything in sight right now. Things just kind of happen while I’m watching silently from the passenger seat while we’re trucking down 2021 highway, contemplating whether the next road would be less bumpy.</p>
<p>I managed to rush a rather long business trip last month which was quite refreshing given how well Prague has been dealing with the pandemic. Even though it was packed with meetings, workshops and get togethers with my remote team, the few galleries and exhibitions on the side did not bring any lasting joy, so things relapsed as soon as I boarded off my return flight.</p>
<p>But I’m actually cool with that whole deal right now, really. Shallowness can be a convenient excuse to not really care much about the present and regenerate your mental self in preparation for better times.</p>
<h3 id="a-sizzle-reel-of-small-joys-and-pleasant-distractions">A sizzle reel of small joys and pleasant distractions:</h3>
<p>Mopey stuff aside, here’s a short curated list of things I actually liked in 2021 - all highly recommended:</p>
<p>I enjoyed <a href="https://zanias.bandcamp.com/album/into-the-all">an album</a>. Zoe delivered and I’m a couple of years late. Again.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/watch_straps/enjoyable_album.jpeg" alt="enjoyable_album" /></p>
<p>And <a href="https://qcodemedia.com/borrasca">this audio drama</a>. Quite gripping with an excellent cast.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/watch_straps/enjoyable_audiobook.jpg" alt="enjoyable_audiobook" /></p>
<p>And <a href="https://www.goodreads.com/book/show/54814676-crying-in-h-mart">this memoir</a>. It’s about grief and gluttony.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/watch_straps/enjoyable_book.jpeg" alt="enjoyable_book" /></p>
<p>And <a href="https://square-enix-games.com/neotwewy/en-us/">this game</a>. Very anime.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/watch_straps/enjoyable_game.jpg" alt="enjoyable_game" /></p>
<h3 id="end-of-rant-now-for-the-story">End of rant, now for the story</h3>
<p>Earlier this year, I went out to grab a bite in between the maelstrom of meetings that is a regular day working for a startup. Now, mind you, this was a few weeks after getting my gallbladder removed, so I still had to be faithful to diet №5, more commonly known as bread and prayers. I opted for whatever pastry with something minimal on top to give it some flavor and the miracle happened just as I was entering the coworking. I don’t recall what exactly I’ve sinned to piss Mother Nature off that much, but she sent one of her trusted zealots - a morbidly obese pigeon at me. Before I knew it, a Big Bertha sized crap flew my way and the epicenter of that aerial strike was my hand, with my watch taking most of the damage.</p>
<p>Cue the pigeon shit shot.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/watch_straps/bird_shit.jpg" alt="old_strap" /></p>
<p>Needless to say I had to throw the strap right away and figure out a usable replacement same day.</p>
<p>Here’s what I came up with after fiddling in Fusion for a bit and printing a couple of different prototype templates that same evening.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/watch_straps/strap.jpg" alt="new_strap" /></p>
<p>I opted for something very simple and more importantly - doable with the limited tools I had back in the day. Spoiler alert - I’m now fully decked out with the highest tier custom made Korean masterpieces right now, but more about them later.</p>
<p>In retrospect, basic style watch straps are really simple, even double faced leather designs. Been trying to make some more sophisticated ones and they require a lot more skill to actually look good.</p>
<p>That’s Il Ponte waxed veg tan leather with a rather thick 1mm Ritza thread. A bit too cowboy and chunky for my taste, but I really like how this one turned out, and I actually still wear it. Along with the dozen or so more I made later. Watch straps can be quite the rabbit hole.</p>
<p>Friend, sorry if this post read like a clickbait. Let’s meet again sometime in near future, and I’ll make it up with a better story.</p>
<p>Stay safe!</p>Ivo Mavrodinovivo@mavrodinov.meA benediction from Mother Nature and other assorted shit (pun intended)Been a While2020-11-08T00:00:00+00:002020-11-08T00:00:00+00:00http://mavrodinov.me/state-of-things<p>I’d like to preface this post by apologizing to the dozen or so people who are actually following along (yes, I have analytics and yes, I know who you are, thanks) for being radio silent all this time. Life got the better of me and it’s been quite the bumpy ride - been gone for a minute, now I’m back with the jump off!</p>
<p>So I figured I’d at least write a blog post to publicly shame myself into crawling out of the rabbit hole that has been 2020.</p>
<h3 id="a-ul-of-2020-life-impressions">A <ul> of 2020 life impressions</h3>
<ul>
<li>I’ve been mostly self isolating, and it started getting very annoying</li>
<li>we’ve been having anti government protests for 3 months</li>
<li>went to Prague for a business trip - great coffee and beer, food doesn’t impress me</li>
<li>Biden won</li>
<li>I lost 18 kilos</li>
<li>way behind my yearly reading challenge (5/20)</li>
<li>got a new job</li>
<li>bought a few pieces of exotic hardwood, but need to resaw them</li>
<li>got some high end Italian leather I’m currently working with (sneak peek for dessert)</li>
<li>therapy is way less awkward than expected</li>
<li>Covid is still a thing</li>
<li>there’s a definite correlation between lockdowns and the state of my credit card statements</li>
</ul>
<h3 id="creative-constipation">Creative constipation</h3>
<p>My absence has been one part maker’s block and another part just being awfully busy lately. With so little time to spare, there’s been barely any new projects seeing the light of day. Successful ones worth mentioning, that is.</p>
<p>I’ve been throwing new ideas into my scrap book every week or two, but they’d have to wait for a better time. Winter is generally a very low season for me, and with Covid getting much worse, it’s progressively harder to keep my tools sharp and spirit high.</p>
<h3 id="a-new-job">A new job</h3>
<p>On a far more positive note, I started a new job 6 months ago! It’s funny how we were going though meetings and interviews right in the middle of the pandemic and things just kind of happened very quickly.</p>
<p>Productboard in a nutshell:</p>
<ul>
<li>super fast paced startup action</li>
<li>no bullshit, no drama work environment</li>
<li>emailless (amen!)</li>
<li>amazing team of highly experienced colleagues</li>
<li>doing IT for a business centric company is an interesting combination</li>
</ul>
<h3 id="over-and-out">Over and out</h3>
<p>Sorry this post has been such a brain fart. Here, have a consolation prize:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/creative_constipation/airpods_case.jpg" alt="airpods_case" /></p>
<p>Just finished the first one of the bunch and have to say it came out much better than I expected. This is by far one of my most involving projects, and definitely most over engineered. I’ll tell you more about it in another post.</p>
<p>Until next time and stay safe! :v:</p>Ivo Mavrodinovivo@mavrodinov.mePost Covid state of thingsCOVID-19, 3D Printing, and You2020-05-20T00:00:00+00:002020-05-20T00:00:00+00:00http://mavrodinov.me/covid-face-shields<p>I’ve been self isolating for almost two months now. And yes, it really sucks. It’s both annoying and suspenseful - like a bad Black Mirror episode that just won’t end.</p>
<p>The whole COVID-19 situation took most of the world by storm, and Bulgaria was no exception. Even though the government put almost everything on lockdown, the first couple of weeks were pretty rough across the board.</p>
<p>Medical facilities initially had very limited supplies of personal protective equipment, with basic things like masks and gloves already in high demand.</p>
<p>And to add insult to injury, the national health organization has no immediate solution in the works. The official statement was that there are negotiating PPE with manufacturers, but it would take a couple of weeks before hospitals are supplied with gear.</p>
<p>We quickly spun up a pro bono initiative to provide medical front runners with 3D printed face shields.</p>
<p>What started as a one off thing turned into an assembly line of 100ish 3D printing geeks, pro bono enthusiasts, and companies willing to help out a good cause.</p>
<p>There’s a whole assortment of 3D models for face shields already, but we mainly use these two.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/covid_face_shields/face_shields_1.jpg" alt="face_shields_1" /></p>
<p>The first model is really easy to print and takes a few grams of filament, but we got feedback that the head bands are a bit too small and uncomfortable to wear for prolonged periods of time.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/covid_face_shields/face_shields_2.jpg" alt="face_shields_2" /></p>
<p>The second one is much wider and sturdier, and also has the plastic shield offset further from the face, so it doesn’t get in the way. It takes a lot longer to print, though, but it is possible to stack the model vertically, so multiple copies can be printed with no supervision/overnight.</p>
<p>Printing the frames is the starting point of the process. Once I have enough done, I’d send them over to the assembling crew for further processing. They’d add the front plastic piece, an elastic band, and ship them over to hospitals. Here’s a video showing the assembly process.</p>
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
<iframe src="https://www.youtube.com/embed/pP7z3iw76GA" frameborder="0" allowfullscreen=""></iframe>
</div>
<h3 id="support-your-local-community">Support your local community</h3>
<p>If you have a 3D printer, please pause your baby Groots and other random crap for a while. Face shield models are available <a href="https://www.prusaprinters.org/prints/25714-pomoznemocnicisk-protective-shield">here</a>, and your local community is most probably in need of extra equipment.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/covid_face_shields/delivered_face_shields.jpg" alt="delivered_face_shields" /></p>
<h3 id="resources-and-further-reading">Resources and further reading</h3>
<p>Prusa have been of huge help to Prague in helping fight the pandemic. Most of their printing farm is currently dedicated to making PPE exclusively, and they also assemble and ship everything from their facility. Very impressive and highly appreciated!</p>
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
<iframe src="https://www.youtube.com/embed/uTPJEBsElRw" frameborder="0" allowfullscreen=""></iframe>
</div>
<p>Until next time - stay safe, stay home and wash your hands!</p>Ivo Mavrodinovivo@mavrodinov.meGetting creative in a time of worldwide crisisThoughts On Cypress2020-03-04T00:00:00+00:002020-03-04T00:00:00+00:00http://mavrodinov.me/thoughts-on-cypress<p>I don’t usually blog about work. For the most part, there’s no need for that, really.</p>
<p>All of my full time jobs and consultancy gigs have ben under some sort of NDA, so by the time the restriction is lifted, sharing meaningful stories or experiences would make little sense.</p>
<p>Besides, there’s no point in trying to reinvent the wheel - there’s an abundance of well established QA resources out there: Ministry of Testing, 5blogs, all sorts of Medium channels to name a few.</p>
<p>So why reiterate theory, best practices, and random code snippets to just keep up with an idea.</p>
<p>However, I recently finished a test suite for a client using a relatively new testing framework, and wanted to share some general impressions after spending time with Cypress.</p>
<h1 id="cypress-in-a-nutshell">Cypress in a nutshell</h1>
<p>Cypress is a modern JS based testing framework that has received quite the popularity over the last year. Weekly www.npmjs.com stats show consistent download activity, and the project maintainers push regular updates along with fixes. In fact, they released version 4.1.0 a few days ago!</p>
<p>The framework comes bundled with almost everything you’d need, and initial configuration is already taken care of. Having everything wired up means you can have your first test up and running in just a few minutes.</p>
<h1 id="installation">Installation</h1>
<p>Assuming you have NPM, just <code class="language-plaintext highlighter-rouge">npm install cypress --save-dev</code> in your project folder to get the latest stable version. There’s also a standalone desktop app available on https://download.cypress.io/desktop if you just want to give the framework a try.</p>
<p>Installing Cypress as a dependency would ensure you won’t have issues opening it from within your project folder. I first tried the downloadable version on a different project, and it would not play nicely as a shared resource.</p>
<h1 id="whats-in-the-box">What’s in the box</h1>
<p>The biggest selling point of Cypress is that it’s an all in one packaged deal, and it already comes with the main testing components preconfigured and ready to use:</p>
<ul>
<li>test runner GUI (it’s Electron based, but doesn’t suck)</li>
<li>CLI (automatically fires tests in headless mode)</li>
<li>browser (Chrome, but support for others is on the way)</li>
<li>framework support (Mocha)</li>
<li>assertion support (Chai)</li>
</ul>
<h1 id="what-it-looks-like---gui-and-cli">What it looks like - GUI and CLI</h1>
<p>The GUI of Cypress looks something like this:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/cypress/cypress_ui.png" alt="cypress_ui" /></p>
<p>The left hand side shows all of the specs queued up, and you get nice color coded updates while tests are being ran. The toolbar on top is self explanatory, and it also includes an interactive selector you can use to locate elements more easily. Cypress also takes a snapshot of the DOM at every step, so you can rewind tests back to any previous state. Neat!</p>
<p>The rest of the window houses a full Chrome browser you can inspect and play around with. An interesting thing I noticed is that Chrome doesn’t fully quit in between tests, so setups and teardowns take almost no time.</p>
<p><code class="language-plaintext highlighter-rouge">npx cypress run</code> starts Cypress from the command line in headless mode - no extra configuration needed. Tests would run as expected, and all relevant results shown shown in console output. Failures would automatically generate screnshots and videos, but make sure to <code class="language-plaintext highlighter-rouge">.gitignore</code> them before pushing to a remote branch.</p>
<h1 id="dsl">DSL</h1>
<p>The Cypress object <code class="language-plaintext highlighter-rouge">cy</code> is the heart of every test. You mostly interact with it to have tests load a url <code class="language-plaintext highlighter-rouge">cy.visit(url)</code>, get elements <code class="language-plaintext highlighter-rouge">cy.get(selector)</code>, as well as all of the page interactions you can think of - <code class="language-plaintext highlighter-rouge">cy.type(val)</code>, <code class="language-plaintext highlighter-rouge">cy.type({enter})</code>, <code class="language-plaintext highlighter-rouge">cy.click()</code>, <code class="language-plaintext highlighter-rouge">cy.check()</code>, <code class="language-plaintext highlighter-rouge">cy.invoke('val', valAmount).trigger('input')</code> (this moves sliders) - you get the idea.</p>
<p>A full list of all supported commands can be found on <a href="https://docs.cypress.io/api/commands/type.html#Syntax">the official guide</a>, and <a href="https://github.com/cypress-io/cypress-example-recipes">this repo</a> has enough example tests to get you through most of the common cases.</p>
<p>As for assertions, Cypress supports Chai matchers, so you can append things like <code class="language-plaintext highlighter-rouge">.should('have.text', 'foo')</code>, <code class="language-plaintext highlighter-rouge">.should('have.class', '-approved')</code>, <code class="language-plaintext highlighter-rouge">expect($el).to.be.visible</code>, <code class="language-plaintext highlighter-rouge">.to.be.selcted</code> to anything you’ve selected or yielded. Official cheat sheet <a href="https://docs.cypress.io/guides/references/assertions.html">here</a>.</p>
<h1 id="a-few-gotchas">A few gotchas</h1>
<p>The team behind Cypress has drastic measures to some of the common testing areas.</p>
<p>Based on this <a href="https://docs.cypress.io/guides/references/best-practices.html">best practices guide</a>, they advise avoiding scenarios such as front end user logins, using conditionals, and small modular tests to name a few.</p>
<h3 id="page-objects-vs-actions">Page objects vs actions</h3>
<p>Cypress philosophy suggests to not rely on old automation models such as page objects and personas.</p>
<p>In short, the page object approach aims to structure test code by segmenting it into classes that follow the outline of your application.</p>
<p>Instead of having long and bulky test scripts, you’d have an assortment of slimmed classes that only know about the areas of the app they’re delegated to interact with.</p>
<p>Cypress takes a more flexible approach by using actions - small, shared functions that group interactions based on what they do, not which part of the app they can work on.</p>
<script src="https://gist.github.com/b81f4f90871caa3bd027fceea0493961.js"> </script>
<p>Say you’re testing an online shop. Using the snippet above lets you call <code class="language-plaintext highlighter-rouge">cy.clearOrder()</code> at any point and from any test - <code class="language-plaintext highlighter-rouge">commands.js</code> is automatically imported into every spec file.</p>
<p>NB: You can roll as many custom commands as you’d like, but using <code class="language-plaintext highlighter-rouge">Cypress.Commands.add</code> expects your code to bind to the main <code class="language-plaintext highlighter-rouge">cy</code> object. Other helper functions can be added using separate helper files, then imported wherever necessary.</p>
<h3 id="mocking-and-stubbing">Mocking and stubbing</h3>
<p>Cypress provides you with <code class="language-plaintext highlighter-rouge">cy.server()</code> and <code class="language-plaintext highlighter-rouge">cy.route()</code> functions that allow for control and manipulation of network traffic, so you can stub, route, and cheat your way through certain setups.</p>
<p>Moreover, there is a very handy library for VCR-ing external API dependencies called <a href="https://www.npmjs.com/package/cypress-autorecord">cypress-autorecord</a>.
The repo goes into more setup details, but it’s as simple as installing the plugin, pasting a few configuration lines in <code class="language-plaintext highlighter-rouge">index.js</code>, and calling <code class="language-plaintext highlighter-rouge">autoRecord();</code> in spec files.</p>
<p>Auto record is not perfect and I did bump into a major issue with it, but managed to fix it relatively quickly. Apparently, because of the way it’s implemented, auto recording multiple tests that all try to load the same URL throws an exception. But regardless of that, I managed to stub all external network traffic and reduce test execution time thre fold in half an hour.</p>
<h3 id="asserting-async-values">Asserting async values</h3>
<p>Another interesting hurdle we had to overcome for the project under test related to core values returned to the front end. Some of them required multiple calculations, so they’d initially be rendered and then updated with their final values. This was getting progressively hard to track down, mainly because of the single page nature of the app. It was very hard to pinpoint why trickling updates were happening, and it all seemed very random, leading me to assume delayed API communication.</p>
<p>This proved hard for Cypress to assert, because it would pick the initial value and not seeing the final one show a bit later, automatically fail the whole test.</p>
<p>My initial take on this was to to try and throttle every action, so there’s ample time for back end communication to catch up. Well, this mostly did the trick, except for the fact that tests would take double the time to run. Two minutes to run the whole test suite might not sound a lot for Ruby or Python stacks, but Cypress should be able to handle everything much faster.</p>
<script src="https://gist.github.com/a0a2b0847672a82bf4d95fbe9a85da47.js"> </script>
<p>The second solution was much more simple and was achieved by bumping the default command timeout value like so:</p>
<script src="https://gist.github.com/d1237ec6ec83b4c6fb6d0a24bf29f987.js"> </script>
<p>After digging through documentation, I noticed that Cypress is designed in a way that would not automatically fail a test if it’s unable to find an element or assert a value. Instead, it would wait for the full timeout duration to pass first. Doubling default wait time served as a great remedy - if server communication doesn’t slow calculations down, tests run just as fast. If the app takes more time to return the final calculated values, Cypress would wait for a few more seconds, pick the updated value, pass the test, then move on.</p>
<h1 id="closing-thoughts">Closing thoughts</h1>
<p>A core philosophy of Cypress is that testing frameworks should be engaging and easy to work with, so they can be utilized by both developers and testers. Well, they certainly succeeded in doing so. Cypress is easy to set up, easy to pick up even with little programming knowledge. It also takes a lot of the setup burden away, so you can spend more time coding and less time configuring.</p>
<p>While reading up on the framework, I found a cool introductory video featuring two of my all time favorite people - Angie Jones and Jason Lengstorf. I’ve met with both of them separately at conferences, and watching them pair on tests was a delight. Enjoy!</p>
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
<iframe src="https://www.youtube.com/embed/NPnCz-hVQ-s" frameborder="0" allowfullscreen=""></iframe>
</div>Ivo Mavrodinovivo@mavrodinov.meReliable E2E testingAdditive Days2020-02-28T00:00:00+00:002020-02-28T00:00:00+00:00http://mavrodinov.me/additive-days<p>I had the pleasure of attending <a href="https://additivedays.com">Additive Days 2020</a> last week, and wanted to share a few details about the conference while it’s still fresh in my mind.</p>
<p>That’s a three day event bringing together professionals of different business fields who all share the common interest of incorporating 3D printing technologies in one way or another.</p>
<p>Kudos to team <a href="http://b2n.bg">B2N</a>, the main organizer of the event - that’s the biggest and most influential additive manufacturing company in my part of the world, and they’re also distributors of some of the big name manufacturers like Ultimaker, Formlabs, and Raise 3D.</p>
<p>Sadly, missing the event newsletter meant I was only able to fit the first conference day into my schedule.</p>
<p>Be that as it may, here are some thoughts and impressions of the first day: talks, exhibition area, vendors, new friends, old friends - all that jazz.</p>
<h1 id="exhibition">Exhibition</h1>
<p>The exhibition room was fairly small, but well packed with several collections and a few standalone pieces. It was situated right next to the conference area, so I was able to visit a few times in between talks.</p>
<h2 id="a-dark-tour-of-the-universe">A Dark Tour of the Universe</h2>
<p>First up they had a project led by Chris Harrison that incorporates 3D printing, high resolution space observatory images, and trippy space music mixed by James Reevell.</p>
<p>The collection offers an interesting tactile and auditory journey that can also be experienced by people who are visually impaired.</p>
<p>Here are a couple of the displayed models. They were fairly small, so to get a high enough print resolution, they were probably printed in SLS.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/galaxy.jpg" alt="galaxy" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/comet.jpg" alt="comet" /></p>
<p>Further information about the project can be found <a href="https://www.eso.org/public/announcements/ann19045/">here</a>.</p>
<h2 id="lovely-trash-the-grown-column">Lovely Trash The Grown Column</h2>
<p>UK based Blast Studio brought their <a href="https://www.kickstarter.com/projects/1755959093/lovely-trash/posts/2660038">Kickstarter baby</a>, and it basically looks like this:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/lovely_trash.jpg" alt="lovely_trash" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/lovely_trash_top.jpg" alt="lovely_trash_top" /></p>
<p>An interesting sustainability project that incorporates 3D printing, upcycling, and mycelia. In short, the team sourced used coffee cups from local cafes, turned them to pulp, and extruded them using syringe based printers (the same type of machine used for ceramics). Models were then introduced to a mycelium rich environment and finally baked after the fungus was well established within the model.</p>
<p>The vase looked quirky, smelled funky, and was surprisingly durable!</p>
<p>More about Blast Studio and their bio design furniture <a href="https://www.blast-studio.com">here</a>.</p>
<h2 id="banyan-wall--bigrep">BANYAN Wall | BigRep</h2>
<p>BigRep had quite the first day presence with several exhibitions, a conference talk, and the largest vendor booth (more on that later).</p>
<p>This piece was part aesthetic and part functional, but more importantly - huge.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/banyan_wall.jpg" alt="banyan_wall" /></p>
<p>The wall was around 3x2 meters and consisted of modular interlocking pieces printed out of recycled PET. The whole assembly had an internal system of sprinklers, allowing rain water to reach each of the plants. This type of shape suggests generative design for the exterior, but the water feature and modular connectors were probably added separately.</p>
<p><a href="https://bigrep.com/posts/banyan-eco-wall/">This post</a> goes into more details about the eco wall.</p>
<h2 id="bigreps-fancy-futuristic-car-concept">BigRep’s fancy futuristic car concept</h2>
<p>Honestly, I’m not really fond of this model - it kinda looks like the lead designer of Fisher Price was given a project to reimagine the Batmobile and this is what came out of the hackathon.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/car.jpg" alt="car" /></p>
<p>The car is fully 3D printed, though not functional in its current iteration. BigRep’s concept behind this project is to push the boundaries of additive manufacturing to brainstorm and experiment with the idea of small modular cars.</p>
<p>In a nutshell, modular cars can provide a last mile transportation based on your personal needs. Traveling alone from the airport with a big suitcase - get a single seat ride with a spacious trunk. Need to drive the kids to school - swap the trunk for extra seats.</p>
<p>Pretty cool concept, but it’s basically just that for now - a concept. The team behind it has big ideas, though, so I wouldn’t be surprised to see them partner with an actual automotive company to make a functioning car.</p>
<p>What excited me the most for this project is that it was completed in less than two months!</p>
<p>BigRep’s announcement blog post about Loci is <a href="https://bigrep.com/posts/loci-podcar-fully-3d-printed-last-mile-transportation/">here</a>.</p>
<h2 id="a-construction-crane-designed-to-3d-print-houses">A construction crane designed to 3D print houses</h2>
<p>WASP’s Tecla Habitat project aims to provide the technology needed to build sustainable ad hoc housing using locally sourced recyclable materials. The first usable prototype is expected near Bologna later this year, though their 3D printing cranes are already in production.</p>
<p>More information about the company and their innovative building project <a href="https://www.3dwasp.com/en/3d-printer-house-crane-wasp/">here</a>.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/wasp_habitat.jpg" alt="wasp_habitat" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/wasp_habitat_2.jpg" alt="wasp_habitat_2" /></p>
<h2 id="the-new-multi-everything-machine-from-stratasys">The new multi-everything machine from Stratasys</h2>
<p>I almost missed this dinky model of what appeared to be a perfume bottle made on the new multi-material, multi-color, and multi-secretive high end industrial printer that Stratasys boringly named J850.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/exhibition/perfume_bottle.jpg" alt="perfume_bottle" /></p>
<p>The technology behind it is not well known, but the model felt smooth to the touch, perfectly transparent, and had full color details on the inside.</p>
<p>I’ll give them credit for figuring out a way to eliminate refraction from additive manufacturing, because that’s basically impossible for FFF and very hard to achieve for DLP/SLA printers.</p>
<p>Looks cute and all, but that’s about it.</p>
<h1 id="conference-area---one-track-back-to-back">Conference area - one track, back to back</h1>
<p>I’m a really big fan of single track conferences - you’re given the option to attend all talks without having to pick and choose the top ones.</p>
<p>That being said, the only negative about Additive Days was that all talks were back to back with no breaks in between, with just one lunch break forced in the middle.</p>
<p>My top three talks from three completely different fields:</p>
<h2 id="implanting-3d-printed-ribs---blood-and-guts-edition">Implanting 3D printed ribs - blood and guts edition</h2>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/talks/prof_minchev_1.jpg" alt="prof_minchev_1" /></p>
<p>Associate professor Tsvetan Minchev, MD gave an overly detailed walkthrough of how 3D printed implants are prepared, printed, and used in modern surgery procedures.</p>
<p>Now, he did preface that there would be some blood involved, but I honestly didn’t expect a five minute video showing the whole procedure in action.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/talks/prof_minchev_2.jpg" alt="prof_minchev_2" /></p>
<p>Prior to surgery, the ‘bad rib’ was scanned and the scan model cleaned up and prepared for printing. They used <a href="https://taulman3d.com/680-features.html">Taulman 680 co-polymer nylon</a> to make a dozen copies and had them sterilized and ready to go. Bio chemical examinations showed that the material can be fully sterilized, and would not cause adverse reactions for the patient.</p>
<p>Following the extraction of the ‘bad rib’, the printed one was cut in the exact same shape, then affixed back to the rib cage. Because nylon is very tough to cut and shape, having spare copies on hand was a must. All of the cutting, sanding, and fitting was done mid surgery, with the whole procedure taking 8 hours start to finish.</p>
<p>A similar approach to printing implants was taken in Spain recently, with the implant printed in titanium by an Australian company who exclusively specializes in the field of medial research.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/talks/prof_minchev_3.jpg" alt="prof_minchev_3" /></p>
<h3 id="nera-e-bike">Nera e-bike</h3>
<p>BigRep’s Vanessa Findling had a highlight reel of the company’s top projects, but I’ll just the e-bike real quick.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/talks/nera_e_bike.jpg" alt="nera_e_bike" /></p>
<p>Nera is a fully 3D printed electric bike fully fit with all the bells and whistles you’d expect.</p>
<p>The bike is designed in such a way that it only consists of 15 separate printed parts - airless tires included, and can reach speeds of 150 km/h. That sounds a bit too much for a bike of such low mass, but I guess the overall weight of the chassis doesn’t impede the electric motor as much as a fully metal one would do.</p>
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
<iframe src="https://www.youtube.com/embed/s4p59wk_0R4" frameborder="0" allowfullscreen=""></iframe>
</div>
<p>BigRep’s full post about Nera <a href="https://bigrep.com/posts/deeper-look_into-the-fully-3d-printed-e-bike-nera/">here</a>.</p>
<h3 id="big-business-numbers">Big business numbers</h3>
<p>Dr. Matthias Hoeh talked about successful business models with 3D printing - how and at which point in the development process can additive manufacturing be used to speed up manufacturing.</p>
<p>There were lots of numbers flying off every slide and the whole talk was very businessy, so I’ll just leave you with the following two:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/talks/matthias_hoeh_1.jpg" alt="matthias_hoeh_1" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/talks/matthias_hoeh_2.jpg" alt="matthias_hoeh_2" /></p>
<h2 id="vendor-area">Vendor area</h2>
<h3 id="smartfablab">SmartFabLab</h3>
<p>My friends over at <a href="https://www.smartfablab.org">SmartFabLab</a> had a booth showcasing some of their recent projects along with a few new toys they’ve gotten recently.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/vendors/smartfablab_prototypes.jpg" alt="smartfablab_prototypes" /></p>
<p>They’ve been iterating over their air quality mask and taken a new approach that is easier to manufacture and test. The first couple of prototypes heavily relied on 3D printed polyurethane frames that proved cumbersome to properly model and print. The prototype I remembers was also very tech heavy, but that came at the cost of increased price, so the electronics side of things was also streamlined.</p>
<p>They also showcased their new Mayku FormBox. Vacuum forming machines are used to make surface copied shells of objects by heating a thin plastic sheet and vacuum pulling it down until the plastic cools down. It basically works like this:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/vendors/mayku_form_box.gif" alt="mayku_form_box" /></p>
<p>Although this type of manufacturing technique does not have the widest number of uses, it allows for exponential production of models with simpler/flatter shapes.</p>
<h3 id="solidfill">SolidFill</h3>
<p>I also met the folks behind <a href="https://solidfill.com/en/">SolidFill</a> - a high end CAD and additive manufacturing company in town. They’ve upgraded their machine portfolio with a couple machines and now offer metal and ceramic printing.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/vendors/ceramic_prints.jpg" alt="ceramic_prints" /></p>
<p>Ceramics have come a long way over the last few years. It’s no longer necessary to scale objects up, as advancement in this field has allowed new printing techniques that don’t shrink models while they are being cooled down. Ceramic prints are also much more durable now, and can withstand higher physical loads and mechanical wear. Further post processing allows glazing and polishing for better surface finish and wider applications, like dentistry and jewelry.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/vendors/metal_print.jpg" alt="metal_print" /></p>
<p>Apparently FFF metal printing is also a thing now. Most traditional metal printers work similar to SLS machines - that is, using powdered material which is selectively solidified using heat and/or lasers. The model above is also made out of metal power, but it is fed through a specialized extruder that solidifies it as it moves along. Although layer lines are clearly visible, they do not compromise the structural integrity of the model, so it is as strong as a cast one.</p>
<h3 id="bigrep">BigRep</h3>
<p>I knew the company specializes in large scale printers, but did not expect a machine that is actually taller than me!</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/additive_days/vendors/big_rep_printer.jpg" alt="big_rep_printer" /></p>
<p>The exact work volume is 1 meter cubed and the dual extruders can be fed up to 400mm/s with the default nozzle diameter of 1mm. Talk about impressive - that’s four times the speed of most desktop printers, and over twice the nozzle size. So even though BigRep is designed to produce very big models, build time is considerably reduced because of the difference in resolution and speed of printing.</p>
<p>No wonder they’re printing cars on bikes in their design lab. Definitely worthy of the hype and cost that comes with it.</p>
<h2 id="wrap-up">Wrap up</h2>
<p>I had a blast at Additive Days 2020. There were many takeaways from all talks attended, new people met, and familiar ones I haven’t seen in a while. Missing the second conference day was a bit unfortunate, but hopefully they’ll upload footage from the whole event soon.</p>
<p>See you again next year! :v:</p>Ivo Mavrodinovivo@mavrodinov.me3D printer galoreThe Box2019-12-10T00:00:00+00:002019-12-10T00:00:00+00:00http://mavrodinov.me/the-box<p>So, I went ahead and ordered one of those cheap CNC/laser engraver kits from Aliexpress a while ago and just got round to using it for the first time. Though my opinion on the CNC is still nowhere near final, I’m mostly satisfied with the output considering how low powered and inexpensive the whole rig is.</p>
<p>Here’s a quick birthday gift project that didn’t turn out half bad, especially given the very limited time and resources I had.</p>
<h3 id="on-milling">On milling</h3>
<p>Unlike 3D printers, CNC machines are used for subtractive manufacturing. That is, starting with a solid piece of stock such as wood or metal, and cutting it down into the desired shape.</p>
<p>Depending on the model, a part can be milled from one or more pieces of stock which are sometimes repositioned, flipped, or otherwise worked in multiple different processes using different milling tools.</p>
<p>CNC milling has been around the block way longer than 3D printing, though it hasn’t really been affordable until the last decade. Machines are either industrial sized, bulky and often requiring dedicated workshops, and/or just very expensive and requiring proprietary software to run.</p>
<p>The rising popularity of hobby 3D printers has certainly had a positive influence on the CNC scene, so there are now plenty of DIY kits, tutorials, and commercial products out there that’d get you into the hobby without breaking the bank.</p>
<p>Also, with no prior machining experience, I was mostly making this project up as I was going along.</p>
<h3 id="stock">Stock</h3>
<p>Getting high quality wood stock turned out much harder than I thought. Premium ones such as oak and walnut are actually endangered over here, so I had to settle for something more basic. Being pressed for time, I decided to use a piece of soft light wood I got from the local hardware store and see how far that takes me. The stock was big enough to mill a few pieces out of, and sufficient to finish the project if I didn’t mess things up too much.</p>
<h3 id="design">Design</h3>
<p>I didn’t really have a particular vision for this project - just wanted it to be a box because it would be easy to model and mill.</p>
<p>My stock was 3/4” (19mm) in height, but that wasn’t thick enough to make the whole box in one go. I also wanted to try and make most of the work on the CNC, so any cutting with hand or power tools was out of scope.</p>
<p>With that in mind, I whipped up a quick prototype in Fusion and sliced the box body in three equally thick pieces, with the intent of somehow joining them together using screws or glue.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/cad_box.jpg" alt="cad_box" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/cad_box_exploded.jpg" alt="cad_box_exploded" /></p>
<p>Upon closer inspection, it turned out that the stock was not a solid piece of wood, but instead a board made out of glued pieces. The face didn’t look too bad, but the sides were messy with wood grain running in every direction.</p>
<p>So, in a bind, I decided to flare the top and bottom edges of the box and have the middle (potentially misaligned) section covered with a strip of leather.</p>
<p>Spoiler alert - I managed to machine the outside in a way that this doesn’t show up, but the inside still had misaligned grain.</p>
<p>In hindsight, the overall proportions made the box look a bit like a sarcophagus, but I had to stick to this depth to avoid wasting too much time thinning stock.</p>
<h3 id="cam">CAM</h3>
<p>CAM was prepared in Fusion - it’s great to be able to switch between designing and machining all in one app, and most of the settings are automagically taken care of.</p>
<p>This box was fairly easy to mill - the middle ring section was basically a perimeter cut of the inside and outside outlines, though I left a few small tabs at the bottom of the stock to keep the cut piece from flying off the work table.</p>
<p>The box bottom was also an outline cut on the outside, though the inside was pocketed - half of the stock height was milled off to create a cavity.</p>
<p>The lid was basically the same deal, though I wanted the overall height to be much smaller, so I faced (thinned) half of the board before cutting it.</p>
<p>Magnets to the rescue once again, but this time I used rectangular ones to better match the design.</p>
<p>Fusion’s Manufacturing environment has a very extensive simulation mode that’s super handy for checking how parts would be machined later on. It can even detect possible issues such as tool collisions or incorrect process sequencing. My cuts were just simple outlines and I got them right the first time.</p>
<p>Here’s a little snippet showing the inner perimeter cut:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/cam_simulation_1.gif" alt="cam_simulation_1" /></p>
<p>And the outer one:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/cam_simulation_2.gif" alt="cam_simulation_2" /></p>
<h3 id="assembly">Assembly</h3>
<p>Putting everything together was very simple - I just epoxied the three box pieces together and set them aside to dry for a couple of hours.</p>
<p>The lid was mostly good to go - just some light sanding before glueing the magnets in.</p>
<p>Once the epoxy settled, I measured the circumference of the middle area and cut a strip of leather to fit. Also added some stitching along the leather for good measure and tied both ends together. The flare was designed with the leather thickness in mind, so all sides were perfectly flush after assembly.</p>
<p>Sadly, I didn’t get any footage of the end result, so all of the photos are before or in between the two coats of acrylic finish, still showing areas where the wood grain got fuzzy.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/wip.jpg" alt="wip" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/box_lid.jpg" alt="box_lid" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/box_side.png" alt="box_side" /></p>
<h3 id="engraving">Engraving</h3>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/laser_engraving.jpg" alt="laser_engraving" /></p>
<p>There were no wood leftovers after milling, so I was really nervous to do any engraving at first. However, the box was already looking very Mother Nature-y so far, and I really wanted to engrave something on the lid as a finishing touch.</p>
<p>My strategy was to hook up the laser module and do a test run on scrap MDF to see if I can even pull off any kind of engraving, and then potentially do the lid if all went well.</p>
<p>5.5 Watts might not sound like a lot of power, but is enough for a laser diode to burn through paper, wood, and retinas. Safety first - I got my laser shielding googles on, opened all windows, and kept anything reflective away from the machine.</p>
<p>Switching modes is as simple as unplugging the spindle motor and dropping in the laser in its place. Focusing, on the other hand, was tricky because the beam has to be set just right to work. Easier said than done - keeping the beam on at one spot for more than a few seconds started a small fire on the MDF board, but I eventually managed to focus it.</p>
<p>Fortunately for the software side of things, <a href="https://lightburnsoftware.com">LightBurn</a> made most of the setup fairly simple, so I blasted a couple of test pieces to get the hang of it.</p>
<p>The lid had a couple of wood knags that were best avoided, so the final engraving was not centered on purpose.</p>
<p>Engraving the beetle took around 40 minutes for two passes side by side at 60% PWM laser power at fairly low speed. All cuts turned out very sharp with no residual burns or scarring around the lines.</p>
<h3 id="wrap-up">Wrap up</h3>
<p>Overall, I’m mostly happy with how the box turned out. It’s definitely not perfect, but the leather banding concealed most of the errors. For my next box, I’d definitely find better hardwood and use thick enough stock to avoid dealing with end grain matching.</p>
<p>Doing some more engraving wouldn’t hurt either - it’s not as complicated as I initially expected, and this particular laser module gives great results at lower speed.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/box_isometric.png" alt="box_isometric" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/finished_box_2.jpg" alt="finished_box_2" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/the_box/finished_box_3.jpg" alt="finished_box_3" /></p>
<p>Until next time!</p>Ivo Mavrodinovivo@mavrodinov.meCNC deep diveRails Girls 13 - Moving to Org Team2019-10-25T00:00:00+00:002019-10-25T00:00:00+00:00http://mavrodinov.me/rails-girls-13<h3 id="the-event">The event</h3>
<p>You know the drill - I’ve been involved with Rails Girls for the last couple of years, and the 13th edition of the event was no exception. I won’t go over the details of what and how things happen - just check out my previous meaty post <a href="http://mavrodinov.me/rails-girls-11/">here</a>.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/hello_rg.png" alt="hello_rg" /></p>
<h3 id="moving-to-org-team-sort-of">Moving to org team, sort of</h3>
<p>That being said, we did a bit of a switcheroo this time, and I moved from an instructor role to more of an organizational assistant with some spice on the side. Rails Girls 13 was planned to be on a slightly smaller scale than the previous editions (80 attendees and 40 instructors instead of the old 100/50 split).</p>
<p>So, with less of a push for getting instructors to join in, I was free to think of something fun to do. They already had a talk slot planned for me, but I thought of going the extra mile and wanted to do some design and printing before and during the event.</p>
<h3 id="the-deal">The deal</h3>
<p>Along with the rest of the team, we agreed on a few things for Rails Girls 13:</p>
<ul>
<li>I was to do a short presentation on the topic of my choice right before the lunch break. Ended up doing a talk called Lessons Learned from Learning to Learn New Things, and I’ll probably talk about it in a separate post.</li>
<li>they wanted me to come up with something cool and practical to print beforehand and then give away as prizes</li>
<li>I also wanted to design and print something for the actual event, or more like the event series as a whole</li>
<li>there was going to be an extra ongoing 3D design and printing demo area with some Q&A for whoever was interested in the field</li>
<li>if things were to go south (instructors don’t show up, or we have more attendees than planned), I should be flexible and jump in during the workshop</li>
</ul>
<h3 id="design-and-print-stuff-for-attendees">Design and print stuff for attendees</h3>
<p>Our initial idea was for me to design and print event badges for everyone. On second thought, that seemed like overkill, mainly because badges serve a one time purpose and would probably be discarded or shoved in a box of useless things, never to be used again.</p>
<p>So we went a more practical route and agreed on bookmarks! They’re relatively small, easy to print, and actually serve a useful purpose. Here is what I came up with - just a clean basic bookmark shape with a logo and some text on top. There isn’t anything crazy innovative about it, but I do like the way the middle section connects to the main body/bottom of the ruby shape. Had it been one solid flat shape across the width, continuous flex and friction caused by the bookmark getting clipped to a book would have broken or warped the plastic flap in no time. However, with most of the material cut in favor of the ruby shape, that section is much stronger and also reinforced by the top bevel outline.</p>
<p>Here’s a render of the design, and a set of 30 bookmarks done in three batches:</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/rg_bookmark_prototype.png" alt="rg_bookmark_prototype" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/rg_bookmarks_finished.jpg" alt="printed_bookmarks" /></p>
<h3 id="the-event-piece">The event piece</h3>
<p>With the bookmarks done in a couple of days, I moved on to designing a piece for the event series.</p>
<p>That had to be something universal that anyone could use, representative of Rails Girls, and also carry over to future editions of Rails Girls.</p>
<p>Thirty seconds of rapid brainstorming nonsense:</p>
<p>What do people do when going to large events - take lots of photos.</p>
<p>What kind of photos - usually selfies.</p>
<p>How can we have the name of the event incorporated into selfies - with a large sign of some sort.</p>
<p>Can we make a promotional sign for Rails Girls - we sure can!</p>
<p>Here’s the final design - the front piece is just 800 micron thin, as I was really low on red filament and had no time to get another roll. That wasn’t going to last much without reinforcement, so a back brace was necessary to keep the label from warping and breaking.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/rg_sign_front.png" alt="rg_sign_front" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/rg_sign_back.png" alt="rg_sign_back" /></p>
<p>The front piece also has a diamond shaped slot for an additional small piece that’s fitted in. And that piece, in turn, has a V shaped slot on top that holds the number label - just a tight friction fit, so no glue was needed.</p>
<p>This way, we can keep reusing the main piece and only print out numbered labels for future events going forward.</p>
<p>Sadly, I don’t have any better footage of the finished piece, but hopefully there should be some better ones after event footage is out.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/finished_rg_sign_front.jpg" alt="finished_rg_sign_front" /></p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/finished_rg_sign_back.jpg" alt="finished_rg_sign_back" /></p>
<p><strong>Technical sidenote:</strong></p>
<p>You might notice that the top red layer on the front side has a few areas where the layering looks messed up. By some stretch of a miracle, I was in my workshop and around the printer while it happened. It turned out that the wiring going from the control box to the extruder assembly on my larger printer started coming loose when the print head moved all the way to the left. So, with the plug loose, the print head was not receiving enough power to keep the temperature stable, resulting in a few spots where the plastic is not properly melted and squished to the rest of the layer. I managed to hotfix this by wrapping the whole cable bunch to the X axis carriage with a zip tie, and will deal with the issue more permanently later.</p>
<h3 id="demo-corner-area">Demo corner area</h3>
<p>I was on the struggle bus all morning trying to get my Prusa up and running. That’s the ‘spare’ printer I keep at the coworking place and lug around at events and what not. Poor thing has thousands of hours of up time with almost no maintenance done - the print bed is sagging (making auto calibration difficult), the nozzle is halfway chewed up, and the X axis belt is starting to warp for some reason. But I managed to get the machine up and running after enough fiddling around, so people started flocking in to see what’s up.</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/rails_girls_13/rg_printing_demo_area.jpg" alt="rg_printing_demo_area" /></p>
<p>I was really surprised that a lot of the attendees had quite the knowledge about FDM printers, even in areas that go beyond most of the basics. We touched on rapid prototyping, sustainable printing, and the different types of machines used in various fields. Apart from the printer itself, I brought along a few rolls of different filament types, a box of various small projects done in the past, and my trusty copy of <a href="https://www.3dhubs.com/3d-printing-handbook/">The 3D Printing Handbook</a> - a must have for anyone in the industry.</p>
<h3 id="wrap-up">Wrap up</h3>
<p>Rails Girls 13 was a blast - we tried something new, had a productive and fun weekend, and everyone learned something new.
Am I going to try something different next time - maybe. Or maybe I’ll switch back to being an instructor, we’ll see next spring.</p>Ivo Mavrodinovivo@mavrodinov.mePlus a little 3D printed somethin' somethin'Makers Central Recap2019-05-18T00:00:00+00:002019-05-18T00:00:00+00:00http://mavrodinov.me/makers-central<h3 id="the-skinny">The skinny</h3>
<p>Makers Central is an annual two day event jam packed with everything DIY - woodworking, 3D printing, electronics, welding, blacksmithing, leatherworking. You name it, they had it.</p>
<p>The second edition of Makers Central happened a few months ago and this post is obviously a day late and a dollar short, but better late than never.</p>
<p>The event had been on my radar ever since I missed the previous one due to traveling elsewhere at that time. Organizers were not sure if they’d be able to pull off another one, but with enough sponsors and interest, word quickly spread and I went ahead and got myself a weekend ticket plus a return flight to the UK.</p>
<h3 id="birmingham-is-unimpressive">Birmingham is unimpressive</h3>
<p>I’ve never been a huge fan of the United Kingdom, mainly because of various sub-par experiences in the past.</p>
<p>Well, this time was no exception and the stars once again aligned in the constellation of Airport Drama.</p>
<p>After a delayed first flight, missed connecting flight, and a 20 Euro consolation voucher turned into two trays of junk food and unimaginable amount of coffee, I finally arrived at Birmingham airport shy past midnight on the day of the event.</p>
<p>Despite the fact that my lodging was basically in the city center, it felt like I was in a semi abandoned industrial suburb from a century ago.</p>
<p>At least they had some nice graffiti in the area - I’ll give them that!</p>
<p><img src="http://mavrodinov.me/assets/images/blog_media/makers_central/hotel_view.jpg" alt="hotel_view" /></p>
<h3 id="the-venue">The venue</h3>
<p>Makers Central was hosted in a huge venue hall just outside of Birmingham.</p>
<p>The main hall was segmented into several areas, with three dedicated stages, a number of maker/demo areas and several rows of vending booths. Everything ran on a mostly accurate schedule with only a couple of unpredicted last minute changes.</p>
<p>Here are some thoughts and impressions about each in no particular order.</p>
<h3 id="the-vending-area">The vending area</h3>
<p>The vending area occupied the front part of the venue hall and had several long rows of booths selling locally produced tools and materials.</p>
<p>A significant part of those specialized in epoxy/PP resins and they had all sorts of sizes, colors, and catalysts to fit any need.</p>
<p>Sadly, traveling with just carry on, I wasn’t able to get my hands of any epoxy, but I got some dry pearlescent pigments that might come in handy someday.</p>
<p>Tandy Leather had a jumbo sized shop/demo area with a great variety of leathers, tools, and hardware. Sadly, their exhibition pricing seemed double than normal, and I also didn’t want to risk buying tools only to have them confiscated at airport security. Again, that damn carry on plan was doing me no favors.</p>
<p>Pimoroni were also in the mix and I got to meet their traveling event crew again after seeing them at Maker Faire Berlin last year.</p>
<h3 id="the-exhibition-area">The exhibition area</h3>
<p>This part of the venue had all sorts of projects and props on display. They ranged from small hand made ceramic tea cups (with cheeky illustrations), avant-garde drawbots, all the way to huge things like robots and steel tesla pin wheels.</p>
<p>This thing was plopped down right in front of the event hall and apart from leaning menacingly, it didn’t really do much.</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/mantis_robot.jpg" alt="mantis_robot" /></p>
<p>Here we have a cheap home made 3D printer converted into a draw bot.</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/drawbot.jpg" alt="drawbot" /></p>
<p>There was also Henry - a cute looking thing that was somehow hacked into an automated water pipe organ. It actually sounded very nice and mostly true tone!</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/singing_robot.jpg" alt="singing_robot" /></p>
<p>A giant contraption made out of long metal pipes was perched up in the corner and the team behind it couldn’t quite explain it’s purpose. But it looked cool and generated lots of static around it.</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/metal_wheel.jpg" alt="metal_wheel" /></p>
<h3 id="panel-talks">Panel talks</h3>
<p>The crown jewel of Makers Central for me was the team of DIYers attending the event. All of the people mentioned below are a huge inspiration for me, so attending their talks and actually getting to meet them in person was a very humbling experience.</p>
<p>Some of the people I met in person were <a href="https://www.youtube.com/channel/UCRix1GJvSBNDpEFY561eSzw">Laura Kamph</a>, <a href="https://www.youtube.com/user/AprilWilkersonDIY">April Wilkerson</a>, Cristina from <a href="https://www.youtube.com/channel/UCETeXD_3awsQv-9rSdCYXQQ">Get Hands Dirty</a>, Bob from <a href="https://www.youtube.com/user/iliketomakestuffcom">I Like to Make Stuff</a> and the folks behind <a href="https://www.youtube.com/user/HomeMadeModern">Home Made Modern</a>. Sadly, Mike from <a href="https://www.youtube.com/channel/UCIxAaCJ84uefATKmazDyIjw">Modern Builds</a> got his flight cancelled and could not attend the event.</p>
<p>In any case, there were a dozen panel talks each day and their timings were loose enough for people to attend each without missing something else.</p>
<p>Most talks started with a somewhat loose topic and gradually turned into Q&A sessions. Summarizing all of them would be a bit too much, but here are some of my takeaways:</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/panel1.jpg" alt="panel1" /></p>
<h3 id="jessie-and-bob">Jessie and Bob</h3>
<p>Jessie is part of Home Made Modern. Her brother didn’t make it to the show, but she more than made up for his absence with some cool stories of how she switched to DIY from working in a library. She values the learning experience behind working with new tools and technologies rather than the end result (just like me), and always tries to have fun while she’s at it.</p>
<p>Bob’s side of the talk was mostly in the same ballpark, though he also strives to get his projects in more of a finished look. He also explained how many years of DIY build muscle memory, so trying out something new usually doesn’t start you from square one.</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/panel2.jpg" alt="panel2" /></p>
<h3 id="april">April</h3>
<p>April is a really welcoming and down to earth American country gal who got into DIY construction projects after getting her business management degree. Most of her projects are large scale - think home, yard, and farm constructions. Lots of hardwood and nails with a side of welding every now and then.</p>
<p>Apart from giving an overview how her DIY evolved into a profitable and sustainable business, she also emphasized on the importance of doing smaller/personal projects that are outside of your comfort zone.</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/panel3.jpg" alt="panel3" /></p>
<h3 id="laura">Laura</h3>
<p>Super fun and positive, Laura is a hipstery maker from Germany doing all sorts of crazy projects.</p>
<p>Unlike April’s videos, Laura doesn’t really give detailed information on the type and exact measurements of materials she’s working with. Rather, her presentations are a lot more abstract and usually show key points of the build process.</p>
<p>Laura talked a bit about the economy of being a modern day maker and how some of her recent projects have unfolded. A key takeaway I got from that talk is that she rarely does detailed sketching and planning before starting a new task. Instead, she’d spend less time planning and just figure things out along the way.</p>
<p>She even brought one of her recent (of many) bike project - a three wheeler/sidecar combo made out of aluminum beer kegs.</p>
<p><img src="http://mavrodinov.me/assets/images//blog_media/makers_central/laura_bike.jpg" alt="laura_bike" /></p>
<h3 id="met-my-favorite-makers-and-closing-thoughts">Met my (favorite) maker(s) and closing thoughts</h3>
<p>So, that about wraps up my overview of Makers Central. I met a ton of cool people, saw all sorts of whacky projects, tried my hand at blacksmithing and ice sculpting, and had the pleasure if meeting several people I really look up to.</p>
<p>Without further to do, here are a few shameless selfies I took with a bonus pic of <a href="https://www.youtube.com/channel/UCGWxzEB7hovU-moneGkYH4w">The Maker Monster</a>. Yes, he’s a normal person not a Yeti and yes, he looks like a regular guy.</p>
<p>If they’re doing Makers Central next year, I’m definitely going there with at least one empty suitcase and damn sure not connecting at Frankfur Airport!</p>
<figure class="third ">
<a href="/assets/images//blog_media/makers_central/april.jpg" title="selfie with April">
<img src="/assets/images//blog_media/makers_central/april.jpg" alt="selfie with April" />
</a>
<a href="/assets/images//blog_media/makers_central/laura.jpg" title="selfie with Laura">
<img src="/assets/images//blog_media/makers_central/laura.jpg" alt="selfie with Laura" />
</a>
<a href="/assets/images//blog_media/makers_central/get_hands_dirty.jpg" title="selfie with Cristina">
<img src="/assets/images//blog_media/makers_central/get_hands_dirty.jpg" alt="selfie with Cristina" />
</a>
<a href="/assets/images//blog_media/makers_central/the_maker_monster.jpg" title="maker monster">
<img src="/assets/images//blog_media/makers_central/the_maker_monster.jpg" alt="maker monster" />
</a>
<figcaption>shameless selfie time
</figcaption>
</figure>Ivo Mavrodinovivo@mavrodinov.meCan we say event of the year?