Recent blog entries for superuser

Devember 2016 – Day 2

Day two is complete. Continued work on the stuff I was doing yesterday.  Streamed it live to no one. That’s fine.  Overall, I’m happy with the progress I’ve made tonight.  Handled outputs, both from defining the API along with the context of the request.

I think tomorrow I might want to tackle parallel commands.  So, if I wanted to fetch multiple pieces of data at once, I could do that.  Maybe I can do something more real tomorrow, such as have something that requests someones Twitter and GitHub feed at the same time.  I could do that.

Syndicated 2016-12-03 04:10:05 from JasonLotito

Devember 2016 – Day 1

Day one is complete. I’m working on something completely different, but it’s started.

I want to build a system where APIs can be built using Node.js in a way that allows you to piece together different methods.  I realize there are systems out there like this, but I couldn’t find anything that meets my goals.  Besides, I wanted to build it.  Today was a longer day.  More than an hour, mostly because I didn’t want to leave it in a half state.  I can continue tomorrow where I left off with a working system and clear next steps.

I live streamed the entire session using Twitch.  There was one point where I was dealing with an error that I could not figure out.  Here is the moment I discover the very simple error. At some level, it’s fairly embarrassing to have that live on video.  But things like that do happen.

Most of this is being designed as I go along.  I’m not so concerned about performance at the moment.  Mostly it’s about getting it working.

Syndicated 2016-12-02 04:29:51 from JasonLotito

Devember 2016

I, Jason Lotito, will participate to the next Devember. My Devember will be programming a game. I promise I will program for my Devember for at least an hour, every day of the next December. I will also write a daily public devlog and will make the produced code publicly available on the internet. No matter what, I will keep my promise.

My goal is simple.  I’m mostly following along with Handmade Hero and I’d like to continue on through the month.  I might do other things, and I’ll update that as I go along.  The goal is to get back in the habit of coding nightly and learn new things as I do it.

Syndicated 2016-11-29 02:19:34 from JasonLotito

Scripts in Confluence are an anti-pattern

Scripts in Confluence are an anti-pattern.

If you are going to take the time to document something out, then make an effort to take the time to script it out.  Even better, add it to something like Jenkins or Rundeck.  Maybe automate it.

This is true even if you have a list of steps in your documentation.  Run step 1, then step 2, then check for this, and if it’s true, do step 3, otherwise continue to step 4.  You are literally writing the program in English.

Scripts in Confluence are an anti-pattern. It’s not documented, it’s lazy.

Syndicated 2016-11-10 14:34:00 from JasonLotito

Read your diffs

Please, please, read your diffs before sending code for review.


Syndicated 2016-11-06 22:32:03 from JasonLotito

Ninety percent of everything is crap

I repeat Sturgeon’s Revelation, which was wrung out of me after twenty years of wearying defense of science fiction against attacks of people who used the worst examples of the field for ammunition, and whose conclusion was that ninety percent of SF is crud. Using the same standards that categorize 90% of science fiction as trash, crud, or crap, it can be argued that 90% of film, literature, consumer goods, etc. is crap. In other words, the claim (or fact) that 90% of science fiction is crap is ultimately uninformative, because science fiction conforms to the same trends of quality as all other artforms.

Theodore Sturgeon, Venture 49, September 1957

Syndicated 2016-10-30 01:49:32 from JasonLotito

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

Syndicated 2016-10-29 04:15:21 from Just another WordPress site

27 Aug 2015 (updated 9 Oct 2016 at 21:10 UTC) »

TIL: Keeping SSH connections alive

It's actually fairly simple. In your SSH config file, you add this:

Host *
    ServerAliveInterval 240

The * after the host can be whatever host you want it to apply to, and * simply means to apply this to all hosts. So you could also apply it this way:

    ServerAliveInterval 240

Also, if you aren't sure where your SSH config file is, on a UNIX based system, it's generally in ~/.ssh/config.

Syndicated 2015-08-27 14:24:59 (Updated 2016-10-09 20:40:36) from Jason Lotito

7 Aug 2015 (updated 9 Oct 2016 at 21:10 UTC) »


So, we looked at JPEG image encoding, which is a very popular image codec. Especially since our image is going to be blurred heavily on the client, and thus band-limiting our image data, JPEG should compress this image quite efficiently for our purposes. Unfortunately, the standard JPEG header is hundreds of bytes in size. In fact, the JPEG header alone is several times bigger than our entire 200-byte budget. However, excluding the JPEG header, the encoded data payload itself was approaching our 200 bytes. We just needed to figure out what to do about that pesky header!

The technology behind preview photos

Syndicated 2015-08-07 13:27:25 (Updated 2016-10-09 20:40:36) from Jason Lotito

35 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!