All posts by admin

Salesforce Platform: Lessons Learned

Lesson Learned 1: UI Modification

Problem:

You need to build a UI that is not supported by Salesforce’s built-in features.

Context:

The beauty of Salesforce is that it provides most of the features we need for inputting data, saving data, and generating reports. Therefore, we can develop complex applications with very reasonable effort (a few days). The disadvantage is that we must follow Salesforce’s UI, business, and data conventions for customization.

If we need to develop specific UIs that are not supported by Salesforce customization (for example, changing the position of the ‘Save’ button), then we must use the LWC framework. Development with the LWC framework requires significantly more effort (weeks or months) compared to using Salesforce’s built-in features.

Solution:

Carefully evaluate the costs and benefits before implementing something that is not supported by Salesforce’s built-in features.

Lesson Learned 2: Estimating Development Effort.

Problem:

You may incorrectly estimate the effort required to build a solution on the Salesforce platform.

Context:

Development on the Salesforce platform may not require much effort, but discovering the requirements through trial and error (e.g., business workflows, Conga templates, UI tweaking) and devising an appropriate solution (e.g., necessary apps, objects/fields, formulas, UIs, reports, Conga code, guides, data schema) can require substantial effort.

Solution:

Requirements and solution discovery are often the most challenging tasks, so you should allocate sufficient risk reserve for them in the development effort.

 

 

      Topic 27 – Introduction to Blockchain

      Why do I need to learn about blockchain?

      Blockchain offers interesting and unique solution for applications that need distributed consensus.

      Nowadays, a key skill of a software developer is the ability to use blockchain-based platforms and tools to solve real-world problems related to distributed agreements.

      What can I do after finishing learning about blockchain?

      You will be to create decentralized applications (dApps) using platforms like Ethereum or Hyperledger, and smart contract programming language like Solidity.

      That sounds fun! What should I do now?

      First, please read this book, Bruce Schneier (1996). Applied Cryptography – Protocols, Algorithms and Source Code in C. Wiley, to learn about the core protocols and algorithms in cryptography.

      After that, please read this book, Arvind Narayanan et al. (2016). Bitcoin and Cryptocurrency Technologies – A Comprehensive Introduction. Princeton University Press, to learn about the core concepts of blockchain.

      After that, please read this book, Andreas M. Antonopoulos and David A. Harding (2023). Mastering Bitcoin – Programming the Open Blockchain. O’Reilly Media, and this book, Kalle Rosenbaum (2019). Grokking Bitcoin. Manning Publications, to learn about programming with Bitcoin.

      After that, please read this book, Andreas M. Antonopoulos and Gavin Wood (2018). Mastering Ethereum. O’Reilly Media, to learn about programming with Ethereum.

      After that, please read this book, Matt Zand et al. (2021). Hands-On Smart Contract Development with Hyperledger Fabric V2. O’Reilly Media, to learn about programming blockchain using Hyperledger Fabric.

      Terminology Review:

      • Public Keys.
      • Private Keys.
      • Digital Signatures.
      • Digital Signature Scheme.
      • Cryptographic Hash Functions.
      • Merkle Tree: Binary Data Tree with Hashes.
      • Bitcoin: Digital money ecosystem.
      • bitcoin: Unit of currency.
      • Bitcoin Users.
      • Bitcoin Wallets.
      • Bitcoin Addresses.
      • Bitcoin Transactions.
      • Blockchain Explorer.
      • Bitcoin Mining, Miners.
      • The Chain of Transactions.
      • Bitcoin Core: The reference implementation of the bitcoin system.
      • Bitcoin Exchanges.
      • Bitcoin Network.
      • Double‐Spending Attacks.
      • Block Chain: Timestamped Append-Only Log.
      • Sybil Attack: Copies of nodes that a malicious adversary can create to look like there are a lot of different participants.
      • Proof of Work: Find a number, or nonce, such that H(nonce || prev_hash || tx || tx || … || tx) < target.
        51‐Percent Attack.
      • Account-Based Ledger: The ledger keeps track of account balances.
      • Unspent Transaction Output: A transaction output that can be used as input in a new transaction.
      • Transaction-Based Ledger: The ledger keeps track of individual transaction outputs.
      • Coinbase Transactions.
      • Bitcoin Scripting Language.
      • Turing Incompleteness.
      • Stateless Verification.
      • Candidate Block.
      • Genesis Block.
      • Ethereum: The world computer.
      • Ether.
      • Externally Owned Accounts (EOAs).
      • Contract Accounts.
      • Solidity.
      • Smart Contracts.
      • Ethereum Clients.
      • Ethereum Networks.
      • Permissionless Blockchain.
      • Permissioned Blockchain.

      After finishing learning this topic please click Topic 28 – Introduction to AI Agent Development to continue.

       

       

      How to Prevent Driver Updates on Windows 10

      Motivation:

      • Your computer may become unstable with new drivers.
      • For instance, installing a new graphics driver could cause the screen to go black.

      Solution:

      Combine the three methods below for maximum effectiveness.

      Method 1: Disable Automatic Driver Updates via System Settings

        • Open Control PanelSystem and SecuritySystem.
        • Click Advanced system settings (left pane).
        • Under the Hardware tab, click Device Installation Settings.
        • Select “No (your device might not work as expected)”.
        • Click Save Changes.

        Method 2: Use Group Policy Editor (Only on Pro, Enterprise, Education)

        • Press Win + R, type gpedit.msc, press Enter.
        • Navigate to:
          Computer ConfigurationAdministrative TemplatesWindows ComponentsWindows Update.
        • Double-click Do not include drivers with Windows Updates.
        • Set it to Enabled, then click OK.

        Method 3: Use Device Installation Restriction in Group Policy

        • In gpedit.msc, go to:
          Computer ConfigurationAdministrative TemplatesSystemDevice InstallationDevice Installation Restrictions
        • Enable “Prevent installation of devices that match any of these device IDs”
        • Get the device’s hardware ID:
        • Open Device Manager → right-click the device → Properties → Details tab → select Hardware Ids
        • Add the hardware ID(s) to the policy.

         

        How to Convert Windows Server 2022 from Evaluation to Full Edition

        Motivation:

        • You installed Windows Server 2022 Evalution and now want to upgrade to the full edition.
        • However, when you tried changing the product key through the Activation settings, you encountered an error.

        Solution:

        1. Open Command Prompt (Admin).
        2. Execute the command below.
          Dism /online /Set-Edition:ServerStandard /ProductKey:XXXX-XXXX-XXXXX-XXXXX-XXXXX /AcceptEula
        3. Restart your computer.
        4. Open Command Prompt (Admin) again.
        5. Execute the commands below.
          slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
          slmgr /ato

         

        How to Install Only Outlook from Microsoft 365 Suite

        Problem:

        • You already have Office 2007 with license key. However Office 365 email service does not work with Outlook 2007.
        • You have to use Outlook 365 to connect to Office 365 email service.
        • However you still want to use Word, Excel and Power Point 2007 because you do not have to log in Office 365 account for activation and you want to avoid accidential uploading files to your Office 365 account.
        • You also still want to use Word, Excel and Power Point 2007 because of their speed and the ability to paste an image to center of a slide.
        • In summary, you wish to install Outlook 365 only.

        Solution:

        1. Download Office Deployment Tool.
        2. Extract the exe file to C:\Users\admin\Downloads\O365. (Replace admin with your Windows username.)
        3. Copy configuration-Office365-x64.xml to outlook.xml.
        4. Modify the content of the outlook.xml file as below.
          <Configuration>
          
            <Add SourcePath="C:\Users\admin\Downloads\O365" OfficeClientEdition="32" Channel="Current">
              <Product ID="O365ProPlusRetail">
                <Language ID="en-us" />
                <ExcludeApp ID="Access" />
                <ExcludeApp ID="Bing" />
                <ExcludeApp ID="Excel" />
                <ExcludeApp ID="Groove" />
                <ExcludeApp ID="Lync" />
                <ExcludeApp ID="OneDrive" />
                <ExcludeApp ID="OneNote" />
                <!--  <ExcludeApp ID="Outlook" /> -->
                <ExcludeApp ID="PowerPoint" />
                <ExcludeApp ID="Publisher" />
                <ExcludeApp ID="Teams" />
                <ExcludeApp ID="Word" />
              </Product>
            </Add>
          
            <!--  <Updates Enabled="TRUE" Channel="Current" /> -->
          
            <!--  <Display Level="None" AcceptEULA="TRUE" />  -->
          
            <!--  <Property Name="AUTOACTIVATE" Value="1" />  -->
          
          </Configuration>
        5. Open Command Prompt (Admin).
        6. Execute the commands below.
          cd C:\Users\admin\Downloads\O365
          setup.exe /download outlook.xml
          setup.exe /configure outlook.xml
        7. If you have any issues with the steps then recheck Microsoft guide.
        8. You may also use online Office Customization Tool to to create a configuration file and download it for using with the Office Deployment Tool.

        Increasing Classic Outlook font size:

        1. On the File tab, choose Options > Mail.
        2. Under Compose messages, choose Stationery and Fonts.
        3. On the Personal Stationery tab, under New mail messages or Replying or forwarding messages, choose Font.
        4. Refer to Microsoft guide for more information.

        Creating Classic Outlook signatures:

        1. On the File tab, choose Options > Mail.
        2. Under Compose messages, choose Signature.

         

        How to Sync Content between your MacBook and iPhone over Wi-Fi

        Motivation:

        You want to sync content between your MacBook and iPhone over Wi-Fi.

          Solution:
          1. Connect your iPhone to your MacBook using a USB or USB-C cable.
          2. In the Finder on your MacBook, select iPhone in the Finder sidebar.
          3. Click General tab in the button bar.
          4. Select the Show this iPhone when on Wi-Fi checkbox.
          5. Click Sync button.
          6. Unplug your iPhone from your MacBook.
          7. Restart both devices.
          8. From now on, when your iPhone and MacBook connect to the same Wi-Fi you will see your iPhone device in the Finder sidebar, and you can sync content between them without having to use a cable.
          9. Sometimes if your MacBook cannot find your iPhone then just restart your MacBook and it will find your iPhone device again.

           

           

          How to Transfer Data from iPhone to iPhone without using iCloud

          Motivation:

          You want to transfer all your data from your old iPhone to your new one without using iCloud.

          Prerequisites:
          1. Your iPhones must run iOS 16.2 or later (i.e. iPhone 5S or later)
          2. Your iPhones must have Bluetooth enabled.
            Solution:
            1. Plug your old and new iPhone in.
            2. Place them next to one another.
            3. Turn on your old iPhone, connect to the Internet, enable Bluetooth.
            4. Turn on your new iPhone.
            5. On your new iPhone, choose your language, then select your country or region, then tap on Continue on Apperance screen.
            6. On your old iPhone, you should see a pop-up screen asking if you want to ‘Use your Apple ID [[email protected]] to set up your new iPhone’. Tap Continue.
            7. Pick up your old iPhone and position the camera view so it overlaps with the circular blue pattern that appears on your new iPhone. Aternatively you can select manual authentication and enter code generated on your old iPhone to your new iPhone.
            8. On your new iPhone, follow the instructions on the screen to transfer data from your old iPhone to your new iPhone.
            9. The transfer process is complete when you see Transfer Complete message on your old iPhone.
            10. It will then take some time to download apps to your new iPhone.
            11. On your old iPhone, open Microsoft Authenticator app if you are using it. Open Settings. Then enter your personal Microsoft account to act as your Recovery account. Then enable iCloud Backup.
            12. On your new iPhone, delete Microsoft Authenticator app. Then reinstall it. Open MS Authenticator app. Select Restore from backup option. Log in your personal Microsoft account. For some accounts, you may need to manually tap Action required  and follow the instructions to complete the transfer.
            13. On your old iPhone, open Google Authenticator app if you are using it. Tap three bars on the top left. Then tap Transfer accounts. Then tap Export accounts. Tap Next.
            14. On your new iPhone, open Google Authenticator app. Tap three bars on the top left. Then tap Transfer accounts. Then tap Import accounts. Tap Scan QR code. Hold your phone on the QR code on your old iPhone for a minute.

             

             

             

             

            How to Use MSBuild

            1. Fixing “Microsoft.WebApplication.targets was not found” issue.
              • Download vs_BuildTools.exe.
              • Open Command Prompt.
              • Execute the command below.
                vs_BuildTools.exe --add Microsoft.VisualStudio.
                Workload.WebBuildTools --passive
              • Open .csproj or .vbproj file using Notepad.
              • Find Project element and set
                <Project DefaultTargets="Build" ToolsVersion="17.0">
              • Find VisualStudioVersion element and set
                <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">17.0</VisualStudioVersion>
              • Find Import Project=”$(MSBuildExtensionsPath32) … Microsoft.WebApplication.targets text and set
                <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

                 

               

              2. Finding build errors.
              • Execute the command below.
                "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe" /property:Configuration=Release "YourSolution.sln" -restore -p:RestorePackagesConfig=true > Build.log

                 

              • Open Build.log file and search for “errors” text.