Inlägg

Inlägg som llxt har skrivit i forumet
Av llxt

2005. Var nog när jag köpte half life 2 som jag skapade konto.

Av llxt
Skrivet av dlq84:

Clear och exit känns överflödigt, ctrl+d och ctrl+l gör jobbet

Tycker tvärt om

Av llxt

Dela vilka bash / zsh aliases du använder

Hej!

Tänkte starta en tråd där vi kan tipsa och dela med oss av vilka bash / zsh aliases vi på sweclockers använder i vardagen.

Några som jag flitigt använder:

alias lg='exa -alh | grep --ignore-case' alias lsd='ls -D -l' alias lsf='ls -f -l' alias du='du -sh' alias c='clear' alias e='exit' alias dl='cd ~/Downloads' alias doc='cd ~/Documents'

shooot

Av llxt

Här blir det till att betala tillbaka. Men jag överlever

Av llxt

jag kör med duckduckgo. kom som standard i qutebrowser och har inget att klaga på. den fyller sin funktion.

Av llxt

Har precis börjat. Blev keepass för mig. Ska konfa en yubikey till databasen också vid senare tillfälle.

Av llxt

Då jag kör arch så tänker jag bojkotta nvidia ett tag till. kör en Ryzen 9 5900HX med IGPU och de spel jag spelar flyter på acceptabelt

Av llxt

gick över helt till laptop för ca 10 år sedan. den jag har nu betalade jag 14.000 för. Kan spela det jag vill spela och tänker inte lägga över det beloppet på nästa dator.

edit: Märkte nu att det gällde stationära datorer. sorry

Av llxt
Skrivet av Pitr-:

De flesta kör nog helt enkelt med Bitwarden numera, jag har själv varit i Keepass-träsket för en massa år sedan, men jag säger bara vilken lättnad när jag slapp alla synkroniseringsproblem som det slutade i med kdbx-dubbletter som jag behövde slå samman manuellt titt som tätt.

Men jag kan ju förstå problematiken när man inte har någon egen NAS där man kan husera sin instans på, och inte vågar lita på att ens master-lösenord ska hålla för eventuell brute force om databasen från Bitwarden-servern mot förmodan skulle läcka ut.

Farsan min körde också Keepass under längre tid och var nöjd med det, men även han ledsnade tillslut på synkproblem mellan dator och hans mobila enheter så han har också gått över. x-D

Ja jag förstår problematiken med att synka mellan enheterna. Men jag registrerar mig inte ofta på olika tjänster så för mig kvittar det. Men men, får se om jag hittar nån lösning jag trivs med 😀

Av llxt
Skrivet av MacAllan:

Bitwardens app för android har en inställning att rensa "urklipp" automatiskt, inställningen man kan göra är "Aldrig" eller ett tidsspann mellan 10 sekunder upp till 5 minuter.

Okej. Tack! Vill dock hosta databasenfilen själv. Och vill inte sätta upp någon server. Finns det några alternativ till det?

Av llxt

Måste väl finnas fler här som hanterar .kdbx filer i android?

Av llxt

android - keepass - clipboard?

Hej

  • android 14

  • samsung

Jag hade tänkt att börja använda mig av en lösenords hanterare men har stött på lite problem med urklipp på android.

Med KeePassDX så sparas mitt lösenord i urklipp och raderas inte inom en viss tid. Hittar ingen inställning i appen för att ändra detta.

Prövade då keepass2android som kom med ett nytt tangentbord som jag trodde skulle lösa problemet men det sparar också lösenordet i urklipp och raderas aldrig även fast jag ställt in att det skall raderas efter 30 sekunder. Vet inte om jag gör något fel.

Känner ni till någon keepass lösning / app som löser detta problem på android? Känns inte specielt säkert att det permanent sparas i urklipp även fast jag kan radera det manuellt. Efter lite googling så verkar det visa sig att det är ett problem som flera har haft.

Gör jag något fel?

Tack på förhand.

Av llxt

Någon som får access denied till steam store i webläsaren och i steam appen? Verkar vara blockerat för mig ...

edit: Bytte utgångs server och då löste det sig.

Av llxt

Här har ni en wiki till några av spelen som jag spelade när jag var barn : Lek och lär

Av llxt
Skrivet av improwise:

Nu kan jag inte ens nå SVT.se uppkopplad via OVPNs Stockholmsnod, måste verkligen ta mig tid att byta till något som funkar för detta håller inte längre

Access Denied
You don't have permission to access "http://www.svt.se/" on this server.

Testade själv nu och får samma meddelande via stockholm. Har 800 dagar kvar så hoppas detta fixas

Av llxt

Här finns mulle meck : http://mulle.dongers.net/

Av llxt

Arch, typ en gång i veckan

Av llxt
Skrivet av WebbkodsLärlingen:

Mycket fint jobbat! Jag hade faktiskt tänkt som "bonus-utmaning" att inkludera just förmågan att kunna radera enskild Todo men det lade du till helt själv! Jag är inte "Kejsaren av JavaScript" så ta allt jag säger som "hur den där personen förstår sig på JS just då". Det jag lärt mig hittills inom webbutveckling är att du har två huvudsakliga övergripande frågor när du ska koda:

  1. Vad är det egentligen som ska lösas? Vad ska kunna göras? Vad ska hända? Vad ska inte kunna göras? Vad ska inte kunna hända? Vad är säkerhetskraven? Vad är övriga ställda krav? Osv.

  2. Och för vem eller vilka ska allt detta göras/lösas åt? Vem är egentligen slutanvändaren bakom allt detta? En lärare? Ett företag/en kund? Andra slags slutanvändare?

Om du hade gjort exakt samma lösning åt ett företag så hade säkerligen mycket mer begärts. Nu gör du inte det, så då är den nuvarande lösningen bra som den är tycker iaf jag. Möjligen lägg till så att när en todo lyckas lägga till så ska även inmatningsfältet bli tomt igen. Här finns då ett attribut som alla input-element har som JS kan komma åt:"value" alltså <inputElement>.value på något vis som sedan i sin tur borde kunna bli tomt (""). Hm?

Du får gärna berätta hur du tänkte när du gjorde lösningen och varför (=resonerande/motiverande till valda kodbeslut) du gjorde de val du gjorde. Och detta är endast för att reflektera tillbaka på ditt eget problemlösande för att kanske göra det annorlunda nästa gång! Förresten så vill jag bjussa på ett mycket "sexigt" koncept inom JS:

JavaScript Template Literals:

// JS STRING & VARIABLE CONCATENATING list_item.innerHTML = '<p>' + count + ' ' + text + '</p>'; // JS TEMPLATE LITERAL list_item.innerHTML = `<p>${count} ${text}</p>`;

Se hur sexigt simpelt det blir med att slippa alla extra + och citattecken överallt! 🥰

Du inleder med två så kallade "backticks" (``) - dessa får du genom att först hålla ned valfri SHIFT-tangent och sedan klicka på vänstra tangenten om den långa raderingstangenten (den precis ovanför ENTER/RETUR) på tangentbordet - och inuti så kan du skriva i princip vanlig löptext. De sexiga "${}" är sättet du får in variabeler precis som du annars får in dem genom att _inte_ ha dem med enkelfnuttar ('') eller dubbelfnuttar ("").

Som du ser så kan vi då använda variablerna "count" och "text" precis som vanligt. Detta färgmarkeras också starkt inuti din utvecklingsmiljö som exempelvis VSCode så du ser skillnad på vad som är vanlig strängtext och vad som är variabler. Och ja! Du kan till och med (därför de är så sexiga!) anropa funktioner där som returnerar dig ett returvärde att använda där inuti istället vilket ger upphov till mer dynamiskt utskrivande (vi närmar oss då nästan "frontend-ramverksbeteende"):

// Output current value of count inside of p element // and also the return value from the function numbers() list_item.innerHTML = `<p>${count} ${numbers()}</p>`; // Function that simply returns string "694201337" function numbers() { return "694201337"; }

Om du skulle vilja ha ett nästa steg i Todo-appen så vore det att kika på något som heter "document.localStorage()" då den låter dig spara lokala data ("localStorage.setItem()") för din givna webbläsare på din givna surfenhet och sedan så skulle du kunna läsa in dessa lokallagrade data ("localStorage.getItem()") när sidan laddas om. Mer här: https://developer.mozilla.org/en-US/docs/Web/API/Storage

Observera att "localStorage.setItem()" kommer att spara som "key value pair" och då behöver du använda JSON:s metoder "JSON.parse()" när du läser in data från localStorage och "JSON.stringify()" när du ska lagra via localStorage: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer...

Och eftersom du läser in massa data så bör ju dessa också läsas in & skrivas ut när sidan laddas om? Då går det att använda sig av en for-loop: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer... som då ska loopa igenom JSON.parse-localStorage data. Men du kmr stöta på ett antal problem nu vilket delvis ska kunna lösas med hjälp av en tom array ([]) och array-metoden "push".

GL HF! ^_^

Mvh,
WKL.

Ska kika på localstorage senare 😀 får kanske bli nästa project

Tack för allt du skrivit. Du är bäst 😀

Edit: nu hamnar nya divar under varandra i min todo lista. Hur ändrar jag så de nya divarna hamnar från 'top to bottom'?

Av llxt

@WebbkodsLärlingen Är detta ett bra upplägg för en todo list eller bör jag formulera det på något annat sätt?

<html> <head> </head> <body> <div class='container'> <h1>Att göra:</h1> <input type='text' id='input'> <button onclick='submit()' id='submit'>Submit</button> </div> <script src='index.js'></script> </body> </html>

let count = 0; function submit() { const list_item = document.createElement('div'); const text = document.getElementById('input').value; if(!text) { alert('Ingen text'); } else { count++; list_item.id = "item_id_" + count; list_item.innerHTML = '<p>' + count + ' ' + text + '</p>'; list_item.innerHTML += '<button onclick="remove(this);">Remove</button>'; document.body.appendChild(list_item); } } function remove(x) { x.parentNode.remove(); }

Eller ja, detta är kanske lite renare

function submit() { const div = document.createElement('div'); const input = document.getElementById('input').value; if(!input) { alert('Du skrev inget'); } else { div.innerHTML = input; div.innerHTML += '<button onclick="remove(this)">Remove</button>'; document.body.appendChild(div); } } function remove(x) { x.parentNode.remove(); }

Av llxt
Skrivet av WebbkodsLärlingen:

Det klassiska är ju CRUD-appar (Create, Read, Update, Delete). Men innan det så kan du ju prova på klassiska Todo-appen bara för att lyckas hantera data i webbläsaren som sedan med hjälp av JavaScript uppdaterar på sidan?

Här har du startkoden i HTML:

<html> <head> <script defer src='index.js'></script> </head> <body> <p>Write your todo below:</p> <input type='text' id='todoInput'/> <button onclick='addTodo(event)' id='addTodo'>Add Todo</button> <p>Your todos are shown here:</p> <div id="todos"></div> </body> </html>

Du har alltså id-värdena "todoInput", "addTodo" och "todos" (som kan "lagras/markeras" med hjälp av "document.getElementById()"). Utmaningen nu med enbart JavaScript (för all nödvändig HTML finns redan) är att hämta data från inmatningsfältet (id=todoInput) när du klickat på knappen Add Todo (id=addTodo) vilket då skriver ut den i <div>-elementet (id=todos). Tack vare att alla har id:n så kan du lätt komma åt/manipulera dessa hur du vill!

Startkoden för JS (funktionen körs när du klickar på Add Todo-knappen och förhindrar sidan att laddas om, resten får du experimentera fram en lösning för):

// Starting code for index.js function addTodo(event) { event.preventDefault(); // Don't reload page! // Write the rest of your Todo solution here! }

Tips är att "innerHTML = " _ersätter_ allt inuti HTML även alla nästlade HTML (t.ex. <p>Här var det ingen nästlad text. Men innerHTML på mig skulle ta bort mig. <b>Jag är nästlad, jag försvinner också av innerHTML = om det används på p-elementet!</b> Här är det inte nästlat igen!</p>).

Så du vill kanske använda innerHTML += som då lägger till istället för att ta bort. Men experimentera gärna med båda bara för att få en "känsla" för vad som händer med det ena eller andra. Plus vore också om du kan kontrollera att något faktiskt har skrivits i inmatningsfältet (id=todoInput) innan det skrivs ut i div-elementet (id=todos) för du vill väl inte lägga till något som är tomt?

GL HF! ^_^

Mvh,
WKL.

Ok. Tack 😀 ska kika på det ikv