Hello!
I'm Lucien and I make things.

What's Up (#7)

I’m alive and around.

What’s Up?

  • Got better at pinball
  • Got back into Magic: The Gathering
  • Renamed Basis to guh
  • Released some SCSS libraries:
    • node-sass-glob-once
    • postcss-sassy-import
  • Moved into a new apartment

Pinball!

I’m the only human on the leaderboards on the local Transformers pinball machine, and I’ve been logging some scores on Pinside. I also picked up some tables on Pinball Arcade, like Earthshaker and Star Trek: Next Generation, neither of which are available locally. It’s a ton of fun!

Magic!

I started playing standard again just in time for rotation, and for the past couple months I’ve been playing a homebrew take on Mardu Midrange. It uses some new Oath of the Gatewatch tech like Captain’s Claws and Goblin Dark-Dwellers paired with a Butcher of the Horde endgame. It does relatively well, but rotation won’t be very kind to it.

My plan is to build a red-white ally equipment deck for post-rotation standard, but early testing in current local standard meta isn’t turning out very well.

If standard doesn’t pan out, I built a proxied legacy Stasis deck that can suck the fun out of any room!

Basis -> guh

Basis (or basis-gen) wasn’t a very good name to be found with. However, a three letter name seems like it could be a good idea, espcially in the age of -ify libraries and clunky made-up words.

The guh generator’s primary command, guh new also has the advantage of sounding like the correct pronunciation of GNU, so that’s pretty cool.

I switched the system fully from Ruby Sass to libsass and PostCSS, with a fair bit of custom glue to make everything work nicely together. It’s also made its way into the build system over at the office, with the internal release of Skeleton 3.0: Skeleguh.

SCSS

Sass (especially the SCSS syntax) is pretty cool. I’ve used it a ton and I adore the power it gives, and though I’m considering moving away to LESS or pure PostCSS plugins, I still love it enough to push out some plugins for it.

node-sass-glob-once is a node-sass import plugin that provides globbed imports (like the ruby-sass-globbing gem) while also keeping single import, so you can have dependencies declared explicitly with no downside!

postcss-sassy-import is a PostCSS plugin that implements the same functionality as node-sass-glob-once, but at a higher level. It isn’t tied to Sass, and though it tries to emulate much of that functionality, it’s significantly more powerful.

I had a lot of fun learning the PostCSS API and it seems like a fantastic idea. The ease of building a new PostCSS plugin could replace the control structures Sass offers with straightforward JS.

Moving

Moving isn’t any fun, but I’ve been doing it for the past month or so. I now live in a tiny apartment near a university and a card shop, so that’s pretty cool.

What’s Next

I’d like to get out of the prerelease stage for guh and stabilize everything a touch more. The configuration format is probably stable, as is a lot of other stuff, but it’s lacking code documentation and defined conventions.

I finally got to play Space Engineers for the first time since planets were added, and it seems like it’s gotten harder to actually survive. Cyber dogs, the lack of uranium, and gravity all make life harder, but definitely more interesting.

What's Up (#6)

What an exciting start to the year!

What’s Up?

luajit-request

I’ve been chasing a bug involving too many callbacks with the LuaJIT FFI for some time. I figured this 2.3.0 release would fix that, but it didn’t, ugh!

Basis

I made Basis significantly more stable and migrated from Ruby Sass to libsass and css-minify to cssnano. Basis 2.0 now the build system in three projects at work, but a fork of Basis 0.x is still the most widely deployed.

Basis is also now published at npm under basis-gen, but I think a better name might be in order, like mungulate.

Gotta Go Fast

Gotta Go Fast is a small command line utility that creates Sublime Text 3 project files and LICENSE.md files. It does nothing more, and solves a need I found at least. It’s published on npm.

Project Design Documents

I started a repository to keep track of all the stub repositories I seem to keep accumulating and deleting. It’ll serve as a central place to develop specifications for the projects I’m planning before I ever hit code. Hopefully, that’ll result in better libraries and fewer redesigns!

Armature

I’ve been making some good progress on the designs behind Armature. It has a repository (that’s presently a stub) and I’ve been developing it in tandem with Praxis.

Praxis

Hexagons are pretty cool, and turn-based tactical boardgames are also cool. I’ve been planning a game built around them called Praxis. If you’re reading this some time soon after this was posted, you can probably catch a networking/rendering test here.

Let’s Encrypt

Let’s Encrypt was incredibly easy to set up on my test server! I’m incredibly excited about the idea of more accessible encryption and TLS-by-default everywhere. That being said, GitHub pages still doesn’t have HTTPS support.

CoreOS and Docker

CoreOS is a fantastic tiny Linux distribution dedicated to running containers. Docker, of course, is the coolest container layer over LXC around, and I’m growing quite fond of it.

I haven’t yet embraced it for development work since I work on a Windows machine at home and an OS X machine at work, but it’s great for making sure production environments are sane. It lets me spin up a clean copy of an environment with my application, which I very much appreciate.

New phone!

Just today, my new phone came in, a Nexus 6P. It’s got a Brobdingnagian 5.7” screen and a lot of grunt, and it’s a huge step up from my old Droid Razr M. I’m enjoying Android 6.0, finger print scanning, and Android Pay the most.

Video games!

I got back into Kerbal Space Program. I’m not sure I’m that big of a fan of career mode anymore; while grinding contracts yields some sort of purpose in the game, it hampers the idea of science. Maybe that’s what real space programs have to deal with too.

Witcher 3 finally made its way into my game library, and my girlfriend has already managed to rack up 60 (!) hours in just one week.

Pinball!

The pizza place next to the office got an X-Files pinball machine, and it’s pretty great. That trampolined into playing a Transformers (Pro Edition) pinball machine, mostly in two-player mode with my girlfriend! I’ve been scouting out locations near the office for more pinball machines, and I located a Walking Dead machine so far.

What’s Next

I forsee lots more work on Praxis, Armature, and Basis.

I also forsee more progress learning my OLL and PLL 3-layer cube algorithms, and hopefully some higher pinball scores and more replays.

What's Up (#5)

What a quick turnaround!

What’s Up?

  • Started Basis 2.0.0 somewhat stable
  • Fixed my relationship with Express
  • Fiddled with Atom
  • Finished Fallout 4
  • Found some good music!

Basis 2.0.0

Basis 2 is a big change over 1.x! LiveReload has been dropped in favor of Browsersync, the build system is now modular, and the config file is a lot more flexible.

I’ve integrated it into exactly one production project and it has performed well. There are a couple features missing from 1.2 and some other tasks to finish up before release, but the platform is stable again!

I’d like to migrate the system over to libsass instead of Ruby Sass for speed and the wider variety of plugins available. There are some open issues left on the project and it’s not yet clear to me how the port stands on feature parity. I have high hopes!

Express

Express is pretty darn straightforward to use, and I wish I hadn’t written it off around a year ago. Coupled with the Fetch API and copious amounts of ES6, it’s incredible how powerful tiny applications can be!

Atom

The days of Sublime Text being my primary text editor may be coming to a close. It’s been a good few years, but the flexibility of Atom and its slow march towards stability are too darn appealing.

Fallout 4

I put around 65 hours into my character and just wrapped up the main story. I had a tough time picking a side to stand for.

My big gripe with the game is the lack of a true ‘evil’ faction I stand alongside. There isn’t a faction like New Vegas’ Caesar’s Legion that wants to enslave or murder all of mankind.

It’s not that I want to take that path with my character, but having every faction in the game (save the Minutemen) exist in some moral gray zone makes it seem less plausible that my character would take such a strong and murderous stance on matters.

Music

Grouplove is a pretty fantastic band, and The Weepies, Passenger, and Blind Pilot are pretty good too. They’ve been my primary listening material for a couple weeks now.

You can check out my ‘Earsmash’ playlist to see the new songs I’m blasting into my ears.

What’s Next

I’ll be cutting a Basis 2.0 release soon!

I have a much less ambitious game project in the design phase that I should be able to prototype within a week, assuming I don’t run into technical difficulties.

Sometime after the new year I have a series of development tools planned, like an asynchronous build server, a system dashboard, and a few JS microframeworks.

What's Up (#4)

Wow! Four of these posts now!

Thanksgiving happened, and I had a very pleasant trip out west to Seattle, WA.

What’s Up?

  • Started work on Octopus
  • Released version 1.2.0 of basis
  • I got back into speedcubing!

Octopus

Octopus is a data binding and model system based around having only a single copy of a record around at once. This has all sorts of implications, the most useful being that data change events are incredibly easy to signal. It’s intended for multiple web components to listen for a model’s changes that will propagate from a single source.

Basis

I pushed a small update to Basis that allows selection of specific components to rebuild. The build system is turning into a bit of a mess, so I might try to refactor out the code to reduce dependencies.

Speedcubing

Speedcubing is the challenge of solving Rubik’s cubes as quickly as possible. I’ve been solving cubes off and on for two years, mostly through 4LLL-level CFOP method. Hearing about the latest 3-layer record of 4.90s by Lucas Etter has put me back in gear to practice!

What’s Next

It’s time to relax! My past week has been filled with travel, so it’s time to slow down and catch up on Fallout 4 and maybe a touch of Kerbal Space Program.