Eternals
Film på Falan, Falun den 6 november 2021
Film på Falan, Falun den 6 november 2021
Film på Falan, Falun den 16 oktober 2021
Utställning på Magasinet, Falun den 7 augusti 2021
Screw your freedom!
Arnold Schwartzenegger hamnade i blåsväder förra veckan då han nedvärderade den så heliga och välsignade amerikanska friheten.
Den fulla kontexten är att han i en intervju med CNN uttalade sig om att pandemin fortfarande är igång, och att alla måste göra sin del av att bära mask, hålla avstånd, socialt distansera sig och tvätta händerna ofta. Han påtalade att flera uttryckt att deras frihet är inskränkt och att ingen kan tvinga dem att bära mask och ta ansvar, varvid uttalandet Screw your freedom! kom till för att markera att detta är trams.
Flera amerikanska profiler inom bodybuilding och strongman har nu valt att plocka ner bilder på Arnold från sina gym. Man ska verkligen inte talla på den heliga amerikanska friheten. Det är inte alldeles lätt att förstå detta. Länken här går hur som helst till de 4 minuter som är kontexten för uttalandet.
I searched for something, then it shows me something
Är detta världen vi har skapat? följetång II.
En utmaning: testa att klicka på sökträffen och försök att komma till innehållet under tio klick.
Hur vi hamnade här? UX-kompromisser, en i taget. Det gör ont i hjärtat.
It is with a heavy heart that we have decided that Wacken Open Air cannot take place at the end of July this year. We therefore postpone the festival to 04.08. - 06.08.2022. This decision was anything but easy for us, also because we know that you are already in the middle of the preparations and planning. Like we are, too
Så, äntligen, ställde Wacken in efter flera veckor i ett falskt hopp. Inte ens the Holy ground kan värja sig mot viruset.
Jag hade älskat att återuppleva Wacken igen, då det är något alldeles extra. Bland årets band hade jag mest sett fram emot Judas Priest, Grave Digger, Amon Amarth, Pestilence, Agalloch och Tiamat.
In practice, component definitions have way more styles than just colours. There’s a bunch of box-model properties, maybe a display, and possibly text styling instructions. In any case, a lot of lines of CSS.
If you use custom properties only for those CSS properties that will change you give future CSS developers a much better and quicker insight in how your component works. If the definition uses a custom property that means the property may change in some circumstances. If it uses a fixed definition you know it’s a constant.
CSS custom properties är något som jag själv försöker tillämpa så mycket jag kan i projekt. Denna artikel öppnade några dörrar till och gör det än tydligare att det är skillnad på Sass-variabler och CSS Custom Properties: man ska kombinera dem, inte välja en av dem.
På Twitter-tråden om artikeln kompletterade Sara Soeidan med en egen artikel om att arbeta med CSS custom properties, som också är läsvärd.
The problem with modern web dev summed up in a tweet:
— Jeremy Wagner (@malchata) May 8, 2021
The problem isn't frameworks themselves, but the fervent euphoria around them, where a privileged majority gets to say "this is a best practice, learn it", while ignoring the unsustainable burnout that sort of churn invites.
En tråd som belyser något jag själv känt, men haft svårt att sätta orden på: att det faktiskt kostar något att försöka hänga med på frameworks.
Jag har likt @malchata också rätt många år i yrket, och har flera gånger investerat massor av tid och ork på att lära mig något - bara för att bli tvungen att helt kasta bort kunskaperna och ersätta dem med nya.
Det jag har kommit att eftersträva, och även råda andra att göra, är att ställa frågan Vad gör X som jag inte redan har i verktygslådan? X är i detta fall
En annan viktig fråga att ställa sig är Är det möjligt att lösa problem/behov Y utan att introducera något nytt, och hur svårt är det i så fall? Om X inte har ett tydligt övertag eller glasklar fördel, så är det förmodligen inte värt besväret.
En blandning av magkänsla, fingertoppskänsla och omvärldsbevakning gör att jag avfärdar en majoritet av alla X som trendar. Jag lutar mig tillbaka, iakttar vad som händer och är sällan först på bollen på något - även om jag gärna bekantar mig med X rätt tidigt, så undviker jag att försöka göra riktiga saker med X.
Några exempel.
What counts as boring? That’s a little tricky. “Boring” should not be conflated with “bad.” There is technology out there that is both boring and bad. You should not use any of that. But there are many choices of technology that are boring and good, or at least good enough. MySQL is boring. Postgres is boring. PHP is boring. Python is boring. Memcached is boring. Squid is boring. Cron is boring.
Jag kommer på mig själv med att prata om “boring tech” ganska ofta, särskilt när jag sitter i samtal med kollegor som hittar något nytt och skinande som vore roligt att testa. Den är från 2015, men är verkligen otroligt relevant.
T ex så tar den upp konceptet med Innovation tokens. Den pratar även om unknowns, och unknown unknowns.
When choosing technology, you have both known unknowns and unknown unknowns.
- A known unknown is something like: we don’t know what happens when this database hits 100% CPU.
- An unknown unknown is something like: geez it didn’t even occur to us that writing stats would cause GC pauses.
Även denna tankelek och prov på kreativitet är värd att bokmärka artikeln för, och diskutera med sitt team.
One of the most worthwhile exercises I recommend here is to consider how you would solve your immediate problem without adding anything new. First, posing this question should detect the situation where the “problem” is that someone really wants to use the technology. If that is the case, you should immediately abort.
It can be amazing how far a small set of technology choices can go. The answer to this question in practice is almost never “we can’t do it,” it’s usually just somewhere on the spectrum of “well, we could do it, but it would be too hard”. If you think you can’t accomplish your goals with what you’ve got now, you are probably just not thinking creatively enough.
Ingen av våra textböcker rekommenderar nedstängning av skolor, idrott, restauranger, kultur eller andra essentiella delar av samhället vid smittoutbrott. Varken WHO eller något enskilt land hade nedstängningar i sina beredskapsplaner före 2020. Kinas auktoritära styre gjorde en brutal lockdown, som märkligt nog spred sig till västvärldens demokratier. I dag vet vi från forskning och officiell statistik att metoden inte skyddar riskgrupperna. Tvärtom orsakar lockdown sjukdom, död och stora skador på ekonomin. År 2020 kommer gå till historien som året då vi begick världshistoriens största misstag för folkhälsan.
Känns inte så lyckat att hela världen tappade huvudet så totalt. Faktaresistensen segrar.
A genuine problem in tech is that we’ve created a culture where people switch jobs too often to experience the consequences of their product & technical decisions let alone have to fix them. pic.twitter.com/vN100EDlow
— Dare Obasanjo (@Carnage4Life) April 11, 2021
En läsvärd tråd på Twitter, som bland mycket annat tar upp en av de främsta anledningarna till att folk byter jobb ofta: Det kommer att ge bäst löneutveckling. Vi har med andra ord ett läge där folk uppmuntras (genom lön) till att skotta massa kod utan att behöva ta långsiktigt ansvar, eftersom de ändå slutar och byter jobb.
Tyvärr måste vi meddela att även årets upplaga av Gefle Metal Festival måste skjutas upp. På grund av den pågående pandemin är det inte möjligt att genomföra ett stort evenemang i sommar. Viktigast av allt är säkerheten för vår publik, personal och artister och det är något vi aldrig kommer att kompromissa med.
En mörk torsdag, sannerligen. Inom loppet av ett par timmar ställdes ytterligare två festivaler in.
Gefle Metal Festival hade tänkt att växa till en tredagarsfestival, och har haft helt fantastiska line-ups de två år de tvingats ställa in. I årets upplaga hade jag främst sett fram emot Amon Amarth, Mgła och Tribulation.
Min förhoppning är att festivalen orkar ligga på vila ytterligare ett år.
So far 2021 is not developing favourably for live events. Thanks to your support we have managed to stand through the last year and were hoping that this summer we’d welcome you at the Brutal Assault as you all know it. We have worked hard to make the anniversary something special. Unfortunately, the Covid situation has not improved much and therefore we are left with no other choice than to move the 25th edition to next year.
En mörk torsdag. Jag hade hoppats att Brutal Assault skulle ha en chans med tanke på att det ligger senare på sommaren, men verkligheten är för bitter och hård.
Jag har verkligen sett fram emot att få se extremmetal-band spela på ett militärfort från 1800-talet i Tjeckien, i form av en Roadtrip i Europa med Wacken som första stopp, och en hemresa som korsade Polen. I årets upplaga såg jag mest fram emot Evoken, Uada och Winterfylleth.
Jag får nu istället hoppas på nåd nästa år.
The future of web-based software architectures is already taking form, and this time it’s server-rendered (again). Papa’s got a brand new bag: HTML-over-WebSockets and broadcast everything all the time.
The dual approach of marrying a Single Page App with an API service has left many dev teams mired in endless JSON wrangling and state discrepancy bugs across two layers. This costs dev time, slows release cycles, and saps the bandwidth for innovation.
A List Apart har en stor samling artiklar som åldras mycket väl, och min förhoppning är att även denna kommer att göra det.
Jag är redan övertygad om att detta är ett pågående teknikskifte, och att serverrenderad HTML som transporteras över webbsockets är den logiska efterföljaren till SPA:er.
Lagom långa och bra diskussionstrådar finns på reddit under r/programming och r/coding.
The PETAL Stack in Elixir means:
- Phoenix
- Elixir
- TailwindCSS
- Alpine.js
- LiveView
Kul grej! Blomblad.
Den enda komponenten jag upplever inte motiverar sitt värde riktigt i ovanstående stack är Tailwind.
Jag anser att Tailwind, precis som Twitter Bootstrap och ZURB Foundation, har värde vid framtagning av prototyper för att testa koncept; särskilt om en designer inte är en del av teamet.
Så snart prototypen ersätts av the real deal - särskilt om en designer anlitas för projektet - så ska inte prototyp-verktyg användas. Lägg hellre tid på att skriva egen CSS som löser det unika affärsbehovet. Med dagens gridsystem, variabler och media queries är detta inte längre svårt eller tidskrävande.
Alla förberedelser och förhoppningar till trots, står det nu klart att det inte finns några möjligheter att genomföra Sweden Rock Festival i år heller. Istället skiftar vi nu vårt fokus till 2022 och ser då fram emot en mer minnesvärd festival än någonsin.
Dagen efter min födelsedags kom den länge inväntade spikförsedda sparken i Solar Plexus: SRF ställer in, ännu en gång. Helt väntat, då Hellfest och Graspop sedan flera veckor tillbaka har ställt in.
SRF är min favorit på hela festivalåret. Det är den enda festivalen jag alltid köper biljetter till, oavsett utanonserade band. I årets upplaga hade jag främst sett fram emot Amon Amarth, Nightwish och Guns n’ Roses.
Skivbolag som har mycket dödsmetall. Bra att ha för inspiration eller när man är nyfiken på något nytt.
- Connect the boxes: create the user avatar component and pass its instance to the inventory table component. Whenever the edit state of the inventory table changes, the business logic in the inventory table should also trigger a state change in the user avatar component with the help of the user avatar’s public API.
- Lift the state up: move the internal state of the user avatar component and the state of the inventory table into a separate box/class. The logic of the user avatar and inventory table component will still be neatly separated in their own boxes, but they will be able to communicate without inventory table needing the direct access to the user avatar.
- Introduce a message bus: connect the inventory table and the user avatar component to the shared pipe that is used for distributing events in the application. The user avatar component subscribes to the message bus and every time it receives a table edit event, it executes an appropriate action (e.g turn the light on).
Jag gillar denna skarpt! Det som gör den riktigt bra är att den är skriven på ett teknik-agnostiskt sätt.
En person som skriver saker i LiveView eller Hotwire (som hanterar state backend) tar till sig idéerna och koncepten lika väl som folk som bara arbetar i rena SPA:er med React, Vue, Angular eller Elm.
Min egen inställning efter att ha byggt webbgränssnitt 15 år som yrkesverksam är att fokusera på leverans snarare än perfektion: Göra om är billigt, ändra befintligt efter nya lärdomar är dyrt.
What you get is the speed, responsiveness and UX performance exceeding that of a React/Vue/javascript front end framework against a server API, but you haven’t written a line of javascript.
This is a magical feeling.
Kan verkligen bara hålla med.
Den här vägen, att skapa ett abstraktionslager som partiellt renderar om delar av sidor i realtid med serverside-renderad HTML över websockets, känner jag är framtiden.
Vue, React, Ember och Angular har visat världen vad som är möjligt, men rent arkitekturellt är det dags att sluta att blint tro på att Single Page Applications är ett måste för att skapa en bra användar- och utvecklarupplevelse.
Elixir faller inte alla i smaken, men denna rörelse finns som tur är i flera stora communities.
Den senare är agnostisk, och kommer förmodligen portas till såväl Django som Laravel.
This module introduces the ability to nest one style rule inside another, with the selector of the child rule relative to the selector of the parent rule. This increases the modularity and maintainability of CSS stylesheets.
Hoppla! Exempel, starkt inspirerat av hur Sass gör, finns på The future of CSS: Nesting Selectors.
Detta, CSS-variabler och nästlade media queries gör att det blir allt mindre risk i att slopa preprocessors som Sass, Less eler Stylus i mindre projekt.
Tre saker:
@nest
känns litet märklig, men kanske har den ett nyttigt signalvärde? Vi
får se! &--
och &__
införs är detta ointressant för alla som använder
BEM: dessa utvecklare kommer att stanna med preprocessors, tror jag.