Saturday, February 11, 2023

Fix for Apps and Games (including VR) made with UnrealEngine that do not start on newer processors

Some apps created using Unreal Engine do not start on PC on CPUs newer than 2018. It happened to me in many VR apps and games. They only run for a few seconds and then just close without any warning.

The fix for this is to create a system environment variable called “OPENSSL_ia32cap” with the value “:~0x20000000d”, both without the quote marks ["].

Here is where you should set this and how it should look like:

 (click to enlarge photo)



Source: The source for the fix is https://forums.unrealengine.com/t/openssl-error-when-starting-ue4editor/113799

Monday, October 26, 2020

Windows layout in... Windows

In addition to the standard Microsoft Windows shortcuts (Win + Right, Win + Up, Win + Left - try them!), I use the FancyZones feature of the Microsoft PowerToys:

https://github.com/microsoft/PowerToys/wiki/FancyZones-Overview




Tuesday, September 15, 2020

Novint Falcon - a controller device that can accurately simulate the haptic feedback of sculpting using a tool (or performing small repairs, surgery, injections etc.)

I recommend this device (Novint Falcon) only for experimenting with 3d haptic simulation platforms (ex: H3DAPI ), not for games - as games are few, old and offer interesting but repetitive haptic feedback. It's a device good for experimenting forces/elasticity/rigidity/inertia etc. in VR.

Holding the knob of the device is like holding the end of the tool. The buttons on the knob let you action various functions like actioning some clippers at the end of the tool. For example you can push push a heavy, floating object (cube) that floats in front of you in VR, like with a stick/tool. The object may oppose a configurable force, may rotate and return to its initial position.

Surfaces may have elasticity and pushing into them give the right haptic and visual feedback similar to holding a stick from one end (the knob of the device) and pushing the other end into the surface. The feedback you feel is similar to feeling through a tool that you are holding in your hand, so you do not feel like with your fingers. This is why the device is very appropiate and still in use for medical tool-related simulations (like in surgeries, or dental interventions, or injections), where you almost always feel only through a tool, and not directly through your fingers/hand.

It can also be appropiate for simulating any activity that involves small-scale movements using tools, like detailed sculpture, watch repair simulation etc. Ex: it cannot simulate the haptic feedback of using your hands, but it can accurately simulate the haptic feedback of using a tool for clay modelling, sculpting etc. Note: it does not support rotating the tool, only translating the tool in all 3 dimensions (x-y-z axes) in the confined space of a 6x6x6 inches cube.

Another usage is as a game controller, you may for example configure it as a normal 2-axes joystick, or as a 3-axes joystick, that does or does not return to center on 1, 2 or all 3 axes, with a configurable force. Not returning to center is good for example for plane/spacecraft simulators, for example you can configure a throttle controller that gives a non-linear response.

Sunday, August 16, 2020

Monday, June 29, 2020

Monitoring one or more web pages for content changes, at pixel-level

https://visualping.io/ monitors one or more web pages for content changes.
The free tier includes 65 checks per month.

Thursday, March 2, 2017

Patternuri acceptate

  • In 2002 site-ul meu simplu facut in Notepad, ca un fel de Wall de Facebook intr-o vreme in care nu existau site-uri de socializare, era acceptat si vizitatorii aveau o "atitudine pro" cand il vedeau.
  • In 2015-2016 m-am trezit intr-o zi ca cineva imi zice intr-un mail ca n-a mai ras de mult asa bine ca atunci cand a vazut site-ul meu care arata "ca pe timpuri" si ca imi multumeste pentru portia de ras :) E ok am zis, nu am cum sa ma supar pe cineva care rade cu pofta :)
  • Exista in fiecare perioada anumite pattern-uri de design, vorbire, comportament etc. recunoscute de noi toti, in care daca te incadrezi esti "normal" iar daca nu te incadrezi esti "anapoda"/"aiurea"/"invechit"/"nu prezinti incredere". La fel cum unele cuvinte devin neacceptate, de exemplu cuvantul "anapoda" din propozitia anterioara :) fiind mult mai acceptat acum relativul echivalent "aiurea".
  • Am realizat ca nu exista neaparat o anumita logica sau legatura intre pattern-urile acceptate. De exemplu, la momentul 2017, chiar daca wikipedia arata intr-un anumit fel "retro" (fata de interfetele de tip Bootstrap), ambele pattern-uri (design wikipedia, design de tip Bootstrap) sunt considerate acceptate. Pur si simplu exista in fiecare moment o lista de pattern-uri care au sau nu legatura unele cu altele, care se contrazic sau nu unele cu altele, dar care sunt toate considerate ca fiind acceptate la momentul respectiv.
  • Alte exemple de pattern-uri acceptate/neacceptate:
    • Designul bordului la masini (bordul care acum 15 ani era acceptat, acum nu mai este acceptat, indiferent de ratiunile ref. ergonomie etc.)
    • Tehnologiile din spatele interfetelor web: este acceptata o interfata de tip modern care foloseste o tehnologie noua chiar daca merge mai greu, fata de o interfata simpla fara cod javascript mult, cu design vechi, care se comporta foarte bine dpdv performanta.
      • Designul primeaza de multe ori in fata ergonomiei, vitezei, fiabilitatii si a altor argumente rationale.
        • De exmeplu masina Opel cu 2 locuri decapotabia care este foarte lenta dar relativ ieftina si cu design foarte atractiv in modul "decapotat", constituie un caz in care designul primeaza (inclusiv pentru mine).
        • Alte exemple pot fi usor identificate...:)
  • Prin utilizarea intr-un anumit moment a unui pattern care nu este acceptat in acel moment, pierzi sustinerea celor din jur (clienti, fani etc.)
    • Patternurile acceptate genereaza sentimente si atitudine pro
    • Patternurile neacceptate genereaza sentimente si atitudine anti
  • De aceea este importanta realizarea simultana a urmatoarelor 2 activitati:
    • Sa inlocuiesti permanent patternurile vechi cu cele noi.
      • Sa urmaresti permanent care sunt patternurile care sunt acceptate in acel moment si sa le preiei, sa schimbi, inlocuind pattern-urile care nu mai sunt acceptate.
    • Sa introduci patternuri noi.
      • Introducerea de patternuri noi este intotdeauna cu risc, dar poti castiga un avantaj fata de competitie daca patternul introdus de tine devine acceptat, deoarece altii nu il au o perioada. De asemenea, poti primi un plus de publicitate daca esti retinut ca cel care a introdus patternul, dar lucrul acesta nu este garantat, poate fi altul care te copiaza care va fi retinut ca inovator.