Tuesday, July 23, 2013

So I eventually gave up on installing Debian on a real partition and began installing it in a VirtualBox. My eventual plan is to move the VirtualBox partitions to real partitions, but we'll see.
Anyway, installation is proceeding smoothly except for the fact that I'm waiting for 1402 packages to download on a network with 600 ms ping times (which IIRC is super slow - even if I'm wrong and the ping times are OK, everything else is slow, sooo...). This problem is exacerbated by the fact that I chose the "desktop environment" task in the installer.
So, I have been searching for things to do in the past couple hours. One, I have fixed ALL OF THE DNS PROBLEMS! I've no idea how, but somehow, I made it work.
Also, I started (and then stopped, to not hog bandwidth) downloading the Armory Bitcoin client. Because I (as of about a month ago) do Bitcoin. Yay! I'm also going to do mining on my MacBook soon (I'll join a pool).
Other than that I've just been messing around, mostly with my irssi proxy to add the server that #debian is on.

Monday, July 22, 2013

Debian week, day 2

 It's Debian week, day 2! I am still stuck on step 1.
The Internet access is super terrible here, so I can only get some stuff done at certain times. Like blogging. Anyway, I tested whatever I said I'd do last night and it failed. So I have one more thing to try: I have made a full backup of my Arch flash drive and I'm about to wipe it and reformat as VFAT. Hopefully I can then put the firmware on there and it will finally work, as this is an exact setup that the Debian installer expects. Hopefully.
Also: the Ubuntu Edge is a new phone that has desktop system specs, custom-made by Canonical. Much as I have grown to be bitter towards Ubuntu and Canonical on a personal level, they, along with the Ubuntu Phone project, are our best bet to making GNU/Linux succeed in the consumer market. And to be perfectly honest, the Ubuntu Edge looks like a really amazing piece of hardware. Therefore I actually chose to back it with $20, and you should too.
Anyway, back to Debian.

Misadventures in firmware- and cabin-land

Today I drove with my mom to Port Townsend, where we have a cabin. I ended up building a fire because Mom was out, which was an interesting experience. It took me four tries but eventually I got it. Yay!
Try #3

Try #3, burning

Also, I bought the Humble Weekly Sale with Jim Guthrie, because Jim Guthrie is freaking awesome.
So it's now Debian Week, the week where I become a Debian maintainer. Here is my approximate plan:
  1. Install Debian Jesse. Fairly easy except for the fact that I'm doing it on a MacBook Pro that a. has Apple's moon-man of an EFI implementation and b. has a Broadcom chip that needs firmware.
  2. Upgrade to Debian Sid.
  3. Read Debian Policy Manual.
  4. Write Debian package.
  5. Submit Debian package.
Currently I am stuck on step 1. I've tried to put firmware in a FAT partition on my Mac, on the EFI system partition on my Arch flash drive (which, because it is the EFI system partition, is FAT), on the ext4 partition on my Arch flash drive, all for autodetection by the Debian installer. Nothing. Next I tried downloading the installer from the Debian package archive, but that uses a wget script that obviously won't work, since I can't get wireless and don't have an Ethernet cable. Therefore I extracted the .deb archive, extracted the control files in it with tar, and modified the script to copy the firmware from /mnt instead of using wget (this is assuming that I've previously mounted the needed partitions manually). Then I rearchived the whole thing back into a new .deb file. However, when I rebooted into the installer recovery environment again, it turns out that the shell doesn't have dpkg. Very frustrating.
It now looks like Debian distributes its own firmware bundle, and that may work. I will try that after blogging, but I swear, I'm this close to just burning the unofficial image with the firmware already on the disk. Assuming I can find a CD in the cabin.
I am going to attempt to blog every day that I can this week, and if possible, the rest of the summer. We'll see how it goes.
On an unrelated note, a little while ago I started version-controlling my dotfiles with Git. This seems ridiculous but it's actually pretty common - just search for "dots", or even better, "dotfiles" on GitHub. You can find a ton of interesting stuff that way. I have now merged configurations from my server, from my MacBook (just did this today!), my Arch install on my flash drive (from which the initial commit originated), and my Arch install on my ACER laptop. I have made every file in the repository portable across each of these systems, so I don't do anything funky with branches, or anything like that, to differentiate between system-specific configs. For example, at the top of my .zshrc, you can clearly see OS detection that sets the DISTRO environment variable to either "DARWIN" or "ARCH" (because those are the two that I use with zsh). Exciting!

Thursday, July 18, 2013

Remember that time I said we need the V8 of rendering engines?

That would be this time. Anyway, I wanted to write a quick post to state that I lied, because I forgot about Mozilla's project Servo. It's written in the Rust programming language, which is interesting because it [Rust] is designed specifically for writing browser engines. It's also created by Mozilla. So actually, someone already is working on the V8 of rendering engines.

Goings-on

It's summer! Yay!
I've been to Ultimate Camp and the interwebs. And my room. Hmm.
Actually though, this week from last Wednesday to last Friday, a couple of people from the SAAS robotics team have been prepping for a camp that we're doing for middle schoolers next week. And this week, we get to actually be councilors for middle schoolers. It's very exciting and very fun!
Also, I've switched to Arch Linux. Ubuntu just makes me too angry these days, and I no longer recommend it for GNU/Linux newbies (I'm recommending Mint now). Canonical is making more and more proprietary decisions - for example, Unity cannot be used on any distribution besides Ubuntu without serious effort. Also, take Mir - Mir fragments the already little-used GNU/Linux desktop, and it doesn't even do anything new. Developers are already putting GNU/Linux behind Windows and Mac - and now they potentially have to think about two display servers, meaning that the platform will look even less attractive. Not only that, but none of the concerns that the Mir team had about Wayland hold up - in fact, a Mir developer showed that he in fact knew nothing about how Wayland worked. Canonical's insane - they want to take on the burden of porting all the upstream toolkits themselves (oh, except for old ones like GTK+2 - but as we all know, GTK+2 is still in wide use). IMHO, this is crazy. It's a waste of resources. Canonical cannot play with others, and that's extremely frustrating. For example, Canonical thought that their upstream Wayland contributions wouldn't be accepted. They even offered that as a justification for Mir. But they never even tried. That's simply ridiculous, and not only that, but it's selfish. As the vendor of the most widely-used GNU/Linux distribution in the planet, Canonical has a responsibility to not do things that screw over the ecosystem. But recently it seems like they're getting Not Built Here syndrome more and more, and they're willing to do almost anything to meet that feeling, even at the cost of the rest of the ecosystem. It's saddening.
Anyway, I'm going to stop talking about that because it makes me angry. Other miscellaneous things that I'm doing: I'm planning to fully install and try Gentoo, NetBSD, Linux from Scratch, and finally, Plan 9 from Bell Labs (note that this is the only one that isn't a UNIX).
Yesterday (Tuesday) I attended a LibrePlanet Washington meeting, which was really fun. Among other things I am now into PGP/GPG and will be doing stuff with it soon.
Also, I am thinking of doing dev work on my favorite AUR wrapper, Yaourt. I'm also thinking I might work on grive, since Insync is no longer free (as in free beer).
I also attended GSLUG last Saturday, which was really cool.
I'm also getting into IRC again. I usually hang out in #archlinux, #plan9, #gnome, #gslug and (just recently - we only created it yesterday!) #libreplanet-wa, all on Freenode. Especially cool is the fact that I set up an irssi proxy on my server (which is now on the live internet, although strugee.net is still hosted on GitHub pages. The only problem is that it interferes with byobu/screen.
Also, I set up Postfix, so mail between local system users is enabled on my server (but external mail @strugee.net is not).
Anyway, I have to go to bed. There's probably more that I want to talk about, but whatever.
Oh, one last thing: I'm using Emacs now. Yay!

Thursday, July 11, 2013

Firewall configuration on alex-ubuntu-server

So about a month or two ago, in preparation for putting my server live on the internet, I configured my firewall, which was an interesting process that I want to document.
I had previously searched for "firewall" in aptitude and installed the first result, which gave me a lovely error on service init telling me that I needed to edit /etc/apf-firewall/firewall.conf, and set something-or-other to true. Obviously I generally ignored said error.
So I went looking for documentation but it turns out that Ubuntu already comes with a firewall. Therefore I got rid of apf-firewall. Then I ran sudo ufw enable.
Now, I've read the six dumbest ideas in computer security. And of course, number one is default allow. Luckily, ufw was written by people smart enough to put a default deny policy in place by default:
alex@alex-ubuntu-server:~$ sudo ufw status verbose
[sudo] password for alex:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
alex@alex-ubuntu-server:~$
So that was covered. I decided, however, to also institute a default deny policy for outgoing traffic, on the basis of "why not" - meaning that I might as well unless it became a huge issue. So far though, it's actually ok. An interesting thing that happened on my first pass, though, was that while I had port 80 open, I didn't have port 53 open. So I could download web pages but I couldn't actually resolve addresses, causing connection problems.
Anyway, the last thing I have to do is figure out ping. It's supposed to work automagically, but it doesn't. So I'll look at that.

Saturday, June 15, 2013

Thoughts about things #1

So I was just thinking about the tornado in Oklahoma and its been devastating and my mom and I are listening about the clean up on NPR

They measure the devastation in dollars because we have no scale for things that we as a race have no control over

And I was just thinking, it's kind of amazing that something outside of our control can cause so much devastation 

Not because I want people to be hurt or sad, but because I think it's amazing that there is still something outside of our grasp as a race that can have huge implications while there nothing we can do about it

I just think its important that humans don't become the end all be all, and things like this are a reminder that we are intensely small in comparison to what is possible 

That said, I hope that everyone affected by the tornado recovers and that we are able to help rebuild Oklahoma back to what it was.

We measure the recovery in dollars because we have no measure of things outside our control. But this is perfect, because we are recovering in a way that we are completely in control of. We may be devastated in ways that we have no control over, but we repair on our terms.