Archive for the ‘Free Software’ Category
Putting new radios up in Everett
Wednesday, July 7th, 2010blog optimizations
Tuesday, July 6th, 2010Thanks to some recommendations from Jeremy, Pierre and Jeff, this blog should be running a lot less slowly. I’ve installed memcached, set up wordpress plugins, tuned apache MPM parameters, tweaked iptables and tc rules and beaten on the blog with load testing scripts. It seems that it will now reliably handle around 10 concurrent requests and take less than 5 seconds to bring the page up. This is much better than the previous <2r/s 20s load time. I’m no amazon.com (thank goodness), but I think this will meet the blog’s needs quite well.
Hey, look. I got mcs to github before Miguel
Sunday, June 27th, 2010I’m also hosting it on my own not-as-l33t git repo:
http://git.colliertech.org/?p=mcs.git;a=summary
Does this mean that I get a “cooler than Miguel” tee shirt?
Filing to become a licensed CA
Saturday, June 26th, 2010Hey there gentle readers,
I am completing paperwork on behalf of Collier Technologies LLC which is required (as described in chapter 19.34 RCW [pdf]) to file with the state of Washington to become a licensed Certification Authority.
Look! I’m also running a(n unrecognized) repository!
Neat, huh?
C.J.
Building libvirt on CentOS5 (incomplete)
Thursday, May 27th, 2010Much thanks to Brett for the pointers on rpm-fu.
http://grantmcwilliams.com/index.php?option=com_content&view=article&id=229:
$ sudo yum install \
xen-devel \
xhtml1-dtds \
hal-devel \
libpcap-devel \
cyrus-sasl-devel \
parted-devel \
numactl-devel \
avahi-devel \
slang-devel \
libvolume_id-devel \
openldap-devel
# device-mapper-devel \
# xmlrpc-c-devel \
for pkg in \
libssh2-devel-1.2.5-1.el5.pp.x86_64.rpm \
libssh2-1.2.5-1.el5.pp.x86_64.rpm \
libssh-0.2.1-0.2.svn193.el5.pp.x86_64.rpm \
libssh-devel-0.2.1-0.2.svn193.el5.pp.x86_64.rpm
do
wget ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel5/x86_64/$pkg
rpm -i $pkg
done
wget http://www.fateyev.com/RPMS/RHEL5/x86_64/xmlrpc-c-devel-1.14.8-1.el5.x86_64.rpm
wget http://www.fateyev.com/RPMS/RHEL5/x86_64/xmlrpc-c-1.14.8-1.el5.x86_64.rpm
rpm -i xmlrpc-c-*1.14*el5*.rpm
wget ftp://ftp.icm.edu.pl/vol/rzm1/linux-fedora-secondary/development/source/SRPMS/corosync-0.95-2.fc11.src.rpm
alien -t corosync-0.95-2.fc11.src.rpm
mv corosync-0.95.tgz /tmp
cd ~/rpm/SOURCES
tar xfz /tmp/corosync-0.95.tgz
patch -p0
--- corosync.spec.orig 2010-05-26 19:17:15.000000000 +0000
+++ corosync.spec 2010-05-26 19:21:39.000000000 +0000
@@ -39,11 +39,7 @@
fi
%endif
-%{_configure} CFLAGS="$(echo '%{optflags}')" \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --libdir=%{_libdir}
+%{configure} CFLAGS="$(echo '%{optflags}')"
%build
make %{_smp_mflags}
@@ -52,8 +48,8 @@
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
-install -d %{buildroot}%{_initddir}
-install -m 755 init/redhat %{buildroot}%{_initddir}/corosync
+install -d %{buildroot}%{_sysconfdir}/init.d
+install -m 755 init/redhat %{buildroot}%{_sysconfdir}/init.d/corosync
## tree fixup
# drop static libs
@@ -95,7 +91,7 @@
%{_sbindir}/corosync-fplay
%{_sbindir}/corosync-pload
%config(noreplace) /etc/corosync.conf
-%{_initddir}/corosync
+%{_sysconfdir}/init.d/corosync
%dir %{_libexecdir}/lcrso
%{_libexecdir}/lcrso/coroparse.lcrso
%{_libexecdir}/lcrso/objdb.lcrso
rpmbuild -bb corosync.spec
sudo rpm -i ~/rpm/RPMS/x86_64/corosynclib*.rpm
wget ftp://ftp.icm.edu.pl/vol/rzm1/linux-fedora-secondary/development/source/SRPMS/openais-0.94-1.fc11.src.rpm
alien -t openais-0.94-1.fc11.src.rpm
mv openais-0.94.tgz /tmp
cd ~/rpm/SOURCES
tar xfz /tmp/openais-0.94.tgz
rpmbuild -bb openais.spec
sudo rpm -i ~/rpm/RPMS/x86_64/openaislib-*.rpm
wget ftp://ftp.icm.edu.pl/vol/rzm1/linux-fedora-secondary/development/source/SRPMS/lvm2-2.02.45-4.fc11.src.rpm
alien -t lvm2-2.02.45-4.fc11.src.rpm
mv lvm2-2.02.45.tgz /tmp
cd ~/rpm/SOURCES
tar xfz /tmp/lvm2-2.02.45.tgz
rpmbuild -bb lvm2.spec
PocketSphinx on android via the NDK
Thursday, April 29th, 2010While working on my project for the Spring ’10 “NLP on Mobile Devices” course, I put together a PocketSphinx ndk build. You can pull it down from my git repo:
$ git clone git://colliertech.org/colliertech/PocketSphinx.git
I haven’t written any of the JNI marshaling functions yet, though.
GSoC 2010
Monday, April 26th, 2010Earlier this month, I applied to the Mono Project (and the University of Washington, and Ubuntu, and Debian, and The Perl Foundation) requesting a mentor to get Perl6 hosted on the DLR.
Last Tuesday, Miguel contacted me and asked that I chat with Michael Hutchinson about possibly taking up a different project. It seems that the group did not have any mentors who felt comfortable mentoring the Perl6 project. After a bit of consideration, I agreed to modify my application and take up a project to revive the regular expression compiler from 2.2.
Today, the project was officially accepted, and I met with my mentor for the first time (hi Rodrigo!).
I will also be working with Matthew Wilson (aka @diakopter), since he has purportedly implemented a number of regex-to-IL compilers ;) He also offered to mentor me if The Perl Foundation had accepted my application, and since he has already implemented a perl6 compiler in javascript, I have been looking forward to poking some code with him.
Although the GSoC doesn’t officially get started until 5/24, I’m making a git-svn checkout now. I’ve always committed the code directly to svn, but I’ve enjoyed working with git, and it seems about time to start contributing via git-svn. It will be easier to have local branches this way, too.
Anyway, I’m looking forward to it ;)
John Hodgman is using software that I helped to write
Tuesday, April 13th, 2010A recent blog post by The Hodg Man mentions that he uses (AND ENJOYS) a product I’ve helped to build. Yay.
***
FULL DISCLOSURE NUMBER TWO
FAITHFUL READERS OF THIS IMITATION BLOG know that, having crashed my own website repeatedly while linking to it Twitterphonically, I experimented with NEW INTERNET TECHNOLOGY to try to fix this problem.
SPECIFICALLY, my host, LiquidWeb, called and offered their cloud computing solution STORM ON DEMAND. I think this means that instead of being stored on a single regular computer, my whole website is instead stored on dozens of semi-mechanical, murderous black clouds on various uncharted islands.
THIS EXPERIMENT WAS SUCCESSFUL. So, in the spirit of full disclosure,
I AM USING STORM ON DEMAND FOR A REDUCED PRICE, and unless it grabs me and pulls me in to the woods to murder me, I will continue to USE AND ENJOY IT.
***
Getting started with gtk♯
Thursday, April 8th, 2010This is a quick tutorial for getting a first gtk-sharp app up and going.
Install MonoDevelop
$ sudo apt-get install monodevelop libgtk2.0-cil-dev
Start MonoDevelop
It’ll be in your GNOME application menu under Applications->Programming->MonoDevelop
Create a new Gtk# Project
Run project
You can run this boilerplate by pressing Ctrl-F5
Using the Designer
Double-click on the file named MainWindow.cs in the Solution section. When the file opens, click the Designer button below the code view.
The Toolbox
To add the Toolbox, press Alt-Shift-B or click View->Toolbox.
Drag a VBox widget from the Toolbox to the main window.
Drop a Menu Bar widget into the top cell of the VBox, and a Statusbar into the bottom.
Properties grid
Drop a Button widget into the middle cell of the VBox.
Add the Properties grid from the View menu (Alt+Shift+P or View->Properties).
Select the new button by clicking on it.
In the Properties grid, expand the Button Properties section and click the value of the Label field. Delete the default content and replace it with a different string.
Adding a Click handler
Select the button in the Designer view
In the Property grid, select the Signals tab
Click twice on the text in the column to the right of the Clicked and replace Click here to add a new handler with MyButtonClickHandler
Click on the Source Code button below the viewer window to switch to the C♯ code. You can use the find tool to search for the new handler you created, called MyButtonClickHandler. Ctrl-F will bring up the find dialogue.
Add some code to update the status bar.
protected virtual void MyButtonClickHandler (object sender, System.EventArgs e)
{
var contextId = this.statusbar1.GetContextId("clicked");
this.statusbar1.Push(contextId, "Clicky-Clicky" );
}
Modify button layout
The size of the running window is a little weird. I fixed mine by un-setting the Auto Size boolean and setting the Expand and Fill in the Box Child Layout section of the Properties grid.
Exercise button click handler
Run your application with Ctrl-F5 and click on the button. You should see the new string show up in the status bar at the bottom left of the window.
Add Menu items
Importing darcs into a git branch
Wednesday, March 24th, 2010Maybe this will make it more google-able…
Looks like you can export your darcs repo with darcs-fast-export and then import it with git-fast-import
18:15 < wakko666> I have kind of an odd question that google doesn't seem to
know. I'm converting a darcs repo to a git repo. i've already
got the tool to export the darcs side. however, i'd like to
import the commits into a branch of an existing repository.
is this possible?
18:16 < cj> make a remote tracking branch referencing the exported darcs repo?
18:17 < wakko666> cj: thanks for the clue. i'll try it.
18:28 < cj> git remote add darcsthing git://moo/darcsthing.git ; git checkout
-b darcsthing darcsthing/master
18:28 < cj> oh, there should probably be a git fetch darcsthing in there
somewhere
18:31 < wakko666> cj: yup, that works. thanks for the help. :)
18:31 < cj> yay. glad I could help.






















