RSSAmplifier

Blog

Video Cortex

Adi Shavit :: Insights and Visions

adishavit.github.ioRSS feed ↗10 posts

Latest posts

Core C++ 2021

Core C++ <local> 2021 :: Organizers Report Intro Core C++ <local> 2021 took place on Aug. 25-26 2021 in Tel-Aviv, Israel. It was a full face-to-face conference and was a huge success. This post is aimed mostly at community and conference organizers, sharing our experiences with a COVID-19 era in-person conference. Naturally, every conference is different and each country has its own vaccination…

Brain Unrolling

Generators and the Sweet Syntactic Sugar of Coroutines The Cambrian Good Old Functions Say we want to iterate over all the elements of a vector. We can write a function - a.k.a. sub-routine - to do that: void vectorate ( std :: vector < int > const & v ) { for ( auto e : v ) // 1. iterate std :: cout << e << '\n' ; // 2. do something: print e } If we want to draw a line on some image or device,…

Affine Space Types

Well defined semantics for positions and displacements. The Affine Space I recently came across a geometric structure that deserves to be better known: The Affine Space . In fact, like many abstract mathematical concepts, it is so fundamental that we are all subconsciously familiar with it though may have never considered its mathematical underpinnings. Strangely enough, once I assimilated the…

code::dive Trip Report

Trip report from my first ever C++ conference! The code::dive conference took place last week in Poland at the beautiful city of Wrocław (pronounced VROWTS-WAF ). I had seen excellent videos of talks from previous years and this year promised a roster of distinguished speakers. I had never been to a C++ conference before and beyond the talks I was looking forward to meeting face-to-face many of my…

The C++ Bestiary 🎃

Spooky Halloween C++ Special! A Compendium of Cryptic Characters C++ is blessed with a plethora of gotchas, traps, caveats, pitfalls and footguns. Within the C++ dungeons lurk many shady characters. ‘Tis the time of year to meet some of these bountifully spawned beasts. A Compendium of Cryptic Characters ⛄ Abominable Types 👽 Aliens 👹 Demons 👿 DLL Hell 🦆 Duck Typing 🛸 Flying Saucers 😈 Imps…

The main() Course

A fanciful little post about li’l old main() . “The main() function of color should be to serve expression.” — Henri Matisse The function main() is a normal program’s entry point [ §basic.start.main ]. Minimalism The shortest conforming C++ executable program is [ 1 ]: int main (){} A few interesting things to about this snippet: In a conforming implementation we must specify the return type int .…

OpenCV Web Apps

OpenCV comes to the web! This blog is mostly about C++ and computer vision. I’ve written about my cross-platform development philosophy with The Salami Method and about the OpenCV library . I’ve also experimented with C++ on the web . The culmination of these explorations is obviously to write an OpenCV web app! TL;DR Emscriptening OpenCV The Build System Fail #1 Fail #2 Fail #3 Success at Last!…

My First Video Course!

My first OpenCV video course, OpenCV 3 Projects for Photo Filtering , is now available ! Over the last few months I’ve been working with Packt Publishing on producing a project oriented hands-on OpenCV course. It’s been a fascinating experience and the first of three volumes is now available online! Course Description OpenCV 3 is a native cross-platform C++ Library for computer vision, machine…

Custom Stream Buffers

A stream buffer is the vegetated land adjacent to a streambank. Stream buffers are strips of trees and other vegetation that improve water quality by filtering pollutants from stormwater runoff such as oil, fertilizers, pesticides; reduce flooding and erosion by stabilizing stream banks; moderate stream temperature and sunlight, keeping fish and other aquatic life healthy; provide nesting and…

Istream Idiosyncrasies

Idiosyncrasies with istreams. A lot has been written and the vice and virtues of the C++ iostreams library. While working on Argh , my little C++11 argument parsing library, I ran across some somewhat surprising idiosyncrasies and a few interesting lessons. Argh uses std::istringstream s to allow the user to convert or lexical-cast command line argument strings into the desired target types (thus…