<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Liran Tal&apos;s Blog</title><description>Developer Advocate | GitHub Star | OpenJS Security Pathfinder Award</description><link>https://lirantal.com</link><item><title>The Practical Second Brain: Building an LLM-Operated Markdown Knowledge Graph</title><link>https://lirantal.com/blog/practical-second-brain-llm-markdown-knowledge-graph</link><guid isPermaLink="true">https://lirantal.com/blog/practical-second-brain-llm-markdown-knowledge-graph</guid><description>A hands-on guide to the files, schemas, workflows, governance, and maintenance routines behind an AI-assisted second brain.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Building a Second Brain with LLMs and AI Agents</title><link>https://lirantal.com/blog/building-second-brain-llms-ai-agents</link><guid isPermaLink="true">https://lirantal.com/blog/building-second-brain-llms-ai-agents</guid><description>How a plain-Markdown knowledge graph becomes a durable context layer, operating system, and compounding productivity tool for AI-assisted work.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Invisible Unicode Can Hijack Gemini CLI Agent Skills</title><link>https://lirantal.com/blog/gemini-cli-invisible-unicode-skill-injection</link><guid isPermaLink="true">https://lirantal.com/blog/gemini-cli-invisible-unicode-skill-injection</guid><description>I disclosed a Gemini CLI prompt injection where invisible Unicode tag characters in SKILL.md caused the agent to run a hidden command. Google closed the report as out of scope because the workspace was trusted and YOLO mode was enabled.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Build Agent Workflows Around State Ownership, Not Timing</title><link>https://lirantal.com/blog/build-agent-workflows-around-state-ownership</link><guid isPermaLink="true">https://lirantal.com/blog/build-agent-workflows-around-state-ownership</guid><description>A practical pattern for turning a fragile Codex state migration into a reusable skill with backups, process ownership, validation, and a terminal helper.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate></item><item><title>How to Turn a Custom Terminal Setup into Portable Dotfiles with chezmoi</title><link>https://lirantal.com/blog/portable-terminal-dotfiles-chezmoi</link><guid isPermaLink="true">https://lirantal.com/blog/portable-terminal-dotfiles-chezmoi</guid><description>A practical guide to turning a custom macOS terminal setup into portable, reviewable dotfiles with chezmoi, Homebrew Bundle, zsh modules, Starship, and a public-safe repository workflow.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate></item><item><title>DevRel in 2026: Thematic Shifts, Product-centric Advocacy and the Rising Tide of Coding Agents</title><link>https://lirantal.com/blog/devrel-2026-thematic-shifts-product-centric-advocacy-coding-agents</link><guid isPermaLink="true">https://lirantal.com/blog/devrel-2026-thematic-shifts-product-centric-advocacy-coding-agents</guid><description>Explore DevRel in 2026: how coding agents, AI builders, X-first communities, DevRel engineering, and product-centric advocacy are reshaping the field.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Coding Agents Do Not Replace Technical Proficiency — They Demand More of It</title><link>https://lirantal.com/blog/coding-agents-do-not-replace-technical-proficiency</link><guid isPermaLink="true">https://lirantal.com/blog/coding-agents-do-not-replace-technical-proficiency</guid><description>LLMs and coding agents amplify developer capability but they do not substitute for it. Engineering experience determines whether you steer these tools toward sound architecture or blindly accept generated output that drifts from your conventions.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>Is Prompt Injection an Unsolvable Problem in AI?</title><link>https://lirantal.com/blog/is-prompt-injection-unsolvable-problem-ai</link><guid isPermaLink="true">https://lirantal.com/blog/is-prompt-injection-unsolvable-problem-ai</guid><description>Prompt injection is not a bug you patch but an architectural limit baked into how LLMs process language. This post traces the problem from Gödel and Hofstadter to modern jailbreaks, agent skill supply chains, and why defenders must shift from elimination to survivability.</description><pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate></item><item><title>Managing AI Agents and Skills with APM</title><link>https://lirantal.com/blog/managing-ai-agents-and-skills-with-apm</link><guid isPermaLink="true">https://lirantal.com/blog/managing-ai-agents-and-skills-with-apm</guid><description>Microsoft&apos;s Agent Package Manager brings package.json-style manifests and lockfiles to Claude Skills, MCP servers, and other agent artifacts, with hands-on recipes and sharp edges we hit in practice (collections path, meta-packages, security).</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Validated Fastify Configuration with dotenv, env-schema, and @fastify/env</title><link>https://lirantal.com/blog/fastify-dotenv-envschema-config</link><guid isPermaLink="true">https://lirantal.com/blog/fastify-dotenv-envschema-config</guid><description>Hands-on walkthrough: wire Fastify to load .env files, validate environment variables with JSON Schema, and expose config on the server instance, using the dotenv-org/examples Fastify reference PR as the source of truth.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Cursor Agent Hooks: Lint and Build Checks After Each Turn</title><link>https://lirantal.com/blog/cursor-stop-hook-lint-build-verification</link><guid isPermaLink="true">https://lirantal.com/blog/cursor-stop-hook-lint-build-verification</guid><description>How to wire a Cursor stop hook that runs pnpm lint and pnpm build after every agent turn, returns followup_message with captured output on failure, and avoids silent breakage from Cursor&apos;s bundled Node on PATH—plus loop limits, debug toggles, and when to choose postToolUse or sessionEnd instead.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>LLM Security Automation Isn’t a Drop-In Scanner Yet</title><link>https://lirantal.com/blog/llm-security-automation-isnt-a-drop-in-scanner-yet</link><guid isPermaLink="true">https://lirantal.com/blog/llm-security-automation-isnt-a-drop-in-scanner-yet</guid><description>An LLM Security Scanning and Review is a strong assist but a weeak gate. Why a `/security-review` slash command or agent harness is not a drop-in replacement for deterministic scanners yet: nondeterminism, confabulation, latency, cost, exploitability of generated code, and findings variance—grounded in how agent loops work and what BaxBench measures.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate></item><item><title>All About Jest, Timers, and Mocks</title><link>https://lirantal.com/blog/jest-timers-and-mocks</link><guid isPermaLink="true">https://lirantal.com/blog/jest-timers-and-mocks</guid><description>How to use Jest fake timers, advance time safely in tests, and pair timer control with mocks and spies without flaky or misleading assertions.</description><pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate></item><item><title>How to Build a Coding Agent Benchmark with Claude&apos;s Agent SDK</title><link>https://lirantal.com/blog/how-to-build-a-coding-agent-benchmark-with-claudes-agent-sdk</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-build-a-coding-agent-benchmark-with-claudes-agent-sdk</guid><description>A step-by-step walkthrough of building a benchmarking framework for AI coding agents using the Claude Agent SDK, including architecture decisions, scoring strategies, and code examples.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Agentic Growthhacking Tactics with Bots and AI</title><link>https://lirantal.com/blog/agentic-growthhacking-tactics-with-bots-and-ai</link><guid isPermaLink="true">https://lirantal.com/blog/agentic-growthhacking-tactics-with-bots-and-ai</guid><description>Examples of agentic growthhacking tactics using bots and AI, as well as strategies for sourcing user pain points on social media platforms.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Tools for Self-Published Authors</title><link>https://lirantal.com/blog/tools-for-self-published-authors</link><guid isPermaLink="true">https://lirantal.com/blog/tools-for-self-published-authors</guid><description>If you&apos;re starting out as a new author, you&apos;re going to need all  the help you can get. I curated a list of tools that can help you get started with publishing content and books.</description><pubDate>Sat, 22 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Pre‑Signed URL Upload Architecture (Cloudflare R2 + Hono Workers)</title><link>https://lirantal.com/blog/pre-signed-url-upload-architecture-cloudflare-r2-hono-workers</link><guid isPermaLink="true">https://lirantal.com/blog/pre-signed-url-upload-architecture-cloudflare-r2-hono-workers</guid><description>The following is a reference implementation and architecture for secure direct browser uploads to Cloudflare R2 using pre-signed URLs generated by a Hono application on Cloudflare Workers.</description><pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Building Cloudflare R2 Pre-signed URL Uploads with Hono: A Complete Implementation Guide</title><link>https://lirantal.com/blog/cloudflare-r2-presigned-url-uploads-hono</link><guid isPermaLink="true">https://lirantal.com/blog/cloudflare-r2-presigned-url-uploads-hono</guid><description>A comprehensive guide to implementing secure file uploads using Cloudflare R2 and Hono, including common pitfalls and best practices</description><pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate></item><item><title>A RESTful HTTP Mental Model to Understand MCP</title><link>https://lirantal.com/blog/a-restful-http-mental-model-to-understand-mcp</link><guid isPermaLink="true">https://lirantal.com/blog/a-restful-http-mental-model-to-understand-mcp</guid><description>For those familiar with RESTful HTTP architecture, would it make sense to describe the Model Context Protocol (MCP) in a similar way?</description><pubDate>Sun, 12 Oct 2025 00:00:00 GMT</pubDate></item><item><title>A Proposed Evaluation Framework for MCP Server Security</title><link>https://lirantal.com/blog/mcp-server-security-evaluation-framework</link><guid isPermaLink="true">https://lirantal.com/blog/mcp-server-security-evaluation-framework</guid><description>How do you securely integrate a new MCP Server into Cursor or other agentic workflows? what security practices do you consider to evaluate the risks?</description><pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Evaluation Framework for MCP Security Threats and Risks</title><link>https://lirantal.com/blog/evaluation-framework-for-mcp-security-threats-and-risks</link><guid isPermaLink="true">https://lirantal.com/blog/evaluation-framework-for-mcp-security-threats-and-risks</guid><description>How to evaluate and categorize security threats and risks associated with Model Code Protocol (MCP) in light of recent security incidents.</description><pubDate>Sun, 05 Oct 2025 00:00:00 GMT</pubDate></item><item><title>The Cursor Agentic Jira MCP Attack Explained with Toxic Flow Analysis</title><link>https://lirantal.com/blog/the-cursor-jira-mcp-attack-explained-with-toxic-flow-analysis</link><guid isPermaLink="true">https://lirantal.com/blog/the-cursor-jira-mcp-attack-explained-with-toxic-flow-analysis</guid><description>A breakdown of the Cursor + Jira MCP 0-Click attack, how it was exploited, and why developers are at the center of it all. Understanding MCPs, Toxic Flows, and the implications for AI-assisted coding environments.</description><pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate></item><item><title>The Uprising of Model Context Protocol (MCP) Security Research</title><link>https://lirantal.com/blog/the-uprising-of-model-context-protocol-mcp-security-research</link><guid isPermaLink="true">https://lirantal.com/blog/the-uprising-of-model-context-protocol-mcp-security-research</guid><description>The Model Context Protocol (MCP) is gaining traction in the AI community, and with its rise comes a wave of security research. This article explores the emerging security landscape surrounding MCP, highlighting key vulnerabilities and the importance of robust security measures in this evolving protocol.</description><pubDate>Wed, 24 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Agent Rules is the Missing Link in AI-Powered Development</title><link>https://lirantal.com/blog/agent-rules-missing-link-ai-powered-development</link><guid isPermaLink="true">https://lirantal.com/blog/agent-rules-missing-link-ai-powered-development</guid><description>How agent-rules open source project is helping create consistent and deterministic security in AI coding assistants.</description><pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Automating DevRel Conference CFP Evaluation with AI Agents: A Complete Guide with the Mastra AI Framework</title><link>https://lirantal.com/blog/automating-devrel-conference-cfp-evaluation-with-ai-agents</link><guid isPermaLink="true">https://lirantal.com/blog/automating-devrel-conference-cfp-evaluation-with-ai-agents</guid><description>Ever wanted to automate the process of evaluating hundreds of conference Call for Papers (CFP) submissions? Here&apos;s how I built an AI-powered CFP evaluation system using Mastra AI agents to streamline the review process while maintaining quality and consistency.</description><pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Agentic Marketing: The Future of AI-Driven Marketing Strategies</title><link>https://lirantal.com/blog/agentic-marketing-future-ai-driven-marketing-strategies</link><guid isPermaLink="true">https://lirantal.com/blog/agentic-marketing-future-ai-driven-marketing-strategies</guid><description>Agentic marketing is going to be the next marketing transformation that product marketers and growth teams need to embrace to stay ahead of the curve. This paradigm shift is set to revolutionize
 the way businesses engage with their audience.</description><pubDate>Wed, 17 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Getting Started with CLI Arguments in Node.js</title><link>https://lirantal.com/blog/mastering-cli-arguments-nodejs</link><guid isPermaLink="true">https://lirantal.com/blog/mastering-cli-arguments-nodejs</guid><description>Learn how to enhance your Node.js CLI applications using the built-in `util.parseArgs` API. This guide covers dual-mode operations, input validation, and testing, using the `agent-rules` project as a case study.</description><pubDate>Sat, 13 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Poetic Tales of Vulnerable MCP Servers: Command Injection in AI Coding Assistants</title><link>https://lirantal.com/blog/poetic-tales-vulnerable-mcp-servers-command-injection-ai-coding-assistants</link><guid isPermaLink="true">https://lirantal.com/blog/poetic-tales-vulnerable-mcp-servers-command-injection-ai-coding-assistants</guid><description>Model Content Protocol (MCP) servers can be a security nightmare if not handled properly. This post explores a real-world command injection vulnerability in AI coding assistants, illustrating the risks and implications for developers.</description><pubDate>Thu, 11 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Secure Your MCP Servers with Environment Variable Risk Assessment</title><link>https://lirantal.com/blog/secure-mcp-env-var-risk-assessment</link><guid isPermaLink="true">https://lirantal.com/blog/secure-mcp-env-var-risk-assessment</guid><description>Learn how to enhance the security of your MCP server configurations by using the latest `ls-mcp` tool to detect and categorize credential risks in environment variables.</description><pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Solving an ASCII Maze with a Neural Network in JavaScript</title><link>https://lirantal.com/blog/solving-an-ascii-maze-with-a-neural-network-in-javascript</link><guid isPermaLink="true">https://lirantal.com/blog/solving-an-ascii-maze-with-a-neural-network-in-javascript</guid><description>A step-by-step guide to training a neural network to solve an ASCII maze using JavaScript and brain.js.</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Automate Package Health Checks with Snyk Advisor and Qodo Agents</title><link>https://lirantal.com/blog/automate-package-health-checks-with-snyk-advisor-and-qodo-agents</link><guid isPermaLink="true">https://lirantal.com/blog/automate-package-health-checks-with-snyk-advisor-and-qodo-agents</guid><description>The Qodo AI team has introduced the Package Health Reviewer, a new feature in their agents repository that automates the health assessment of third-party open-source packages using Snyk Advisor. This tool provides comprehensive analysis and health scores to help developers maintain secure and reliable dependencies.</description><pubDate>Sat, 06 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Computer Vision in Python Building Detection and Object Annotation with Ultralytics YOLO and Supervision</title><link>https://lirantal.com/blog/computer-vision-python-object-detection-annotation-yolo-supervision</link><guid isPermaLink="true">https://lirantal.com/blog/computer-vision-python-object-detection-annotation-yolo-supervision</guid><description>A practical guide to building a simple computer vision project in Python using Ultralytics YOLO for object detection and Supervision for annotation.</description><pubDate>Thu, 04 Sep 2025 00:00:00 GMT</pubDate></item><item><title>What do AI-first DevTool Companies Look Like and how DevRel Practices Change?</title><link>https://lirantal.com/blog/ai-first-devtool-companies-and-devrel</link><guid isPermaLink="true">https://lirantal.com/blog/ai-first-devtool-companies-and-devrel</guid><description>If you&apos;re in Developer Relations and you haven&apos;t yet adapted your practices to the post-GPT era, you might be missing out on the next big thing in developer tools. In this write-up, I want to unpack what AI-first developer relations practices look like and specifically draw a direct line to developer tool companies that aim to be AI-first.</description><pubDate>Wed, 03 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Securely Loading Credentials for Google Cloud Storage in Node.js</title><link>https://lirantal.com/blog/securely-loading-credentials-google-cloud-storage-nodejs</link><guid isPermaLink="true">https://lirantal.com/blog/securely-loading-credentials-google-cloud-storage-nodejs</guid><description>A guide on securely loading Google Cloud Storage credentials in Node.js applications using various methods.</description><pubDate>Tue, 02 Sep 2025 00:00:00 GMT</pubDate></item><item><title>A Proposed MCP Server Security Evaluation Framework</title><link>https://lirantal.com/blog/mcp-server-security-evaluation-framework</link><guid isPermaLink="true">https://lirantal.com/blog/mcp-server-security-evaluation-framework</guid><description>With great MCP power comes great MCP responsibility and you should be prepared to evaluate the security of your MCP server implementation and MCP adoption in your AI agents.</description><pubDate>Mon, 01 Sep 2025 00:00:00 GMT</pubDate></item><item><title>DevRel Engagement and GTM Tactics on X / Twitter</title><link>https://lirantal.com/blog/devrel-engagement-gtm-tactics-on-x-twitter</link><guid isPermaLink="true">https://lirantal.com/blog/devrel-engagement-gtm-tactics-on-x-twitter</guid><description>Ok so how do DevRel practitioners optimize for engagement on X (Twitter) when they post new products, announcements and other stories? I also baked some KPIs here for you</description><pubDate>Sat, 23 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Plan, Don&apos;t Execute: Agentic Workflows in Zero Trust Environments</title><link>https://lirantal.com/blog/plan-dont-execute-agentic-workflows-in-zero-trust-environments</link><guid isPermaLink="true">https://lirantal.com/blog/plan-dont-execute-agentic-workflows-in-zero-trust-environments</guid><description>How zero-trust environments can leverage AI agents and agentic workflows without compromising security and trust.  </description><pubDate>Tue, 19 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Traits of AI-native Products for Optimized AI Agentic Workflows</title><link>https://lirantal.com/blog/ai-first-devtool-companies-and-devrel</link><guid isPermaLink="true">https://lirantal.com/blog/ai-first-devtool-companies-and-devrel</guid><description>With agentic workflows like Claude Code executing commands, applications, debugging and self-healing, how do you optimize your application for it to be most successfully instructed by AI agents?</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate></item><item><title>5 Pillars of Augmented Agentic Software Development</title><link>https://lirantal.com/blog/five-pillars-augmented-agentic-software-development</link><guid isPermaLink="true">https://lirantal.com/blog/five-pillars-augmented-agentic-software-development</guid><description>Explore the 5 pillars of Augmented Agentic Software Development to enhance your AI coding workflows. Learn how to leverage agent system instructions, spec-driven development, MCP servers, and agent memory to get the most out of tools like Gemini CLI and Claude Code.</description><pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Themes to Unlock Agentic Development for Software Engineers</title><link>https://lirantal.com/blog/themes-to-unlock-agentic-development-for-software-engineers</link><guid isPermaLink="true">https://lirantal.com/blog/themes-to-unlock-agentic-development-for-software-engineers</guid><description>Agentic coding assistants in the forms of IDE extensions are becoming increasingly popular among developers but they&apos;re likely just a milestone in the evolution of LLM-powered software engineering which will truly be AI-native. In this article, I want to unpack some AI-centric trends in software development and lean in to the future of what they would translate to in terms of the role of an engineer.</description><pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate></item><item><title>If You&apos;re an MCP Company You&apos;re NGMI</title><link>https://lirantal.com/blog/if-youre-an-mcp-company-youre-ngmi</link><guid isPermaLink="true">https://lirantal.com/blog/if-youre-an-mcp-company-youre-ngmi</guid><description>Model Context Protocol (MCP) is a great protocol but if your company is built around it as the core product, you&apos;re not gonna make it. Here&apos;s why.    </description><pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Auto fine-tuning Agentic Workflow with Qodo CLI</title><link>https://lirantal.com/blog/agentic-self-healing-workflows-with-qodo-command-cli</link><guid isPermaLink="true">https://lirantal.com/blog/agentic-self-healing-workflows-with-qodo-command-cli</guid><description>Running agentic AI workflows with the Qodo Command CLI is a powerful way to automate tasks but what&apos;s even cooler is that you can also automate the whole fine-tuning of the agentic workflow process itself USING THE AGENT!</description><pubDate>Tue, 22 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Automating OpenSSF Scorecard Security issues with Qodo CLI Agentic Workflow</title><link>https://lirantal.com/blog/automating-openssf-scorecard-security-issues-with-qodo-cli-agentic-workflow</link><guid isPermaLink="true">https://lirantal.com/blog/automating-openssf-scorecard-security-issues-with-qodo-cli-agentic-workflow</guid><description>Getting a security report for security vulnerabilities and misconfiguration issues of your GitHub project is a good start but can we leverage AI to also remediate all of these issues automatically through agentic workflow? Yes and I will show you how I do that with Qodo CLI Agentic Workflow</description><pubDate>Sat, 12 Jul 2025 00:00:00 GMT</pubDate></item><item><title>How to setup TV Sleep Timer with Home Assistant Automation</title><link>https://lirantal.com/blog/how-to-setup-tv-sleep-timer-with-home-assistant-automation</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-setup-tv-sleep-timer-with-home-assistant-automation</guid><description>Learn how to set up a TV sleep timer using Home Assistant automation, Helpers, and Automations to manage your TV&apos;s power state easily.</description><pubDate>Sat, 05 Jul 2025 00:00:00 GMT</pubDate></item><item><title>How to setup Shabbat candle time announcement with Home Assistant Automation</title><link>https://lirantal.com/blog/how-to-setup-tv-sleep-timer-with-home-assistant-automation</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-setup-tv-sleep-timer-with-home-assistant-automation</guid><description>Fun and useful automation for Shabbat observant families to announce the candle lighting time using Home Assistant.</description><pubDate>Sat, 05 Jul 2025 00:00:00 GMT</pubDate></item><item><title>CORS, SameSite and CSRF: The 3 Dimensions of Cookie based Authentication</title><link>https://lirantal.com/blog/cors-samesite-csrf-3-dimensions-cookie-authentication</link><guid isPermaLink="true">https://lirantal.com/blog/cors-samesite-csrf-3-dimensions-cookie-authentication</guid><description>Demystifying the 3 dimensions of cookie-based authentication: CORS, SameSite, and CSRF.</description><pubDate>Sun, 08 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Gamifying the Future of Skill Development: From Open-Source Security to LLM Prompt Injection</title><link>https://lirantal.com/blog/gamifying-future-skill-development-open-source-security-llm-prompt-injection</link><guid isPermaLink="true">https://lirantal.com/blog/gamifying-future-skill-development-open-source-security-llm-prompt-injection</guid><description>Gamified learning is a great way to engage developers and teach them new skills. I share my experience building a game to teach developers about open-source security, playing Lakera&apos;s LLM prompt injection game and cheering for Israeli gamified learning startup Wilco.</description><pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate></item><item><title>DevRel Failures? Maybe Your Marketing and Product Strategies Are Outdated</title><link>https://lirantal.com/blog/devrel-failures-or-marketing-failures-outdated-product-marketing-strategies</link><guid isPermaLink="true">https://lirantal.com/blog/devrel-failures-or-marketing-failures-outdated-product-marketing-strategies</guid><description>You&apos;re probably facing some DevRel failures or marketing failures. Maybe your product and marketing strategies are actually outdated and causing customer churn, and overall frustration?</description><pubDate>Thu, 01 May 2025 00:00:00 GMT</pubDate></item><item><title>Dependency-free Command-Line Apps powered by Node.js core modules</title><link>https://lirantal.com/blog/dependency-free-command-line-apps-powered-by-node-js-core-modules</link><guid isPermaLink="true">https://lirantal.com/blog/dependency-free-command-line-apps-powered-by-node-js-core-modules</guid><description>Learn how to build powerful command-line apps without a single third-party dependency using Node.js core modules.</description><pubDate>Thu, 17 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Getting started with Neural Networks in JavaScript</title><link>https://lirantal.com/blog/getting-started-neural-networks-in-javascript</link><guid isPermaLink="true">https://lirantal.com/blog/getting-started-neural-networks-in-javascript</guid><description>Practical and hands-on guide to getting started with Neural Networks in JavaScript using the Brain.js library to build a simple neural network to predict if a number is even or odd and more.</description><pubDate>Fri, 07 Mar 2025 00:00:00 GMT</pubDate></item><item><title>How I use GenAI to Speed Up Demo Apps in My DevRel Role</title><link>https://lirantal.com/blog/how-use-genai-speed-up-demo-apps-devrel-role</link><guid isPermaLink="true">https://lirantal.com/blog/how-use-genai-speed-up-demo-apps-devrel-role</guid><description>Developer Advocates and Engineers can leverage Generative AI to speed up their work and make them more productive. Here&apos;s a practical example from my day-to-day.</description><pubDate>Sun, 02 Mar 2025 00:00:00 GMT</pubDate></item><item><title>What is an LLMs.txt File?</title><link>https://lirantal.com/blog/what-is-an-llms-txt-file</link><guid isPermaLink="true">https://lirantal.com/blog/what-is-an-llms-txt-file</guid><description>Building with Large Language Models (LLMs) requires context and metadata. The `llms.txt` file format is a simple text file that provides LLMs with relevant context and metadata.</description><pubDate>Fri, 28 Feb 2025 00:00:00 GMT</pubDate></item><item><title>The CJS module system, globals and other hardships with maintainable code in Node.js</title><link>https://lirantal.com/blog/cjs-module-system-globals-hardships-maintainable-code-nodejs</link><guid isPermaLink="true">https://lirantal.com/blog/cjs-module-system-globals-hardships-maintainable-code-nodejs</guid><description>What are some common anti patterns and signs of tight coupling in a Node.js codebase and the challenges they present? Let&apos;s unfold some messy code and learn how the CJS module system and the use of globals has to do with it.</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate></item><item><title>How to Read and Parse PDFs with PDF.js and Create PDFs with PDF Lib in Node.js</title><link>https://lirantal.com/blog/how-to-read-and-parse-pdfs-pdfjs-create-pdfs-pdf-lib-nodejs</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-read-and-parse-pdfs-pdfjs-create-pdfs-pdf-lib-nodejs</guid><description>If you&apos;re building LLM and AI-powered chatbots like me you might need to read and parse PDFs or create PDFs in Node.js. Here&apos;s how to do it with PDF.js and PDF Lib.</description><pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate></item><item><title>TypeScript in 2025 with ESM and CJS npm publishing is still a mess</title><link>https://lirantal.com/blog/typescript-in-2025-with-esm-and-cjs-npm-publishing</link><guid isPermaLink="true">https://lirantal.com/blog/typescript-in-2025-with-esm-and-cjs-npm-publishing</guid><description>How do you handle TypeScript, dual ESM and CJS publishing, and the JavaScript toolchain in 2025? Here&apos;s a brief overview of the current state of the ecosystem and the tooling I personally use.</description><pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Home Assistant YouTube DNS Blocking with AdGuard and Lovelace Buttons Setup</title><link>https://lirantal.com/blog/home-assistant-youtube-dns-blocking-adguard-lovelace-buttons-setup</link><guid isPermaLink="true">https://lirantal.com/blog/home-assistant-youtube-dns-blocking-adguard-lovelace-buttons-setup</guid><description>How to set up Home Assistant YouTube DNS blocking with AdGuard and Lovelace buttons for a more action friendly interface.</description><pubDate>Tue, 07 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Customizing Astro Starlight Sidebar for Gated Content with Authentication</title><link>https://lirantal.com/blog/customizing-astro-starlight-sidebar-gated-content-auth</link><guid isPermaLink="true">https://lirantal.com/blog/customizing-astro-starlight-sidebar-gated-content-auth</guid><description>Learn how I got the Starlight documentation framework in Astro to create a gated content website with authentication for my Bun Security course</description><pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate></item><item><title>How to Setup Google Cloud Project and Store Images in Google Cloud</title><link>https://lirantal.com/blog/how-to-setup-google-cloud-project-and-store-images-in-google-cloud</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-setup-google-cloud-project-and-store-images-in-google-cloud</guid><description>Step-by-step tutorial on configuring a Google Cloud project and storing images in Google Cloud Storage.</description><pubDate>Sat, 21 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Thinking Fast and Slow in Application Security</title><link>https://lirantal.com/blog/thinking-fast-and-slow-in-application-security</link><guid isPermaLink="true">https://lirantal.com/blog/thinking-fast-and-slow-in-application-security</guid><description>Imagine if we applied behavioral economics principles to application security methodologies and practices, what would be able to unlock? System1 and System2, All Systems Go.</description><pubDate>Thu, 12 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Component auto import in Astro framework</title><link>https://lirantal.com/blog/component-auto-import-in-astro-framework</link><guid isPermaLink="true">https://lirantal.com/blog/component-auto-import-in-astro-framework</guid><description>Can Astro automatically import components in markdown files? Yes, it can! Here&apos;s how to do it thanks to Chris Swithinbank and his Astro Auto Import package.</description><pubDate>Fri, 06 Sep 2024 00:00:00 GMT</pubDate></item><item><title>Using Promise.withResolvers in Node.js Tests</title><link>https://lirantal.com/blog/promise-with-resolvers-in-nodejs-tests</link><guid isPermaLink="true">https://lirantal.com/blog/promise-with-resolvers-in-nodejs-tests</guid><description>This article explores the use of `Promise.withResolvers` in Node.js tests, providing examples and refactoring techniques to handle nested tests and signal their completion effectively. It also discusses the limitations of the `Promise.withResolvers` API in different Node.js versions.</description><pubDate>Fri, 30 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Supercharging Your Vue.js 3 App with TanStack Query: A Practical Refactoring Guide</title><link>https://lirantal.com/blog/supercharging-vuejs-3-app-tanstack-query-practical-refactoring-guide</link><guid isPermaLink="true">https://lirantal.com/blog/supercharging-vuejs-3-app-tanstack-query-practical-refactoring-guide</guid><description>Learn how to supercharge your Vue.js 3 app with TanStack Query. Discover efficient data fetching, caching, and state management in this practical refactoring guide.</description><pubDate>Sun, 11 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Zero Dependency JavaScript is the Future?</title><link>https://lirantal.com/blog/zero-dependency-javascript-is-the-future</link><guid isPermaLink="true">https://lirantal.com/blog/zero-dependency-javascript-is-the-future</guid><description>The rise of zero dependency JavaScript with packages like `neotraverse` and the controversy around the `axobject-query` package demonstrate the different perspectives and trade-offs that developers and maintainers need to consider when building and maintaining JavaScript applications.</description><pubDate>Wed, 24 Jul 2024 00:00:00 GMT</pubDate></item><item><title>How to run a local LLM for inference with an offline-first approach</title><link>https://lirantal.com/blog/how-to-run-local-llm-for-inference-with-offline-first-approach</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-run-local-llm-for-inference-with-offline-first-approach</guid><description>How about we try a different approach to ChatGPT, Google Gemini or Anthropic&apos;s Claude? Learn how to run a local LLM model for inference so you can access it offline and without incurring costs beyond your own hardware compute.</description><pubDate>Mon, 15 Jul 2024 00:00:00 GMT</pubDate></item><item><title>GenAI Predictions and The Future of LLMs as local-first offline Small Language Models (SLMs)</title><link>https://lirantal.com/blog/genai-predictions-the-future-llms-local-first-offline-small-language-models-slm</link><guid isPermaLink="true">https://lirantal.com/blog/genai-predictions-the-future-llms-local-first-offline-small-language-models-slm</guid><description>Current adoption craze for GenAI tools like ChatGPT bring hidden costs in the form of privacy, security, data leakage, latency and availability. The future isn&apos;t gloom though, as the future of LLMs is in local-first offline inference, open LLMs, consumer-grade GPU acceleration and micro fine-tuning model training. How and why? Read on.</description><pubDate>Wed, 12 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Installing Playwright on Heroku for Programmatic Node.js Browser Automation</title><link>https://lirantal.com/blog/installing-playwright-on-heroku-for-programmatic-nodejs-browser-automation</link><guid isPermaLink="true">https://lirantal.com/blog/installing-playwright-on-heroku-for-programmatic-nodejs-browser-automation</guid><description>Getting Playwright to work on Heroku wasn&apos;t smooth sailing. It looked for browser dependencies that weren&apos;t installed by default and not in the location it expected them. Here&apos;s how I did it and what I learned along the way.</description><pubDate>Fri, 31 May 2024 00:00:00 GMT</pubDate></item><item><title>Poor Express Authentication Patterns in Node.js and How to Avoid Them</title><link>https://lirantal.com/blog/poor-express-authentication-patterns-nodejs</link><guid isPermaLink="true">https://lirantal.com/blog/poor-express-authentication-patterns-nodejs</guid><description>Tired of seeing poor authentication patterns in Node.js applications and Express code examples? Here&apos;s a guide on how to avoid them and what to do instead</description><pubDate>Fri, 03 May 2024 00:00:00 GMT</pubDate></item><item><title>How to block LAN clients from accessing YouTube and other media with AdGuard and Home Assistant</title><link>https://lirantal.com/blog/block-lan-clients-from-accessing-youtube-and-other-media-with</link><guid isPermaLink="true">https://lirantal.com/blog/block-lan-clients-from-accessing-youtube-and-other-media-with</guid><description>Learn how to block specific LAN client IPs from accessing YouTube and other media sites using AdGuard add-on and Home Assistant.</description><pubDate>Sat, 20 Apr 2024 00:00:00 GMT</pubDate></item><item><title>HTTP webhooks on Firebase Functions and Fastify: A Practical Case Study with Lemon Squeezy</title><link>https://lirantal.com/blog/http-webhooks-firebase-functions-fastify-practical-case-study-lemon-squeezy</link><guid isPermaLink="true">https://lirantal.com/blog/http-webhooks-firebase-functions-fastify-practical-case-study-lemon-squeezy</guid><description>A break-down of how to set up Fastify to work on serverless Firebase Functions and access the request&apos;s rawBody to validate incoming HTTP webhooks requests from Lemon Squeezy.</description><pubDate>Fri, 16 Feb 2024 00:00:00 GMT</pubDate></item><item><title>How To Get Social Media Previews Right on Astro blog with OpenGraph Meta Tags</title><link>https://lirantal.com/blog/getting-social-media-previews-right-with-opengraph-meta-tags</link><guid isPermaLink="true">https://lirantal.com/blog/getting-social-media-previews-right-with-opengraph-meta-tags</guid><description>You have an Astro blog? Now it&apos;s time to unlock the social sharing magic! Learn to wield OpenGraph meta tags configuration, crafting eye-catching previews. Optimize your website&apos;s social share game with these tips.</description><pubDate>Wed, 03 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Best Practices for Bootstrapping a Node.js Application Configuration</title><link>https://lirantal.com/blog/best-practices-for-bootstrapping-a-node-js-application-configuration</link><guid isPermaLink="true">https://lirantal.com/blog/best-practices-for-bootstrapping-a-node-js-application-configuration</guid><description>Follow these best practices to bootstrap a Node.js application configuration in a robust and maintainable way using env-schema.</description><pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate></item><item><title>How I Deployed Tailscale VPN to Securely Access Home Assistant Remotely</title><link>https://lirantal.com/blog/employ-tailscale-vpn-to-securely-access-home-assistant-remotely</link><guid isPermaLink="true">https://lirantal.com/blog/employ-tailscale-vpn-to-securely-access-home-assistant-remotely</guid><description>Often smart home automation enthusiasts want to access their Home Assistant instance remotely. This can be done by exposing the Home Assistant instance to the internet. However, this is not a secure way to access Home Assistant remotely and pose the risk of cyber attacks. In this article, we will see how to use Tailscale VPN to securely access Home Assistant remotely.</description><pubDate>Sun, 15 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Environment variables and configuration anti patterns in Node.js applications</title><link>https://lirantal.com/blog/environment-variables-configuration-anti-patterns-node-js-applications</link><guid isPermaLink="true">https://lirantal.com/blog/environment-variables-configuration-anti-patterns-node-js-applications</guid><description>Every Node.js application needs configuration management, but there are many ways to do it. You might have heard about `.env` files, and packages like dotenv, convict, env-schema so let&apos;s explore the different configuration patterns and how to use them.</description><pubDate>Sun, 01 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Vue.js Patterns: Using Vue.js 3 Composition API for Reactive Parent to Child Communication</title><link>https://lirantal.com/blog/vuejs-patterns-using-vuejs-3-composition-api-for-reactive-parent-to-child-communication</link><guid isPermaLink="true">https://lirantal.com/blog/vuejs-patterns-using-vuejs-3-composition-api-for-reactive-parent-to-child-communication</guid><description>Vue.js revolves around a reactivity system, which is unlike React. In this article, we will explore how to use the Vue.js 3 Composition API to create a reactive parent to child communication.</description><pubDate>Wed, 13 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Generating presentation titles using OpenAI background jobs with Node.js, Express and Trigger.dev</title><link>https://lirantal.com/blog/background-jobs-processing-with-node-js-express-trigger-dev</link><guid isPermaLink="true">https://lirantal.com/blog/background-jobs-processing-with-node-js-express-trigger-dev</guid><description>Do you ever struggle to come up with creative presentation titles? Let&apos;s build that while learning how to use Generative AI, Express and Trigger.dev with the OpenAI integration.</description><pubDate>Mon, 04 Sep 2023 00:00:00 GMT</pubDate></item><item><title>How to Process Scheduled Queue Jobs in Node.js with BullMQ and Redis on Heroku</title><link>https://lirantal.com/blog/how-to-process-scheduled-queue-jobs-in-nodejs-with-bullmq-and-redis-on-heroku</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-process-scheduled-queue-jobs-in-nodejs-with-bullmq-and-redis-on-heroku</guid><description>Process long-running tasks in Node.js with background jobs. Learn how to use BullMQ and Redis on Heroku to create a scalable and reliable background job processing system.</description><pubDate>Thu, 17 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Configuration Decoded: Lesser-Known Tips for Working with env-schema in Node.js</title><link>https://lirantal.com/blog/configuration-decoded-lesser-known-tips-for-working-with-env-schema-in-nodejs</link><guid isPermaLink="true">https://lirantal.com/blog/configuration-decoded-lesser-known-tips-for-working-with-env-schema-in-nodejs</guid><description>Level up your Node.js apps with env-schema! Manage configurations effortlessly and learn useful practices for building for configuration management.</description><pubDate>Mon, 07 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Introducing Changesets: Simplify Project Versioning with Semantic Releases</title><link>https://lirantal.com/blog/introducing-changesets-simplify-project-versioning-with-semantic-releases</link><guid isPermaLink="true">https://lirantal.com/blog/introducing-changesets-simplify-project-versioning-with-semantic-releases</guid><description>A comprehensive guide to adopting Changesets for semantic versioning and publishing packages in monorepos and non-monorepo projects.</description><pubDate>Mon, 17 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Deploying a Fastify &amp; Vue 3 Static Site to Heroku</title><link>https://lirantal.com/blog/deploying-a-fastify-vue-3-static-site-to-heroku</link><guid isPermaLink="true">https://lirantal.com/blog/deploying-a-fastify-vue-3-static-site-to-heroku</guid><description>How to deploy a Vue 3 static site to Heroku with a Fastify Node.js backend server to serve the static files.</description><pubDate>Sat, 08 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Avoid Fastify&apos;s reply.raw and reply.hijack Despite Being A Powerful HTTP Streams Tool</title><link>https://lirantal.com/blog/avoid-fastify-reply-raw-and-reply-hijack-despite-being-a-powerful-http-streams-tool</link><guid isPermaLink="true">https://lirantal.com/blog/avoid-fastify-reply-raw-and-reply-hijack-despite-being-a-powerful-http-streams-tool</guid><description>How to harness the power of streams in Fastify web applications without resorting to raw HTTP replies via reply.raw and reply.hijack().</description><pubDate>Fri, 30 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Disclosing a local file inclusion vulnerability in xmlhttprequest library</title><link>https://lirantal.com/blog/local-file-inclusion-in-xmlhttprequest-library</link><guid isPermaLink="true">https://lirantal.com/blog/local-file-inclusion-in-xmlhttprequest-library</guid><description>I found a Local File Inclusion (LFI) security vulnerability in xmlhttprequest library but it&apos;s still unfixed.</description><pubDate>Thu, 27 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Disclosing uncontrolled resource consumption in xmlhttprequest library</title><link>https://lirantal.com/blog/disclosing-uncontrolled-resource-consumption-in-xmlhttprequest-library</link><guid isPermaLink="true">https://lirantal.com/blog/disclosing-uncontrolled-resource-consumption-in-xmlhttprequest-library</guid><description>proof-of-concept showing a denial of service vulnerability in a Node.js web server if it uses the xmlhttprequest library to make outgoing HTTP requests</description><pubDate>Sun, 16 Apr 2023 00:00:00 GMT</pubDate></item><item><title>How to apply custom admonition styles to AsciiDoc</title><link>https://lirantal.com/blog/how-to-apply-custom-admonition-styles-to-asciidoc</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-apply-custom-admonition-styles-to-asciidoc</guid><description>Customizing AsciiDoc can be challenging at times, especially when it comes to admonitions. In this article, I&apos;ll show you how to apply custom admonition styles to your AsciiDoc book.</description><pubDate>Mon, 10 Apr 2023 00:00:00 GMT</pubDate></item><item><title>How to write your book with AsciiDoc</title><link>https://lirantal.com/blog/how-to-write-your-book-with-asciidoc</link><guid isPermaLink="true">https://lirantal.com/blog/how-to-write-your-book-with-asciidoc</guid><description>If you are looking for a way to write your book in a format that is easy to read and write, and that can be easily converted to other formats such as PDF, ePUB and HTML, then AsciiDoc is a great choice. Let me show you how to get started with AsciiDoc Book Starter GitHub repository and an automated setup.</description><pubDate>Wed, 05 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Celebrating Community: My Journey to Receiving the GitHub Stars 2023 Award</title><link>https://lirantal.com/blog/celebrating-community-my-journey-to-receiving-the-github-stars-2023-award</link><guid isPermaLink="true">https://lirantal.com/blog/celebrating-community-my-journey-to-receiving-the-github-stars-2023-award</guid><description>Reflecting on the spirit of the GitHub Stars award and capturing the essence of the journey towards the recognition and open source community engagement.</description><pubDate>Thu, 16 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Open Source activism with ReadyCodePush</title><link>https://lirantal.com/blog/open-source-activism-readycodepush</link><guid isPermaLink="true">https://lirantal.com/blog/open-source-activism-readycodepush</guid><description>Reflecting on ReadyCodePush, the first open source activism program I ran in 2022 and how it welcomed underrepresented groups and students into open source software.</description><pubDate>Sat, 25 Feb 2023 00:00:00 GMT</pubDate></item><item><title>How to add client-side search with PageFind to your Astro blog static website</title><link>https://lirantal.com/blog/2023-01-01_-how_to_add_client-side_search_to_your_astro_blog_static_website</link><guid isPermaLink="true">https://lirantal.com/blog/2023-01-01_-how_to_add_client-side_search_to_your_astro_blog_static_website</guid><description>PageFind client-side search for Astro is simple but if you want to add search capabilities to a personal blog then you might think of Algolia first. However, let me show you how an easy PageFind integration would be more suitable for a  static-site generation type of blog tech.</description><pubDate>Tue, 24 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Advanced usage patterns for taking page element screenshots with Playwright</title><link>https://lirantal.com/blog/advanced-usage-patterns-for-taking-page-element-screenshots-with-playwright</link><guid isPermaLink="true">https://lirantal.com/blog/advanced-usage-patterns-for-taking-page-element-screenshots-with-playwright</guid><description>In this post, I will show you some advanced usage patterns for working with Playwright in order to take a screenshot of a specific element and modify the contents of the image, either before taking the screenshot or after, using image preprocessing tools.</description><pubDate>Sun, 15 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Enhance your command line with Warp</title><link>https://lirantal.com/blog/2022-11-22_enhance-your-command-line-with-warp</link><guid isPermaLink="true">https://lirantal.com/blog/2022-11-22_enhance-your-command-line-with-warp</guid><description>How can we harness AI and crowd-sourced workflows into our day to day interactions with the command-line?</description><pubDate>Tue, 22 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Content creators web resources</title><link>https://lirantal.com/blog/2022-12-03_content_creators_web_resources</link><guid isPermaLink="true">https://lirantal.com/blog/2022-12-03_content_creators_web_resources</guid><description>Being an active content creator, whether this is writing, video, or any other form of content requires a good deal of time and effort. Here are some tools
  that can help you be more productive.</description><pubDate>Tue, 22 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Are you also validating a JavaScript URL using RegEx?</title><link>https://lirantal.com/blog/2022-10-28_are_you_validating_javascript_url_safely</link><guid isPermaLink="true">https://lirantal.com/blog/2022-10-28_are_you_validating_javascript_url_safely</guid><description>What do you think of the following JavaScript URL validation function code? Are you accidentally adding security issues while doing so?</description><pubDate>Fri, 28 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Resources for Public Speaking and Conference CFP application</title><link>https://lirantal.com/blog/2022-10-21_resources_for_public_speaking_and_conference_cfp_application</link><guid isPermaLink="true">https://lirantal.com/blog/2022-10-21_resources_for_public_speaking_and_conference_cfp_application</guid><description>How do you find events to attend or speak at? I often get asked that and in this article I&apos;ll share the resources I use for CFP application and public speaking at conferences.</description><pubDate>Fri, 21 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Open Source From Heaven, Modules From Hell</title><link>https://lirantal.com/blog/2019-01-26</link><guid isPermaLink="true">https://lirantal.com/blog/2019-01-26</guid><description>How do you find events to attend or speak at? I often get asked that and in this article I&apos;ll share the resources I use for CFP application and public speaking at conferences.</description><pubDate>Sat, 26 Jan 2019 00:00:00 GMT</pubDate></item><item><title>I contributed to Docker’s official repository but why did I send them a picture of an Elephant?!</title><link>https://lirantal.com/blog/i-contributed-to-dockers-official-repository-but-why-did-i-send-them-a-picture-of-an-elephant-b8ea401b5445</link><guid isPermaLink="true">https://lirantal.com/blog/i-contributed-to-dockers-official-repository-but-why-did-i-send-them-a-picture-of-an-elephant-b8ea401b5445</guid><description>Without having any formal experience with Docker in the past I was able to help the Docker project and contribute to the official…</description><pubDate>Thu, 21 Jul 2016 15:42:03 GMT</pubDate></item><item><title>Worst ping time delays around the world?</title><link>https://lirantal.com/blog/worst-ping-time-delays-around-the-world-d02cde8004a8</link><guid isPermaLink="true">https://lirantal.com/blog/worst-ping-time-delays-around-the-world-d02cde8004a8</guid><description>Have you ever wondered what is the worst time delay ping from 2 cities around the world?</description><pubDate>Fri, 15 Jul 2016 09:21:09 GMT</pubDate></item><item><title>InfoSec — I can easily guess your Node.js server! Want to bet?</title><link>https://lirantal.com/blog/infosec-i-can-easily-guess-your-node-js-server-want-to-bet-a7d004cfa81f</link><guid isPermaLink="true">https://lirantal.com/blog/infosec-i-can-easily-guess-your-node-js-server-want-to-bet-a7d004cfa81f</guid><description>With the hope of raising awareness on information security topics, and the openness of the web I would like to take one step further to…</description><pubDate>Mon, 06 Jun 2016 09:21:56 GMT</pubDate></item><item><title>Andrew Milner Shaped My Childhood</title><link>https://lirantal.com/blog/andrew-milner-shaped-my-childhood-47065fdfd8ad</link><guid isPermaLink="true">https://lirantal.com/blog/andrew-milner-shaped-my-childhood-47065fdfd8ad</guid><description>Andrew Milner shaped my childhood. Google that name, I bet you a beer you’ve no idea who this guy is, and apparently Google isn’t helpful…</description><pubDate>Sat, 07 May 2016 13:37:13 GMT</pubDate></item><item><title>Most decisions in life are reversible</title><link>https://lirantal.com/blog/most-decisions-in-life-are-reversible-4437386e5d1d</link><guid isPermaLink="true">https://lirantal.com/blog/most-decisions-in-life-are-reversible-4437386e5d1d</guid><description>You might be the conservative character, the shy person, or possibly the one taking less risks when it comes to making decisions all…</description><pubDate>Mon, 11 Apr 2016 05:02:07 GMT</pubDate></item><item><title>My manager’s probably best team building concept is Diversity</title><link>https://lirantal.com/blog/my-manager-s-probably-best-team-building-concept-is-diversity-e0e8b44a8e8c</link><guid isPermaLink="true">https://lirantal.com/blog/my-manager-s-probably-best-team-building-concept-is-diversity-e0e8b44a8e8c</guid><description>My manager’s probably best team building concept is Diversity. Why? read on and get some insight on building your next team to accomplish…</description><pubDate>Mon, 04 Apr 2016 08:37:35 GMT</pubDate></item><item><title>VeriGreen – lightweight, server side solution for verification of git commits</title><link>https://lirantal.com/blog/2015-11-16</link><guid isPermaLink="true">https://lirantal.com/blog/2015-11-16</guid><description>Meet VeriGreen, an open source project to help you with merge commits</description><pubDate>Mon, 16 Nov 2015 00:00:00 GMT</pubDate></item><item><title>Screenshots from old school UNIX, Linux and open source major developers</title><link>https://lirantal.com/blog/2015-04-14</link><guid isPermaLink="true">https://lirantal.com/blog/2015-04-14</guid><description>How did old school unix days of the pre-Internet looked like? let&apos;s get a glimpse</description><pubDate>Sun, 01 Nov 2015 00:00:00 GMT</pubDate></item><item><title>The Drupal Rap song – Everyday I’m Drupalin&apos;</title><link>https://lirantal.com/blog/2015-04-13</link><guid isPermaLink="true">https://lirantal.com/blog/2015-04-13</guid><description>Get your groove on with a cool Drupal song! Meet the Drupal Rap song – Everyday I&apos;m Drupalin&apos;</description><pubDate>Mon, 13 Apr 2015 00:00:00 GMT</pubDate></item><item><title>Prevent clickjacking on Drupal and other Apache web applications</title><link>https://lirantal.com/blog/2015-03-16</link><guid isPermaLink="true">https://lirantal.com/blog/2015-03-16</guid><description>Updating Apache server configuration to use mod_headers to prevent clickjacking security issues</description><pubDate>Thu, 12 Mar 2015 00:00:00 GMT</pubDate></item><item><title>Apache Obfuscation by disabling trace and server tokens</title><link>https://lirantal.com/blog/2015-03-09</link><guid isPermaLink="true">https://lirantal.com/blog/2015-03-09</guid><description>Preventative measures to mitigate leaking the server software running</description><pubDate>Mon, 09 Mar 2015 00:00:00 GMT</pubDate></item><item><title>Drupal Performance Tip – be humble on hook_init()</title><link>https://lirantal.com/blog/2015-01-12</link><guid isPermaLink="true">https://lirantal.com/blog/2015-01-12</guid><description>This entry is part 5 of 5 in the series Drupal Performance Tips</description><pubDate>Mon, 12 Jan 2015 00:00:00 GMT</pubDate></item><item><title>Drupal Performance Tips: know your database</title><link>https://lirantal.com/blog/2014-12-15_drupal_tip_im_too_young_to_die</link><guid isPermaLink="true">https://lirantal.com/blog/2014-12-15_drupal_tip_im_too_young_to_die</guid><description>speed performance and how to Drupal optimize for better results and server response time.</description><pubDate>Mon, 15 Dec 2014 00:00:00 GMT</pubDate></item><item><title>Drupal Performance Tip – &apos;I’m too young to die&apos; – indexes and SQLs</title><link>https://lirantal.com/blog/2014-11-05</link><guid isPermaLink="true">https://lirantal.com/blog/2014-11-05</guid><description>This entry is part 1 of 2 in the series Drupal Performance Tips</description><pubDate>Wed, 12 Nov 2014 00:00:00 GMT</pubDate></item><item><title>Drupal Performance Tip – removing unused modules</title><link>https://lirantal.com/blog/2014-11-12</link><guid isPermaLink="true">https://lirantal.com/blog/2014-11-12</guid><description>This entry is part 2 of 2 in the series Drupal Performance Tips</description><pubDate>Wed, 12 Nov 2014 00:00:00 GMT</pubDate></item><item><title>&apos;Oh you lazy cron!&apos; – learning on Drupal cron issues</title><link>https://lirantal.com/blog/2014-09-04</link><guid isPermaLink="true">https://lirantal.com/blog/2014-09-04</guid><description>Debugging issues with Drupal&apos;s cron scheduler</description><pubDate>Thu, 04 Sep 2014 00:00:00 GMT</pubDate></item><item><title>Migrate Drupal 7 to WordPress 3.9 – The Kickoff</title><link>https://lirantal.com/blog/2014-07-09</link><guid isPermaLink="true">https://lirantal.com/blog/2014-07-09</guid><description>This entry is part 1 of 2 in the series Drupal 7 to Wordpress 3.9 Migration</description><pubDate>Sat, 12 Jul 2014 00:00:00 GMT</pubDate></item><item><title>Migrate Drupal 7 to WordPress 3.9 – The Conclusion</title><link>https://lirantal.com/blog/2014-07-15</link><guid isPermaLink="true">https://lirantal.com/blog/2014-07-15</guid><description>This entry is part 2 of 2 in the series Drupal 7 to Wordpress 3.9 Migration</description><pubDate>Sat, 12 Jul 2014 00:00:00 GMT</pubDate></item><item><title>MEAN.io v0.4 released – this is how you stay relevant</title><link>https://lirantal.com/blog/2014-07-03</link><guid isPermaLink="true">https://lirantal.com/blog/2014-07-03</guid><description>Getting started with MEAN.io JavaScript &amp; Node.js framework by keeping up with the git branch of development</description><pubDate>Thu, 03 Jul 2014 00:00:00 GMT</pubDate></item><item><title>daloRADIUS 7th Anniversary – 2014 Wrap-up</title><link>https://lirantal.com/blog/2014-06-20</link><guid isPermaLink="true">https://lirantal.com/blog/2014-06-20</guid><description>Celebrating 7 years of daloRADIUS project and it&apos;s success in the RADIUS networking and WiFi hotspots industry</description><pubDate>Fri, 20 Jun 2014 00:00:00 GMT</pubDate></item><item><title>Drupal Performance Tuning for Better Database Utilization – Introduction</title><link>https://lirantal.com/blog/2014-06-14</link><guid isPermaLink="true">https://lirantal.com/blog/2014-06-14</guid><description>This entry is part 1 of 1 in the series Drupal Performance Tuning for Better Database Utilization</description><pubDate>Tue, 17 Jun 2014 00:00:00 GMT</pubDate></item><item><title>MEAN.io Session Cookie parameters</title><link>https://lirantal.com/blog/2014-06-13</link><guid isPermaLink="true">https://lirantal.com/blog/2014-06-13</guid><description>How to configure the session cookie parameters in MEAN.io</description><pubDate>Fri, 13 Jun 2014 00:00:00 GMT</pubDate></item><item><title>daloRADIUS Import Users – fix password type</title><link>https://lirantal.com/blog/2014-06-03</link><guid isPermaLink="true">https://lirantal.com/blog/2014-06-03</guid><description>A bug fix for importing users into daloRADIUS with a different password type than the default Cleartext-Password</description><pubDate>Tue, 03 Jun 2014 00:00:00 GMT</pubDate></item><item><title>Vagrant networking to enable Internet accessible machine setup</title><link>https://lirantal.com/blog/2014-05-22</link><guid isPermaLink="true">https://lirantal.com/blog/2014-05-22</guid><description>Example of how to setup vagrant networking to enable Internet accessible machine setup with a Vagrantfile</description><pubDate>Thu, 22 May 2014 00:00:00 GMT</pubDate></item><item><title>daloRADIUS bug fix for refill traffic or time</title><link>https://lirantal.com/blog/2014-05-17</link><guid isPermaLink="true">https://lirantal.com/blog/2014-05-17</guid><description>An open source contribution from Ezequiel Villarreal to fix a bug in daloRADIUS&apos;s accounting interface</description><pubDate>Sat, 17 May 2014 00:00:00 GMT</pubDate></item><item><title>Reviewing book – Learning Pentesting for Android Devices</title><link>https://lirantal.com/blog/2014-05-08</link><guid isPermaLink="true">https://lirantal.com/blog/2014-05-08</guid><description>Getting started with penetration testing for Android devices</description><pubDate>Thu, 08 May 2014 00:00:00 GMT</pubDate></item><item><title>Drupal 6 – Subscription notifications aren’t going out?</title><link>https://lirantal.com/blog/2014-05-06</link><guid isPermaLink="true">https://lirantal.com/blog/2014-05-06</guid><description>How to fix Drupal 6 subscription notifications not sent to users via email</description><pubDate>Tue, 06 May 2014 00:00:00 GMT</pubDate></item><item><title>Advanced Poll 6.x versions – XSS Vulnerability</title><link>https://lirantal.com/blog/2013-10-28</link><guid isPermaLink="true">https://lirantal.com/blog/2013-10-28</guid><description>Disclosing a Cross-site Scripting vulnerability in the Advanced Poll module for Drupal.</description><pubDate>Mon, 28 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Drupal Database Log to Syslog</title><link>https://lirantal.com/blog/2013-10-23</link><guid isPermaLink="true">https://lirantal.com/blog/2013-10-23</guid><description>How to disable the Drupal Database Log and enable Syslog instead</description><pubDate>Wed, 23 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Media in Drupal 7 – presenting it in Drupal Camp Israel 2013</title><link>https://lirantal.com/blog/2013-10-21</link><guid isPermaLink="true">https://lirantal.com/blog/2013-10-21</guid><description>One of my first public speaking engagements was at Drupal Camp 2013</description><pubDate>Mon, 21 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Drupal 8 module development #4 – creating a settings file</title><link>https://lirantal.com/blog/2013-10-10</link><guid isPermaLink="true">https://lirantal.com/blog/2013-10-10</guid><description>This is the 4th of several on-going blog post series which aim to educate on the process of porting modules to Drupal 8 with real life examples by porting a popular Drupal 7 module to Drupal 8.</description><pubDate>Thu, 10 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Drupal 8 module development #3 – adding a settings page – revision</title><link>https://lirantal.com/blog/2013-10-01</link><guid isPermaLink="true">https://lirantal.com/blog/2013-10-01</guid><description>Another post in the series of Drupal 8 module development articles. This time we&apos;ll add a settings page to our module.</description><pubDate>Tue, 01 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Drupal 8 module development #3 – adding a settings page</title><link>https://lirantal.com/blog/2013-09-25</link><guid isPermaLink="true">https://lirantal.com/blog/2013-09-25</guid><description>You need a module configuration page for your new Drupal 8 module and here is how to build one using GlobalredirectSettingsForm</description><pubDate>Wed, 25 Sep 2013 00:00:00 GMT</pubDate></item><item><title>Drupal 8 module development #2 – adding basic routing</title><link>https://lirantal.com/blog/2013-09-20</link><guid isPermaLink="true">https://lirantal.com/blog/2013-09-20</guid><description>If you are coming from Drupal 7 you&apos;ll need to figure out how to use globalredirect_menu() and hook_menu() in Drupal 8 to handle page routing</description><pubDate>Fri, 20 Sep 2013 00:00:00 GMT</pubDate></item><item><title>Drupal 8 module development #1 – kickoff</title><link>https://lirantal.com/blog/2013-09-16</link><guid isPermaLink="true">https://lirantal.com/blog/2013-09-16</guid><description>This is the first of several on-going blog post series which aim to educate on the process of porting modules to Drupal 8 with real life examples by porting a popular Drupal 7 module to Drupal 8.</description><pubDate>Mon, 16 Sep 2013 00:00:00 GMT</pubDate></item><item><title>Enabling slideshows in Drupal by converting PPT and PDFs</title><link>https://lirantal.com/blog/2013-09-01</link><guid isPermaLink="true">https://lirantal.com/blog/2013-09-01</guid><description>Using Gearman as a job server to run background scripts that convert media payload like PowerPoint and PDF files into Slideshows hosted on a Drupal site</description><pubDate>Tue, 10 Sep 2013 00:00:00 GMT</pubDate></item><item><title>Drupal 8 development – finding API changes through Drupal’s Change Records</title><link>https://lirantal.com/blog/2013-09-10</link><guid isPermaLink="true">https://lirantal.com/blog/2013-09-10</guid><description>Changesets are helpful to understand Drupal 8 init hook API</description><pubDate>Tue, 10 Sep 2013 00:00:00 GMT</pubDate></item><item><title>OG Content Access in Drupal</title><link>https://lirantal.com/blog/2013-08-29</link><guid isPermaLink="true">https://lirantal.com/blog/2013-08-29</guid><description>About authorization in Drupal with a module to control access to content based on OG membership</description><pubDate>Thu, 29 Aug 2013 00:00:00 GMT</pubDate></item><item><title>OG Analytics – an answer for a D6 organic groups environment</title><link>https://lirantal.com/blog/2013-08-25</link><guid isPermaLink="true">https://lirantal.com/blog/2013-08-25</guid><description>About OG Analytics, a module to provide analytics for organic groups</description><pubDate>Sun, 25 Aug 2013 00:00:00 GMT</pubDate></item><item><title>Writing “Drupal 7 Media</title><link>https://lirantal.com/blog/2013-08-21</link><guid isPermaLink="true">https://lirantal.com/blog/2013-08-21</guid><description>Some awesome news: my book, titled “Drupal 7 Media”, was released by Packt Publishing on July 2013.</description><pubDate>Wed, 21 Aug 2013 00:00:00 GMT</pubDate></item><item><title>More Munin monitoring – track apache web server health</title><link>https://lirantal.com/blog/2013-05-09</link><guid isPermaLink="true">https://lirantal.com/blog/2013-05-09</guid><description>Using mod_status plugin for apache and munin to track apache health</description><pubDate>Thu, 09 May 2013 00:00:00 GMT</pubDate></item><item><title>Book review: Instant Munin Plugin Starter</title><link>https://lirantal.com/blog/2013-04-14</link><guid isPermaLink="true">https://lirantal.com/blog/2013-04-14</guid><description>Reviewing a book about Munin as a monitoring pluing for Nagios</description><pubDate>Sun, 14 Apr 2013 00:00:00 GMT</pubDate></item><item><title>Monitoring Drupal with Munin</title><link>https://lirantal.com/blog/2013-04-03</link><guid isPermaLink="true">https://lirantal.com/blog/2013-04-03</guid><description>How to monitor a Drupal website with Munin plugin for Nagios</description><pubDate>Wed, 03 Apr 2013 00:00:00 GMT</pubDate></item><item><title>Drupal&apos;s 7 Radioactivity patch gets commited</title><link>https://lirantal.com/blog/2013-02-07</link><guid isPermaLink="true">https://lirantal.com/blog/2013-02-07</guid><description>Sending a commit to fix issues with Drupal module</description><pubDate>Thu, 07 Feb 2013 00:00:00 GMT</pubDate></item><item><title>Drupal and how to disable notifications for programmatic node updates</title><link>https://lirantal.com/blog/2013-02-05</link><guid isPermaLink="true">https://lirantal.com/blog/2013-02-05</guid><description>Programatically working updates on Drupal nodes with node_save() hook</description><pubDate>Tue, 05 Feb 2013 00:00:00 GMT</pubDate></item><item><title>Drupal 7 Rules book which I worked on has been published recently</title><link>https://lirantal.com/blog/2013-01-31</link><guid isPermaLink="true">https://lirantal.com/blog/2013-01-31</guid><description>Reviewing a new Drupal 7 book with Packt Publishing</description><pubDate>Thu, 31 Jan 2013 00:00:00 GMT</pubDate></item><item><title>daloRADIUS VM update – missing php-mail-mime extension</title><link>https://lirantal.com/blog/2013-01-12</link><guid isPermaLink="true">https://lirantal.com/blog/2013-01-12</guid><description>Fixing PHP blank page on daloRADIUS</description><pubDate>Sat, 12 Jan 2013 00:00:00 GMT</pubDate></item><item><title>Kupoya</title><link>https://lirantal.com/blog/2013-01-01</link><guid isPermaLink="true">https://lirantal.com/blog/2013-01-01</guid><description>An update on founding Kupoya and entrepreneurship</description><pubDate>Tue, 01 Jan 2013 00:00:00 GMT</pubDate></item><item><title>Melumadim</title><link>https://lirantal.com/blog/2013-01-01_-_melumadim</link><guid isPermaLink="true">https://lirantal.com/blog/2013-01-01_-_melumadim</guid><description>An update on Melumadim - Israel&apos;s academic social networking platform</description><pubDate>Tue, 01 Jan 2013 00:00:00 GMT</pubDate></item><item><title>About daloRADIUS - January 2013 update</title><link>https://lirantal.com/blog/2013-01-01_-_daloradius</link><guid isPermaLink="true">https://lirantal.com/blog/2013-01-01_-_daloradius</guid><description>Get your WiFi the Hotspots it deserves!</description><pubDate>Tue, 01 Jan 2013 00:00:00 GMT</pubDate></item><item><title>Attachment Links module for Drupal fixes for in-browser downloads</title><link>https://lirantal.com/blog/2012-12-19</link><guid isPermaLink="true">https://lirantal.com/blog/2012-12-19</guid><description>The Attachment Links module provides permanent links to files attached to a node. A single, easy-to-remember URL can be used to retrieve the preferred (canonical) or newest version of a file regardless of how many versions of that file have been attached to a node.</description><pubDate>Wed, 19 Dec 2012 00:00:00 GMT</pubDate></item><item><title>Implementing user-specific, role-based access control per node type, per group. (Part 3)</title><link>https://lirantal.com/blog/2012-11-26</link><guid isPermaLink="true">https://lirantal.com/blog/2012-11-26</guid><description>Understanding Drupal&apos;s node access system and how to hook into it to implement</description><pubDate>Mon, 26 Nov 2012 00:00:00 GMT</pubDate></item><item><title>Implementing user-specific, role-based access control per node type, per group. (Part 4)</title><link>https://lirantal.com/blog/2012-12-04</link><guid isPermaLink="true">https://lirantal.com/blog/2012-12-04</guid><description>Understanding Drupal&apos;s node access system and how to hook into it to implement</description><pubDate>Mon, 26 Nov 2012 00:00:00 GMT</pubDate></item><item><title>Implementing user-specific, role-based access control per node type, per group. (Part 2)</title><link>https://lirantal.com/blog/2012-11-19</link><guid isPermaLink="true">https://lirantal.com/blog/2012-11-19</guid><description>Understanding Drupal&apos;s node access system and how to hook into it to implement</description><pubDate>Mon, 19 Nov 2012 00:00:00 GMT</pubDate></item><item><title>Implementing user-specific, role-based access control per node type, per group. (Part 1)</title><link>https://lirantal.com/blog/2012-11-11</link><guid isPermaLink="true">https://lirantal.com/blog/2012-11-11</guid><description>Understanding Drupal&apos;s node access system and how to hook into it to implement</description><pubDate>Sun, 11 Nov 2012 00:00:00 GMT</pubDate></item><item><title>Restricting Drupal’s upload module to N attachments</title><link>https://lirantal.com/blog/2012-11-08</link><guid isPermaLink="true">https://lirantal.com/blog/2012-11-08</guid><description>Assign a per-content type permission to limit the number of attachments per node on Drupal 6</description><pubDate>Thu, 08 Nov 2012 00:00:00 GMT</pubDate></item><item><title>Maintaining states between form submit and node hooks in Drupal 6</title><link>https://lirantal.com/blog/2012-10-26</link><guid isPermaLink="true">https://lirantal.com/blog/2012-10-26</guid><description>Insights about Drupal&apos;s use of node_save() functions and how the hook_nodeapi() uses a different context than the form submit handler</description><pubDate>Fri, 26 Oct 2012 00:00:00 GMT</pubDate></item><item><title>daloRADIUS VM update</title><link>https://lirantal.com/blog/2012-10-13</link><guid isPermaLink="true">https://lirantal.com/blog/2012-10-13</guid><description>Necessary updates for the daloRADIUS VM related to configuration file permissions</description><pubDate>Sat, 13 Oct 2012 00:00:00 GMT</pubDate></item><item><title>Alter WYSIWYG settings in Drupal</title><link>https://lirantal.com/blog/2012-10-09</link><guid isPermaLink="true">https://lirantal.com/blog/2012-10-09</guid><description>Altering WYSIWYG settings to make image URLs absolute so that they are also accessible via Email clients.</description><pubDate>Tue, 09 Oct 2012 00:00:00 GMT</pubDate></item><item><title>Drupal Commons menu items adjustments</title><link>https://lirantal.com/blog/2012-10-05</link><guid isPermaLink="true">https://lirantal.com/blog/2012-10-05</guid><description>Using hook_menu_alter() to adjust menu items in Drupal Commons</description><pubDate>Fri, 05 Oct 2012 00:00:00 GMT</pubDate></item><item><title>Views MySQL OrderBy – Drupal module</title><link>https://lirantal.com/blog/2012-10-02</link><guid isPermaLink="true">https://lirantal.com/blog/2012-10-02</guid><description>A simple Drupal module that provides a Views MySQL OrderBy plugin</description><pubDate>Tue, 02 Oct 2012 00:00:00 GMT</pubDate></item><item><title>Gearman – offloading Drupal tasks to a job server</title><link>https://lirantal.com/blog/2012-09-27</link><guid isPermaLink="true">https://lirantal.com/blog/2012-09-27</guid><description>Integrating Gearman with Drupal as a background job server for cloud-native and event-driven performance</description><pubDate>Thu, 27 Sep 2012 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new website and offering</title><link>https://lirantal.com/blog/2012-09-22</link><guid isPermaLink="true">https://lirantal.com/blog/2012-09-22</guid><description>Updated invoice management and reporting</description><pubDate>Sat, 22 Sep 2012 00:00:00 GMT</pubDate></item><item><title>New billing invoices improvements coming to daloRADIUS</title><link>https://lirantal.com/blog/2010-11-05</link><guid isPermaLink="true">https://lirantal.com/blog/2010-11-05</guid><description>Updated invoice management and reporting</description><pubDate>Fri, 05 Nov 2010 00:00:00 GMT</pubDate></item><item><title>daloRADIUS introduces further billing improvements with invoices and payments</title><link>https://lirantal.com/blog/2010-06-14</link><guid isPermaLink="true">https://lirantal.com/blog/2010-06-14</guid><description>About changes coming to user_id and userbillinfo table for daloRADIUS and FreeRADIUS</description><pubDate>Mon, 14 Jun 2010 00:00:00 GMT</pubDate></item><item><title>daloRADIUS heartbeat Dashboard</title><link>https://lirantal.com/blog/2010-05-11</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-11</guid><description>Monitor daloRADIUS instances from routers, NAS, etc</description><pubDate>Tue, 11 May 2010 00:00:00 GMT</pubDate></item><item><title>daloRADIUS operators handling change</title><link>https://lirantal.com/blog/2010-05-09</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-09</guid><description>RBAC, ACLs, operators, groups, and other access control related changes in daloRADIUS</description><pubDate>Sun, 09 May 2010 00:00:00 GMT</pubDate></item><item><title>daloRADIUS Users Portal changes</title><link>https://lirantal.com/blog/2010-05-09_-_users_portal_daloradius</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-09_-_users_portal_daloradius</guid><description>Users portal login changes related to authentication</description><pubDate>Sun, 09 May 2010 00:00:00 GMT</pubDate></item><item><title>daloRADIUS PDF Invoices</title><link>https://lirantal.com/blog/2010-05-06</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-06</guid><description>Using dompdf to generate PDF invoices for daloRADIUS billing</description><pubDate>Thu, 06 May 2010 00:00:00 GMT</pubDate></item><item><title>Drupal Performance Tip – &apos;I’m too young to die&apos; – know your DB engines</title><link>https://lirantal.com/blog/2014-12-15</link><guid isPermaLink="true">https://lirantal.com/blog/2014-12-15</guid><description>MyISAM or InnoDB? know how to choose database engines</description></item><item><title>The maintainer&apos;s CI workflows recipe for a peaceful open source life</title><link>https://lirantal.com/blog/2021-11-30_the-maintainer-ci-workflow-recipe-for-peaceful-open-source-life</link><guid isPermaLink="true">https://lirantal.com/blog/2021-11-30_the-maintainer-ci-workflow-recipe-for-peaceful-open-source-life</guid><description>My GitHub Actions hackathon application entry is about all the small things that would contribute to a better maintainer life.</description><pubDate>Tue, 30 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Angular vs React: the security risk of indirect dependencies</title><link>https://lirantal.com/blog/angular-vs-react-the-security-risk-of-indirect-dependencies-snyk-af83b24d429e</link><guid isPermaLink="true">https://lirantal.com/blog/angular-vs-react-the-security-risk-of-indirect-dependencies-snyk-af83b24d429e</guid><description>This is a blog mirror of Snyk’s State of JavaScript frameworks security report 2019.</description><pubDate>Wed, 30 Oct 2019 00:01:37 GMT</pubDate></item><item><title>Comparing React and Angular secure coding practices</title><link>https://lirantal.com/blog/comparing-react-and-angular-secure-coding-practices-snyk-96315e3faf7d</link><guid isPermaLink="true">https://lirantal.com/blog/comparing-react-and-angular-secure-coding-practices-snyk-96315e3faf7d</guid><description>As a follow-up to Snyk’s State of JavaScript frameworks security report 2019, this section of the report is about Angular and React…</description><pubDate>Wed, 30 Oct 2019 00:01:35 GMT</pubDate></item><item><title>84% of all websites are impacted by jQuery XSS vulnerabilities</title><link>https://lirantal.com/blog/84-of-all-websites-are-impacted-by-jquery-xss-vulnerabilities-snyk-4c73a935ab11</link><guid isPermaLink="true">https://lirantal.com/blog/84-of-all-websites-are-impacted-by-jquery-xss-vulnerabilities-snyk-4c73a935ab11</guid><description>This article is from Snyk’s State of JavaScript frameworks security report 1.    In this blog post we’ll review security vulnerabilities…</description><pubDate>Wed, 30 Oct 2019 00:01:26 GMT</pubDate></item><item><title>A Snyk peek into Node.js and npm’s state of open source security report 2019</title><link>https://lirantal.com/blog/a-snyk-peek-into-node-js-and-npms-state-of-open-source-security-report-2019-2209a5adc1e0</link><guid isPermaLink="true">https://lirantal.com/blog/a-snyk-peek-into-node-js-and-npms-state-of-open-source-security-report-2019-2209a5adc1e0</guid><description>In the State of Open Source Security Report 2019, we set out to measure the pulse of the open source security landscape throughout the…</description><pubDate>Wed, 09 Oct 2019 14:05:00 GMT</pubDate></item><item><title>My first time at JSConf Budapest, how was it?</title><link>https://lirantal.com/blog/2019-10-04_jsconf-budapest-review</link><guid isPermaLink="true">https://lirantal.com/blog/2019-10-04_jsconf-budapest-review</guid><description>Sharing my thoughts and experience on attending JSConf Budapest for the first time</description><pubDate>Fri, 04 Oct 2019 00:00:00 GMT</pubDate></item><item><title>npm security tips to keep you safe of malicious modules</title><link>https://lirantal.com/blog/2019-08-19_npm-tips-to-keep-you-safe</link><guid isPermaLink="true">https://lirantal.com/blog/2019-08-19_npm-tips-to-keep-you-safe</guid><description>npm security tips to keep you safe of malicious modules</description><pubDate>Mon, 19 Aug 2019 00:00:00 GMT</pubDate></item><item><title>6 stages of refactoring a jest test case</title><link>https://lirantal.com/blog/2019-06-14_6-stages-of-refactoring-a-jest-test-case</link><guid isPermaLink="true">https://lirantal.com/blog/2019-06-14_6-stages-of-refactoring-a-jest-test-case</guid><description>what makes a test case good? how can we improve the developer friendliness when writing test code?</description><pubDate>Fri, 14 Jun 2019 00:00:00 GMT</pubDate></item><item><title>npm passes the 1 millionth package milestone! What can we learn?</title><link>https://lirantal.com/blog/2019-06-04_npm-passes-1-million-packages</link><guid isPermaLink="true">https://lirantal.com/blog/2019-06-04_npm-passes-1-million-packages</guid><description>June 4th is a historic date where the millionth package was indexed into the npm registry. npm is a package manager for JavaScript packages.</description><pubDate>Tue, 04 Jun 2019 00:00:00 GMT</pubDate></item><item><title>Are you building Docker images? here&apos;s how to avoid leaking sensitive information into Docker images</title><link>https://lirantal.com/blog/2019-05-09_avoid-leaking-sensitive-information-when-building-docker-images</link><guid isPermaLink="true">https://lirantal.com/blog/2019-05-09_avoid-leaking-sensitive-information-when-building-docker-images</guid><description>Sometimes, when building an application inside a Docker image, you need secrets such as an SSH private key to pull code from a private repository but you may be going about it the wrong way by leaking secrets into the image. Here is how to avoid it.</description><pubDate>Thu, 09 May 2019 00:00:00 GMT</pubDate></item><item><title>Why you should use COPY instead of ADD when building Docker images</title><link>https://lirantal.com/blog/2019-05-01_why-you-should-use-copy-instead-of-add</link><guid isPermaLink="true">https://lirantal.com/blog/2019-05-01_why-you-should-use-copy-instead-of-add</guid><description>Docker provides two commands for copying files from the host to the Docker image when building it: `COPY` and `ADD`. which one should you use?</description><pubDate>Wed, 01 May 2019 00:00:00 GMT</pubDate></item><item><title>How to securely build Docker images for Node.js</title><link>https://lirantal.com/blog/2019-04-22-securely-build-docker-images</link><guid isPermaLink="true">https://lirantal.com/blog/2019-04-22-securely-build-docker-images</guid><description>When a Dockerfile doesn&apos;t specify a USER directive, what&apos;s the worst that can happen?</description><pubDate>Mon, 22 Apr 2019 00:00:00 GMT</pubDate></item><item><title>Did you hear about the malicious backdoor discovered in the popular bootstrap-sass Ruby gem?</title><link>https://lirantal.com/blog/2019-04-09_the-malicious-backdoor-of-ruby</link><guid isPermaLink="true">https://lirantal.com/blog/2019-04-09_the-malicious-backdoor-of-ruby</guid><description>a malicious version of a Ruby gem used in a Rails application leads to remote code execution on vulnerable servers</description><pubDate>Tue, 09 Apr 2019 00:00:00 GMT</pubDate></item><item><title>A Comprehensive Guide to Contract Testing APIs in a Service Oriented Architecture</title><link>https://lirantal.com/blog/a-comprehensive-guide-to-contract-testing-apis-in-a-service-oriented-architecture-5695ccf9ac5a</link><guid isPermaLink="true">https://lirantal.com/blog/a-comprehensive-guide-to-contract-testing-apis-in-a-service-oriented-architecture-5695ccf9ac5a</guid><description>It is likely you experienced the painful situation of deploying to production only to find out that an API service you integrate with has…</description><pubDate>Thu, 28 Mar 2019 20:30:26 GMT</pubDate></item><item><title>Assess your npm project health and call the doctor!</title><link>https://lirantal.com/blog/2019-03-18_assess-your-npm-project-health</link><guid isPermaLink="true">https://lirantal.com/blog/2019-03-18_assess-your-npm-project-health</guid><description>npm project health assessment</description><pubDate>Mon, 18 Mar 2019 00:00:00 GMT</pubDate></item><item><title>So you think you&apos;re just gonna `npm install`? Think again</title><link>https://lirantal.com/blog/2019-03-10_so-you-think-you-can-npm-install</link><guid isPermaLink="true">https://lirantal.com/blog/2019-03-10_so-you-think-you-can-npm-install</guid><description>installing dependencies is not the same for development as it is for continuous integration systems, in this post I share why.</description><pubDate>Mon, 11 Mar 2019 00:00:00 GMT</pubDate></item><item><title>How to avoid leaking secrets to the npm registry</title><link>https://lirantal.com/blog/2019-03-05_avoid-leaking-secrets-to-npm-registry</link><guid isPermaLink="true">https://lirantal.com/blog/2019-03-05_avoid-leaking-secrets-to-npm-registry</guid><description>10 awesome npm security tips to keep you safe!</description><pubDate>Tue, 05 Mar 2019 00:00:00 GMT</pubDate></item><item><title>The State of — JSHeroes — 2019</title><link>https://lirantal.com/blog/the-state-of-jsheroes-2019-b9714420e44f</link><guid isPermaLink="true">https://lirantal.com/blog/the-state-of-jsheroes-2019-b9714420e44f</guid><description>The JSHeroes conference will take place this year in April and bring in people from all over the world to connect with new and old friends…</description><pubDate>Thu, 07 Feb 2019 10:18:48 GMT</pubDate></item><item><title>Node.js Security WG — January 2019</title><link>https://lirantal.com/blog/node-js-security-wg-january-2019-619ef804cd6d</link><guid isPermaLink="true">https://lirantal.com/blog/node-js-security-wg-january-2019-619ef804cd6d</guid><description>In an effort to better promote and increase engagement in the Node.js Security WG we would like to share highlights more often, ideally…</description><pubDate>Fri, 11 Jan 2019 16:01:00 GMT</pubDate></item><item><title>A Snyk’s Post-Mortem of the Malicious event-stream npm package backdoor</title><link>https://lirantal.com/blog/a-snyks-post-mortem-of-the-malicious-event-stream-npm-package-backdoor-40be813022bb</link><guid isPermaLink="true">https://lirantal.com/blog/a-snyks-post-mortem-of-the-malicious-event-stream-npm-package-backdoor-40be813022bb</guid><description>Last week the imaginable happened. A malicious package, flatmap-stream, was published to npm and was later added as a dependency to the…</description><pubDate>Thu, 06 Dec 2018 17:39:09 GMT</pubDate></item><item><title>Fighting npm typosquatting attacks and naming rules for npm modules</title><link>https://lirantal.com/blog/fighting-npm-typosquatting-attacks-and-naming-rules-for-npm-modules-a0b7a86344aa</link><guid isPermaLink="true">https://lirantal.com/blog/fighting-npm-typosquatting-attacks-and-naming-rules-for-npm-modules-a0b7a86344aa</guid><description>I guess naming is a hard task in general, and for the npm registry, the naming rules have evolved from what they were to begin with, much…</description><pubDate>Tue, 18 Sep 2018 01:01:01 GMT</pubDate></item><item><title>Demystifying Jest Async Testing Patterns</title><link>https://lirantal.com/blog/demystifying-jest-async-testing-patterns-b730d4cca4ec</link><guid isPermaLink="true">https://lirantal.com/blog/demystifying-jest-async-testing-patterns-b730d4cca4ec</guid><description>There are several traps that are easy to fall to when it comes to async testing. Moreover, there are several methods of achieving the same…</description><pubDate>Thu, 09 Aug 2018 11:47:06 GMT</pubDate></item><item><title>Malicious Modules — what you need to know when installing npm packages</title><link>https://lirantal.com/blog/malicious-modules-what-you-need-to-know-when-installing-npm-packages-12b2f56d3685</link><guid isPermaLink="true">https://lirantal.com/blog/malicious-modules-what-you-need-to-know-when-installing-npm-packages-12b2f56d3685</guid><description>What if someone was able to directly publish a new vulnerable React version?</description><pubDate>Tue, 17 Jul 2018 09:56:53 GMT</pubDate></item><item><title>What would you focus on when hiring engineering vp for a team of 10?</title><link>https://lirantal.com/blog/2018-06-31_engineering-managment</link><guid isPermaLink="true">https://lirantal.com/blog/2018-06-31_engineering-managment</guid><description>Let&apos;s assume you are tasked with hiring a VP Engineering for a relatively small team, say 10 engineers, which is on a growth trend as the company gets bigger.</description><pubDate>Sun, 01 Jul 2018 00:00:00 GMT</pubDate></item><item><title>Reasons to Love Jest: The Developer Experience</title><link>https://lirantal.com/blog/reasons-to-love-jest-the-developer-experience-b00ec93df7bb</link><guid isPermaLink="true">https://lirantal.com/blog/reasons-to-love-jest-the-developer-experience-b00ec93df7bb</guid><description>Oh yes. The Developer Experience with Jest is transforming the act of writing tests from a chore to hell of a fun time, promise! 🤓</description><pubDate>Thu, 28 Jun 2018 05:50:45 GMT</pubDate></item><item><title>Reasons to Love Jest: The Test Framework</title><link>https://lirantal.com/blog/reasons-to-love-jest-the-test-framework-ae19b49c02c3</link><guid isPermaLink="true">https://lirantal.com/blog/reasons-to-love-jest-the-test-framework-ae19b49c02c3</guid><description>We had Tape, Mocha, Ava, and now Jest. Let’s see what this is all about!</description><pubDate>Wed, 20 Jun 2018 11:56:15 GMT</pubDate></item><item><title>Meet the Node.js Security Working Group</title><link>https://lirantal.com/blog/meet-the-node-js-security-working-group-30b9f00b678</link><guid isPermaLink="true">https://lirantal.com/blog/meet-the-node-js-security-working-group-30b9f00b678</guid><description>In this post I would like to acquaint you with the work being done by the Node.js Security Working Group (WG) and how we’re improving the…</description><pubDate>Thu, 31 May 2018 15:00:24 GMT</pubDate></item><item><title>How a RegEx can bring your Node.js service down</title><link>https://lirantal.com/blog/node-js-pitfalls-how-a-regex-can-bring-your-system-down-cbf1dc6c4e02</link><guid isPermaLink="true">https://lirantal.com/blog/node-js-pitfalls-how-a-regex-can-bring-your-system-down-cbf1dc6c4e02</guid><description>The use of Regular Expressions (RegEx) is quite common among software engineers and DevOps or IT roles where they specify a string pattern…</description><pubDate>Mon, 14 May 2018 13:26:05 GMT</pubDate></item><item><title>A suggested approach for your next project: RDD — README Driven Development</title><link>https://lirantal.com/blog/a-suggested-approach-for-your-next-project-rdd-readme-driven-development-5fc64c7845db</link><guid isPermaLink="true">https://lirantal.com/blog/a-suggested-approach-for-your-next-project-rdd-readme-driven-development-5fc64c7845db</guid><description>Side projects are an amazing thing.We learn, experiment, and collaborate with the world through them.</description><pubDate>Sat, 28 Apr 2018 18:40:27 GMT</pubDate></item><item><title>Setting the platform with your team — A Manager’s README</title><link>https://lirantal.com/blog/setting-the-platform-with-your-team-a-managers-readme-32764bbc8455</link><guid isPermaLink="true">https://lirantal.com/blog/setting-the-platform-with-your-team-a-managers-readme-32764bbc8455</guid><description>A crucial part of being an engineering manager is on-boarding to a new team, or on-boarding others to yours. The important bits there is…</description><pubDate>Wed, 04 Apr 2018 10:21:31 GMT</pubDate></item><item><title>Node.js — Integration Testing with Pact.js</title><link>https://lirantal.com/blog/node-js-integration-testing-with-pact-js-1a2ea8aa3116</link><guid isPermaLink="true">https://lirantal.com/blog/node-js-integration-testing-with-pact-js-1a2ea8aa3116</guid><description>In a previous article we reviewed how Consumer-Driven Contracts (CDC) help with integration testing in an environment that is rich with…</description><pubDate>Mon, 05 Mar 2018 18:41:08 GMT</pubDate></item><item><title>💚 3 Valentine’s Poems for a Beloved &amp; Secure Node.js App</title><link>https://lirantal.com/blog/3-valentines-poems-for-a-beloved-secure-node-js-app-bc9dc27dca00</link><guid isPermaLink="true">https://lirantal.com/blog/3-valentines-poems-for-a-beloved-secure-node-js-app-bc9dc27dca00</guid><description>Dedicated to everyone whom are helpless romantics as I am, and hopelessly in-love with their Node.js apps.</description><pubDate>Fri, 16 Feb 2018 14:14:28 GMT</pubDate></item><item><title>Terrified of NPM security? please don’t blindly follow the panic</title><link>https://lirantal.com/blog/npm-security-please-dont-blindly-follow-the-panic-f724871ba1a8</link><guid isPermaLink="true">https://lirantal.com/blog/npm-security-please-dont-blindly-follow-the-panic-f724871ba1a8</guid><description>So you too panicked over security in the npm repository due to a recent blog post?</description><pubDate>Sun, 07 Jan 2018 23:41:21 GMT</pubDate></item><item><title>Migrating a Mocha project to Jest Test Framework</title><link>https://lirantal.com/blog/migrating-a-mocha-project-to-jest-test-framework-76d13d76685</link><guid isPermaLink="true">https://lirantal.com/blog/migrating-a-mocha-project-to-jest-test-framework-76d13d76685</guid><description>I like mocha just like the next guy, but sometimes it’s time to move on. We’re talking about iced coffee, right?</description><pubDate>Sun, 26 Nov 2017 11:06:20 GMT</pubDate></item><item><title>🔨 The long over-due commit of Open Source</title><link>https://lirantal.com/blog/the-long-over-due-commit-of-open-source-a08337438a29</link><guid isPermaLink="true">https://lirantal.com/blog/the-long-over-due-commit-of-open-source-a08337438a29</guid><description>This is a story of patience in Open Source, where every bug, every Pull-Request gets attention.</description><pubDate>Mon, 09 Oct 2017 05:58:17 GMT</pubDate></item><item><title>The long over-due commit of Open Source</title><link>https://lirantal.com/blog/2017-10-09_the-long-overdue-commit-of-opensource</link><guid isPermaLink="true">https://lirantal.com/blog/2017-10-09_the-long-overdue-commit-of-opensource</guid><description>This is a story of patience in Open Source, where every bug, every Pull-Request gets attention.</description><pubDate>Mon, 09 Oct 2017 00:00:00 GMT</pubDate></item><item><title>Scalable Integration Testing for Microservices Deployments</title><link>https://lirantal.com/blog/scalable-integration-testing-for-microservices-deployments-e03e29dd1280</link><guid isPermaLink="true">https://lirantal.com/blog/scalable-integration-testing-for-microservices-deployments-e03e29dd1280</guid><description>Many jumped the gun on microservices, and they are ubiquitous today more than ever for implementing service oriented architectures…</description><pubDate>Tue, 19 Sep 2017 21:00:17 GMT</pubDate></item><item><title>Securing a Node.js + RethinkDB + TLS setup on Docker containers</title><link>https://lirantal.com/blog/securing-a-node-js-rethinkdb-tls-setup-on-docker-containers-84413d32dd39</link><guid isPermaLink="true">https://lirantal.com/blog/securing-a-node-js-rethinkdb-tls-setup-on-docker-containers-84413d32dd39</guid><description>Intro</description><pubDate>Thu, 10 Aug 2017 15:38:52 GMT</pubDate></item><item><title>Wiring up Ava.js Integration Tests with Express, Gulp, but not Supertest.</title><link>https://lirantal.com/blog/wiring-up-ava-js-integration-tests-with-express-gulp-but-not-supertest-a2edc75a042</link><guid isPermaLink="true">https://lirantal.com/blog/wiring-up-ava-js-integration-tests-with-express-gulp-but-not-supertest-a2edc75a042</guid><description>Gulp, the streaming build system for JavaScript source code probably doesn’t require an introduction, and most probably you’ve configured…</description><pubDate>Thu, 16 Mar 2017 19:12:50 GMT</pubDate></item><item><title>3 Things You Didn’t Know About Yarn</title><link>https://lirantal.com/blog/3-things-you-didnt-know-about-yarn-877416ac40c3</link><guid isPermaLink="true">https://lirantal.com/blog/3-things-you-didnt-know-about-yarn-877416ac40c3</guid><description>Everyone talk about Yarn’s speed and reliability but no one mentions any of the below nice-to-know facts about Yarn.</description><pubDate>Tue, 28 Feb 2017 14:56:22 GMT</pubDate></item><item><title>Node.js Yarn’ing for Local Packages</title><link>https://lirantal.com/blog/node-js-yarning-for-local-packages-9a7970edea7</link><guid isPermaLink="true">https://lirantal.com/blog/node-js-yarning-for-local-packages-9a7970edea7</guid><description>This is not another praise for npm package management with Yarn but rather a concise recipe for working with locally developed packages.</description><pubDate>Wed, 08 Feb 2017 16:40:30 GMT</pubDate></item><item><title>Hidden features of Gulp for integration tests with Ava.js.</title><link>https://lirantal.com/blog/hidden-features-of-gulp-for-integration-tests-with-ava-js-bc6cad0b6475</link><guid isPermaLink="true">https://lirantal.com/blog/hidden-features-of-gulp-for-integration-tests-with-ava-js-bc6cad0b6475</guid><description>This is a bit of a follow-up to my previous post on Wiring up Ava.js Integration Tests with Express, Gulp, but not Supertest.</description><pubDate>Mon, 23 Jan 2017 15:49:51 GMT</pubDate></item><item><title>The JavaScript Test Runners Evolution</title><link>https://lirantal.com/blog/the-javascript-test-runners-evolution-789c7a64b9e3</link><guid isPermaLink="true">https://lirantal.com/blog/the-javascript-test-runners-evolution-789c7a64b9e3</guid><description>Like with everything else in the JavaScript ecosystem, test automation tools are also going through a high pursuit speed race and nobody is…</description><pubDate>Tue, 10 Jan 2017 21:55:23 GMT</pubDate></item><item><title>The 1990s and 2600: The Hacker Quarterly</title><link>https://lirantal.com/blog/the-1990s-and-2600-the-hacker-quarterly-8284e5e140bd</link><guid isPermaLink="true">https://lirantal.com/blog/the-1990s-and-2600-the-hacker-quarterly-8284e5e140bd</guid><description>Oh those magnificent days of the 1990s.</description><pubDate>Fri, 06 Jan 2017 07:09:08 GMT</pubDate></item><item><title>When Startups Go Open Source and Merge Your Code</title><link>https://lirantal.com/blog/when-startups-go-open-source-and-merge-your-code-db8a54f25bd1</link><guid isPermaLink="true">https://lirantal.com/blog/when-startups-go-open-source-and-merge-your-code-db8a54f25bd1</guid><description>This Open Source thing is the real deal.</description><pubDate>Thu, 29 Dec 2016 20:26:57 GMT</pubDate></item><item><title>Keep on Babeling with ES6</title><link>https://lirantal.com/blog/keep-on-babeling-with-es6-91d459e01676</link><guid isPermaLink="true">https://lirantal.com/blog/keep-on-babeling-with-es6-91d459e01676</guid><description>In my previous post we did a crash course to Babel.js, let’s now dive deeper down the rabbit hole.</description><pubDate>Mon, 19 Dec 2016 10:40:36 GMT</pubDate></item><item><title>Making $500 from Open Source Software</title><link>https://lirantal.com/blog/making-500-from-open-source-software-108c134e2651</link><guid isPermaLink="true">https://lirantal.com/blog/making-500-from-open-source-software-108c134e2651</guid><description>By all means this is not a joke, nor a spam.You can really, truly, make $500 dollars if you are able to just find one security…</description><pubDate>Thu, 08 Dec 2016 22:05:20 GMT</pubDate></item><item><title>Docker Hub Image in Warp Speed for Open Source Projects</title><link>https://lirantal.com/blog/docker-hub-image-in-warp-speed-for-open-source-projects-cb7eb6f0a173</link><guid isPermaLink="true">https://lirantal.com/blog/docker-hub-image-in-warp-speed-for-open-source-projects-cb7eb6f0a173</guid><description>I recently announced on social media about my latest Docker utility — a Node.js shell UI to easily manage your docker containers. It’s an…</description><pubDate>Mon, 05 Dec 2016 15:39:03 GMT</pubDate></item><item><title>Primer to Babel.js</title><link>https://lirantal.com/blog/primer-to-babel-js-1c064fc0f236</link><guid isPermaLink="true">https://lirantal.com/blog/primer-to-babel-js-1c064fc0f236</guid><description>I’m sure you’re interested in ES6, supporting JSX, etc.So I worked out this intro so you can get up to speed really quick and really clear…</description><pubDate>Mon, 28 Nov 2016 13:36:52 GMT</pubDate></item><item><title>No one cares about software licensing anymore</title><link>https://lirantal.com/blog/no-one-cares-about-software-licensing-anymore-452ecda9cdcc</link><guid isPermaLink="true">https://lirantal.com/blog/no-one-cares-about-software-licensing-anymore-452ecda9cdcc</guid><description>Let’s talk about open software software engineers.</description><pubDate>Thu, 24 Nov 2016 11:02:25 GMT</pubDate></item><item><title>Avoid The Node.js Security Storm</title><link>https://lirantal.com/blog/avoid-the-node-js-security-storm-b073171a663f</link><guid isPermaLink="true">https://lirantal.com/blog/avoid-the-node-js-security-storm-b073171a663f</guid><description>Keeping your 3rd party project dependencies secured is such an important task that you can’t under-estimate.</description><pubDate>Thu, 17 Nov 2016 14:09:10 GMT</pubDate></item><item><title>The Road to Node.js ES6</title><link>https://lirantal.com/blog/the-road-to-node-js-es6-b17f07c98df1</link><guid isPermaLink="true">https://lirantal.com/blog/the-road-to-node-js-es6-b17f07c98df1</guid><description>So you’re interested in writing up some ES6 on your server-side NodeJS project? awesome! you’re in the right place.</description><pubDate>Tue, 08 Nov 2016 13:22:41 GMT</pubDate></item><item><title>A Year of Open Source (2016)</title><link>https://lirantal.com/blog/a-year-of-open-source-2016-5886b0535286</link><guid isPermaLink="true">https://lirantal.com/blog/a-year-of-open-source-2016-5886b0535286</guid><description>We recently celebrated Rosh Hashana, which is the Jewish New Year, so obviously a lot of self examination which translate to us engineers…</description><pubDate>Tue, 01 Nov 2016 15:38:03 GMT</pubDate></item><item><title>Innovating Open Source by building on the giants of others</title><link>https://lirantal.com/blog/innovating-open-source-by-building-on-the-giants-of-others-cf0a6e16ef54</link><guid isPermaLink="true">https://lirantal.com/blog/innovating-open-source-by-building-on-the-giants-of-others-cf0a6e16ef54</guid><description>We often find ourselves creating a new libraries, tools, and some times frameworks and bigger projects. When you end up releasing those…</description><pubDate>Mon, 26 Sep 2016 14:57:18 GMT</pubDate></item><item><title>The Dawn of Linux</title><link>https://lirantal.com/blog/the-dawn-of-linux-12d777f37c7e</link><guid isPermaLink="true">https://lirantal.com/blog/the-dawn-of-linux-12d777f37c7e</guid><description>Linux is all over the place. Seriously.</description><pubDate>Sun, 18 Sep 2016 08:37:30 GMT</pubDate></item><item><title>This is Open Source too: Contributing Documentation</title><link>https://lirantal.com/blog/this-is-open-source-too-contributing-documentation-aebb122414c2</link><guid isPermaLink="true">https://lirantal.com/blog/this-is-open-source-too-contributing-documentation-aebb122414c2</guid><description>So what does Open Source software mean in real life? I promise no fancy philosophies and day-long lectures by Richard Stallman about open…</description><pubDate>Tue, 13 Sep 2016 14:41:49 GMT</pubDate></item><item><title>Docker setup for MEAN.JS JavaScript Development</title><link>https://lirantal.com/blog/2016-09-12_-docker-setup-for-meanjs-javascript-development</link><guid isPermaLink="true">https://lirantal.com/blog/2016-09-12_-docker-setup-for-meanjs-javascript-development</guid><description>Let me tell you how quickly you can get up and running with developing on the MEAN.JS JavaScript stack.</description><pubDate>Mon, 12 Sep 2016 00:00:00 GMT</pubDate></item><item><title>You too can contribute to AngularJS</title><link>https://lirantal.com/blog/you-too-can-contribute-to-angularjs-5861ce19cd42</link><guid isPermaLink="true">https://lirantal.com/blog/you-too-can-contribute-to-angularjs-5861ce19cd42</guid><description>What if I told you that you can contribute to AngularJS?</description><pubDate>Mon, 15 Aug 2016 08:45:36 GMT</pubDate></item><item><title>daloRADIUS New Batch Users Management</title><link>https://lirantal.com/blog/2010-05-05</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-05</guid><description>Bulk user import and other management actions in daloRADIUS web UI</description><pubDate>Wed, 05 May 2010 00:00:00 GMT</pubDate></item><item><title>FreeRADIUS sample config files</title><link>https://lirantal.com/blog/2010-05-05_-_freeradius_sample_config</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-05_-_freeradius_sample_config</guid><description>get your freeradius and raddb configuration files ready to go</description><pubDate>Wed, 05 May 2010 00:00:00 GMT</pubDate></item><item><title>HuntGroups control from daloRADIUS</title><link>https://lirantal.com/blog/2010-05-05_-_daloradius_huntgroups</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-05_-_daloradius_huntgroups</guid><description>open source contribution from Filippo Maria Del Prete adds HuntGroups control to daloRADIUS</description><pubDate>Wed, 05 May 2010 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new feature: Import CSV Users</title><link>https://lirantal.com/blog/2010-05-05_-_daloradius_import</link><guid isPermaLink="true">https://lirantal.com/blog/2010-05-05_-_daloradius_import</guid><description>Auth-type based users import from CSV</description><pubDate>Wed, 05 May 2010 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new feature: accounting plans usage</title><link>https://lirantal.com/blog/2009-07-04</link><guid isPermaLink="true">https://lirantal.com/blog/2009-07-04</guid><description>Track accounting plans usage for your users with daloRADIUS</description><pubDate>Sat, 04 Jul 2009 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new feature: Graphs include Megabytes/Gigabytes view</title><link>https://lirantal.com/blog/2009-07-04_-_graphs_with_daloradius</link><guid isPermaLink="true">https://lirantal.com/blog/2009-07-04_-_graphs_with_daloradius</guid><description>Updates to graphs and charting in daloRADIUS</description><pubDate>Sat, 04 Jul 2009 00:00:00 GMT</pubDate></item><item><title>daloRADIUS 0.9-8</title><link>https://lirantal.com/blog/2009-02-01</link><guid isPermaLink="true">https://lirantal.com/blog/2009-02-01</guid><description>A new release of daloRADIUS is out with many new features and bug fixes</description><pubDate>Sun, 01 Feb 2009 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new feature: PayPal Transactions Billing</title><link>https://lirantal.com/blog/2008-11-01</link><guid isPermaLink="true">https://lirantal.com/blog/2008-11-01</guid><description>The new locations feature in daloRADIUS allows you to configure multiple databases for your radius server.</description><pubDate>Sat, 01 Nov 2008 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new feature: locations</title><link>https://lirantal.com/blog/2008-10-23</link><guid isPermaLink="true">https://lirantal.com/blog/2008-10-23</guid><description>The new locations feature in daloRADIUS allows you to configure multiple databases for your radius server.</description><pubDate>Thu, 23 Oct 2008 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new feature: backups</title><link>https://lirantal.com/blog/2008-08-08</link><guid isPermaLink="true">https://lirantal.com/blog/2008-08-08</guid><description>Building backups feature into daloRADIUS to allow backup/restore capability from the user interface.</description><pubDate>Fri, 08 Aug 2008 00:00:00 GMT</pubDate></item><item><title>daloRADIUS new feature: import vendors</title><link>https://lirantal.com/blog/2008-08-02</link><guid isPermaLink="true">https://lirantal.com/blog/2008-08-02</guid><description>Importing vendor data into daloRADIUS</description><pubDate>Sat, 02 Aug 2008 00:00:00 GMT</pubDate></item><item><title>Interview with Liran Tal, author of daloRADIUS</title><link>https://lirantal.com/blog/2008-06-23_daloradius-interview-with-liran-tal</link><guid isPermaLink="true">https://lirantal.com/blog/2008-06-23_daloradius-interview-with-liran-tal</guid><description>daloRADIUS is a web application written in PHP with the purpose to manage a RADIUS (Remote Authentication Dial In User Service) deployment, suited for both WISPs (Wireless Internet Service Providers) and Hotspots.</description><pubDate>Mon, 23 Jun 2008 00:00:00 GMT</pubDate></item><item><title>Development in Open Source</title><link>https://lirantal.com/blog/2008-04-23_development_in_open_source_interview</link><guid isPermaLink="true">https://lirantal.com/blog/2008-04-23_development_in_open_source_interview</guid><description>Open Source projects have gained in the past few years an entirely different reputation in the public&apos;s eye, in a good sense.</description><pubDate>Wed, 23 Apr 2008 00:00:00 GMT</pubDate></item><item><title>Rene Descartes and Computer Science</title><link>https://lirantal.com/blog/2007-11-12</link><guid isPermaLink="true">https://lirantal.com/blog/2007-11-12</guid><description>where do you think the idea of using variables in computer science came from?</description><pubDate>Mon, 12 Nov 2007 00:00:00 GMT</pubDate></item><item><title>Jabberd2 Deployment</title><link>https://lirantal.com/blog/2007-10-27</link><guid isPermaLink="true">https://lirantal.com/blog/2007-10-27</guid><description>Conferencing room for your Asterisk PBX</description><pubDate>Thu, 18 Oct 2007 00:00:00 GMT</pubDate></item><item><title>Jabberd2 deployment notes</title><link>https://lirantal.com/blog/2007-10-17</link><guid isPermaLink="true">https://lirantal.com/blog/2007-10-17</guid><description>Conferencing room for your Asterisk PBX</description><pubDate>Wed, 17 Oct 2007 00:00:00 GMT</pubDate></item><item><title>Device drivers migration in Linux</title><link>https://lirantal.com/blog/2007-10-15</link><guid isPermaLink="true">https://lirantal.com/blog/2007-10-15</guid><description>Moving from linux 2.4 to 2.6 by recompiling linux kernel device drivers</description><pubDate>Mon, 15 Oct 2007 00:00:00 GMT</pubDate></item><item><title>How to tell if you’re a kernel geek?</title><link>https://lirantal.com/blog/2007-10-02</link><guid isPermaLink="true">https://lirantal.com/blog/2007-10-02</guid><description>Moving from linux 2.4 to 2.6 by recompiling linux kernel device drivers</description><pubDate>Tue, 02 Oct 2007 00:00:00 GMT</pubDate></item><item><title>daloRADIUS Logos</title><link>https://lirantal.com/blog/daloradius-logos</link><guid isPermaLink="true">https://lirantal.com/blog/daloradius-logos</guid><description>Launching new logos for the daloRADIUS project</description><pubDate>Mon, 20 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Been Gone</title><link>https://lirantal.com/blog/2007-08-20_-dad_is_gone</link><guid isPermaLink="true">https://lirantal.com/blog/2007-08-20_-dad_is_gone</guid><description>I... miss my dad :(</description><pubDate>Mon, 20 Aug 2007 00:00:00 GMT</pubDate></item><item><title>A Day In a Life – Poem to a friend</title><link>https://lirantal.com/blog/2007-06-27</link><guid isPermaLink="true">https://lirantal.com/blog/2007-06-27</guid><description>Memories and nostalgia</description><pubDate>Wed, 27 Jun 2007 00:00:00 GMT</pubDate></item><item><title>OpenSER and FreeRADIUS integration</title><link>https://lirantal.com/blog/2007-06-20</link><guid isPermaLink="true">https://lirantal.com/blog/2007-06-20</guid><description>Getting OpenSER to work with FreeRADIUS</description><pubDate>Wed, 20 Jun 2007 00:00:00 GMT</pubDate></item><item><title>Development in Open Source</title><link>https://lirantal.com/blog/2007-05-16</link><guid isPermaLink="true">https://lirantal.com/blog/2007-05-16</guid><description>projects of Open Source nature will continue to revolutionize the technology industry and take us further into new grounds of socialism with recognition that knowledge sharing produces good things.</description><pubDate>Wed, 16 May 2007 00:00:00 GMT</pubDate></item><item><title>FreeSWITCH – A new revolution in VoIP?</title><link>https://lirantal.com/blog/2007-05-09</link><guid isPermaLink="true">https://lirantal.com/blog/2007-05-09</guid><description>Next incumbent to Asterisk? I’ve stumbled upon FreeSWITCH</description><pubDate>Wed, 09 May 2007 00:00:00 GMT</pubDate></item><item><title>Missing php5-pdo-sqlite on Ubuntu Dapper</title><link>https://lirantal.com/blog/2007-04-19</link><guid isPermaLink="true">https://lirantal.com/blog/2007-04-19</guid><description>How to compile a Linux kernel module without needing to resort to a full Linux kernel compilation process</description><pubDate>Thu, 19 Apr 2007 00:00:00 GMT</pubDate></item><item><title>Compiling single kernel module</title><link>https://lirantal.com/blog/2007-02-04</link><guid isPermaLink="true">https://lirantal.com/blog/2007-02-04</guid><description>How to compile a Linux kernel module without needing to resort to a full Linux kernel compilation process</description><pubDate>Sun, 04 Feb 2007 00:00:00 GMT</pubDate></item><item><title>Smashing OpenWRT Embedded for fun</title><link>https://lirantal.com/blog/2007-01-16</link><guid isPermaLink="true">https://lirantal.com/blog/2007-01-16</guid><description>Fancy some Linux-based network equipment hacking? get in on this article about OpenWRT!</description><pubDate>Tue, 16 Jan 2007 00:00:00 GMT</pubDate></item><item><title>HUD Manager module for FreePBX</title><link>https://lirantal.com/blog/2007-01-09</link><guid isPermaLink="true">https://lirantal.com/blog/2007-01-09</guid><description>Add some FreePBX magic to your VoIP setup</description><pubDate>Tue, 09 Jan 2007 00:00:00 GMT</pubDate></item><item><title>Hylafax + Iaxmodem on pure Asterisk/FreePBX (replacing (rt)fax)</title><link>https://lirantal.com/blog/2006-11-23</link><guid isPermaLink="true">https://lirantal.com/blog/2006-11-23</guid><description>More juicy linux-based Asterisk telephony recipes for you</description><pubDate>Thu, 23 Nov 2006 00:00:00 GMT</pubDate></item><item><title>Administration made easy for web hosting</title><link>https://lirantal.com/blog/2006-11-19</link><guid isPermaLink="true">https://lirantal.com/blog/2006-11-19</guid><description>Get your sysadmin skills in the groove</description><pubDate>Sun, 19 Nov 2006 00:00:00 GMT</pubDate></item><item><title>WiFi Support on Ubuntu Dapper</title><link>https://lirantal.com/blog/2006-13-11</link><guid isPermaLink="true">https://lirantal.com/blog/2006-13-11</guid><description>Get your Wireless up and running on Ubuntu</description><pubDate>Mon, 13 Nov 2006 00:00:00 GMT</pubDate></item><item><title>Linux Certifications or not?</title><link>https://lirantal.com/blog/2006-10-30</link><guid isPermaLink="true">https://lirantal.com/blog/2006-10-30</guid><description>Certify my skills</description><pubDate>Mon, 30 Oct 2006 00:00:00 GMT</pubDate></item><item><title>HUDLITE-SERVER on Debian</title><link>https://lirantal.com/blog/2006-10-10</link><guid isPermaLink="true">https://lirantal.com/blog/2006-10-10</guid><description>how to get Hudlite telephony Linux system working</description><pubDate>Tue, 10 Oct 2006 00:00:00 GMT</pubDate></item><item><title>Allegro Linux</title><link>https://lirantal.com/blog/2006-09-08</link><guid isPermaLink="true">https://lirantal.com/blog/2006-09-08</guid><description>A new Linux distribution</description><pubDate>Tue, 12 Sep 2006 00:00:00 GMT</pubDate></item><item><title>CoffeShops Billed VoIP Services</title><link>https://lirantal.com/blog/2006-09-12</link><guid isPermaLink="true">https://lirantal.com/blog/2006-09-12</guid><description>Get your hands on some VoIP with Asterisk</description><pubDate>Tue, 12 Sep 2006 00:00:00 GMT</pubDate></item><item><title>A Jewish Ninja?</title><link>https://lirantal.com/blog/2006-09-03</link><guid isPermaLink="true">https://lirantal.com/blog/2006-09-03</guid><description>The intersection of Judaism and martial arts?</description><pubDate>Sun, 03 Sep 2006 00:00:00 GMT</pubDate></item><item><title>Tinkerbel Linux- Paris Hilton’s own distribution</title><link>https://lirantal.com/blog/2006-09-03_tinkerbell_linux</link><guid isPermaLink="true">https://lirantal.com/blog/2006-09-03_tinkerbell_linux</guid><description>A hit Linux distribution from the very own Paris Hilton</description><pubDate>Sun, 03 Sep 2006 00:00:00 GMT</pubDate></item><item><title>Streaming multicast videos with VLC and mini-sap server</title><link>https://lirantal.com/blog/2006-08-21</link><guid isPermaLink="true">https://lirantal.com/blog/2006-08-21</guid><description>All about VideoLAN (VLC) and mini-sap server</description><pubDate>Mon, 21 Aug 2006 00:00:00 GMT</pubDate></item><item><title>Poetry, episode 1</title><link>https://lirantal.com/blog/2006-07-21</link><guid isPermaLink="true">https://lirantal.com/blog/2006-07-21</guid><description>Liran Tal writes English poetry</description><pubDate>Fri, 21 Jul 2006 00:00:00 GMT</pubDate></item><item><title>nessus3 install issue on ubuntu</title><link>https://lirantal.com/blog/2006-07-14</link><guid isPermaLink="true">https://lirantal.com/blog/2006-07-14</guid><description>how to fix Nessus3 and its missing dependency</description><pubDate>Fri, 14 Jul 2006 00:00:00 GMT</pubDate></item><item><title>Ubuntu Laptop Guide</title><link>https://lirantal.com/blog/2006_07-11</link><guid isPermaLink="true">https://lirantal.com/blog/2006_07-11</guid><description>how to fix Nessus3 and its missing dependency</description><pubDate>Tue, 11 Jul 2006 00:00:00 GMT</pubDate></item><item><title>MythEmail Plugin</title><link>https://lirantal.com/blog/2006-07-10</link><guid isPermaLink="true">https://lirantal.com/blog/2006-07-10</guid><description>MythEmail plugin for the glorious MythTV all-around streamer and home media entertainment system</description><pubDate>Mon, 10 Jul 2006 00:00:00 GMT</pubDate></item><item><title>Apple’s Trailers hand-out</title><link>https://lirantal.com/blog/2006-07-08</link><guid isPermaLink="true">https://lirantal.com/blog/2006-07-08</guid><description>A useful PHP and Perl script to grab Apple trailers</description><pubDate>Sat, 08 Jul 2006 00:00:00 GMT</pubDate></item><item><title>Open Source involvement</title><link>https://lirantal.com/blog/2006-07-07</link><guid isPermaLink="true">https://lirantal.com/blog/2006-07-07</guid><description>A compilation update of Liran Tal&apos;s open source activities</description><pubDate>Fri, 07 Jul 2006 00:00:00 GMT</pubDate></item><item><title>Practical VPns with l2tpns</title><link>https://lirantal.com/blog/2006-04-24_practical_vpns_implemntation_with_l2tpns</link><guid isPermaLink="true">https://lirantal.com/blog/2006-04-24_practical_vpns_implemntation_with_l2tpns</guid><description>This document was compiled from the administrator&apos;s point of view, to explain what are VPNs, how they are deployed today and to detail the necessary steps and tools to achieve and create a fully working VPN solution, integrated with RADIUS systems for AAA.</description><pubDate>Mon, 24 Apr 2006 00:00:00 GMT</pubDate></item></channel></rss>