Tuesday, October 24, 2023

Markdown to PDF with Pandoc on Ubuntu 20.04

I've been ok on the LTS ubuntu for my daily driver for quite a while. But today I'm frustrated yet again I cannot export a wiki page from github to PDF. Maybe it's fine on newer versions. Todays issue of the day was:

 Error producing PDF.
! LaTeX Error: File `pdftexcmds.sty' not found.


Fixing it depends on how you installed latex. I installed texlive-base and a couple other packages. You'll find many refrences through your search engine of using the tlmgr utility to install the missing packaged. You shouldn't do that though unless you used that for your tex installation, which I didn't; I used apt. So I must figure out what apt package has that file. To fix this particular one I just needed:

 sudo apt-get install texlive-latex-recommended

Ok so one down. How many more to go?

 Error producing PDF.
! LaTeX Error: File `letltxmacro.sty' not found.

 

 ...

 [sounds of googling]

...


 sudo apt-get install texlive-latex-extra


Success. 2 deep isn't too bad. Hope this helps. Good luck!

Wednesday, February 27, 2019

MYWIFIHIFIBIPI (Wi-Fi and bluetooth playing bi-amped hi-fi system based around a raspberry pi and 5.1 receiver) or: Another abandoned project

I first was given my aunts old Onkyo TX-SD696 5.1 receiver. Then I found a pair of JBL ARC 1000's on the local classified ads. Then I went crazy.

See the rub was that several reviews of the loudspeakers mentioned that they really shine when bi-amped. I did a little research and learned what that means and that most people who think what that means don't actually know what that means.

Since I can't help but show off my new-found knowledge I'll share it. Bi-amp, etymologically just means 2 amps, but there are bountious ways to use 2 amps incorrectly. Bi-wiring is an orthogonal idea where you run 2 lines (4 conductors) instead of 1 (+- only).  You really need both to gain any advantage AND you need a preamp crossover. This is where the real advantage is to be gained: by allowing the amps to focus on amplifying their respective audio band (woofer or mids & tweeter) without the other band taking any headroom. Also the amp drives the horns directly without the other drivers electrically coupled in. The passive crossover is still there, but since all the content managed by each amp is in the passband of the channel its driving, it shouldn't have much any effect on phase or amplitude of the signal reaching the speaker. I'm not an audio expert but that jives well with the signal processing & circuit theory I learned in school. Interestingly they say these crossovers are always active, though I don't see any reason why they HAVE to be (as long as your input source has enough oomph).

Since its probably a stereo system (though I did recently acquire the traditional mono version of Pet Sounds) you actually need 2 crossovers, 4 amps, and 8 wires (4 +- pairs)! Not to mention you need speakers with 4 posts on the back and not just 2.

Well, with these new (to me) speakers, the 5.1 receiver, and some salvaged speaker wire I have most of those things. I don't actually have 4 amps, but I have 5 amp channels, which I can utilize.

What about the crossovers?!

Setting up a Raspberry Pi 3 as a Bluetooth Speaker with NO Pulseaudio...

I really don't have much against pulseaudio. I use it daily on my daily computing machine. But believe it or not, I don't do my daily computing on a bluetooth speaker. No, I'm of the persuasion that pulse is a great desktop audio system (though I have high hopes for pipewire), except for when it isn't. For pro-audio (making my own music) I use JACK and it's awesome, and you already know I use pulse for daily web browsing, music listening etc, but neither of these cases are very much like a bluetooth speaker, are they?... We need an audio system that's basically going to serve as part of an appliance. But what else is there?!

OSS?!?!!

No, there is not oss.
I mean, there is, but it was replaced for good reason.

ALSA. I'm trying to lead you to alsa. Alsa is actually the audio driver behind both JACK and pulseaudio so its lower level, but you've got a headless system for crying out loud that just connects bluetooth and streams the audio, what do you need high level stuff for?




Monday, November 13, 2017

Installing the Ninja and Meson Build Systems on OSX

I never use OSX. Doing so today has felt like trying to play guitar left handed, or say the alphabet backwards. I know what needs to be done but its unnatural and frustrating.

But I had to for work to test my meson build descriptions. I won't introduce them here, but meson seems pretty awesome and it depends on ninja for what usually make is used for.

If you are here you probably know that already anyway.

Thursday, June 23, 2016

Room Treatment and Open Source Room Evaluation

Its hard to improve something you can't measure.

My studio space is much much too reverberant. This is not surprising since its a basement room with laminate flooring and virtually no soft, absorbant surfaces at all. I planned to add acoustic treatment from the get go, but funding made me wait until now. I've been recording doing DI guitars, drum samples, and synth programming, but nothing acoustic yet until the room gets tamed a little bit.

Friday, February 26, 2016

Why Does Programming Have So Many Holy Wars?

I was chatting with my brother and my Dad about the silly arguments programmers get into. Editors (me: vim, bro: emacs, dad: brief). Tabs vs spaces (all: spaces), bracket placement,  C vs C++,  Inheritance vs composition, the list goes on and on. Why?

I guess its because unlike say, space travel that was highly documented by a single agency, or say civil engineering which is regulated by building code and strict best practice rules, coding developed ad-hoc. Hackers all maker their own rules and basically these are just territory gang fights. Whatever.

Friday, November 6, 2015

Easyish Triple Boot on a Macbook Pro, Round 2

So my "easyish" install using Wubi finally crashed when I was trying to change things and install Ubuntu 15.10. If I'd have left it at 14.04, it probably would have been ok for a long time. However I was getting tired of the poor disk performance when creating large archives for work. So once it was broken, I had no reason not to just try and get a full triple boot (luckily I had backed everything up before trying anything). I found this recent article about triple booting, but its process has the deal-breaking requirement to install ubuntu before windows. What if you're handed a machine already set up for dual boot (without the recovery disks, mind you)? Funny that with 2 operating systems to choose from I wasn't happy with either....

Well it can be done (at least on my MBP 11,3 with yosemite and a windows7 bootcamp partition), and the secret sauce is rEFInd. I don't understand EFI at all. And every time I start going through the docs (rEFInd has a lot of GREAT documentation) I get distracted with needing to do work or something. Anyhow, before, I couldn't boot any Ubuntu live usb drives after 14.10 (I think the switch to systemd maybe?) but once I installed rEFInd I could... When I resized the bootcamp partition using a 14.04 live usb, booting windows didn't work any more. But once I installed rEFInd it did... After installing 15.10 from the liveUSB I couldn't boot osx or windows from the grub bootloader. But once I held the option key and used apple's boot selector to boot into OSX again and installed rEFInd again I could... boot from rEFInd's boot selector that is. Somehow rEFInd is magical.

So in a recipie:
  1. Boot a live usb (I had to use 14.04)
  2. Use gparted to shrink down the bootcamp/windows partition (make sure you've defragmented the partition in windows first).
  3. Install rEFInd by downloading in OSX and running the install.sh from the OSX terminal
  4. Boot  windows just to make sure you still can (when you have to)
  5. Boot from a live usb of ubuntu 15.10 and install with the empty space turned into the / directory (root)
  6. After the ubuntu install hold option next time you boot and boot into OSX, install rEFInd again (the grub configuration messes it up somehow)
  7. Enjoy using linux but still having 2 other operating systems to choose from (though you'll have to twist my arm to get me to boot anything other than linux).
Hopefully this helps. Its not as detailed as my last post, but I'm much more satisfied with the results so far. I'm still amazed that a free and open source project does boot management so much better than the expensive proprietary options.

Oh ya, and do all this at your own risk. Please make backups.