Readit News logoReadit News
iLemming commented on Man who videotaped himself BASE jumping in Yosemite arrested, says it was AI   latimes.com/california/st... · Posted by u/harambae
onetokeoverthe · 3 days ago
>>A license plate reader detected his car entering the national park on Oct. 7 and leaving Oct. 8,

This flock stuff is b.a.d.

iLemming · 3 days ago
It's not even the fact that digital evidence is being used in courts these days, the disturbing thought is, all in all, that it's not that implausible for malicious actors to fake anyone's activity. How would you prove that you weren't at the crime scene when there's a digital footprint of your phone's GPS data, corroborated by (albeit not crystal clear) images and video?
iLemming commented on Show HN: Micropolis/SimCity Clone in Emacs Lisp   github.com/vkazanov/elcit... · Posted by u/vkazanov
zackmorris · 4 days ago
I believe that "functional core / imperative shell" (FCIS) is the future of programming:

https://medium.com/ssense-tech/a-look-at-the-functional-core...

The idea being that business logic gets written in synchronous blocking functional logic equivalent to Lisp, which is conceptually no different than a spreadsheet. Then real-world side effects get handled by imperative code similar to Smalltalk, which is conceptually similar to a batch file or macro. A bit like pure functional executables that only have access to STDIN/STDOUT (and optionally STDERR and/or network/file streams) being run by a shell.

I think of these like backend vs frontend, or nouns vs verbs, or massless waves like photons vs massive particles like nucleons. Basically that there is no notion of time in functional programming, just state transitions where input is transformed into output (the code can be understood as a static graph). While imperative programming deals with state transformation where statically analyzing code is as expensive as just running it (the code must be traced to be understood as a graph). In other words, functional code can be easily optimized and parallelized, while imperative code generally can't be.

So in model-view-controller (MVC) programming, the model and view could/should be functional, while the controller (event handler) could/should be imperative. I believe that there may be no way to make functional code handle side effects via patterns like monads without forcing us to reason about it imperatively. Which means that impure functional languages like Haskell and Scala probably don't offer a free lunch, but are still worth learning.

Why this matters is that we've collectively decided to use imperative code for almost everything, relegating functional code to the road not taken. Which has bloated nearly all software by perhaps 10-100 times in terms of lines of code, conceptual complexity and even execution speed, making perhaps 90-99% of the work we do a waste of time or at least custodial.

It's also colored our perception of what programming is. "Real work" deals with values, while premature optimization deals with references and pointers. PHP (which was inspired by the shell) originally had value-passing semantics for arrays (and even subprocess fork/join orchestration) via copy-on-write, which freed developers from having to worry about efficiency or side effects. Unfortunately it was corrupted through design by committee when PHP 5 decided to bolt-on classes as references rather than unifying arrays and objects by making the "[]" and "." operators largely equivalent like JavaScript did. Alternative implementations like Hack could have fixed the fundamentals, but ended up offering little more than syntactic sugar and the mental load of having to consider an additional standard.

To my knowledge there has never been a mainstream FCIS language. ClojureScript is maybe the closest IMHO, or F#. Because of that, I mostly use declarative programming in my own work (where the spec is effectively the behavior) so that the internals can be treated as merely implementation details. Unfortunately that introduces some overhead because technical debt usually must be paid as I go, rather than left for future me. Meaning that it really only works well for waterfall, not agile.

I had always hoped to win the internet lottery so that I could build and test some of these alternative languages/frameworks/runtimes and other roads not taken by tech. The industry's failure to do that has left us with effectively single-threaded computers which run around 100,000 times slower today (at 100 times the cores per decade) than they would have if we hadn't abandoned true multicore superscalar processing and very large scale integration (VLSI) in the early 2000s when most R&D was outsourced or cancelled after the Dot Bomb and the mobile/embedded space began prioritizing lower cost and power usage.

GPUs kept going though, which is great for SIMD, but doesn't help us as far as getting real work done. AI is here and can recruit them, which is great too, but I fear that they'll make all code look like its been pair-programmed and over-engineered, where the cognitive load grows beyond the ability of mere humans to understand it. They may paint over the rot without renovating it basically.

I hope that there's still time to emulate a true multiple instruction multiple data (MIMD) runtime on SIMD hardware to run fully-parallelized FCIS code potentially millions of times faster than anything we have now for the same price. I have various approaches in mind for that, but making rent always comes first, especially in inflationary times.

It took me over 30 years to really understand this stuff at a level where I could distill it down to these (inadequate) metaphors. So maybe this is TMI, but I'll leave it here nonetheless in the hopes that it helps someone manifest the dream of personal supercomputing someday.

iLemming · 4 days ago
IIRC it was Gary Bernhardt who formulated the name for the pattern: https://www.destroyallsoftware.com/talks/boundaries
iLemming commented on Show HN: Micropolis/SimCity Clone in Emacs Lisp   github.com/vkazanov/elcit... · Posted by u/vkazanov
DonHopkins · 4 days ago
Fantastic! Can you make Emacs shake the screen by scrolling vertically and horizontally whenever there's an earthquake?

Finally RMS can play SimCity.

iLemming · 4 days ago
something like

    (zone 'zone-pgm-dissolve)

iLemming commented on Flameshot   github.com/flameshot-org/... · Posted by u/OsrsNeedsf2P
figmert · 10 days ago
Flameshot isn't great on macOS, does anyone know of a good open source alternative they would recommend?
iLemming · 10 days ago
> Flameshot isn't great on macOS

What do you mean? For what it does, it absolutely works nicely on mac.

iLemming commented on Flameshot   github.com/flameshot-org/... · Posted by u/OsrsNeedsf2P
socalgal2 · 10 days ago
This has the same issue as most screenshot software, it's out of date relative to modern devices. Every Mac laptop for the last ~4 years has an HDR display. Many windows devices are also HDR. But this app doesn't capture HDR.

I tried putting up an HDR image and then capturing the screen. All HDR brightness was gone from the image.

I get it's not easy per-se. It wasn't until MacOS Tahoe that Apple's own screen capture on Mac started supporting HDR. Windows 10/11, AFAIK, only supports HDR through the XBox Game Bar's capture. Apps like ShareX still only capture SDR.

I mostly bring that up because I have apps the draw HDR and spent some time trying to find ways to add tests that we're actually getting HDR on the screen using screen captures. I hit a wall and gave up (2021).

iLemming · 10 days ago
Honest and maybe stupid question. What does enabling HDR on Mac actually does? I have Samsung Odyssey, and turning it on for me only slightly dims the brightness of the display and rather feels uncomfortable to me personally, so I keep it off. What benefits (or drawbacks) should I expect when having it on? I spend most of my time in my terminal, my editor (GUI Emacs) and browser. I rarely have to edit photos or videos, do I still need it, I wonder.

update: turns out, for my specific case of the display model, it seems it's better to keep it off, otherwise the colors are not as vibrant.

iLemming commented on Flameshot   github.com/flameshot-org/... · Posted by u/OsrsNeedsf2P
KomoD · 10 days ago
> and have it dump to s3 so I can paste around links to screenshots everywhere for work.

I wanted something like this too but I modified Flameshot so I don't need a bash script in-between.

Flameshot already has a feature to upload to Imgur so I modified that and also added some small things (like randomized file names, some new config options).

iLemming · 10 days ago
> Flameshot already has a feature to upload to Imgur

Didn't they remove it though? Because someone complained about "privacy" or something? Devs promised to bring it back as the plugin, but I wasn't following progress on it, I don't know if that happened yet.

iLemming commented on Any application that can be written in a system language, eventually will be   avraam.dev/blog/system-la... · Posted by u/almonerthis
Grosvenor · 13 days ago
Lisp?

I'm always surprised when agents aren't working directly with the AST.

iLemming · 12 days ago
btw. Clojure (modern Lisp dialect) been said to be very token efficient.

https://martinalderson.com/posts/which-programming-languages...

iLemming commented on I set all 376 Vim options and I'm still a fool   evanhahn.com/i-set-all-37... · Posted by u/todsacerdoti
Shellban · 20 days ago
Another Emacs user here. I would argue that even Emacs is a bit of a struggle sometimes. More modern editors like Sublime Text, Kate, or even Notepad have an advantage of being intuitive. Typing on a letter always outputs that exact letter. The shift key does one thing and one thing only. Mouse integration allows for rather precise cursor placement in a way that utilizes a human's natural hand-eye coordination. The shortcuts that they do use are common across the OS (no need to remember if the copy you need is Ctrl+A - W, Ctrl+W, Ctrl+Shift+C, or Ctrl+C).

Part of the issue is that operating systems have gotten more advanced and more standardized since Vi and Emacs were originally built. However, there is the case that UI designers have learned a lot over the decades. I like Emacs as well, especially when I am doing sysadmin work. However, I have to admit that it is not always intuitive. And even Emacs is more intuitive compared to the modal-nature of Vi.

iLemming · 19 days ago
> have an advantage of being intuitive

Emacs is incredibly intuitive - with a caveat. Once you internalize the model, things become incredibly intuitive. I love that EVERY single keypress, mouse movement and button press is nothing but the association to a piece of Lisp - documented, always available, fully modifiable, debuggable, profilable source. The intuition required is for Lisp only; once you grok that part, Emacs becomes an irreplaceable ally - nothing even comes close to what you can do in it with text.

And btw, Emacs is inherently a modal editor - just like Vim. Only because you're not using modality for "text editing", it doesn't mean it is not.

u/iLemming

KarmaCake day2254February 14, 2015
About
@iLemming

[ my public key: https://keybase.io/agzam; my proof: https://keybase.io/agzam/sigs/La7qFk8YkbwfkgeSx7vkBWBba2f3HIpZyNVxUHvshbU ]

View Original