Saturday, January 14, 2023

How To Install Emacs On Windows 10/11 and How to use Text Browser

How to install Emacs on Windows, to get a fast, reliable text browser. 

Get a super-fast Text Browser for Windows 7,10 +:
  • Emacs is a well-known editor that comes with a little-known built-in browser. 
  • Emacs is superbly supported on all platforms, a staple on UNIX since 1976!

The Emacs Web Browser (EWW) is a very basic and fast text/image browser.
Flash and JavaScript are not supported which gets rid of ads.







Choose latest installer from version directory


Latest as of Jan 14, 2023

♠ emacs-28.2-installer.exe - download and install   


How to get EMACS Web Browser to work

  1. Search and run EMACS.  
  2. In EMACS, choose Tools -> Browse the Web -> 


     
  3.     Enter your URL or Keywords:

  4. Surf webpage in text only!!!!!

Notes:

  1. EWW, the Emacs Web Wowser, is a web browser package for Emacs. See full details here.
  2. Unzipped emacs takes is 758 Mbs, but running takes a scant ~100 Mb of RAM. Unlike Google Chrome taking now a whopping 1.2Gb of RAM now, but equivalent to 1 active chrome instance.
  3. Considered Lynx browser, but builds are never up to date.
  4. To list cookies, Choose Eww -> List cookies

My other Emacs articles of interest: 

How to remove cookies


Open page from command line

Set font size 

Thursday, January 12, 2023

Hearing Aid Advice Phishing Email with subject Confirm Receipt

For the record, this is a Hearing Aid Advice phishing email attempt that is recently going around, with subject Confirm Receipt

What to do?  Report them, goto bottom of page. 


From : Hearing Aid Advice <info_xxx@new.1006.a.com>
Subject : Confirm Receipt

                       






PHISHING LINKs;


1. 
https://s3.amazonaws.com/xxxxx/phi8hlstlfo5epri.html#qs=xxxxx

How to tell this is a Phishing email ?

  1. Check email address in full, if it's not from originating company then it's phishing.
  2. Hover over all links in email, if it's not from the  company's website then forget it.
  3. The best way is to 

How to examine Email Message Source ?

Now lets look at message source
  1. Outlook.com->Actions->View Message Source. 
  2. Gmail.com->More (down arrow to top right)->Show original.
Check for suspicious links, anything that does not originate from apple.com.


Report Phishing Email (not as Spam)

  1. Outlook.com->Junk (at Top)->Phishing Scam
  2. Gmail.com->More (down-arrow to top right)->Report Phishing 

Report Phishing

If you have received this email take it further at 

  1. https://www.google.com/safebrowsing/report_phish/


Report phishing at Microsoft and subsequently government agencies

  1. http://www.microsoft.com/security/online-privacy/phishing-faq.aspx
  2. Report Phishing Sites | CISA
  3. Home - Canada's Anti-Spam Legislation (fightspam.gc.ca)

Tuesday, November 15, 2022

CSharp Interop P/Invoke mechanism has change in .NET7 - LibraryImport replaces DLLImport

Major announcement at .NET CONF 2022 .NET7 which some of you many have missed,  replaces DLLImport() with LibraryImport(). 

Official documentation here - 
Use custom marshallers in source-generated P/Invokes | Microsoft Learn

Sampe Pseudo Code

// Import user32.dll (containing the function we need) and define
// the method corresponding to the native function.

[DllImport("user32.dll", EntryPoint = "MessageBoxW", CharSet = CharSet.Unicode, SetLastError = true)]

private static extern int MessageBoxW(IntPtr hWnd, wstring lpText, string lpCaption, uint uType);

//>>>>>>>>>>>> .NET7 New P/Invoke Method <<<<<<<<<<<<
[LibraryImport("user32.dll", EntryPoint = "MessageBoxW", SetLastError =true,
StringMarshalling = StringMarshalling.Utf16)]

internal static partial int MessageBoxW(IntPtr hWnd, string lpText, string lpCaption, uint uType);

Differences from DllImport

LibraryImportAttribute is intended to be a straightforward conversion from DllImportAttribute in most cases, but there are some intentional changes:

There are also differences in support for some settings on MarshalAsAttribute, default marshalling of certain types, and other interop-related attributes. For more details, see our documentation on compatibility differences.

.NET CONF 2022 Video Release