Python is the first to ever have true client side processing. It was
ahead of its time. And i blame Guido for doing it and stating down
that path.. Personally i feel it was never what the web was
I don't understand. Was there an early experiment that put Python inside a browser? And if so, what did it do? DOM level 1 didn't appear until 1998, and by then Javascript was already in widespread use.
True 100% client-side web applications weren't really feasible until DOM level 2 or 3, in th mid 2000s... before that, you really needed a plugin like Java or Flash.
What was the web "supposed to be?" Tim Berners-Lee might have agreed with you that it was only supposed to be a document management system. Marc Andreesen seemed to know that it would become a platform, but he may not have fully grokked the technical details. I think it was Sun's vision of "network computing" that was the most prescient -- all software dynamically loaded from a remote server at runtime, all storage behind the glass, the platform software itself being the only thing persistently loaded on the local device -- they really nailed it one hundred percent, except the technology ended up being HTML5+DOM+Javascript instead of Java.
Clang 13 flatly refuses to auto-vectorize, though I might be able to
force it with #pragmas.
I've been staring at this for two weeks and I really wish I understood it.
:(
2021-12-07 10:07 from IGnatius T FoobarClang 13 flatly refuses to auto-vectorize, though I might be able to
force it with #pragmas.
I've been staring at this for two weeks and I really wish I understood
it.
:(
It was my first foray into vectorization and it was a silly concept that doesn't easily benefit from vectorization, so kind of doesn't matter that clang doesn't handle this case.
What it is, is the inner loop of a sieve of eratosthenes; the loop that goes through a flag array and marks multiples of the current prime as composites.
It has a couple of optimizations in that it's based on a modulo-6 wheel: see https://en.wikipedia.org/wiki/Wheel_factorization
With a mod-6 wheel, all prime candidates will have either n mod 6 == 1 or n mod 6 == 5. This means that we can skip certain multiples and that every time the wheel repeats, there are two increments: either 2 or 4. That's why the loop has two increments, rot1 and rot2 - it marks off prime candidates in a specific repeating pattern characterized by rot1 and rot2.
Anyway, it doesn't vectorize well because there's no reason that the stores fall in the same vector register. There's another loop in a full implementation that *does* vectorize well, that's the count-the-true-flags loop that comes next.
I learned far too much about AVX2 and AVX512 a couple weeks ago :)
If any of you use TKinter ( python ) there is a cool library i just ran across that finally makes things look like its 2022, not 1995.. https://github.com/TomSchimansky/CustomTkinter
Since many of the other tool kits are so commonly used now ( both desktop and web ) you will get some debate on what is "it", but TKinter is still what ships with every flavor, so id still consider it the 'officially blessed' one..
Donno anything about a TCL interpreter tho. My understanding is TKinter is native, just 'stolen' from TCLs TK.
Tk was originally written for the purpose of adding graphics to Tcl applications, but Tk itself is written in C. This means that Python programs using Tkinter do not use Tcl at all.
For some reason, I thought Tk was written *in* Tcl. Oh well. Again it probably doesn't matter much now, because even for locally hosted applications the primary toolkit now is "The Browser".
There re still people doing fat client stuff, but i agree not as many.
Didn't realize TK was written in C originally. But i guess it makes sense at the time.
On the desktop side, Qt is still quite strong. GTK adoption is meh except for a few programs that were originally Linux only. The big one these days is Electron. Even the beast of Redmond is using Electron (Teams client, Visual Studio Code, to name a few). It's a win because you can target all three desktop platforms plus a web UI in one shot; on the other hand, it's a lose because it's basically an entire copy of Chrome with all the disk and memory footprint that entails.
Mobile is no exception; new apps are seldom written only for Android or only for Apple anymore, and much of the time they're using cross-platform toolkits such as Xamarin that can be used to build apps across different devices.
That's why my 64 GB phone can no longer fit all of the apps I want anymore: most of them are carrying hundreds of megabytes of cross-platform runtimes with them.
No wonder the console is making a comeback :)
I'm so proud of myself. I just put something in a script that is not Year 2100 Compliant. :)
(It's not something huge, just a Build ID for display purposes; I used a two digit year + a three digit julian date. It will wrap around half a century after I'm dead but it won't actually break anything.)
It's kind of fun to get into the mindset people might have had in the mid 20th century. 2000 seemed so far away, even in the late 1970s when I started programming (yes I was a tiny tot). Maybe it was the millenium change that gave it a "futuristic" vibe.
And before you ask, yes all of my code is Year 2038 Compliant. I'll be 67 and hopefully still coding, and I don't want to deal with it.
I got a lot of job offers in 1999... "COBOL wizard come help us. we will pay you almost anything!" ( ya, for a year tops, then its "the world didnt end, so we gotta let you go now" )
i was working at the time, at the place i thought i would stay at forever. So not worth the risk. ( forever, at least until that damned new CFO came in and bankrupted us, on purpose.. i have told that story before )
Couple years later i also got a job offer from a friend out in Colorado. They were migrating from windows to Linux and needed a data center manager. ( long term, not just for the project. ). But i liked where i was and really didnt want to move 1/2 across the country even if it was 2x what i was making at the time. Couple years later, the friend left. He wasn't able to deal with their business model. ( it was a streaming/filming porn place, with live actors on site ). Not that it would have botherd me as i dont care what consenting adults do and it wasn't like i had to participate, just be the 'it guy', but he 'found god' and couldn't stay. A year or so later new CFO arrived, and it all collapsed in a blink of an eye, so in hindsight i should have took him up on the offer.
Hmm i must not be paying attention.
A 'native' HTML GUI widget kit for python that runs in its own browser. Sort of neat. Ran across it looking at pysimpleGUI again, which is sort of a 'metawrapper' around several underlying widget toolkits.
"Remi"
Lots of people complained and they eventually put a web server into the hardware.
Unsure if this will run remote yet ( without tricking it with a proxy ). But I thought of that too. Not had a chance to try.
Shoot, forgot to look at this. been busy. Ran a quick demo, and yes, its remotely accessible, not just localhost.
Fri Jul 29 2022 08:18:00 AM EDT from Nurb432Unsure if this will run remote yet ( without tricking it with a proxy ). But I thought of that too. Not had a chance to try.
Starting to mess with virtual environments to try to mange dependencies and publishing .. anyone use pipenv?
I've used a couple of different approaches to venv's. Apparently the built-in module based approach is now the preferred way to run `pip`
I think have some of it sorted out, now if i can figure out how to get my IDE to run to edit the environment like it as inside it but not be inside it so i dont have all the cruft of the IDE being included in the final build.
( it looks like thonny supports environments, so i would assume spyder does )