Items filtered by date: December 2014

This article will include the capturing of non-digital media from Cassettes, Cassette Inlays, Disks, Disk Sleeves, Manuals, Newsletters, Packaging and anything else that is printed.

Scanning Software

  • NAPS2 - Scan documents to PDF and more - NAPS2 is free scanner software made easy. Scan to PDF, edit your documents, and use advanced features like OCR. Available on Windows, Mac, and Linux.
  • SANE - Scanner Access Now Easy - SANE is an application programming interface (API) that provides standardized access to any raster image scanner hardware (flatbed scanner, hand-held scanner, video- and still-cameras, frame-grabbers, etc.).
  • IrfanView - One of the most popular viewers worldwide. This software also handles batch scanning.
  • ScanTailor Advanced | Book Scanning Post-Processing Hub - The official community portal for ScanTailor Advanced. Explore professional book digitization tools, advanced image processing algorithms, and comprehensive guides for modern archiving.

Plus4world

Preferred method for Inlay, Tape and Disk Scans

  • Forum (#44544) - Plus/4 World - Their recommendations for capture
    • About the covers: if readable, a 950px max wider JPG would be enough, if you want or need (for readability needs) a bigger one, we use to put up the 950px wide one with a [Larger picture] link for a bigger version.
    • About disks and cassettes: 950px wide JPGs would be large enough.
    • Manuals: if simply leaflets, or limited to few pages, page(s)'s scans would work; if they're quite big, sort of *real* manuals, we use to include'em as publications, and yes PDF is the preferred format in that specific case, although sometimes in the past times we also used to simply add a link to the PDF manual straight in the archived software's page.
    • I also prefer that the inlay scans should be a single front and back so they can be printed out, unlike some of the scans where the inlays have been cut up into to several bits.
    • Examples: All newer inlay scans are kept as one, e.g. check Hidra for a recently added one. A lot of the older ones have been replaced already, e.g. check Tycoon Tex (which used to be "cut" as well). If you see anything like Bandits At Zero - those can be replaced with higher quality scans as well. Not a high priority, but should be done if possible.
    • Q: Is it best to use a flatbed scanner or a camera to get the tape images?
      • best approach:
        • Flatbed scanner for paper
        • Camera for cassettes.
    • Q: Can scanning 5 1/4 inch disks in a flatbed scanner harm them? i.e. ionise the magnetic material etc..
      • I'm not sure if it would be affected, I don't remember this question ever coming up. My suggestion would be: either try this with a dummy disk first (that you wouldn't mind getting destroyed), or scan only the disk sleeve, or just take a photo as if it were a cassette.
      • Don't worry, it will not affect the disk when you put it in a photocopy machine or scanner. It is the same as if you'd use a torchlight on it...
      • Digitally imaging and verifying them first, negates this issue.
      • Will Scanning Floppy Disks Corrupt The Magnetic Disc? - This tutorial sets out to test whether the process of scanning the surface of 3.5 inch floppy disks will damage the disk's magnetic storage medium?
      • Can you scan a floppy disk safely? - Commodore 64 - Lemon64 - Commodore 64 - Probably a very silly question, but can you safely scan 5'' 1/4 disks without damaging the contents? As in putting them in a scanner. Thanks.
  • Further Notes
    • All scanned tapes, they should all be rewound before taking a picture.
    • When scanning floppy disks, if they are in the sleeve make sure all of the label is shown.
  • Good Tape examples

Retro Commodore

  • Recommended Software
    • IrfanView
    • ScanTailor Advanced
  • Tutorials
  • Specific Notes
    • Make sure, when you scan that you scan in a lossless format.
    • PNG/TIFF and 600dpi (TIFF can be lossless or lossey, if you use JPG compression, so if using TIFF, either do it uncompressed or use lzw, deflate or zip algorithms for compression which does not affect the byte stream.)
    • Most scanning software can be configured to use other formats, but even very expensive highends scan in jpg and sends to the software to be saved in png/tiff.
    • My own does it.. so I'm using sane on linux for this scanner.
    • Automatic doc2pdf software/drivers etc tend to make lossy formats, which is why I've built my own pipeline.
    • if you want to check your scanning capabilities, make a single scan, and send it to me before you start scanning.
      • I tell this to people, unfortunately most don't do it, so they scan everything.
      • Only to find out they need to redo all their work, I recently had a bloke who wanted to scan his books, he did so in 150dpi and jpg, destroying the books spine (the glue crystalized), and he didn't want to start over.
    • I have just tested naps2.
      • even though saving as tiff, my scanned images have jpg artifacts so they are saved in a lossy format.I wouldn't use it.
      • I wouldn't use it.
      • for batch scanning on windows, I use irfanview, otherwise as I said, using sane on linux.
      • shoulders: See my notes above on NAPS2 on mitgation
    • For the material that has clamps/staples(?), remove them, and make them on the document scanner.
    • When it isn't possible to use the adf scanner, one of these makes wonders - choose the right size for your flatbed
    • Always work on a copy of the original. (I'm starting to remember quite alot of things that I really don't think about anymore, kinda like breathing - also because many of the processes are automated now).
    • Irfanview is free and does a great job of batch scanning
      • I've been using it for scanning since I began scanning, and as a pic viewer before that... I'd guess for some 20+ years.

NAPS2 - Resolving Lossy Image Quality

I have just tested NAPS2 and even though saving the scans as TIFF, my scanned images have JPG artifacts indicating they are saved in a lossy format.

Cause

  • By default the scans are saved as JPEG when first made. So when you go on to save/export them the artifacts will already be present.
  • The program does not save the scans in memory, it commits them straight to disk.

Solution

  • Edit the profile's advanced options and enable "Maximum quality (large files)". This force the lossless PNG format to be used for the initial save to disk.
    • Step 1
    • Step 2
    • Step 3

Additional

Links

  • NAPS2 General Discussion: Which quality when checkbox "Maximum quality" is unchecked? | Sourceforge
    • Q: 
      • In "Advanced Profile Settings" there is an option "Maximum quality" which determines the jpeq quality of the scanned page.
      • Which quality level is taken when this checkbox is disabled/unchecked?
    • A:
      • "Maximum quality" means that PNG encoding (lossless) is used instead of JPEG.
      • If you're saving to PNG, that option makes sense, otherwise just pick a high JPEG quality because PNG takes up a lot more disk space.
  • NAPS2 - Question about PDF sizes | Sourceforge
    • The quality slider is just for JPEG I think?
    • PPP probably uses JBIG2 compression, which NAPS2 doesn't support at the moment (it uses G4 which isn't quite as good). I don't think I will be able to add support for JBIG2 in the near future.
    • Yes, it would have to be the lossless version of JBIG2 to avoid that problem.
  • NAPS2 - picture compression within pdf files | Sourceforge
    • Yes, NAPS2 only uses JPEG and PNG currently. JPEG2000 and JBIG2 support is something I'd like to add in the future (for JBIG2 specifically lossless only, to avoid the known issues with lossy mode).
  • Imported .jpg images are reencoded => quality loss · Issue #160 · cyanfish/naps2 · GitHub = Fixed
  • colour pdf size - compression · Issue #80 · cyanfish/naps2 · GitHub
    • I've implemented this on my fork, from an old pull request from Luca De Petrillo that was sent here years ago. It add JPG codec to the compression and we can change the compression quality. I had to adapt it since the code was there from a long time and rewrite it.
    • It work really well. Using it in combination of MAX Quality in your profile, allow you to keep your source at full quality without any losses (PNG), and then tweak the PDF Export to your liking to have the best file size and quality.
    • Also since the source is not degraded, you can do edits and it still look perfect.
    • Was able to get almost a ratio of 5/1 on certain PDF files (75% quality). To propose a new Pull Request I need to get accustomed with this new code since that was done with the 6.1.2 source.

 

Stargazer Manual Scanning notes

These are just for reference at the minute as they are very in complete

  • Create PDF from images
    • select images
    • print
    • tick 'Fit picture to frame'
    • use custom size
    • select portrait in printer properties
    • print using `Microsoft Print to PDF`
    • use an online convert tool to put to A6

 

Published in Emulators
Thursday, 30 April 2026 10:09

Debugging with VSCode and Edge

I will cover how to debug languages and CMS that I use with VSCode, Edge, Xampp, xDebug and other diagnostic tools as required.

These instructions might not be the most complex but they will explain the basics allowing you to get started without pulling your hair out. I find when you have a soft start you are able to pick the more complex concepts easier, and more crucially, on your own.

While I will concentrate on using Edge as my browser there will be a lot of cross over to Firefox and Google Chrome, especially between Edge and Chrome as they are both based on the Chromium browser.

VSCode / Common

Tutorials

General

  • How do I add a breakpoint?
    • Select a line and press f9
    • When you hover over a line you will see a greyed out red ball, click here to add a breakpoint, not on the line number
  • Search or filter debug variables in the various debug panels
    • When you have the cursor in the relevant panel, you can press any key and the highlight row will move to the first record starting with that character (i.e.: a,b,c,d,$)
    • If you press F3 (or CTRL+ALT+F), a search menu will appear. You can then search or filter for a variable or it's value.
    • Both the methods above work for the various debug panels, not just for variables.
  • Where can I see Debug Variable values
    • Variables View
    • Watches View
    • Hover over a variable in the code
    • Inline (if enabled)
    • Notes:
      • Execution must be paused by a breakpoint for these to work.
      • The hover method parses \n as a new line where as the View method.
  • Display Debug Variables Inline
    • When enabled, the runtime variables found by the debugger will be displayed inline with your code. This setting does not affect the popup action when you hover over a variable or the Watches and Variables Views.
    • To enable:
      • Add the following to your settings.json
        "debug.inlineValues": true
      • Settings --> Debug --> Debug: Inline Values
    • VS Code tips - Debug: inline values - YouTube | Code 2020
      • With Debug: Inline Values, VS Code shows the runtime value of variables directly in the editor while debugging
      • This makes is easier to understand your program’s current state and how it ended up there.
  • Resize the Debug Hover Widget (Hover Tooltip, Hover Tooltip Popup, Hoverbox, Hover Popup, Modal Popup, Debugger Tooltip)
    • Q: In vscode I use Xdebug and on the right it has a variables view where you can see the variables for debugging. When you hover over a variable,  a modal popup appears, how can I make this modal popup larger?
    • A
      • In Visual Studio Code when debugging with Xdebug (or any debugger). Unfortunately, VS Code doesn’t provide a built-in setting to directly resize or scale that hover popup.
      • The hover popup does have scroll bars and will expand as needed i.e. you expand an array.

Troubleshooting

  • Debug buttons are not showing? how to fix?
    • Run --> Start Debugging
  • All debug stuff is under the run menu

JavaScript (Edge)

Read the Console

This might sound obvious, but there is always information in the browsers console.

Examine the console for errors, warnings and notifications.

Output to the Console / console.log()

You can use console.log() to output all sorts of information about variables, functions, classes and results into the console, although you might find using debugger easier for this. A console.log() can be used to output different messages depending on the result of a calculation or function and so on. For instance you would have a console.log() for success and one for failure.

  • Put one of the following in your JavaScript, selecting the sort of output you want.
    ### This will output the value `12345678` stored in the variable (`abc`) to the console
    var abc = 12345678
    console.log(abc);
    
    ### This will output the text `This is a message` to the console
    console.log('This is a message');
    
    ### This will output `123` to the console
    console.log(100 + 23);
    
    ### This will output the specified function (debounce) as text to the console. Useful to see if the function is defined
    console.log(window.debounce);
    
    Example Output:
    
        ƒ debounce(func, timeout = 300) {
          let timer;
          return (...args) => {
            clearTimeout(timer);
            timer = setTimeout(() => { func.apply(this, args); }, timeout);
          };
        }
  • Run your code / Load the page
  • Read the console
  • Examine the console for notifications.

Debugging using the Sources Tab in DevTools

This is the traditional method of debugging using your browser and is usually JavaScript debugging as it is the browser (Client Side) that executes the code.

Notes

Edge DevTools shows Array(0) not Live Data - DevTools Array Inspection

Using this code as our example:

var chartDataDataset = _(timeScaleSegments).map(function(timeScaleRange, timeScaleIndex){ return countsPerTimeScaleIndex[timeScaleIndex] || 0; }).value();

In Edge DevTools, I can use debugger; to stop JavaScript and then examine the variables and objects. When I look at the chartDataDataset, DevTools shows Array(0) but DevTools knows that it has 3 arrays in it.

How do I use DevTools to Get a Live Reference so I can see these arrays in this object/array? 

Explanation

You're encountering a common behaviour in DevTools (including Edge and Chrome) where objects like arrays show as Array(0) at first glance — especially when the data is lazy-loaded or the object is logged in a way that doesn't immediately expand its contents.

So, when you pause in the debugger and hover or inspect an object such as chartDataDataset, DevTools might show:

Array(0)

This often happens when:

  • The array is created very recently, and DevTools evaluated it before it was populated.
  • You're looking at a snapshot rather than a live reference.
  • The array contains complex or nested structures, and it wasn't expanded at the right time.

Solutions: How to See the Actual Data

Here's several methods on how to see the full data, the live snapshot, which will show the "hidden arrays" in DevTools.

Log It After It's Created
  • Right after chartDataDataset is defined, add:
    console.log(chartDataDataset);
  • Then expand the array in the Console — this shows a live reference, not a snapshot.
Use the Debugger Step-by-Step
  • Set a debugger; statement after the line where chartDataDataset is defined:
    var chartDataDataset = _(timeScaleSegments)
      .map(function(timeScaleRange, timeScaleIndex){
        return countsPerTimeScaleIndex[timeScaleIndex] || 0;
      })
      .value();
    
    debugger;
  • In Edge DevTools, go to the "Scope" section while paused.
  • Find chartDataDataset in the "Local" variables.
  • Expand it — now you should see the correct length and its items.
Use Console to Manually Inspect

It still says Array(0):

  • Go to the Console tab.
  • Type chartDataDataset and press Enter.
  • Now inspect the expanded structure manually.
Use JSON.stringify() if Needed

This won't work well if it contains circular references, but it's useful for flat data.

  • Use the following in your code:
    console.log(JSON.stringify(chartDataDataset, null, 2));
Use the Watch panel (semi-live)

While not fully "live", this lets you re-evaluate on demand as you continue stepping.

  • Go to the Sources tab.
  • While paused at a debugger; or breakpoint, add chartDataDataset to the Watch panel.
  • This updates as you step through code.
Use $0, $1, etc. or inspect variables in Console

You can select an object in the Elements or Scope tab and reference it in Console using:

  • $0 (currently selected object)
  • $1, $2 for previous ones

Or, just manually type chartDataDataset into the Console after it’s defined. That always evaluates it in real-time.

Additional Notes

  • What Doesn't Work for Live Viewing
    • Expanding the object in the Scope or Call Stack sidebar sometimes shows a snapshot, not a live object.
    • If you hover over the variable name, the tooltip can be stale.
    • Logging and immediately expanding while paused may not reflect later mutations.
  • Pro Tip: Freeze Object Snapshot
    • If you right-click a logged object in Console, you can choose “Store as global variable” (e.g., temp1).
    • This lets you inspect it freely in the Console, and it won’t change unless you reassign it.

PHP (Core) - might move

  • How do I get PHP errors to display? - Stack Overflow
    • This always works for me:
      ini_set('display_errors', '1');
      ini_set('display_startup_errors', '1');
      error_reporting(E_ALL);
    • However, this doesn't make PHP to show parse errors that occurred in the same file. Also, these settings can be overridden by PHP. In these cases the only way to show those errors is to modify your php.ini (or php-fpm.conf) with this line:
      display_errors = on;
    • d

PHP (Xdebug)

Software Needed

Config Files

Below are the xDebug configurations I use.

My VSCode Config

  • This lives in launch.json
  • In VSCode, if you hover over these settings, intellisense will show you more information. Might require the Xdebug extension to be installed.
"launch": {
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "xdebugSettings": {
                "max_children": 128,
                "max_data": -1,
                "max_depth": 3
            },
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003,
            "runtimeExecutable": "D:\\websites\\php\\php.exe"
        }
    ]
},

An Alternative VSCode Config

I have not used this, it is just for reference because I do not understand the additional options.

{
    "name": "Launch Built-in web server",
    "type": "php",
    "request": "launch",
    "port": 9003,
    "program": "",
    "cwd": "${workspaceRoot}",
    "runtimeArgs": [
        "-dxdebug.mode=debug",
        "-dxdebug.start_with_request=yes",
        "-S",
        "localhost:0"
    ],
    "env": {
        "XDEBUG_MODE": "debug,develop",
        "XDEBUG_CONFIG": "client_port=${port}",
        "XDEBUG_TRIGGER": "VSCODE"
    },    
    "serverReadyAction": {
        "pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
        "uriFormat": "http://localhost:%s",
        "action": "openExternally"
    }
    "pathMappings": {
                "/srv/www/mywebsiteroot": "${workspaceRoot}",
                "/app/": "${workspaceRoot}"
    },
    "stopOnEntry": true,
    "log": true
}

php.ini Config

  • This has annotations to make editing the config easy.
  • I always put this at the end of the file.
  • If you want to use Xdebug and OPCache together, you must have the zend_extension line for Xdebug below the line for OPCache, or in a file starting with a higher number (ie. 99-xdebug.ini vs 20-opcache.ini), otherwise they won't work properly together.
[XDebug v3]

; https://xdebug.org/
; https://xdebug.org/docs/all_functions
; https://xdebug.org/docs/all_settings
; https://xdebug.org/docs/upgrade_guide - (V2 -> V3) including replacements
; https://xdebug.org/docs/develop
; https://xdebug.org/docs/errors

;;;; Binary Location

; Download here: https://github.com/xdebug/xdebug/releases
; Xampp uses: 64-bit Thread Safe, for this version of PHP
; Example file explained : php_xdebug-3.5.1-8.2-ts-vs16-x86_64.dll
;   3.5.1  = xDebug Version
;   8.2    = Target PHP version 
;   ts     = Thread Safe / nts = Not Thread Safe
;   vs16   = Visual Studio version used to compile the DLL
;   x86_64 = Supported Archietecture
; Thread Safe vs Non Thread Safe
;   https://stackoverflow.com/questions/5793751/what-are-the-technical-differences-between-the-thread-safe-and-non-thread-safe-p
;   If you're running Apache (or IIS) as FastCGI (or CGI) then you want the Non Thread Safe version of PHP.
;   If you're running Apache as default (as a Module), then you'll want the more traditional Thread Safe version.
; Direct dll call
zend_extension = "D:\websites\php\ext\php_xdebug-3.5.1-8.2-ts-vs16-x86_64.dll"
; Alias call
;   Download php_xdebug-3.5.1-8.2-ts-vs16-x86_64.dll
;   Rename it to php_xdebug.dll
;   Move the downloaded file to D:\websites\php\ext
;   Use this call method below instead of the direct dll call.
;zend_extension = xdebug

;;;; Connection Settings

xdebug.mode = debug,develop
    ; https://xdebug.org/docs/all_settings#mode
    ; debug is needed for step debugging
    ; develop is needed to show orange `Call Stack`
    ; https://stackoverflow.com/questions/67274848/xdebug-3-not-showing-stack-trace-on-fatal-error-since-upgrading
xdebug.client_host = thebrain
    ; Can use an IP here but hostname is better
xdebug.client_port = 9003
    ; default port: 9003
xdebug.idekey = "vsc"
xdebug.file_link_format = "vscode://file/%f:%l"
    ; Clickable Stack Traces
    ; xdebug.file_link_format = "netbeans://open/?f=%f:%l"
    ; IDE Links stack traces and errors - https://xdebug.org/docs/all_settings#file_link_format - Read the Readme

;xdebug.start_with_request = yes
    ; The functionalit starts when the PHP request starts, and before any PHP code is run.
    ; I do not use this because i use a browser plugin
    ; https://buildio.dev/xdebug-and-its-impact-on-performance-xampp/
    ;  It instructs XDebug to start a debugging session at the beginning of every PHP request. 
    ;  This means that XDebug will be active for all PHP executions, whether they are accessed through a web browser, CLI, or any other method that invokes PHP.

;xdebug.start_upon_error = yes
    ;Xdebug will trigger a debugging connection when a PHP Notice or Warning appears, or when a Throwable (Error or Exception) is thrown.
    ; This will be intiated by the browser, i think you have to have netbeans waiting in debug mode
    
;;;; Logging

; All warnings and errors also show up in the diagnostics log that you can view by calling xdebug_info().
; All data is appended

;xdebug.log = "D:\websites\tmp\xdebug\xdebug.log"
    ; https://xdebug.org/docs/all_settings#log_level
xdebug.log_level = 7 
    ;controls how much information is logged.
    
;;;; Remote

;xdebug.remote_autostart = 0
    ; This must be off otherwise curl_exec() will crap out the debugger - dont know about V3
    ; ?? https://xdebug.org/docs/all_settings#start_with_request
;xdebug.remote_mode = req

;;;; General

;xdebug.collect_return = off
;xdebug.max_nesting_level = 100
    ; For Gantry - https://docs.gantry.org/gantry5/troubleshooting/max-nesting-level use 256
;xdebug.show_exception_trace = 1
    ; When this setting is set to 1, Xdebug will show a stack trace whenever an Error is raised - even if this Error is actually caught.
;xdebug.show_local_vars = 1
    ;This shows local variables in the stack trace
    ;https://xdebug.org/docs/develop
;xdebug.var_display_max_data = 16384    
;;NOT in V3 - I Need to find the equivalent
    ;xdebug.auto_trace = off
    ;xdebug.collect_includes = on
    ;xdebug.collect_params = off    
    ;xdebug.default_enable = on
    ;xdebug.extended_info = 1
    ;xdebug.manual_url = http://www.php.net    
    ;xdebug.show_mem_delta = 0

;;;; Trace options

;xdebug.trace_options = 0
    ; When set to '1' the trace files will be appended to, instead of being overwritten in subsequent requests.
;xdebug.trace_format = 0
;xdebug.trace_options = 0
;xdebug.trace_output_name=crc32    
; NOT in V3 - I Need to find the equivalent
    ;xdebug.trace_output_dir= "d:\websites\tmp\xdebug\trace"  

;;;; Profiling - https://xdebug.org/docs/profiler

;xdebug.xdebug.profiler_append = 0
;xdebug.profiler_output_name = cachegrind.out.%p
    ; or "cachegrind.out.%t-%s"
; NOT in V3 - I Need to find the equivalent
    ;xdebug.profiler_aggregate = 0
    ;xdebug.profiler_enable = 0
    ;xdebug.profiler_enable_trigger = 0
    ;xdebug.profiler_enable_trigger_value = ""
    ;xdebug.profiler_output_dir = "D:\websites\tmp\xdebug\profiler"
    
;;;; Value Dumping

;https://xdebug.org/docs/all_settings#dump.*
;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.GET = *
;xdebug.dump_undefined=1

Xdebug

Office Sites

Official Docs 

General

  • PHP-FPM and clear_en
    • Some web servers have a configuration option to prevent environment variables from being propagated to PHP and Xdebug
    • For example, PHP-FPM has a clear_env configuration setting that is on by default, which you will need to turn off if you want to use XDEBUG_CONFIG.
    • Make sure that your web server does not clean the environment, or specifically allows the XDEBUG_CONFIG environment variable to be passed on.
    • From https://xdebug.org/docs/all_settings 
  • Should I disable `output_buffering`
    • Whether you need to disable output buffering for Xdebug depends on what you're trying to do and which Xdebug feature you're using.
    • When Output Buffering Matters with Xdebug
      • For step debugging (breakpoints, stack traces): Output buffering typically doesn't affect the debugger itself. Xdebug's step debugging communicates with your IDE via a separate network protocol (DBGp), so buffered output doesn't interfere. You can leave output buffering enabled.
      • For error handling and stack traces: If you're relying on Xdebug to display error stack traces in the browser, output buffering can sometimes cause issues because the trace needs to be sent before any other output. However, this is rarely a problem in practice.
      • For the profiler or code coverage features: Output buffering has no impact on these features. They operate independently of output.
    • When You Might Want to Disable It
      • Early fatal errors: If a fatal error occurs very early in your script (before output buffering is flushed), you might miss Xdebug's error output. Disabling buffering ensures error information displays immediately.
      • Streaming responses: If you're working with streaming or chunked output, output buffering can interfere with your ability to see real-time data.
      • Debugging output order: If you're debugging and want to see exactly when output happens in relation to code execution.
    • General Recommendation
      • Leave output buffering enabled for normal development. Xdebug works fine with it.
      • If you encounter specific issues (missing error traces, unexpected behaviour), you can temporarily disable it to test: just set output_buffering = Off in your php.ini or use ob_end_flush() in your code.
  • How to have XDebug send log entries to VS Code 'Debug console' window?
    • php - How to have XDebug send log entries to VS Code 'Debug console' window? - Stack Overflow
      • If you set your PHP error_log setting to syslog and PHP will send all error log messages to stderr, which Xdebug will then send to the IDE.
      • Xdebug itself does not send error_log messages to the IDE, but there is now an xdebug_notify() function, with which you can send messages (strings, and variables) to the IDE as well.
      • xdebug_notify() works, thank you! However, setting error_log to syslog in php.ini, restarting Apache, then issuing error_log("test"); in PHP (8.2) does not work for me.
      • I am using php_xdebug.dll 3.2.0.11.
  • Show Full Variable Content in the VSCode View
    • In this section I will address how to setup your Xdebug View to present variable information correctly.
    • Xdebug Variable Full Content in VSCode | Praveen Dias
      • The below configuration adjustments are necessary to enhance the debugging process within Visual Studio Code when utilizing xdebug. By specifying an increased “max_children” value and enabling unlimited “max_data,” developers can obtain more comprehensive insights into complex data structures and object hierarchies during debugging sessions. Additionally, the limitation imposed on “max_depth” to a value of 3 prevents excessive recursion depths, striking a balance between thoroughness and performance.
        "xdebugSettings": {
            "max_children": 128,
            "max_data": -1,
            "max_depth": 3
        }
    • Variable truncation in the VSCode View
      • This can be annoying when you just what to see the full variable. The following will remove the character limit and thus the truncation. You can also just set a higher arbitrary limit such as 512.
      • Goto the Xdebug settings in your VSCode launch.json 
      • Add "max_data": -1 into your xdebugSettings:
        "xdebugSettings": {    
            "max_data": -1    
        },
        • I usually put the xdebugSettings below the port declaration if it does not exist.
    • Can't view the full content of string variables with more than 512 characters in VS Code XDebug Debug Console · Issue #815 · xdebug/vscode-php-debug · GitHub
      • Q:
        • You will see only the first 512 characters, instead of the full string value.
        • For XDebug there is a special setting, that can extend this limit to more than 512 characters: https://xdebug.org/docs/all_settings#var_display_max_data
        • But even if I set it to higher values or use -1 - it doesn't resolve the issue:
          ini_get('xdebug.var_display_max_data')
          "4096"
      • A:
        • The maximum length to be transferred in a debug session is controlled by settings set within the debug session. The INI settings do not control this.
        • You need to set the max_data in your launch,json. See the xdebugSettings section in the README.
        • I would like to have a special "details" window where I could fetch the whole data of a variable, but VSCode does not currently offer such a UI element.

Debugging via the Command Line (CLI)

These all assume that Xdebug is setup correctly in php.ini

  • Do one of the following
    1. Launch PHP with several switches: (can get to work)
      php -d xdebug.remote_enable=1 -d xdebug.remote_mode=req -d xdebug.remote_port=9000 -d xdebug.remote_host=127.0.0.1 -d xdebug.remote_connect_back=0 path/to/script.php
    2. Set an environment variable that configures Xdebug:
      set XDEBUG_CONFIG=remote_enable=1 remote_mode=req remote_port=9000 remote_host=127.0.0.1 remote_connect_back=0
    3. mine test: (nb: no spaces in the seperate statements, but 1 space between each)
      php -d xdebug.remote_enable=on -d xdebug.remote_autostart=0 -d xdebug.remote_handler=dbgp -d xdebug.remote_mode=req -d xdebug.remote_host="192.168.1.226" -d xdebug.remote_port=9001 -d xdebug.remote_connect_back=0 -d xdebug.remote_log="d:\websites\tmp\xdebug\xdebug_remote.log" -d xdebug.idekey="vsc" cron.php
  • Other method (unverified)
    • Run the following the command line
    • set XDEBUG_CONFIG="idekey=vsc"
      • works, i think this enviroment variable is temp)
    • unset XDEBUG_CONFIG
      • this deletes the variab
    • Now
      1. open a cmd prompt and navigate to the folder with the script in it. You can run from anywhere but this makes it easier
      2. have netbeans debug ready
      3. Run: set XDEBUG_CONFIG="idekey=vsc"
      4. Run your script ie: php cron.php (in the folder with the script)
  • Links

Functionality

These sections cover the main functionality of Xdebug.

There are many ways to trigger debugging:

  • $_GET
  • $_POST
  • $_COOKIE
  • Always start with each request
  • xdebug_break()
  • xdebug_start_trace()
Step Debugging
Profiling
Function Tracing
Flame Graphs
Development Helpers
  • General
    • Xdebug: Documentation - Development Helpers
      • help you get better error messages and obtain better information from PHP's built-in functions.
      • Xdebug's development helpers allow you to get better error messages and obtain more information from PHP's built-in functions. The helpers include an upgraded var_dump() function; location, stack, and argument information upon Notices, Warnings and Exceptions; and numerous functions and settings to tweak PHP's behaviour.
Code Coverage Analysis
  • General
    • Xdebug: Documentation - Code Coverage Analysis
      • Analyse whether your tests cover your whole code base.
      • Code coverage tells you which lines of script (or set of scripts) have been executed during a request. With this information you can for example find out how good your unit tests are.

Troubleshooting

  • 12 Most Common Xdebug Issues (and How to Fix Them) - DEVSENSE Blog
    • A practical guide to the most frequent PHP debugging problems with Xdebug and IDE-integrated debuggers, and how to fix them.
  • when xdebug does not work then: (These were formed when I was using Netbeans but should still be valid for VSCode.)
    • Add a breakpoint to the first file that gets opens (i.e. index.php) and see if it works
    • Make sure you set a static IP in your network controller
    • Only have 1 active network controller
    • Set the ip address in the php.ini to match
    • `Path Mappings` are usually not needed but if they are add them. if they are there and dont work try removing them. thse should not change once you have things working
    • check Netbeans is working and you could also turn on `options --> php-debugging --> stop at first line`
    • verify where you have a breakpoint the pointer will actually hit.
    • make sure the connection settings are correct
    • use your computer name as connection host
      • use the computers hostname ie e6540 as this stops things work if you are on a DHCP
      • e6540.lan and e6540.yourdomain.uk will work if configured but will involve an external DNS lookup
  • For those having connection issues the 2 bug fixes are:
    • Use your systems IP, do not use 127.0.0.1
    • The Project's `Path mappings` in Netbeans sometimes need to be set.

Watches

Tutorials

Notes

  • This is very powerful debugging feature.
  • if you right click on a variable you can add it to WATCH
  • VS Code will break when the expression evaluates to true. You can also break when a value is false, just get the expression right.
  • Remember it will only evaluate in the current frame (The Tokens, Values and Symbols available to the current page being debugged)
  • You can conditionally look for variables with a watch, but they do not pause execution or allow you to go to where there were defined etc... probably becasue they can be at mulitple places or it is outside of the frame.
  • Xdebug + VSCode can pause when a watch expression evaluates to true, but not directly.
    • A watch in VSCode does not trigger a pause — it's only for observing values while already paused (e.g., at a breakpoint).
    • If you want Xdebug to automatically pause when a variable equals classic-doors.vm, you need to use a conditional breakpoint, not just a watch so to confirm, a breakpoint needs to be active which pause the execution.
  • Why Watches Alone Don’t Pause Execution
    • They only evaluate when execution is already paused (at a breakpoint or step).
    • Are not triggers for a pause by themselves.
  • Watch expressions are only valid in the current context/frame.
  • You cannot Watch a whole class, just variables.
  • You must manually add a watch expression. Static properties do not automatically appear in the Scope panel.
  • Xdebug does not automatically list static properties in the “locals” section because they're not part of the current stack frame.
  • You must explicitly watch/evaluate them.
  • Static private properties can still be read by Xdebug — visibility rules do not apply in the debugger.
  • Why you can’t “just watch the class” directly
    • Xdebug shows locals, superglobals, and object properties in the current frame.
    • Static properties are not part of the stack frame, so the IDE must manually request them.
    • Most IDEs only request statics if you ask explicitly (via watch or evaluation).
  • Why you cannot watch a class directly
    • Xdebug’s debug protocol only allows watching variables, not types.
    • A class is not a variable/value at runtime, so the IDE cannot fetch it automatically.
    • The only way to pull information about a class is to evaluate code on demand — which is what the Reflection workaround does.
  • Xdebug shows locals, superglobals, and object properties in the current frame.
  • Static properties are not part of the stack frame, so the IDE must manually request them.
  • Xdebug itself cannot auto-enumerate all static properties of a class — the debugger protocol doesn’t send them unless the IDE explicitly requests them. Most IDEs do not automatically fetch static properties, so you must use a workaround.

View Static Variables (Watch)

Static properties do not automatically appear in the Scope panel, you must add a Watch Expression to see the static variable such as:

$this::$variable
\CMSApplication::$VAR
Payment::$payment_details
PaymentMethodCreditnote::$creditnote_details

This then shows the values of it underneath just like in the variables part.

Other options (not tried)

  1. Declaring the class as a variable
    $this->paymentMethod = new $Payment;
    $chicken = new $Payment;
  2. Reference the static with an echo or another variable locally on your code so they appear as a local variable.
  3. Using Xdebug breakpoints + xdebug_info()
    • If you put a breakpoint anywhere and call: xdebug_info();
    • Then open the debugger console, you can run: print MyClass::$myStaticVar
  4. Using Xdebug’s function breakpoint and class filter
      • If the static variable is modified inside a method of another class, set a breakpoint inside that method. Xdebug will pause, and the IDE will allow you to evaluate: OtherClass::$theStatic

Alternative Methods - View Static Variables (Watch)

Here are all practical methods depending on what you want:

  • Method 1: Use Reflection to dump all static properties
    • Add a temporary debug line anywhere you have a breakpoint:
      $ref = new ReflectionClass(MyClass::class);
      $statics = $ref->getStaticProperties();
    • Then inspect $statics in your debugger (it will appear as a normal array and expand cleanly).
    • This is the most reliable and IDE-agnostic way.
  • Method 2: Use var_dump() (with Xdebug formatting)
    • Inside a breakpoint:
      var_dump((new ReflectionClass(MyClass::class))->getStaticProperties());
    • Xdebug will pretty-print all static values.
  • Method 3: Add a “Class” Watch Expression in IDE
    • Most IDEs don’t show static values automatically, but this trick works:
    • In the Watch panel add
      (class_exists('MyClass') ? (new ReflectionClass('MyClass'))->getStaticProperties() : null)
  • Workable Solution: Watch a Reflection snapshot of the class
    • Add this to your Watch panel:
      (new ReflectionClass(MyClass::class))->getStaticProperties()
    • This will display all static properties as an array that you can expand.
  • Optional: include constants and methods too
    • If you want all class metadata, add this instead:
      new ReflectionClass(MyClass::class)
    • You will get:
      • class name
      • parent class
      • interfaces
      • constants
      • static properties
      • methods
      • attributes
    • Everything — fully expandable in the Watch pane.

Why Reflection works

  • A class is not a runtime value you can “watch,” but Reflection lets you create an object representing the class.
  • That object is watchable — so your IDE can display all its properties.

View Object Variables (Watch)

This is just the same as viewing Static Variables but with the following format:

$this->app->components->payment->PaymentMethod                        - This shows all of the variables of the object
$this->app->components->payment->PaymentMethod->$creditnote_details

Execution has paused, now open where the watch condition was matched?

I have not verified if this method works or if it is made up by AI

if the watch expression matched and execution paused, then VSCode should already be stopped at the line of code where the condition was met, or just before it, depending on when the expression was evaluated.

To find where in the code this happened, when execution has paused:

  • Look at the Editor:
    • VSCode should automatically jump to the file and line where execution paused.
    • This is where the watch expression was true during execution.
  • Check the Call Stack Panel:
    • On the left in the "Run and Debug" sidebar, open the Call Stack section.
    • This shows the current and previous functions/methods called.
    • Click the top frame (usually bold) — this is where execution is paused.
    • If not on top, click through frames until you find the one where your variable appears.
  • Use the Variables Panel:
    • Under "Locals", "Globals", or "Superglobals", you can find your variable.
    • Hover over it or click to expand — this helps confirm it’s the correct scope and line.
  • Use the Debug Console:
    • At the bottom panel, go to the Debug Console and type:
      where
    • Or check the current file and line via the stack:
      bt
    • (These commands may work better in Xdebug CLI, but the Call Stack tab in VSCode is your main guide.)
  • If VSCode Did Not jump to the right line automatically (rare but can happen), try:
    • Clicking the Call Stack topmost frame.
    • Hitting Ctrl+Shift+Y (or View > Debug Console) to check the output.
    • Use Step Over / Step In to advance execution a few lines if paused mid-function.

Break Points

With xdebug_break()

You simple add this function into your code and when it is called, it instanciates a breakpoint and causes the execution to pause.

  • How to create
    • Create breakpoints in VSCode
    • Use xdebug_break() within your code to force a break.

Standard Breakpoints

You simple create a breakpoint on your code using the GUI of VSCode and execution is paused at this point.

Conditional Breakpoints

Example Conditions
$payment_id == 90
$payment->id == 90
Payment::$payment_details['payment_id'] == 90
Payment::$payment_details['payment_id'] == true
Payment::$payment_details['payment_id'] == false
isset($payment['id']) && $payment['id'] == 90
How To Use a Conditional Breakpoint
  • Find places in your code where a variable (any you suspect) might be set or passed. Start in relevant classes, views, or controllers.
  • Click the gutter next to a suspect line (this sets a regular breakpoint).
  • Right-click the red dot → Edit Breakpoint...
  • Set a condition, like:
    $template === 'classic-doors'
    Or if unsure of the variable name, use:
    strpos($template ?? '', 'classic-doors') !== false
  • Save and run the debugger
  • Result:
    • When that condition is true, Xdebug pauses, and VSCode opens the exact file/line where it matched.
    • You can now inspect the stack, code, and variable state.

Practical Examples / Methods

To get Xdebug in VSCode to pause (break) when any variable equals classic-doors, you can follow one of these approaches depending on your version of Xdebug and PHP:

  • Method 1: Use a Conditional Breakpoint in VSCode
    • If you know where the variable might be assigned (or checked), set a conditional breakpoint:
      1. Open the PHP file where variables might be set or passed.
      2. Click in the gutter next to the line where the variable is assigned or used.
      3. Right-click the red dot → Edit Breakpoint
      4. Enter the condition, for example:
        $variable === 'classic-doors'

         or

        $pageTemplate === 'classic-garage-doors'
      5. Make sure the variable is in scope at the line you set the breakpoint.
  • Method 2: Set a Watch Expression
    • Go to the "Run and Debug" panel on the left.
    • Expand the "WATCH" section.
    • Add an expression like:
      $someVariable === 'classic-doors'
    • This won't pause execution, but will show you when it's true — combine this with stepping through relevant code.
  • Method 3: Use xdebug_break() in Code (Temporary Debug Hook)
    • Add the code where needed:
      if ($someVariable === 'classic-doors') {
          xdebug_break(); // Forces a debug pause if Xdebug is connected
      }
    • Then reload the page or trigger the code path — it will stop here.

Tracing

Function Trace - Worked Example -  Show in what order WordPress files are loaded

  • Q: I want a list, in order, of all files loaded by WordPress so I can see how it is loading to help me better understand an issue I am having with a website.
  • A: If you're specifically trying to trace all the files that WordPress loads in order, Xdebug can give you exactly that, but not via the Call Stack in VSCode, because that only shows function calls at the point of a breakpoint. What you want is a file inclusion trace.
Common

This is required for all methods.

  • Enable the Trace mode in php.ini by adding the `trace` to the allowed modes
    xdebug.mode = trace
    xdebug.mode = develop,debug,trace
  • Configure the output directory (pick one)
    xdebug.output_dir="D:\websites\tmp\site.trace"
    xdebug.output_dir="D:\\websites\\tmp\\site.trace"
    xdebug.output_dir="D:/websites/tmp/site.trace"
    xdebug.output_dir="/tmp/site.trace"
    • The log file (*.xt) will be created in the specified location (e.g. D:\websites\tmp\site.trace.xt)
    • Double-backslashes \\ or single-quoted forward slashes / both work.
  • Optionally you can also add:
    xdebug.show_error_trace=1
    xdebug.show_exception_trace=1
Method 1 - Via Request Trigger

This method is the easiest and allow you to turn it on and off very quickly, however your will end up tracing the whole application.

Instructions

 

  • Make sure the common steps above are completed.
  • Install one of the `Browser Plugins` from above.
  • Enable `Trace` in the plugin.
  • Load your page.
  • Examine your Trace file in the defined location.

 

Method 2 - Explicitly by Code (xdebug_start_trace() & xdebug_stop_trace() )

This method can be useful for tracing particular sections of code.

Instructions

  • Make sure the common steps above are completed.
  • Add this to the very top of your wp-config.php or index.php (or even better, a custom MU plugin):
    xdebug_start_trace('/tmp/wp-trace');
  • Then after the request, you’ll get a trace file like:
    /tmp/wp-trace.xt
    • This file will contain a line-by-line trace including:
      • include, require, include_once, etc.
        Function calls
        Timestamps and memory usage
    • The trace will look like this:
      0.0001  104856  -> require_once(/var/www/html/wp-load.php)
      0.0023  105321  -> require_once(/var/www/html/wp-config.php)
      0.0032  106544  -> include_once(/var/www/html/wp-settings.php)
      0.0045  107120  -> require_once(/var/www/html/wp-includes/load.php)
    • You’ll get a full ordered list of everything WordPress is loading and when.
  • Stop the Trace
    • You can stop the trace explicitly:
      xdebug_start_trace();               - This will output a file to the folder defined by `xdebug.output_dir`
      or
      xdebug_start_trace('<location>');   - You can specify a location for the trace file. Accepts same formats as `xdebug.output_dir`
    • Or let it stop automatically when the script ends.
  • Examine your Trace file in the defined location.
Notes

debug_backtrace()

These inbuilt PHP functions allow you to Log Stack Traces.

REST API (i have some links)

HTTP

 

 

 


 

 

 

 

 

Getting Xdebug, Xampp and Netbeans to work together in Windows can be a tricky thing and I want to address that here. These instructions will get debugging working all on the same PC and IP.

A symptom of a PC that is not setup correctly is this Netbeans Socket Exception error. You get this error when Netbeans cannot communicate with Xdebug and is usually because you are running them both on the same computer and therefore IP so the traffic routing is getting mixed up. It could also because something else is running on the debug port you have selected.

Netbeans Socket Exception error

These Settings Work

These settings are what I am using now and work well.

Windows

  • You need to set a static IP on your ethernet adapter (or wifi)

php.ini

    • Use your static IP to set xdebug.remote_host. Setting a static IP seems to fix most connecion issues. xdebug does not like 127.0.0.1 it works sometimes but can be problematic.
    • Swapping xdebug.remote_port to 9001 helped when xdebug just stopped working. The default is 9000.
    • Disable output_buffering in your php.ini by altering/uncommenting the following line
      output_buffering = Off
    • Add the following code to the end of your php.ini file.
      [XDebug]
      
      zend_extension="D:\websites\php\ext\php_xdebug.dll"
      ;zend_extension="D:\websites\php\ext\php_xdebug-2.5.4-5.6-vc11.dll"
      xdebug.idekey = vsc
      xdebug.profiler_append = 0
      xdebug.profiler_enable = 0
      xdebug.profiler_enable_trigger = 0
      xdebug.profiler_output_dir = "d:\websites\tmp\xdebug"
      xdebug.profiler_output_name = "cachegrind.out.%t-%s"
      xdebug.remote_enable = 1
      xdebug.remote_autostart = 0
      xdebug.remote_connect_back = 0
      xdebug.remote_host = "192.168.1.160"
      xdebug.remote_port = 9001
      xdebug.remote_handler = "dbgp"
      xdebug.remote_mode = req
      xdebug.remote_log = "d:\websites\tmp\xdebug\xdebug_remote.log"
      xdebug.show_local_vars = 9
      xdebug.trace_output_dir = "d:\websites\tmp"
      
      ;xdebug.show_exception_trace = 1

      Minimum working settings

      These are the minimum settings I have found to work but are here only for reference.

      [XDebug]
      
      ;zend_extension="D:\websites\php\ext\php_xdebug.dll"
      zend_extension="D:\websites\php\ext\php_xdebug-2.5.4-5.6-vc11.dll"
      xdebug.remote_enable=1
      xdebug.remote_handler=dbgp
      xdebug.remote_mode=req
      xdebug.remote_host=192.168.1.160
      xdebug.remote_port=9001
      xdebug.idekey=vsc

Netbeans

(Tools --> Options --> PHP --> Debugging)

  • Debugger Port: 9001
  • Session ID: vsc
  • Maximum Data Length: 2048 - I think this is the default
  • Stop at First Line: off
  • Watches and Balloon Evaluation: All off
  • Show Requested URLs: off
  • Show Debugger Console: On

Browser

You need to send a trigger to Xdebug via your browser to trigger the debugger. You can send the trgger via GET/POST but you need a plugin for this.

Test Debugger is working

Now you have configured your system as above you need to test it before you can rely on it.

  • Set a breakpoint in Netbeans on the index.php (or a PHP file that is parsed) in your software project, preferably one before the content is displayed. (or you can enable the ‘Stop at First Line’ option in the Netbeans config
  • Start debugging in Netbeans
  • Open your project in a chrome browser with the xdebug helper plugin enabled
  • If the browser and Netbeans stop at the breakpoint, everything is working

Diagnostics

Things that Might help

If xdebug does not work straight away then trying these things might help.

  • could disabling ipv6 in the network adapter help? because xampp has issues with ipv6
  • xdebug might fail if you have multiple version of xampp running
  • Localhost is mapping to ::1 and not 127.0.0.1
  • Not all lines can act as breakpoints, these are displayed as cracked breakpoint markers in Netbeans. These breakpoints will not work because Netbeans does not like them. To fix this yoou should choose another breakpoint.
  • Run the Xdebug on another server which has another IP
  • Get the latest dll from xdebug site (i.e. php_xdebug-2.5.4-5.6-vc11.dll)
  • Comment out any zend extensions
  • Some people use port 9001 when they have issues with 9000.

Test the port is not already in use - dbgtest.php

This code is taken from 21.4.2 How to Set Up XDebug | Oracle

<?php
$address = '127.0.0.1';
$port = '9000';
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die();
socket_listen($sock);
$client = socket_accept($sock);
echo "Connection established: $client";
socket_close($client);
socket_close($sock);
?>

However I found this slightly better version from dbgtest.php · GitHub

<?php
// adapted from https://blogs.oracle.com/netbeansphp/entry/howto_check_xdebug_installation
$address = $argv[1] ?: '127.0.0.1';
$port = '9000';
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die();
echo "Listening to $address:$port\n";
socket_listen($sock);
$client = socket_accept($sock);
echo "Connection established: $client\n";
socket_close($client);
socket_close($sock);
  1. Create a php file with the code above called dbgtest.php and put it in the htdocs folder of your xampp server
  2. Change the port to 9001 if that is the port number you are using/diagnosing
  3. Enable sockets - extension=php_sockets.dll
    • only be need for the test script
    • You enable this by uncommenting the appropriate line in the php.ini
    • if you do not enable this you will get this error
      Call to undefined function socket_create()
  4. Close Netbeans if that is running.
  5. Restart Xampp
  6. Run the script

If there is something running on this socket you will get an error as shown below. This shows that some other process is using the port 9000.

Warning: socket_bind(): unable to bind address [10048]: Only one usage of each socket address (protocol/network address/port) is normally permitted. in D:\websites\htdocs\dbgtest.php on line 5

Workarounds

These are a few workarounds I tried and might work for you. These are not designed to be a permanent fix.

Method 1

  • Make sure netbeans and xampp are not running
  • Put the basic xdebug settings in php.ini
  • Enable extension=php_sockets.dll in php.ini
  • Run xampp
  • Put a copy of the oracle script in your Webroot and run it. This causes xampp to open socket on 9000
  • Now open and run NetBeans debugging

* I am not sure if you need to do the IP fix aswell for this to work. It is all caused by routing issues on the loopback system of the PC. Or sockets might be needed.

Method 2

  • Turn of netbeans debugging (leave netbeans open)
  • Run the dbgtest.php to allow xampp/xdebug to grab the port
  • Now start netbeans debugging

Method 3 - (if working and then stops for no reason)

  • Close Netbeans, Xampp and browsers
  • Restart them all

Links

Published in Programming
Sunday, 25 January 2026 13:57

My Diet and Health Regime Notes

TL;DR I am not a doctor. These are notes for myself that other people might find useful. Your health and body are your problem and if you have any health issues consult your doctor, not me.

I have had some general health issues which are probably due to bad diet and lifestyle. The advise I got from a Urinary Consultant was limited and in one particular case wrong, so I have decided to figure this out myself and write it up here for a reference.

My Regime

TL;DR

  • For a Man
  • Reduce Visceral Fat
  • Reduced Cortisol Levels

Food

Timetable

Time Food Fluids Supplements Exercise Notes
00:00          
01:00          
02:00          
03:00          
04:00          
05:00          
06:00          
07:00  Breakfast Meal
  • 500ml Water
    • with Electrolytes
    • 2 x Coffee is allowed
  • Yakult
  • Multi Vitamin
  • Vitamin D
    • 1 Tablet (1000 IU / 25mg)(nurse)
  • Creatine
    • (5mg) to start with
    • (20mg) for cognitive enhancement
  • Omega 3
    • 1 Tablet (EPA: 180mg, DHA: 120mg)
  • B12
    • 1 Tablet (100mcg / 1000μg)
    • (50mcg to 100mcg)(nurse)
  • 30 mins on treadmill
    or
  • 30 mins brisk walk

NB: Keep heart in fat burn zone

  • Within 30 minutes of waking (30-30-30)
    • Eat breakfast
    • Do Exercise
08:00          
09:00          
10:00          
11:00          
12:00 Meal Replacement / Protein Drink        
  • 10 to 20 minute walk after meal, and must be within 30 mins
13:00          
14:00          
15:00          
16:00          
17:00 Normal Meal      
  • 10 to 20 minute walk after meal, and must be within 30 mins
18:00          
19:00 Stop Eating Stop Drinking
  • Ashwagandha
    • 1 Tablet (500mg)
 
  •  Stop eating and drinking 3-4 hours before bed
20:00          
21:00          
22:00          
23.00    
  • Melatonin ???
  • L-Theanine ???
  • Magnesium Glycinate ???
  • 1 tablespoon of Honey and unrefined Sea Salt, right before bed ???
 
  • To be ready for bed, you must fall asleep within 20 minutes
  •         = Sleep

Diet Rules

For things that are not obvious in the table above. 

  • General
    • Total water per day = 2.5l - 5.0l (i am working on this)
    • 1g of protein per pound of ideal weight
    • Once you have diet sorted, fast 1 day a week (TBA), you must be doing the diet for a while and it be your routine.
  • Meal target types
    • Breakfast = protein
    • Dinner = Protein + carbs
  • Food for Exercise
    • Before: Carbs
    • After: Protein
Meals I can eat
  • Breakfast
    • Meal 1
      • Steak piece (butcher) and 2 x scrambled eggs with a little milk
  • Normal Meals
    • Meal 1
      • Pickled Onions
      • Iceberg Lettuce
      • Meat (pick one)
        • 2 x Butcher's pork sausages
        • Chicken Piece
        • Steak Piece
      • Spoonful of cheese
    • Meal 2
      • Pickled Onions
      • 2 x eggs that are omega3 enriched (at least free range) (3 eggs a day is safe)(this guy eats 3 -6)
      • Steam mixed vegetables
      • Meat (pick one)
        • 2 x Butcher's pork sausages
        • Chicken Piece
        • Steak Piece
  • Snacks
    • Hard boiled eggs for snacks
    • Banana
Diet Suggestions

These are just some a collection of ideas.

  • General
    • Low carb diet seems to be a good thing
    • More protein in diet causes
      • more metabolism of it burning up my calories
      • more protein in diet tend to remove belly fat (see articles)
    • Eating six eggs 3 x 3 (breakfast/dinner/tea) not a bad thing
    • Brussels sprouts are really high in protein
    • Smaller portions (trick yourself by using a smaller plate at the same time)
    • Do not buy processed food.
      • No processed, get meat from a butcher that has not been processed
      • Most processed foods tend to be high load GI and not good for you because all of the fibre and other stuff is removed.
    • Steam, not Boil
    • Grill rather than Fry
    • Low Glycemic rate food is better?
      • The glycemic index (GI) is a measure of how quickly carbohydrates raise blood sugar levels after consumption.
      • Foods with a high GI cause a rapid rise in blood sugar, while those with a low GI lead to a slower rise.
      • Glycaemic index and diabetes | Diabetes UK
    • High Protein Foods: 16 Foods for High Protein Meals - Research shows it's really important to eat enough protein. These high protein foods can help you lose weight, gain muscle, and feel great.
    • When buying food
      • Don't just go to the shop, you will buy junk.
      • Plan your meals, then only buy what is needed, better still, order online and don't go to the shop.
      • You should by at least 1 week's worth of stuff, after this fresh food might go off.
  • Specific Foods
    • Eggs
      • Eggs are a super food
      • Whole eggs are among the healthiest and most nutritious foods on the planet.
      • They are loaded with vitamins, minerals, healthy fats, eye-protecting antioxidants and brain nutrients that most people don’t get enough of.
      • Whole eggs are high in protein, but egg whites are almost pure protein.
      • Protein content: 35% of calories in a whole egg. 1 large egg contains 6 grams of protein, with 78 calories
      • Eggs with omega3 in and/pasture from fed chickens is better
      • Egg, whole, cooked, hard-boiled | USDA FoodData Central - USDA FoodData Central produces thorough resources for navigating and understanding nutritional info to support dietary choices and nutritional analysis.
      • how much protein in an egg | Google Search
        • Nice lookup table 
        • Egg, boiled: 13% protein
        • Egg, fried: 14% protein
      • Egg Nutrition - Official UK Information | Egg info
        • Eggs are a natural source of many nutrients including high quality protein, vitamins and minerals. Including B2 (riboflavin) and B12. Find out more about the nutritional value of eggs.
      • Protein in egg | How much protein in an egg | Egg info
        • On average, a medium-size egg contains around 6.4 grams of protein which makes up around 12.6% of the overall edible portion. Find out more about protein in eggs.
        • There are on average between 5.2 and 7.5 grams of protein in an egg, depending on its size. For information on all sizes see below.
      • Eggs and a balanced diet | Egg Recipes | Egg info
        • Our bodies require a broad range of different nutrients to stay healthy - these nutrients ensure we are able to carry out our basic functions to keep alive and well.
        • A healthy diet can be achieved by consuming foods in their correct proportions and quantities which provide us with all the vital nutrients we need.
        • The Eatwell plate illustrates how to get your proportions right for a healthy diet.
      • How Many Eggs Can You Eat in a Day? The Surprising Truth - YouTube
        • For many decades, people have been advised to limit their consumption of eggs, because the yolk is high in cholesterol.
        • It was thought that if you ate cholesterol, it would raise cholesterol in the blood and contribute to heart disease... That was wrong.
Shopping / Where and What to Buy?

Gym

Timetable

Day Time Exercise Notes
Monday 11.00 - 12.30    
Tuesday      
Wednesday 11.00 - 12.30    
Thursday      
Friday 11.00 - 12.30    
Saturday   Walk  
Sunday   Walk  

Exercises

  • Treadmill
    • 10 Mins
  • Pec Fly / Rear Deltoid
    • 3 x 10
    • This is the joysticks one
    • do both far back where i pull in, and close together where I push out
  • The leg one / Leg Curl
    • 3 x 10
    • push and pull
  • Seated Row
    • 3 x 10
    • Pad in chest
    • Start with arms straight with a little tensions
    • keep arms in tight on my chest and back
  • Biceps / Triceps
    • 3 x 10
    • Dog Rope
    • arms at 90 and pull down keeping shoulders straight
    • keep arms in tight on my chest and back
  • Abdominal / Low Back
    • 3 x 10
    • Hug the roller
    • Keep back straight
  • Lat Pull Down
    • 3 x 10
    • ones with the thumb issue
    • keep back straight
    • this one gets me
  • Multipress
    • 3 x 10
    • Chest press / incline press / shoulder press
    • This is too nar at the minute
    • This is the lifting and pushing one
  • Assisted Pull Ups
    • 3 x 10
    • I just sank on this one
    • not for me yet
  • Swimming
    • This is great for stretching and not being bored with exercising.

Notes

  • Getting down on toes and forearms exercises most muscles in the body

Recommended Daily Nutrient Intake

Recommend intakes of various stuff.

Vitamins and Minerals

Vitamin / Mineral Nutrient Reference Intake (NRV) Notes
Beta-Carotene
  • NHS: none set
  • Vitamins and minerals - Others - NHS - Find out about vitamins and minerals including beta-carotene, copper, potassium and zinc.
    • It's turned into vitamin A in the body, so it can perform the same jobs in the body as vitamin A.
Biotin
(Vitamin B7)
  • Vitamin Bottle: 50μg
  • NHS: none set
Calcium
  • Vitamin Bottle: 1000mg
  • Vitamin Bottle: 800mg
  • NHS: 700mg
Chromium
  • Vitamin Bottle: 40μg
  • NHS: 25μg
Copper
  • Vitamin Bottle: 1mg
  • NHS: 1.2mg
Folic Acid / Folate
(Vitamin B9)
  • Vitamin Bottle: 200μg
  • NHS: 200μg
Glycine
  • 1.8g
 
Iodine
  • Vitamin Bottle: 150μg
  • NHS: 140μg
Iron
  • Vitamin Bottle: 14mg
  • NHS: 14.8mg
Magnesium
  • Vitamin Bottle: 375mg
  • NHS: 300mg
Manganese
  • Vitamin Bottle: 2mg
  • NHS: none set
Molybdenum
  • Vitamin Bottle: 50μg
  • NHS: none set
Niacin
(Vitamin B3)
  • Vitamin Bottle: 16mg NE
  • 16.5mg NE
Omega 3
  • Bottle: 300mg
    • EPA: 180mg
    • DHA: 120mg
  • BHF: 450mg
    • EPA + DHA
  • BDA: 450mg
    • EPA + DHA
  • Omega-3 foods for heart health | BHF - BHF
    • Omega-3 foods are beneficial for your heart. Here's how they help keep your heart healthy and which foods are a good source of omega-3s.
    • Some omega-3s are essential fatty acids, building blocks of the fats that your body needs to work properly. Your body cannot make them, so you have to get them from your diet.
    • The omega-3 fatty acids that are most important to our health are:
      • Alpha-linolenic acid (ALA), which is in some nuts and seeds and the oils made from them.
      • Eicosapentaenoic acid (EPA), which is mainly in oily fish but also white fish and seafood.
      • Docosahexaenoic acid (DHA), which is also mainly in oily fish but also white fish and seafood.
    • ALA is an essential fatty acid. Our bodies can convert some of the ALA we eat to EPA and DHA, but only in small amounts. So, although EPA and DHA are not essential fatty acids, it’s helpful to include sources of them in our diet too.
    • Aim for roughly 450mg per day, which is the equivalent you’d get from eating the recommended amounts of fish.
  • Omega-3 - BDA
    • You may have heard that eating foods rich in omega-3 fats could help to keep you healthy. This Food Fact Sheet looks at which foods contain omega-3 fats, how much we need and the benefits for our health.
    • Choose a supplement that provides you with the same daily amount provided by eating one to two portions of fish per week (about 450mg EPA and DHA per daily adult dose)
  • Omega 3 fats | Heart UK
    • Omega 3 fats are essential for good heart health. Read about the foods that contain them, how much to eat, and why they're good for you.
    • Our bodies can’t make ALA, so we need to get it from the foods we eat. It’s mainly found in vegetable oils, nuts and seeds.
    • Our bodies can make some EPA and DHA from ALA in the food we eat, but only a small amount. So, it’s good to eat foods that already contain them.
  • What is omega-3 and am I getting enough of it? - BBC Food
    • We’re told omega-3 is vital for good health, but why? And what should we eat to get it?
    • Omega-3 isn’t just one specific nutrient – it’s the name of a family of fatty acids. The three main omega-3s are ALA, DHA and EPA.
    • ALA is a short-chain fatty acid, while DHA and EPA are long-chain.
    • They are all referred to as an ‘essential’ nutrient, which means our bodies need them to function, but can’t make them from anything else. That’s why we need to get omega-3 from the foods we consume.
  • Omega-3 Fatty Acids - Health Professional Fact Sheet
    • Omega 3 fatty acids overview for health professionals. Research health effects, dosing, sources, deficiency, side effects, and interactions here.
    • A typical fish oil supplement provides about 1,000 mg fish oil, containing 180 mg EPA and 120 mg DHA, but doses vary widely.
Pantothenic Acid
(Vitamin B5)
  • Vitamin Bottle: 6mg
  • NHS: none set
Phosphorus
  • NHS: 550mg
Potassium
  • Vitamin Bottle: 2029mg
  • NHS: 3500mg
Riboflavin
(Vitamin B2)
  • Vitamin Bottle: 1.4mg
  • NHS: 1.3mg
Selenium
  • Vitamin Bottle: 55μg
  • NHS: 75μg
Sodium Chloride
(Table Salt)
  • NHS: 6g
    (2.4g of Sodium)
Taurine
  • Vitamin Bottle: 1g
 

Thiamin
(Vitamin B1)

  • Vitamin Bottle: 1.1mg
  • NHS: 1mg
Vitamin A
  • Vitamin Bottle: 800μg RE
  • NHS: 700μg RE
Vitamin B6
  • Vitamin Bottle: 1.4mg
  • NHS: 1.4mg
Vitamin B12
  • Vitamin Bottle: 2.5μg
  • NHS: 1.5μg

 

Vitamin C
  • Vitamin Bottle: 80mg
  • NHS: 40mg
Vitamin D
  • Vitamin Bottle: 5μg
  • NHS: 10μg
    (varies with environment)
Vitamin E
  • Vitamin Bottle: 12mg α-TE
  • NHS: 4mg
Vitamin K1
  • Vitamin Bottle: 75μg
  • NHS: 1μg/1kg of Weight
Zinc
  • Vitamin Bottle: 10mg
  • NHS: 9.5mg

Vitamin Bottle values might be different to the NHS ones because:

  • They are rounded.
  • They are European values.
  • The NHS values on the article are out of date.

Life Style Nutrients

These are not needed for a normal life but aid in improving it.

Nutrient Recommended Intake (RI) Potential Benefits for Notes
Ashwagandha
(a.k.a Indian Ginseng)
  • up to 1000 mg
  • 120mg to 2g
  • Anxiety
  • Insomnia
  • Stress
  • Vit Direct Ashwagandha Capsules 30s | Home Bargains
    • Take 1 capsule daily with water, preferably with a meal.
  • What is Ashwagandha? | Ashwagandha Benefits & Uses | H&B
    • Ashwagandha is an ancient herb with potential. Early studies suggest it may help with pain, inflammation, immunity and even how your body handles everyday stress – so let's look into the science
  • Ashwagandha: Overview, Uses, Side Effects, Precautions, Interactions, Dosing and Reviews | WebMD
    • Learn more about Ashwagandha uses, effectiveness, possible side effects, interactions, dosage, user ratings and products that contain Ashwagandha.
    • Ashwagandha has most often been used by adults in doses up to 1000 mg daily, for up to 12 weeks. Speak with a healthcare provider to find out what dose might be best for a specific condition.
    • Ashwagandha contains chemicals that might help calm the brain, reduce swelling, lower blood pressure, and alter the immune system.
  • Ashwagandha Uses, Benefits & Dosage | Drugs.com
    • Learn about the potential benefits of Ashwagandha including contraindications, adverse reactions, toxicology, pharmacology and historical usage.
    • Dosage
      • Anxiety: Doses ranging from 125 to 12,000 mg/day have been used for anxiety(66): 300 mg twice daily of ashwagandha root extract for 10 weeks(77); and standardized ashwagandha extract dosed at 240 mg once daily for 60 days and 500 mg twice daily (titrated up on week 2 from 250 mg twice daily) for 12 weeks has been used.(72, 75)
      • Sleep quality: Ashwagandha root extract 300 mg twice daily for 10 or 12 weeks may improve some sleep parameters.(73, 77)
Creatine Monohydrate
  • 5g is good for muscle development
  • 20g improves muscle and brain power, the first 5mg is absorbed by the muscles...
  • Helps build Muscle
  • Helps reduce Fat
  • Improve cognitive function
  • Sci-Mx Creatine Monohydrate 250g | Home Bargains
    • 1 x serving post workout
    • 1 x serving with your highest card meal or shake of the day. Creatine uptake is greater with higher-carb meals.
  • New Creatine Dose Research? Doctor Explains - YouTube | Dr Sermed Mezher
    • While 5g remains the gold standard for most, an emerging frontier of medical research is investigating significantly higher doses for specific neurological conditions.
    • In patient groups dealing with neurodegenerative diseases like Alzheimer's, researchers have explored doses as high as 20g per day.
    • Can improve cognitive function especially in times of stress it also helps build muscle and reduce fat.
  • New Research: Creatine and the Brain - YouTube | Dr Sermed Mezher
    • Creatine may improve cognitive function in people who are stressed by enhancing energy production in the brain.
    • Creatine is a compound that helps generate ATP, the primary energy source for cells, including brain cells.
L-Theanine
  •  200mg - 400mg
  • Stress and Anxiety Reduction
  • Improved Sleep
  • Cognitive Function and Alertness
  • Immune Support
  • Neuroprotection
  • What is L-Theanine
    • L-theanine is an amino acid found in tea and some mushrooms that may help reduce stress, improve sleep, and support cognitive function.
    • L-theanine is a non-protein amino acid primarily found in green and black tea and certain mushrooms, and it is also available as a dietary supplement in pill or tablet form. It is structurally similar to glutamate, a neurotransmitter, and can influence brain chemicals such as GABA, dopamine, and serotonin, which are involved in relaxation, mood, and cognitive function.
  • Dosage and Safety
    • L-theanine is generally considered safe for short-term use, with doses up to 900 mg daily used in studies for up to 8 weeks without serious adverse effects. Mild side effects may include headache or sleepiness. Safety during pregnancy, breastfeeding, or in combination with certain medications (e.g., chemotherapy) is not well established, so consultation with a healthcare professional is recommended.
  • Considerations
    • While L-theanine shows promise for stress reduction, sleep improvement, and cognitive support, more research is needed to confirm long-term benefits and optimal dosing. It should not replace medical treatment for anxiety, sleep disorders, or other health conditions.
    • In summary, L-theanine is a natural compound with potential calming and cognitive benefits, commonly consumed through tea or supplements, and generally safe when used appropriately under guidance.
  • Your Guide To L-Theanine | Holland & Barrett
    • L-theanine is a unique amino acid found in tea that can help your mental function. In this article you will find everything you need to know, from its uses to its side effects.
  • L-Theanine: Dosage, Benefits, and Side Effects | healthline
    • L-theanine is an amino acid in green and black tea and some mushrooms. Learn about the possible benefits and side effects, as well as dosage information.
    • A 2019 review found that around 200 to 400 milligrams (mg) of L-theanine per day could help to ease anxiety and stress.
  • Theanine: Overview, Uses, Side Effects, Precautions, Interactions, Dosing and Reviews | WebMD
    • Learn more about Theanine uses, effectiveness, possible side effects, interactions, dosage, user ratings and products that contain Theanine.
    • As medicine, L-theanine has most often been used by adults in doses of 200-400 mg by mouth daily for 4-8 weeks.
  • L-Theanine: 10 Health Benefits, How to Take, Dosing & Side Effects - Tua Saúde
    • L-theanine is an amino acid found in green tea that may improve focus, reduce stress, support sleep, aid weight loss, regulate blood sugar, strengthen the immune system, and lower blood pressure. Learn how l-theanine works, its benefits, dosage, and possible side effects.
    • The usual adult dose ranges from 200 mg to 400 mg per day, depending on the condition being addressed.
    • The recommended dosage for adults is typically 1 capsule of 200 mg, twice a day, taken every 12 hours.
  • L-Theanine Uses, Benefits & Dosage | Drugs.com
    • Learn about the potential benefits of L-Theanine including contraindications, adverse reactions, toxicology, pharmacology and historical usage.
  • L-Theanine: What It Is and 3 Benefits | Cleveland Clinic
    • Are you always turning to a cup of tea to lull you to sleep or to decompress from a long day? Turns out the supplement L-theanine may be able to produce the same effects. Here’s what we know so far about this amino acid.
Magnesium Glycinate
  • 400mg - 420mg
  • Sleep and Relaxation
  • Anxiety and Mood
  • Muscle and Nerve Function
  • Bone and Heart Health
  • Blood Sugar Management
  • Migraines
Melatonin
  • 8mg
  • 0.5 - 5mg
  • Improved Sleep
  • High Blood Pressure
  • Anxiety
  • temporomandibular disorders (TMD)
  • Take 30mins before bedtime
  • Natural compound produced by the body
    • Melatonin is a natural compound produced by the body, primarily in the pineal gland, and is involved in regulating sleep-wake cycles. It is commonly used to treat insomnia, jet lag, and to help reset the circadian rhythm. Melatonin is available as an over-the-counter dietary supplement in various forms, including tablets, capsules, and gummies.
    • Potential benefits include improved sleep quality and duration, while side effects may include dizziness, daytime drowsiness, and headaches. It's important to consult with a healthcare provider before starting melatonin, especially for long-term use or if you have underlying health conditions.
  • Melatonin: Overview, Uses, Side Effects, Precautions, Interactions, Dosing and Reviews | WebMD
    • Learn more about Melatonin uses, effectiveness, possible side effects, interactions, dosage, user ratings and products that contain Melatonin.
    • But it can cause some side effects including headache, sleepiness, dizziness, and nausea.
    • Don't drive or use machinery for 4-5 hours after taking melatonin.
  • Melatonin - Wikipedia
  • Melatonin: Side Effects & Dosage Guide for Sleep | Drugs.com
    • Learn what melatonin is, how it helps with sleep, recommended adult and child doses, common side effects, and long-term safety considerations.
    • Advanced description of dosage and for which conditions ans situations.
    • You can overdose on this medication.
Modafinil
  • 100mg - 200mg
  • Cognitive Enhancer
  • Modafinil is a wakefulness-promoting drug used to treat excessive sleepiness due to narcolepsy, obstructive sleep apnea, or shift work sleep disorder. It is sometimes used off-label as a cognitive enhancer. Modafinil's exact mechanism is unclear, but it affects many neurotransmitter systems in the brain. Some studies suggest it may enhance performance on complex tasks in healthy individuals; however, no long-term studies have tested whether modafinil prevents cognitive decline or dementia. Modafinil is generally considered safe for most people with minor side effects such as headache, nausea, dizziness, insomnia, and anxiety.
  • Understanding Modafinil's Cognitive Effects | NeuroLaunch - Explore modafinil's mechanism of action, its impact on neurotransmitters, and clinical implications for cognitive enhancement.
  • Review of ‘smart drug’ shows modafinil does enhance cognition | University of Oxford
    • The drug modafinil was developed to treat narcolepsy (excessive sleeping), but it is widely used off-licence as a ‘smart drug’ to promote cognitive enhancement, where qualities such as alertness and concentration are desired to assist someone with, for example, exam preparation.
  • How to Buy Modafinil Online at Tesco Pharmacy in the UK [2026] - Modafinil.org
    • Interested in buying modafinil at Tesco Pharmacy in the United Kingdom? Our guide has all the answers! We explain what problems you may encounter and share places where you can buy modafinil online OTC in the UK.
    • In the United Kingdom, modafinil is widely used to promote wakefulness and improve cognitive abilities, especially in professions requiring sustained focus and mental acuity.
    • You need a prescription to purchase in the UK.
    • Besides, while possessing modafinil for personal use without a prescription is generally allowed, selling or distributing it without authorisation can result in legal issues.
    • Yes, it is possible to buy modafinil online at Tesco Pharmacy with a doctor’s prescription. Due to its status as a prescription-only drug, it requires a licensed healthcare provider’s approval to ensure its proper use.
  • Buy Modafinil in the UK [Updated • 2025] The A-Z Guide
    • The #1 GUIDE on how to buy Modafinil in the UK. If you're curious where to buy the world's best nootropic online in the United Kingdom, look no further.
    • Buying modafinil in-person in the UK requires a prescription
    • Buying modafinil online in the UK does NOT require a prescription
    • We recommend buying modafinil online from Buy Moda or Modafinil XL
    • But at doses of 100-200mg, both clinical studies and anecdotal experience have shown that most individuals tolerate Modafinil very well.
    • Also known as Provigil.
  • Order ModaXL 200mg with Fast UK Delivery (Royal Mail) - ModafinilUK
    • I have not used these but their warehouse is in Garstang.
  • Where to Buy Modafinil in the UK [2025 Guide] - ModafinilUK
    • Want to buy Modafinil online in the UK? It is important to research the laws and regulations governing the sale and purchase of modafinil before buying.
    • Here we discuss the modafinil laws in the UK and the best online supplier to order generic modafinil without a prescription in the United Kingdom.
    • Also discusses benefits and side effects.

Typical Values / Food Groups

The different types of food you should eat as part of a healthy diet

Reference Intake of an average adult.
Typical Values Reference Intake (RI)
Energy 8,400kJ / 2000kcal
Fat 70g
of which saturates 20g
Carbohydrates 260g
of which sugars 90g
Fibre  -
Protein 50g
Salt 6g

Units and Measures

  • General
  • Traditional Measurements
    • g (Gram)
      • 1g = 1000mg = 1000000μg
    • mg (Milligram)
      • 0.001g = 1mg = 1000μg
    • μg / mcg (Microgram)
      • 0.000001g = 0.001mg = 1μg
  • Types
    • RI = Reference Intake
    • NRV = Nutrition Reference Value
  • International Unit (IU)
  • RE, α-TE, and N
    • When you see RE, α-TE, and NE on nutrition labels or in dietary tables, they are standardised units used to express vitamin activity, not just raw weight. Here’s what each means:
    • RE – Retinol Equivalents
      • Used for Vitamin A.
      • Vitamin A comes in different forms:
        • Preformed vitamin A (retinol) from animal foods
        • Provitamin A carotenoids (like beta-carotene) from plant foods
      • Because these forms have different biological activity, they’re converted into a common unit: Retinol Equivalents (RE).
      • Classic conversion (older system):
        • 1 µg retinol = 1 µg RE
        • 6 µg beta-carotene ≈ 1 µg RE
        • 12 µg other provitamin A carotenoids ≈ 1 µg RE
      • Note: Many countries now use RAE (Retinol Activity Equivalents) instead of RE, which has slightly different conversion factors.
    • α-TE – Alpha-Tocopherol Equivalents
      • Used for Vitamin E.
      • Vitamin E exists in multiple forms (tocopherols and tocotrienols), but alpha-tocopherol is the most biologically active form in humans.
      • So vitamin E content is expressed as α-TE, meaning the amount adjusted to reflect the activity of alpha-tocopherol.
        • 1 mg alpha-tocopherol = 1 mg α-TE
        • Other forms of vitamin E are converted into alpha-tocopherol equivalents based on their biological potency.
    • NE – Niacin Equivalents
      • Used for Vitamin B3 (Niacin).
      • Niacin can come from:
        • Niacin (nicotinic acid)
        • Nicotinamide
        • Tryptophan (an amino acid the body can convert into niacin)
      • to account for this, it’s expressed as Niacin Equivalents (NE).
      • Conversion:
        • 1 mg niacin = 1 mg NE
        • 60 mg tryptophan ≈ 1 mg NE

Hydration 

  • General
  • Tea Vs Coffee
  • Does drinking water make you hungry?
  • Why when I drink water does it go straight through me
    • Why Does Water Go Straight Through Me? - Biology Insights - Ever wonder why water seems to go straight through you? Discover how your body efficiently processes hydration and when to be concerned.
      • Caffeine is diuretic
      • Rapid consumption of a large volume of water can also trigger a quicker excretory response. The body’s systems respond promptly to large fluid inputs to prevent imbalances. While the small intestine rapidly absorbs water, the kidneys work to process this influx, especially if the body perceives it as an excess.
    • Why Does Water Go Right Through Me? Understanding the Science Behind Frequent Urination - Water Filter Spruce - Have you ever wondered why water seems to go right through you? Perhaps you’ve noticed that you need to go to the bathroom frequently after drinking water, or maybe you’ve experienced a feeling of bloating or discomfort in your abdomen. Whatever the case may be, there are a number of reasons why water might seem to pass through your body quickly, and in this article, we’ll explore some of the most common explanations.
      • Caffeine is diuretic
        • Tips for Optimizing Hydration
          • Consume electrolytes
          • Drink enough water
          • Limit diuretics
          • Monitor urine color : Monitoring the color of your urine can help determine whether you are properly hydrated. Aim for a light yellow color, indicating adequate hydration.
        • Tips for Staying Hydrated
          • Carry a water bottle with you wherever you go
          • Flavor your water
          • Set reminders
          • Eat water-rich foods: Many fruits and vegetables, such as watermelon, cucumbers, and strawberries, are high in water content and can help you stay hydrated.
          • Avoid sugary drinks: Sugary drinks like soda and sports drinks can actually dehydrate you, so it’s best to stick with water or other low-sugar options.
        • Most people urinate between six and eight times per day.
      • Avoid These Big Mistakes When Drinking Water - YouTube - Tired of hearing conflicting information about how much water you should drink? Watch this video to learn about some common myths surrounding drinking water and what the truth really is.
        • Your urine should not be clear.
        • You ned electrolytes and Sea Salt (t=150)
        • 2.5 litres of water a day
        • Don't drink lots before you eat
        • Low carb ketogentic diet + lots of water --> Keto flu of Keto Fatigure = need more salt to fix
        • Vegetables: 80% - 90% is water
        • Meat: 60% and 65% is water
        • When you oxidise fat (exercise), you generate water and CO2
        • diabetes or to much calcium in the blood (Hypercalcemia) makes you thirsty, can cause excessive urination, which is probably why you are thirsty.
    • Jons Thoughts on drinking
      • Dont drink 1Litre in one go, your kidneys will go into overdrive to get balance.
      • You must work out the max amount of water you can drink per hour eg: 1 x 300ml drink per hour
      • Which does not cause you to piss it out 1 hour later. This is no hydrating you if it happens.
      • NB: When you drink water you effectively dilkute your electrolytes, so drinking water with electrolytes should be a consideration in formualting a drinking pattern.
      • Nurse said
        • He drinks between 4-5 litres a day and that 2 litres a day is not enough for me.
        • If you get dry lips, you are not drinking enough
        • When you drink a lot of water, you dilute the electrolytes currently in your body and also cause them to get flushed out of your system quicker than you want via urination. They will need replacing.
        • Definitely do not drink the water all in one go
      • Amount of water
        • Don't drink lots of water in one go, it will cause the kidneys to go into overdrive.
        • 500ml max an hour, and this is the most you should do in one go.
        • 750ml is classed as a full bladder, you can go up to 950/1000ml if you hold very strongly.
        • Nurse said 4-5 litres
        • Work up to it from 2l by 500ml every couple of days to find my balance.
        • If my lips are dry at any pint of the night or day my water intake is not enough
        • I must make sure I take on electrolytes because the more water you use the more dilute they become and could obviously be excreted out at a greater rate.

Health Issues and Causes

Bad diet and lifestyle can lead to these issues.

  • Cause of Fatigue
    • Too much exercise
    • Electrolyte depletion
    • Not enough energy (usually in the form of carbohydrates)
    • Dehydration
  • Causes of frequent Urination
    • Drinking to much on one go - The kidneys will try and get rid of most of the liquid to regain balance.
    • Cortisol presence during sleep cycle
    • Too much Caffeine
    • Diabetes
    • Hypercalcemia (lack of calcium)
    • Constant Pee-ing at night can be caused by
  • Causes of getting up through the night (not always urination)
    • Cortisol presence during sleep cycle
    • Drinking after 18.00
    • not leaving 3-4 hours after last meal before going to bed.
  • Night Eating Syndrome (NES)
    • Investigate
  • Lead Poisoning
  • Painful/Sore Foot

Lifestyle Recommendations

  • General
    • After a meal need to do 20mins of walking (while burning virseral fat off)
    • It's Embarrassingly Simple - YouTube | Papa Tates - Fitness and nutrition is really that simple
      • Carbs before lift
      • Protein after lift.
      • Fruits before and after.
      • Water and electrolytes all day
      • Caffeine when you're lazy.
      • It's really that simple.
      • Stop overcomplicating.
    • 4 Ways to Lose Weight Without Counting Calories - YouTube
      • This video outlines 4 evidence-based ways to lose weight without counting calories or consciously controlling portions. We all know that the standard advice to "eat less, move more" doesn't work that well.
      • hi carb foods: reducing these helps loose weight: sugars, sodas, bread, pasta
    • How Long Does It Take to Put on Muscle? | The Art of Manliness - Don't be fooled by unrealistic expectations. Learn the truth about building muscle and how long it takes to see noticeable results.
    • Do You Chew Your Food Enough? Doctor Explains - YouTube | Dr Sermed Mezher
      • Chewing your food thoroughly is more than just a mechanical step in digestion; it is a critical signal to your endocrine system. 
      • The process of mastication, or chewing, triggers a complex hormonal cascade that communicates with the brain to signal satiety.
  • Alternative Diets
    • 30-30-30
    • 80-20 diet ?
    • Collagen diet
      • Anatoly uses this
    • Wisey 28 day plan
    • Paleo Diet
    • 30-10-30 
    • Keto diet with intermittent fasting
      • 4 months hard keto intermittent fasting | Google Search
        • A four-month commitment to a "hard" keto and intermittent fasting (IF) regimen is a highly restrictive approach that combines high-fat, ultra-low-carb intake (under 30-50g per day) with 16:8 or 18:6 eating windows, or even One Meal A Day (OMAD). Many individuals in this scenario report significant weight loss—often ranging from 30 to over 50 pounds depending on starting weight—due to accelerated fat-burning and reduced calorie consumption.
        • Here is a breakdown of what to expect based on 4 months of hard keto and IF:
          • 4-Month Results and Experience
            • Rapid Initial Weight Loss: Many report losing 10-15 pounds in the first month alone, with, in some extreme cases, up to 100 pounds lost over 4 months.
            • Fat Loss vs. Weight Loss: The focus often shifts from scale weight to body composition changes, as the combination of keto and IF helps preserve lean muscle while burning stubborn body fat.
            • Adaptation Phase: The first 2-4 weeks often involve the "keto flu" (fatigue, headaches, irritability), which typically subsides as the body becomes fat-adapted.
            • Physical Changes: Clothes become noticeably looser, and people often experience a significant reduction in bloating and inflammation.
            • Sustainability Challenges: After 3-4 months, many find strict keto difficult to maintain due to limited food variety, leading to potential "cheating" or burnout.
          • Benefits of the Combination
            • Enhanced Ketosis: IF accelerates the depletion of glycogen, forcing the body into ketosis faster.
            • Reduced Appetite: High-fat meals paired with reduced eating windows often lead to a natural, effortless decrease in calorie consumption.
            • Increased Mental Clarity: Participants frequently report sharper focus and increased energy levels.
          • Challenges and "Hard" Side Effects
            • Physical Side Effects: Constipation, bad breath (ketosis breath), insomnia, and reduced energy during workouts can occur.
            • Nutrient Deficiencies: Long-term strict keto (3-6 months) can lead to deficiencies in vitamins A, C, K, and folate.
            • Potential for Overeating: Due to small eating windows, some may feel pressured to overeat, causing stomach discomfort.
            • Heart Health Concerns: Sustained high saturated fat intake can lead to increased LDL cholesterol in some individuals.
          • Tips for Success over 4 Months
            • Stay Hydrated: Drink plenty of water to avoid side effects like low blood pressure.
            • Electrolytes are Crucial: Replenish sodium, potassium, and magnesium to prevent keto flu symptoms.
            • Listen to Your Body: If extreme fatigue sets in, consider easing the fasting window (e.g., move from 18:6 to 16:8).
            • Focus on Whole Foods: Avoid relying solely on processed, high-fat "keto snacks" to ensure adequate nutrition.
          • Disclaimer:
            • It is important to consult a healthcare professional before starting such a restrictive diet, particularly if you have underlying health conditions or are taking medication.
        • Sources
    • Gut health expert DR MEGAN ROSSI shows you how to add many more years to your life | Daily Mail Online - DR MEGAN ROSSI: Cutting out red and processed meat was seen to have a positive impact on lifespan, too, though not quite as impressive as adding more legumes, wholegrains and nuts.
  • Get rid of Thigh FAT
  • Healthy Diet Advices
  • Blood pressure
    • General
      • Blood pressure test - NHS
        • Find out why a blood pressure test is important, how it's done and what your blood pressure reading might mean.
        • Your blood pressure is usually considered high if it's either:
          • 140/90 or higher when checked by a healthcare professional
          • 135/85 or higher when checked at home
    • High Pressure
      • High blood pressure - NHS
        • Find out about high blood pressure, including how to find out if you have it, what causes it and what you can do to lower it.
        • can cause serious problems like strokes or heart disease, but it does not usually have any symptoms. The only way to find out if you have high blood pressure is to get it checked.
      • What are high blood pressure numbers? | Penn Medicine
        • Cardiologist Ross Biggs, DO, explains hypertension guidelines and how to reduce your blood pressure without medication.
        • But what is normal and what is high blood pressure? Here are the current guidelines:
          • Normal: less than 120/80
          • Elevated: systolic between 120-129 and diastolic less than 80
          • High blood pressure (hypertension) stage 1: systolic between 130-139 or diastolic between 80-89
          • High blood pressure stage 2: systolic 140 or higher or diastolic 90 or higher
          • Hypertensive crisis (consult your doctor immediately): systolic higher than 180 and/or diastolic higher than 120
      • Michael's Mosley's favourite vegetable for weight loss that 'helps high blood pressure' - Daily Record - The diet guru issued some helpful advice on the latest instalment of his podcast.
      • Does High Blood Pressure Make you Tired, Sleepy? - Feeling tired can be a symptom of heart or kidney damage as a result of high blood pressure. It may also be due to hypertension medications or coexisting conditions.
      • What to avoid eating or drinking with high blood pressure - Diet can have a big impact on your blood pressure. We look at key foods that increase your blood pressure, as well as foods to eat and to avoid to lower it.
      • Does Drinking Water Lower Blood Pressure? - While drinking water won't treat high blood pressure, it may help you better control hypertension. Learn how dehydration influences blood pressure.
      • How to Lower Systolic Blood Pressure - A high systolic blood pressure can lead to heart attack, stroke, and even death. Here are some changes you can make right now to lower yours.
    • Low Pressure
      • Low blood pressure (hypotension) - NHS
        • Find out about low blood pressure (hypotension), including what the symptoms are, when to get your blood pressure checked and treatments for low blood pressure.
        • can cause symptoms such as dizziness or fainting.
      • Low blood pressure headache: Causes and treatment - While many people with low blood pressure (hypotension) may not have symptoms, some people do experience headaches as well as other symptoms.
  • Reduce Cholesterol
  • Health recommendations by WHO
    • Water Intake: Drink 8-10 glasses of water daily
    • Exercise: 150 minutes moderate activity per week
    • Sleep: 7-9 hours of quality sleep nightly
    • Steps: Aim for 10,000 steps daily
  • Sleeping
    • No more than 8 hours should be needed normally.
    • Unless you fall asleep with 20 minutes of going to bed, you are not ready for sleep 
    • Try THIS if you can't fall asleep! - YouTube | Doctor Myro
      • If you cant fall asleep in 20 minutes your brain is stuck in an active thinking loop.
      • Your brain has evolved to stay alert when something feels uncertain or unresolved.
      • Staying in bed when your mind is racing is just training your brain to associate your bed with anxiety.
      • To quiet your brain you need to switch from thinking to sensing, get up go to a quite room, dark environment, absolutely no screens and then read, listen to music, try a wind down exercise, but only go to bed when you are ready to sleep. If it is still not happening half an hour later, take 0.5mg of Melatonin, not more, it is a common misconception, but more just gives you more side effects. 200mg - 400mg of Magnesium Glycinate can also work wonders.
    • How long should naps REALLY last? - YouTube | Dr Myro - How long do you nap?
      • Your naps should never be 30 minutes because that is how long it takes for your body to enter deep sleep, even REM sleep. cutting that off and you're going to wake up groggy. Might as well be a walking zombie.
      • 10 - 20 mins is where it's at. Even if you don't fall asleep, you enter non-sleep deep rest and that's great for midday brain fog, alertness, memory retention. There's even a 60% dopamine increase with a non-sleep deep rest. It's like loving life again and you're more productive.
      • Now you want the same benefits as 8 hours of restorative sleep, 90 minute nap. That's all it takes.
    • why do i get hungry before bed | Google Search
      • You get hungry before bed due to insufficient daytime calories, unbalanced meals (low protein/fibre), poor sleep disrupting hunger hormones (ghrelin/leptin), stress, boredom, dehydration, or your body's natural circadian rhythm signaling a need for fuel after activity, with hormonal shifts like your period also playing a role. It signals your body needs energy, but it could also be emotional, so assess if you're truly hungry or just craving. (Google AI)
      • Nighttime hunger often happens because of inadequate daytime eating, high activity levels, or habits that trigger the brain to crave a late-night snack. Other common factors include stress-induced high cortisol, poor sleep quality, or needing more fiber and protein to stay full. A light, balanced snack can help, but regular, intense hunger might require reviewing your daily diet.
      • Key Reasons for Pre-Bed Hunger:
        • Insufficient Daytime Nutrition: Not eating enough or skipping meals during the day, particularly neglecting protein or fiber, causes hunger to catch up with you at night.
        • Habit and Conditioning: If you regularly eat before bed, your body becomes conditioned to expect food at that time, triggering hunger signals on autopilot.
        • High Activity Levels: If you had an intense workout, your body may be demanding more energy to recover.
        • Stress and Emotional Eating: Stress and anxiety can trigger increased hunger and make you crave comfort, leading to late-night snacking.
        • Poor Sleep/Hormones: Poor sleep quality messes with hunger-regulating hormones (ghrelin and leptin), often causing late-night hunger.
        • Dehydration: Sometimes, the body mistakes thirst for hunger
      • How to manage it:
        • Eat Balanced Meals: Ensure your dinner includes a mix of carbohydrates, fiber, and protein to keep you satiated.
        • Smart Snacking: If you must eat, choose nutrient-dense, light options like nuts, yogurt, or fruit.
        • Hydrate: Drink herbal tea or water to help calm cravings
        • If you are constantly waking up famished, it could be due to blood sugar issues, and you should consider consulting a healthcare professional.
      • Sources:
    • Sleeping on the Floor: Is It Good or Bad for You? | Casper Blog - Updated 9/25/2025 Sleeping on the floor may improve posture, circulation, and help you stay cool, but it can also cause discomfort, worsen allergies, or lead to restless nights. If you try it, ease in gradually, use proper support, and choose a position that keeps your spine aligned -€” or consider a firmer mattress for similar benefits without the downsides.
    • Sleep After a Workout: Is It Good or Bad? | healthline - After doing intense exercise, some people feel the urge to take a nap. We'll discuss the pros and cons of sleeping after exercise.
    • REM, Light, Deep: How Much of Each Stage of Sleep Are You Getting? - Fitbit Blog - Discover how to read and interpret your sleep-stage data with these tips from the scientists who helped develop it.
  • Sugar
  • Salt
  • When and how should I take my Supplements
    • The Truth About Supplements: Timing, Pairing & Usage Mistakes You Didn’t Know | Health and Me
      • Supplements can support your health, but using them the wrong way may limit their benefits. From the best times to take them to which foods enhance absorption, and the subtle mistakes many of us make without realizing, this guide explores everything you need to know to get the most from your routine.
      • Supplements should complement, not replace, a balanced diet and professional guidance.
      • This has a nice table and tells you when and with or witout food.
    • When to Take Vitamins and Supplements - YouTube - Are you taking supplements or vitamins that aren’t as effective as you thought they’d be? It could be that you’re just taking them at the wrong time of day. ...
    • Is timing everything? Why it matters when you take your supplements
      • Taking all your supplements in one go? There'€™s a better way. Your routine can make or break how your body benefits from those nutrients, according to our expert
      • Can’t I just take a multivitamin in the morning and call it a day?
      • Some vitamins are better absorbed on an empty stomach, while others require food. And if certain ingredients interact negatively, they won’t be absorbed properly.
    • When is the best time of day to take protein? | H&B
      • Our nutritionist has done the heavy lifting and found the facts about when to take protein. Here'€™s what you need to know about choosing the right type and fitting it into your routine
      • If we look at someone who trains in the morning, then having a protein-rich breakfast such as protein-fortified cereal, eggs on toast or a protein shake will aid their recovery and help the muscles to repair after their workout.
      • When we exercise to a high intensity, we need to compensate for the muscle protein breakdown, so we need an additional intake of protein.
      • “A lot of people think that they need to have a source of protein immediately after exercise – or within about 30 minutes – but research suggests that it might actually extend to several hours,”
  • Heart Rate
    • Your heart rate - BHF - Your heart rate (also known as your pulse rate) is the number of times your heart beats per minute (bpm). Everyone’s heart rate is different and can change over time.

Exercising

General

Working out Symptoms

Exercises

Notes

  • Tools
    • BMI Calculator - Free Body Mass Index calculator gives out the BMI value and categorizes BMI based on provided information from WHO and CDC for both adults and children.
  • Nutrition
  • Foods Nutritional Values
    • USDA FoodData Central - USDA FoodData Central produces thorough resources for navigating and understanding nutritional info to support dietary choices and nutritional analysis.
    • Nutritional Values For Common Foods And Products - Nutritional facts database with detailed analysis, advanced search and tools.
    • Composition of foods integrated dataset (CoFID) - GOV.UK
      • McCance and Widdowson’s 'composition of foods integrated dataset' on the nutrient content of the UK food supply.
      • Download McCance and Widdowson’s The Composition of Foods Integrated Dataset 2021: user guide
      • McCance and Widdowson’s The Composition of Foods integrated dataset is the official UK national food composition database, providing comprehensive macronutrient and micronutrient profiles of more than 3000 most commonly consumed food and recipes in the UK.
    • EuroFIR » European Food Information Resource
      • EuroFIR AISBL is an international, member-based, non-profit Association under Belgian law was set up in 2009 to ensure sustained advocacy for food information in Europe.
      • Our mission is to be an independent provider of validated food composition and supporting information across Europe and beyond in cooperation with FAO Infoods. We are committed to advancing FAIRification of food-related data and fostering its application through research and commercial endeavours to support improved nutrition and health amongst citizens
      • Food composition data is at the heart of what we, at EuroFIR, do. It feeds into the numerous Food Composition Databases (FCDBs) we have in FoodEXplorer.
    • Glycemic Index – Glycemic Index Research and GI News | The University of Syndney - Search our comprehensive database of GI tested foods. Complete with data for Glycemic Index, Glycemic Load, serving size, direct references to the studies used to CALCULATE the VALUES, and more!
  • Nutrient Information / Recommended Intake (RI)
  • Foods and their Benefits / Help sites
    • The Eatwell Guide - GOV.UK
      • The Eatwell Guide is a policy tool used to define government recommendations on eating healthily and achieving a balanced diet.
      • Tis is a plate of food that illustrates how to get your proportions right for a healthy diet.
    • The Eatwell Guide - NHS - Read about the Eatwell Guide, which shows how much of what we eat overall should come from each food group to achieve a healthy, balanced diet.
    • The Eatwell Guide and Resources | Food Standards Agency - The Eatwell Guide makes healthy eating easier to understand by giving a visual representation of the types of foods and drinks we should consume and in what proportions to have a healthy, balanced diet.
    • Food facts - Healthier Families - NHS - We're here to help your family be healthier and happier. Find out more about what's really in the food we eat and how to make healthier food swaps to cut back on the sugar, salt and fat in your family's diet.
    • Weight Loss & Diet Plans - Find healthy diet plans and helpful weight loss tools - From healthy diet plans to helpful weight loss tools, here you'll find WebMD's latest diet news and information.
    • Action on Sugar - Action on Sugar - Action on Sugar is a group of specialists concerned with sugar and its effects on health. Learn more here about sugar and it's effect on health.
    • SELF Magazine - Women's Workouts, Health Advice & Beauty Tips
  • OMAD
    • One Meal a Day
  • Electrolytes
    • Water vs Electrolytes: What You Need to Know About Hydration - YouTube - What's the difference between plain water and electrolytes? Who needs to add electrolytes to their water?
      • Drinking to much water without adding electrolytes can make dehydration works
      • Sodium, potassium and magnesium
      • when you exercise, sweat or are on a low carb diaet you are loosing electolytes
      • if you are only drinking plain water you are diluting your electrolyte conecntration even more, this can lead to symptoms such as fatigue, muscle cramps, brain fog adn dizzinessor headaches
      • so if you are someone who does not eat a lot of processed food, if you eat a lower carbohydrate diet, if you are an athelete or use saunas regulary you need to be replenishing your eletrolyrtes.
      • but before you grab any electrolyte drink, make sure to check the label, most have added sugar and dont actually have a lot of eletroytes = use SODIE (15% off with code HCK15)
    • Do electrolytes make a difference? Experimenting with SaltStick! - YouTube - Electrolytes are minerals including sodium, potassium, calcium, and more that everyone's body requires. But they seep out in sweat, so as we demonstrate in this experiment, it's important to replace them any time you sweat a lot. Water alone is not enough.
      • Electotlyes are minerals, including salt that our body needs to function.
      • runing drinking loads of water but mouth is still dry
      • Low electrolyte symptoms include:
        • cramping
        • fatigue
        • headaches
        • confusion
        • Heat exhaustion
      • They demo'ed: SaltStick Tablets
    • Adding This To My Water Changed Everything - YouTube
      • Use Celtic Salt
      • Most people think hydration is just about drinking more water. But if water is going straight through you... or you feel bloated, tired, or still dehydrated... it’s not a water problem, it’s a cellular hydration problem.
      • Hydration happens inside the cell, not just in your bottle.
        • That’s why minerals matter.
        • That’s why electrolytes matter.
        • And that’s why how you hydrate is just as important as how much.
      • Once I understood this, my energy stabilized, headaches became less frequent, and I stopped feeling like I needed to constantly chug water all day.
    • Do electrolytes make a difference? Experimenting with SaltStick! - YouTube
      • Electrolytes are minerals including sodium, potassium, calcium, and more that everyone's body requires. But they seep out in sweat, so as we demonstrate in this experiment, it's important to replace them any time you sweat a lot. Water alone is not enough.
      • We've tried tons of electrolytes, and SaltStick is our favorite because it's EASY. You just eat it like candy in addition to drinking water (it tastes as good as candy too)! The alternatives are bottles of sports drink or electrolyte powders that you mix into water, both of which add complexity to a hike or workout. With FastChews, you don’t need to mix or wait… just chew ‘em!
    • Water Isn’t Enough: The Importance of Electrolytes for Hiking and Running – Thruhikers: Renee and Tim
      • So, what are electrolytes? They’re the minerals in our bodies that carry an electrical charge. They include sodium, potassium, calcium, magnesium, and more. 
      • This is a deep dive.
  • Viseral Fat
    • Visceral fat is a type of body fat located deep inside the abdomen, wrapping around organs such as the liver, pancreas, intestines, heart, and kidneys. Unlike subcutaneous fat, which lies just under the skin and can be pinched, visceral fat is not visible from the outside and cannot be felt easily. It is sometimes called “active fat” because it actively influences how your body functions, including hormone regulation and metabolism.
    • Visceral Fat: Why It's Dangerous and How to Lose It - Visceral fat is hidden fat that wraps around your abdominal organs. Find out why this belly fat is dangerous and how to get rid of it.
    • What Is Visceral (Belly) Fat? Weight Loss & Getting Rid of Body Fat - Visceral fat is belly fat that wraps around the abdominal organs inside your body. Unlike subcutaneous fat, you cannot feel or see visceral fat, making it harder for weight loss.
    • What Is Visceral Fat & How To Get Rid of It
      • Visceral fat is a type of body fat everyone has. Learn about how it can impact your health.
      • some excellent ways of getting rid of it including fasting.
  • Cortisol
    • These sources include Cortisol Notes which helped for my new diet.
    • I Might Get Banned for Saying This About Cortisol & Insulin (not what you think) - YouTube
      • Why Your Belly Fat Won't Budge (The Cortisol-Insulin Connection)
      • Discover the hidden hormonal pattern that keeps belly fat stuck—even when you eat clean and exercise daily. This video explains the science behind visceral fat, cortisol receptors, insulin resistance, and provides 6 evidence-based solutions you can implement today.
      • 10 to 20 minute walk after meal, and must be within 30 mins
      • Salt and honey before bed
      • Once you have diet sorted, fast 1 day a week You must be doing the diet for a while and it be your routine.
      • Meal target types
        • Breakfast = protein
        • Dinner = carbs
    • 12 Signs of HIGH CORTISOL You Can See - €“ Doctor Explains - YouTube
      • Cortisol is your body’s main stress hormone, and while it’s essential for survival, too much of it over time can cause real harm. In this video, Dr. Barron goes over 12 physical signs that may point to elevated cortisol levels, like facial puffiness, stretch marks, and easy bruising, and explains what sets normal stress responses apart from more serious conditions like Cushing’s syndrome or the effects of long-term steroid use. She also covers what causes cortisol to rise, when to consider testing, and how to bring levels down naturally through sleep, nutrition, and recovery. If you’ve noticed changes in your body and you’re wondering whether cortisol could be involved, this video will help you make sense of what’s going on and what to do next.
      • Cushings Syndrome = a severe condition that can cause the symptoms below
      • 12 Signs:
        • Moon Facies (only for severe) (a.k.a Cortisol Face)
        • Buffalo Hump - Hump at the top of the neck (only for severe)
        • Purple Striae - Stretch marks on the upper legs and gut.
        • Easy Bruising caused by thin skin
        • Central Obesity (i.e. viseral fat). This is hard to fix with addressing the cause of the high cortosol
        • Muscle Weakness
          • High cortosol can cause your muscles to break down over time
          • You may notice weakness in your arms and legs.
          • Find it hard to get out of a chair or climb stairs
        • Insomnia or restless sleep
        • Hair thinning
        • Acne and Oily skin (leading to adult achne)
        • Elevated Blood pressure
          • Cortosol causes you blood to retain sodium increasing tension in your blood vessels
        • Recurrent infections or slow healing
          • cuts, scrapes or injuries take longer to heal than they use to
          • get sick more often
        • Anxiety, Irritability, or Emontional Numbness
      • Causes of High Cortisol
        • Medical, chronic stress or lifestyle
        • Cushing’s syndrome
          • Causes the body to uncontrollably produce cortisol
          • Rare
          • Can be caused by a tumor
        • Corticosteroid Medications.
          • Long term use of steroids is the highest cause ofr medically induced high cortisol
          • Long term use can give symptoms to cushing's syndrome
        • Physiologic Elevation
          • Chronic Stress
          • Pain
          • Illness
          • Sleep Distruption
          • NB:In the short term it's a healty survival response. But over tiome is the stress is not addresses, those elevated levels can begin to wear down the body.
      • Pseudo-Cushings
        • Can be caused by:
          • Alcoholism
          • Major Depression
          • Sever Obesity
          • Uncontrolled diabetes
          • NB: The key difference is that once the underlying problem is treated, cortisol level usually goes back to normal
      • How to lower cortisol
        • Go to bed at the same time every night and try to sleep 7 to 9 hours.
        • Avoid screens like phones or TV before bed. They keep your brain alert and can raise cortisol.
        • Along with sleep mental rest is just as important.
          • Deep Breathing
          • Stretching
          • Yoga
          • Quiet time (without ditractions)
          • NB: These can calm your nerveous system. These activities tell your body that it's safe, whihc helps lower stress hormones like cortisol.
        • Your diet plays a major role too.
          • Don't dkip meals
          • Choose food with protein, fibre and healthy fats instead of sugary snacks.
          • When you blood sugar goes up and down too quickly, your body may release too much cortisol.
        • Natural Suppliments can help
          • Ashwagandha: is a herbal supplement that has been shown in some studies to gently lower cortisol levels.
        • Balance your physical activity
          • Exercise is good, but too much intense exercise without enough rest can raise your cortisol level instead of lowering it.
          • Make sure your body has tome to recover between workouts and mix in lighter activity like walking or stretching.
    • Always Waking Up at Night? - 1 TBSP Kills Cortisol FAST To Fall Back Asleep - YouTube
      • If you’re waking up at 3 a.m. with your heart racing and your mind wired — it’s not a sleep problem, it’s a cortisol problem. In this episode, Ben explains why your body wakes up during “liver time,” the real reason behind nighttime cortisol spikes, and the 1-tablespoon sleep hack that shuts it down fast.
      • You’ll learn exactly how raw honey and sea salt work to stabilise blood sugar, balance hormones, and calm the nervous system — plus five long-term steps to reset your metabolism, improve sleep, and burn fat more effectively.
      • Take these (Honey, Salt, Magnesium)
        • 1 table spoon of raw organic unfiltered honey with sea salt right before bed or even when you wake up at 3am
        • Also take a high quality magnesium supplement before bed. There are 7 different types and you can get a supplement with them all in.
        • Has links in description.
      • 5 steps to fix this issue long term
        • Stop eating 3-4 hours before bed.
        • Cut out seed oils and refined sugar.
        • Support the live daily.
        • Get morning sunlight exposure
        • Get Vitamin G
          • first thing in the morning and last thing at night.
          • This is a social thing, not chemical.
          • Vitamin Gratitude, it is the feeling of gratitude.
      • Nighttime routine to prevent 3 AM Wakeups
        • Dim lights 1 hour before sleep.
        • Do 5 minutes of slow breathing or gratitude journaling.
        • Avoid screens or blue light after 9p.m. (or at least an hour before bed)
        • Take Magnesium Glycinate or L-theanine if you're under stress.
        • End the night with your 1 tablespoon of honey and sea salt mix. (right before bed)
      • FAQ
        • honey and salt trick should be only for 7 - 14 days as you fix the other things. it is not for long term but can be re-introduced if required in the future.
        • It has to be unrefined sea salt. normal salt will not work.
        • You can test Cortisol levels at home using saliva, and it is called the `Dutch Test`, or via urine. can only be got from practitioner.
    • Do You Have a Cortisol Face? - YouTube | Drberg 
      • Are you struggling with a round, puffy face—even though your diet hasn’t changed? It might not be what you're eating… it could be your stress hormones.
      • When your body produces too much cortisol, it starts to break down muscle from your legs and butt, turning it into fat around your belly and face. This leads to the classic “Cortisol Face” – a bloated, swollen face caused by chronic stress, not overeating.
      • It's coming from stress not your diet.
      • When your body has too much cortisol it robs protein from your legs and your butt and turns it into fat around your midsection, it also puts it around the face, giving you this roundish face.
      • On of the best antidotes to lowering cortisol is something called L-Theanine. It increases Alpha brain waves to help calm you down so you can get into a really nice deep sleep and sleep through he entire night.
      • L-Theanine also increases GABA and Serotonin as well as melatonin which is the sleep hormone.
      • the best time to take L-Theanine is about an hour before you go to sleep at night.
    • Tests
    • expected cortisol levels during the day | Google Search
      • Cortisol levels follow a strict circadian rhythm, peaking early in the morning (6 a.m. to 8 a.m.) at 10–20 mcg/dL and declining throughout the day to their lowest levels around midnight. Levels typically drop to 3–10 mcg/dL by 4 p.m., ensuring the highest concentration upon waking.
      • Typical Daily Cortisol Rhythm (Blood Serum)
        • Morning (6 a.m. – 8 a.m.): Highest levels, typically 10 to 20 mcg/dL (roughly 275–555 nmol/L).
        • Late Afternoon (Approx. 4 p.m.): Significant decline, usually 3 to 10 mcg/dL (roughly 85–275 nmol/L).
        • Midnight: Lowest levels (nadir).
      • Key Details on Cortisol Variation
        • Cortisol Awakening Response (CAR): Levels often surge by 50–60% in the 30–40 minutes immediately after waking.
        • Measurement Units: Results are generally measured in micrograms per deciliter (mcg/dL) or nanomoles per liter (nmol/L).
        • Factors Affecting Levels: Stress, infections, illness, and medication (such as steroid use) can significantly influence these levels.
        • Exceptions: People working night shifts may have a reversed rhythm.
      • If testing for deficiency, doctors usually order a morning test; for excess (like Cushing's syndrome), a late-day test is more likely.
      • Sources
  • Simple vs Complex Carbohydrates
    • Simple vs. Complex Carbohydrates: Function and Examples - You may have heard that eating complex carbohydrates is better than eating simple carbs. But why? And if it’s so important to know, why don’t nutrition labels tell you if the carbohydrate content is simple or complex? We explain the importance of carbohydrates and how to identify simple carbs vs. complex carbs.
    • Simple vs. Complex Carbohydrates / Nutrition / Carbs - As a dietitian, I'm often asked to explain the difference between simple and complex carbohydrates. While most people have heard that complex carbohydrates are better for you than simple carbohydrates, what's often unclear is how the two differ, and why the differences between the two affect your health.
    • Good Carbs and Bad Carbs: The Truth about Carbohydrates - Carbs have a bad reputation in the dieting world but should not be completely eliminated from our diets. There are good carbs and bad carbs we explain which ones are good for you.
    • The Carbohydrate Advantage - Choose Complex Carbohydrates for Lasting Energy and Good Health
    • Good vs. Bad Carbohydrates: How Do You Tell the Difference? - Not all carbs are healthy. Here’s how refined and complex carbs differ, and which sources to choose.
    • Are Potatoes Good Carbs? Week& - Most nutrient-rich complex carbohydrates like potatoes have a welcome role in a healthy diet. Unfortunately, the impact of the starch in potatoes can place them in the "bad carb" category for some people.
  • Pooping / Stool
  • Oxygen Saturation
  • Hair

 

 

Published in Health
Wednesday, 29 October 2025 09:16

My QWcrm Notes

This is a temporary holding page for my QWcrm notes.

 

General Finance notes from J

  • A paid invoice or expense is paid/closed/zero balanced, it stays closed. Once this transaction is done, it is done.

Vouchers

  • MPV (Multi Purpose Voucher) = Gift Card
  • SPV (Single Purpose Voucher) = Phone Card

Payment System

  • Payment.php
  • PaymentTypeCreditnote.php
    • Payment Types controls the specific logic for the target of the payment eg: Creditnote, Expense, Invoice, Otherincome
  • PaymentMethodCreditnote.php
    • Payment Methods control the specific logic for the source of the payment eg: Cash, Cheques, Credit Notes, Other Incomes.....
    • These will appear as available payment menthos on the payment page, filtered when required i.e. a creditnote cannot be used to pay for a credit note, same for Vouchers (giftcards/SPV/MPV)

Credit Notes

  • What are they for
    • General
      • Add a credit note to reduce the amount you owe your supplier, or record a refund received from a supplier.
      • There are a few types of credit note and are based on payment direction.
      • These can be used like cash payments but are not included in financial calculations for the purpose of turnover, profit or tax.
      • Once an invoice or expense has been closed, and this also applies when closed with a credit note, it stays closed, this transaction is complete. Future refunds and credits can reference an invoice or expense but not change those transactions.
      • A credit note is issued or received referenced to an expense or invoice it doe snot alter it. The credit will sit on a client or supplier to be used on a later
      • When a sales credit note is issued
      • A credit note can be used to clear a balance on a partial or zero paid invoice or expense without using real money.
      • A credit note in QWcrm allows you to split it between real payments (refunds) and credit that can be used on other things you sell.
    • Types (What are they for specifically)
      • Sales Credit Note (Client)
        • Store credit for a client, no attached invoice, a gesture of goodwill etc..
      • Sales Credit Note (Invoice)
        • Can use these to zero out a client invoice that is unpaid or zero paid without using a real payment.
      • Purchase Credit Note (Supplier)
        • A supplier sends you this to give you store credit and will NOT be attached/referenced to an invoice.
        • These will be an uncommon thing but still exist.
        • This can be applied to a future expense from this supplier.
      • Purchase Credit Note (Expense)
        • A supplier sends you this to give you store credit and will be attached/referenced to an invoice.
        • This can be applied to a future expense from this supplier.
  • Button Locations
    • client:details
      • Sales Credit Note (Client)
        • No restrictions
        • Controlled by creditnote::checkRecordCanBeCreated()
        • Used to refund real money to a client without an invoice, or they can use the credit to purchase other items
    • invoice:details
      • Sales Credit Note (Invoice)
        • Must have an invoice_id and have == 0 balance
        • Controlled by creditnote::checkRecordCanBeCreated()
        • Used to close invoices with outstanding balances without accepting or sending real money
    • supplier:details
      • Purchase Credit Note (Supplier)
        • No restrictions
        • Controlled by creditnote::checkRecordCanBeCreated()
        • Used to reduce the amount you owe your supplier, or record a refund received from a supplier.
        • The refund can be in the form of credit with the supplier (via their credit note system) or a real payment such as cash or bank transfer.
    • expense:details
      • Purchase Credit Note (Expense)
        • Must have an expense_id and have == 0 balance
        • Controlled by creditnote::checkRecordCanBeCreated()
        • Used to reduce the amount you owe on an expense, or record a refund received from a supplier against an expense.
        • The refund can be in the form of credit with the supplier (via their credit note system) or a real payment such as cash or bank transfer.
    • creditnote:details
      • Record Refund / Refund to Client
        • assign a real payment to the client ? or supplier
        • {if ($creditnote_details.status == 'unused' || $creditnote_details.status == 'partially_used') && $creditnote_details.client_id}
        • This allows you to record sending real money to a client or supplier.
      • Apply Credit Note to Invoice
        • Use the credit note as payment on an invoice 
        • {if $creditnote_details.status == 'unused' && $creditnote_details.invoice_id}
        • This allows you to easily use the credit note as a payment against the invoice specified on the credit note.
          • This is the same as: the Invoice --> Apply Payment --> Select Credit Note and fill in the CR details.
      • Apply Credit Note to Expense
        • Use the credit note as payment on an expense 
        • {if $creditnote_details.status == 'unused' && $creditnote_details.expense_id}
        • This allows you to easily use the credit note as a payment against the expense specified on the credit note.
          • This is the same as: the Expense --> Apply Payment --> Select Credit Note and fill in the CR details.
  • Creditnote::checkRecordCanBeCreated()
    • This functions checks if this type of credit note is allowed, it is not currently checking if the credit note will be applied successfully.
    • Different Credit notes process types (do I need a standalone version)
      • Sales Credit Note (Standalone) - (client:details)
        • Used to refund real money to a client without an invoice, or they can use the credit to purchase other items
      • Sales Credit Note - (invoice:details)
        • Used to close invoices with outstanding balances without accepting or sending real money
      • Purchase Credit Note (Standalone) - (supplier:details)
        • Used to refund real money to a supplier without an expense, or they can use the credit to purchase other items
        • Used to record a refund from a supplier without a related expense.
        • The refund can be in the form of credit with the supplier (via their credit note system) or a real payment such as cash or bank transfer.
      • Purchase Credit Note - (expense:details)
        • Used to record a refund from a supplier with a related expense (eg: parts and services).
        • The refund can be in the form of credit with the supplier (via their credit note system) or a real payment such as cash or bank transfer.
  • Payment::getCreditnoteActionTypes()
    • Gets the different CR types from the DB
      • sales_apply => Sales Apply
      • sales_refund => Sales Refund
      • purchase_apply => Purchase Apply
      • purchase_refund => Purchase Refund
  • Links (might need sorting)

How To (in QWcrm)

  • Invoice partially paid (dead guy scenario)
  • Invoice fully paid - refund
  • Invoice partially paid - refund
  • Expense fully paid - refund
  • Expense partially paid - refund
  • Store Credit - Using credit notes not giftcard.

Credit note Q and A from J

  • Close with a sales invoice, then raise a standalone creditnote for a refund? or are they tied in some how?
  • Do i need a credit note system for expenses?
    • = Yes, otherwise how would i record refunds
    • When you get a refund from a supplier you can add it as a cash payment, you do not have to use the credit note system but this will lack full tracking and is only for small transactions such as `Petty Cash` transactions.
  • Do i need a credit note system for otherincomes? if I dont get the money, there is no other income?
    • = No, you would only enter this when you get the money, not before.
  • How to handle an expense with part payment?
    • Post as cash received, i.e. cash ??
  • How to refund a part paid expense
    1. zero the balance with a CR (using non-standalone via expense:details)
    2. refund the real payments by the client via another credit note
  • Dead guy scenario - has only paid half of his bill but is now dead, how do i write off his balance
    • = `Sales Credit Note` to zero the balance on the invoice. No real money will be used but I can close the invoice and it no longer annoy me.
  • Credit note = Credit towards a cost
  • Credit note must be attached to a purchase invoice or sales invoice
  • A debit note can be used to add a payments.
    • I am not sure what these are, or if needed.

 

 

 

 

 

 

 

Published in General
Saturday, 11 October 2025 13:58

My Ventoy Notes

My Ventoy notes.

Misc

  • Upgrade Ventoy on USB: Easy step-by-step guide - YouTube | Bootable USBs
    • Learn how to safely update Ventoy to the latest version on your USB drive. This step-by-step tutorial will show you how to maintain configurations, update iso files, and ensure compatibility with Windows 11.
    • Discover the seamless way to keep your Ventoy USB drive up-to-date without losing any of your stored ISO files or configurations! This easy-to-follow tutorial walks you through the process of updating Ventoy to the latest version, ensuring a smooth transition while keeping all your data intact.
    • Whether you're a first-timer or an experienced user, this guide is designed to help you upgrade your bootable USB with ease and confidence. Stay ahead with the newest features and improvements of Ventoy - watch now and update like a pro!
  • Ventoy Disk Layout / Technicals
    • Ventoy Disk Layout In MBR | Ventoy
      • This shows how a Venoty USB drive is layed out.
      • Why MBR?: MBR is the only selection in order to support Legacy BIOS system.
    • Legacy BIOS Access Range Limitation | Ventoy
      • When booting from legacy, there is a limit of 137GB. So if that's the case with the BIOS in your machine and you install Ventoy into a USB drive with large capacity(e.g. 256GB), you will run into problem when booting.
      • There is an access limitation in some Legacy BIOS of some vendors. For example, some Legacy BIOS can't read the disk beyond 137GB. If you search "Legacy BIOS 137GB" in the internet, you will get many informations about that.
  • Plugins
    • Windows VHD Boot Plugin | Ventoy
      • Ventoy use this plugin to boot VHD(x) files with Windows 7+ in it.
      • Both Legacy BIOS and UEFI are supported. Both fixed and dynamic VHD(x) are supported.
      • For Windows 10 v1809+, in addition to NTFS, VHD(X) files can also be stored in the exFAT partition.
        • [Shared] Windows 10 v1903 (19H1) supports exFAT+VHD(X) mode | wuyou.net
        • How to boot Windows 10 VHD with ventoy at exFat partition (Windows VHD Boot Plugin) - YouTube
          • In this video, I Am about to show you how to boot Windows 10 VHD from ventoy, relying on the exFAT file system.
          • Since the FAT/exFAT file system, commonly used in flash storage media such as large-capacity U Disks and USB Drives. and Windows 10 1903, has been able to mount native support for VDH / VHDX virtual disk files from FAT/exFAT partitions. We can use this feature and format the windows partition to the exFAT file system to be able to boot the VHD using ventoy.
          • Note:
            • Use Win10 v1903 or higher (20H2 in this project used).
            • It will be slower than the exFAT startup speed in the traditional model, even NTFS.
            • VHD boot only supports dual NTFS or exFAT, doesn't support NTFS in exFAT, or versa.
            • the virtual disk can be fixed or dynamic size but recommended to use fixed if there is no space problem

Settings

  • Set Tree View as default
    • You can configure Ventoy to always show folders by adding/modifying the ventoy.json file with the following code:
      {
          "menu_style": "tree"
      }
    • Place this file in the ventoy folder on your USB drive.
    • F3 will toggle the view irrespective of this file

Upgrading the VHV/VHDX plugin

Current Issues

  • either Windows 11 or my Lenovo laptop (and its drivers) are used and not compatible with my other machines, or DiskGenius does not like building a WinPE based on Windows 11.
  • Win10 WinPE Rufus images will not load, winload.exe error.
  • the VHD plugin needs updating to use the latest DLL etc.. 
  • Ventoy VHDX plugin might not like my Windows11 WinPE as it moans about Partition1 being on exFAT and not NTFS.

Instructions

  • Get the current Windows 10 plugin and upgrade the various files with those from my Windows 11 Pro PC. Ypu could use those from a Windows 11 Pro DVD if you do not have a live up to data system

Links

Pictures of failed loads (old VHD plugin)

Ventoy Warning - Partition1 (exfat) is Not ntfs, the VHD(X) file may not boot normally

Windows Boot Manager - Boot from VHD

Windows Boot Manager - winload.exe missing

 

 

 

 

Published in Applications
Saturday, 04 October 2025 16:05

Rebuild the Windows Search Index

Rebuilding the Windows Search Index, which includes the Outlook Search, can resolve various issues:

  • Windows Explorer does not responding but crashes or restarts.
  • Whenever Windows Explorer is opened, it freezes and shows the "App Not Responding" dialogue. Then it crashes or shows the contents of the folder I clicked and freezes afterwards.
  • Slow searching.
  • Missing items in the index.
  • Having trouble finding emails in Outlook?
  • Is your search returning incomplete or incorrect results?
  • If you search for items in Outlook and don't receive the results that you expect.

View the Index and it's Status

There are several ways and places to view the search index properties and its progress in rebuilding. After you have wiped your index it is useful to see how things are going.

  • Indexing Options (Classic)

    • This will only show how many items are indexed and if there is indexing in progress. There are a few ways to view this window:
      1. Windows Key + I --> Privacy & security --> Search --> Find my files --> Classic --> Customise search locations
      2. Open Start menu and type: Indexing Options
      3. Outlook 2021 --> File --> Options --> Search --> Sources --> Indexing Options
  • Windows Search (New)

    • Windows Key + I --> Privacy & security --> Search
    • Now look at the top of the page and you will see the number of Indexed items and Pending counter.
  • Outlook Search Index
     
    • This will shows you how many items left to be indexed
    • Click in the search box
    • Toolbar --> Search Tab --> Search Tools --> Indexing status

Make Indexing faster

Disabling the indexer backoff will allow indexing to finish faster while you're active on the computer instead, but it will use more system resources.

  • Run gpedit.msc
  • Navigate to: Computer Configuration\Administrative Templates\Windows Components\Search: Disable indexer backoff:
  • Set it to On (Default is Off)
  • Restart the Windows Search service
  • Once your index is rebuilt, set Disable indexer backoff  to Off and restart the Windows Search service.

Make Sure Outlook Emails are Indexed

We need to ensure that Outlook is on the Windows Search Index

  • Open Outlook
  • Navigate to File --> Options --> Outlook Options --> Search --> Indexing Options
  • Make sure Outlook is selected.
  • Completely restart Outlook to fix minor glitches that may be affecting the search function.

Outlook items are only indexed when Outlook is open

  • Once I opened Outlook and viewed the indexing progress, the number of items pending to be indexed went up, and kept going up for a while. Indexed items started increasing aswell.
  • Once the items are indexed, you do not need Outlook open.

Reset Excluded Folders and Rebuild the Search Index

The following Powershell script fixes a lot of issue with the Windows search and is what I used.

  • You can reset everything (exclusions, index database, config) back to default using this PowerShell script. It bypasses the broken GUI and directly clears both the index data and registry entries:
  • This will fully wipe the Search Indexer state and restore clean defaults.
  • After a reboot, Windows will begin re-indexing only the standard folders.
    • A reboot is not needed, but I did it anyway.
  • You should open Outlook now so all of it's emails can get indexed.
# Stop Windows Search Service
Stop-Service -Name WSearch

# Delete the current search index database and configuration
Remove-Item -Path "$env:ProgramData\Microsoft\Search\Data\Applications\Windows" -Recurse -Force
Remove-Item -Path "$env:ProgramData\Microsoft\Search\Data\Temp" -Recurse -Force

# Optional: Reset registry exclusions (set back to defaults)
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Search\Gather\Windows\SystemIndex\Sites\LocalHost" -Name "DefaultGatherPolicy" -ErrorAction SilentlyContinue
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows Search\Gather\Windows\SystemIndex\Sites\LocalHost\Paths" -Recurse -Force -ErrorAction SilentlyContinue

# Start Search Service
Start-Service -Name WSearch

Notes

  • If any exclusions still reappear, it means they’re being pushed by a policy or a background process.
  • It adds all of the users folders in rather than specifying document and picture folders which is the default configuration of a new Windows PC/Profile.
  • This old arrangement that I had (separate Document, Picture, Video folders etc..) listed in the index might of been because my system was upgraded from previous Windows versions (XP --> Win7 --> Win10 --> Win11)

Links

  • General
    • Enable or Disable Enhanced Mode for Windows Search in Windows 10 & 11 - MajorGeeks
      • Windows 10 has added many settings to manage Windows Search. By default, Classic mode is on by default, which only searches your libraries and Desktop. The Enhanced mode can search your entire PC.
      • In this tutorial, we help you choose between the two and customize Windows 10 & 11 Search.
    • Weird looking paths get added to Windows 10 search index and break search - Super User
      • A few times in last weeks I have noticed that search from start menu wont find any files. Simply rebuilding the index did not fix this. Looking deeper into indexing settings I found that there was strange looking path being included in the index, one that I had not put there.
      • CSC stands for "Client Side Cache" which is used to hold Offline Files. These are local copies of files that exist on SMB shares like mapped network drives. By default, Windows indexes the CSC so that you can quickly find any network files that you've opened recently. The CSC index can become corrupt and put a full bork on indexing.
  • Explorer Crashing
  • Rebuild the Windows Search Index
    • how to delete all exclude folders in search indexer and revert it to default? - Microsoft Q&A
      • This has a Powershell and a Batch script method.
      • This is the additional batch file, just in-case it goes offline. I have not used it.
        sc config wsearch start= disabled
        net stop wsearch
        REG ADD "HKLM\SOFTWARE\Microsoft\Windows Search" /v SetupCompletedSuccessfully /t REG_DWORD /d 0 /f
        del "%ProgramData%\Microsoft\Search\Data\Applications\Windows\Windows.edb" /a
        del "%ProgramData%\Microsoft\Search\Data\Applications\Windows\Windows.db" /a
        sc config wsearch start= delayed-auto
        net start wsearch
        :: reg query "HKLM\SOFTWARE\Microsoft\Windows Search\Gathering Manager"
        :: reg query "HKLM\SOFTWARE\Microsoft\Windows Search"
        reg query "HKLM\SOFTWARE\Microsoft\Windows Search\Gathering Manager" /v *path
        reg query "HKLM\SOFTWARE\Microsoft\Windows Search" /v *dir*
        reg query "HKLM\SYSTEM\CurrentControlSet\Services\WSearch"
        icacls %ProgramData%\Microsoft\Search\Data\
        icacls %ProgramData%\Microsoft\Search\Data\Temp\
        icacls %ProgramData%\Microsoft\Search\Data\Applications
        icacls %ProgramData%\Microsoft\Search\Data\Applications\Windows
        PAUSE
        PAUSE
    • How to Reset Windows Search in Windows 11 | NinjaOne - Reset Windows Search to fix slow search and missing results. Use PowerShell, Registry Editor, Control Panel, and other methods to restore search speed.
    • Reset and Rebuild Search Index in Windows 11 | Windows 11 Forum
      • This tutorial will show you how to manually reset and rebuild the search index for accurate search results in Windows 11.
    • How to Delete and Rebuild the Windows 10 & 11 Search Index - MajorGeeks
      • Windows 10 keeps an index of all your searches so that you can get the fastest search results.
      • If you find that you're getting slow, missing, or incorrect results than it might be time to delete and rebuild your search index.
    • How to rebuild Search Index in Windows 11 | TheWindowsClub - You can reset, repair, rebuild Search Index in Windows 11/10 via Indexing Option Control Panel applet or by using this BAT file. Learn how.
  • Rebuild the Outlook Search Index
    • How to Rebuild Your Search Index on Microsoft Outlook [TUTORIAL] - YouTube
      • Having trouble finding emails in Outlook? Is your search returning incomplete or incorrect results?
      • It might be time to rebuild your Outlook search index!
      • In this tutorial, we’ll walk you through the exact steps to fix Outlook search issues by resetting and rebuilding the indexing system — a fast and effective way to bring back accurate and lightning-fast results.
    • How to Rebuild the Outlook Search Index (Step-by-Step Guide)
      • Fix Outlook search issues! Rebuild your search index on Windows, Mac, or Exchange to restore accurate and fast search results.
      • This guide provides clear, step-by-step instructions for rebuilding the index on Windows and Mac systems, as well as for Exchange environments.
  • Troubleshooting Indexing Issues
    • Fix Windows 11 Indexing Issues: Troubleshooting Guide | Windows Forum
      • Indexing issues on Windows 11 can be as frustrating as a stubborn jam at your favorite coffee machine—especially when you're trying to search for that elusive file during a crunch time.
      • Windows indexing is the unsung hero that catalogs file properties and metadata to ensure speedy searches, but sometimes it just refuses to play ball.
      • If you're encountering the notorious message “Indexing is not running” or noticing that your searches start only to stall mid-air, you're not alone.
      • Here’s a deep dive into why this happens and how you can get your indexing service back on track.
      • Run the Search and Indexing troubleshooter: msdt.exe -ep WindowsHelp id SearchDiagnostic
  • Outlook Search Not Working
    • Outlook Search Isn't Working? Here's How to Fix It | How-To Geek
      • Those emails didn't just disappear.
      • Ensure Outlook is on the Windows search index. Open Outlook, then navigate to FIle > Options > Outlook Options > Search > Indexing Options, and make sure Outlook is selected.
      • Completely restart Outlook to fix minor glitches that may be affecting the search function.
      • Try using the Search and Indexing troubleshooter or update Outlook to resolve search-related issues.
    • Outlook 2021 indexing not working - Microsoft Q&A
      • After installation of outlook 2021 all the mails have been downloaded but I am not able to search any mail through search bar. indexing not working after rebuild database.
      • Run the Search and Indexing troubleshooter: msdt.exe -ep WindowsHelp id SearchDiagnostic
  • Disable Indexing
  • Make Indexing Faster
  • Excluded or Included Folders
    • This Excluded or Included depends on whether you are using the Classic or the Enhanced version of Windows Search.
    • Add or Remove Search Index Locations in Windows 11 | Windows 11 Forum
      • This tutorial will show you how to add or remove locations to be excluded or included in the search index in Windows 11.
      • Microsoft is beginning to roll out a change that brings those two settings pages together so you can easily access to all the Windows Search settings under a single settings page via Settings > Privacy & security > Search. 
    • How to stop Windows Search from auto-excluding repository folders? - Super User
      • Windows search indexer is adding most paths to repository folders (both .git and .svn) to the exclusion list.
      • I can remove them manually of course, but each time I rebuild the index - they are re-added.
      • I can add them as indexed locations, but I'd have to do that each and every time I add a new repository and I add them in varying locations depending on relation.
      • Why is Windows excluding these and how can I alter that behavior?
    • search indexing - How to reset and clear all previous Windows Index config? - Super User
      • This is where Windows Indexing rules (exclusions) are located in the registry, which are not only easier to manage/export/import, but are reflected in Windows Settings awful UX for this:
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules\
        
        and
        
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\Gather\Windows\SystemIndex\Sites\LocalHost\Paths\
    • Hide Files and Folders from Search Results in Windows 11 | TheWindowsClub - In this article, we will demonstrate how you can hide files and folders from your Search Results in Windows 11 or Windows 10.

 

Published in Windows General
Tuesday, 26 August 2025 12:40

My FFmpeg Notes

A collection of my FFmpeg notes

Downloading the Windows Binaries

Getting the right version can be tricky unless you know what file to download and why, but that is easy to explain.

TL;DR

Static vs. Shared Builds

In general, when you compile a binary, you may prefer to include its dependencies (Static) so that users don't need to search for external dlls aftermath, or try to use the executable with an incompatible version of the dll, but it means that the same dll will have to be present in all executables that need them, so that the whole software will use more room on the HD. Shared versions are likely to save some space, but I presume they are not significantly faster than others. It is useful just to explain the difference between the two compiling types.

  • Static build (essentials, full):
    • The .exe (on Windows) or binary contains all libraries compiled inside it.
    • Easier to use — you just download, extract, and run ffmpeg.exe.
    • Bigger file size, less flexible if you want to swap/update libraries individually.
    • Each binary has the required libraries and DLLs compiled in, each binary is therefore self contained and needs nothing else to run.
    • All components and libraries reside in the EXE file. So, it is self-contained.
  • Shared build (full shared):
    • The binary depends on separate .dll (on Windows) or .so (on Linux) library files.
    • The main ffmpeg.exe is smaller, but it requires those external files to run.
    • More modular: you can update or replace individual codec libraries without rebuilding FFmpeg.
    • Useful for developers embedding FFmpeg into other applications.
    • Less portable: you can’t just copy ffmpeg.exe alone to another PC — you also need all the matching DLLs.
    • Each ffmpeg library resides in a separate DLL, and the ffmpeg binaries (ffmpeg.exe ..etc) link to these libraries i.e. locate and access their capabilities only during execution. However, 3rd party libs are statically linked with the corresponding ffmpeg lib.e.g. libx264 resides inside avcodec.dll
    • The DLLs should be in your path or same folder as the EXE. Saves space but if you have multiple av*.dll in your path, due to older versions or other builds, that is liable to create problems.
    • Shared "shares" the DLLs and libraries between ffmpeg, ffprobe and ffplay.
    • You’ll usually see several folders:
      • bin\ → contains ffmpeg.exe, ffplay.exe, ffprobe.exe, and .dll files.
      • lib\ → contains development libraries (.a, .lib) for compiling against FFmpeg.
      • include\ → header files for developers.

What Version of FFmpeg should I download?

  • Essentials
    • Use case: Support features in a program like Krita or Blender
    • A minimal build of FFmpeg that includes the most widely used codecs and features.
    • Includes:
      • Common encoders/decoders like H.264 (via libx264), AAC, MP3, VP9, etc.
      • Basic formats and filters needed for everyday media conversion.
  • Full
    • Use case: Just converting media for personal use?
    • All formats, filters, encoders and decoders are included.
  • Full Shared
    • Use case: Developing software or need modular updates.
    • Same functionality as "Full"
    • Do not use this version if you are not a software developer, otherwise you may encounter missing xxx.dll errors.

How to get the latest build for Windows

Links

 

 

 

 

Repairing Media Files

You’ve got an AEA audio file (Sony ATRAC encapsulation, usually .aea), and while VLC can play it, MKVToolNix won’t accept it — which strongly suggests that the container header is damaged or malformed, even if the raw audio stream is intact. Here are some free/open-source tools and workflows you can try to “repair” or rewrap it into something MKVToolNix will accept:

1. FFmpeg (best first try)

  • FFmpeg is usually the most effective way to “rewrap” or re-encode damaged media.
  • Since VLC can play it, FFmpeg should also be able to read it.

Try first a straight rewrap (no re-encoding):

ffmpeg -i input.aea -c copy output.wav

or

ffmpeg -i input.aea -c copy output.mka

If the header is corrupt, FFmpeg might still balk. In that case, force stream copy with re-indexing:

ffmpeg -err_detect ignore_err -i input.aea -c copy fixed.mka

If that still doesn’t work, do a lossless re-encode to WAV (PCM):

ffmpeg -i input.aea -c:a pcm_s16le output.wav

Once you have a WAV/FLAC/MKA, MKVToolNix should accept it.

2. SoX (Sound eXchange)

  • Another open-source audio utility, great at handling raw audio.
  • If FFmpeg struggles, you can try:
sox input.aea output.wav

3. Audacity (GUI method)

  • Free, open-source audio editor.
  • Import the .aea into Audacity (it uses FFmpeg under the hood), then export as WAV/FLAC.
  • This bypasses container issues and ensures you get a clean audio file.

4. Re-mux with mkvmerge directly

  • Sometimes MKVToolNix GUI rejects files that mkvmerge (the CLI tool) can still handle.
    Try:
mkvmerge -o output.mkv --no-video input.aea

My recommendation: Start with FFmpeg (method 1). If -c copy fails, re-encode to WAV/FLAC and then mux that into MKV. Do you want me to give you a one-liner FFmpeg command that will automatically fix/dump to WAV even if the header is bad, so you can drag it straight into MKVToolNix? you want to keep the original audio stream untouched (no re-encoding). That means we need to focus on remuxing/repairing the container only.

1. FFmpeg (copy mode, no re-encode)

This is the safest first step:

ffmpeg -i input.aea -c copy output.mka
  • -c copy = stream copy (no re-encoding).
  • mka (Matroska Audio) is usually well-accepted by MKVToolNix.

If the header is damaged, you can try forcing FFmpeg to ignore errors:

ffmpeg -err_detect ignore_err -i input.aea -c copy fixed.mka

2. Try mkvmerge directly

Even if MKVToolNix GUI rejects it, the CLI might succeed:

mkvmerge -o output.mka input.aea

or

mkvmerge -o output.mkv --no-video input.aea

3. Container rewrap (raw stream copy)

If FFmpeg can demux the stream but not mux it properly, you could dump the raw stream first:

ffmpeg -i input.aea -c copy output.oma

(.oma is another ATRAC container Sony used; Matroska often accepts it better.)
Then try adding output.oma into MKVToolNix. If all copy-only methods fail, the problem may be that the damaged AEA header prevents FFmpeg from identifying the stream type. In that case, we’d need to manually specify the codec during remuxing (still without re-encoding). Do you want me to write you an FFmpeg command that forces the codec identification (e.g., ATRAC3/ATRAC9) so it can copy the stream even if the header is broken? Perfect ? If the AEA header is damaged, FFmpeg may fail to guess the codec, but you can force it to treat the stream as ATRAC and just remux without re-encoding.

1. Identify the codec

Run:

ffmpeg -i input.aea
  • Even if it errors out, FFmpeg usually prints something like:
    Stream #0:0: Audio: atrac3 (or atrac3plus / atrac9), 44100 Hz, stereo

Note the codec name (likely atrac3 or atrac3plus).

2. Force remux with codec copy

Once you know the codec, run:

ffmpeg -f aea -i input.aea -c:a copy -map 0 output.mka

 

  • -f aea → forces FFmpeg to read as AEA format.
  • -c:a copy → copies the stream without re-encoding.
  • -map 0 → ensures all streams are included.
  • output.mka → Matroska Audio container, friendly for MKVToolNix.

 

3. If FFmpeg still fails to guess properly

You can force the codec by specifying it:

ffmpeg -f aea -i input.aea -c:a copy -acodec atrac3 fixed.mka

(or -acodec atrac3plus depending on what you saw in step 1).   This way, you keep the original audio untouched, just rewrapped into .mka so MKVToolNix can accept it.

Do you want me to also show you how to probe the file with ffprobe to be 100% sure which ATRAC variant you’ve got before running the copy?

 


what is ffprobe ffprobe is a companion tool to FFmpeg.

  • Where ffmpeg converts or remuxes media,
  • ffprobe analyzes media and prints detailed info about streams, codecs, metadata, bitrates, etc.

It’s included automatically when you install FFmpeg (same download).

Example usage

ffprobe input.aea

You’ll see output something like:

Input #0, aea, from 'input.aea':
  Duration: 00:04:21.00, bitrate: 132 kb/s
  Stream #0:0: Audio: atrac3, 44100 Hz, stereo, fltp

That tells you:

  • Container format (aea)
  • Codec (atrac3 / atrac3plus / atrac9)
  • Sample rate, channels, etc.

Why it’s useful here

Since your AEA header may be broken, ffmpeg -i input.aea or ffprobe input.aea will tell us:

  • If FFmpeg can still detect the codec
  • Which exact ATRAC variant you have
  • What flags we need to use for a clean stream copy into .mka

  Do you want me to give you a ready-to-run command that uses ffprobe to print just the codec name (so you don’t have to scan through a big text output)? what is the difference between ffprobe and ffpmeg -i Great question ? — they look similar, but there are some important differences between ffmpeg -i and ffprobe:

? ffmpeg -i input.ext

  • ffmpeg is mainly a converter/remuxer.
  • When you run it with just -i, it:
    • Prints some stream info to the console (container, codec, bitrate, channels, etc.).
    • Then usually errors out because you didn’t tell it what to output.
  • The printed info is meant for humans (not machine-readable).

Example:

ffmpeg -i input.aea

Output:

Input #0, aea, from 'input.aea':
  Duration: 00:04:21.00, bitrate: 132 kb/s
  Stream #0:0: Audio: atrac3, 44100 Hz, stereo, fltp

? ffprobe input.ext

  • ffprobe is dedicated to analysis only.
  • It never tries to convert or output media — it just inspects it.
  • It can print:
    • The same human-readable info as ffmpeg -i
    • Or structured machine-readable output (JSON, XML, etc.)

Example (human-readable):

ffprobe input.aea

Example (just codec name in JSON):

ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 input.aea

Output:

atrac3

In short:

  • ffmpeg -i → Quick check, human-readable, but “side effect” is that it looks like an error run.
  • ffprobe → Purpose-built for inspecting files, can give clean codec info and more detailed technical metadata.

   



  Convert AEA to FLAC  from the wiki that the rest are based on

for f in *.aea; do ffmpeg -i "$f" -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 "${f%.aea}.flac"; done

Your Linux command loops through all *.aea files in the current folder and converts them to FLAC using ffmpeg. On Windows (cmd.exe) you can write it like this:

for %%f in (*.aea) do ffmpeg -i "%%f" -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 "%%~nf.flac"

Notes:

  • If you run this directly in a batch file (.bat), keep the double %%f.
  • If you run it directly in the command prompt, use a single %f:
for %f in (*.aea) do ffmpeg -i "%f" -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 "%~nf.flac"

Do you want me to also give you the PowerShell version (nicer syntax, supports Unicode filenames better), or will you run this in cmd.exe? Here’s the PowerShell version of your loop:

Get-ChildItem *.aea | ForEach-Object {
    ffmpeg -i $_.FullName -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 "$($_.BaseName).flac"
}

Explanation:

  • Get-ChildItem *.aea → gets all .aea files in the folder.
  • $_ → represents each file object.
  • $.FullName → full path to the file.
  • $.BaseName → filename without extension (so output becomes filename.flac).

⚡ Advantage: PowerShell handles spaces and special characters in filenames much more gracefully than cmd.exe.

Do you want me to also make a ready-to-run .ps1 script that you can drop into your folder and double-click/run, or will you paste it directly into the PowerShell terminal?

Here’s a ready-to-run PowerShell script (batch file) you can save as Convert-AEA.ps1 in the same folder as your .aea files:

# Convert-AEA.ps1
# Converts all .aea files in the current folder to FLAC (16-bit, 44.1kHz)

# Get all .aea files in this folder
Get-ChildItem -Filter *.aea | ForEach-Object {
    $inputFile = $_.FullName
    $outputFile = "$($_.BaseName).flac"

    Write-Host "Converting $($_.Name) -> $outputFile"
    ffmpeg -i "$inputFile" -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 "$outputFile"
}

How to use it

  1. Open Notepad, paste the script above, and save it as Convert-AEA.ps1 in your folder with the .aea files.
    (Make sure the file extension is .ps1, not .txt.)
  2. Open PowerShell in that folder.
  3. If scripts aren’t allowed yet, run this once to enable them:
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
  4. Run the script:
    .\Convert-AEA.ps1

Same loop as the first script, just expanded with variables and messages so it’s easier to read and debug.

 

Got it ✅ Here’s the PowerShell script version (Batch file) that will scan the current folder and all subfolders for .aea files, then convert them to .flac while keeping the same folder structure:

# Convert-AEA.ps1
# Recursively converts all .aea files in this folder (and subfolders) to FLAC (16-bit, 44.1kHz)

# Get all .aea files in this folder and subfolders
Get-ChildItem -Filter *.aea -Recurse | ForEach-Object {
    $inputFile  = $_.FullName
    $outputFile = Join-Path $_.DirectoryName "$($_.BaseName).flac"

    Write-Host "Converting $($_.FullName) -> $outputFile"
    ffmpeg -i "$inputFile" -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 "$outputFile"
}

How it works

  • -Recurse makes PowerShell go into all subfolders.
  • Join-Path $_.DirectoryName ... ensures each .flac lands in the same folder as the original .aea file.
  • Outputs look like:
    music\track1.aea → music\track1.flac
    music\subfolder\track2.aea → music\subfolder\track2.flac

recursive one-liner (for pasting, and from above)

Get-ChildItem -Filter *.aea -Recurse | ForEach-Object {
    ffmpeg -i $_.FullName -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 "$($_.DirectoryName)\$($_.BaseName).flac"
}

Difference from your original:

  • -Recurse → searches subfolders too.
  • "$($_.DirectoryName)\$($_.BaseName).flac" → makes sure the .flac is written into the same folder as the source file (not all dumped into the top folder).

recursive PowerShell one-liner that also skips files already converted:

Get-ChildItem -Filter *.aea -Recurse | ForEach-Object {
    $outFile = Join-Path $_.DirectoryName "$($_.BaseName).flac"
    if (-Not (Test-Path $outFile)) {
        ffmpeg -i $_.FullName -vn -hide_banner -c:a flac -sample_fmt s16 -ar 44100 $outFile
    } else {
        Write-Host "Skipping $($_.FullName) → already exists."
    }
}

How it works:

  • Test-Path $outFile → checks if the .flac already exists.
  • If yes → it prints Skipping…
  • If no → it runs ffmpeg normally.

 


 

 

 

 

 

Published in Media

The Issue

  • By default, if your current WiFi network does not have a valid internet connection, Windows will disconnect and try another WiFi network.
  • This is not roaming where your WiFi NIC tries to connect to the strongest AP of the same SSID.
  • Windows by design marks a Wi-Fi as “Limited” if it can’t reach the internet (via the Network Connectivity Status Indicator, NCSI check). When this happens, Windows may try to roam to another SSID that looks “better”, even if you want to stay put.

Cause

Solutions

TL;DR

  • Best solution if you want zero hassle: Disable NCSI probing (Method 5)
  • The most reliable cross-platform trick is to assign a static IP configuration (with no gateway/DNS), so the OS doesn’t expect Internet routing from that Wi-Fi. That way it just treats it as a LAN.
  • There isn’t a simple toggle in Windows to say “stay connected no matter what”, but in Windows 10/11, you can force the system to stay connected to one SSID even if it has no internet.
  • You can stop that behaviour by using one of the methods below. Some methods prevent the switching of SSID while there are some scripts to constantently check the SSID and if it has changed will revert tot he correct SSID.

Method 1: Make the SSID your top priority & stop auto-switching

  1. Press Win + I → open Settings.
  2. Go to Network & Internet → Wi-Fi → Manage known networks.
  3. Click your target SSID → Properties.
    • Turn On → “Connect automatically when in range.”
  4. Back in Wi-Fi settings, disable:
    • Hotspot 2.0 networks (if you don’t use them).
    • Connect to suggested open hotspots.
    • Connect to networks shared by my contacts (on older Windows builds).
  5. Run this command in PowerShell (admin) to prevent Windows from switching away:
    netsh wlan set profileparameter name="YourSSID" connectionmode=auto
    netsh wlan set profileparameter name="YourSSID" nonBroadcast=connect
    (Replace YourSSID with the exact Wi-Fi name.)

Method 2: Force Windows to always use that Wi-Fi (interface metric trick)

By default, Windows disconnects when a network has no valid gateway/internet. You can override that:

  1. Press Win + R, type ncpa.cpl, hit Enter.
  2. Right-click your Wi-Fi adapter → Properties.
  3. Select Internet Protocol Version 4 (TCP/IPv4) → Properties → Advanced.
  4. At the bottom, uncheck Automatic metric, and set Interface metric = 1 (highest priority).
    • This tells Windows: “always prefer this adapter, regardless of internet state.”

Optional: If you don’t need internet routing via this SSID (just local LAN), you can remove the Default Gateway entry in the IPv4 settings. That way, Windows won’t even expect internet, so it won’t try to drop it.

Method 3: Disable "Smart Disconnect"

Some Wi-Fi drivers (Intel, Realtek, Killer, etc.) have a feature that disconnects from networks without internet:

  1. Open Device Manager → expand Network adapters.
  2. Right-click your Wi-Fi adapter → Properties → Advanced tab.
  3. Look for options like Roaming Aggressiveness, Smart Disconnect, or Prefer Band.
  4. Set Roaming Aggressiveness = Lowest, and disable any “Smart Disconnect”/“Disconnect if no Internet” feature.

  There isn’t a simple toggle in Windows to say “stay connected no matter what”, but there are a few reliable workarounds:

Method 4: Use a “No Internet” Profile

  • In Network & Sharing Center, set a static IP on your Wi-Fi and leave the gateway blank.
  • Without a gateway, Windows won’t expect internet and won’t mark it as “Limited.”
  • It will stay connected as a pure LAN.
  • The downside of this method is that you do not have internet when it is available and when you manually swap networks you might have to change you IP address.

Method 5: Disable the NCSI Internet connectivity check / Probe

This disables the Windows’ NCSI Internet connectivity check forcing Windows to always report “Connected” to your Wi-Fi, even if there’s no Internet so it will never get tagged as "Limited" and then be dropped. Windows will stop testing for internet access and this alone fixes the auto-disconnect in most cases.

  1. Press Win+R, type regedit, press Enter.
  2. Navigate to:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
  3. Change these values (create them if missing):
    • EnableActiveProbing → set to 0 (DWORD)
  4. Restart your computer.

Disable_NCSI.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
"EnableActiveProbing"=dword:00000000

This makes Windows always report “Connected” regardless of Internet access.

Re-Enable_NCSI.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
"EnableActiveProbing"=dword:00000001

Note: With NCSI disabled, Windows will always show “Connected” even if the network is offline. Apps that rely on NCSI (like the captive portal pop-up for hotel Wi-Fi) won’t launch automatically — you’ll need to open a browser manually in those cases.

Method 6: Use Third-Party Tools

If you want more control, a few small utilities exist that can “lock” Windows to a specific SSID:

These basically override Windows’ automatic “choose a better network” logic.

Method 7: Disable "autoSwitch" for Wi-Fi networks (Windows 11)

This method requires manual intervention but can be useful in some setups.

  • Turn On or Off AutoSwitch for Wi-Fi Network in Windows 11 | Windows 11 Forum
    • This tutorial will show you how to turn on or off autoSwitch for Wi-Fi networks set to connect automatically when in range on your Windows 11 or Windows 10 PC.
    • When you connect to a Wi-Fi network for the first time, Windows will automatically add a profile for the Wi-Fi network. The saved profile contains the SSID (network name), security key (password), and connection and security properties used to connect to this specific Wi-Fi network.
    • If you turn on connect automatically to a Wi-Fi network, Windows will automatically connect to this Wi-Fi network when in range based on priority order.
    • The autoSwitch parameter controls the roaming behavior of an auto-connected Wi-Fi network when a more preferred connect automatically Wi-Fi network is in range. If autoSwitch is turned on, it allows Windows to continue looking for other connect automatically Wi-Fi networks while connected to the current Wi-Fi network. If a higher priority connect automatically Wi-Fi network than the currently connected Wi-Fi network comes in range, Windows will automatically switch and connect to it instead.

Method 8: Scripted Auto-Reconnect

If you’re comfortable with PowerShell, you can make Windows automatically reconnect to your SSID even if it drops:

Option 1 - Background Scheduled Task

  • This will run silently.
  • This is to be run as a background scheduled task
  • Every 10 seconds this script will check to make sure the Wifi is connected to the configured SSID, and if not, it will swap it back.
  • This script does not prevent switching.
# Force Wi-Fi to stay connected to one SSID, even if disconnected
$SSID = "YourSSID"
while ($true) {
    $connected = (netsh wlan show interfaces) -match $SSID
    if (-not $connected) {
        netsh wlan connect name=$SSID
    }
    Start-Sleep -Seconds 10
}
  • Replace YourSSID with your exact Wi-Fi name (SSID).
  • Save this as ForceWiFi.ps1
  • Run this as a background scheduled task
  • Run Automatically at Startup
    • Open Task Scheduler (Win+R → taskschd.msc).
    • Click Create Task.
    • On the General tab:
      • Name: Force Wi-Fi Stay Connected
      • Check Run with highest privileges.
    • On the Triggers tab:
      • New → Begin the task: At log on.
    • On the Actions tab:
      • New → Action: Start a program
      • Program/script: powershell.exe
      • Arguments:
        -ExecutionPolicy Bypass -File "C:\Path\To\ForceWiFi.ps1"
    • Save → Restart → it will auto-run in background.

Option 2 - Manually run PowerShell Script (displays connection status)

  • This will output the connection status to the screen on every cycle.
  • You can easily stop this by closing the command window.
  • Every 10 seconds this script will check to make sure the Wifi is connected to the configured SSID, and if not, it will swap it back.
  • This script does not prevent switching.
# Force Wi-Fi to stay connected to one SSID, even if disconnected
$SSID = "YourSSID"   # <-- Replace with your Wi-Fi name

while ($true) {
    $connected = (netsh wlan show interfaces) -match $SSID
    if (-not $connected) {
        Write-Output "[$(Get-Date -Format 'HH:mm:ss')] Not connected. Reconnecting to $SSID..."
        netsh wlan connect name="$SSID"
    } else {
        Write-Output "[$(Get-Date -Format 'HH:mm:ss')] Still connected to $SSID."
    }
    Start-Sleep -Seconds 10
}
  • Replace YourSSID with your exact Wi-Fi name (SSID).

Method 9: Combined NCSI Probing and SSID Switcher

I have added this here just in-case I need to come up with a more streamlined solution.

This script will

  1. Applies the registry tweak (disables NCSI probing).
  2. Creates the PowerShell script in C:\ForceWiFi\ForceWiFi.ps1.
  3. Registers a Task Scheduler job that runs it at login with highest privileges.

How to Use

  1. Copy the code into Notepad.
  2. Save as ForceWiFiSetup.bat (Save as type: All Files, not .txt).
  3. Right-click → Run as Administrator.
  4. Edit C:\ForceWiFi\ForceWiFi.ps1 and change YourSSID to your actual Wi-Fi name.
  5. Reboot.

After reboot:

  • Windows will no longer drop your Wi-Fi just because it has no Internet.
  • The scheduled task will always force reconnection to your chosen SSID in the background.

ForceWiFiSetup.bat (Installer)

Save this as ForceWiFiSetup.bat (Right-click → Run as Administrator):

@echo off
:: =====================================
:: Force Windows to stay connected to one SSID
:: =====================================

:: --- Create folder for script
mkdir "C:\ForceWiFi" >nul 2>&1

:: --- Create the PowerShell script
echo # Force Wi-Fi to stay connected to one SSID, even if disconnected > C:\ForceWiFi\ForceWiFi.ps1
echo $SSID = "YourSSID"   # <-- Replace with your Wi-Fi name >> C:\ForceWiFi\ForceWiFi.ps1
echo while ($true) { >> C:\ForceWiFi\ForceWiFi.ps1
echo     $connected = (netsh wlan show interfaces) -match $SSID >> C:\ForceWiFi\ForceWiFi.ps1
echo     if (-not $connected) { >> C:\ForceWiFi\ForceWiFi.ps1
echo         Write-Output "[$(Get-Date -Format 'HH:mm:ss')] Not connected. Reconnecting to $SSID..." >> C:\ForceWiFi\ForceWiFi.ps1
echo         netsh wlan connect name="$SSID" >> C:\ForceWiFi\ForceWiFi.ps1
echo     } else { >> C:\ForceWiFi\ForceWiFi.ps1
echo         Write-Output "[$(Get-Date -Format 'HH:mm:ss')] Still connected to $SSID." >> C:\ForceWiFi\ForceWiFi.ps1
echo     } >> C:\ForceWiFi\ForceWiFi.ps1
echo     Start-Sleep -Seconds 10 >> C:\ForceWiFi\ForceWiFi.ps1
echo } >> C:\ForceWiFi\ForceWiFi.ps1

:: --- Disable NCSI Active Probing in registry
reg add "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing /t REG_DWORD /d 0 /f

:: --- Register scheduled task
schtasks /create /tn "ForceWiFiStayConnected" /tr "powershell.exe -ExecutionPolicy Bypass -File C:\ForceWiFi\ForceWiFi.ps1" /sc onlogon /rl highest /f

echo.
echo =====================================
echo Setup complete!
echo - Replace YourSSID in C:\ForceWiFi\ForceWiFi.ps1 with your Wi-Fi name
echo - Restart your computer for registry change to take effect
echo =====================================
pause

ForceWiFiRemove.bat (Uninstaller)

Save this as ForceWiFiRemove.bat (Right-click → Run as Administrator):

@echo off
:: =====================================
:: Remove ForceWiFi setup (script + registry + scheduled task)
:: =====================================

:: --- Delete the PowerShell script folder
if exist "C:\ForceWiFi" (
    rmdir /s /q "C:\ForceWiFi"
    echo Removed C:\ForceWiFi folder.
) else (
    echo No C:\ForceWiFi folder found.
)

:: --- Re-enable NCSI Active Probing
reg add "HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet" /v EnableActiveProbing /t REG_DWORD /d 1 /f
echo Re-enabled Windows Internet connectivity check (NCSI).

:: --- Delete scheduled task
schtasks /delete /tn "ForceWiFiStayConnected" /f
echo Removed scheduled task ForceWiFiStayConnected.

echo.
echo =====================================
echo Cleanup complete!
echo - NCSI probing restored
echo - Scheduled task removed
echo - Script folder deleted
echo =====================================
pause

 

Published in Windows General
Friday, 18 July 2025 13:13

PCIe Lane Diagnostics

How many PCIe lanes is your NVMe drive using in Windows

To check how many PCIe lanes your NVMe drive is using in Windows use the following apps to get the information.

CrystalDiskInfo

How to use:

  1. Install and run CrystalDiskInfo.
  2. Select your NVMe drive from the list at the top.
  3. Look for a line like:
    Transfer Mode: PCIe 3.0 x4 | PCIe 3.0 x4
  4. The first value is active lanes.
  5. The second is maximum supported lanes by the drive.

HWiNFO

How to use:

  1. Launch HWiNFO, only Sensors are needed, but you can use full mode.
  2. Expand "Bus"
  3. Expand "PCI Bus"
  4. Select "PCI Express Root Port", and under the "PCI Express section" on the right:
    • Version is the PCIe Generation
    • Read the "Maximum Link Width" and "Current Link Width" to get the NVMe port's lane information.
  5. Under the "PCI Express Root Port" you will probably see the following
    • "PCI Express x4 Bus"
      • "Samsung Electronics Pascal S4LV008 PCIe 4.0 x4 NVMe 2.0 SSD Controller" (or your drive)
        • Read the "Maximum Link Width" and "Current Link Width" to get the NVMe drives lane information.

The drive information in this tool is just information read from the tool, it does not have current lane, just information read from the firmware.

Samsung Magician

How to use:

  1. Open Samsung Magician.
  2. Select your NVMe drive.
  3. Under the "Drive Details" or "Interface" section, it will show something like:
    Interface: PCIe Gen 4.0 x4
    • This means it's using 4 lanes on Gen 4.

How can I check the number of PCIe lanes in Windows?

  • Use: HWiNFO
  • Count Your PCIe Lanes! Easy Guide for Any PC
    • Confused about PCIe lanes on your PC? Don't worry! This guide shows you simple methods to check how many lanes your system has (No software needed).
    • System Information Tool
      • On Windows, you can use the built-in System Information tool to find information about your motherboard and its PCIe lanes.
      • Press Win+R to open the Run dialog, type “msinfo32,” and hit Enter.
      • In the System Information window, navigate to “Components” > “PCI.” There, you will see a list of all PCIe devices in your system and their current link widths (corresponding to the number of lanes).
    • Third-Party Software
      • Some third-party software tools can provide detailed information about your computer’s hardware, including PCIe lanes.
      • CPU-Z and GPU-Z are popular tools that can provide comprehensive information about the motherboard and connected PCIe devices.
    • How can I check the number of PCIe lanes in Windows?
      • You can check the number of PCIe lanes in Windows using the device manager by following these steps:
        1. Right-click on the Start button and select “Device Manager.”
        2. In the Device Manager window, expand the “System Devices” category.
        3. Look for an entry named “PCI Express Root Port” or “PCI Express x16 Port” (the exact name may vary depending on your system).
        4. Double-click on the “PCI Express Root Port” entry to open its properties.
        5. Go to the “Advanced” tab, and you should see information about the number of “Current Link Width” or “Max Link Width.” This value represents the number of PCIe lanes currently used by the port.

General Notes

 

Published in General
Friday, 18 July 2025 13:12

USB to ISO, ISO to USB, Bootable ISO

This will cover a lot of topics to do with ISO and burning.

Software

Burners / Authoring

  • ImgBurn
    • ImgBurn is a lightweight CD / DVD / HD DVD / Blu-ray burning application that everyone should have in their toolkit... and it's free!
  • AnyBurn
    • A light weight but professional disc burning, imaging, and bootable USB drive creation software
  • ShapeISO
    • A free and excellent ISO editor software that helps you burn, extract and create ISO image files on Windows computers.
  • PowerISO
    • Create, Burn, Mount, Edit, Compress, Encrypt, Split, Extract ISO file, ISO/BIN converter, Virtual Drive.
    • PowerISO is a disk image utility that can open, burn, create, edit, compress, encrypt, mount and extract ISO files.
    • PowerISO comes with some unwanted programs (PUP) but you can simply turn off the internet in your PC (switch off WiFi or Ethernet) before installing PowerISO and it will skip the installation of the PUP.
    • Menu: Tools --> Create ISO from USB

USB <--> Image

  • Rufus
    • Create bootable USB drives the easy way
    • Rufus can format a USB drive in the following partition schemes/formats
      • MBR
      • GPR
      • Super Floppy Disk
    • How to create bootable USB drive for Windows 11 with Rufus (2025) - Pureinfotech
      • Rufus lets you create a bootable Windows 11 USB for supported and unsupported hardware. Also, it offers the option to download the ISO file.
      • Create a bootable Windows USB drive with modifications.
    • How to Use Rufus: A Complete Guide | UUByte
      • Rufus is a popular free software for creating bootable USB. Do you know how to use it? This is a complete guide for using Rufus.
      • Rufus is best known for its ability to create bootable USB drive by burning ISO image to USB. However, it's more than that. In fact, you can use Rufus to create a non-bootable BIOS or UEFI device with GPT or Super Floppy Disk partition scheme. Also, you can format USB device as NTFS, FAT32, or UDF, adjust the volume label, and set your own cluster size.
    • Do you plan to add USB → ISO creation support? - FAQ · pbatard/rufus Wiki · GitHub
      • i.e. Do you plan to allow a feature that can reverse what Rufus does when converting a bootable ISO to bootale USB, so that a bootable ISO can be created back again?
      • This was added in Rufus 4.10. If you show the advanced drive properties, and you have a compatible USB or VHD drive selected, then you can click the "save" icon next to it to save the drive content to an ISO.
      • Also note that you can already use Rufus to create a VHD/VHDX image anyway (see the relevant entry in this FAQ), which, in most cases, is probably what you are really after. Rufus will happily open and write .vhd/.vhdx images just like it can open .iso images.
  • ISO to USB
    • ISO to USB is a free and small software that can burn the ISO image file directly to the USB drives, these USB drives include USB flash drives, memory sticks and other USB storage devices, it also supports to create a bootable USB disk with Windows operating systems.
    • The ISO image file is a popular image of the CD/DVD discs, an ISO file can include all the content on the disc, this software can easily burn these ISO files to a USB flash disk, makes it easy to carry and use.
    • This software currently only support Windows bootable disk, can work with both BOOTMGR and NTLDR boot mode, can create USB disk with FAT, FAT32, exFAT or NTFS file system. (When you are making a bootable USB disk, suggest you choose the FAT32 file system.)
  • balenaEtcher - Flash OS images to SD cards & USB drives
    • A cross-platform tool to flash OS images onto SD cards and USB drives safely and easily. Free and open source for makers around the world.
  • EaseUS Todo Backup
    • This software can create a bootable USB drive and put ISO on USB drives. It also helps in creating an image of a USB drive and putting ISO on USB drives.
    • An easy-to-use free data backup software for Windows 11/10 users to back up photos, music, videos, documents, system, etc. for PC users. 

Builders

Converters

  • IMG to ISO
    • IMG to ISO is a free small software utility, as its name suggests, it can convert the IMG image files into the ISO image files.
    • The IMG is an disk image file format, it be used by some virtual drive software, Its file extension is generally .img or .ima. The ISO format seems to be more popular than IMG format now, So, if you want to convert your IMG files into ISO files, this little software just helps you.
  • The ISO format file that is created by this program can conform to the standard ISO-9660 format. You can also use this software to open *.ima files

Tutorials

Extracting Boot Sector from ISOs

  • Extracting boot sectors from Windows ISOs | BetaArchive
    • Bootsector is not stored in the files, but in the image itself...
    • How to manually extyract the boot sector: 
      1. Download and install 7-ZIP 9.20 from: http://www.7-zip.org/
      2. Open a bootable Windows 2000/XP ISO file with 7-ZIP.
      3. There is a folder named [BOOT].
      4. Go in into [BOOT].
      5. The boot sector file is named "Bootable_NoEmulation.img".
      6. Extract this bootsector.
      7. Rename Bootable_NoEmulation.img to BOOTSECT.BIN
      8. Copy your Windows Whistler PE CD to your hard disk e.g. "C:\WINPE"
      9. Place BOOTSECT.BIN in the folder "C:\WINPE\I386".
      10. Then use a application that will create your bootable ISO file.
  • Extracting floppy boot image from ISO with dd? | GRC Public Forums
    • I know there are utilities that can extract the boot image from a CD ISO which can then be used to create a boot floppy or another bootable CD ISO. Anyone know if the differences in the boot header for a bootable FreeDOS floppy image, CD ISO or USB ISO is the sector number where the boot code is located?
    • That being said, on Windows I have used 7-zip to extract the boot file. 7-zip shows it in a special folder called "[BOOT]".
      If you install 7-zip on Linux (p7zip-full) you can use the 7z command to extract the file:
      7z e isofile.iso '[BOOT]'
    • Mentions balenaEtcher for making USB drives.
  • How to Extract Boot Sector Information from a Bootable DVD | Tom's Hardware Forum
    • Use UltraISO with these instructions to extract the .BIF file.
    • The bootable disc has a .BIF file i.e. boot information file which is responsible for booting the disc from a removable storage. Every bootable disk, thus, has a .BIF file that makes it bootable. The difference between a normal installation disk and a boot time installation disk lies mainly in the boot information sector.
  • Boot Image Extractor - How to extract boot image from CD/DVD? | WinISO - WinISO is a powerful ISO Extractor, which can extract not only ISO image file but extract the boot image file if you desired.

Create a Bootable USB

Bootable USB to ISO

  • How to Convert Bootable USB to an ISO Image (Tutorial) - YouTube
    • In this tutorial video, I'll show you How to Convert Bootable USB to an ISO image. So, if you've been wondering how to create an ISO image file from files and folders, this video is for you as I'll take you through the entire process step-by-step.
    • AnyBurn, ImgBurn
  • 2 Timeless Ways to Convert Bootable USB Drive to ISO
    • Due to some reason, you need to convert bootable USB to ISO. Then you can refer to the methods offered in this post to complete the operation.
    • ImgBurn, AnyBurn
  • How to Convert Bootable USB to ISO (windows 10/11)
    • You created a bootable USB of Windows 11, 10, or even 8.1 after downloading it. Then you deleted the ISO file to make space on the partition since we have the bootable. Now you want to create another bootable but the original ISO is missing. No worries as you can convert bootable USB to ISO.
    • ImgBurn
  • 2 Free Ways to Convert Bootable USB to ISO on Windows 10
    • How to convert bootable USB to ISO in Windows 10? Here you can know how to easily create ISO file from a bootable USB for free.
    • Sometimes you may need to create an ISO file from bootable USB for some purpose. Here this article will show you how to easily convert bootable USB to ISO on Windows 10 with 2 ways for free.
    • ShapeISO, AnyBurn
  • How to Convert Bootable USB to ISO
    • Converting your bootable USB to an ISO can save you from these headaches. If you delete the original ISO after making the bootable USB, you will have to redownload it later. It’s easy to convert a bootable USB to ISO on Windows; here are the two best ways to do it.
    • AnyBurn, ImgBurn
  • How to Create ISO Image from USB with USB to ISO
    • What is an ISO file? Are you looking for a way to create ISO image from USB? This article will tell how to create an ISO from USB drives on Windows 11/10/8/7.
    • EaseUS Todo Backup, Rufus, DISM
  • Make Bootable ISO Image from a Bootable USB Drive
    • Learn how you can create a bootable ISO image using a bootable USB drive (with Windows installation files on it) very easily.
    • Extract the .BIF from an existing Bootable ISO and use that.
    • PowerISO

DiskGenius focused

  • Create an .iso out of a bootable USB stick? | Ventoy Forum
    • e.g. the software DiskGenius (https://www.diskgenius.com) can only create a bootable USB stick (UEFI and BIOS), but not an .iso that I could use with Ventoy directly.
    • Just copy the boot.wim file to the Ventoy USB disk and boot to the boot.wim directly from Ventoy - no need to make an ISO. You will need to add Wimboot Plugin too.
    • Plugin.wimboot . Ventoy - Ventoy use this plugin to boot WIM files (Legacy BIOS + UEFI). 
  • Recommendations for bootable ISOs to add to Ventoy | Windows 11 Forum
    • Q: I have not yet discovered an easy way to convert a bootable USB drive to a bootable ISO. Many utilities that claim to do this are getting long in the tooth - i.e 2012 or 2016 and I'd like to use more recent apps.
    • A: There are a few methods and techniques on this thread so I will just summarise them.
      • oscdimg (Page 1)
        oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,bd:\iso_files\boot\etfsboot.com#pEF,e,bd:\iso_files\efi\microsoft\boot\efisys.bin d:\iso_files d:\14986PROx64.iso
        
        becomes
        
        oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,bE:\boot\etfsboot.com#pEF,e,bE:\efi\microsoft\boot\efisys.bin E:\ C:\users\myname\myiso.iso
        
        You can create a one line batch file to do above.
      • You could use cdimage, oscdimg or mkisofs which are command line tools, Or you can use, Lancer, which has a GUI  (Page 1)
      • Copy the DiskGenius WIM to the Ventoy disk and boot from that. (Page 1)
      • Windows-isomaker_x64_x86_sha256.zip (Page 1)
      • isomaker.zip  (Page 1)
      • mkisofs Linux (Page 1)
        sudo mkisofs -o /path/to/image. iso /dev/sdb
        • replacing /path/to/image. iso with the desired location and name of your ISO file and /dev/sdb with the device name of your USB drive.
      • isomaker-DISKGENIUS.zip (Page 2)
        • Lancer _x64 wont work for the unusual construction of diskgenius boot media.
        • I have done a special one for diskgenius.
        • Instructions
          • Copy and paste the diskgenius usb stick to a hard drive.
          • Rt click the usb stick and select copy. Rt click on a hard drive partition and select paste.
          • So you have a folder e.g. C:\DISKGENIUS ( it will have the same name as the usb stick)
          • then run the .cmd file and browse to C:\DISKGENIUS
          • Do not browse to a sub folder inside C:\DISKGENIUS
        • I made a diskgenius usb stick and tested the above .
      • Boot from the WIM (Page 2)
        • You really only need to copy the file Boot.wim from the folder DiskGenius - Boot (and optionally rename the file to something like, e.g., DiskGenius 5.5.1.1508 x64.wim to make it easier for you to see what exactly this one is) to the root of the VENTOY partition that's on your USB flash drive. Aside from this, you also need to make sure that you have installed the Wimboot plugin for Ventoy before you boot from the USB flash drive. (For this, you need to create a new folder named ventoy in the root of the VENTOY partition, and then copy the file ventoy_wimboot.img into this folder like has been explained here.)
      • Use an existing Bootable ISO (Page 3)
        • Using something like the free anyburn, edit a known working iso file (e.g. your macrium iso file ).
        • Replace the \sources\boot.wim in the known working iso with the boot.wim from your diskgenius usb stick.
        • Then save the iso as a new name, e.g. diskgenius.iso
        • NB: I have not tried this.

 

Published in General
Page 1 of 96