Hacker Newsnew | past | comments | ask | show | jobs | submit | stigok's commentslogin

Worth a watch. She has built a home-made loom with automation using Arduino and 3D-printer parts. It is pretty brilliant!

Excerpt from the video description:

> A computer-controlled handloom is a hybrid fabrication tool: while the loom greatly speeds the process of weaving by precisely selecting threads for a pattern, a human weaver is present and involved for the entire process. Like any computational tool, such a loom can embody both expert precision and fluidly emergent outcomes; “the trick” is in crafting generative logics that mediate the material constraints of the weaving process to support technically elaborate outcomes, spur creativity, or generate delight. Lea will discuss historical and contemporary tactics for algorithmic and improvisational handweaving, including her own work on personal interactive jacquard weaving systems.


This would work nicely with static HTML, indeed. But once you have some JavaScript i.e. dynamic HTML, it won't work reliably anymore. Worse, it might even give you a list of manually curated CSS properties to "allow list".


Waaay back there used to be a Firebug plugin that would monitor which CSS was ever used as you interacted with a page. Worked great for exactly these dynamic pages - I was using it with React for a few years before Quantum killed the XUL addons.

I'd forgotten about it and am now wondering if anyone made a replacement...


Chrome Dev tools has this feature. It's not as useful because when you navigate to another page, it resets the used CSS rules.


this is incorrect.

the only thing that does not work is generating the css class like:

var x = 'hase-';

var t = x + 'danger'

which is an antipattern. (it can even happen inside java, c#, whatever language you use and it is still an antipattern)


Can you please elaborate why it is an antipattern? I'm not sure I understand.


At least regarding tailwindcss, it checks your code to filter out unused css classes. So it is recommended to have full class names in the code instead of constructing them by concatenating strings. So if you have a variable `buttonColor` that can be `red` or `blue` it is better to do something like

    switch(buttonColor) {
        'red': return 'button-red';
        'blue': return 'button-blue';
    }
over

    return 'button-' + buttonColor;


if you are in a big project and want to refactor classes the string concatenation pattern gets extremely painful, it’s even worse when it’s done on the server and on the frontend. At some point you will have trouble removing your classes. My company did this a lot and know we struggle to clean it up since basically all classes are used somewhere. What we do is basically use purgecss and than diff it and look for all occurrences that got removed which will take us a few months.


Oh ok it was about concatenation, not just this example case. Got it, thank you!


We built a private Terraform registry that is using GitHub for module source and version discovery.


I find the PostgreSQL documentation to be a seriously good read. Something I'd print and take on the holiday with me.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: