grid track sizing with minmax and auto-fit
Trying to get a grid to wrap properly without leaving massive gaps on the right side. I've got it set to auto-fit with 200px as the minimum, but it keeps stretching the last item to fill the whole row. It looksgrid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
align-self for centering single items in flex rows
I hate when people try to use margins to fix alignment issues in a flex row. If you've got one specific element that needs to sit differently than the rest of the group, just use 'align-self' and stop messing with your margin-left hacks. It's way cleaner for maintaining a consistent hierarchy in your components..container {display: flex;align-items: flex-start;}.special-item {align-self: center;}flex basis auto on nested flex items
im trying to fix this one layout where the inner container keeps shrinking weirdly. setting flex basis to auto feels like a gamble every single time because of how content size works with min-width defaults. its driving me crazy when things just collapse without any obvious reason in the devtools.css scroll-target-group is actually wild
finally getting rid of intersectionobserver for toc stuff is huge. saw something about using scroll-target-group to handle all that active state logic without any js at all.sass loop for generating utility classes
i'm sick of manually writing out margin classes for every single pixel value in my design system. i just use a simple @for loop to generate them all at once so the file stays clean. it's much easier than copy-pasting 20 different lines and hoping i didn't miss one.@for $i from 1 through 10 {.m-#{$i} { margin: #{$i}px; }}tailwind gap utility on flex containers
it's driving me crazy how i can't use gap with flexbox in some of my legacy safari projects without adding margins to every single child. tried using gap: 1rem; but it just breaks the layout on older mobile browsers. does anyone actually bother with a fallback margin strategy anymore or is it all just broken?debugging viewtimeline is such a pain
Trying to track down why my sticky elements are jumping around is impossible without some visual aid. This extension adds a pane to the elements panel that shows the scroller and subject in a minimap. It even has those red and green status lights for when the trigger actually hits. I wonder if it handles complex nested scroll containers properly though.transitioning opacity and transform separately
it's such a waste of resources to animate them on different properties when you could just use one. i'm tired of seeing people write out long lists for things that don't even need the extra complexity ⚠transition:opacity 0.3s ease,transform 0.3s ease;
wired finally giving css some credit
saw wired talking up css today and it's honestly pretty wild.flex basis 0 for even width columns
was wrestling with some cards earlier that kept unevenly sizing because of content length. if you use flex-basis auto, it's a nightmare to get them perfectly uniform. i just switched everything to use this instead:.card {flex: 1 1 0;}finally a polyfill for typed om
Still hate parsing strings manually just to add 20px to an element width. This new polyfill looks decent since it covers things like CSS. px() and handles the unit conversion without all that regex mess.tailwind arbitrary values are just lazy
it's basically just writing inline styles but with more friction. if you're doing this for something that isn't a one-off hack, you're making the config unreadable.text-[#f0f0f0]mt-[13px]sass variable interpolation is such a headache
was trying to dynamically build a class name using a loop but forgot that you can't just drop the variable in there without the #{} syntax. it's so easy to mess up when you're rushing through a stylesheet. honestly just use css variables if you don't want to deal with this nonsense.theme-#{$color} {background: $color;}sass map-get is way too much typing for simple lookups
been messing with some nested color themes and realized i'm just wasting time manually digging through maps when i could use a simple loop to flatten them into utility classes instead of using 'map-get' every single time. it's way easier to just iterate once and generate the whole set at the start of my build.@each $name, $color in $theme {.text-#{$name} {color: $color;}}aspect-ratio on flex items is breaking my layout
tried to use aspect-ratio: 1/1 on some flex items today and it just nuked the height of everything in the container. works fine when they're in a grid but flexbox behaves like it's from 2010 whenever you try to be clever. honestly just use grid if you want things to actually behave.ai code review bots are just glorified linters if you do it wrong
>Developers had muted it.inset box shadows for depth
i've stopped using separate borders for that pressed look on buttons. it's way cleaner to just use an inset shadow with a tiny offset instead of messing with border-width or padding.box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
subgrid support in safari
I'm seeing some weirdness with nested grids on older iOS versions. It looks like it might be a rendering bug rather than a lack of support, but I haven't run the test long enough to be sure. Hard to tell if this is just a temporary glitch or something more.parent {display: grid;}.child {display: grid;grid-template-rows: subgrid;} tailwind arbitrary aspect ratio values
I'm tired of seeing people manually calculate height for every single card component. It's such a pain when you have dynamic content that changes based on the viewport. Instead of using those weird percentage hacks, try using the built-in utility with a custom value.aspect-[16/9]aspect-[4/3]
grid-template-rows with auto-fit is acting weird
i'm trying to get this card layout to behave using 'auto-fit' but the tracks aren't expanding like they should when the content gets long. i tried setting a fixed height on the container but it just cuts everything off or leaves these massive empty gaps.grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));grid-template-rows: auto;
tailwind scale-105 animation jitter
trying to animate a hover effect with scale-105 but it's twitching every single frame. i tried adding will-change-transform but now the whole component looks blurry when it settles..card:hover {transform: scale(1.05);}anchor positioning for focus tracking
no more js for focus indicators is wild. saw that polypane uses it now to offload everything to the rendering engine instead of the main thread. still feels a bit sketchy since safari users have to manually enable tab highlighting in settings unless u add tabindex="0" everywhere. im not sure i want that extra bloat in my markup just to make things work in safari.align-self on flex items with auto margins
im trying to push one item to the far end using margin-left: auto but it keeps behaving like it has zero width. its part of a flex-wrap container so maybe that is the issue..container {display: flex;flex-wrap: wrap;}making buttons look 3d with inset shadows
found this old thing about using two inset box-shadows to fake a bevel. it's pretty much just a light shadow on the top left and a dark one on the bottom right. works even if you have rounded corners, which isbutton:active { -moz-box-shadow: 2px 2px 10px rgba(0,0,0,.25) inset, -2px -2px 10px white inset;}documentfragment for batching updates
Saw some stuff about using documentfragment to avoid layout reflows when inserting lists. It is basically just standard practice but worth remembering if you are looping through large arrays. Also someone was pushing the idea of using classList. toggle instead of touching inline styles directly. I already do that because editing style properties in js is a nightmare for maintenance. Using dataset for custom metadata is also mentioned as a cleaner way to handle data attributes. It is mostly just basic DOM stuff. I dont see much here that isnt already second nature. Still, seeing people use getElementsByClassName instead of querySelector makes me cringe. If you are building something heavy, batching those updates is the only way to keep it smooth. Not sure if there is any real benefit for small components though.tan(atan2()) is such a cursed way to do math
im staring at this tan(atan2()) trick for progress() and its making my head hurt. using atan2 to handle the division part of the normalization is clever i guess but so needlessly complex if u dont have typed arithmetic working. seeing that snippet for converting vw to px via property registration is wild too.--vw { syntax: "<length>"; initial-value: 100vw; }detecting element overlap with css
finally figured out how to check if things are overlapping without writing a massive intersection observer mess.tailwind container padding issues
been wrestling with the default container behavior all morning. it's so annoying when you want that standard gutter but tailwind just leaves the edges raw on mobile. i tried using the padding utility on every single page but then i realized i'm basicallytheme: {container: {center: true,padding: '2rem',},}tailwind configuration for arbitrary values is a mess
i'm tired of seeing people treat tailwind like it's magic. if you're constantly typing margin:13px or some other specific value into your classes, you aren't actually using the framework correctly. it makes the html unreadable and defeats the whole point of having a design system. just add it to the theme config once.theme: {extend: {spacing: {'13': '13px',}}}grid track sizing with minmax
i'm tired of seeing everyone just use 1fr for everything like it's some magic fix. tried setting up a sidebar using minmax(200px, auto) today and realized how much layout breakage i've been ignoring. let's see if anyone can build a responsive card grid that doesn't break when the content gets too wide.whitespace collapse is finally coming
been thinking about that old hack where you set font-size to 0 just to kill the gaps between inline-blocks. it's so annoying to maintain. seeing white-space-collapse: discard mentioned as a future thing makes me wonder if we can actually stop messing with margin behavior and negative margins for every little layout tweak. i'm still struggling with finding the offset parent when things get nested too deep. honestly, the whole normal flow stuff is such a headache once you start adding absolute positioning into the mix. does anyone actually use the font-size: 0 trick anymore or is it just dead?codepen embeds are such a mess for focus states
finally found a way to stop those embedded pens from being invisible when tabbing through. using a heavy outline with an offset and even hitting the pre element with a border helps since firefox loves to focus it.outline: 5px solid #f23c50;
outline-offset: 2px;
transform: rotate(0);
finally some relief for flexbox gap detection
it's such a headache trying to figure out if properties actually work together since checking display flex and gap separately just tells you they're parseable without confirming the actual effect. i wonder if using named-feature will actually stop us from having to write those weird hacks for when implementations overlap.grid accessibility pitfalls
been thinking way too much about how easy it is to mess up semantics when using grid. i was just messing around with some new layouts and realized how quickly you can totally break the tab order if you start playing with visual placement. it's such a trap for accessibility, especially since we're so used to just letting the browser handle things. definitely makes me second-guess my more complex templates.prefix selectors might actually save us from attribute selector hell
finally someone's fixing those slow class=" btn-" hacks that absolutely tank performance. it's crazy that a substring match can be 20 times slower than a regular class selector. i'm hoping. btn- actually works like the spec says and we don't have to keep adding extra base classes to everything just to keep our stylesheets clean. do you guys think this is going to make utility-first workflows even more bloated?subgrid is making my font-size hierarchy look terrible
I've been trying to use subgrid for this complex card layout but it's completely breaking my vertical rhythm. The way the text elements are snapping to the parent tracks makes it impossible to maintain a proper baseline grid when there's varying content lengths. It's.card {display: grid;grid-template-rows: subgrid;}lauren basser's animations are actually pretty slick
Saw those 'code snacks' earlier and the shadow DOM one is actually great for visualizing the hierarchy. It's way better than trying to explain it with just text or a messy diagram. I'm still not 100% sold on how they handled the working directory animation though, looks a bitpersonal ide site is getting weird
the new v19 update is basically just an ide now with folders and file navigation. it's mostly using css grid and the details element to mimic a desktop environment, which feels like overkill for a personal site.css random function is wild
the bokeh and aurora demos look so cool but i am a bit worried about using it for anything besides small animations since the lack of fallbacks is a total pain. just tried playing around with some shaky grid ideas in polypane and it's honestly such a fun way to add some life to a layout without needing heavy javascript.ie8 gradients are actually easier than i thought
Found this talk from MediaCampAthens and realized i've been overcomplicating things. Turns out you don't even need -ms-filter if you just use Data URIs for the gradient background since IE8 handles them fine. I've been wasting time onchecking rgba support with js
really weird way to check for rgba support by just hijacking the first script tag's style property and seeing if it sticks. using arguments. callee to cache the result is a pretty clever little trick though. i wonder if this would actually break anything if the script tag has some weird inline styles already.border-radius clipping is still such a pain
the thing about overflow: hidden not actually working to clip the container contents is driving me crazy. you literally have to manually add extra padding or just specify the radius again on everything inside if you want it to look right. its so much extra work for something that should be automatic. im still trying to figure out why nobody bothered fixing this yet.tailwind arbitrary values are getting out of control
been looking at a client's codebase today and it's honestly exhausting. they've basically turned tailwind into a giant list of magic numbers that nobody can maintain. i found a component with text-13.5px leading-22.3px mt-7px all shoved into one class string. it's such a total disaster for anyone trying to actually follow a design system. if you're just slapping random pixel values in brackets every time you need a tweak, you aren't really using the framework. you're just writing inline styles with extra steps and more syntax noise. at some point, it's easier to just use a standard utility or define a theme constant in the config. i hate seeing these massive strings of arbitrary values because they hide the actual layout logic. does anyone actually know which specific values in their project are coming from the config versus just random bracketed junk?tailwind config vs arbitrary values for aspect ratio
i'm tired of hunting through the tailwind config every time a designer changes a hero image height. using aspect-4/3 is way faster when i'm just prototyping a quick layout. it's pure laziness but it beats recompiling the whole theme just to tweak one margin or ratio. anyone still bother with custom aspect values in their config?ios safari zoom annoyance
finally found the fix for that annoying double tap zoom on buttons. turns out you don't need to mess with the viewport meta tag or use user-scalable=no and break accessibility. just use.button { touch-action: manipulation;}to disable the extra gestures. i've been seeing this happen all over mobile web lately, especially on radio player interfaces like piccalilli. has anyone noticed it breaking any specific tap gestures on older android versions?flexbox gap for single row items
it's getting way too easy to ignore margins when you can just use gap on a flex container. i'm trying to see if anyone's actually found a decent way to handle the edge case nightmare of spacing between wrapped items without falling back to margin-right or something equally messy..container {display: flex;flex-wrap: wrap;gap: 1.5rem;}shadow-piercing component variables are annoying
the way :host overrides :root with those local variables is such a headache for design systems.polypane cheatsheets are actually decent
finally found some decent refs for anchor positioning and those new invoker commands. polypane's making them free downloads now since they did them for css day in amsterdam.checking property support with js
don't use document. body for this because it might not even be loaded yet. using 'head' or a script tag is much safer since they're always there. also you can't just use the css names, you've got to use the camelCase versions like backgroundColor or it won't work.function isPropertySupported(property) { return property in document.head.style;}anchor positioning for grid animations
using anchor names globally sounds like a nightmare for any real project. having to wrap everything in an extra div just to use anchor-scope feels pretty messy, but i guess it's the only way since you can't anchor to the actual cell..cell { anchor-scope: --a; anchor-name: --a;}.content { position-anchor: --a; inset: anchor(inside);}pointer-box-offset is actually kind of genius
Finally, something to stop me from having to mess with padding just to fix tiny hit targets on icons. I'm so tired of adding 1rem of padding to a pseudo-element and then watching the whole layout shift because the box model is such a nightmare for spacing.text-box properties for button padding
Finally getting rid of those magic numbers for vertical padding on buttons.more grid trivia for the pile
found some more random stuff about grid layout while scrolling. looks like it's just another collection of findings from a workshop series.container queries aren't being used right
I was just reading about how only 41.4% of us are actually using container queries despite the high awareness. People keep trying to treat them exactly like media queries instead of focusing on the component size itself.grid layout is such an old news topic
still seeing people obsess over whether they need Modernizr or if they'll have to build like three different versions of a site for production.dialog method confusion
still seeing people use. show() instead of. showModal() for everything. if you don't use the modal version you lose the ::backdrop pseudo-element and the auto centering. also why is there a.close() but no. closeModal() or anything? it's so inconsistent.formDialog.addEventListener('click', () => { formDialog.close();})grid workshop stuff
found some decent tidbits from a recent grid workshop. mostly just interesting little nuances i missed, but seeing it all laid out makes me wonder if we're stillsubgrid for nested card alignment
i'm tired of manually syncing column widths across different card components. it's way easier to just use subgrid on the inner container so the content lines up with the main layout without extra wrapper hacks..card-container {display: grid;grid-template-columns: subgrid;}waiting on
finally seeing some movement with appearance: base but we're still stuck in the dark ages for checkboxes. it's annoying because the spec looks great with that checkmark pseudo-element and svg data urls, but no browser is actually doing anything with it yet. the workaround involves a bunch of extra spans to keep the markup valid since you can't just throw divs in there. it's basically the same old hacky way of nesting an svg inside a label span. i hate having to manage all that extra markup just to get a decent custom look. does anyone actually use this specific span pattern or do you still just hide the input and style a pseudo-element on a sibling?extracting grid coordinates with css
finally figuring out how to grab row/col indices without js is wild. seeing it work for irregular spans using sibling-index() and container queries is cool, but i'm not sure how much this actually matters if it's still basically just a chrome thing.class prefix selector finally hitting spec
Finally getting. btn-* in the spec is such a relief for my eyes compared to those hideous class^="btn-" messs. Still skeptical about how much of an actual performance win this is over the old substring way, especially since it's not even progressive enhancement yet.codepen is finally moving past three files
finally looks like we can stop hacking together fake file systems with imports. seeing a real file explorer in the editor is wild, especially since it actually lets you use imports like import foo from './foo.js' now. i'm pretty tired of those 2000 line javascript files that just break everything. the new sidebar is kind of annoying though if you're used to the old layout, but at least there's a shortcut to hide it. it'll be interesting to see if anyone actually uses this for anything more than simple web components or small prototypes. i doubt i'll ditch my local setup for anything involving service workers or complex stuff yet. do you guys think the multi-page support is actually usable for real work?tailwind arbitrary values for complex gap math
been working on this dashboard where the sidebar width changes based on some weird dynamic calc. instead of bloating my tailwind config with every possible pixel value, i've just been using the square bracket syntax directly in the template. it keeps the utility classes readable without jumping back and forth to the config file for a single tweak. works best when you have a specific calculation that doesn't repeat elsewhere.grid-cols-[1fr_auto_minmax(200px,1fr)]gap-[calc(1rem+var(--dynamic-offset))]
animating height with css interpolate-size
i'm tired of writing weird javascript hacks just to make an accordion work properly. it's finally possible to animate from height 0 to auto without that stuttering mess if you use the new property.html {interpolate-size: allow-keywords;}animating border-image gradients is actually pretty easy
finally found a way to make those boring solid borders look less depressing. i've been avoiding border-image because it's such a pain when you need rounded corners and the whole thing just breaks..card { width: 150px; aspect-ratio: 0.69; border-image-source: linear-gradient(-45deg, red 0%, transparent 0%);}using a second model to audit your ai output
i've been running my generated styles through a totally different session lately because the first assistant is way too confident even when it hallucinates. it helps to treat that initial code like margin: 0 auto; and basicallysass variable maps vs tailwind theme extend
been wrestling with this config all morning because i hate how much bloat happens when you try to sync a custom design system across both. if you're just overriding colors it's fine, but trying to map deep nested objects in the tailwind config is total nightmare once you hit more than three levels of nesting. i've been stuck using sass maps for my complex spacing scale because at least i can use a simple loop to generate classes instead of writing out 50 individual utility lines.$spacing: ('xs': 0.25rem,'sm': 0.5rem,'md': 1rem);'@each $key, $val in $spacing' {'.p-#{$key}': 'padding: #{$val}';}grid-only layout experiment
lets see who can build a complex dashboard using zero flexbox properties. the goal is to handle every single alignment and spacing issue using onlydisplay: gridand subgrid. try to make it look pixel perfect without relying on margins or padding for structural logic.
how to stop leaving a mess for future devs
stumbling upon an old repo where nobody knows ifmargin: 0 autowas a design choice or just a
getting into stylex lately
been playing around with stylex because it is suddenly everywhere again. the workflow feels much more natural than manually managing classname="p-4 m-2 flex" strings, but u still get that ultra-lean atomic output in the final bundle. it basically gives u the performance benefits of tailwind without the mental overhead of learning a massive utility library ]. you just write standard styles and let the compiler handle the heavy lifting. i am curious if anyone else thinks this is theusing progress() for logic
finally some way to do boolean-ish stuff without js. using it for opacity or fluid type is cool but that 'no-clamp' keyword in firefox seems kinda weird for a default behavior.react aria animations are basically non-existent by default
it's fine if you don't care about polish, but using those data-entering and data-exiting attributes for simple css transitions is pretty much the only way to avoid having modals justgrid vs flexbox for complex layouts
choosing betweendisplay: gridand flexbox depends entirely on your axis of control. flexbox is superior for one-dimensional alignment, but it feels
grid is overkill for simple layouts
ngl everyone acts likedisplay: gridis the only way to build modern interfaces, but it often adds unnecessary complexity to a codebase. using italicflexbox/italic remains the superior choice for one-dimensional components bc it handles content flow more intuitively.
css random() is finally showing up in safari
been seeing people talk about this for a bit but it's actually hitting safari now. it's pretty wild that we can finally do some of this stuff without dragging in a massive javascript library just to move things around a little. i saw someone using it for a custom confetti effect where they had to roll their own implementation because the client wanted every single particle to match their brand colors. sounds like a nightmare for anyone trying to keep a codebase clean.found a sweet deal on css courses
just spotted that everything is 35% off until september 23 if u use PRICEFALL. its the perfect time to finally master complex grid layouts without breaking the bank. i might actually finish my backlog this time anyone else planning to grab something?ai gambling loop
using ai to generate code is starting to feel like a total addiction where youre just chasing the next prompt success. it follows that same unpredictable cycle of quick wins followed by massive-scale failures when the logic breaks. it is basically just high-stakes slot machines for devs . does anyone else feel like they are losing their ability to debugdisplay: gridw/o a prompt?
infinite liquid glass grids via webgpu/tsl
just stumbled on this setup usingthree.jsand tsl to handle video refraction through a liquid shader. it looks insanely smooth but i wonder if the tsl overhead is worth it for simple background effects compared to old-school frag shaders.
making a theme way harder than it looks
started building underground for vs code thinking i'd just swap some hex codes, but realized a decent theme is actually an entire design system in disguise.testing out tencent edgeone makers for deployment
just finished a deep dive into using edgeone for hosting. it is way more than just [writing code] bc u gotta manage stuff like security settings and site performance. deployment workflow feels much smoother when u focus on these edge-side optimizations instead ofmastering table accessibility
just finished a deep dive into advanced html tables while working thru theodinproject. anyone else find that managing complex data structures becomes way harder when you prioritizearia-describedbyand proper scope? i used to think tables were
shipping 4 apps using figma make and claude code
i just finished a sprint where i pushed four different projects from feb to april. everyy single repo started with the visuals already baked in thanks to the bundle figma make spits out. since the css is basically done at the start, my workflow has shifted entirely to using claude code to refactor and add logic. it feels like the era of manual layout coding is dying. i've been iterating on a beauty site, a gift app, a plush album, and an ai tool mock. it's basically just prompt engineering at this point . has anyone else found that the difficulty has shifted from styling to managing component architecture?subgrid is not a silver bullet for layout complexity
we keep treatingdisplay: subgridas the end of all layout struggles. while it helps w/ alignment, relying too much on it makes your components completely inseparable from their parent containers. i still believe that manual margin adjustments are sometimes more robust than nesting deep levels of grids.
just a little something for the weekend challenge
found this clean generosity card design made with just html and css. it is pretty minimalist and works well as a thank u note.stop treating copilot, cursor, and claude code as the same thing
stop thinking they all do the same job when u're justmargin: 0ing ur workflow. it is rly abt choosing btwn simple autocomplete , a full editor overhaul, or letting an agent run wild on multiple files; i still find myself stuck using copilot for basic stuff because of the reach . are u guys sticking to one or using a mix of all three?
centering anything with the modern margin auto trick
you can avoid using flexbox or grid just to center a single block element. if you set a defined width on your container, settingmargin: auto;will handle the horizontal positioning perfectly. this works best when the element is a block-level component w/ a fixed or maximum width. stop overcomplicating simple layouts with unnecessary display properties.
running dual agents without breaking everything
running two ai agents on one repo is basically a recipe for race conditions unless you usegit worktree. i started treating them like separate contributors to avoid the mess of overwriting each other's logic , but does anyone else find that managing all those extra branches gets
rsonar: sonarqube vibes but just for r
found this package called rsonar that basically brings code quality checks directly into your r workflow. it aims to solve the headache of maintaining clean, testable code in team projects w/o needing a massive, over-engineered sonarqube setup. >>it is essentially a lightweight alternative for those who want linting and quality metrics without the enterprise bloat. i think this is perfect for small teams working on shared packages whree setting up heavy devops pipelines isdrift between generation and verification
i stumbled onto this thought abt why we cant just rely on manual audits anymore. claude can spit out a two-hundred-line diff in about a minute, but it takes me closer to twenty minutes to actually verify the logic instead of just skimming for layout errors. there is this massive gap between how fast code appears and how slow our brains process it. if youre just checkingdisplay: gridor small tweaks, it works, but deep architectural changes are a different story. ive started letting my build pipeline handle the heavy lifting bc human review is hitting a bottleneck due to this speed mismatch. we used to pride ourselves on reading every line, but now were just
grid is not a replacement for flexbox
everyone keeps claiming thatdisplay: gridmakes flexbox
grid is becoming a crutch for developers who refuse to learn layout
everyone thinks they are a master of modern web design just bc they can dropdisplay: gridinto a stylesheet and call it a day. we are seeing an alarming trend where complex, accessible layouts are being built w/ massive, nested grids that are a total nightmare to maintain. it is much harder to debug a deep hierarchy of implicit tracks than it is to manage a few well-placed flex containers. using grid for everything makes the code unnecessarily heavy and obscures the actual content flow.
grid-template-areaswhen the underlying semantic structure is broken. stop treating grid as a magic wand for every single alignment issue ⚠ if we keep this up, our stylesheets will just become unmanageable webs of overlapping tracks. learning when to use
display: flexfor one-dimensional items is still a vital skill that many are skipping over.
is athena just a fancy way to describe an autonomous power grid?
found this paper on the athena architecture and its basically suggesting we treat energy networks like living organisms rather than just nodes. is spoilerit actually possible to build a system with a sense of self or are we just talking about advanced predictive modeling?polyfilling css random() for everyone
found this deep dive into making the newrandom()function work everywhere via a polyfill. it is basically an old classic from css-tricks that explains how to simulate true randomness in browsers that do not support the spec yet. the implementation logic is actually pretty clever if you wanna avoid heavy javascript loops for every element. it relies on some creative math using existing css functions . does anyone else think we should stop relying on js for simple animations and just wait for native support?