Tim Habersack

Where I put my things..
Dec 20th 2020

I dug out my old Alphasmart Neo a couple weeks ago for my youngest to play type on. But lately I have started using it again.

The "browser" on my computer is such a gateway to distraction. The mental energy to maintain discipline is exhausting sometimes. With this tool there are none of those problems. :)

Jun 7th 2020

It feels so nice to have written a new post, I need to do it more.

Setting up Laradock for multiple projects with Nginx

Jun 7th 2020

Laradock is a handy tool. Basically it has a ton of pre-confgured docker containers, and you can pick and choose for the dev environment you need. However, every time I set up laradock on a new system I forget how to set up the directories and configure nginx to properly serve them up.

For example, assume directory structure like:


The default env-example (that you copy and rename to .env has this info at the top:


This means laradock thinks anything in the directory above it is data it should access. Within containers, /var/www points to the host o/s ../, the directory that the laradock directory sits in.

So! When configuring laradocks nginx to have multiple sites, you just point the root accordingly.

For example, assume directory structure like:


In the laradock/nginx/sites directory, you'd cp default.conf project_1.conf. (Or anything, the name of the conf file doesn't matter). Edit the project_1.conf like so:

server_name project_1.test;
root /var/www/project_1;

Now (assuming you've altered your /etc/hosts to have project_1.test), when laradock/nginx serves up the project1 site, it will look at your project1 directory for the content!

Let's say project_2 has a structure in it like:


You'd want nginx to serve up the project_2/public directory.

server_name project_2.test;
root /var/www/project_2/public;

This always trips me up and costs me a little time. Hopefully I'll remember it for next time, and also maybe it will help others.

#laradock #nginx #docker

Oct 30th 2019

Breakfast themed socks go with every outfit. #image #file

A staycation, and some music!

Oct 29th 2019

We had a lovely stay-cation last week, and did all sorts of relaxing. It was wonderful.

I even had time to dust off my old tracker brain and write a short song. I used Bosca Ceoil which works well!

The song is called "The Watch Maker" and it's the kind of tune that lives in a music box. I am releasing it as CC0. A friend (hi maiki!) had a suggestion that makes me want to have this be part of a small album. I will start puttering away at that as I'm able!

It was fun to finally get it out of my head, and reminded me I really need to learn #music theory so I can do a better job at writing music. :)


An old friend finding a new friend

Sep 17th 2019

When I was a baby, I apparently received my first stuffed animal. He was a simple brown bear, and I loved him a lot. I named him 'Yogi' and we were best buddies until I was a young kid. I am very lucky to have so many good memories in my life! And to be honest, he stayed in my room forever growing up, on a shelf or on my bed.

Fast forward 30 years, and I'm married and have three kids. My parents brought over my old stuffed animals for my kids, and my littlest one really connected with Yogi.

"Oogee!" and he reaches out for him, or runs to get him. Sometimes it's like he expects him to answer when he calls. He takes him when we go out, and will point things out to him during drives or walks. "Oogie! Carw! Oogie! Teeeee! (tree)".

I cannot express the well of feelings it makes me feel. Sure, it's just a stuffed animal, just a thing. But it's like I filled it up with love during my whole childhood, and our littlest can sense that or something. And I want to tell him, "This bear right here? You can trust him, he's a kind bear."

< Part of Family Minecraft
Sep 16th 2019

One thing I am noticing while working on these older laptops is how much I miss some of the features. Dedicated volume buttons! Switch that enables/disables wifi AT THE HARDWARE LEVEL. I love it.

Family Minecraft

Sep 16th 2019

Our big kids are suddenly getting into Minecraft! I'm taking our older Lenovo laptops we had (2009 vintage) and getting Debian on there and turning them into little Minecraft boxes so we can all play together.

I'll be converting one of my Pi's to be a local server for us. I have heard performance is ok for up to 5 players, so we shall see.

Downloading all html links of a certain extension from a web page

Aug 16th 2019

I had reason to download a bunch of PDFs from a website recently and didn't want to click 80+ links.

Here is how I approached it. On the page I opened up the console and ran:

var links =[]; Array.prototype.map. call(document.querySelectorAll("a[href$=\".pdf\"]"), function(e, i){if((links||[]).indexOf(e.href)==-1){ links.push( e.href);} }); console.log('"' + links.join('" "') + '"');

Note the .pdf in there, it was the file extension I was looking for. This gives me back a nice list of urls each in parenthesis. Then I just used wget to fetch them all.

wget "url1" "url2" ...

HT to this SO post that gave me the solution.

MHS - Module Handheld System

Jul 19th 2019

Design. It is not my strong suit, but I can tell when I do not like a design. I happened to be looking at old handheld things because of this post, and I was reminded of design ideals before the Jony Ive Age. Nothing against it, I can get why it appeals to people, but it doesn't appeal to me.

I like design that is more like this:

It feels more substantial and rugged in my hand. If I drop it, it won't instantly shatter. It feels durable. Modern smartphones and handheld gaming devices mostly feel fragile to me. A literal feeling, a response from holding a thing that is basically just a big screen.

I started thinking about designs I like, about user experiences I've found the most durable and 'good' feeling. (Again, totally subjective, but I think I am not alone in this sentiment)

This design really has stood the test of time:

It is rugged. You are using it in your hands and it feels solid. It has edges! You can touch parts and not smudge a screen. Also, it fits in this protective case that also lets you flip it around into a very robust device protection system.

Ok so I like that kind of design, how does that translate?

Into the header image!

Think a TI-86 calculator, but cut into pieces (modules). These modules snap together based on what you want to use, and you slide it into the sturdy case. When you're not using it, pull your stack of modules out, flip it around, and you've got a very well protected device.

I was thinking USB-C (or maybe just USB, or something else) is the bit that snaps them all together. There would also be kind of "click-in" spots on every module so when you push it together it clicks and keeps it connected pretty well. But then, putting the stack into the case gives it that very sturdy structure.

The amount of modules that could be designed for this are endless. A gamepad, touchpad, module that is just a bunch of easy access ports to make this a decent desktop, dedicated big battery module, a screen/cpu that has e-ink, etc.

This could even be a good design for a open-source phone.

The idea is, the screen / CPU module is the 'main' part of the device. You can have it on, and hot swap / change the modules you've got plugged into the stack. Have a break? Cool, pull out your device, swap in the gamepad and do some gaming.

I am not certain of all the technical hurdles, but I think is this doable with today's technology. I would use this every day.

I guess my question is, does this appeal to anyone else?

< Older