AI Agents, Monetization, Billing, and CUDA – Arnon’s blog

  • Backing up and restoring a Jetson TK1 – or how our first Jetson TK1 just died….

    Unfortunately, our first Jetson TK1 board just died. Overnight, the board shut down at some point and in the morning it wouldn’t boot up. No SSH access, no ping and no output over HDMI. While a lot of the data was saved on an external hard-drive, some data was saved on the on-board eMMC, due to…

  • How do you write good error messages?

    How do you write good error messages?

    Developing software in a start up has exposed me to some pretty bad error messages. Back when the company had little to no customers, this wasn’t a big deal. However, our recent influx of new customers requires a little more attention in curating proper error messages. I gathered all of our developers and we did…

  • Malicious traffic detection using traffic fingerprints and machine learning

    Malicious traffic detection using traffic fingerprints and machine learning

    Over the past year, we’ve worked on a machine learning project at Ben Gurion University of the Negev. The project attempted to find out if we can identify malicious underlying traffic (viruses, botnets, command and control channels) hiding interspersed in ‘normal’ network traffic, without using advanced heuristics or deep packet inspection – but by using…

  • I’ve managed to compile GHC-7.8.3 on an Nvidia Tegra (Jetson K1) and Adapteva Parallella-16!

    I’ve managed to compile GHC-7.8.3 on an Nvidia Tegra (Jetson K1) and Adapteva Parallella-16!

    It took a while, but I’ve finally managed to compile and run GHC-7.8.3 on an Nvidia Jetson K1 board. The Jetson K1 board has a 32-bit Nvidia Tegra processor (essentially a quad-core ARM Cortex A15), and an integrated 192 core Nvidia GPU. Mine came with a standard Ubuntu 14.04 distribution and nothing more really. After…

  • Rot13 implementation in Haskell

    Rot13 is a simple Caeser-cypher where letters are replaced by shifting them by 13 places. > import Data.Maybe (fromMaybe) > rot13 :: String -> String > rot13 s = map rotchar s > where we’ll first look in the lowercase letters > rotchar c = case (lookup c $ transp lc) of > Just x…