This blog is for my future and past info and reviews on various tech stuff….
![]() Watches, bands & rings |
![]() Phones / Phablets |
![]() Compact cameras |
![]() Reviews |
![]() Resolution and Noise |
![]() Batteries and usage |
![]() PC & Code |
![]() Various tech stuff |
![]() Math |
![]() Other stuff |
Newer reviews can be expected to be ongoing projects, with minor additions or corrections.
Note: When I rate stuff, a 10/10 does not indicate perfect in an absolute academic sense, but as in (at least) as good as could be expected at the time, minor flaws allowed. For portable devices typically limited by the size and weight. Value for money also counts. An electronic device that got a high score in 2005, most likely would seem like pure trash ten years later….
2026-05-11. After using Discus for many years, and using an ad-blocker, I only recently noticed all its ads, so now switching to WpDiscuz.
- BlackBerry Priv AT&T Autoloaders, including old for debloating!Continue reading...</p> <p> </p> <p>
If you want to reapply firmware to an AT&T priv that has been debloated, AND keep it debloated, you need a little trickery…
- More on Windows and scalingContinue reading...</p> <p> </p> <p>
About a year ago I made a post on windows scaling
So I tried to see if they have fixed stuff the past year – and NO it is actually worse now…
- C# Set volume exampleContinue reading...</p> <p> </p> <p>
It took me quite some digging to find a clean way to set the standard default volume without external libs. So here the result.
If you do not want the console output, remove the writeline, and change the project from Console to Windows App.
I suggest using it as a Scheduled Task triggered by connect to user session and/or similar.
It is composed of a couple of bits and pieces combined/reduced primarily from these three.
https://stackoverflow.com/questions/31928429
https://stackoverflow.com/questions/36625576
https://social.msdn.microsoft.com/Forums/expression/en-US/90c6405d-44f6-48ce-82aa-c48a9b09dfb4
using System; using System.Runtime.InteropServices; namespace SetAudioLevel { class Program { [ComImport] [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] private interface IMMDeviceEnumerator { void _VtblGap1_1(); int GetDefaultAudioEndpoint(int dataFlow, int role, out IMMDevice ppDevice); } private static class MMDeviceEnumeratorFactory { public static IMMDeviceEnumerator CreateInstance() { return (IMMDeviceEnumerator)Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("BCDE0395-E52F-467C-8E3D-C4579291692E"))); // a MMDeviceEnumerator } } [Guid("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] private interface IMMDevice { int Activate([MarshalAs(UnmanagedType.LPStruct)] Guid iid, int dwClsCtx, IntPtr pActivationParams, [MarshalAs(UnmanagedType.IUnknown)] out object ppInterface); } [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IAudioEndpointVolume { //virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterControlChangeNotify(/* [in] */__in IAudioEndpointVolumeCallback *pNotify) = 0; int RegisterControlChangeNotify(IntPtr pNotify); //virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterControlChangeNotify(/* [in] */ __in IAudioEndpointVolumeCallback *pNotify) = 0; int UnregisterControlChangeNotify(IntPtr pNotify); //virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelCount(/* [out] */ __out UINT *pnChannelCount) = 0; int GetChannelCount(ref uint pnChannelCount); //virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevel( /* [in] */ __in float fLevelDB,/* [unique][in] */ LPCGUID pguidEventContext) = 0; int SetMasterVolumeLevel(float fLevelDB, Guid pguidEventContext); //virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevelScalar( /* [in] */ __in float fLevel,/* [unique][in] */ LPCGUID pguidEventContext) = 0; int SetMasterVolumeLevelScalar(float fLevel, Guid pguidEventContext); //virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevel(/* [out] */ __out float *pfLevelDB) = 0; int GetMasterVolumeLevel(ref float pfLevelDB); //virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevelScalar( /* [out] */ __out float *pfLevel) = 0; int GetMasterVolumeLevelScalar(ref float pfLevel); } static void Main(string[] args) { int Level = 20; if (args.Length == 1) { int.TryParse(args[0], out Level); } try { IMMDeviceEnumerator deviceEnumerator = MMDeviceEnumeratorFactory.CreateInstance(); IMMDevice speakers; const int eRender = 0; const int eMultimedia = 1; deviceEnumerator.GetDefaultAudioEndpoint(eRender, eMultimedia, out speakers); object aepv_obj; speakers.Activate(typeof(IAudioEndpointVolume).GUID, 0, IntPtr.Zero, out aepv_obj); IAudioEndpointVolume aepv = (IAudioEndpointVolume)aepv_obj; Guid ZeroGuid = new Guid(); int res = aepv.SetMasterVolumeLevelScalar(Level / 100f, ZeroGuid); Console.WriteLine($"Audio set for {Level}%"); //Console.Beep(); } catch (Exception ex) { Console.WriteLine($"**Could not set audio level** {ex.Message}"); } } } }.
- BlackBerry Priv, 5¼days stamina, no tricks. Display on 50m/dayContinue reading...</p> <p> </p> <p>
The BB Priv has a pretty nice stamina, if it is not too infested with bloat (mine is debloated).
Though some complains that a 3410 mAh battery is too small for a phablet with a 5.4″ QFHD display, it is enough for me.
5¼ days on 96% battery
This is with no trickery of radios off or similar. 4G, WiFi, NFC all turned on. GPS off though. ADD: BT off too.
- Phillips BDM4350UC. Mini review. An even greater monitor…Continue reading...</p> <p> </p> <p>
This 42.51″ IPS has substantially better viewing angles used close than its 40″ VA predecessor, but poorer blacks, otherwise much the same.
Blog in English (well sort of, bare with me, non-native…), a few earlier than 2010 are just blunt copies of the source texts in Danish – Google translate helps here….
Collecting of old stuff started May 2015. Entries are generally attempted dated with original stamps, even if they are somewhat updated since, several reviews have been ongoing ‘projects’.














atleast show the courtesy to explain . . why you blocked me in the first place. .
Aloha! You got your own website?
Aloha! 🙂
Yeah,. I finally pulled my self together, and gathered some of the old stuff I’ve posted, starting a couple of weeks ago.
The camera reviews were originally posted on a once great Norwegian site (akam.no) that is now dwindling and dying as a tiny unattended corner of a larger tech site, So I thought I’d better save the stuff before it was too late and they closed it completely. *G*
Unfortunately I never did reviews on my first four digital cameras (Pentax Optio S , S4, S5i and the legendary FujiFilm F30 that was the lo light king among compacts for years) – but who would care in 2015 anyway *LOL*
Wow good move…Will we see any content about mobile & other tech?
Could be. I haven’t planned any, but you never know.
Maybe I will add some small ones also, where I link to others reviews also. My monitor is certainly worth a bit of ‘advertising’.
ADD: http://eskerahn.dk/wordpress/?p=571