Posts

Showing posts with the label Tools

Links-Extractor: Extract Internal and External Links from a URL in Python

Image
Links-Extractor is a small Python utility that takes a single URL and pulls out every hyperlink on the page, separating them into internal links (pointing to the same domain) and external links (pointing elsewhere). Splitting links this way is useful for SEO audits, for finding broken or outbound links, for mapping the structure of a site, and as a starting point for a larger crawler. You give it a URL and get back two clean lists you can save or process further. The project is open source and meant to be easy to read and adapt. It is archived on Zenodo with a citable DOI. DOI: https://doi.org/10.5281/zenodo.20672987

tex2pdf: TeX Viewer Online - Compile LaTeX to PDF in Your Browser

Image
tex2pdf is a free, static web app that compiles LaTeX and shows the result as a PDF entirely inside your browser. There is no account, no install, no server, and nothing is uploaded. You drop in a .tex file and get a PDF back. It works by running busytex, a WebAssembly build of TeX Live, in a Web Worker. Your files are written into an in-memory filesystem, compiled locally, and the resulting PDF is rendered with PDF.js. Because everything runs client side, your document never leaves your machine. You can upload a single .tex file, several files together (figures, .bib, .cls), or a .zip of a whole project. It auto-detects the main file, runs BibTeX when a .bib is present, and offers two engines: XeLaTeX (the default, most reliable in the browser) and pdfLaTeX. A live timer and progress bar show loading and compilation. The site also bundles small client-side tools that load only when opened: a code beautifier and syntax highlighter, a file and PDF comparison (diff) tool, and a local...

Technical-eBooks: A Free Curated Collection of Programming eBooks

Image
Technical-eBooks A free, curated collection of programming eBooks Technical-eBooks is a free, openly shared collection of technical eBooks for learning new technologies. It is one of the most popular repositories in the Computer Tips organization, and it gathers programming and computer-science PDFs in one place so you can browse and download what you need. What it is The repository collects materials for learning new technologies, with individual books ranging from about 1 MB to 25 MB. Everything is shared under the GPL-3.0 license. How to browse and download Browse the catalog on the project page: com-puter-tips.github.io/Technical-eBooks Or open the repository directly and download any file: github.com/com-puter-tips/Technical-eBooks To grab everything at once, clone the repo (note it is large because it contains many PDFs): git clone https://github.com/com-puter-tips/Technical-eBooks.git Links Repository: github.com/com-puter-tips/Technical-eBooks Browsable index: c...

VaultBox: A Forward-Secure C++ Library for Replicated, Rateless Storage

Image
VaultBox Forward-secure, replicated, rateless storage & transmission (C++) Secure Buffer Falcon Encoding Integrity Checker Verifier Key Evolution VaultBox is a header-only C++ library for forward-secure, replicated, randomized, and rate-less storage and transmission of data. It builds on the Crypto++ library and is designed for highly adversarial channels where an attacker may eavesdrop on or delete messages. Compiling g++ -I/usr/local/include -L/usr/local/lib test.cpp lib.cpp -lcryptopp Three levels of protection At rest: the VaultBox buffer is secured with Authenticated Encryption. In transit: data is protected with Falcon (fountain/rate-less) encoding. Hardware (optional): secure chips such as TPM/TEE and secure memory such as ECC-RAM or persistent memory can add an extra layer (hardware API support is not implemented in the library itself). The secure data structure The core is a fixed-size secure buffer (DS) of size T = k x n, holding k replicas of n messages....

SEO-Analysis: Gather SEO Insights for Domains and Keywords with Python

Image
SEO-Analysis Keyword + domain insights, driven by a spreadsheet Test.xlsx → Python script → Insights in Excel SEO-Analysis is a small open-source Python script that gathers SEO insights for a set of domains and keywords. It is spreadsheet-driven, so you do not have to touch the code: you list what you want to check in an Excel file, run the script, and it writes the insights back into the spreadsheet. How to use it Open Test.xlsx . Add your keywords and domains, one pair per row. You can repeat the same domain on multiple rows with a different keyword each time. Save Test.xlsx . Run the Python script. The script fills the spreadsheet with the insights for each keyword and domain. Pair it with Links-Extractor For SEO work it pairs well with Links-Extractor , which pulls all the internal and external links from a URL. Links Source: github.com/com-puter-tips/SEO-Analysis License: GPL-3.0

MP3-Stereo-Analyzer: Check, Fix, and Compare MP3 Earbud Audio

Image
MP3-Stereo-Analyzer Make sure both earbuds play the full audio Analyze --fix --compare MP3-Stereo-Analyzer is a Python tool that checks whether your MP3 files are correctly formatted to play in both earbuds. It is published on PyPI and catches a frustrating, common problem: a track where one earbud plays only the music and the other only the vocals, or where the channels are phase-inverted and cancel out. Installation pip install mp3-stereo-analyzer It needs FFmpeg for audio decoding: brew install ffmpeg # macOS Usage # Analyze a single file mp3-stereo-analyzer your_file.mp3 # Analyze every MP3 in a folder mp3-stereo-analyzer *.mp3 # Detect AND fix files that play different audio in each ear mp3-stereo-analyzer --fix your_file.mp3 # Compare versions and pick the best one mp3-stereo-analyzer --compare old.mp3 new.mp3 What it checks The analyzer reports the format (channels, sample rate, bit depth, bitrate) and runs five tests: Channel count: the file actually con...

Perf_Plotter: Benchmark and Visualize Application Performance with C# and R

Image
Perf_Plotter Log with C#, plot with R Shiny Your App → C# logger → CSV → R Shiny → Plots Perf_Plotter is an open-source tool for benchmarking and visualizing the runtime performance of your application. It has two parts that work together: a logging component written in C# and a plotting utility written in R. How it works The workflow is simple: a Windows Forms application (C#) launches your program and records its performance metrics into a CSV file. You then upload that CSV into an R Shiny web app, which reads the data and plots it so you can see how your application behaved over the run. What is in the project The repository (and the Perf_Plotter.zip bundle) contains two folders and one file: perfloggengui - the C# solution that generates the logs from your application. Uploads - sample log files so you can try the plotter immediately. app.R - the Shiny app you run in R to read a CSV and plot it. Using it Open the perfloggengui C# solution,...

Cybersecurity: Theory, Practice, and Ethics - A Free Open Textbook

Image
Cybersecurity: Theory, Practice & Ethics A free, open, executable textbook — 20 chapters Ethical Hacking Network Defense Forensics Malware Analysis Cryptography ICS Security Cybersecurity: Theory, Practice, and Ethics is a free, open, executable textbook for university-level cybersecurity education. It is published as a Jupyter Book, so the examples are runnable cells rather than printed code, and it is openly archived with a citable DOI on Zenodo. You can read it online at book.com.puter.tips . What is inside The book spans 20 chapters covering the foundations of cybersecurity, ethical hacking, network defense, digital forensics, incident response, malware analysis, privacy law, governance, and industrial control system (ICS) security. Each chapter includes learning objectives, worked code examples, 10 review questions, and a lab assignment. Courses it supports Introduction to IT Security Ethical Hacking Computer and Network Security Fundamentals of Cryptography ...

chiku: Efficient Polynomial Function Approximation in Python

Image
chiku Polynomial function approximation in Python — one API, seven methods Taylor Fourier Pade Chebyshev Remez ANN LR chiku is an open-source Python library for efficient polynomial function approximation. It takes an arbitrary continuous function and returns the coefficients of a polynomial that approximates it, using a unified API across seven different methods. It is available on PyPI and is particularly useful for evaluating non-linear functions (such as sigmoid or tanh) under Fully Homomorphic Encryption, where only additions and multiplications are available and functions must be replaced by polynomials. Installation pip install chiku To enable the optional TensorFlow-based ANN approximator (TensorFlow currently needs Python 3.11): pip install chiku[ann] What it does Complex non-linear functions can be approximated by polynomials so they can be computed in restricted settings such as encrypted (FHE) domains. Deterministic methods like Taylor, Pade, Chebyshev, Remez, and...

Build, Test, and Publish a Python Package to PyPI

Image
Before you push a release to the Python Package Index, it pays to build and test it locally so you catch problems before your users do. This guide walks through the full workflow: setting up an isolated environment, installing your package in editable mode, running the test suite, building the distribution, validating the metadata, uploading with Twine, and tagging the release in Git. (If you are starting from scratch and need to structure the package itself first, see How To Create A Python Package .) Build, Test & Publish a PyPI Package venv create + activate → Install deps + pip -e . → Test pytest -v → Build python -m build → Check twine check → Upload twine upload → Tag git tag + push Test locally and validate metadata before you ever upload to PyPI. 1. Set up an isolated environment Install the Python version you need. If your package depends on TensorFlow, use Python 3.11, since the newest releases are not always supported right away. O...

Where to Publish Your Research for Free: One Platform per Content Type

Image
When you want to share your research with the world for free, the trick is matching each type of output to the platform built for it. Posting a dataset to a preprint server, or a manuscript to a code host, only makes your work harder to find and cite. Here is a simple map: one well-established, free, public platform for each kind of academic content. Free Platforms for Public Academic Content One go-to tool for each type of research output arXiv Preprints — un-reviewed manuscripts Zenodo Datasets — raw research data ResearchGate Academic papers — author PDFs PubPub Open journals — academic HTML & rich text Figshare Supplementary media — figures & charts GitHub Research software — code & scripts OSF Study protocols — pre-registrations Protocols.io Lab methodologies — step-by-step recipes Wikiversity Open courseware — lecture notes & slides DSpace Institutional output — theses & dissertations Eve...

Running Metabase from the JAR File

Image
Terminal — start Metabase $ java -jar metabase.jar INFO metabase.core Starting Metabase ... INFO metabase.core Metabase Initialization COMPLETE Serving on http://localhost:3000 Metabase is an open-source business intelligence tool, and the quickest way to run it on your own machine is the self-contained JAR. No installer, no Docker, just Java and a single file. This tutorial covers downloading the JAR, running it, and the common issues you may hit on the first launch. Step 1: Install Java The Metabase JAR needs a Java runtime. A current build requires Java 21 or higher (older Metabase versions ran on Java 8 or 11). It works with both OpenJDK and Oracle JDK. Check what you have: java -version If Java is missing or too old, install a JDK. On macOS with Homebrew: brew install openjdk@21 On Debian or Ubuntu, sudo apt install openjdk-21-jre works. Always confirm the required version on the official download page, since it changes between Metabase releases. Step 2: Download the JAR...

Remove Active Content (Links) from a LaTeX PDF Using Ghostscript

Image
Terminal — flatten a LaTeX PDF $ gs -dNOPAUSE -sDEVICE=pdfwrite \\ -sOUTPUTFILE=NEW_FILE.pdf -dBATCH in.pdf Processing pages 1 through 3. Page 1 ... Page 2 ... Page 3 NEW_FILE.pdf active links removed A PDF produced from LaTeX often carries "active" content: clickable hyperlinks, internal cross-reference links, bookmarks, and sometimes form fields or embedded JavaScript. When you need a flat, static PDF for printing, archiving, or submitting to a system that rejects interactive elements, the simplest reliable tool is Ghostscript. This tutorial shows how to strip that active content by re-distilling the file through Ghostscript's pdfwrite device. Step 1: Install Ghostscript On macOS, install it with Homebrew: brew install ghostscript On Debian or Ubuntu use sudo apt install ghostscript ; on most Linux distributions Ghostscript is packaged as ghostscript and provides the gs command. Step 2: Re-distill the PDF Run the source PDF back through Ghostscript...

[How To] Retrieve API keys in OpenClaw

Image
Agent and CLI tools often save the API credentials you sign in with to a hidden folder in your home directory. If you have been using the openclaw tool and need to find the Anthropic API key or Bearer token it stored, for example to reuse it elsewhere or to rotate it, you can locate it in a few seconds with grep . This short tutorial shows how. Note: "spi keys" in the URL is a typo for "api keys". Step 1: Go to the config directory openclaw keeps its per-agent configuration under a hidden .openclaw folder in your home directory: cd ~/.openclaw/ Step 2: List what is there List the contents, including hidden files, so you can see the agent folders: ls -loa Each agent typically has its own subfolder under agents/ , and the credentials live in an auth-profiles.json file inside it. Step 3: Search for the keys Rather than opening each file by hand, recursively grep the whole directory for the two token formats. Anthropic keys begin with sk-ant- , and OAuth-st...

[How To] Take ICAO 630*810 Photo

Image
ICAO Passport Photo: 630 x 810 px 630 px 810 px Specification ✓ Format: JPG ✓ Dimensions: 630 x 810 pixels (7:9) ✓ File size: about 10 KB to 250 KB ✓ Background: plain, light, no shadow ✓ Face: centred, neutral, eyes open ✓ No glasses glare; remove if unsure iPhone → convert HEIC to JPG → crop in Paint → compress Several Indian government photo uploads, including Passport Seva and OCI services, expect a digital photograph that is exactly 630 x 810 pixels, follows ICAO face-geometry rules, and stays under a strict file-size limit. You do not need a studio or paid software for this. With a recent iPhone, a plain wall, and the built in Paint app on Windows, you can produce a compliant photo in a few minutes. This tutorial walks through the full process. What the photo has to satisfy Before editing, it helps to know the target. An ICAO-style passport photo for these portals generally needs to be 630 pixels wid...

[How To] Unfollow Non-followers on Instagram

Image
This tutorial walks you through the fastest and safest way to find and unfollow Instagram users who don't follow you back without logging in to third-party services, downloading browser extensions, or installing apps or software.  Following the 15 steps mentioned in this article, you will end up with the accounts you follow but who don't follow you back. You need to go to each profile manually to unfollow them. Step 1 - Go to  https://www.instagram.com/ and log in with your credentials. Step 2 - Go to " Profile " (button with your display picture) >> " Settings and privacy " (button with the gear icon) >> " See more in Accounts Center ."

[How To] Install CRC RevEng on macOS

Image
CRC RevEng CRC RevEng is a portable, arbitrary-precision CRC calculator and algorithm finder. It calculates CRCs using any 111 preset algorithms or a user-specified algorithm to any width. It calculates reversed CRCs to give the bit pattern that produces a desired forward CRC. CRC RevEng also reverse-engineers any CRC algorithm from good, correctly formatted message-CRC pairs and optional known parameters. It comprises powerful input interpretation options. Installation instructions for macOS: 1. Download reveng from SourceForge:  https://sourceforge.net/projects/reveng/files/ 2. Unzip the downloaded reveng zip file 3. % cd Downloads/reveng-3.0.3 4. % make gcc -O3 -Wall -ansi -fomit-frame-pointer -DPRESETS -DBMPTST -o bmptst bmpbit.c ( ./bmptst && touch bmptst ) || ( rm bmptst bmptst.exe && false ) reveng: configuration fault.   Update config.h with these definitions and recompile: #define BMP_BIT   64 #define BMP_SUB   32 rm: bmptst.exe: No suc...

[How To] Run HELR (Homomorphic Encryption Logistic Regression) in macOS

Image
HELR is a software project for performing a logistic regression training on encrypted data (Secure Logistic Regression based on Homomorphic Encryption: Design and Evaluation ( https://medinform.jmir.org/2018/2/e19/ )). Step 1: brew install GMP Step 2: brew install NTL Step 3: git clone  https://github.com/K-miran/HELR.git Step 4: cd HELR

[How To] Install Free SSL Certificate for WordPress

Image
In this tutorial, I have installed a free SSL certificate from Let's Encrypt using the Certbot tool on Google Cloud Platform VM running Debian OS that hosts a WordPress site using Apache server. You can follow similar steps for other Cloud providers / OS distributions / CMS vendors / Web servers . Part-1: Configure Virtual Host for your domain on Apache cd /var/www/html wp option update home 'https://example.com' wp option update siteurl 'https://example.com' sudo nano /etc/apache2/sites-available/example.com.conf sudo apache2ctl configtest sudo a2ensite example.com sudo systemctl reload apache2

[How To] Save as an unlocked PDF

Image
Steps to save a locked (password protected) PDF as an unlocked PDF: Download / Save / Copy the locked PDF to a folder Open Google Chrome Go to File Menu >> Open File >> Select your locked PDF Enter password Click on the Print button and select Save as a PDF The saved PDF will be unlocked This trick removes the open password from a PDF you can already open, by opening it in Google Chrome, entering the password, and then printing it back to a new PDF without protection. It only works when you know the password and are allowed to access the file, so it is for convenience, not for bypassing protection you are not entitled to remove.