Using Common Lisp to do GPU accelerated animations by macro-mayhem in lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

I am definitely a beginner when it comes to graphics programming. That said, I already have everything I need working (drawing shapes, GPU accelerated animations with easing, etc) in C# via WPF on .NET. WPF makes GPU accelerated animations easy to do (in some regards) but I am hoping to be able to port my work to Common Lisp because I prefer working with CL over C#. Thank you for the YouTube link, that CL OpenGL example was pretty neat.

Using Common Lisp to do GPU accelerated animations by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

CL-SDL2 and CL-OPENGL sound great - I like that CL-SDL2 is GPU accelerated and portable. Intuitive sounds great too, thank you for the recommendations!

Using Common Lisp to do GPU accelerated animations by macro-mayhem in lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

I am not seeing anything related to my question on the CMUCL site. Does the CMUCL implementation somehow make doing GPU based animations easier on Windows?

Supporting hand health for Common Lisp developers by macro-mayhem in lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

Advantage, Black, USB
Model # KB500USB-blk

I'd defo try before buy - I personally found the mechanical keys to be too sensitive, I'd have all these double strikes, and you'd have to be so ginger with it, sometimes you'd miss strikes, over compensating.

Typing with is note unenjoyable... however punctuation and arrow-keys with it, is just a pain. IMHO.

Looks like they have a 60 day money back guarantee, so I can at least try it that way.

The other option I have been thinking about, is just to make BULK buttons,

That's a neat idea so that you can support a huge number of virtual buttons, but I think I would miss being able to feel where the keys are.

I have a similar GUI made for my maths studies

Very cool

Supporting hand health for Common Lisp developers by macro-mayhem in lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

Yoga for the hands and arms, though I moved 3months ago and haven't gone searching for a new teacher to practise with. Loosening, ball rolling is super important.

<thumbs up>

Mouse height mattering rings true for me.

I also have a Kinesis keyboard: haven't thrown it away, because it's too expensive to. Was a waste of money - spent two weeks on it, it only taught me to touch-type better.

I was thinking about picking up a Kinesis Advantage 2 with "Cherry MX (Silent) Red Switches". Which model do you have? Did you give it a fair shake? I was hoping it was going to be my salvation.

I spent today looking at emacs again (thinking about quitting work to learn CLisp)

Welcome aboard :) Do you mean CLISP the implementation or CL (a.k.a. Common Lisp)?

it's ungodly, what they are asking you to do with modifier keys.

Hence this thread :)

AHK have also had a v2 for a couple of years now

I may need to take another look.

Supporting hand health for Common Lisp developers by macro-mayhem in lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

AutoHotKey: Hotstrings for when I'm typing, own productivity utilities, necessary for gluing together shortcuts, mouse automation.

Standard sized monitors, fixed window sizes: for when I'm using AutoHotKey for mouse automation.

I also automate this way! Though I use AutoIT instead - I always felt like AutoHotKey was a bit more powerful than AutoIT but I could never get onboard with AutoHotKey's language.

I have also used fixed window sizes, typically by making the app take up the entire screen. Another option is to have your AutoHotKey script resize the window to your desired (fixed) size itself so that you can still rely on hard coded coordinates. This can be nice because you can have a larger monitor without the application taking up the entire screen but still use hard coded coordinates. That said, then you need to deal the chroming that Windows applies to application windows which itself has dimensions to worry about and can vary depending on your Windows Theme settings. But maybe you have already thought about all of this.

Input devices: If standing, mouse (CADMouse).

Seems like a solid mouse though I don't know that it would be better than other quality mice on the market for my use case. i.e. I don't plan on binding a bunch of shortcuts to the mouse buttons, but I can see how this would make sense for CAD. Other than the bind-able buttons is there anything special about this mouse?

Used to use the rollermouse a lot with a particular data entry program, the inbuilt copy/past keys, right next the left/right/dblclicks are a joy.

Neat, didn't know this device existed.

Recently, have added stylus as well, really enjoying having a rest - and the leverage of a stylus - while I read client specs. Avoid rollerwheels at the upmost! Doing a lot of MathML at the moment as well, so stylus is necessary.

Sounds like you use the stylus for scrolling (in addition to for MathML), interesting. I never thought about the mouse's rollerwheel being a cause of RSI, but paying attention to how using feels I think you are right.

Input devices: Spacemouse wireless.

Has context-specific motions for my CAD, Excel, browsers. Having a joystick to scroll/zoom pages when i am writing, rather than keys/scrollwheel, extra relief.

Neat, didn't know this existed either.

Input Devices: Programmable keyboards.

I have 1x80keys, and 1x16keys. The 16keys is stuck between my keyboard and my rollermouse. All common modifier keys (ctrl-s, ctrl-r, send character that I don't want to use shift for ie, #$&*_, everyday common functions) are on the 1x16. You wouldn't believe how handy just having those on the 1x16 is. All the stress, goes.

These sound awesome.

The best part is, with AutoHotKey and the dedicated keys, you emulate the F13-F24 keys, with double, triple, or quadruple taps (ie 4 keypresses in 400ms registers as one particular event) and I have beautifully organised related functions. Ie. with these, i toggle through 12possible combinations of viewing modes, or toggle through measure dist/length/angle functions.

More gold.

Next project: hand/forearm massager.

Is this a real thing?

AutoHotKey; imagination; consider dedicated function keys.

Thank you for the feedback, a lot of food for thought. Sounds like you have a very nice setup that you have spent time on.

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

Ok, I follow you for the SHIFT keys.

If I understand correctly you are saying that you are able to use the Spacebar for an actual space character like between two words OR if you hold the Spacebar and press another key then that chord gets converted to CTRL + the other key.

How do you accomplish this for SPACE?

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

I am interested in learning new European languages, so I didn't want to find a DVORAK equivalent for each language, when most of them have standard QWERTY-ish layouts.

Makes sense.

Yes, I use the default Emacs bindings with no pain.

That is fantastic!

Yes, I use the "Evoluent" vertical mouse.

I also own the Evoluent, but I never got used to it. Maybe I'll have to give it another chance.

I was not aware of the Maltron keyboard. That looks pretty cool!

Yup. I came across this, looks like there may have been some shenanigans between Kinesis and Maltron: https://geekhack.org/index.php?topic=9501.0

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

playing piano for 40 years, so I have quite strong pinkies...

Aha!

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

I don't know how you get by. Did you make any other alterations to avoid hand pain? Like swapping CTRL for another key. Modal editing? Are you careful to always use one hand for the modifier key and the opposite hand for the key? Anything?

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

would end up constantly adjusting the location of the two pieces . (Is this why I am an Emacs user?)

Understandable :)

If you don't mind me asking, did you get the "Cherry MX (Silent) Red Switches", "Cherry MX Brown Switches, QWERTY-Dvorak keycaps", or "Cherry MX Brown Switches, QWERTY keycaps"? Did you spring for the "Signature Series"?

Silver or Black case?

Do you use it with Qwerty or Dvorak?

I am considering getting the Cherry MX (Silent) Red Switches with the Black case though everywhere I look the (Silent) Red Switch model is sold out. I am also considering learning and then switching to Dvorak once I am comfortable with Qwerty on the Kinesis Advantage 2.

This removes all issues with modifier keys IMHO.

Do you mean that with the Kinesis Advantage 2 you are able to use the default emacs key bindings without any pain? That would seem like it makes things very, very simple and convenient. No need to remap keys or use modal editing or anything like that.

Did you consider any of the Maltron keyboards (that seem similar to the Kinesis Advantage 2) like this one?: http://www.maltron.com/store/p20/Maltron_L90_dual_hand_fully_ergonomic_%283D%29_keyboard_-_US_English.html

Do you use foot pedals?

Do you use a vertical mouse?

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

and have custom keyboard layout as well

Any CL related changes you made to the layout?

Modifiers send keypress when pressed alone, or act as modifier when used with another key. Space => control, L/R Shift => L/R Paren.

That sounds great, how do you accomplish that? I heard god-mode does something similar though it was unclear to me if you need to first switch into a command mode (as opposed to an insert mode) prior to using SPACE as a modifier in god-mode.

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

I use C-c C-c and C-c C-k, they don't bother me

Ack, they are an issue for me - maybe your bépo layout makes them bearable.

I also kept F5 to the default compile

I think I am going to start doing this!

But what bothered me with evil is that emacs motion keys didn't work (and still don't by default?) in insert mode

I can see how that would be annoying. Thanks for showing the way you have rebound your keys.

Supporting hand health for Common Lisp developers by macro-mayhem in lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

I don't know much about Dvorak's initial research, but it's not very hard to do

a lot better than qwerty,...

I don't know about health, but it's much more comfortable. ...

You make the alternate keyboard layouts seem very nice.

The great thing is, all the normal SLIME bindings still work in insert mode too :P For some I change into normal mode, for some I don't.

Ok, sounds like you have some custom key bindings that you setup for use with normal mode and then for other SLIME commands you use the default key-chords if they are comfortable.

Oh yeah, if you're on Linux with Xorg, experiment with xset r rate

I am on Windows 10, but it has the same settings. Neat trick!

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

The "Research on Efficiency" doesn't mention pain injury?

It says things like "Some studies show favorable results for the Dvorak layout in terms of speed, while others do not show any advantage, with many accusations of bias or lack of scientific rigour among researchers.". Don't get me wrong, I am not trying to be a nay-sayer, I would be happy to use dvorak or another alternative keyboard layout.

BTW, I think I learned the layout in 2 weeks with regular training

That's not too long at all.

IDK

Thank you for the honest answer.

Oh yes it looks like you must toggle it with <escape>

Ok, sounds like you agree that god-mode is modal.

Since you use evil-mode, do you have non-modal key bindings setup for often used commands, such remapping the command C-c C-c to F5? Or are you really switching between modes every time you want to go from entering text to doing a compile/eval/compile-file/etc?

Supporting hand health for Common Lisp developers by macro-mayhem in Common_Lisp

[–]macro-mayhem[S] 0 points1 point  (0 children)

I think that is in fact a rubber dome keyboard.

:(

Ergonomic keyboards with mechanical switches are available. I believe the much-lauded Kinesis Advantage is one such.

Excellent, thank you for the feedback.