dharmik
@dharmik@linuxusers.in
45 following 17 followers
- mail at dharmiik [at] proton [dot] me
- i occasionally post in long-form at: https://dhrm1k.github.io
My Vim cheat sheet. A page folded over & in thirds. I got a whole interior side I could use!
Your necessary commands may vary.
Yes, I know how to exit Vim, at least 3 ways, joke is as stale as yo momma.
#vim
@mdhughes Yo momma so fat, she can't exit vim due to insufficient resources.
Sorry, I couldn't help myself.
i released the first version ever of my open source painting program, it's still in early stage but it has the following features:
- No AI, this is a program for real artists
- 100% native, no Web, no Qt, no GTK, no dear imgui
- Advanced Layer System
- Infinite Undo History
- GPU Accelerated Canvas View
- Brush Engine similar to popular manga software
- Bucket Fill with gap closing (proof of concept)
download: https://mrgaturus.itch.io/npainter
cross-posted from: slrpnk.net/post/15995282
Real unfortunate news for GrapheneOS users as Revolut has decided to ban the use of ‘non-google’ approved OSes. This is currently being posted about and updated by GrahpeneOS over at Bluesky for those who want to follow it more closely.
Edit: had to change the title, originally it said Uber too but I cannot find back to the source of ether that’s true or not…
Why would anyone load an app from McDonalds? You want to give them elevated access to your most personal data for a few dollars of coupons?
What are they taking from you that’s worth more than the discounts they are giving you? Because they are definitely making a profit, or they wouldn’t be doing it.
We are definitely in the era where people think discounts before user privacy. I bet most of people downloading the Mcdonald app do it exactly because of cheeper prices and easy of access.
How did you manage to post the same comment 4 times? 🙃
Apple does extensive audit of mobile apps, including limitations of tracking. So the app cannot spy on something you are not letting it to know. But you are giving it a bunch of info voluntarily.
I’d say using that app on iOS is similar to making a food delivery order using a loyalty member ID. Basically, you are letting the company (McDonald’s) know who you are, what is your phone number, where do you live, and what do you like to eat. And if they wish to, they could use all that to purchase your profile from a data brocker. Or they can sell that info for a few cents to make up on that discount.
I don’t think it’s a coincidence that the shittiest companies are those, who enforce Google’s broken and monopolistic “Play Integrity” API. Revolut has connections to Russia, McDonalds supports the Israeli genocide in Palestine and Authy has always just been a massive piece of shit, not even allowing users to export their TOTP seeds. These are three companies I would NEVER even consider using anyway.
And “Play Integrity” API actually does NOTHING, absolutely NOTHING for your security as an end user.
You use an outdated, unpatched Android version with multiple severe, publicly known exploits on an insecure device?
Google doesn’t give a single fuck.
You use the newest version of Android with all the patches applied on Google’s own hardware, with a locked boot loader and a hardened operating system?
That’s not allowed by the “Play Integrity” API.
It’s only purpose is to serve Google’s monopolistic business interests.
for some reason the f-sharp interpreter uses double semicolons (;;) to end statements
wow you use semicolons to separate list elements, yuck
let list123 = [ 1; 2; 3 ]
the type stuff is not as great as haskell's, at least at first
for example, a function `square n = n*n` is typed int->int->int in fsharp (by default), depends on what calls it when compiled
while it is Num a => a->a->a in haskell
in short this means the fsharp version will only work for a single type while in haskell it works for any numerical type
@crmsnbleyd the ML type system allows full inference. Haskell has type classes, but that generally messes up inference in many cases, so the compiler errors are more obscure. My preference has gone from Haskell to Ocaml over time, partly for this reason.
@crmsnbleyd yeah, these semicolon uses are an ML thing, same in ocaml for example
@dharmik Not the alpha, but I'm pumped for the final release!
@dharmik Yep! In combination with @serpentos on a pulse14 from @tuxedocomputers and it actually works really well!
I really struggle to understand the direction of today's society.
For years, we've been saying we need to reduce emissions and consumption, removing chargers from smartphone boxes "to pollute less," then the "AI" comes along and we reopen fossil fuel power plants, increasing consumption and emissions for... well, who knows why!
We make people feel guilty for not switching to an electric car (or one with high energy efficiency), yet we fly for pure leisure, just to get "a few more likes" on YouTube.
We create increasingly efficient electronic devices, focus on the consumption and emissions of data centers (local or remote), and then stop optimizing code and dependencies because "there’s autoscaling" and "resources are cheap."
To me, these are ideological short circuits.
A nice excerpt (especially the last question) from UNIX: A History and a Memoir, by Brian W. Kernighan (2020).
“As an example of how computing hardware has become cheaper and more powerful over the years, a 1978 PWB paper by Ted Dolotta and Mashey described the development environment, which supported over a thousand users: “By most measures, it is the largest known Unix installation in the world.” It ran on a network of 7 PDP-11’s with a total of 3.3 megabytes of primary memory and 2 gigabytes of disk. That’s about one thousandth of a typical laptop of today. Would your laptop support a population of a million users?”
(million = thousand times thousand)
I found this nice install guide for #snac written by @eltheanine and wanted to share.
A basic Debian install with caddy and snac2 installed is truly the simplest, easiest to configure fediverse server there is.
A small set of questions will be asked regarding the installation, specially the host name it will run under, the local network address and port snac will listen to, the optional path prefix and possibly other things.How do i set this questions to run locally. Currently the homepage of snac instance loads on 127but when i submit it automatically adds https in the start.
If you have a domain, it is probably easier to set it up on a throwaway subdomain so federation doesn't matter and you can test then kill the instance without the instance/user keys becoming an issue. Once it all works happily and you're happy woth how it all works, you can then set up fresh on the domain you plan on using for real.
Or... There is an nginx template in the snac man pages (and maybe also the installation files), which could work if you don't want to go through that.
CC: @jase@tail-f.journalctl.uk @sergiodj@snac.sergiodj.net @mookie@shumai.xyz
snac init $HOME/snac-data
, i am given the option to configure it. how do i configure to run it locally? i don't want to run it on my domain but just test it. i have no idea.when i created my first user, it told me to go to https://127..../username but it only worked on 127.../username(without https).
¯\_(𐠗𐃬𐠗꧞)_/¯
Are the changes something that grunfink would want to use, do you think? Or is it just for you, perhaps.
Honestly my changes are mostly adding divs + css classes around stuff, moving some other elements around (like the date/permalink), hiding thing I don’t use… so I really doubt so :>
@romi auw nice themes, is this available for download?
It turns out that you don't need to break down snac into a #CGI part and a crontab part to run it on a cheap shared hosting; you just need to compile both snac and cgi-fcgi statically with #musl.
Figuring out how to do such compilations was not trivial, but in fact it's pretty easy to do.
If everything works as expected, I'll write a little tutorial for anyone interested.
But I'm still not sure it really works...
@dharmik remind me about qutebrowser
if someone is religiously opposed to Electron (as a browser engine, not as a desktop GUI framework—because the latter I'm opposed to too)https://github.com/atlas-engineer/nyxt/issues/2989#issuecomment-1584909937
Nyxt: The Hacker's Browser
Link: https://nyxt.atlas.engineer/
Discussion: https://news.ycombinator.com/item?id=42354691
The solution?
Hit Ctrl-\ Ctrl-N to escape the raw sequence and return to normal mode. You're welcome. #VimLife
split | terminal
splits the window with the machines terminal with #vim, but this is also seems to be mode. typing exit
closes the window.https://gist.github.com/mahemoff/8967b5de067cffc67cec174cb3a9f49d
check,
- https://www.airconsole.com/play/cooperative-games/zombie-attack
- https://www.airconsole.com/play/cooperative-games/friendship
You may not like it but this is what peak OS design looks like.
@adam I wish there was a halfway point between System 7 and MacOS 8 graphic design. Still as flat and simple as 7, but with subtly beveled pushbuttons and other B/W controls and menus, and with the greying-out of background windows and accent colors to make the front window more apparent. Like 3rd party apps did.
Under the hood: Also proper multitasking and memory protection, Quickdraw with bezier paths and transparency, and I wouldn’t mind having AppKit either.
@uliwitness @adam At least it was themeable! All those posts on @macthemes make me nostalgic.
@denis @uliwitness @adam @macthemes I always loved the mashups like https://social.erambert.me/@macthemes/113592316927337756
@kalleboo @denis @adam @macthemes I swear I wasn't nostalgic for System 7 way too early in MacOS 8 already 😅
I started reading up on #haskell and list comprehensions look really cool. Definitely going to keep going down this rabbit hole
@dharmik As an example, here's a list comprehension that just creates a list of integers from 1 to 10 and doubles them:
[x*2 | x <- [1..10]]
You can additionally tack on predicates, so you could do the same operation, but only for the odd numbers in the range:
[x*2 | x <- [1..10], x `mod` 2 == 1]
I read about them on https://learnyouahaskell.com/starting-out#im-a-list-comprehension
I like the idea of this, just wondering if I could do it myself without paying anyone | How I turned my blog into a social media hub #SuggestedRead #devopsish https://www.fastcompany.com/91235471/how-i-turned-my-blog-into-a-social-media-hub
@ChrisShort well do you know how to set up DNS and docker containers?
@ChrisShort okay if you're a kubernetes contributor obviously you do lol
@crmsnbleyd I was referring to the paid micro.blog service (which I don't think is OSS, but I could be wrong).
@ChrisShort yeah but there's ActivityPub plugins for ghost and other CMS's
ideally I would like the web version of the lisp book to be accompanied by an input field with paren-matching and ability to evaluate forms individually, (like eval-last-sexp from Emacs)
jscl seems nice as the backing common lisp compiler: https://github.com/jscl-project/jscl
just need to figure out how to have a nice input field (will I have to build one myself)
One thing I appreciate about Mastodon is that if I slip into a bad habit of scrolling through the feed too much in one day, I start seeing old posts that I've already seen, and then I realize that I'm doing a bad habit, and that helps me stop checking the site too often.
On other platforms they would do anything to prevent that moment of self-reflection from occurring.
@andrewrk Also helps against FOMO. You can eventually go "well now I've seen it all, let's do something else".
@andrewrk
Counter-point (from someone who uses Mastodon primarily as a source of Tech news, with other follows in Lists)
The awesome thing about Mastodon (the web UI anyway) is you can walk away from it for hours, and it'll still be exactly where you left it (unlike the other place which would auto-refresh and send you back to the top), so first thing I do in the morning is scroll down to where I was last up to, and there's no rush to get to the top - come and go, it'll still be where I left it
@andrewrk
Yes, another thing that helps are bots that post hourly - be it photos of space, of cute animals, witty quotes or just the current time. If you come across the same bot too often, it's time to stop scrolling.
@andrewrk I read all of (my) Mastodon feed once a day. I post randomly, but only read notifications when not in that window.