Skip to main content

Posts

Showing posts from 2022

How to use gdb in Ubuntu Terminal

Here's a practical, minimal guide for using GDB in Ubuntu terminal — from launching to setting breakpoints and navigating your code. 🧰 Step 1: Compile with Debug Symbols Use -g and disable optimizations ( -O0 preferred for debugging): bash Copy Edit g++ -g -O0 -o myprog myprog.cpp 🚀 Step 2: Launch GDB bash Copy Edit gdb ./myprog You'll see a (gdb) prompt. 🎯 Step 3: Set Breakpoints You can set breakpoints in three main ways : ✅ a. At a function gdb Copy Edit (gdb) break main ✅ b. At a specific file and line gdb Copy Edit (gdb) break myprog.cpp:42 ✅ c. At a method in a class gdb Copy Edit (gdb) break MyClass::doSomething If the symbol is mangled (C++), GDB usually demangles automatically, especially if compiled with -g . ▶️ Step 4: Run the Program gdb Copy Edit (gdb) run 🧭 Step 5: Navigate Command Meaning next or n Step over current line step or s Step into function call finish Run until current function returns continue or c Continue until...

Notes: Install hplip in Ubuntu 22.04 along with plugin

 Commands are as follows: sudo apt update && sudo apt upgrade -y; sudo apt install software-properties-common apt-transport-https -y; sudo add-apt-repository ppa:kelebek333/hplip -y; sudo apt-get update; sudo apt-get install hplip hplip-gui -y; === Next you need to install respective plugins Check the version of hplip using command: dpkg -l hplip Then, download corresponding plugin file & .asc file that matches with version from link https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/ Then in terminal, type: hp-plugin Then follow the GUI screen to install plugin.

Notes: Ubuntu-Libreoffice: Uninstall default Libreoffice provided with Ubuntu & install of your own

 Default Libreoffice that come with ubuntu don't have full version, like it don't have Libreoffice base. So one may need to uninstall default version & install full version of their own. Terminal command to uninstall Libreoffice completely is as follows: sudo apt-get update;sudo apt update sudo apt-get -y remove --purge libreoffice* libexttextcat-data* && sudo apt-get -y autoremove -- Terminal command to install Libreoffice full version after that is as follows sudo add-apt-repository ppa:libreoffice sudo apt install libreoffice -- Verify installed version libreoffice --version

Notes: Inverter purchasing calculations for home

 Take a list of items that will run in inverter like 2fans, 1 LED tubelight, 1 laptop, 2 LED TV, etc Now calcullate sum of their power e.g 2*60+1*20+100+2*100 WH=440 WH Now add 25% to above power sum e.g 440*125%=550WH Then multiply it by power factor (most case it's 1/0.8) e.g 550/.08=687.5 WH For every inverter has its own effeiency say 90%,80%, etc Therefore, inverter power that has to be purchased = 687.5/90%=763.888 VA Above is how to calculate inverter power that has to be purchased. ---- Now comes how to choose battery power Batter power (VA) =  Home Load * Backup (hrs)/Battery Vold = 687.5WH*2hr/12amp = 114.58 --- This is how you do calculations for purchasing invertor ========================= Bibliography

Ubuntu Notes: Solve E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem when trying to update ubuntu

This the problem you face when you try to upgrade or update ubuntu using command line, you get this message. Again when you run 'sudo dpkg --configure -a'  command you get error message like  dpkg: error: parsing file '/var/lib/dpkg/updates/0019' near line 0:  newline in field name '#padding' --- To solve this run command as follows cd /var/lib/dpkg/updates && sudo rm -rf <refNo>; sudo dpkg --configure -a; Like in above question case run command as follows cd /var/lib/dpkg/updates && sudo rm -rf 0019; sudo dpkg --configure -a; == Thats all & problem will be solved

21 Amazing Hacks That Make Healthy Lifestyle Easier

21 Amazing Hacks to Make Healthy Lifestyle Easier Sitting in AC & Feeling Dehydrated: AC sucks moisture from atmosphere & then from our bodies. To prevent this place potfull of water in the room & then turn the AC on. Don't peel of skin of potato, sweet potato, pumpkin, cucumber before cooking them: Their peel is super rich in vitamins & minerals. Then what to to for pesticine? For this you can wash them in baking soda solution for 10-15 minutes. This will save your time & effort; also give you extra nutrition. Not sure if vender have served you fresh sugarcane juice? Sugarcane Juice Property Fres...

Notes - PostgreSql pgAdmin4: How to solve error when trying to login

To solve this issue Clear browser cookie, refresh page. This is how I solved this issue in my case

Notes: Java module to create Zipped Folder from list of Files

private static void convertFilesToZip(ArrayList filePaths, String zipFilePath) throws Exception { try ( ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFilePath));) { for (String filePath : filePaths) { File fileToZip = new File(filePath); ZipEntry e = new ZipEntry(new File(filePath).getName()); out.putNextEntry(e); Files.copy(fileToZip.toPath(), out); } } }

Notes: Java module to convert list of images to PDF document using Apache PDFBox

 private static void convertImagesToPdf(ArrayList<String> imagesFilePath, String pdfFilePath) throws Exception {         try ( PDDocument doc = new PDDocument();) {             for (String imageFilePath : imagesFilePath) {                 PDImageXObject image = PDImageXObject.createFromFile(imageFilePath, doc);                 PDRectangle pageSize = PDRectangle.A4;                 int originalWidth = image.getWidth();                 int originalHeight = image.getHeight();                 float pageWidth = pageSize.getWidth();                 float pageHeight = pageSize.getHeight();                 float ratio = Math.min(pageWidth / originalWidth, page...

Notes: Java module to merge PDF Documents (with or without password)

import java.io.File; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDate; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.util.ArrayList; import java.util.Collections; import java.util.NavigableMap; import java.util.TreeMap; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.io.MemoryUsageSetting; import org.apache.pdfbox.multipdf.PDFMergerUtility; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException; import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageDestination; import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageFitWidthDestination; import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline; im...

Notes: Java module to convert PDF document to Image_Files

 import java.awt.image.BufferedImage; import java.io.File; import java.util.Arrays; import javax.imageio.ImageIO; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; private static void convertPdfToImage(String pdfFilePath, String imageFolderPath) throws Exception {         File file = new File(pdfFilePath);         String fileExtension = ".jpg";         int dpi=300;         try (PDDocument doc = PDDocument.load(file)) {             PDFRenderer pdfRenderer = new PDFRenderer(doc);             for (int i = 0; i < doc.getPages().getCount(); i++) {                 BufferedImage img = pdfRenderer.renderImageWithDPI(i, dpi, ImageType.RGB);           ...

C++ code to connect Postgres Database

/* At first install libpqxx in linux*/ #include <pqxx/pqxx> using namespace std; using namespace pqxx; class GetDbConn { public:     static connection *getPostgresDbConnection(const std::string& conStr)     {         pqxx::connection *c=new connection(conStr);         return c;     } }; ---------------- /*Code to call this connection is as follows #include <pqxx/pqxx> #include "getDbConn.h" using namespace std; using namespace pqxx; class MyDb { public:     static connection * getTradingNseConnection()     {         char const *conStr="dbname = <database_name> user = <user_name> password = <db_password> hostaddr = 127.0.0.1 port = 5432";         pqxx::connection *con=GetDbConn::getPostgresDbConnection(conStr);         if ((*con).is_open())         {           ...