Juniper EX2200 vs. USB serial adapter

Recently I had to factory-reset a Juniper EX2200 switch for which the password got lost. No big deal one would assume: Connect the console cable to the switch, plug in a USB-to-serial adapter since neither my notebook nor my desktop come with a serial port anymore, reset the switch and press space when the boot messages scroll by…

… except they don’t. Which is funny, because the serial connection itself worked fine just a minute ago – I just had no way of logging in. Reset the switch again, nothing. Wait a couple minutes… and the switch is completely fired up, except I still don’t get any output on the serial port. Detach the USB adapter, hook it up again, press some keys and there’s the login. Try the Reset again, same thing happens. And so on…

Apparently, the only way I get output is to attach the serial line after the switch powered on. Well, ok then – connect the line the second after the switch got power. Apparently that’s to fast. Plug it in a couple seconds later, apparently that’s to slow since the switch is already booting the kernel and you’ll have to press space at the bootloader before that. Let’s try something in between… doesn’t work either, only gets garbage output and doesn’t accept my input, since apparently that’s not the right time either. Goddamn, WTF? How hard can it be to watch the switch boot? Strange thing is, I haven’t had any problems with that cheap-ass adapter and other devices so far.

An hour (and about a dozen or two resets) later I decided to fuck it and grab an old HP Server I have laying around for testing spare-hardware… it still has a serial port. Hook it up to a screen, keyboard, connect the serial line there and boot an OS from USB. Guess what? The Juniper bootloader shows up just fine, no matter what. It’s just my fucking retarded USB serial adapter thingy which craps out for some reason or another.

# press spacebar when prompted
loader> boot -s
recovery
[email protected]> configure
[email protected]# set system root-authentication plain-text-password
# enter some password like juniper1
[email protected]# commit
[email protected]# exit
[email protected]> exit
Reboot the system [y/n] y

Done. In about two minutes or so, if it wasn’t for my stupid serial adapter, which turned it into an two almost hour ordeal.

Cloudflare Universal SSL and WordPress

Cloudflare just rolled out their Universal SSL enabling pretty much any site to use SSL without any associated costs – which is pretty awesome…

But when using it on one of my test-sites, it turned out the site looks pretty much broken. Apparently WordPress doesn’t yet use protocol relative URLs, so CSS, JS etc. may still have a http:// prefix, causing some browsers not to load that content over an insecure channel. Furthermore, trying to access the WordPress dashboard results in an infinite loop, since the request from Cloudflare to your server is still HTTP and handled accordingly by WordPress.

The quick way to fix this is to simply add a few lines to woud wp-config.php

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
if(isset($_SERVER['HTTP_CF_VISITOR']) && strpos($_SERVER['HTTP_CF_VISITOR'], 'https')) $_SERVER['HTTPS']='on';

And maybe install some kind of HTTPS plugin to get rid of the mixed-content warnings due to residual http:// content from other plugins.

Wet tumbling and the weight of brass

so-shiny-im-gonna-dieAfter wet-tumbling my first batch of brass the first thing that came to my mind was that scene from Despicable Me: It’s so fluffy shiny I’m gonna die!

So I went ahead and did my already dry-tumbled “clean” brass over again, leaving my with piles of oh so shiny brass. But… how much? Well, counting brass kinda sucks when you’re talking thousands per caliber, so better put it on a scale and do the math.

Here’s a handy breakdown for future reference:

Case grains per case grams per case cases per lb cases per kg lb per 1000 kg per 1000
9×19 59,5 3,86 118 259 8,5 3,9
.357 Mag. 78 5,05 90 198 11,1 5,1
.38 Special 68 4,41 103 227 9,7 4,4
.40 S&W / 10mm / .357 Sig. 70 4,54 100 220 10,0 4,5
.44 Mag. 115 7,45 61 134 16,4 7,5
.45 ACP 90 5,83 78 171 12,9 5,8
.223 Rem 95 6,16 74 162 13,6 6,2
.308 Win 175 11,34 40 88 25,0 11,3
.50 BMG 865 56,05 8 18 123,6 56,1

* the bigger the cartridge, the bigger the margin of error of course

Gun Controll in less than 1 minute

Stefan Molyneux manages to sum up the idea of gun control in 47 seconds:

If you are for gun control, then you are not against guns, because the guns will be needed to disarm people. So it’s not that you are anti-gun. You’ll need the police’s guns to take away other people’s guns. So you are very pro-gun, you just believe that only the Government (which is, of course, so reliable, honest, moral and virtuous) should be allowed to have guns. There is no such thing as gun control. There is only centralizing gun ownership in the hands of a small, political elite and their minions

Finicky buttons on Vortex SPARC

A quick tip for anyone experiencing somewhat finicky buttons on a Vortex Sparc (Gen. 1): Chances are your unit isn’t defective, it’s just time to replace your CR2354 battery.

Apparently the red-dot will continue working until the very last moment, when your cell is completely out of juice – but the controls won’t. Sometimes they work, sometime they won’t. Turning the red dot on and off seemingly takes forever and occasionally won’t work at all. Even though the dot itself was as bright as it gets, turns out my battery was almost out of power. Replaced it with a new one – everything is back to working again like it’s supposed to.

KVM too fast for plymouth-upstart-bridge

Kind of a hilarious bug, really… I recently installed another Ubuntu 14.04 server running inside a KVM with a rather fast storage backend, therefore the system apparently boots just a tiny bit faster than my other images have in the past. Problem is, apparently that slows down the boot process as init thinks something must be crashing and decides to respawn it for good measure…

[ 2.311174] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input3
[ 2.811553] init: plymouth-upstart-bridge main process (191) terminated with status 1
[ 2.812789] init: plymouth-upstart-bridge main process ended, respawning
[ 2.874117] init: plymouth-upstart-bridge main process (210) terminated with status 1
[ 2.875167] init: plymouth-upstart-bridge main process ended, respawning
[ 2.904155] init: plymouth-upstart-bridge main process (217) terminated with status 1
[ 2.905289] init: plymouth-upstart-bridge main process ended, respawning
[ 2.928618] init: plymouth-upstart-bridge main process (221) terminated with status 1
[ 2.929713] init: plymouth-upstart-bridge main process ended, respawning
[ 49.975826] Adding 2093052k swap on /dev/mapper/[...]

Yep, that’s right – 47 seconds waiting and idling, doing nothing when the image could have booted in a fraction of that time.

To fix it, simply add a sleep 2 to your /etc/init/plymouth-upstart-bridge.conf

[...]
stop on (stopping plymouth
         or stopping plymouth-shutdown)     

console output

exec plymouth-upstart-bridge
sleep 2

Init won’t freak out anymore and starts the image as it’s supposed to:

[    1.225045] random: lvm urandom read with 16 bits of entropy available
[    1.281118] bio: create slab <bio-1> at 1
[    1.370262] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[    1.684687] tsc: Refined TSC clocksource calibration: 2500.001 MHz
[    2.153550] Adding 2093052k swap on /dev/mapper/[....]-swap_1.  Priority:-1 extents:1 across:2093052k FS
[    2.169332] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
[    2.190451] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input3
[    2.408937] EXT4-fs (vda1): mounting ext2 file system using the ext4 subsystem
[    2.417990] EXT4-fs (vda1): mounted filesystem without journal. Opts: (null)
[    3.316769] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    3.316778] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[    3.495345] FS-Cache: Loaded

Way better….