TechAscent - Delightful Software Solutions
Blog Header Graphic

TechAscent Blog

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

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.

Empowering Experts

We love empowering experts; doing so is the most rewarding part of our job. It is fundamental to the TechAscent approach and business.

TVM Time

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