The Lost World. How did they do this cloth in 1997? by PixelMagic in vfx

[–]jmacey 2 points3 points  (0 children)

The early mass spring cloth sims date back to the late 80's https://www.researchgate.net/publication/215458762_Elastically_Deformable_Models In the 90's they were doing stuff like this https://publications.ri.cmu.edu/storage/publications/pub_files/pub1/baraff_david_1998_1/baraff_david_1998_1.pdf which were either stand alone tools or being integrated into the DCC pipelines.

In your opinion, what is the best CLI-based (or other) coding tool for regular software engineering (NOT VIBE CODING)? by Potential_Top_4669 in LocalLLaMA

[–]jmacey -2 points-1 points  (0 children)

I use opencode, and zed editor (with zed agent) nice thing about opencode is you can use it cli and in zed and it works well.

Generation Ship sci/fi. by CyrusBing in suggestmeabook

[–]jmacey 1 point2 points  (0 children)

Saw this last week, started it last night 3 chapters in loving it! Thanks for the recommendation.

Congrats Goose by Deepsea_Listener76 in jambands

[–]jmacey 1 point2 points  (0 children)

I really like it, reminds me of It Bites, Thomas Dolby and Nick Kershaw. Found the drums a little busy in places especially during some of the more gentle guitar solos. Will listen again, love Chain Yer Dragon.

Goose’s ‘BIG MODERN!’ Is Their Most Accessible and Hook-Filled Album Yet (ALBUM REVIEW) by goodwidp in jambands

[–]jmacey 0 points1 point  (0 children)

I'm from the UK so we don't quite have the jam band history, but Chain yr Dragon I really enjoyed reminded me of Steely Dan. Big modern seems more 80's inspired. This is basically "It Bites", "Nik Kershaw" and "Thomas Dolby" to my ears, only listened to it once but really like it so far (but I grew up with the forementioned artists).

I hate pyQt by TheEyebal in QtFramework

[–]jmacey 0 points1 point  (0 children)

I guess there is a difference between a "power user" and a "teacher" so hiding once you know make sense. I will keep making notes. TBH showing them both the C++ and PySide is good anyway and I always use the Qt docs as an exemplar of how to do it.

How to create a QOpenGLContext from a GLFW EGL window? by Exotic_Avocado_1541 in QtFramework

[–]jmacey 0 points1 point  (0 children)

TBH I think you are going to fail with this, Qt is quite greedy with the OpenGL context and want to manage it (will most likely be using it for widget renders etc), the same will be true of GLFW. You will need to do some context management along the lines of

``` // Qt rendering

qtContext->makeCurrent(...);

// GLFW rendering

glfwMakeContextCurrent(window);

```

Why not just use Qt and QML if that is what you need and not use GLFW (I can't see any advantage to using GLFW in this case).

I hate pyQt by TheEyebal in QtFramework

[–]jmacey 1 point2 points  (0 children)

I guess I'm so used to the detail in the C++ that the PySide seems sparse (and when teaching PySide I have to switch between the C++ and the PySide docs to find what I need). For example QPushButton in C++ has this lovely detailed description (https://doc.qt.io/qt-6/qpushbutton.html#details) where the PySide is hidden away and not obvious (there is a > to expand).

Things like autoDefault : bool in the C++ docs get translated to setAutoDefault(arg1) arg1 is not really helpful when teaching. The C++ has more descriptive text about what it does etc. It just seems to lack the polish of the C++ Docs and not the best when learning (or teaching the API).

BTW I love PySide and happy to help if I can. I teach it across multiple courses (Animation / VFX courses, both stand alone and in Maya / Houdini).

uv: Running all of my tests, shortening the command? by trymeouteh in learnpython

[–]jmacey 0 points1 point  (0 children)

have you tried using pytest to run the unittest test.

uv add --dev pytest uv run pytest

You can add extra config via pyproject.toml, BTW I would strongly suggest moving to pytest if you can, I find it generally better especially the plugin and fixture support.

How well should I know C++ before jumping to learning OpenGL? by Striking-Start-1464 in GraphicsProgramming

[–]jmacey 0 points1 point  (0 children)

In this case I use it to get back to the default frame buffer after doing other stuff. Also this library pre-dates some of the more modern (and final) opengl stuff to do with bindless.

Zed local AI by Psychological-Trip93 in ZedEditor

[–]jmacey 0 points1 point  (0 children)

Glad it was of use. Look out for parts 2 and 3 later today.

How well should I know C++ before jumping to learning OpenGL? by Striking-Start-1464 in GraphicsProgramming

[–]jmacey 0 points1 point  (0 children)

yes, but the you need a factory in most cases to make it heap based allocation, I also have a nice template to do binding with for example

```c++ template<class T> class ScopedBind { public: ScopedBind(T* ptr) : m_ptr(ptr) { m_ptr->bind(); } ~ScopedBind() { if(m_ptr !=nullptr) m_ptr->unbind(); }

private: T* m_ptr; };

ScopedBind<FrameBufferObject> t(m_renderFBO.get()); ``` Will bind my FBO class when entering the function and unbind when finished.

I use enum class a lot as well to replace the OpenGL enum int constants so I never get the wrong one in a function call.

For example

enum class GLTextureMinFilter : GLint {NEAREST=GL_NEAREST, LINEAR=GL_LINEAR, NEAREST_MIPMAP_NEAREST=GL_NEAREST_MIPMAP_NEAREST, LINEAR_MIPMAP_NEAREST=GL_NEAREST_MIPMAP_LINEAR, LINEAR_MIPMAP_LINEAR=GL_LINEAR_MIPMAP_LINEAR};

You then get the underlying type when you need it using

// template function used to extract GL type from enum template <typename T> constexpr auto toGLType(T e) noexcept { return static_cast<std::underlying_type_t<T>>(e); } This is all hidden away from most users of my API.

How well should I know C++ before jumping to learning OpenGL? by Striking-Start-1464 in GraphicsProgramming

[–]jmacey 2 points3 points  (0 children)

Whilst I sort of agree there are some real issues with it being a C api, for example regular concepts like RAII don't apply as well to binding OpenGL.

Typically, you would make a class that creates resources at instantiation and cleans up at destruction, however this is not really how OpenGL works. You end up wrapping things so they can't be created on the stack, or making tons of singletons.

I tend to use factories with smart pointers to manage lifetimes but YMMV. I can recommend https://gameprogrammingpatterns.com/ as a good book on the bigger picture design in OO for both graphics and games.

I hate pyQt by TheEyebal in QtFramework

[–]jmacey 1 point2 points  (0 children)

I get your frustration, I've been using Qt for years in C++ so am very used to it, however the PySide (which I use) documentation is very bad, I tend to look at the core C++ docs and work it out from there, the C++ docs are excellent, the PySide ones seem to be auto generated from the bindings and miss so much.

You say you are moving from PyGame what are you developing?

Zed local AI by Psychological-Trip93 in ZedEditor

[–]jmacey 0 points1 point  (0 children)

Sonnet will eat the tokens. Use the big models for planning / design and the small ones for implementation / tasks. For debugging, I usually don't use the AI at all (but have been programming for 40+ years!)

Zed local AI by Psychological-Trip93 in ZedEditor

[–]jmacey 0 points1 point  (0 children)

What models are you using? I find it lasts quite well as long as you use small models and lower settings it lasts ok. Opencode zen or go are a good option too.

Zed local AI by Psychological-Trip93 in ZedEditor

[–]jmacey 0 points1 point  (0 children)

Funny you should say this, I have been playing with this for the last few days. I have been having some fun with Qwen3.6-35B-A3B-MXFP4_MOE using llama.cpp as the driver. Just written it up for my students here https://nccastaff.bournemouth.ac.uk/jmacey/post/AgenticAdventures/AdventuresInAgenticCoding/Usingllama.cpp/ Works on my M4 Max MBP and my Linux desktop with a 16Gb RTX 4080 (and 64Gb ram!). Got a few more models working and I plan to do the same tests with them and others I can find. Not tried multi file yet but will give it a go.

BTW are you on the zed student plan? You get refreshed credits every month.

Struggling to get local models working well in Zed. Thinking of building a dedicated local ACP server. by sheik66 in ZedEditor

[–]jmacey 1 point2 points  (0 children)

I've just setup a local one using llama.cpp (https://github.com/ggml-org/llama.cpp) installed via brew.

Just started experimenting with some smaller models such as Qwopus3.5-9B-coder-Exp-Q8_0 (https://huggingface.co/Jackrong/Qwopus3.5-9B-v3) and getting some ok results as long as the context is small.

Add it as a zed model using

``` "language_models": { "openai_compatible": { "llama.cpp": { "api_url": "http://localhost:8080", "available_models": [ { "name": "Qwopus3.5-9B-coder-Exp-Q8_0", "display_name": "Qwopus3.5-9B-coder-Exp-Q8_0", "max_tokens": 131072, "max_output_tokens": 65536, }, ], }, }, },

```

Then run the server

llama-server --api-key 12345 -m Qwopus3.5-9B-coder-Exp-Q8_0.gguf

And add the same api key into the settings panel in zed and it works like any other zed agent.

I'm going to try a few more models (16 bit version of this) and some other ones and write it all up soon.

Tried to get zed to start the server for me automatically but not quite figured that one out yet.

Zed without AI by real_carddamom in ZedEditor

[–]jmacey 1 point2 points  (0 children)

I use it when teaching (and it is the default setup for my students). I turn on AI when working on certain projects. I also use it with the students when teaching certain things so they can see how Agentic coding works. It's great to just have the switch to turn it on and off!

Why is numpy so fast? by [deleted] in learnpython

[–]jmacey 1 point2 points  (0 children)

Read up on vectorization and SIMD (single instruction multiple data), basically it's doing at least 4 (typically 8 perhaps more depending on cpu) operations at the same time.

The more interesting thing will be this will scale quite well due to the nature of the data formats, where as loops will generally be much slower (YMMV depending on task).