Jeff Epler's blog

2 January 2018, 19:48 UTC

Four years of Prius (2013) fuel efficiency

Year Miles MPG Gal
2014 7546.8 44.4 170
2015 7333.6 43.9 167
2016 9368.8 44.8 209
2017 9936.2 45.1 220

Fuel economy and total mileage both went up in 2017 compared to earlier years. However, due to taking more road trips total fuel usage went up.

This year had my best mileage on a single nontrivial trip, shown as 99.9 MPG on 58.5 miles. This drive included significant downhill portions (descending from 12,000 feet to 6000 feet, if I recall correctly).


6 August 2017, 2:26 UTC

poc: Python OCE Composer

poc is a tool in the vein of OpenSCAD for creating 3D models in a high level language with a minimum of boilerplate. It's now live at github, though I don't know how actively I'll deveop or maintain it yet.

Here you can see that the input format is fairly terse, and it has some abilities OpenSCAD doesn't, like selectively filleting certain edges:

with Difference():
    Box((-50,-50,-50), (50,50,50))
    Cylinder((-100,0,0), (100,0,0), 25)
    Cylinder((0,-100,0), (0,100,0), 25)
    Cylinder((0,0,-100), (0,0,100), 25)
Fillet(12, [e for e in Edges() if e.boundingBox().min.z > 0])


1 August 2017, 0:48 UTC

occmodel as Python alternative to openscad

I like openscad a lot, but I'm still on the lookout for alternatives.

Recently I ran across occmodel. Its biggest prerequisite, OpenCASCADE, is packaged in Debian Stretch as "liboce"; the rest are fairly lightweight (though compiled) extensions.

So I gave it a try for a small piece, little extension legs for a dish drainer. I plan to add two leg extensions to the antisinkward legs of the dish drainer, to improve its draining behavior. So one key feature is that the captured leg will end up being at an angle to the counter.

My python program has a few "configurables" near the top, inner and outer diameters, heights, and the distance between the legs. From this, I do some basic operations (difference of two cylinders, rotation of that intermediate solid to represent the required angle, then intersection between it and a large cube that represents the half-space 'above the countertop'. Then, just to show I can do something openscad can't do trivially, I fillet every edge by 1mm.

from __future__ import division
from math import *
from geotools import *
from tostl import occ_to_stl # a little homebrew module
import os


dist = 12*IN
dia = .7*IN
od = dia + .25*IN
elevation = 1*IN
engagement = 1*IN

angle = atan2(elevation, dist)

outer = Solid().createCylinder((0,0,-elevation), (0,0,elevation+engagement),od/2)
inner = Solid().createCylinder((0,0,elevation), (0,0,100),dia/2)
outer.rotate(angle, (1,0,0))
b = Solid().createBox((-100,-100,0), (100,100, 100))
with open("", "wb") as f: occ_to_stl(outer, f)
os.rename("", "drainboots.stl")

(I couldn't get a screenshot that did the part much justice)

What is the gap between here and a real OpenSCAD alternative?

First, I'm not confident of the robustness of liboce; I saw some segfaults and since they were dependent on specific numbers in the geometry I am tempted to assign blame there and not to the occmodel wrapper. (not that OpenSCAD is beyond reproach here)

Second, it needs an integrated environment like OpenSCAD has. Maybe one of the python "notebook" interfaces would be suitable for this.

Third, it needs less boilerplate.

Fourth, it needs broad buy-in by users of sites like thingiverse, because OpenSCAD has massive momentum behind it.


12 July 2017, 14:34 UTC

MP Select Mini: Heated Bed Repair

With some help from Chris and some Things from Thingiverse, my bed wiring is repaired and now runs in a cable chain instead of tightly flexing against a cable tie. Let's hope this version holds up!


6 June 2017, 11:54 UTC

My internet usage would fit on six 33.6kb/s modems on average

.. and only a handful of days in the last year would have come close to saturating a T1 at its nominal 1.544Mb/s. Still, that's a total of around 800GB/year downloaded. Something big would have to change before I could switch to metered cellular data; the upload and download taken together would cost about $1000 a month with my current cellphone provider.


18 May 2017, 0:16 UTC

Monoprice Select 3D Printer Review (part 4)

Now the hardware problems have started in earnest. :(

I estimate I've made between 200 and 300 individual prints, though I stopped tracking at around 200.

The first hardware failure was in the hotend side quick connect fitting for the bowden tube—the tubing itself would pop out midway through a printing job, and that would consistently ruin prints I bought a set of 5 replacements from the internet, and that fixed that.

The second hardware failure is more severe, because to resolve it I'll have to work with wiring: the bed has stopped heating in some Y-positions. I had not made any of the hardware mods that are supposed to improve the durability of these under-table moving wires.

An inspection turned up that one of the large-gage wires is almost totally cut through by the cable tie under the bed, which sure explains the failure to heat.

For now I'll just write off the ability to print in ABS and PETG, and stick to PLA, and wait to see what fails next. If I get suitably motivated, I might try to fix the heated bed. I'm not thrilled with the idea of junking it, because the obvious replacement would be the MPSM v2, but my friend Sam has already had the bed thermistor fail on his v2 after less than two weeks.


3 May 2017, 0:22 UTC

Monoprice Select 3D Printer Review (part 3)

Subtitle: Why didn't anyone tell me to block the print cooling duct?

Subtitle: Now we're printing with ABS!

As you'll recall, my primary complaint about the MPSM has been that it's advertised as printing ABS but never has for me.

I can now credit two easy modifications with making it possible to print ABS:

The first one, which I had done a long time ago, is to insulate the heated build plate. I did this by simply folding a paper towel and placing it just under the build plate. This allows bed temperatures of 75-80C to be reached. (These bed temperatures can't be selected at the preheat screen but can be in the slicer. Weird.)

The second one, which I only recently heard about, is to block the lower exit of the cooling shroud, the one which cools the print. This can be done in the first place with more of your masking / painter's tape. Once you've done that, print an MP Select Mini ABS Flag in ABS. I selected the fully blocked one fwiw.

With it I've printed several things in ABS that I would not have been able to print otherwise, such as the replacement fan shroud which you see in the photo.

I'll keep printing primarily in PLA and PETG, but now I can say I successfully print in ABS as well.

PS Remember to remove the ABS flag before switching to PLA filament!


19 March 2017, 20:16 UTC

Time Reversed Cosmology

One of my favorite authors is Greg Egan, and that's in great part because of how in many stories he starts with known physics, adds a twist, and follows it to its logical conclusion within the story's setting.

A particular idea he's used a few times is the idea that portions of the universe could potentially contain "time-reversed" regions. From our point of view, for instance, a time-reversed star absorbs photons, and if we could observe biological phenomena they would likewise go in reverse. (See e.g., the short story The Hundred Light-Year Diary)

From our point of view, the universe began billions of years ago with the big bang, and as far as I know all present observations are compatible with zero or negative curvature. This apparently gives an infinite amount of time to come in the future, though only a finite portion of that future can support baryonic life like ours.

So what does cosmology look like for the time-reversed universe, and what are their "big problems"? I don't have enough background in basic physics and cosmology to give a really good answer to this question, but here are some things that occur to me:

  • How to reconcile the apparent flatness of the universe with the observed cosmic blue-shift
  • If the universe has an infinite past, and the baryonic era has been going on for at least 1036 years, why are there no other observable civlizations?
  • Were natural laws different in the distant past? Why and when did baryogenesis occur, given that in the present day the creation rate of protons is so small as to be unmeasurable? Ultra-low energy / density physics will presumably be an area of great interest in understanding the origins of the universe.
  • At the same time, high energy physics will be of interest in understanding the fate of the universe. Scientists learn that in the high-energy future, the laws of physics themselves break down ("unify" in our terminology).
  • Some models will predict a "deflation" process that begins when a certain mass/energy density is reached, rapidly collapsing the observable universe and obviously destroying all intelligent life in the process. Unfortunately, the models will be unable to predict the specific energy density.
  • I'm not sure what the time-reversed CMB looks like. A white-hot wall that indicates "deflation" is already going on in the distant parts of the universe, an approaching wavefront that clearly dooms all intelligent species?
  • What, if anything, happens after the great singularity at the end of time?


19 November 2016, 19:08 UTC

Monoprice Select Mini 3D Printer Review

16 November 2016, 2:04 UTC

Monoprice Select Mini, sight unseen

17 August 2016, 12:51 UTC

Imagine (software developer version)

All older entries
Website Copyright © 2004-2017 Jeff Epler