tag:blogger.com,1999:blog-58682385817023534872024-03-13T06:47:23.937+00:00Kiwi Hacker's blog o stuffThings that i am working on...Unknownnoreply@blogger.comBlogger41125tag:blogger.com,1999:blog-5868238581702353487.post-57291235081825037672017-01-25T19:53:00.001+00:002017-01-25T19:53:54.184+00:00Brute forcing hashes on ssh known_hostsWhile developing on Fujitsu K5, i realised that i was filling my known_hosts with IPs.<br />
In my ssh_config now, for the address spaces i dont need:<br />
<pre><code><span style="font-family: "courier new" , "courier" , monospace;"> UserKnownHostsFile=/dev/null
StrictHostKeyChecking=no</span>
</code></pre>
Then, it says i adds to known_hosts, but it doesn't<br />
<pre><code><span style="font-family: "courier new" , "courier" , monospace;">$ ssh -F k5_ssh_config 10.77.1.3
Warning: Permanently added '62.60.42.151' (ECDSA) to the list of known hosts.
Warning: Permanently added '10.77.1.3' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-61-generic x86_64)</span>
</code></pre>
<br />
Here is my gist:
<script src="https://gist.github.com/mohclips/58cddee4b0450b9947e52e0bed15a757.js"></script>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-28875539194746239432017-01-25T16:33:00.000+00:002017-01-25T16:34:05.948+00:00Installing riot.im client on Ubuntu
have fun :)
<pre class="brush:shell; gutter:false;">
sudo add-apt-repository 'deb https://riot.im/packages/debian/ trusty main'
wget -qO - https://riot.im/packages/debian/repo-key.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get --show-progress install riot-web
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-90939813373357407882016-08-07T17:39:00.002+01:002016-08-07T19:26:30.117+01:00DevStack, OpenVSwitch and LXCWhile playing with DevStack inside a LXC container, i'd run into a a lot of issues where once the ./stack.sh reached the neutron stage it failed with odd errors.
<pre class="brush:shell; gutter:false;">
2016-08-04 19:59:44.439 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.450 | ovs-ofctl: br-int is not a bridge or a socket
2016-08-04 19:59:44.462 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.473 | ovs-ofctl: br-int is not a bridge or a socket
2016-08-04 19:59:44.485 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.496 | ovs-ofctl: br-int is not a bridge or a socket
2016-08-04 19:59:44.508 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.519 | ovs-ofctl: br-int is not a bridge or a socket
</pre>
and/or
<pre class="brush:shell; gutter:false;">
mmod: ERROR: Module bridge is in use by: ebtable_broute
* removing bridge module
Sat Aug 6 08:33:16 UTC 2016:start --system-id=random
* Starting ovsdb-server
* Configuring Open vSwitch system IDs
modprobe: ERROR: could not insert 'openvswitch': Operation not permitted
* Inserting openvswitch module
rmmod: ERROR: Module bridge is in use by: ebtable_broute
* removing bridge module
* Enabling remote OVSDB managers
</pre>
These above errors come from the underlying host of LXC not having the right kernel modules loaded.
So you are going to need to install a few things on the host:
Open virtual switch and ethernet bridge tables (firewall)
<pre class="brush:shell; gutter:false;">
sudo apt-get install ebtables openvswitch-common
</pre>
Then update your /etc/modules to load things into the kernel
<pre class="brush:shell; gutter:false;">
# openstack
bonding
q8021q
openvswitch
ebtables
</pre>
Force them manually
<pre class="brush:shell; gutter:false;">
sudo modprobe openvswitch
sudo modprobe ebtables
</pre>
Now Devstack with Neutron installs fine. Yay!
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWl7m3sZ3BW7p1Cb5LoKMsy2XFT1prXisEFytD1R8CdnZRvbNAu1R5NfnV2n8hABOiicJQT7ZSXwd09D8iWyOoZcxzvE9QZpykTBfvFt6Si5FY5Gpp1IFbJI7XJeLUtCWU2hCU4lkueCaj/s1600/neutron-in-devstack.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWl7m3sZ3BW7p1Cb5LoKMsy2XFT1prXisEFytD1R8CdnZRvbNAu1R5NfnV2n8hABOiicJQT7ZSXwd09D8iWyOoZcxzvE9QZpykTBfvFt6Si5FY5Gpp1IFbJI7XJeLUtCWU2hCU4lkueCaj/s320/neutron-in-devstack.png" width="320" height="150" /></a></div>
My devstack local.conf - Mitaka, Heat and Neutron
<pre class="brush:bash;">
[[local|localrc]]
DEST=/opt/stack
ADMIN_PASSWORD=MySecretDevPass
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
# fixed DHCP via /etc/lxc/dnsmasq-hosts.conf via /etc/default/lxc-net on LXC host side
# https://askubuntu.com/questions/446831/how-to-let-built-in-dhcp-assign-a-static-ip-to-lxc-container-based-on-name-not
HOST_IP=10.0.3.10
# v3 KeyStone API only
ENABLE_IDENTITY_V2=False
PRIVATE_NETWORK_NAME=priv_net
PUBLIC_NETWORK_NAME=ext_net
#-----------------------------
# Devstack configurations
#-----------------------------
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR
SCREEN_HARDSTATUS="%{= rw} %H %{= wk} %L=%-w%{= bw}%30L> %n%f %t*%{= wk}%+Lw%-17< %-=%{= gk} %y/%m/%d %c"
LOGFILE=$LOGDIR/devstack.log
LOGDAYS=1
LOG_COLOR=True
VERBOSE=True
#
# Modules
#
# Load the external LBaaS plugin.
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
enable_plugin octavia https://git.openstack.org/openstack/octavia
# Pre-requisite
ENABLED_SERVICES=rabbit,mysql,key
# Horizon
ENABLED_SERVICES+=,horizon
# Nova
ENABLED_SERVICES+=,n-api,n-crt,n-cpu,n-cond,n-sch
# Glance
ENABLED_SERVICES+=,g-api,g-reg
#Enable heat services
ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
#fedora images from F20 contain the heat-cfntools package which is required for some heat functionality.
#IMAGE_URLS+=","https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/releases/24/CloudImages/x86_64/images/Fedora-Cloud-Base-24-1.2.x86_64.qcow2"
# download from local server to speed up stacking
IMAGE_URLS+=","http://192.168.0.4/openstack/Fedora-Cloud-Base-24-1.2.x86_64.qcow2
# Neutron
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta
# Cinder
ENABLED_SERVICES+=,c-api,c-vol,c-sch
# Enable LBaaS v2
##ENABLED_SERVICES+=,q-lbaasv2
##ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api # TODO octavia fails
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-31692000975223493602016-08-07T17:39:00.001+01:002016-08-07T18:15:04.085+01:00DevStack, OpenVSwitch and LXCWhile playing with DevStack inside a LXC container, i'd run into a a lot of issues where once the ./stack.sh reached the neutron stage it failed with odd errors.
<pre class="brush:shell; gutter:false;">
2016-08-04 19:59:44.439 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.450 | ovs-ofctl: br-int is not a bridge or a socket
2016-08-04 19:59:44.462 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.473 | ovs-ofctl: br-int is not a bridge or a socket
2016-08-04 19:59:44.485 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.496 | ovs-ofctl: br-int is not a bridge or a socket
2016-08-04 19:59:44.508 | ovs-ofctl: br-ex is not a bridge or a socket
2016-08-04 19:59:44.519 | ovs-ofctl: br-int is not a bridge or a socket
</pre>
and/or
<pre class="brush:shell; gutter:false;">
mmod: ERROR: Module bridge is in use by: ebtable_broute
* removing bridge module
Sat Aug 6 08:33:16 UTC 2016:start --system-id=random
* Starting ovsdb-server
* Configuring Open vSwitch system IDs
modprobe: ERROR: could not insert 'openvswitch': Operation not permitted
* Inserting openvswitch module
rmmod: ERROR: Module bridge is in use by: ebtable_broute
* removing bridge module
* Enabling remote OVSDB managers
</pre>
These above errors come from the underlying host of LXC not having the right kernel modules loaded.
So you are going to need to install a few things on the host:
Open virtual switch and ethernet bridge tables (firewall)
<pre class="brush:shell; gutter:false;">
# apt-get install ebtables openvswitch-common
</pre>
Then update your /etc/modules to load things into the kernel
<pre class="brush:shell; gutter:false;">
# openstack
bonding
q8021q
openvswitch
ebtables
</pre>
Force them manually
<pre class="brush:shell; gutter:false;">
# modprobe openvswitch
# modprobe ebtables
</pre>
Now Devstack with Neutron installs fine. Yay!
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWl7m3sZ3BW7p1Cb5LoKMsy2XFT1prXisEFytD1R8CdnZRvbNAu1R5NfnV2n8hABOiicJQT7ZSXwd09D8iWyOoZcxzvE9QZpykTBfvFt6Si5FY5Gpp1IFbJI7XJeLUtCWU2hCU4lkueCaj/s1600/neutron-in-devstack.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWl7m3sZ3BW7p1Cb5LoKMsy2XFT1prXisEFytD1R8CdnZRvbNAu1R5NfnV2n8hABOiicJQT7ZSXwd09D8iWyOoZcxzvE9QZpykTBfvFt6Si5FY5Gpp1IFbJI7XJeLUtCWU2hCU4lkueCaj/s320/neutron-in-devstack.png" width="320" height="150" /></a></div>
My devstack local.conf - Mitaka, Heat and Neutron
<pre class="brush:bash;">
[[local|localrc]]
DEST=/opt/stack
ADMIN_PASSWORD=MySecretDevPass
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
# fixed DHCP via /etc/lxc/dnsmasq-hosts.conf via /etc/default/lxc-net on LXC host side
# https://askubuntu.com/questions/446831/how-to-let-built-in-dhcp-assign-a-static-ip-to-lxc-container-based-on-name-not
HOST_IP=10.0.3.10
# v3 KeyStone API only
ENABLE_IDENTITY_V2=False
PRIVATE_NETWORK_NAME=priv_net
PUBLIC_NETWORK_NAME=ext_net
#-----------------------------
# Devstack configurations
#-----------------------------
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR
SCREEN_HARDSTATUS="%{= rw} %H %{= wk} %L=%-w%{= bw}%30L> %n%f %t*%{= wk}%+Lw%-17< %-=%{= gk} %y/%m/%d %c"
LOGFILE=$LOGDIR/devstack.log
LOGDAYS=1
LOG_COLOR=True
VERBOSE=True
#
# Modules
#
# Load the external LBaaS plugin.
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
enable_plugin octavia https://git.openstack.org/openstack/octavia
# Pre-requisite
ENABLED_SERVICES=rabbit,mysql,key
# Horizon
ENABLED_SERVICES+=,horizon
# Nova
ENABLED_SERVICES+=,n-api,n-crt,n-cpu,n-cond,n-sch
# Glance
ENABLED_SERVICES+=,g-api,g-reg
#Enable heat services
ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
#fedora images from F20 contain the heat-cfntools package which is required for some heat functionality.
#IMAGE_URLS+=","https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/releases/24/CloudImages/x86_64/images/Fedora-Cloud-Base-24-1.2.x86_64.qcow2"
# download from local server to speed up stacking
IMAGE_URLS+=","http://172.30.5.67/openstack/Fedora-Cloud-Base-24-1.2.x86_64.qcow2
# Neutron
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta
# Cinder
ENABLED_SERVICES+=,c-api,c-vol,c-sch
# Enable LBaaS v2
##ENABLED_SERVICES+=,q-lbaasv2
##ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api # TODO octavia fails
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-52025085262804980612015-11-12T19:35:00.000+00:002015-11-12T19:35:56.229+00:00lxd - container wont start due to fork error<pre><code>
# lxc start test-centos-6
error: Error calling 'lxd forkstart test-centos-6 /var/lib/lxd/containers /var/log/lxd/test-centos-6/lxc.conf': err='exit status 1'
Try `lxc info --show-log test-centos-6` for more info
</code></pre>
Check the logs
<pre>
# lxc info --show-log test-centos-6 | egrep "ERROR"
lxc 1447352472.614 ERROR lxc_utils - utils.c:setproctitle:1461 - Invalid argument - setting cmdline failed
lxc 1447352472.675 ERROR lxc_sync - sync.c:__sync_wake:62 - sync wake failure : Broken pipe
lxc 1447352472.675 ERROR lxc_start - start.c:__lxc_start:1192 - failed to spawn 'test-centos-6'
</pre>
Basically, i had set the max memory for the container to 4GB.
<br>
with
<pre>
lxc config set test-centos-6 limits.memory 4096
</pre>
Only thing it is in bytes not MB
<br>
This fixes it.
<pre>
lxc config set test-centos-6 limits.memory 4096000000
</pre>
Check the container once started
<pre>
# lxc start test-centos-6
# lxc exec test-centos-6 /bin/bash
[root@test-centos-6 ~]# free -g
total used free shared buffers cached
Mem: 3 0 3 0 0 0
-/+ buffers/cache: 0 3
Swap: 7 0 7
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-4197706193756408082015-06-30T16:51:00.006+01:002015-06-30T18:00:53.399+01:00Ubuntu 14.04 - window buttons to the right<br />
Read this.<br />
<br />
<a href="https://askubuntu.com/a/451330" rel="nofollow" target="_blank">https://askubuntu.com/a/451330</a><br />
<br />
<pre class="brush: bash; gutter: false;">
sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install gnome-session-flashback
</pre>
<br />
log out, and select gnome flashback as the Desktop<br />
<br />
now run this<br />
<br />
<pre class="brush: bash; gutter: false;">
gsettings set org.gnome.desktop.wm.preferences button-layout 'menu:minimize,maximize,close'
</pre>
<br />
a bit more saner :)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-88395862549230805612015-06-30T16:44:00.000+01:002015-06-30T18:03:45.125+01:00Changing Ubuntu 14.04 scroll bar colors<br />
Install gnome-tweak-tool, this will sort out Firefox etc.<br />
<br />
<pre class="brush: bash; gutter: false;">$ sudo apt-get install gnome-tweak-tool
</pre>
<br />
Next fix GTK 3.0<br />
<br />
Make sure you pick the right theme :) current as of June 2015<br />
<br />
<pre class="brush: bash; gutter: false;">$ sudo gedit /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css
</pre>
<br />
<br />
Add the stepper buttons<br />
<pre class="brush: css; gutter: false;">
/* search for the stepper and change the size */
-GtkRange-stepper-size: 20; /* was 13 */
/* enable the stepper */
/*************
* scrollbar *
*************/
.scrollbar,
.scrollbar.vertical {
-GtkScrollbar-has-backward-stepper: 1; /* 1 = enable */
-GtkScrollbar-has-forward-stepper: 1;
-GtkRange-slider-width: 20; /* change width, was 13 */
/* change the colors */
/* VERTICAL */
.scrollbar.slider,
.scrollbar.slider:hover,
.scrollbar.button,
.scrollbar.slider.vertical,
.scrollbar.slider.vertical:hover,
.scrollbar.button.vertical {
border-width: 1px;
border-style: solid;
border-color: shade (@bg_color, 0.86);
background-image: -gtk-gradient (linear, left top, right top,
from (shade (#00BFFF, 1.08)), /* was @button_bg_color */
color-stop (0.5, #00BFFF), /* was @button_bg_color */
to (shade (#00BFFF, 0.94))); /* was @button_bg_color */
/* HORIZONTAL */
.scrollbar.slider.horizontal,
.scrollbar.slider.horizontal:hover,
.scrollbar.button.horizontal {
background-image: -gtk-gradient (linear, left top, left bottom,
from (shade (#00BFFF, 1.08)), /* was @button_bg_color */
color-stop (0.5, #00BFFF), /* was @button_bg_color */
to (shade (#00BFFF, 0.94))); /* was @button_bg_color */
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-68072629974650058192014-09-27T17:02:00.000+01:002014-09-27T17:37:15.743+01:00Stopping the network manager and applet from running in Ubuntu CinnamonCinnamon 2.2.13<br />
Ubuntu 14.04<br />
<br />
<pre>
# do not start network manager
echo manual > /etc/init/network-manager.override
# remove network manager applet from cinnamon dock panel
vi /usr/share/cinnamon-session/sessions/cinnamon.session
#RequiredComponents=cinnamon;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;nm-applet;
RequiredComponents=cinnamon;cinnamon-settings-daemon;cinnamon-screensaver;nemo-autostart;
# reboot
</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-59087373986552998492014-04-03T20:23:00.000+01:002014-04-03T20:23:27.666+01:00Mapping ATA device numbers to hard drive device names on Ubuntu<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
A nice little one liner: </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"># ls -l /sys/block/sd* | sed 's/.*\(sd.*\) -.*\(host.*\)\/t.*/\2 => \1/'</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">host0 => sda</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">host1 => sdb</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">host6 => sdc</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">host7 => sdd</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">host8 => sde</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">host9 => sdf</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
therefore</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">host0 => ata0 => sda</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Which is the same with this: </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The first number in the [] brackets shows the ata number</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"># lsscsi --long</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">[0:0:0:0] disk ATA WDC WD40EZRX-00S 80.0 /dev/sda</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"> state=running queue_depth=31 scsi_level=6 type=0 device_blocked=0 timeout=30</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">[1:0:0:0] disk ATA WDC WD40EZRX-00S 80.0 /dev/sdb</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"> state=running queue_depth=31 scsi_level=6 type=0 device_blocked=0 timeout=30</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">[6:0:0:0] disk ATA WDC WD20EZRX-00D 80.0 /dev/sdc</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"> state=running queue_depth=1 scsi_level=6 type=0 device_blocked=0 timeout=30</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">[7:0:0:0] disk ATA WDC WD20EZRX-00D 80.0 /dev/sdd</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"> state=running queue_depth=1 scsi_level=6 type=0 device_blocked=0 timeout=30</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">[8:0:0:0] disk ATA SAMSUNG HD103UJ 1AA0 /dev/sde</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"> state=running queue_depth=1 scsi_level=6 type=0 device_blocked=0 timeout=30</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;">[9:0:0:0] disk ATA SAMSUNG HD103UJ 1AA0 /dev/sdf</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"> state=running queue_depth=1 scsi_level=6 type=0 device_blocked=0 timeout=30</span></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-32527845552350856282014-03-28T23:57:00.001+00:002014-03-28T23:57:17.833+00:00more hidden Draytek commands<span style="font-family: "Courier New", Courier, monospace; font-size: xx-small;">> <span style="background-color: yellow;">sys version systeminfo</span><br />Router Model: Vigor2830n Version: 3.6.4_sb_232201 English<br />Profile version: 3.0.0 Status: 1 (0x7ce1a234)<br />Router IP: 192.168.0.254 Netmask: 255.255.255.0<br />Firmware Build Date/Time: Mar 18 2013 12:47:45<br />Router Name: Vigor2830n<br />Revision: 34461 drayos2011<br />ADSL Firmware Version: 232201_A Annex A<br /><br />============== CPU usage ===============<br />CPU speed : 333 MHz<br />CPU1 speed: 333 MHz<br />DDR speed : 166 MHz<br />CPU usage : 0 %<br />========= Linear Memory usage ============<br />Dynamic memory usage : 56 % (17306K/31483K)<br /> Free memory : 13153K(13469168 bytes)<br /> DSP occupied memory : 1024K(1048576 bytes)<br /> Total memory usage : 79 % (51358K/64512K)<br />Idle task idle time : 0 sec<br /><br /><br /><br />> <span style="background-color: yellow;">sys version wdtdbg</span> <br />Router Model: Vigor2830n Version: 3.6.4_sb_232201 English<br />Profile version: 3.0.0 Status: 1 (0x7ce1a234)<br />Router IP: 192.168.0.254 Netmask: 255.255.255.0<br />Firmware Build Date/Time: Mar 18 2013 12:47:45<br />Router Name: Vigor2830n<br />Revision: 34461 drayos2011<br />ADSL Firmware Version: 232201_A Annex A<br /><br />WDT debug flag is OFF.<br /><br /><br /><br />> <span style="background-color: yellow;">sys version osswdbg</span><br />Router Model: Vigor2830n Version: 3.6.4_sb_232201 English<br />Profile version: 3.0.0 Status: 1 (0x7ce1a234)<br />Router IP: 192.168.0.254 Netmask: 255.255.255.0<br />Firmware Build Date/Time: Mar 18 2013 12:47:45<br />Router Name: Vigor2830n<br />Revision: 34461 drayos2011<br />ADSL Firmware Version: 232201_A Annex A<br /><br />OS content switch debug flag is OFF.<br /><br /><br />> <span style="background-color: yellow;">sys version russia</span> <br />Router Model: Vigor2830n Version: 3.6.4_sb_232201 English<br />Profile version: 3.0.0 Status: 1 (0x7ce1a234)<br />Router IP: 192.168.0.254 Netmask: 255.255.255.0<br />Firmware Build Date/Time: Mar 18 2013 12:47:45<br />Router Name: Vigor2830n<br />Russia fw: No<br />Revision: 34461 drayos2011<br />ADSL Firmware Version: 232201_A Annex A<br /><br /><br />> <span style="background-color: yellow;">sys version ostaskinfo%^&*</span><br />Router Model: Vigor2830n Version: 3.6.4_sb_232201 English<br />Profile version: 3.0.0 Status: 1 (0x7ce1a234)<br />Router IP: 192.168.0.254 Netmask: 255.255.255.0<br />Firmware Build Date/Time: Mar 18 2013 12:47:45<br />Router Name: Vigor2830n<br />Revision: 34461 drayos2011<br />ADSL Firmware Version: 232201_A Annex A<br /><br />-----OS Task Information (Internal debug only) -------------------<br /> P#=116,Sts=1,Dly=0024, SP=80981348 Name:(void(*)(void))if_task_wan<br /> Stack: top=80981440, btm=8097d844, size=15356<br /> now used= 248, now free= 15108(98%)<br /> max used= 248, min free= 15108(98%)<br /> P#=118,Sts=1,Dly=005e, SP=80988610 Name:(void(*)(void))httpd_main<br /> Stack: top=80988c58, btm=8098505c, size=15356<br /> now used= 1608, now free= 13748(89%)<br /> max used= 8276, min free= 7080(46%)<br /> P#=119,Sts=1,Dly=0120, SP=8098c184 Name:ap_task<br /> Stack: top=8098c864, btm=80988c68, size=15356<br /> now used= 1760, now free= 13596(88%)<br /> max used= 2580, min free= 12776(83%)<br /> P#=120,Sts=1,Dly=0007, SP=80990398 Name:(void(*)(void))if_task_bridge<br /> Stack: top=80990470, btm=8098c874, size=15356<br /> now used= 216, now free= 15140(98%)<br /> max used= 216, min free= 15140(98%)<br /> P#=121,Sts=0,Dly=000a, SP=80997ba8 Name:timer_task<br /> Stack: top=80997c88, btm=8099408c, size=15356<br /> now used= 224, now free= 15132(98%)<br /> max used= 2268, min free= 13088(85%)<br /> P#=122,Sts=1,Dly=0019, SP=809aa44c Name:relay_task<br /> Stack: top=809aa8c4, btm=809a6cc8, size=15356<br /> now used= 1144, now free= 14212(92%)<br /> max used= 1144, min free= 14212(92%)<br /> P#=123,Sts=1,Dly=03de, SP=809ade20 Name:RemoteCapiTask<br /> Stack: top=809ae4d0, btm=809aa8d4, size=15356<br /> now used= 1712, now free= 13644(88%)<br /> max used= 1712, min free= 13644(88%)<br /> P#=135,Sts=1,Dly=0000, SP=8099b6ec Name:CM_Task<br /> Stack: top=8099b894, btm=80997c98, size=15356<br /> now used= 424, now free= 14932(97%)<br /> max used= 3396, min free= 11960(77%)<br /> P#=136,Sts=1,Dly=0093, SP=8099edf8 Name:PPTP_Task<br /> Stack: top=8099f4a0, btm=8099b8a4, size=15356<br /> now used= 1704, now free= 13652(88%)<br /> max used= 2604, min free= 12752(83%)<br /> P#=137,Sts=1,Dly=000b, SP=809a2a04 Name:IPv6_Task<br /> Stack: top=809a30ac, btm=8099f4b0, size=15356<br /> now used= 1704, now free= 13652(88%)<br /> max used= 4268, min free= 11088(72%)<br /> P#=138,Sts=1,Dly=005b, SP=809a6828 Name:sstp_task<br /> Stack: top=809a6cb8, btm=809a30bc, size=15356<br /> now used= 1168, now free= 14188(92%)<br /> max used= 1168, min free= 14188(92%)<br />*P#=139,Sts=0,Dly=0000, SP=809b1604 Name:(void (*)(void))tnsfunc<br /> Stack: top=809b20dc, btm=809ae4e0, size=15356<br /> now used= 2776, now free= 12580(81%)<br /> max used= 3772, min free= 11584(75%)<br />*P#=140,Sts=0,Dly=0000, SP=80984f3c Name:DSL_DRV_AutobootThreadMain<br /> Stack: top=8098504c, btm=80981450, size=15356<br /> now used= 272, now free= 15084(98%)<br /> max used= 2840, min free= 12516(81%)<br /> P#=141,Sts=1,Dly=0024, SP=809b9344 Name:dhcp_daemon<br /> Stack: top=809b98f4, btm=809b5cf8, size=15356<br /> now used= 1456, now free= 13900(90%)<br /> max used= 1468, min free= 13888(90%)<br /> P#=142,Sts=1,Dly=0000, SP=809bcf00 Name:ike_daemon<br /> Stack: top=809bd500, btm=809b9904, size=15356<br /> now used= 1536, now free= 13820(89%)<br /> max used= 1536, min free= 13820(89%)<br /> P#=143,Sts=1,Dly=0008, SP=809c0e54 Name:ftpstart<br /> Stack: top=809c110c, btm=809bd510, size=15356<br /> now used= 696, now free= 14660(95%)<br /> max used= 1504, min free= 13852(90%)<br /> P#=144,Sts=1,Dly=0019, SP=809c4ae8 Name:telnetd_main<br /> Stack: top=809c4d18, btm=809c111c, size=15356<br /> now used= 560, now free= 14796(96%)<br /> max used= 1356, min free= 14000(91%)<br /> P#=145,Sts=1,Dly=0000, SP=809c8384 Name:sshd_main<br /> Stack: top=809c8924, btm=809c4d28, size=15356<br /> now used= 1440, now free= 13916(90%)<br /> max used= 1740, min free= 13616(88%)<br /> P#=146,Sts=1,Dly=0000, SP=809cc450 Name:gena_task<br /> Stack: top=809cc530, btm=809c8934, size=15356<br /> now used= 224, now free= 15132(98%)<br /> max used= 224, min free= 15132(98%)<br /> P#=147,Sts=1,Dly=0008, SP=809d005c Name:soap_task<br /> Stack: top=809d013c, btm=809cc540, size=15356<br /> now used= 224, now free= 15132(98%)<br /> max used= 224, min free= 15132(98%)<br /> P#=148,Sts=1,Dly=0024, SP=809d36a0 Name:RIP_Task<br /> Stack: top=809d3d48, btm=809d014c, size=15356<br /> now used= 1704, now free= 13652(88%)<br /> max used= 2388, min free= 12968(84%)<br /> P#=149,Sts=1,Dly=0000, SP=809d7834 Name:sntp_task<br /> Stack: top=809d7954, btm=809d3d58, size=15356<br /> now used= 288, now free= 15068(98%)<br /> max used= 3400, min free= 11956(77%)<br /> P#=150,Sts=1,Dly=005f, SP=809daea0 Name:LPD_Task<br /> Stack: top=809db560, btm=809d7964, size=15356<br /> now used= 1728, now free= 13628(88%)<br /> max used= 1728, min free= 13628(88%)<br /> P#=151,Sts=1,Dly=0000, SP=809df06c Name:usb_event_task<br /> Stack: top=809df16c, btm=809db570, size=15356<br /> now used= 256, now free= 15100(98%)<br /> max used= 1908, min free= 13448(87%)<br /> P#=152,Sts=1,Dly=0000, SP=809e2c78 Name:usb_stor_control_thread<br /> Stack: top=809e2d78, btm=809df17c, size=15356<br /> now used= 256, now free= 15100(98%)<br /> max used= 256, min free= 15100(98%)<br /> P#=153,Sts=1,Dly=011e, SP=809e688c Name:Common_Mail_Task<br /> Stack: top=809e6984, btm=809e2d88, size=15356<br /> now used= 248, now free= 15108(98%)<br /> max used= 248, min free= 15108(98%)<br /> P#=154,Sts=1,Dly=0022, SP=809e9f68 Name:snmpmain<br /> Stack: top=809ea590, btm=809e6994, size=15356<br /> now used= 1576, now free= 13780(89%)<br /> max used= 2240, min free= 13116(85%)<br /> P#=155,Sts=1,Dly=0008, SP=809ee0ac Name:lte_connection_thread<br /> Stack: top=809ee19c, btm=809ea5a0, size=15356<br /> now used= 240, now free= 15116(98%)<br /> max used= 240, min free= 15116(98%)<br />*P#=161,Sts=0,Dly=0000, SP=80993dd4 Name:(void(*)(void))if_task_lan<br /> Stack: top=8099407c, btm=80990480, size=15356<br /> now used= 680, now free= 14676(95%)<br /> max used= 3132, min free= 12224(79%)<br /> P#=162,Sts=0,Dly=0024, SP=818d6f74 Name:PMU_Task<br /> Stack: top=818d7048, btm=818d6048, size=4096<br /> now used= 212, now free= 3884(94%)<br /> max used= 244, min free= 3852(94%)<br />*P#=163,Sts=0,Dly=0000, SP=818d8aec Name:IdleTask<br /> Stack: top=818d9060, btm=818d7060, size=8192<br /> now used= 1396, now free= 6796(82%)<br /> max used= 1704, min free= 6488(79%)<br />Opened task no. = 31<br /><br /><br /><br /><br /><br />> <span style="background-color: yellow;">sys version osstackinfo%^&*</span><br />Router Model: Vigor2830n Version: 3.6.4_sb_232201 English<br />Profile version: 3.0.0 Status: 1 (0x7ce1a234)<br />Router IP: 192.168.0.254 Netmask: 255.255.255.0<br />Firmware Build Date/Time: Mar 18 2013 12:47:45<br />Router Name: Vigor2830n<br />Revision: 34461 drayos2011<br />ADSL Firmware Version: 232201_A Annex A<br /><br />-----OS Task Stack Information (Internal debug only) : min free space ---<br /> P#=116: size= 15356, free= 15108(98%) > XXXXXXXXXX :(void(*)(void))if_task_wan<br /> P#=118: size= 15356, free= 7080(46%) > XXXXX :(void(*)(void))httpd_main<br /> P#=119: size= 15356, free= 12776(83%) > XXXXXXXXX :ap_task<br /> P#=120: size= 15356, free= 15140(98%) > XXXXXXXXXX :(void(*)(void))if_task_bridge<br /> P#=121: size= 15356, free= 13088(85%) > XXXXXXXXX :timer_task<br /> P#=122: size= 15356, free= 14212(92%) > XXXXXXXXXX :relay_task<br /> P#=123: size= 15356, free= 13644(88%) > XXXXXXXXX :RemoteCapiTask<br /> P#=135: size= 15356, free= 11960(77%) > XXXXXXXX :CM_Task<br /> P#=136: size= 15356, free= 12752(83%) > XXXXXXXXX :PPTP_Task<br /> P#=137: size= 15356, free= 11088(72%) > XXXXXXXX :IPv6_Task<br /> P#=138: size= 15356, free= 14188(92%) > XXXXXXXXXX :sstp_task<br /> P#=139: size= 15356, free= 11584(75%) > XXXXXXXX :(void (*)(void))tnsfunc<br /> P#=140: size= 15356, free= 12516(81%) > XXXXXXXXX :DSL_DRV_AutobootThreadMain<br /> P#=141: size= 15356, free= 13888(90%) > XXXXXXXXXX :dhcp_daemon<br /> P#=142: size= 15356, free= 13820(89%) > XXXXXXXXX :ike_daemon<br /> P#=143: size= 15356, free= 13852(90%) > XXXXXXXXXX :ftpstart<br /> P#=144: size= 15356, free= 14000(91%) > XXXXXXXXXX :telnetd_main<br /> P#=145: size= 15356, free= 13616(88%) > XXXXXXXXX :sshd_main<br /> P#=146: size= 15356, free= 15132(98%) > XXXXXXXXXX :gena_task<br /> P#=147: size= 15356, free= 15132(98%) > XXXXXXXXXX :soap_task<br /> P#=148: size= 15356, free= 12968(84%) > XXXXXXXXX :RIP_Task<br /> P#=149: size= 15356, free= 11956(77%) > XXXXXXXX :sntp_task<br /> P#=150: size= 15356, free= 13628(88%) > XXXXXXXXX :LPD_Task<br /> P#=151: size= 15356, free= 13448(87%) > XXXXXXXXX :usb_event_task<br /> P#=152: size= 15356, free= 15100(98%) > XXXXXXXXXX :usb_stor_control_thread<br /> P#=153: size= 15356, free= 15108(98%) > XXXXXXXXXX :Common_Mail_Task<br /> P#=154: size= 15356, free= 13116(85%) > XXXXXXXXX :snmpmain<br /> P#=155: size= 15356, free= 15116(98%) > XXXXXXXXXX :lte_connection_thread<br /> P#=161: size= 15356, free= 12224(79%) > XXXXXXXX :(void(*)(void))if_task_lan<br /> P#=162: size= 4096, free= 3852(94%) > XXXXXXXXXX :PMU_Task<br /> P#=163: size= 8192, free= 6488(79%) > XXXXXXXX :IdleTask<br />Opened task no. = 31<br /><br /><br /><br /></span><span style="font-size: xx-small;"><br /></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-76527915817560671922014-03-28T21:44:00.000+00:002014-03-28T21:44:26.182+00:00Vigor adsl status describe debug<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">> adsl status descdbg<br /> --------------------------- ATU-R Info (hw: annex A, f/w: annex A) -----------<br /> Dsl rx desc error count=0, ch=0<br /> last err desc[0]=00000000, desc[1]=00000000[00000000]</span></span><br />
<br />
Another hidden command ?Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-45023566893113540912014-02-22T22:53:00.001+00:002014-02-22T22:53:49.717+00:00Lenovo z710 - double suspend issue on Ubuntu 13.10My z710 when suspended after a lid close, would un-suspend when the lid opened and then after 5 secs re-suspend itself.<br />
<br />
Fix for this was to turn off the logind.conf settings and allow acpid to do all the work<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">vi /etc/systemd/logind.conf</span></span><br />
<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">#ignore all and use acpid instead<br />HandlePowerKey=ignore<br />HandleSuspendKey=ignore<br />HandleHibernateKey=ignore<br />HandleLidSwitch=ignore<br />PowerKeyIgnoreInhibited=no<br />SuspendKeyIgnoreInhibited=no<br />HibernateKeyIgnoreInhibited=no<br />LidSwitchIgnoreInhibited=no</span></span><br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-52557736547470619582014-02-22T20:47:00.002+00:002014-02-22T20:47:52.722+00:00Lenovo z710 and Ubuntu 13.10 wifi auto connect fixMy z710 wasn't auto connecting the wifi at bootup.<br />
<br />
rfkill list showed odd modules that were blocked but not shown loaded with lsmod.<br />
<br />
<span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">root@nick-Lenovo-Z710:~# rfkill list<br />0: ideapad_wlan: Wireless LAN<br /> Soft blocked: yes<br /> Hard blocked: no<br />1: ideapad_bluetooth: Bluetooth<br /> Soft blocked: no<br /> Hard blocked: no<br />2: ideapad_3g: Wireless WAN<br /> Soft blocked: no<br /> Hard blocked: no<br />3: phy0: Wireless LAN<br /> Soft blocked: yes<br /> Hard blocked: no<br />4: brcmwl-0: Wireless LAN<br /> Soft blocked: yes<br /> Hard blocked: no</span></span><br />
<span style="font-size: xx-small;"><br /></span>
<span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> rfkill0: found WiFi radio killswitch (at /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/PNP0C09:00/VPC2004:00/rfkill/rfkill0) (platform driver ideapad_acpi)<br />Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> rfkill2: found WWAN radio killswitch (at /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/PNP0C09:00/VPC2004:00/rfkill/rfkill2) (platform driver ideapad_acpi)<br />Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> rfkill3: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/ieee80211/phy0/rfkill3) (driver wl)<br />Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> rfkill4: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/net/eth1/rfkill4) (driver wl)<br />Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> WiFi enabled by radio killswitch; disabled by state file<br />Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> WWAN enabled by radio killswitch; enabled by state file<br />Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> WiMAX enabled by radio killswitch; enabled by state file<br />Feb 22 20:24:25 nick-Lenovo-Z710 NetworkManager[942]: <info> WiFi now disabled by radio killswitch</span></span><br />
<br />
<br />
The easiest fix was to unload and reload the 'wl' module<br />
<br />
<span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">rmmod wl</span></span><br />
<span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">modprobe wl</span></span><br />
<br />
so i put this into <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/rc.local</span></span>, rebooted.<br />
<br />
Wifi auto connect worked as soon as i logged in.<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-88909504129486744672014-01-17T23:42:00.000+00:002014-01-17T23:42:08.052+00:00Displaying HEC FEC errors on a Draytek Vigor 2830n routerDisplaying HEC FEC errors on a Draytek Vigor 2830n router<br />
<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">> adsl status more<br /> --------------------------- ATU-R Info (hw: annex A, f/w: annex A) -----------<br /> Near End Far End<br /> LatencyPath : 2 2<br /> LoS : 0 0<br /> LoF : 0 0<br /> LPR : 0 0<br /> RFI : 0 0<br /> Ncd : 0 0<br /> Lcd : 0 0<br /> FECS : 162 0<br /> ES : 1 0<br /> LOSS : 0 0<br /> UAS : 0 0<br /> HECError : 7 0<br /> CRC : 1 0<br /> RsCorrection : 3671 0<br /> INP : 0 0<br /> InterleaveDelay : 800 800<br />> </span> <br />
<br />
Found this by uncompressing the firmware and running 'strings' over it.<br />
Couldn't find it in the Draytek telnet command reference guide.<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-453936917690414962013-01-27T18:52:00.003+00:002013-01-27T18:52:45.571+00:00Hornby Zero 1 testingI always wanted a Zero 1 controller when i was a kid. Sometimes you just have to treat yourself...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/MzDAfSs.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://i.imgur.com/MzDAfSs.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
Here is my testbed setup. Yes, i know it's running on the carpet which is really bad, but needs must. :)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/oH8GGf9NoAE?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
Three trains running on a single track at different speeds ! Yup, it was a good as i thought it would be 30 years ago.<br />
<br />
<br />
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5868238581702353487.post-74347193274246920962012-03-21T21:35:00.005+00:002012-03-21T22:52:29.510+00:00Perl code to download your WatchList from eBay.<br />
<br />
<br />
<pre class="brush:perl">#!/usr/bin/perl
use strict;
use warnings;
use Net::eBay;
use Data::Dumper;
my $eBay = new Net::eBay;
# use new eBay API
$eBay->setDefaults( { API => 2, debug => 0 } );
my $result = $eBay->submitRequest( "GetMyeBayBuying",
{
DetailLevel => 'ReturnAll',
WatchList => {
Sort => 'TimeLeft',
IncludeNotes => 'true',
Pagination => {
EntriesPerPage => 200,
PageNumber => 1
}
}
}
);
if( ref $result ) {
print "Result: " . Dumper( $result ) . "\n";
};
</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-42938417332310953362011-11-10T17:10:00.000+00:002011-11-10T17:10:26.500+00:00DiasporaYou can find me on diaspora now...<br />
<br />
diasp.org (USA) and diasp.eu (EU).<br />
<br />
You really should read the review here: <a href="https://chronicle.com/blogs/profhacker/remembering-diaspora-the-open-source-social-network/34627" target="_blank">chronicle.com</a><br />
<br />
Remember you are the CUSTOMER NOT the PRODUCT !Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-69849914580867758602011-11-10T17:01:00.000+00:002011-11-10T17:01:29.829+00:00Bye bye G+I've left Google+, well they asked me to as i used a pseudonym...<br />
<br />
c'est la vie, their loss...<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYxLiy6jAIgWaTPK3k9YIBzl4i38MnIczxOH5fD_awBwye_0EzS2v0bwGpVwmZaDiQk5ayRaM1Fk22zStBGQZ5Cr4XdsBlP0opCshjqMv5dwyuXJ8giggebug0BZEVyaiQTEy9InLVWlP6/s1600/Screen+Shot+2011-11-10+at+15.19.50.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYxLiy6jAIgWaTPK3k9YIBzl4i38MnIczxOH5fD_awBwye_0EzS2v0bwGpVwmZaDiQk5ayRaM1Fk22zStBGQZ5Cr4XdsBlP0opCshjqMv5dwyuXJ8giggebug0BZEVyaiQTEy9InLVWlP6/s320/Screen+Shot+2011-11-10+at+15.19.50.png" width="320" /></a></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-91345550671095367712011-10-30T17:41:00.002+00:002011-10-30T17:41:43.846+00:00Pumpkin<span style="font-size: large;">Two things done today. </span><br />
<br />
1. Installed extra insulation in Loft and Kitchen - horrible, scratchy, dirty job.<br />
<br />
2. Carved a pumpkin.<br />
<br />
I have always fancied carving a pumpkin. Thing is they are so small and bloody expensive here in the UK, plus i'm not a big fan of Halloween over here (it's a sad, sad attempt of what the Yanks can do - so why even bother).<br />
<br />
Any way onto the pumpkin.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-lue5nYq2_aU/Tq2J_WUo0ZI/AAAAAAAAC7o/EG1MLzPwza4/s1600/P1060023.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-lue5nYq2_aU/Tq2J_WUo0ZI/AAAAAAAAC7o/EG1MLzPwza4/s320/P1060023.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--ZF18XHRU8A/Tq2KA-xgcSI/AAAAAAAAC74/nIur4eCIVVc/s1600/P1060026.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://4.bp.blogspot.com/--ZF18XHRU8A/Tq2KA-xgcSI/AAAAAAAAC74/nIur4eCIVVc/s200/P1060026.JPG" width="200" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-2_9QhRQUfbU/Tq2J--KrfrI/AAAAAAAAC7g/C_5rwf6aFGM/s1600/P1060022.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-2_9QhRQUfbU/Tq2J--KrfrI/AAAAAAAAC7g/C_5rwf6aFGM/s320/P1060022.JPG" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-nAMmU4Li6G8/Tq2KALQtVaI/AAAAAAAAC7w/Vmhn8TuLLCU/s1600/P1060025.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-nAMmU4Li6G8/Tq2KALQtVaI/AAAAAAAAC7w/Vmhn8TuLLCU/s320/P1060025.JPG" width="320" /></a></div>
<br />
<span style="font-size: large;">Okay so it looks quite small right...?</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-FOflJ-PeSxA/Tq2J-M6KFMI/AAAAAAAAC7Y/QolHYhbPyPc/s1600/P1060019.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-FOflJ-PeSxA/Tq2J-M6KFMI/AAAAAAAAC7Y/QolHYhbPyPc/s320/P1060019.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-MxXMoyjuF1A/Tq2J9IKfoMI/AAAAAAAAC7Q/80YfLwaZMIk/s1600/P1060012.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-MxXMoyjuF1A/Tq2J9IKfoMI/AAAAAAAAC7Q/80YfLwaZMIk/s320/P1060012.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;">And here it is growing on the allotment in my pumpkin patch.</span></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-aPbmm4Btdr0/Tq2KMu_BCzI/AAAAAAAAC8I/tsIxqtSnOHc/s1600/P1050854.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-aPbmm4Btdr0/Tq2KMu_BCzI/AAAAAAAAC8I/tsIxqtSnOHc/s320/P1050854.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Dm1-vOCTn6o/Tq2KLq531LI/AAAAAAAAC8A/sE4xqfvGZnI/s1600/P1050851.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-Dm1-vOCTn6o/Tq2KLq531LI/AAAAAAAAC8A/sE4xqfvGZnI/s320/P1050851.JPG" width="320" /></a></div>
<br />
<br />
<span style="font-size: large;">And the scary part...</span><br />
<br />
Here we go CSI Warwickshire... or daft insulation contractors...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-2CKvnnxDxXA/Tq2Lm1h2ijI/AAAAAAAAC8U/xnZPiKQ3GOg/s1600/P1060006.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-2CKvnnxDxXA/Tq2Lm1h2ijI/AAAAAAAAC8U/xnZPiKQ3GOg/s320/P1060006.JPG" width="320" /></a></div>
<br />
<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-58809501628946615082011-08-23T21:17:00.002+01:002011-08-23T21:28:59.466+01:00Sort HTML table with a row header (2 row sort)<script type="text/javascript">
function doSort(column, tableID, direction) {
var data = []
var table = document.getElementById(tableID);
var skip = 1; // skip column headers
// set up sortable data array [ sorted key, row data, header data ]
for (var i = skip + 1, l = table.rows.length; i < l; i=i+2) {
// grab each row - so we can clone later
var header_cell_row = table.rows[i - 1]; // header cell row data
var data_row = table.rows[i]; // sortable row data
var cell_data = table.rows[i].cells[column].innerHTML; // this is the bit we sort.
data.push([parseFloat(cell_data), data_row, header_cell_row])
};
//sort that array in the direction we ask
data.sort(
direction==0 ?
function(a,b){return a[0]<b[0]?-1:a[0]>b[0]?1:0} // ASC
:
function (a, b) { return a[0] > b[0] ? -1 : a[0] < b[0] ? 1 : 0} // DESC
)
// run thru sorted array
for (var i = 0, l = data.length; i < l; i++) {
// we append at the bottom of the original table the new sorted table
// as we have saved the real rows we can clone and append
//
// header row
//
var source = data[i][2];
table.appendChild(source.cloneNode(true));
//
// data row
//
var source = data[i][1];
table.appendChild(source.cloneNode(true));
//
// delete an old row from the table
//
table.deleteRow(1);
table.deleteRow(1);
}
}
</script>
Table
<table border="1" id="table">
<tbody>
<tr><th><a href="javascript:doSort(0,'table',0);"><span style="color: red;">ID</span></a></th>
<th>NAME</th>
<th><a href="javascript:doSort(2,%20'table',1);"><span style="color: red;">Value</span></a></th>
<th>SPECIALIZATION
</th></tr>
<tr><td bgcolor="lightgrey" colspan="3"><b>Row Header 1</b></td><td width="100px">1</td></tr>
<tr><td>1</td><td>Angelina</td><td>-1</td><td>Computer Science</td></tr>
<tr><td bgcolor="lightgrey" colspan="3"><b>Row Header 2</b></td><td>2</td></tr>
<tr><td>2</td><td>Martina</td><td>10</td><td>Mathematics</td></tr>
<tr><td bgcolor="lightgrey" colspan="3"><b>Row Header 3</b></td><td>3</td></tr>
<tr><td>3</td><td>Tina</td><td>0.5</td><td>English</td></tr>
<tr><td bgcolor="lightgrey" colspan="3"><b>Row Header 4</b></td><td>4</td></tr>
<tr><td>4</td><td>Simran</td><td>100</td><td>Biology</td></tr>
<tr><td bgcolor="lightgrey" colspan="3"><b>Row Header 5</b></td><td>5</td></tr>
<tr><td>5</td><td>Christina</td><td>-99</td><td>Psychology</td></tr>
</tbody></table>The code below allows the above table to sort the data values while keeping the row headers above.
Something i couldn't find an example for on Google.
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFuEkhF8ooDN74doggz20f__cOuCvAdBd6pfqmk36Lp7CM2azhHFynfDIh7q3zvzz3WkCZio5jII8zdjWXCRBZ24HELAGuUkICDovkf9Gh93kFtkuGwfT4-8BjGp29eOFkx0lI20wvzFHj/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> function doSort(column, tableID, direction) {
var data = []
var table = document.getElementById(tableID);
var skip = 1; // skip column headers
// set up sortable data array [ sorted key, row data, header data ]
for (var i = skip + 1, l = table.rows.length; i < l; i=i+2) {
// grab each row - so we can clone later
var header_cell_row = table.rows[i - 1]; // header cell row data
var data_row = table.rows[i]; // sortable row data
var cell_data = table.rows[i].cells[column].innerHTML; // this is the bit we sort.
data.push([parseFloat(cell_data), data_row, header_cell_row])
};
//sort that array in the direction we ask
data.sort(
direction==0 ?
function(a,b){return a[0]<b[0]?-1:a[0]>b[0]?1:0} // ASC
:
function (a, b) { return a[0] > b[0] ? -1 : a[0] < b[0] ? 1 : 0} // DESC
)
// run thru sorted array
for (var i = 0, l = data.length; i < l; i++) {
// we append at the bottom of the original table the new sorted table
// as we have saved the real rows we can clone and append
//
// header row
//
var source = data[i][2];
table.appendChild(source.cloneNode(true));
//
// data row
//
var source = data[i][1];
table.appendChild(source.cloneNode(true));
//
// delete an old row from the table
//
table.deleteRow(1);
table.deleteRow(1);
}
}
</code></pre><br />
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-47006678746759892752011-07-17T21:20:00.002+01:002011-07-17T21:20:38.835+01:00Google+it's very nice, you should try it...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-61453689041102063322011-07-11T22:27:00.001+01:002011-07-11T22:27:18.636+01:00Fat and SugarEver wondered how much bad stuff there is in your normal diet? I did...<br />
<br />
So i thought i would just check out a few things to see what saturated fat and sugar they contained - well i was quite surprised...<br />
<br />
<img src="https://spreadsheets.google.com/spreadsheet/oimg?key=0AhbT5mxv-1QwdG1yc2NIUGtWNHF0RWp4SHlhZTJsQXc&oid=2&zx=5gyswrcajn96" /><br />
<br />
Click here for an up to date chart : <a href="https://spreadsheets.google.com/spreadsheet/ccc?key=0AhbT5mxv-1QwdG1yc2NIUGtWNHF0RWp4SHlhZTJsQXc&hl=en_US">https://spreadsheets.google.com/spreadsheet/</a><br />
The link also makes the text expand so you can see the full items i checked.<br />
<br />
Looks like i am sticking to fruit at lunchtime.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-23323665832409890742011-05-18T18:58:00.002+01:002011-05-18T18:58:34.899+01:00More temp sensorsI have finally wired up the two greenhouses into the 1-wire network. You can see the temperature sensors on the left...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-62274789986367496342011-04-01T19:23:00.000+01:002011-04-01T19:23:15.520+01:00Chitting CarrotsI read in Grow Your Own that a good way to get a great crop of carrots was to 'chit' them.<br />
<br />
On a plate, place some kitchen towel and spray with water. Sprinkle the seed and cover with cling film. Keep them moist and in 4-5 days they sprout. <br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsM-I7tzSe9yBBTuvsc_rfA-whCX2De1x7RBfXmyaJuNdmlzQudLCdrtJHqCL_35pOL-N2LqrcbfToEa8voeyw4KSoy98-vCn8c6_3VNAeW613AjqNsDpkER4I9X-UvZ7AbNN6Mz3ZACSb/s1600/P1050041.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsM-I7tzSe9yBBTuvsc_rfA-whCX2De1x7RBfXmyaJuNdmlzQudLCdrtJHqCL_35pOL-N2LqrcbfToEa8voeyw4KSoy98-vCn8c6_3VNAeW613AjqNsDpkER4I9X-UvZ7AbNN6Mz3ZACSb/s320/P1050041.JPG" width="320" /></a></div><br />
Here is a close up and you can see the roots coming.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJUonPJyo1_AIDi2ynekw322AobcI1a1pVjY8UANU-uh2_Z1nmvqWEJ1191glG6a3L3wDHYHDZI2wZFZbAPZSMOGZYakVE0mUZE_4bGljo4VjrfmKVHUaZOJg4EMzxbwsIZ6Izi2zpBtu5/s1600/P1050041_2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJUonPJyo1_AIDi2ynekw322AobcI1a1pVjY8UANU-uh2_Z1nmvqWEJ1191glG6a3L3wDHYHDZI2wZFZbAPZSMOGZYakVE0mUZE_4bGljo4VjrfmKVHUaZOJg4EMzxbwsIZ6Izi2zpBtu5/s320/P1050041_2.JPG" width="320" /></a></div><br />
Of course its not all that easy to get them off the paper towel on to your soil. I ended up flicking them off with a plant/seed tag.<br />
<br />
Now they are in bags in my greenhouse (tomato bags from Wilkos)- I'm not going to plant them outside. My wife is doing her trial of carrots in a raised bed.<br />
<br />
So the competition is on. :)<br />
<br />
<br />
Wilkos bags <a href="http://www.wilkinsonplus.com/grow-your-own-products/wilko-grow-bag-tomato-x-2-46ltr/invt/0299013/?htxt=PsAGyAqy%2FDSGVBgOHPBfATKVETOKIWHcwqoICuDrG%2FxTcDPfxIrYzUvEu76RzzM6wutKTeo9AOCB%0AtDs76aYYKg%3D%3D">wilko-grow-bag-tomato-x-2-46ltr </a>Yes I know they are tomato bags, but also they are just right for carrots and only 3 quid for 2.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXXwXqtp6-c8hxAnw8naOIX5EGyS2TxuqLZAk085UYch5STlDJJsDUU0_PP9kIhhTKTxlo2N7Ii3-1ipfWk5L_1D6ickxztFwFqmUetelbSOTGQEySytNiZy4Oed9kUOshlKryrcXSOijx/s1600/0299013_m.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXXwXqtp6-c8hxAnw8naOIX5EGyS2TxuqLZAk085UYch5STlDJJsDUU0_PP9kIhhTKTxlo2N7Ii3-1ipfWk5L_1D6ickxztFwFqmUetelbSOTGQEySytNiZy4Oed9kUOshlKryrcXSOijx/s1600/0299013_m.jpg" /></a></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5868238581702353487.post-69332544900419384022011-03-16T18:27:00.000+00:002011-03-16T18:27:24.351+00:00Heat Gun DesolderingI've always struggled to de-solder ICs from old PCBs. Then i happened to find a web page describing how to use a paint stripping heat gun to do it.<br />
<br />
Well it's amazingly simple to do. Here is what i pulled off a board in 10mins.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxTPF3__pDqVMCsnQHNokGHEBrmHV8E6-rDp49YmuNXlXwT7zm3bpWWvMj8yLXpTOFbGo3Rvj8GTi9Y_ksMfQ1BGxzL_jYXbffDQR2m_p_CVp5sxkuWKWDm9m04kgERTUtxFsBIhNSYPbu/s1600/P1040992.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxTPF3__pDqVMCsnQHNokGHEBrmHV8E6-rDp49YmuNXlXwT7zm3bpWWvMj8yLXpTOFbGo3Rvj8GTi9Y_ksMfQ1BGxzL_jYXbffDQR2m_p_CVp5sxkuWKWDm9m04kgERTUtxFsBIhNSYPbu/s320/P1040992.JPG" width="320" /></a></div><br />
Basically heat the PCB face down (on low power, 300°C) and tap the ICs out, most just fall out.<br />
<br />
Brilliant.<br />
<br />
<br />
Read more here: <a href="http://www.instructables.com/id/Heatgun-Desoldering/">www.instructables.com</a> and <a href="http://www.robotroom.com/Big-Trak-2.html">www.robotroom.com</a>Unknownnoreply@blogger.com1