All posts by admin

How to Remove Automatic Block from Downloaded Files

Problem:

After you download a file, you open its Properties and find that it is automatically marked with “This file came from another computer and might be blocked to help protect this computer.” warning and you have to unblock the file manually by selecting the “Unblock” check box.

Solution:

1. Open Group Policy Editor (gpedit.msc) as Administrator.

2. Go to User Configuration > Administrative Templates > Windows Components > Attachments Manager.

3. Enable Do not preserve zone information in file attachments option.

What is zone information?

Zone information is the information about the zone of origin (such as restricted, Internet, intranet, local) of downloaded files.

By default Windows marks downloaded files with information about their zone of origin (such as restricted, Internet, intranet, local) to make risk assessments in order to warn users when they open or execute files which are marked as being from the Internet or Restricted Sites zone, unless the file’s zone information has been removed.

 

How to Pose a Software Engineering Research Question?

Motivation:

You begin to do software engineering research.
You want to have a research question.
You have several ideas but you wonder whether they are good enough for conducting a research.

Suggestions:

1. Your question should contain well-defined terms.
Are you talking about something that everyone mostly agree about its definition and core characteristics.
For example, are you talking about Microservices, Event Sourcing, Relational Database, NoSQL, Unit Tests, Go Language, Speech Recognition, Speech Synthesis?

2. Your question should have a purpose and specific audience.
Why should the audience be interested in your question?
For example, are they going to upgrade a an event sourcing system? Are they going to apply test automation in our project?
Do they have specific security issues with their system?
Have they gotten specific performance issues with their system?
Are they going to build a new identity management platform for their legacy system?
Do they need to accelerate the development of a portal for their legacy system?
Are they going to integrate voice search into their existing system?

3. Your question should have verifiable answer.
What are the possible answers to your question? How can we compare these answers.
What is your concrete answer?
How can we replicate your answer?
How can we test your answer against the existing “standards“.

 

 

 

WordPress Lessons Learned

Lessons learned 1: Maintenance creep.

Problem:

The cost of updating the core, updating plug-ins, and updating integration code for a system built with WordPress is much higher than expected.

Context:

WordPress core, its themes and plug-ins can provide a very fast solution by integrating their features. It works best for used for achieving a general solution (for example corporate websites with predefined business processes).

However their very frequent updates are painful too.

If we do not apply the updates to the system then we may have risk of potential security issues.

Therefore the maintenance of a WordPress based system usually takes more effort than systems built using other web frameworks that do not require very frequent updates.

The problem become worse when we apply the updates to the system and the integration may be broken because of incompatibility among the plug-ins owned by different software providers and WordPress.

Solution:

If you have have opportunity of building a system for a client using WordPress and its plug-ins then you should plan a considerable maintenance budget for updating WordPress, specific plug-ins and integration code.

This lesson learned applies to any system built with a plug-in based architecture (i.e. microkernel architecture) in which the core and plug-ins owned by different software providers.

Lessons learned 2: Customization creep.

Problem:

The cost of integrating a theme with various COTS plugins and integration code for building a system using WordPress is much higher than you expected.

Context:

Customizing a WordPress solution for specific business processes takes more effort than using other general web frameworks because we do not have full control of the themes and plug-ins.

Even we can modify the themes and plug-ins or build new specific plug-ins using PHP and mySQL the solution still depends on WordPress core the architecture of which is not good for domain-specific enterprise systems which often rely much on domain-specific rules that should be isolated from specific infrastructure.

Solution:

If you have have opportunity of building a domain-specific system using WordPress and its plug-ins then you should

  • refine business requirements into appropriate user stories or use cases.
  • create an architecture first and evaluate it carefully using various scenarios, and
  • create a poof of concept.

Lessons learned 3: WordPress and Salesforce integration decision.

Motivation:

You need to evaluate options for integrating WordPress with Salesforce so that development and maintenance cost is acceptable.

Solution:

IMO an enterprise solution based on Salesforce and WordPress integration may be proposed based on a client’s needs and budget.

I define a long term project as a project many big enhancements of which will be required after the solution is deployed.

I define a short term project as a project only some small enhancements of which will be required after the solution is deployed.

I define an important project as a project the requirements of which must be satisfied exactly as the Client requires.

I define a flexible project is a project the requirements of which may be implemented not exactly as the Client requires due to constraints of tools.

If the client needs Salesforce CRM (a must requirement) and they have a big budget then I would recommend that they use Salesforce for file storage and all Salesforce tools (i.e. LWC, community portals) for implementing their own business processes for a long term and important project.

If the client needs Salesforce CRM (a must requirement) and they have medium budget then I would recommend that they use BOX or DropBox or Sharepoint for file storage and all Salesforce tools (i.e. LWC, community portals) for implementing their own business processes for a long term and important project.

If the client needs Salesforce CRM (a must requirement) and they have low budget then I would recommend that they use WordPress for file storage and Commercial off-the-shelf (COTS) plug-ins for implementing their own business processes for a short term or “flexible” project.
In this case, the development effort may be reduced much but the maintenance/enhancement effort may be increased much.

If the client does NOT really need Salesforce CRM and they have medium budget then I would recommend that they use general frameworks and tools (including WordPress and custom plug-ins) for implementing their own business processes for a long term and important project.
File storage can be local server or any service.

If the client  does NOT really need Salesforce CRM and they have low budget then I would recommend that they use WordPress for file storage and WordPress COTS plug-ins for implementing their own business processes for a short term or flexible project.

 

 

 

      When to Use the Definite Article (“The”)

      Specific identity:

      • I’ll have the spinach salad and the mushroom burger.
      • I want to adopt the cat we saw yesterday.
      • I’ll get the kids ready to go outside.

      Grouping:

      • The English and the Italians played in the World Cup.
      • The elderly (older people) have different needs than the young.

      Some countries:

      • the Philippines
      • the Netherlands
      • the United Kingdom
      • the United States

      Instruments:

      • Can you play the guitar?
      • The piano is my favorite instrument.

      Superlative:

      • The first time we met, I knew you were the only one for me.
      • And I knew this would be the last time I’d fall in love.
      • The worst days of my life are behind me now.
      • I want to spend the best part of my life with you.

       

       

       

       

      How to Block Your Child from Certain Websites

      Motivation:
      You have a child and do not want him to be able to install games from Microsoft Store or play online games on certain websites or run a specific program.
      Solution:
      I. Prevent your child from installing games Microsoft Store. This method only applies to Windows 10 Enterprise and Windows 10 Education.
      1. Type gpedit in the search bar to find and start Group Policy Editor.
      2. In the console tree of the snap-in, click Computer Configuration, click Administrative Templates, click Windows Components, and then click Store.
      3. In the Setting pane, click Turn off the Store application, and then click Edit policy setting.
      4. On the Turn off the Store application setting page, click Enabled, and then click OK.
      Note: Enabling Turn off the Store application policy turns off app updates from Microsoft Store. Source: https://docs.microsoft.com/en-us/windows/configuration/stop-employees-from-using-microsoft-store II. Block all websites except some websites using one of the software below.
      1. Surfblocker.
      III. Block certain websites in your modem settings in order to prevent your child from playing online games on these websites. If you are using FTP GPON Modem then you can
      1. Click on the Access tab on the top,
      2. Click on the Filter tab on the left,
      3. Select URL Filter as Filter Type Selection,
      4. Select 1 as URL Index,
      5. Enter URL (host) (e.g. bluestacks.com or roblox.com),
      6. Select Enabled as Individual active,
      7. Click on the Save button.
      8. Repeat the procedure for other hosts with other URL Indexes (i.e. 2, 3, 4, etc.).
        IV. Block all Windows users from running certain programs.
        1. Type gpedit.msc in search box, then press Enter.
        2. Expand User Configuration > Administrative Templates, then select System.
        3. Double click the policy Don’t run specified Windows applications.
        4. Set the policy to Enabled, then select Show.
        5. Add the programs you would like to prevent the user from running to the List of disallowed applications. Use the name of the application launching file such as chrome.exe.
        6. Restart your computer.
             

        Why Can’t You Install Windows 11 on Your Laptop?

        Issue:

        You have a laptop.
        You want to install Windows 11 on the laptop.
        However you got an unexpected error saying that you should visit https://aka.ms/WindowsSysReq for detail.
        You visited the page but you are unsure what actually happened.

        Solution:
        1. The first common reason is that you do not have TPM 2.0 hardware.

          Open Settings Update & Security > Windows Security > Device Security
          – If you do not see a Security processor section on this screen your PC may have a TPM that is disabled.
          – If you do see a Security processor section on this screen then click Security processor details, and verify that your TPM Specification sub-version is 2.0.
          If it is less than 2.0, your device does not meet the Windows 11 requirements.

          Trusted Platform Module (TPM) is an international standard for a secure cryptoprocessor, a dedicated microcontroller designed to secure hardware through integrated cryptographic keys. The term can also refer to a chip conforming to the standard.

          Trusted Platform Module provides
          – A hardware random number generator,
          – Facilities for the secure generation of cryptographic keys for limited uses.

          Usually you can enable or disable TPM in the BIOS of your laptop.
          If you have TPM 1.2, you can often update it to 2.0 by following the guide of your laptop providers. For example if you have a Dell laptop then you can check the guide here.

          If you get “The TPM is Owned.” issue when updating TPM 1.2 to 2.0 then you can check a guide here. (Press F12 after your laptop is reboot.)

        2. The second common reason is that your laptop processor has not been supported by Windows 11.

          Open Settings > System > (scroll down if needed) >  About.
          Search for processor name, e.g. i7-10610U.
          You should find your processor name here if it is supported. For example the Xeon E3-1505M processor has not been supported.

        3. You can also download PC Health Check app to verify these 2 issues or identify other potential issues.

        4. If you plan to install a fresh Windows 11 from an USB then you can ignore the processor support requirement.

        5. To bypass hardware requirements during installation, follow these steps: On the initial language selection screen, press Shift + F10 (or Fn + Shift + F10) to open Command Prompt. Type regedit and press Enter. Navigate to the HKEY_LOCAL_MACHINE\SYSTEM\Setup key. Create a new key named LabConfig. Select the LabConfig key, then create three DWORD (32-bit) Values: BypassTPMCheck, BypassSecureBootCheck, and BypassRAMCheck, setting each value to 1. From the View menu, select Refresh. Close regedit and Command Prompt, then proceed with the setup.

         

         

        How to Reconfigure ASUS Modem Wi-Fi Router

        Issue:

        You have an ASUS modem Wi-Fi router.
        You already configured it in the past. Now you want to reconfigure it but you cannot access it via http://router.asus.com/.
        You already tried to restart the router several times but the problem still persists.

        Solution:
        1. Perform a hard reset of the router.
        2. Connect to the default 5G Wi-Fi network of the router.
        3. Go to http://router.asus.com/.
        4. Check and update the firmware.
        5. Reconfigure the router.

        Note: If you configure the LAN information of the router manually then remember to set up an IP address for DNS Server1 (e.g. 8.8.8.8)  and DNS Server2 (e.g. 8.8.4.4).

         

        How to Automatically Create a Subtitle for a Video

        Motivation:

        You have MP4 video file.
        You want to create a subtitle to understand the video content.

        Solution:
        1. Split MP4 file to 9-minutes files (please refer to https://huybien.com/how-to-trim-or-cut-mp4-files-without-re-encoding/ for details).
        2. Log in https://www.veed.io
        3. Click the “+” icon.
        4. Upload a 9-minutes MP4 file.
        5. Click the “Subtitles” tab.
        6. Click the “Auto Translate” button. Select the language for the subtitle.
        7. Click the “Start” button. Wait for the process to be complete.
        8. Click the “Export” button.
        9. Ensure that the “Burn Subtitle” option is selected.
        10. Click the “Export Video” button. Wait for the process on the left to be complete.
        11. Click the “Download MP4” link.

         

        How to Automate Cleaning Up a .NET Solution

        Motivation:

        You have a .NET solution with many projects.
        You need to deliver the solution to a client very frequently.
        You need to clean up all intermediate folders and files to reduce the package size and make the result look tidy.
        You want to automate this process to reduce cleaning up time.

        Solution:

        1. In Visual Studio, review Project Build Order… and a last project in the list.
        2. Right click the project and select Properties.
        3. Click on Build Events.
        4. Enter the following commands to the Post-build event command line text box:
          rd /s /q $(ProjectDir)obj
          cd $(TargetDir)
          del *.config
          del *.pdb
          del *.xml

          rd /s /q $(ProjectDir)obj: Remove the obj folder in the project directory.
          cd $(TargetDir): Move to the output directory.
          del *.config: Delete all the config files in the output directory.
          del *.pdb: Delete all the pdb files in the output directory.
          del *.xml: Delete all the xml files in the output directory.

          You can modify these commands or add new commands for your specific purpose.

        5. Save the project.
        6. Repeat the process for some other projects in the solution if necessary. Typically you only need to clean up intermediate folders and files for the some projects in the bottom of the build order list. You may use the Dependencies tab to change the build order for some projects.

        Cleaning a folder manually:

        In order to delete all the obj folders recursively you can

          1. Create DeleteObjFolders.bat file inside the same folder that contains your solution file (i.e. *.sln)
          2. Paste content below to the DeleteObjFolders.bat file:
          @echo off
          @echo Deleting all OBJ folders...
          for /d /r . %%d in (obj) do @if exist "%%d" rd /s/q "%%d"
          @echo OBJ folders successfully deleted :) Press any key to close the window.
          pause > nul

          3. Execute the DeleteObjFolders.bat file.

         

        How to Allow a Remote Desktop User to Access CD/DVD

        Problem:

        You log in a computer remotely as an administrator.
        However you cannot read or write any removable storage devices such as CD/DVD or USB flash memory drives.

        Solution:
        1. Type gpedit.msc in the Search box, press Enter.
        2. Go to Local Computer Policy > Computer Configuration > Administrative Templates > System > Removable Storage Access.
        3. Double-click All Removable Storage: Allow direct access in remote sessions.
        4. Click Enabled.
        5. Click OK.