pleb's avatar
pleb
_@satstack.dev
npub1dxs2...n4st
Have I done something for the common good? Then I share in the benefits. To stay centered on that. Not to give up.
pleb's avatar
pleb 2 months ago
Good morning. running Chromium and using its password manager? It uses an unencrypted sqlite database for your secrets ``` $ file ".config/chromium/Profile 1/Login Data For Account" .config/chromium/Profile 3/Login Data For Account: SQLite 3.x database, ... sqlite3 ".config/chromium/Profile 1/Login Data For Account" sqlite> .tables insecure_credentials password_notes sync_model_metadata logins stats meta sync_entities_metadata sqlite> SELECT * from logins; ... ``` if you're on Linux, Chromium integrates well with system keyrings like KDE wallet. that means it'll encrypt your secrets and unlock them when you log in. This can be especially nice if you restart a system frequently. I restart one of my systems once or twice daily, and unlocking Bitwarden is getting a bit tedious. ``` chromium --password-store=kwallet chromium --password-store=gnome ``` if you use nix, you can set a policy to have Chromium use the system keyring (kwallet). Here's my NixOS policies for Chromium: ``` programs.chromium = { enable = true; extraOpts = { # "SpellcheckEnabled" = false; "DefaultSearchProviderEnabled" = true; "DefaultSearchProviderName" = "Kagi"; "DefaultSearchProviderSearchURL" = "https://kagi.com/search?q={searchTerms}"; "SearchSuggestEnabled" = false; "DefaultSearchProviderSuggestURL" = ""; # 1=Allow, 2=Block, 3=Ask "DefaultGeolocationSetting" = 2; "DefaultClipboardSetting" = 2; #"DefaultNotificationsSetting" = 2; # "PasswordManagerEnabled" = true; "PasswordStore" = "kwallet6"; }; }; ``` Is there a setting that you always toggle when you create a profile? you can declare it here has a policy, forever. if you use nix home-manager, you can configure extensions that'll always be present in all your profiles ``` chromium = { enable = true; extensions = [ { id = "nngceckbapebfimnlniiiahkandclblb"; } # Bitwarden ]; }; ``` the home-manager module even supports doing that for other derivatives of chromium ``` chromium.package = pkgs.brave; ``` Bitwarden's UI got re-hauled last year and I haven't liked it as much ever since. Using it on my desktop which has long-lived boot sessions makes sense. Using it on my VR machine/workstation makes less sense these days.
pleb's avatar
pleb 3 months ago
Roasted jalapeño slathered in @Oshi (推し) holdbutter is quite a declious new treat 😋 image
pleb's avatar
pleb 4 months ago
couldn't buy my groceries today because moonpay authentication is broken for me. It won't send the verification code email and they don't support something simple like TOTP yet. Then I found that even if I prepay a visa card using bitcoin company, when I try to view that card from a US IP address cloudflare blocks me. Okay. So I use an EU vpn endpoint and get the visa card details. Then when I try to add that visa card to my grocery store account, it fails and the UI says unknown error. But inspecting dev console, I can see the XHR response says AUTHORIZATION DENIED. Sigh. All this would go away if A) grocery store gift cards were available on sites like bitcoin company, coincards or bitrefill B) My grocery store accepted Bitcoin directly We're still early..
pleb's avatar
pleb 5 months ago
I interviewed some 20 yr old kid today and I feel like 140 years old now image Q: What kind Linux do you use? A: Amazon Linux Still better than the guy I interviewed yesterday, who very clearly confabulated his resume and has almost no technical background whatsover. Apparently HR is sorting candidates by requested salary range
pleb's avatar
pleb 8 months ago
I looked for a non-janky sidebar/extension for Chromium to add LLM integration but came up short. So trying it out with Brave. It let's you add openai api-compatible endpoints, so I dropped in my local litellm instance. This way I can bring my api key and use claude (Brave wants to charge a subscription fee for the same thing). image Text copypasta in case you want to try it: - Model request name: `claude-3.7-sonnet` - Server endpoint: `http://127.0.0.1:8031/v1/chat/completions` - System Prompt: > The current time and date is %datetime%. You are **Pleb**, a helpful AI assistant. Assist web browser users with clear, concise, and technical responses. **Guidelines:** - **Conciseness:** Keep responses under 6 sentences or 80 words. And here's the relevant part of `litellm.yaml`: ``` model_list: - model_name: claude-3.7-sonnet litellm_params: model: anthropic/claude-3-7-sonnet-latest api_key: os.environ/ANTHROPIC_API_KEY ```