- https://hnsws.blogspot.com/2017/09/updated-budget-airline-flying-experience.html
- http://hnsws.blogspot.com/2007/01/flying-air-deccan.html
Mostly work related stuff which I would've entered into my "Log book". Instead of hosting it on an intranet site, outsourcing the hosting to blogger!
Thursday, February 20, 2020
a tale of two cities
build issues with appveyor
https://github.com/hn-88/ViewportSavercWin64/blob/master/appveyor.yml
https://github.com/hn-88/ViewportSavercWin64/blob/master/ViewportSaverc.vcxproj
building Windows binaries on the cloud - AppVeyor instead of Azure
https://medium.com/@rafique82.ai/azure-virtual-machine-visual-studio-platform-image-not-found-4234fe058317
Instead of trying to troubleshoot this, since this is available only for a year, thought of CI tools like Travis, but for Windows. Googling found that AppVeyor was more stable for Windows CI.
Googling the docs and support forums, finally got a project using QHY camera SDK and OpenCV to build - the appveyor.yml gives the detailed syntax.
https://github.com/hn-88/ViewportSavercWin64/blob/master/appveyor.yml.
I also needed to tweak the paths in the project file, in this case set using a property page qhy.props, to match the values set in the yml file.
Wednesday, February 19, 2020
deployment issue for Visual Studio VM image in Azure
az vm image list --all --sku vs-2019-comm-latest-win10-n
Tuesday, February 11, 2020
using Visual Studio on Windows 10 virtualbox image
- Visual Studio 2019 Community edition - 20 GB download from Microsoft.
- On my system, 45 minutes to unzip the file, since I was using a 3 TB USB external drive which was not very fast.
- Then 45 minutes to import the OVA file into virtualbox.
- More downloads and installs - the default Visual Studio 2019 does not have the 'develop for desktop' SDK and tools needed for C++ console apps - 45 minutes more.
- Spent quite a while troubleshooting why the shared folders were not visible in Win10 - turns out that sharing and discovery is turned off by default, have to enable them in Network and Sharing from the control panel.
- Finally it turns out that projects which need earlier versions of the toolkit - like Spinnaker SDK which needs the VS2015 toolkit - won't work, complaining that the required SDK is not found. Even downloading the oldest available SDK shown for install doesn't solve the problem. Further, lots of errors with QHYCCD SDK, like
1>J:\qhy\include\stdint_windows.h(28,1): error C2144: syntax error: 'signed char' should be preceded by ';' 1>J:\qhy\include\stdint_windows.h(28,21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>J:\qhy\include\stdint_windows.h(70,26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>J:\qhy\include\stdint_windows.h(70,19): error C2146: syntax error: missing ';' before identifier 'int64_t' 1>J:\qhy\include\stdint_windows.h(71,28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
- So now I'm trying the VS2015 DVD download, which is another 7.1 GB, 90 minutes.
- Edit - update - 45 minutes to uninstall VS 2019.
- Three hours forty-five minutes !! to install VS2015 from virtual DVD drive in virtualbox.
- Then the projects compiled without too much trouble, as "Win32 console project" though I was compiling it for an x64 Release target. Will probably upload the project and solution files, along with the property pages which I created, to the github repo.
- Just like Windows on underpowered machines, the virtualbox Win10 takes around 2 minutes to boot, around a minute to shut down, around 5 seconds after a click in order to start opening an app, and so on. On my configuration, just 2 GB RAM for the virtualbox, and it runs from an external USB drive. But things do get done.
Monday, February 10, 2020
steps to create ebook friendly pdf file from LaTEX
https://www.overleaf.com/learn/latex/Questions/How_do_I_adjust_the_font_size%3F
https://tex.stackexchange.com/questions/402009/exam-with-18pt-main-font
in my case, by adding the line
\usepackage[14pt]{extsizes}
and later
\documentclass[
14pt
etc.
And afterwards, needed to resize some figures to make them fit in the smaller page size, and also make text tiny in tables to make them fit.
https://tex.stackexchange.com/
\centering
\tiny
\begin{tabular}
aborted attempt to create html / doc / rtf file from LaTEX
latex2rtf was easy to install with apt-get install, but it aborted the conversion with Error! Could not find <\end{refsection}>.
htlatex - gave a few errors, which were corrected by installing the required packages as below. But the final output html still had jumbled equations. Not prettily bitmapped ones. In short,
texlive-latex-base
sudo apt-get install texlive-fonts-recommended
self-publishing a book
- Interestingly, both experiences were quite quick and easy.
- Lambert charges nearly 10 times more, but do worldwide distribution. Notion Press does India-only distribution, but will do worldwide if you buy 50 author copies. Which comes to nearly the same amount of money as buying 3 copies from Lambert!
- Both publishers accepted the print-ready PDF from overleaf. Lambert sized the page down to fit, from US letter to 5.5 x 8.5 inches. Notion Press wanted US letter size. Notion Press cover designer was quite nice.
- Notion Press online sales page at notionpress.com/store/ was much more polished than Lambert's morebooks.shop
- Ebook publishing with Kindle Direct Publishing, or with Draft2Digital and so on - did not work, since the equations in my pdf did not convert correctly from pdf to epub / mobi with their online tools. But text only content in doc/rtf format works fine with their tools.
- The recommended way to create epub / mobi was via tools to convert to html or rtf first, but the tools stuttered and I did not pursue it further. Details in another post.
- Finally just created a pdf file with A5 size, which is reasonably well formatted to read on a Kindle or other ebook reader, as detailed in another post.
Friday, February 07, 2020
multipe displays with old macbook pro, manual mode setting
Ubuntu 18.04 - the mirroring option was not visible on the Display applet. But as per this page, was able to hit Command+p and mirror. Unfortunately, the mirroring did not automatically choose a supported resolution, so display was garbled on built-in display.
On MacOS, interestingly enough, neither the TV nor an older VGA monitor could be displayed - enabling the secondary display caused the OS to crash (or at least blank the display completely).
A detailed post on how to set desired modes:
https://unix.stackexchange.com/questions/227876/how-to-set-custom-resolution-using-xrandr-when-the-resolution-is-not-available-i
Saturday, January 25, 2020
background reading for fisheye
Some background reading for fisheye - types of fisheye etc
http://www.fmwconcepts.com/imagemagick/pano2fisheye/index.php
https://en.wikipedia.org/wiki/Fisheye_lens
(stereographic preferred)
http://paulbourke.net/dome/fisheyetypes/
normal fisheyes are equidistant == linear? the default I assume.
Edit - all this finally resulted in OCVWarp - a link to all my posts about OCVWarp.
Friday, January 24, 2020
Burpsuite for pentesting, and Postman for sending POST requests
An interesting article about using Burpsuite - which we can test our websites and so on. https://medium.com/bugbountywriteup/payment-gateway-bypass-of-zostel-indias-biggest-hostel-chain-81c407454f0a
Another tool which can send POST requests for testing is Postman. This page lists Insomnia and ARC, too.
autopano for video stitching and forgejs
Wednesday, January 22, 2020
converting 360 videos to fulldome for planetarium projection
I had to take a few minutes to remind myself of the Blender interface, since it has been 7 years since my Blender fulldome experiments.
- Right-click to select an object - this can be a camera also
- Change its properties like position, rotation etc using the object tab on the Properties panel,
- The rotation of the sphere in the screenshot above changes the up-down angle. Increasing the X angle is like tilting the camera down.
- I saw this tutorial for getting to know how to edit nodes - what he suggested was to move the timeline up, and in place of the timeline, choose the editor type to be the Node editor.
- The Cycles rendering engine must be selected. The rest of the settings as per 'borkia's explanatory image. On my old model i7 Macbook Pro, 512x512 images were rendered in less than 2 seconds. 2048x2048 were taking 30 seconds per frame. So, around 1000x slower than real-time. So, a half-hour segment would take 20 days to render. I suppose it would be better to render in few-second chunks. One minute would take around 16 or 17 hours to render. 100 frames would take around 50 minutes or an hour. Cycles is capable of supporting GPU-based rendering, so it might work much faster with a NVIDIA + Mac Pro.
Edit: OCVWarp can do much much faster - 4 frames per second or so for 2K output.
Wednesday, January 15, 2020
Windows XP in virtualbox
Download a free version of Windows XP (30 day trial) from Microsoft - https://www.makeuseof.com/tag/download-windows-xp-for-free-and-legally-straight-from-microsoft-si/
WindowsXPMode_en-us.exe from https://www.microsoft.com/en-us/download/details.aspx?id=8002
Open the exe as type cab, unzip. Inside sources, xpm folder has the files we need. Unzip to folder, rename VirtualXPVHD as VirtualXP.VHD
Inside Virtualbox, create vm, Expert Mode, use existing hard disk & choose the vhd file above.
Virtualbox settings -> system, change boot order to HDD first for the XP virtual machine.
Display* - increase video ram
Network - set to Bridge
Set IP to 192.168.1.10 & google dns
Devices -> Install Guest Additions CD image
Snapshot to go back after 30 days. In Virtualbox, Machine | Take Snapshot
Devices -> Shared Folders to see host files
Right side Command ALT C for toggle scaled mode in Virtualbox.
More about virtualbox screen size - from https://askubuntu.com/questions/3205/higher-screen-resolution-in-virtualbox
(a) Settings > Video > Video Memory = 128 MB, Enable 3D acceleration = true.
(b) Install Guest Additions
(c) On Host machine, in cmd/bash, run
VBoxManage setextradata global GUI/MaxGuestResolution any
This application has failed to start
Monday, January 13, 2020
6 mono waves to 5.1 AC3 using ffmpeg
Instead of using WAV to AC3 on Windows, a cross-platform solution using ffmpeg - from http://ankitshah009.blogspot.com/2015/02/useful-ffmpeg-commands.html
ffmpeg -i front_left.wav -i front_right.wav -i front_center.wav -i lfe.wav -i back_left.wav -i back_right.wav \
-filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]amerge=inputs=6[aout]" -map "[aout]" output.wav
So, in our case,
ffmpeg -i Eng.wav -i Hin.wav -i Tel.wav -i Eng.wav -i Eng.wav -i Tel.wav \
-filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]amerge=inputs=6[aout]" \
-map "[aout]" -acodec ac3 directaudio.ac3
in a single step.
Sunday, January 12, 2020
warping on Linux - filter on avisynth and virtualdub - OK
http://www.avisynth.nl/users/vcmohan/Planetarium/Planetarium.html
http://www.avisynth.nl/users/vcmohan/index.html
For this, would need to get avisynth working on Linux under wine.
This link
https://forums.opensuse.org/showthread.php/429428-howto-install-virtualdub-under-wine-deshaker-plugin
gave hope for getting Virtualdub working under Wine.
In my case, I downloaded
VirtualDub-1.10.4,
ffdshow_beta7_rev3154_20091209.exe
(the latest one, ffdshow_rev4532_20140717_clsid did not work)
Installed winetricks with apt and mfc42 using winetricks
vcredist_x86.exe
Xvid-1.3.2-20110601 (Xvid-1.3.5-20171208 did not work)
installing ffdshow, the vcredist and xvid using
wine ffdshow_beta7_rev3154_20091209.exe
and so on. Mostly choosing the defaults. In my case, running the setup for vfw, video and audio after installing ffdshow, I ran into errors in the MS runtimes. But things seem to work anyway.
Avisynth works, except that DirectShowSource doesn't work, we need to use FfMpegSource.
FFvideosource("in.mp4")
Also, vdub on Wine does not work as frameserver.
Saturday, January 11, 2020
Blender Fulldome plugin and OSL
Friday, January 10, 2020
Gui to encapsulate the OCT software
https://github.com/pywinauto/pywinauto#ms-ui-automation-example
Wednesday, January 08, 2020
faster rendering of kdenlive projects with melt
https://amp.reddit.com/r/commandline/comments/7mpiox/the_fantastic_melt_package_and_rendering_a/
melt /path/to/project.kdenlive -consumer avformat:output.mp4 vcodec=libx264 b=5000k acodec=aac ab=128k
went at 1.6x - 3600 frames in 72 sec
375% CPU with top. The entire render took approx 75 min.
Kdenlive was going at 0.6x - the 107 minute video showed 2:45, i.e. 165 minutes to complete.
250% CPU with top.
So, rendering with melt is more than twice as fast as rendering in kdenlive. This was with kdenlive-18.12.1b-x86_64.appimage and melt -version shows 6.0.0.
Tuesday, January 07, 2020
working with multi-track single wav files on Reaper and creating 'minus' tracks
Item -> Item processing -> Explode multichannel item to one channel items
Then, single tracks can be solo'd till we hear only music, if the narration track is localized to one or two tracks. Muting does not seem to work, but solo seems to work. Then the file can be rendered into a 'minus' track, without the narrator.
Monday, January 06, 2020
enabling https on apache
Followed this tutorial on digitalocean, which is concise, complete and to the point.
1. Our current servers use su and not sudo.
2. Creating a key pair with
openssl req -x509 -nodes -days 365 -newkey rsa:2048
-keyout /etc/ssl/private/apache-selfsigned.key
-out /etc/ssl/certs/apache-selfsigned.crt
3. Creating ssl-params.conf in /etc/apache2/conf-available with the following text:
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Disable preloading HSTS for now. You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
# Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11, so commented out
#SSLSessionTickets Off
4. Modifying /etc/apache2/sites-available/default-ssl.conf by adding the correct contact info, and the correct key-pair paths. In our case, I had to copy the directives in default.conf, since there were a lot of changes to be done.
5. For finding Apache version,
apache2 -version
and enabling all the modules, configs and sites by
a2enmod ssl
a2enmod headers
a2ensite default-ssl
a2enconf ssl-params
apache2ctl configtest
service apache2 restart
6. In our case, cloudflare could do the https redirecting. But redirecting all traffic to https breaks our pages which have POST links, since those are not redirected. (Edit 21 Feb - after the POST links were updated to https, turned "Always use HTTPS" on. No issues.)
7. Found that this procedure can reasonably be easily replicated with a certificate from letsencrypt -
https://letsencrypt.org/getting-started/
https://certbot.eff.org/
In our case, perhaps doing a cert only cron job with certbot would be desirable.
certbot-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'ourdomain.tld,*.ourdomain.tld'
I did try it out manually. For automating it, we would need to put the Cloudflare API key on the server, or the newer token with more limited powers, for automatically updating the DNS TXT record used for validation by certbot and letsencrypt. Or perhaps even the simpler option given at the certbot website might be enough.
certbot-auto certonly --apache
In this case, it takes a bit of time, and asks which domain we want the certificate for. After that, it works, with http authentication. May need some tweaking to automate this, since there are multiple domains involved. But renewal seems to be simple. As the closing notes say,
Performing the following challenges:
http-01 challenge for our.domain.tld
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/our.domain.tld/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/our.domain.tld/privkey.pem
Your cert will expire on 2020-04-05. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
Thursday, January 02, 2020
Reset Raspberry Pi password
Forgot password - reset it by booting into single user mode as given at http://mapledyne.com/ideas/2015/8/4/reset-lost-admin-password-for-raspberry-pi
- Take out the SD card after powering down the Pi
- Edit the cmdline.txt and add to the end init=/bin/sh
- Once the Pi boots into single user mode, just su to become root, no password, and then do passwd pi to reset the pi user's password.
- Then again take out the SD card after powering down, remove the init phrase from cmdline.txt
The link above also has troubleshooting tips like mount -o remount,rw /dev/mmcblk0p2 / etc. Also, if root pw is set, , replace contents of /etc/shadow with * to make it blank as above.
SD card was read-only with the laptop's built in reader. If an external card-reader was used, it could be written to. The issue was something else, not a chown issue or a hardware switch as in the following: https://ubuntuforums.org/showthread.php?t=2400119
Also, changed the auto login by editing /etc/lightdm/lightdm.conf
Raspberry Pi wifi not working for new Pi 3B+
Apparently the wifi is disabled for regulatory reasons till country code is set - https://www.raspberrypi.org/documentation/configuration/wireless/desktop.md - "To set the country code, open the Raspberry Pi Configuration application from the Preferences Menu, select Localisation and set the appropriate code."
and then it probably needs a restart.
Tuesday, November 19, 2019
brief review of machine transcription - old recording to text
Tried out automated speech recognition from Google. Though there is a lot of improvement over the last couple of decades, still a long way to go.
1. Google's paid product is priced at around Rs. 100 per hour, with the first hour free. https://cloud.google.com/speech-to-text/
Google's version first:
You can see that it has made quite a few mistakes, and more importantly, missing entire sections. The skipping of sections would be the big no-no for me. (I take around 3 minutes to transcribe one minute of English from this old recording).
Tuesday, November 12, 2019
Node.js related link dumps
VulcanJS - Install the latest (LTS) node.js using nvm as given at https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-16-04
Apache and node - https://www.ionos.com/
https://forums.meteor.com/t/npm-bcrypt-and-meteor-npm-bcrypt-madness/28714/21
trying
meteor add npm-bcrypt
meteor add accounts-password
Did not work, abandoning.
Remove node - https://stackoverflow.com/questions/47240567/uninstalling-the-currently-active-version-of-node-js-with-nvm/47251263
Monday, November 11, 2019
some simple light-weight webservers
On linux - lighttpd is available widely, for example in ubuntu's repos. Some examples given at https://unix.stackexchange.com/questions/32182/simple-command-line-http-server are SimpleHTTPServer in Python, node.js (lightweight compared to apache) and many many others. And for windows, this page lists tinyweb which can even run cgi.
trial embed of audio and pdf
Indic input enabled using Google Acccount Settings -> Language -> Input Tools -> Edit
https://www.google.com/inputtools/services/products/account-central.html
Then choose File -> Language to choose the required language within Google Docs.
warping on Linux - initial ffmpeg trials without a final solution
In the search for alternatives for future-proofing, I had a look at ffmpeg's Remap filter. If a suitable map is made, it should be possible to use this filter to do the warping in a platform independent way.
Preliminary test went at around 8 fps, 1 minute video took 4 minutes to encode.
out.mp4 was of a similar format to input file, but not exactly.
mediainfo out.mp4
Later, went to try avisynth instead. That is described in another post.
Friday, November 08, 2019
shared folder new behaviour
Now when I move something out of a shared windows folder from our Linux server, I get this message:
mv: listing attributes of ‘THE_FILE_NAME.mp3’: Numerical result out of range
After the file is moved to a local drive on the Linux server, moving it elsewhere doesn't give this error. Maybe this behaviour is something to do with this,
https://wiki.archlinux.org/index.php/File_permissions_and_attributes
"mv silently discards extended attributes when the target file system does not support them."
Edit: Most probably this message is due to group name or user name not being mapped to GID or UID properly, I guess - as discussed at https://serverfault.com/questions/811997/mounting-a-cifs-share-fails-with-numerical-result-out-of-range
Thursday, November 07, 2019
link dump - possible ways to port to GL_warp2Avi
Exploring ways to port my old tool GL_warp2Avi to cross-platform code -
virtual tours with 360 photos, and panoramas
Saw some tutorials using cupix and google tour creator, then made one with google tour creator,
https://poly.google.com/view/6fr4ibdUbv0
Added the same images (after resizing to 4K) to google street view using the street view app. To change the directions in which the 360 images are pointed, under Edit location, the photo can be rotated by swiping while keeping another finger on the directions (N, NE, E etc.) shown below, to keep the directions steady. A bit fiddly. Positioning was also a bit fiddly, since the zoom level on the positioning map was not sufficient in my case.
Made a couple more panoramas, both using the Panorama feature in the stock camera app on my LG Q6 Android phone and using the street view app. The street view app tries to stitch it into a 360 image, so requires a very large number of photos.
![]() |
| Shot with the Google Street View App, which needs you to align the phone to a shown circle and click repeatedly. |
![]() |
| Shot with the Panorama feature of the phone's camera App, which needs you to just wave your phone from left to right or vice versa. |
![]() |
| Also shot with the Panorama feature on the phone camera. A passerby created an artifact, so repeated below. |
getting a human being with HDFC phonebanking
Thursday, October 31, 2019
GPU and CUDA explorations with OpenCV
- Successfully installed the Zotac GeForce GTX 1050 Ti graphics card in the Dell Optiplex 3020 desktop.
- Installed CUDA SDK using web installer, https://developer.nvidia.com/cuda-downloads
- Tried following https://jamesbowley.co.uk/build-opencv-4-0-0-with-cuda-10-0-and-intel-mkl-tbb-in-windows/ for building OpenCV. Configure kept failing, saying fseeko not found. So, decided to use the pre-compiled library from https://jamesbowley.co.uk/downloads/
- https://jamesbowley.co.uk/opencv-3-4-gpu-cuda-performance-comparison-nvidia-vs-intel/ gives an interesting test comparison.
- For comparing my code, which reads from disk and then does computations for 50 images, tried a test with the computation part commented out.
- A simple sample program, to perform a 2D DFT and inverse, gave the following results on running more than once -
- samplecudadft,480x360 fft and inv fftDFT and inverse, with upload/dl 0.255261 sec.(after running several times).2400x360,DFT and inverse, with upload/dl 0.261917 sec.CPUE:\OCT\opencvcuda\OpencvCuda\
x64\Release>samplecudadft
DFT and inverse, on CPU 0.0144597 sec.
DFT and inverse, with upload/dl 0.260429 sec. - bottleneck seems to be FFT "planning" and not upload download.E:\OCT\opencvcuda\OpencvCuda\
x64\Release>samplecudadftDFT and inverse, on CPU 0.0146046 sec.
DFT and inverse, with upload/dl 0.263986 sec.
DFT and inverse, without upload/dl 0.260521 sec.and running it a 2nd time,DFT and inverse, 2nd time without upload/dl 0.00618453 sec. - Even when called as a function, quite fast after the first time.DFT and inverse, as a function 0.00678208 sec.
DFT and inverse, as a function 0.00605592 sec.
DFT and inverse, as a function 0.00654344 sec.
DFT and inverse, as a function 0.00608254 sec.
DFT and inverse, as a function 0.00651554 sec.
DFT and inverse, as a function 0.00623649 sec.
DFT and inverse, as a function 0.00607195 sec.
DFT and inverse, as a function 0.0063154 sec.
DFT and inverse, as a function 0.00597894 sec.
DFT and inverse, as a function 0.00685649 sec.
DFT and inverse, as a function 0.00608895 sec. - Will probably need to optimize based onhttps://docs.opencv.org/master/dd/d3d/tutorial_gpu_basics_similarity.html
- Currently, with upload / download and variable assignment not optimized,on cpu,While loop 9.15065 sec.on gpu,While loop 9.34765 sec.where variables were initialized, 64 to 32 conversion and back were included.More important, the Bscan image shows up a bug.
Friday, October 25, 2019
a workflow for equal loudness RMS normalization on Adobe Audition
- Match the volumes in the relevant regions to around -12 dB peak.
- Do Noise Reduction by selecting a region of audio without noise, and then using that as the noise to be removed, around 70% or 80%.
- Noise Gate at -60 dB - the threshold to be tweaked depending on audio's background noise level.
- Choose either L or R track and mute the other track if relevant audio is only on one track, then convert to Mono.
- Multiband compression using the Broadcast preset, and decreasing the thresholds by -20 dB, with Brickwall On.
- Reverb filter if required.
- Total RMS to -18 dB.
- Hard Limiter at -6 dB.
- Normalize peaks to 100%.
Tuesday, October 22, 2019
UTF-16 LE with BOM and compiler errors, warning: null character(s) ignored
Saturday, October 12, 2019
clearing up GMail used space
Monday, October 07, 2019
X windows issues after CUDA install, resolved
Sunday, September 22, 2019
WhatsApp notification issue and solution
Sunday, September 15, 2019
ways to increase OpenCV fps
One way to increase the fps of the OCT software might be via multi-threading - using a separate thread to poll the camera as in
https://www.pyimagesearch.com/2015/12/21/increasing-webcam-fps-with-python-and-opencv/
Another way might be the cufft library?
https://www.researchgate.net/post/How_efficient_are_the_parallel_2D_FFT_implementations
Saturday, September 14, 2019
tutorial on 360 to dome with Vuo on Mac
In the second half of this tutorial, Paul talks about warping 360 videos to dome -http://paulbourke.net/dome/vuo/
Edit: Can now use OCVWarp and do this ...
Thursday, September 12, 2019
system program problem
Popup on startup - System Program Problem detected. The solution was to clear /var/crash as per this post.
Saturday, September 07, 2019
increasing font size in Octave legend
Some figures created in Octave had very small font sizes when added to the LaTEX manuscript. Trying to fix the text with Inkscape led to kerning issues similar to this post. So, found these solutions at
https://stackoverflow.com/questions/1532355/increase-font-size-in-octave-legend
Used commands like
print ("j0exp.eps", "-depsc", "-F:20")
Tuesday, September 03, 2019
starting offline processing in a new thread - C++
Tried various options to begin processing in a new thread for BscanFFT, without locking the UI -
Just
std::system(offlinetoolpath);
// - this causes the BscanFFT program to wait for the offline tool to finish
Then,
pid = fork();
if (pid == 0)
{
// child process
std::system(offlinetoolpath);
}
else if (pid > 0)
{
// parent process
}
gives the error
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
BscanFFTspinj.bin: ../../src/xcb_io.c:259: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Apparently, system specific is safer, http://www.cplusplus.com/forum/beginner/13886/
"Actually, the most important disadvantage of system() is that it introduces security vulnerabilities. Using a system-dependent method (that skips the shell) is always safer.
In Windows, it is CreateProcess(), which is really straight-forward to use.
In POSIX (Linux, etc) it is a combination of fork() and one of the exec() functions.
http://linux.die.net/man/2/fork
http://linux.die.net/man/2/execve
http://linux.die.net/man/3/execv
These are also easy to use, but there are some caveats. Follow the example codes."
execve with the example code gave
(show:9323): Gtk-WARNING **: 10:47:16.601: cannot open display:
suggested using execv instead. This worked.
external hard disk prices
The 3TB drives seem to be attractively priced due to the sharp drop in per TB price as compared to 2TB drives.
Monday, September 02, 2019
gimp 16-bit caution
On Linux,
file filename.png
gives information about the file, like bit-depth and so on.













