HNHacker News
TopNewBestAskShowJobs

jpm48

124 karma · joined May 11, 2020

submissionscomments
jpm48··on Ask HN: Please share your experience teaching your kids to program
This is how I learnt loads of great magazines in the 80's in the UK with code in, you spent hours typing it in. It didn't work and you fixed it (that's how I learnt to debug!). The next week the corrections were usually published, good times.
jpm48··on Getting started with C
One of my biggest bugbears on C / C++ programming is return 0; I wish people would #include <stdlib.h> /<cstdlib> and use EXIT_SUCCESS / EXIT_FAILURE just to make the code more obvious for the beginner on what the intent is. :-) To quote the "zen of python" "Explicit is better than implicit" we know what "SUCCESS" or "FAILURE" is! And we can use enums for other exit values.
jpm48··on Pixar's Universal Scene Description Now on Pypi
python is the front end, a language that most Technical Artists use and know well. If you look at the core libraries behind this you will see some really good modern C++, including other libraries such as OpenImageIO, OpenColourIO OpenSubDiv etc all of which are C++ (including SIMD and CUDA routes for most).
jpm48··on Pixar's Universal Scene Description Now on Pypi
I must say the new build scripts on GitHub work really well now. Our Lab build is built via these scripts. It's also on vcpkg as well if you use that.
jpm48··on Reveal.js: HTML presentation framework
I use https://asciinema.org/ for terminal capture. Works really well and can embed into slides. Here is an example from one of my lab sessions https://nccastaff.bournemouth.ac.uk/jmacey/msc/ase/labs/lab1...
jpm48··on Reveal.js: HTML presentation framework
I use this for all my lectures. Thanks for all the great work makes my life so much easier. Click on the links to see the slides!

https://nccastaff.bournemouth.ac.uk/jmacey/Lectures/

jpm48··on Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance
Vertex array objects are not which can be a bit of a pain.
jpm48··on Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance
OpenGL is single threaded with a single state machine (ok there are some atomic supports via extensions). Vulkan allows you to manage the stream so you can multi-thread. This allows you to update more that 1 state at a time, for example in OpenGL loading textures and mesh data at the same time can't happen easily. In vulkan you can tune this yourself. (this is a very simplistic example). I usually say that Vulkan is more akin to you writing the graphics driver. Where as OpenGL gives you the driver.
jpm48··on How to Dual-Boot Ubuntu 20.04 and Windows 10 with Encryption
I use matlab under linux it works fine for my usage is there anything specific that doesn't work that means you need windows?
jpm48··on Adobe XD for Visual Studio Code
You can do most things AE will do with a combination of Natron and Blender.
jpm48··on Introduction to Computer Graphics Online Textbook (2018)
Wow OpenGL 1.1 in 2018! then to Three.js which doesn't use any of the 1.1 API. Weird.
jpm48··on WebGL Fluid Experiment (2014)
Specifically for fluid (and similar) you could have a play with mantaflow http://mantaflow.com/ it's relatively easy to build (you will need Qt and Python). Houdini (free apprentice version will work for fun) is great for particle effects and this sort of stuff as well https://www.sidefx.com/
jpm48··on Procedural cityscapes creation: Openstreetmap import in Unity and Houdini Engine
Have a look at Gaffer, it's a great FOSS alternative node based vfx system. https://www.gafferhq.org/ can be a pain to build but really cool.
jpm48··on Terry Tao on some desirable properties of mathematical notation
you could try something like https://mathpix.com/ and then look up what the LaTeX symbol is.
jpm48··on CUDA on Windows Subsystem for Linux 2
Just done some more reading around and it seems most people are using docker in WSL to get things work! This seems overkill to me. I usually just write CUDA code in linux and use it. Am I missing something?
jpm48··on CUDA on Windows Subsystem for Linux 2
This is quite light on detail, have just installed, was thinking that nvcc would be installed to WSL2 as part of the process. It wasn't so did it via apt which worked fine. Built a sample (with some hacking of the SM versions which should be higher as I have an RTX) and when I run the basic Matrix mult demo get code=38(cudaErrorNoDevice) Anyone else had any luck?
jpm48··on A gentle introduction to pointers using C (2019)
Another good trick for seeing what headers (and the pre-processor) does in general is using the -E flag (for gcc / clang) it will show the file with the headers included so you can see what happens. This is really useful when using macros and include guards to see what you are getting. clang -E myfile.c > pre.txt will give you an editable file to see what is going on.
jpm48··on A gentle introduction to pointers using C (2019)
To quote K & R "In C, there is a strong relationship between pointers and arrays, strong enough that pointers and arrays should be discussed simultaneously" ... however they also say "Pointers have been lumped with the goto statement as a marvelous way to create impossible to understand programs". I use both these quotes in my lectures.
jpm48··on GitHub Classroom
I've used this https://gource.io/ for a good overview of group work then the build in analytics. Most of what I do is to download and run the code on my local machine, but I also ask for unit tests which help with the grading. All code is mainly C++ / OpenGL with python sometimes.
jpm48··on GitHub Classroom
No grades are on there and all the repos are private by default, yes MS get the info of the code (I've been using it since before the take over of GitHub). I think the students having public GitHub repos are good for CV / Job prospects anyway.
jpm48··on GitHub Classroom
I've been using it for all my programming units for a number of years. Whilst I don't use all of the features the main bonus for me is making the students commit code regularly and see the progress (or not!).

It also has a number of advantages, I have lost count of the number of times I have been sent screen shots of error messages (even camera photos of a screen). I now insist that all errors a reported via issues.

This means I can fix / push code for problems and track what I have done.

It also helps with plagarism as I can usually see the progress of students work with regular commits rather than one project that appears straight away via normal submission processes.

For group work there are a number of tools to do analytics on who did what etc so it make seeing how well the group has worked.

Now we are moving to online, I'm thinking of adding some of the CI / IDE features that are being introduced to help with Lab exercises, however in our area (Animation and Games) this is not ideal as a lot of what we do is visual / interactive.

jpm48··on Microsoft Surface Go 2 review
I found windows to be getting too slow and sluggish, switching to Linux has made it much better, also battery seems a little better too.
jpm48··on Microsoft Surface Go 2 review
I've installed Pop!_Os on my Surface Go as the primary OS (deleted Windows) and it works really well. A few issues with the touch screen but I just disable that anyway. Using it for coding in C++ and Python and it works well.
← PreviousPage 2 of 2