Skip to main content

Susikurk savo pažintinį taką

· 2 min read

Pirmiausia noriu paminėti puikų projektą Lietuvon.lt, kurio dėka esu atradęs daugybę įdomių pažintinių takų ar lankytinų vietų visoje Lietuvoje.

Tačiau Lietuvos gamta, esanti taip šalia, gali pavirsti pažintiniu taku ir be tako žymėjimo ar informacinės lentelės.

Šiuo noriu pasidalinti, kaip pasileisti į nuotykį savo apylinkėse su žemėlapiu rankoje.

Linux experience in macOS

· 7 min read

I am often switching between a MacBook and a Linux desktop. From time to time I invest a bit of energy to nudge MacBook UX to be more like the UX I have on my Arch Linux installation. I mostly use command line tools so common UX is not that far of a stretch.

This article will overview various tools that I have found useful for this task.

Multi-threading and VR

· 3 min read
info

This was originally posted on 2019-03-31 on iRacing subreddit

info

TLDR: turning off HyperThreading in BIOS bumped up FPS in VR from ~60 during starts to solid 90.

I have just recently started iRacing and this week I was racing quite a bit in the Lime Rock Park with MX-5. Unfortunately I used to get around 60 FPS during starts and that is a very tense part of the race. Every frame counts during those moments. Since I have a pretty decent system, I though I should be able to get more FPS in VR. My relevant PC specs are:

Intel i7-4790K, 32GB Ram, Radeon VII and Samsung Odyssey+

First I turned down most of the graphics settings in iRacing. But even if turning off cubemaps and shadows would bump the FPS quite a bit, it was still far from solid 90. Then I noticed that some parts of the track are fine, but others are still choppy. Turning off Event Objects, Crowds and Grandstands helped with that a bit, but still no cigar.

Then after quite a bit of searching I noticed old forum threads regarding the multi-thread usage of iRacing almost three years ago, where setting CPU affinity of iRacing to a single core would help quite a bit. But that was acknowledged as a bug and was fixed in iRacing since. I tried setting affinity anyways, but I would get "Access Denied" (even when running with Admin rights) from Task Manager.

So finally today I took the plunge and rebooted to BIOS (or more correctly to UEFI F/W) and turned off HyperThreading and voila, 90 FPS throughout all the race I just did.

Here are the render stats from the excellent fpsVR of the last session before turning off HT and then with the HT turned off:

HT ON
HT OFF

Frametimes Larger Size

HT ON
HT OFF

Utilization Larger Size

HT onHT off
Delivered fps84.4788.76
GPU Frametimes median7.7 ms7.8 ms
GPU Frametimes 99th percentile10.7 ms9.5 ms
GPU frametime <11.1ms(vsync)99.3%99.7%
CPU frametime median6.4 ms6.2 ms
CPU frametime 99th percentile10.1 ms8.3 ms
CPU frametime 99.9th percentile12 ms10.2 ms
CPU frametime <11.1ms(vsync)99.7%99.9%
Max. SteamVR SS152%154%
Render resolution per eye by SteamVR settings1758x21951770x2209
Render resolution per eye recommended1426x17801426x1780

The median frametimes did not drop that much, but the 99.9th percentile (1 out of 1000) of CPU frametimes crucially did not reach 11ms - the amount of time available to render a frame, if GPU is pushing 90FPS.

Hope this is useful and helps to someone else as well.

Bitkoino vertė

· 3 min read

Užmačiau keletą žmonių sakančių, kad bitkonai neturi vertės, niekas jų vertės nekontroliuoja ar panašiai. Manau tokie argumentai kyla dėl informacijos stygiaus. Šiek tiek paskaičiau ir sudėliojau keletą argumentų, kodėl bitkoinai turi vertę.

Appliance control using a mobile phone and SMS messages

· 4 min read

Hey, how are you doing? (: Since there was a week between the end of the GSoC and the start of my studies, I decided to do some hobby hacking.

I have some remote (50 km away) appliances (electric heater) that I would like to control from wherever I am. The SMS service is a very compelling solution for this kind of problem. The main challenge is to figure out how to make a mobile phone to a relay that can switch on and off things.

Query results chart

· 3 min read

Hello,

while the code for generating charts for the status page and the profiling page was more or less trivial, code for the query results will be more complicated. This is because of the dynamic data structure that query results can have. You can get any number of rows and columns as a result. Also the data in the result is composite - there are strings, numbers, dates, etc.. Not everything is suitable for one chart or another.