Wes Log

From Open Source Ecology
Jump to: navigation, search

Thursday, September 23, 2021

Feedback on 3D printer workshop

Participants:

  • No high level detail introduction to allow independent work within a "context setting"
  • 3D printed parts provided to build printers are low quality: causing mistakes, requiring reprints and unnecessary work, etc
  • Instructionals are not to the standard they need to be for self-direction. Marcin is a bottleneck. Inconsistent documentation formating and fragmentation between multiple documents.
  • Disorganized process/tools, not enough tools for everyone to have their own. Lots of time spent searching for parts and tools rather than building.
  • Standing still on concrete for long hours causes discomfort/fatigue. Sitting indoors makes more sense for a printer assembly.
  • Not enough regard for safety (Emmanuel requested an eye wash station after a piece of PLA flew into his eye, I was mildly electrocuted after touching a D3D printbed in HabLab)


Marcin:

  • Low retention of information, people don't remember measurements because they don't take notes. Questions are repeated frequently. Nobody opening/using documents on site.
  • Everyone needs more deliberate effort to succeed

Fri, September 17, 2021

HabLab's clay-slip walls 9 years after construction

Hablab-clay-slip.jpg

Wesley Barlow <sirwesleybarlow@gmail.com> 8:46 AM (1 hour ago) to Marcin, Catarina

Hey Marcin and Catarina, On the recent tour of your home I was very impressed by the CEB wall in your house! :) I was wondering if there is anything we can do to seal the walls in HabLab to make them similar to that. There is a lot of dirt falling off the walls onto the ground and into the air.

Is there any sealer on the farm we could apply to the mud plaster walls, or any process you would recommend?

Cheers

Marcin Jakubowski 8:52 AM (1 hour ago) to me, Catarina

Definitely. There are coatings that can be applied. There are many different ways that this could be done. We would have to research a satisfactory formula for our case- that can start with a google search.

Catarina Mota 9:45 AM (26 minutes ago) to Marcin, me

In our house I coated the CEB wall with a sandy slip (to close the cracks and make it smooth) and then sealed it with 2 coats of stone sealer. The Hablab already has a clay slip applied to the CEBs, so I don't know if this process would work.

CEBs are mainly used in the south (hot and dry) and their recipes for finishing the walls do not always work here (cold/hot and humid). In fact I tried many recipes and most ended up cracking and peeling. The sand slip + stone sealer was the first one that worked (after many experiments following other people's recipes). We also know that portland cement stucco works (either applied directly to the CEBs when wet or to mesh after the CEBs dry).

In the Hablab we'd probably have to pick a corner and run some tests.

Thur, September 16, 2021

What would developing open hardware would look like inside an environmental computer like Dynamicland?

More discussion with Paul Cuciureanu, this time about internal vs external social organization change via Organization Unbound. How can the day to day experience of OSE match more closely to the external change we wish to enact on the world? To me that would mean

  1. Reaching food and material sovereignty with local production
  2. Greater collaboration with external organizations/other open source hardware projects (particularly I like the idea of trips to meetups, conferences, or setting up infrastructure in remote areas such as islands, arctic, etc...)
  3. Solving for community governance and finances: things like allocating funding to projects via a DAO, considering how children/women can be involved (how do we create safe and playful systems). I am particularly interested in what an OSE campus located in a city would look like.

I would like to attempt using Liberating Structures in the future.

Wed, September 15, 2021

Wed, August 25, 2021

My development of Gui continues, I'm working on snapshot based generic undo/redo circular buffer operations. Sander was able to fix an assert triggered by taking snapshots within systems. Snapshots are still a complicated feature, and I need a deeper understanding of Flecs to work with them without crashing :)

This week I've mainly been busy writing a neural network in PyTorch and experimenting with visual web editors (I built websites with both webflow and Wix). Starting with the visual web system builders, although they are aesthetically pleasing, functionality like form submission and bespoke Javascript can be difficult. Similar to integrating GDScript and GDNative logic, there exists a large amount of friction: anything that is not supported by default is more difficult to do. The businesses building these systems also blatantly hide a lot of super basic functionality behind multiple sets of subscription paywalls, not cool. On the other hand they have very pleasant tutorials/education onboarding. I would recommend anyone wanting to build a website with a visual editor try using Odoo, I hope to have time to try this out at some point in the future to determine if it is an effective open source business platform.

On the neural net front, I built a dataset of pixel art from the web by writing multiple hacker-esque Python BeautifulSoup scripts. My model is called IsItPixelArt and it well... detects pixel art. I created the model because when scaling up or zooming in on images in Gui, I wanted to select between nearest neighbor and linear scaling algorithms automatically. I could not find any software or machine learning solution so I decided since I have the time to just go ahead and build it myself. It was pretty straightforward to code and train the neural network in PyTorch, the more complicated part has been dealing with abnormalities and edge cases in data (ie scaled pixel art, jpeg quality reduced pixel art), running batch training on large variable sized inputs (spoiler alert, my 2070 SUPER cannot allocate 8GB), even creating an appropriate non-pixel art dataset (for example if there are more pixel classifications than non-pixel the model will skew towards classifying everything as pixel art). Obviously there's many ways I could take this like detecting pixel mask zones of pixel art in images that contain subimages of pixel art or maybe classifying which console era a sprite most looks like it's from. However my plan is to focus on shipping something because I am trying my best to develop the skill of shipping things that people care about.

Minecraft corgi.png

In that regard, I'm planning to publish the model on Modelplace. It will not be gratis, but I'm hoping to make it open source if I can find a licensing/business strategy that makes sense. I am hopeful to generate enough income to sustain myself comfortably and provide financial autonomy, which I have come to value very highly.

One more thing, I've been looking into Roboflow as a potential platform for accelerated development and deployment of computer vision. They seem to be on the right track in terms of solving pain points and supporting open source collaboration. I continue to drown in data and it becomes increasingly clear to me every single day that better information processing systems must be deeply integrated in open hardware development for our movement to be successful. It is my recommendation that Open Source Ecology replace its camera infrastructure with OAK—D-PoEs in order to realize the synergies of computer vision and open hardware. A low hanging use case would be the automated generation of product documentation and build instructionals.

I would go so far as to say that without open source computer vision systems running on Factor E Farm, we are, quite literally, going into the future blind.

Wed, August 18, 2021

Continue development of Gui interface, implemented scaling of visual symbols. Additional updates to Flecs module visualization design. Study https://ourmachinery.com/ also recommend listening to https://www.youtube.com/watch?v=tas0O586t80

lapinozz: the future of open hardware is strong standards [11:15 PM] The more you standardize things the more you can build big things while reusing the same pieces [11:16 PM] imagine a big machine with thousands of of pieces but only 20 different kind [11:16 PM] makes repairing it easy [11:17 PM] I imagine if you wanted to make a base on mars or something you would want all the fittings to be compatible, use the same screw sizes as much as possible, keep the same ICs everywhere

Wesxdz 로봇 소녀를 가자 — Today at 11:18 PM the problem is degeneracy is up against multiple discovery and locality

lapinozz — Today at 11:18 PM I was thinking about that cuz I was at the scapyard today trying to find some parts

Wesxdz 로봇 소녀를 가자 — Today at 11:19 PM okay so there are some problems with degeneracy I've discovered here: 1. degeneracy variance makes thing unwieldy compared to bespoke solutions 2. scaling subparts (bigger or ˢᵐᵃˡˡᵉʳ) requires different materials, form, etc... Wesxdz 로봇 소녀를 가자 — Today at 11:41 PM and scaling really starts to matter once you're talking about layout of chips at nanometers or skyscrapers... maybe degeneracy is more doable if you start at the smallest scale with nano-sized parts though ie fractals


Fractal degeneracy.png

Wed, August 11, 2021

I've continued working on Gui. Completing some minimally functional UI. I've been learning https://www.gnu.org/software/emacs/ and studying design as well. I discovered that https://www.glfw.org/ does not support drag and drop OS file events as comprehensively as https://www.qt.io/ (drag enter/exit and formats like dragging browser links), which is unfortunate. I referenced https://tronche.com/gui/x/xlib/ to write events, but supporting more platforms and pushing upstream is a bit of a bother.

I noticed that Comma AI, PureRef, and Dolphin (KDE's file browser) all use Qt...

Gui simple ux.png

Tuesday, August 3, 2021

Gui gal 0.01.png

I added support for rendering animated gifs in Gui Gal today using http://giflib.sourceforge.net/gif_lib.html and writing my own implementations of the block extensions. It took quite a while to meet all the edge cases (ie transparent borders and back to prev disposal mode).

My logic behind working on Gui Gal in relation to open source hardware is that I believe to make notable progress we will require large amounts of information processing and automated systems. The internet is a gushing torrent of valuable information, but not being able to effectively filter and take actions based on that information is the defacto situation. I believe accelerating human decision cycles with AI is a cooperative advantage worth pursuing prior to hardware decentralization. It's clear to me that specialists outcompete generalists at most tasks in the physical realm today, but the virutal world is more welcoming to integrated thinking.

In some sense, we're already living in a timeless future brought about by machines. For example my CPU can reach over 4ghz while my car wheels sweat to spin at 2000 rpm.

Notes on building Gui Gal on my OSE Linux 2.0 Laptop: Took a long time to get all the deps and install SDL2 Need to call libgif make command from CMake Uncertain how to install SDL2 library from dep and apt error fetching libsdl2-img-dev global library and SDL_image.h path include

Monday, August 2, 2021

I started participatating in https://itch.io/jam/lowrezjam-2021, and I'm building an editor to help me create an entry https://github.com/Wesxdz/gui-gal I'm hoping that I can continue progressing development on Gui Gal as an open source alternative to PureRef, while also implementing features I feel PureRef is lacking like animated gif support/videos and an integrated ECS for more sophisticated node automation. For example, I've implemented the editor already in such a way that you could write a custom shader for every image. (I think as an avenue for open source entreprenuership cloud cross-device syncing and a marketplace of node assets would be neat) More broadly, this sort of tool precisely represents the minimalist flow that I'd like more game engines to reach.

I've also been reading https://en.wikipedia.org/wiki/Understanding_Media and ordered https://en.wikipedia.org/wiki/John_Chris_Jones 's book Design Methods: Seeds of Human Futures

Friday, July 29, 2021

Lately aside from helping install the AC and learning to weld, I've been sheltering from the intense heat in HabLab and doing some introspection.

Shipping video games is a skill that I have not prioritized improving at in the past, and I am now trying to gain this skill of finishing games by practicing on smaller games and gradually increasing the time and scope as I prove I can ship smaller projects. I'm not sure if this is the best method of practice, but I will reflect on it more as I continue to progress.

Personally, I tend to get caught up on tools. Particularly game engines are imo very bad. Open source game engines are even worse. Trying to use open source software for everything can feel like a battle in its own right, developing a video game on top of that is brutal.

In researching, I ended up reading Derek Yu's blog posts and book https://www.derekyu.com/makegames/archetypes.html, which I think is state of the art in terms of finishing indie projects.

It's definitely possible for me to ship a game, what's difficult is to ship something significant, something that other people actually care about. It takes a lot of time to build something like that, and the default behavior is for me to get distracted by something new, run out of money to pay rent, or otherwise fail to ship.


Friday, July 9, 2021

Integrating more wall module types into Blender, preparing for creation of module builder mechanic

Blender modules.png

Learning Python scripting in FreeCAD so I can eventually do automatic generation of placement and part variation

Unfortunate discovery: https://blenderbim.org/ does not currently work with https://github.com/ubisoft/mixer :(

Thursday, July 8, 2021

Playing with animation ideas for build instructions and user-configurable wall module material types

Thursday, July 1, 2021

Partdesign wesxdz.png

Learning constraints and part design with FreeCAD (https://wiki.freecadweb.org/Tutorials)

Tuesday Jun 29, 2021

Seed eco archviz.jpg

I've continued progress towards seed eco home visualiztion and research on the state of archviz in Unreal Engine. There are some very critical issues with the sweethome3d obj export workflow, mainly that many of the house part meshes are split into multiple submeshes and applying accurate uvs and materials is going to take a huge amount of repetitive work. The sheer number of static mesh components involved (1600+ for the home) prevents fast batch iteration in Unreal Engine, so I need to rebuild this demo from scratch using a more modular instanced and combined mesh approach.

There are currently at least two companies working towards modular architecture platforms in Unreal Engine. They are https://generatetechnologies.com/ and https://geoship.is/.

Many startups are raising funding through crowd equity sites to build modular homes (especially ADUs https://en.wikipedia.org/wiki/Secondary_suite) such as https://www.startengine.com/boxabl and https://www.seedinvest.com/modal.living/seed eco and housing related projects seem to be trending and very successful

Friday Jun 25, 2021

FreeCAD Badge Feature on a feature. Took about twenty minutes to learn following https://youtu.be/zKPbcr6QsKs, which I think is longer than it should have.

Tuesday Jun 22, 2021

Really exciting conversations on Discord today :)

I started working on implementing 3D printer mechanics. I was also thinking more about mechanics and I like the idea of building the core gameplay based on a couple games I played as a kid on Roblox: the first is https://roblox.fandom.com/wiki/Community:Stickmasterluke/Natural_Disaster_Survival and the second I cannot find atm (but basically you could craft a sailboat with hemp and craft metal by placing ores onto a bush fire for some amount of time)

Ose game printer.jpg

Monday Jun 21, 2021

Musings

  1. The most powerful global institutions are adverse to the goals of post scarcity.
  2. Open source hardware has not reached a sufficient accessibility, affordability, speed, or universality of replication to be more convenient or reliable for the average person compared to buying mass produced items.

Very excited about Appropedia https://www.appropedia.org/User:J.M.Pearce

Thursday Jun 17, 2021

Research on FPGAs and George Hotz

Continue work on OSE playground

Setup basis for multiplayer and create client/server builds (need help testing between two Linux computers on separate networks)

264

sorry for low quality, max upload size is 1mb :(

Wed Jun 16, 2021

Create playground UE project with character rig and controls

Ose playground setup.jpg

MJ sez - Seed_Eco-Home_Training_MMOG - just some thoughts on how this could play out

Wes sez - I love the team based competitive building aspect. I think all of this is possible if I push my limits and can get auxiliary dev, 3d modeling/animation, and marketing help. The main hurdle is definitely multiplayer, which can be difficult to develop and test solo, especially because the NetDriver code on Linux is not as stable as on Windows (often networked games made in Unreal only support Windows clients), improving Linux networking is something I'd like to contribute upstream to the engine so other devs can support Linux

Tue Jun 15, 2021

Create Metahuman character for OSE game and setup playground project environment

The Datasmith IFC importer plugin only supports Windows due to a 3rd party dll, but it would probably not be that much work to add Linux support

Compiled FreeCAD with CMake configuration to OpenCascade 7.5

Here's a couple examples of rendering in UE 5 - Archviz

Outdoors

We can reach this level of fidelity: although many of the CAD workflow/rendering features are not available on Linux yet.