Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 199
» Latest member: ashi123
» Forum threads: 179
» Forum posts: 1 034

Full Statistics

Online Users
There are currently 28 online users.
» 0 Member(s) | 28 Guest(s)

Latest Threads
RamDisk - cause of BSOD P...
Forum: Other
Last Post: Ashus
27.8.2020 12:54
» Replies: 0
» Views: 202
OpenWRT 19.07.4 squashfs ...
Forum: Other
Last Post: Ashus
15.2.2020 04:38
» Replies: 0
» Views: 2 076
Call Of Duty: PHP Rules C...
Forum: Game tools
Last Post: Donatosdog
8.8.2018 04:52
» Replies: 72
» Views: 65 376
Proxy Guard
Forum: Bash scripts
Last Post: Donatosdog
8.8.2018 04:24
» Replies: 1
» Views: 4 724
Find apps blocking APK in...
Forum: Guides / Návody
Last Post: Donatosdog
8.8.2018 01:44
» Replies: 4
» Views: 5 724
Google AdSense Extension ...
Forum: Other
Last Post: SaRan
18.7.2018 07:42
» Replies: 34
» Views: 42 183
Call Of Duty: PHP RCon 2....
Forum: Game tools
Last Post: Brenton
14.3.2018 10:39
» Replies: 385
» Views: 277 101
Call Of Duty 2: Kafemlyne...
Forum: Game tools
Last Post: Ashus
6.1.2018 04:17
» Replies: 75
» Views: 60 224
Forum: Bash scripts
Last Post: Bethune
22.5.2017 01:59
» Replies: 1
» Views: 4 216
How to calibrate low-end ...
Forum: Guides / Návody
Last Post: Ashus
7.5.2017 01:30
» Replies: 0
» Views: 2 570

  RamDisk - cause of BSOD PFN_LIST_CORRUPT on Windows 10
Posted by: Ashus - 27.8.2020 12:54 - Forum: Other - No Replies

I tried to upgrade my Windows 10 to 2004 build lately. Everytime I tried to do it, I had to revert because of PFN_LIST_CORRUPT BSODs happening more and more frequently after boot (from 20 to 5 minutes). It happened on both, my AMD Ryzen 7 and Intel i3 platform. I suspected antivirus software at first, tried to remove it, but it didn't help.

The cause was Softperfect RAM disk 3.4.8 (last version under free-for-personal-use license).
I removed it an used latest ImDisk Tools released for free. This fixed the problem.

I use Ramdisk for volatile data, browser cache and user TEMP directory, mainly because of SSD limited writes. Also, a single reboot automatically cleans this drive after some badly written apps. The only downside of this - there are some application installations, which unpack themselves once again to Temp and they can run out of space, so then it is needed to temporarily redirect Temp back to system drive.

To have persistent Ramdisk while using ImDisk Tools, you need to use an image or Task Scheduler, because built-in persistency over reboots works only partially. The Ramdisk ends up created, but unformatted. I suspect there is a problem with security as only administrators can format disks and if launched from admin command line, it works until first reboot. Either create empty Ramdisk and create a directory there using these task actions:

imdisk -a -m Z: -t vm -s 3G -p "/fs:ntfs /q /y"
mkdir Z:\temp

or prepare an image of specific size and mount it once with persistency (-P):
imdisk -a -P -m Z: -o sparse -o awe -f c:\ramdisk.img

To unmount any of them you can use:
imdisk -d -m Z:

In system variables, you can then modify the user's variables TEMP and TMP to point to Z:\temp.
Chromium browsers need to be launched with parameter as in example: --disk-cache-dir=z:\Vivaldi\ every single time.

  OpenWRT 19.07.4 squashfs for ath79 4MB devices (-tiny) with LuCI
Posted by: Ashus - 15.2.2020 04:38 - Forum: Other - No Replies

This is a package of OpenWRT 19.07.4 stable builds for targets ath79.

Modifications against default tiny packages:

  • removed PPP support
  • removed OPKG
  • added LuCI
  • added relayd
This way the builds could fit into squashfs (factory/sysupgrade) compatible builds. Relayd is there for cases where you use the device as LAN extender over WLAN without additional NAT.

Please note there is still upgrading incompatibility against deprecated target ar71xx (OpenWRT version 18.06 or older), please see https://openwrt.org/docs/guide-user/inst...x.to.ath79 for more info.

Builds have not been tested for all devices, but compiling resulted in no errors.

For wget in console you can use non-secure source http://openwrt.ashus.net/19.07.4-targets...tiny-luci/

  How to calibrate low-end 5.1 speakers volume using Windows controls
Posted by: Ashus - 7.5.2017 01:30 - Forum: Guides / Návody - No Replies

This is a guide to calibrate levels of your cheap 5.1 analog surround sound setup on a Windows machine. If you have an expensive setup, there is YPAO or other automatic setup system with microphone. However to emulate this feature for free with any speakers, this is one way to go. It is especially useful if you go with cables around the furniture on in walls to hide them. The signal may be lost and one rear side will be louder than the other.

You will need these media files:

.mkv   PinkNoise 7.1.mkv (Size: 3,53 MB / Downloads: 0)
.mkv   PinkNoise 5.1.mkv (Size: 2,65 MB / Downloads: 3)
.mkv   PinkNoise 2.0.mkv (Size: 891,58 KB / Downloads: 0)
They all are 1 minute generated Pink Noise 500 - 2000Hz with various track numbers. Select the one you need to match your setup.

Also you will need a smartphone and this app: Sound Meter or a dB loudness meter.

For getting sane environment please use Media Player Classic Home Cinema and after opening a video right click the dark window and select Filters - LAV Audio Decoder. Verify, that you have the checkbox Enable mixing under Mixer tab turned off.

Follow these steps:

  1. Make sure all speakers are set up at fixed posititons according to numerous guides on the net. Make sure all speakers are connected and after opening audio devices you have the correct speaker count set under Configuration button.
  2. Open up audio devices, click on connected speakers and Properties. On Levels tab click the Balance button.
  3. Start your DB meter on your phone and place it on a stool to a position of your ears, right in front of you. You will need a quiet environment, so close the door or tell your roomie to keep it down if you haven't already.
  4. Prepare the test audio file in MPC-HC and play it (you may consider enabling Loop).
  5. Set your speakers volume to medium (not too silent and not reaching their limits).
  6. Put all sliders to 0, try one by one to identify which speakers are used.
  7. For all active speakers (except subwoofer) repeat this: put only the slider of one speaker to 100, wait for a few seconds and mark down the loudness in dB on a piece of paper.
  8. Now look at your paper and find the lowest number (57dB for me). This is the loudness you need to match on all other speakers.
  9. Again go one by one and move the slider to a position in which the loudness is matched while all other sliders are off. Mark these results to a piece of paper.
  10. Set all sliders to positions according the results on the paper you just made.
  11. Subwoofer should be set by ear and to your liking preferably while watching a movie.
  12. You are done. Make sure nobody adjusts balance or surround knob on your subwoofer if it is present, you'd have to repeat this.

  GIT global configuration for Windows
Posted by: Ashus - 19.4.2017 06:22 - Forum: Guides / Návody - No Replies

Fine setting for keeping unwanted changes to a minimum.

git config --global http.sslVerify false
git config --global core.autocrlf false
git config --global pull.rebase true
git config --global credential.helper wincred

  How to insert separately styled HTML e-mail to heavily styled page
Posted by: Ashus - 7.3.2017 04:15 - Forum: Guides / Návody - No Replies

Use iframe like this!

<iframe id="unstyled-text" sandbox="allow-scripts allow-popups allow-same-origin" srcdoc="<?= htmlspecialchars('<head><base target="_blank"></head><body>' . $html . '</body>') ?>"></iframe>
        // hack for IE and browsers without srcdoc support
        var $u = $('#unstyled-text');
        var $body = $u.contents().find('body');
        if ($body.html() == '')

  How to find wide elements when making a web adaptive / responsive
Posted by: Ashus - 14.9.2016 10:39 - Forum: Guides / Návody - No Replies

Provided you have jQuery, open you dev. tools, adjust the window to designated dimensions and put this to the console in your browser:

$(':visible').each(function(){var w = $(this).outerWidth(); if (w<=360) return; console.log(w, this)})

You can adjust the 360 px number to any number you need for your breakpoint.

  Ford Code service ukbookshelf.co.uk review
Posted by: Ashus - 23.6.2016 12:42 - Forum: English - No Replies

I'd like to just inform any potential Ford V code radio owners, that the service ukbookshelf.co.uk for retrieving lost or never owned radio codes indeed works.
I sent my 3.95 GBP and on Saturday morning the code arrived as promised. And it worked just fine.

  OpenWRT static IPv6 DUID auto-assign script
Posted by: Ashus - 13.12.2015 11:05 - Forum: Bash scripts - No Replies

The script and idea was based on jhnphm's post here.
The idea is to assign client's DUID addresses (IPv6) just like MAC addresses for IPv4 to the config file. The prerequisite is to have odhcpd configured and IPv6 prefixes filled for DHCP clients via LuCI. Since the DUID is required for static IPv6 to work and there are no fields in LuCI, you can use the script after the client is seen for the first time (probably configured dynamically).


for I in $(uci show dhcp|awk -F '(\\[|\\]|\\.|=)' '{if ($2=="@host" && $5=="name") print $6}'); do # find existing static host entries and find hostnames
    NAME=$(echo -ne $I | sed -r "s/'//g")
    DUID=$(cat /var/hosts/odhcpd |awk -F ' '  "{if (\$1 == \"#\" && \$5 == \"$NAME\") print \$3 }"|head -n 1)  # find duid for existing hostname in leases
    ID=$(uci show dhcp|awk -F '(\\[|\\]|\\.|=)' "{if (\$2==\"@host\" && \$6==\"$I\") print \$3}") # Find placement of host entry
        if [ "$DUID" != "0000000000000000000000000000" ]; then
                echo Found: $NAME = $DUID
                uci set dhcp.@host[$ID].duid=$DUID # Set DUID
echo Commiting changes.
uci commit
killall -HUP odhcpd

  Synchronization of config files and documents among several PCs
Posted by: Ashus - 15.8.2015 09:04 - Forum: Guides / Návody - No Replies

At first I thought about creating a file synchronization tool in PHP myself, but then I read about synchronization and it looked like I'd have to spend a whole lot of my time fixing some special cases, so I googled more and found about SparkleShare. The main advantage is that it can use your own server - no data are sent to clouds (NSA), all data are on all PCs, not just opened remotely on the server (or in some cache).


You can create a GIT repository on your own linux server using included dazzle tool. This tool installs GIT if needed, creates a new user storage for this purpose and adds authorized keys created on client machines. It can also add more trusted key fignerprints - more clients. And finally it creates shares (projects). After a share is created, you can "mount" it on your client machines. SparkleShare watches for changes and after they are saved completely, they are automatically transferred to the server.

Now for the fun part.. download and install Link Shell Extension and use hardlinks to mirror requested config files to app data locations. On other machines, remove the current config files and create hardlinks to the mounted locations. The only downside is you can't synchronize Windows registry changes, so if you plan to synchronize eg. PuTTY, you need to use a portable version, that exports registry to REG file when the app is closed. IMO small apps like PuTTY portable can be mirrored whole, not just the reg file; also the updates are pretty easy - you just update once and other machines are updated as well.

Posted by: Ashus - 27.7.2015 10:34 - Forum: Webové stránky a aplikace - No Replies

Malá responzivní aplikace pro záznam časů při práci. Automaticky sčítá časy a data ukládá při změně na server (pro případ pádu pracovní stanice). Dvojklikem se rychle doplní aktuální čas.

Technologie: PHP, JS - AJAX, Webnotification