2,259 karma · joined December 30, 2007
* Application architecture, * Seismic loading and processing, * Cross-platform full stack applications C++, Qt5, * NVIDIA CUDA, * Application sand-boxing with Docker on Linux, * Build tooling including Python3, CMake.
Past experience
* Microsoft C++ and MFC application architecture and implementation, * Microsoft .NET stack, * iOS and macOS application programming, * 7 years of experience supporting IHS Kingdom.
Additional Interests
* Programming language development, * Functional programming.
You can reach me at jonathan.watmough@gmail.com
The rats dig it.
Explanation linked from same page: https://www.assemblyai.com/blog/diffusion-models-for-machine...
I let my iPhone sleep the display too quickly for ages, before I finally went digging for some option to fix it.
I guess it's clear where Apple are going with macOS, but we don't have to like it.
https://www.google.com/search?channel=fs&client=ubuntu&q=ult...
And if you want a real tangible example of cavitation, albeit via microwaves rather than focussed ultrasound, take a look at any plastic food containers that you microwave regularly. You'll likely be able to see food that has been 'jetted' into the plastic.
$$$ but can be had for 40% off.
A good spec with the nice screen and discrete graphics is < $3k.
Upsides: Great for Ubuntu, everything just works. Screen is beautiful. Keyboard is brilliant.
Downsides: Can get hot. Battery life sucks. Still 11th gen - Tiger Lake.
However, no screen brightness control, no sound or YouTube currently. And there's some page size weirdness that means Chrome/Electron (?) is not usable, so no VS Code.
If you can live with that, it's so nice having Linux on the M1 hardware.
Manual
https://www.agner.org/optimize/vcl_manual.pdf
GitHub
https://github.com/vectorclass/version2
Even for trivial stuff like linebreaking input files, massive speedups are there for the taking.Sniff, already superceded by Alder Lake.
Also, see related video here
CppCon 2015: Andrei Alexandrescu “Declarative Control Flow"
https://youtu.be/WjTrfoiB0MQ?t=1046The 8 and 11 have been made. There was a PiDP-10 in progress, but not sure what the status is on it currently.
* The Dockerfile describes my development environment,
* I can replicate this environment just by setting up Docker and copying a few files,
* I can run my development/run-time environment on *fast* AMD Ryzen 9 hardware that causes a real CentOS 7 kernel to panic at boot.
For me, in practical terms, I can do a build in 6 minutes versus 25, when compared with my work laptop (2019 Razer Blade 15)However, communication is a two-way process, and the following have been important to me in my career journey:
* Understanding when to listen instead of talking,
* Asking open-ended questions that provide opportunity for other viewpoints,
* Empathizing with others', including understanding their expectations.
I guess the older I've gotten, the more value i've gained from just listening.I just got through doing some work with vectorization.
On the simplest workload I have, splitting a 3 MByte text file into lines, writing a pointer to each string to an array, GCC will not vectorize the naive loop, though ICC might I guess.
With simple vectorization to AVX512 (64 unsigned chars in a vector), finding all the line breaks goes from 1.3 msec to 0.1 msec, so a little better than a 10x speedup, still just on the one core, which keeps things simple.
I was using Agner Fog's VCL 2, Apache licensed C++ Vector Class Library. It's super easy.
Maybe not so much of a fallacy when you look at how developer management currently works in most mainstream companies.
It really does seem more geared to going slowly, and making each tiny step be recorded in some system.
Using Clojure changed my life somewhat, as at some point I rewrote 2000 lines of C++ (to handle splitting and coalescing NAESB cycle pipeline nominations) in about 27 lines of pattern-matching Clojure, and just no one, no one would take it seriously. A usable UI in Swing to manage it wasn't much more, and was cross-platform. Not a fun experience overall, I ended up quitting that company, doing iPhone dev for a bit, then moved back into G&G.
Other than that rewrite experience, I just used Clojure like I used to use Perl. Easy to bang something out in, and performant native Java libraries for things you might not expect, like low-level SQL Server (2005 at the time!) and Oracle (8 at the time) drivers.
I'm back mainly as a C++ developer now in visualization and HPC.
The 13" MBP M1 has been the best, apart from the wretched touchbar.
I would echo your experience. macOS has gone significantly downhill overall, in terms of sheer ugliness and hassle to use as a developer box. I'm think about the continual prompts for running software and allowing access to folders etc., incredible difficulty in getting non-macOS frameworks like SDL etc., to run.
It's no longer worth the hassle.
My work Razer Blade 15 runs CentOS 7. My MBP M1 runs Asahi. And this Lenovo is running Ubuntu 20.04. Gnome on all of them, and by and large, much much better experience than either current Windows or macOS.
Pretty good vocabulary really.
Seriously, there's lots of treatments. Lots of different side-effects. Between you, you'll experiment until you find something that works, and you may manage to be in a much better place than you were.
Right now, you really have no idea if you have depression or severe anxiety.
This isn't like cancer. You won't be dead in 5 years. Go get treatment, and keep your life and your job.
This is in N.E. Scotland, back in about 1991. The funny thing was that my dad was a total skeptic on this, and such other 'discredited' things as spoon-bending, and even he had to admit the guy had some not easily explainable talent.
https://archive.cs.st-andrews.ac.uk/papers/download/MBC+88.p...
In short imagine Java or C++ objects, but they can live in a soup in a persistent database.
Imagine if your programming assignments at school, were "open this database then write a client to talk to the object retrieved." That's what we actually had in PS-Algol in 86. Super cool!
There is a lot of work out there managing Oracle installs, populating databases, and all the other duties associated with running Oracle instances.
There's plenty of scope for programming, and the work should be more regular hours and less stressful on the whole than an entry-level programming job.
Additionally, it should be reasonably easy to break into the field via the various certifications, and the tools and DB itself are accessible for self-directed learning.
Super slick. No issues.
If anyone wants to give me $6 Million, with 100% return in the event of my death, I'm all ears.
Other than that, I sometimes need to reboot to pick up my Logitech webcam correctly, when working at home.
Otherwise, it really seems pretty decent. This is on a 2019 Razer Blade 15" with 40 GB dram.
Loving my current position(s) way too much.
But also, if I did leave the field with some cash, I’d probably go be a backwoods flight instructor.
My kids will love it.
If you don't blanche at spending $100+ on a single towel. ;)
After that I installed CentOS 7 on machines I use for work development, including a desktop, and my Razer Blade 15. Our products are RHEL / Windows, and most everything I care about can be made to work pretty well on CentOS 7, including Teams, VS Code, CUDA, Python etc. A few things, including cmake work a heckuva lot faster in fact.
Other machines I have mostly run MacOS (anxiously awaiting Ashai Linux!) or Elementary OS, which is pretty awesome.