2011
12.15

at time of writing, spotify (in this particular repo) was at version spotify-client-qt_0.6.2.291.gcccc1f5.116-1_amd64.deb & i386.deb

so after installing the piczu overlay to install spotify on my machine i noticed that it was not finding the appropriate file in the proper repo uri (http://repository.spotify.com/pool/non-free/s/spotify).

it was searching for $REPO_URI/spotify-client-qt-ver.ga662380-1_i386.deb

here is the ebuild (spotify-0.4.6.73.ebuild) as provided by piczu’s overlay:

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="3"

inherit eutils

MY_PN="spotify-client-qt"
MY_PV="${PV}.ga662380"
MY_P="${MY_PN}_${MY_PV}"

DESCRIPTION="A proprietary peer-to-peer music streaming desktop application"
HOMEPAGE="http://www.spotify.com"
REPO_URI="http://repository.spotify.com/pool/non-free/s/spotify"
SRC_URI="amd64? ( ${REPO_URI}/${MY_P}-1_amd64.deb )
    x86? ( ${REPO_URI}/${MY_P}-1_i386.deb )"

LICENSE="Spotify"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

# media-sound/asoundconf left
DEPEND=""
RDEPEND="${RDEPEND}
    >=x11-libs/qt-dbus-4.5.0
    >=x11-libs/qt-webkit-4.5.0
    >=x11-libs/qt-core-4.5.0
    >=x11-libs/qt-gui-4.5.0"

src_unpack() {
    unpack ${A} ./data.tar.gz
}

src_install() {
    insinto /opt/${PN}
    into /opt/${PN}
    dobin usr/bin/spotify
    dosym /opt/${PN}/bin/spotify /usr/bin/spotify
    newdoc usr/share/doc/spotify-client-qt/changelog.Debian.gz changelog.gz
        doins -r usr/share/spotify/theme
    # hardcoded path fix
    dodir /usr/share/spotify
    dosym /opt/${PN}/theme /usr/share/spotify/theme
}

here are the changes i made to it :

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="3"

inherit eutils

MY_PN="spotify-client-qt"
#MY_PV="${PV}.ga662380"
MY_PV="${PV}.gcccc1f5.116-1"
MY_P="${MY_PN}_${MY_PV}"

DESCRIPTION="A proprietary peer-to-peer music streaming desktop application"
HOMEPAGE="http://www.spotify.com"
REPO_URI="http://repository.spotify.com/pool/non-free/s/spotify"
SRC_URI="amd64? ( ${REPO_URI}/${MY_P}_amd64.deb )
    x86? ( ${REPO_URI}/${MY_P}_i386.deb )"

LICENSE="Spotify"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

# media-sound/asoundconf left
DEPEND=""
RDEPEND="${RDEPEND}
    >=x11-libs/qt-dbus-4.5.0
    >=x11-libs/qt-webkit-4.5.0
    >=x11-libs/qt-core-4.5.0
    >=x11-libs/qt-gui-4.5.0"

src_unpack() {
    unpack ${A} ./data.tar.gz
}

src_install() {
    insinto /opt/${PN}
    into /opt/${PN}
    dobin usr/bin/spotify
    dosym /opt/${PN}/bin/spotify /usr/bin/spotify
    newdoc usr/share/doc/spotify-client-qt/changelog.Debian.gz changelog.gz
        doins -r usr/share/spotify/theme
    # hardcoded path fix
    dodir /usr/share/spotify
    dosym /opt/${PN}/theme /usr/share/spotify/theme
}

I also removed the existing manifest and the old ebuilds and just generated a new one from this ebuild file.
this ebuild file was named spotify-0.6.2.291.ebuild to match the version that is in the repo.
the manifest file was created by running ebuild spotify-0.6.2.291.ebuild manifest

2011
11.29

just a snippet of something i was working on to add volumes to instances in aws using the amazon ec2 ami / api tools.

very rough draft.

TMP_VOL_OUT="$(basename $0).$$.tmp"
TMP_INST_OUT="$(basename $0).$$.tmp"                                                                                        

## input the number of volumes to create-
echo "How many volumes to create ?: \c"
read VOLNUM
echo "Creating ${VOLNUM} volumes"                                                                                           

## input size of volume
echo "What do you want the size of the vols to be (in gb) ?: \c"
read VOLSIZE
echo "Creating ${VOLSIZE}gb volumes"                                                                                        

## select availability zone
echo "What zone dp you want the volumes to be in (select from list below by inputing zone - case sensitive) : \c"
ec2-describe-availability-zones | awk '{print $2}'
read ZONE
echo "Using ${ZONE} as zone"                                                                                                

## create the volumes
x=0
while [ $x -lt ${VOLNUM} ];
    do
        x=`expr $x + 1`
        ec2-create-volume -s ${VOLSIZE} -z ${ZONE} >> ${TMP_VOL_OUT}
    done                                                                                                                    

## create instance
# first show images / ami's to use as image
echo "Select default ami to mimic for new instance (just input from column one - case sensitive) : \c"
ec2-describe-images | egrep IMAGE | awk '{print $2, $3}'
read DEF_AMI
echo "You selected ${DEF_AMI}"                                                                                              

# now select instance type
echo "Select instance type : \c"
echo "m1.small | m1.large | m1.xlarge | c1.medium | c1.xlarge | m2.xlarge | m2.2xlarge | m2.4xlarge | cc1.4xlarge | cg1.4xlarge | t1.micro"
read INST_TYPE
echo "You selected ${INST_TYPE}"                                                                                            

# now create the instance
ec2-run-instances ${DEF_AMI} -k pissedoffadmins --availability-zone ${ZONE} -t ${INST_TYPE} >> ${TMP_INST_OUT}

## attach the volumes
x=0
while [ $x -lt ${VOLNUM} ];
    do
        x=`expr $x + 1`
        VOLNAME=`sed -n `echo $x`p ${TMP_VOL_OUT} | awk '{print $2}'`
        INSTNAME=`sed -n `echo $x`p ${TMP_INST_OUT} | awk '{print $2}'`
        ec2-attach-volume ${VOLNAME} -i ${INSTNAME} -d /dev/sdh$x
    done
2011
11.28

image

Koush released an alpha of ics for the nexus s. I popped it on along with the glados kernel. Good times.

2011
11.18

its that kind of day


click to enlarge
Ty captures the sentiment perfectly.

visit his site sometime. good dude.
darkseidis

2011
11.01

this article should have been called “what i learned while trying to setup https with haproxy”.

after enough googling i came up to the decision to do https through stunnel then send straight http to haproxy.

clean and simple.

what i did not know is that you need to add reqadd X-Forwarded-Proto:\ https to the haproxy configs which is brought over from stunnel.

problem is that they only recently (as of time of writing) merged X-Forwarded-Proto into the latest release of stunnel (4.45).

here are my configs with some explanations below
haproxy.cfg:

global
      maxconn 4096
      pidfile /var/run/haproxy.pid
      daemon

defaults
      mode http
      retries 3
      option redispatch
      maxconn 2000
      contimeout 5000
      clitimeout 50000
      srvtimeout 50000

listen HTTP *:80
      mode http
      cookie HTTP insert nocache
      balance roundrobin
      option httpclose
      option forwardfor
      stats enable
      stats auth myuser:mypass
        reqadd X-Forwarded-Proto:\ http
      server SERVER_A xxx.xxx.xxx.xxx:8080 cookie http_01 check
      server SERVER_B xxx.xxx.xxx.xxx:8080 cookie http_02 check

listen HTTPS *:8081
      mode http
      cookie HTTP insert nocache
      balance roundrobin
      option httpclose
      option forwardfor
      stats enable
      stats auth myuser:mypass
        reqadd X-Forwarded-Proto:\ https
      server SERVER_A xxx.xxx.xxx.xxx:8080 cookie http_01 check
      server SERVER_B xxx.xxx.xxx.xxx:8080 cookie http_02 check

stunnel.cfg:

sslVersion = all
options = NO_SSLv2
cert=/etc/stunnel/stunnel.pem
setuid = root
setgid = root
pid = /var/run/stunnel.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
output = /var/log/stunnel.log

[https]
        accept = 443
        connect = 8081
        xforwardedfor=yes
        TIMEOUTclose = 0

as you can see by the two configs there is nothing special — two app servers and one load balancer handling minimal amounts of traffic and only accepting traffic from 80 & 443.
the xxx.xxx.xxx.xxx’s would obviously be changed to the addresses of the listening balanced servers and of course change the myuser / mypass credentials.
stunnel catches all the fun stuff on 443 and forwards it to haproxy over 8081.

only thing that had to be ensured was that the ec2 fw was open, but thats another article all together.

2011
08.27

i got my hp touchpad (16gb version) a couple of days ago and started to play around with it today since we are hunkering down for hurricane irene.

here are outputs:
cpuinfo

LsHPTouchPad / # cat /proc/cpuinfo
Processor	: ARMv7 Processor rev 2 (v7l)
processor	: 0
BogoMIPS	: 13.52

Features	: swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer	: 0x51
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0x02d
CPU revision	: 2

Hardware	: TENDERLOIN
Revision	: 0000
Serial		: 0000000000000000

meminfo (partial):


LsHPTouchPad / # cat /proc/meminfo
MemTotal:         941572 kB
MemFree:          544920 kB
Buffers:           22656 kB
Cached:           172676 kB
SwapCached:            0 kB

uname -a:


LsHPTouchPad / # uname -a
Linux LsHPTouchPad 2.6.35-palm-tenderloin #1 SMP PREEMPT 129.2.22 armv7l GNU/Linux

cat /etc/issue:


LsHPTouchPad / # cat /etc/issue
Rockhopper .dev-snapshot
 \l

as i find out more or try out some other options as listed on various websites i will post to this site.

2011
08.24

some vim configs

so for my day to day i use a highly config’ed version of vim with all the config’s coming from multiple sources all over the internet.

here is my main .vimrc file which you can place in ~

now create these folders under ~ :
.vim/
.vim/autoupload/
.vim/backup/
.vim/colors/
.vim/plugin/
.vim/tmp/
.vim/undo/
.vim/view/

here is a screen shot:

click to enlarge
as you can see in the screenshot, i have a fully labeled bottom bar and a tab bar on top. the red lines to the right indicate 80 & 120 character break.

you can edit the config as needed.

2011
08.18

Nexus S madness

image

Just upgraded baseband, kernel and mod.

baseband and hsdpa tweaks from here

kernel from here

and mod / firmware from here

2011
07.31

image

Just upgraded from an n1 to an ns.

2011
07.30

linux:

find . -type f -print0 | xargs -0 -n1 md5sum | sort -k 1,32 | uniq -w 32 -d --all-repeated=separate | sed -e 's/^[0-9a-f]*\ *//;'

mac osx:

find . -type f -print0 | xargs -0 cksum | sort | awk '{if($1 == prevsum) {printf("----\n %s\n %s\n", prev, $0);} prev=$0; prevsum=$1;}'