We aim to make organizations awesome by automating away drudgery and delivering tools that simplify processes. Along the way, we learn lessons; some of those lessons, we share here on this blog.
Distinctly Sorted - A Clojure Performance Koan
Benchmarking some solutions to a common problem.
DuckDB - Data power tools for your laptop, now in Clojure
A well-written, *FAST* data science database for your laptop.
Converting CSV to parquet in Clojure
Regarding a simple way to produce parquet files in Clojure.
Java Data Science: Getting Started
Getting started doing data science in Java with tech.ml.dataset.
Next Gen Native Interfaces
We bring a simple and general foreign function architecture to life using Clojure.
Memory Mapping, Clojure, And Apache Arrow
We learn all about memory mapping, its history, and the Apache Arrow 1.0 binary format.
From Prototype to Production Software
Our business-focused strategy for realizing value from early stage prototypes.
Functions Across Languages
We follow a function object from its Clojure definition to its call from libpython.
Isomorphic Rendering for a Better Web
Building responsive applications with great SEO and mobile performance often means using a combination of both server and client side rendering.
JNA Makes Your Life Simpler
We talk about JNA, a (somewhat) hidden gem in the JVM ecosystem.
Generalized Java Resource Management
Taking advantage of modern software means using all the tools available on your system. We present a simple, helpful tool for working with non-JVM entities.
Code Forward Data Backward
A simple scheme for managing features and data with clients.
We love empowering experts; doing so is the most rewarding part of our job. It is fundamental to the TechAscent approach and business.
TVM is a compiler stack for deep learning systems. Here we demonstrate it with a bespoke data intensive algorithm finding both correctness and performance far simpler to achieve.
Next Gen Numeric Compilers
Writing high performance code is difficult. Some advances in the field of numeric computing can help significantly.
Putting Some Pieces Together: OpenCV
An example of leverage. We love OpenCV and want it to play a bigger part Clojure ecosystem. We use concepts from earlier posts to make interacting with OpenCV quick and painless.
Native Pointers: Playing Well with Others
Building bindings to libraries outside the Java ecosystem allows us to adapt to changing technical demands. An intelligent approach here reduces the cost of developing bindings and multiplies the resulting leverage.
Our Datatype Library
Performant code often depends on efficient manipulation of contiguous arrays of numbers of different types. Our datatype library makes this fast for computers and programmers.
Make software work for you.
Get In Touch