… it’s possible to make fast, efficient CRUD apps the same way we made them in 2010. Fire up Django or Rails, stick the data in Postgres, put some thought into your forms and maybe add a tiny bit of javascript to enhance some input fields.

Surely I must be missing something. Surely the billions of programming hours that have gone into all these new things aren’t in vain.

Help! None of my projects want to be SPAs

This has been my experience with React as well. React components make having to write Javascript bearable, but once your app gets to a certain size React just feels like a lot of unnecessary complexity.

tmux Window Juggling

Ever wanted to turn a tmux Window into a Pane or vice-versa? In this article I'll show you how to juggle tmux Windows and Panes like a pro.

Create Your Own Vim Commands

Have you ever wanted to build your own Ex commands in Vim? This short guide will show you the basics and build a couple commands that might be useful for you.

We have come to the point where companies possess so much data that they themselves are unable to predict the long-term effects that such a centralization might have. Therefore, it is unreasonable to use informed consent as an excuse, since no individual can reasonably understand what giving up control over small or large pieces of their data will eventually lead to.

Re-decentralizing the Web, for good this time

Well written article on swinging the pendulum of the Internet back towards de-centralization.

Quick tmux Sessions

One of the great things about tmux is its ability to be scripted. You can write a tmux script to setup an entire environment for any project you are working on. Sometimes you would like a simpler tmux session for smaller projects or one-off editing sessions. This shell script can be used to create those simple tmux sessions easily.

Project Wide Search in Vim

One of the things I don't think Vim handles very well out of the box is project wide, recursive searches. Sure, it has the :grep and :vimgrep commands, but neither of them search recursively by default. You can make them search recursively, but you might then end up seeing many results from directories like .git and node_modules which will clutter up the search results.

This article will show you how to overcome those problems and teach you how to create your own key mappings in Vim.

The much anticipated 1.0 release of Julia is the culmination of nearly a decade of work to build a language for greedy programmers. JuliaCon2018 celebrated the event with a reception where the community officially set the version to 1.0.0 together.

Julia 1.0.0 Release

After reading the stated goals for creating Julia I am going to have to spend some time learning it.

Lily is a programming language that's been under development for several years. Lily is statically-typed, with an interpreter as a reference. Lily uses reference counting for memory management with garbage collection as a fallback.

Seems like everyone is building their own language these days.

Bellenson (a molecular biologist) and Smith (an industrial engineer), had previously launched a successful gene sequencing software company. If anyone had the technical chops to digitize scent, it was them.

The failed quest to bring 'Smells' to the Internet

This was one of my first programming jobs and still one of the most fun jobs I ever had. I wish the ride hadn't ended so abruptly.

Recognizing Keywords

Most programming languages have a set of reserved keywords. The compiler or interpreter has to have a way to identify those keywords while the source code is being read. Here is how I do it for Cube.

Gravity is a powerful, dynamically typed, lightweight, embeddable programming language written in C without any external dependencies (except for stdlib). It is a class-based concurrent scripting language with a modern Swift like syntax.

Gravity

Now that I am paying attention I see interesting new programming languages popping up all over the place.

T2b - A wicked-powerful text macro language for building binary files. Supports comments, looping, Unicode, variables, conditionals, macros and recursion.

T2b Github

Interesting little language for generating binary files. All done in less than 300 lines of C++ code.

Starting the Cube Project

Getting started on a new programming language and floundering around looking for how to structure the code. Fun, fun fun.

We are committed to being stewards of the GitHub community, which will retain its developer-first ethos, operate independently and remain an open platform.

Microsoft acquires Github

Fingers crossed that Microsoft means what they say and doesn't slowly ruin Github.

Interpreter Project: Inheritance

This is the last article in this series. The Lox language is feature complete, though far from actually complete. It is time to move on to something a little more realistic.

Interpreter Project: Classes

Classes were added to the language this time. Almost everything is in place, Class declarations, object initialization, properties, methods, references to 'this', etc. The only thing missing is Inheritance. That is added in the next section.

As normal as tracking all the stuff used to feel to me, after stopping I realized what a mental toll quantification had on me. Some quantification ties right into the variable reward pattern, some quantification (or lack thereof) leads to failed expectations and goal setting that really misses the point of setting goals to be healthy.

unquantified

Interesting take on also letting go of fitness tracking along with social media.

Interpreter Project: Resolving and Binding

This section was all about adding a Semantic Analysis step to the project. A Resolver is created to walk the Parse Tree and make note of where and how variables are accessed. That data is then provided to the Interpreter code to prevent a potential bug.

Mint is a refreshing, strongly typed, expression-oriented programming language for the front-end web.

Looks like an interesting language. I'm assuming it compiles to Javascript, though I can't seem to find out for sure from their documentation.

Interpreter Project: Functions

Function declarations and function calls. This looks like a real language now. Of course there is no standard library, no networking library, input / output library, etc. It is apparent to me now that the language definition is relatively easy. It is all the supporting libraries that constitute the bulk of the work.