- Explore Airbyte’s Change Data Capture (CDC) synchronization (Sep 29, 2022)
- Explore Airbyte’s incremental data synchronization (Sep 8, 2022)
- Explore Airbyte’s full refresh data synchronization (Aug 2, 2022)
- Build a connector to extract data from the Webflow API (June 29, 2022)
- Data Integration Guide: Techniques, Technologies, and Tools (May 19, 2022)
Many of the blogs below have also been co-published on Elastic’s official blog.
- Using Logstash to scan inside event contents and to replace sensitive data with a consistent hash (Jan 20, 2022)
- Combining Elasticsearch stemmers and synonyms to improve search relevance (May 16, 2021)
- Driving Filebeat data into separate indices (uses legacy index templates) (March 15, 2021)
- Using Kibana’s Painless Lab (Beta) to test an ingest processor script (Nov 9, 2020)
- Using Elasticsearch Painless scripting to recursively iterate through JSON fields (Nov 6, 2020)
- Understanding and fixing “too many script compilations” errors in Elasticsearch (Oct 21, 2020)
- Using Logstash and Elasticsearch to calculate transaction duration in a microservices architecture (Sep 16, 2020)
- Using Grok with Elasticsearch to add structure to your data (July 13, 2020)
- Storing ingest time and calculating ingest lag in Elasticsearch (June 2, 2020)
- Using boolean queries to improve search relevance in Elasticsearch (May 1, 2020)
- Using slow logs in Elastic Cloud Enterprise (Apr 26, 2020)
- Using Elastic machine learning to detect anomalies in derivative values (Apr 21, 2020)
- Enriching Elasticsearch documents with CSV data (Mar 21, 2020)
- Converting CSV to JSON in Filebeat (Mar 17, 2020)
- Enriching data with the Logstash translate filter (Mar 6, 2020)
- How to create maintainable and reusable Logstash pipelines (Feb 26, 2020)
- Using Logstash and Elasticsearch scripted upserts to transform eCommerce purchasing data (Dec 17, 2019)
- Emulating transactional functionality in Elasticsearch with two-phase commits (Dec 5, 2019)
- Converting local time to ISO 8601 time in Elasticsearch (Oct 16, 2019)
- ES Local Indexer – Desktop search powered by Elasticsearch (Aug 7, 2019)
- Counting unique beats agents sending data into Elasticsearch (Jul 18, 2019)
- How to keep Elasticsearch synchronized with a relational database using Logstash (Jun 20, 2019)
- Improving the performance of Logstash persistent queues (Jun 15, 2019)
- Improving the performance of high-cardinality terms aggregations (May 9, 2019)
- Debugging Elasticsearch and Lucene with IntelliJ IDEA (Feb 2, 2019)
- A step-by-step guide to enabling security, TLS/SSL, and PKI authentication in Elasticsearch (Nov 5, 2018)
- How to tune Elasticsearch for aggregation performance (Oct 2, 2018)
- Deduplicating documents in Elasticsearch (Jul 23, 2018)
- Using Logstash to drive filtered data from a single source into multiple output destinations (Aug 31, 2018)
- Using Logstash prune capabilities to whitelist sub-documents (Aug 28, 2018)
- Trade-offs to consider when storing binary data in MongoDB (Mar 2, 2017)
- How to generate unique identifiers for use with MongoDB (Jan 30, 2017)
- How to manually perform a point in time restore in MongoDB (Jan 25, 2017)
- Financial implications of exercising share options (Jul 27, 2019)
- How to mitigate hangovers (Jul 31, 2019)
- A summary of recent research on increasing lifespan (June 1, 2021)
The publications listed below have been cited over 3200 times according to Google Scholar.
- Architecture and CAD for Deep-Submicron FPGAs (Mar, 1999 — The Springer International Series in Engineering and Computer Science).
- Cluster-Based Architecture, Timing-Driven Packing and Timing-Driven Placement for FPGAs (Apr 1999 — National Library of Canada).
- The Stratix II Logic and Routing Architecture (Nov 2005 — ACM/Sigda 13th International Symposium on Field-Programmabel Gate Arrays).
- The Stratix Routing and Logic Architecture (Feb 2003 — ACM/Sigda International Symposium on Field-Programmable Gate Arrays).
- Speed and Area trade-offs in Cluster-Based FPGA Architectures (Feb 2000 — IEEE Transactions on VLSI).
- Timing-Driven Placement for FPGAs (Feb 2000 — Proc. 8th. ACM/SIGDA Intl. Symposium on FPGAs).
- Using Cluster-Based Logic Blocks and Timing-Driven Packing to Improve FPGA Speed and Density (Feb 1999 — Proc. 7th ACM/SIGDA Intl. Symposium on FPGAs).
- US patent 8,516,595 – Method and system for estimating the reliability of blacklists of botnet-infected computers
- US patent 7,218,133 – Versatile logic element and logic array block
- US patent 6,970,014 – Routing architecture for a programmable logic device
Open source software projects
- Contributor to Airbyte – Open source ELT software. Author of the Webflow connector – described in this tutorial. Source code on Github.
- Creator of Lexavideo -This is source code for running a fully responsive web-app that features real-time browser-based video conferencing and text chat. This software relies on WebRTC for the video functionality, and is built using AngularJS and Python. See ChatSurfing for a demo in action.
- Creator of ES Local Indexer – Desktop search powered by Elasticsearch – A small desktop search application that runs on top of a local Elasticsearch installation.
- Creator of Lexalink – social network (dating website) platform – Full stack of software that was used for hosting several dating websites from 2009 to 2015.
- Contributor to Verilog to Routing — Open Source CAD Flow for FPGA Research – Author of the original timing-driven placement and timing-driven packing algorithms used for automating the design and layout of electronic circuits.
- Author of three papers that were selected to be amongst the 25 most significant FPGA papers of the past 20 years at the 20th anniversary of the International Symposium on Field-Programmable Gate Arrays in 2012.