Saturday, February 01, 2020
Esports growing in Maine
Esports is growing in Maine. I decided to put together a little website to track what is happening. http://www.esportsmaine.org
Tuesday, December 25, 2018
Scuttlebutt off-grid peer to peer social network
This week I was introduced to Scuttlebutt (https://www.scuttlebutt.nz/) which is described as "an off-grid social network."
I'm really fascinated by it as a decentralized option for social networking. It uses the gossip protocol to find and exchange copies of messages with peers on the local network, and the physical movement of people/computers between different groups will help copy the messages around. You can also connect to a "pub" or well-know public servers that will connect people who are not on the same local network. These pubs are helpful, but not in any way required and they can come and go without impacting any of the content on the network. You can be simultaneously connected to multiple pubs, or none at all.
One important thing: Even though it utilizes a lot of cryptography, it seems to be designed for distributing information, not protecting anonymity. Most of the cryptography is to make sure that messages are not tampered with or forged. It does support private messages, but it isn't clear to me that it would prevent someone from figuring out who you send private messages to and how often.
Another important thing: The current protocol doesn't support edit or delete after you have posted messages. The Scuttlebutt network is a "global mesh of append-only logs." Essentially you have a local database or log of your messages plus messages of people you follow (and the people they follow), and whenever people connect they exchange content with each other. There isn't a big central server that stores all the content, so there isn't a single place you could go to change or delete messages. Instead, participants in the Scuttlebutt network all store copies of parts of the Scuttlebutt network.
Currently, it has clients for Linux, MacOS, and Windows. There is a phone client called Manyverse (https://www.manyver.se/) that currently only support Android phones. I can't imagine that this network would become too popular without mobile clients for both major phone platforms.
Things I have tried so far:
I installed the basic client called Patchwork, and created an identity. (For privacy, I didn't use my real name or picture.) You don't use a username/password, as your identity is stored as a "secret" on your computer. As long as you have that secret file, you are that identity on the Scuttlebutt network. As I was the only one on my local network that was running a Scuttlebutt client, there really wasn't much to see. Note: because you are identified by that "secret" file, you end up having a different identity for each computer you are using. You might be "me_laptop" and "me_desktop".
I connected to a pub using an automatic invite code that was given to me when I went to the web page of the pub. Suddenly I was able to see all kinds of posts, and also a bunch of "Channels" which you can think of as discussion groups. This also means that my computer had downloaded a bunch of content into my local database, which had grown to about 270MB in size. This is where the "off-grid" part comes in. I turned off my wifi and the Patchwork client essentially remained the same. I could continue to read through different discussions groups and post messages to my local database. After connecting again, my local database would "gossip" with the pub server or other local clients and exchange any new messages or content.
Another interesting feature of this "global mesh of append-only logs" is that I could wipe out my local database and then get my content back from the network of people I had exchanged messages with. I made a copy of my "secret" file, deleted my local Scuttlebutt database, and started up the Patchwork client again. Instead of creating a new identity, I then closed the Patchwork client and copied the secret file into my Scuttlebutt database directory, and started the Patchwork client up again. After connecting to the pub again, my Patchwork client downloaded the logs of the people I had connected with in the past, and those logs included all my messages and content. I was back in business.
It is a really neat system, but I do have some questions and concerns. After a long time, will my local database be way too huge? I'd have copies of all my stuff, all my friend's stuff, and all their friend's stuff, plus content from channels. Another worry I have is objectionable content. I don't want my computer to be storing pictures or messages of illegal stuff. I'm not sure how to prevent that unless I'm only ever connecting to a small group of very trusted people.
I'm really fascinated by it as a decentralized option for social networking. It uses the gossip protocol to find and exchange copies of messages with peers on the local network, and the physical movement of people/computers between different groups will help copy the messages around. You can also connect to a "pub" or well-know public servers that will connect people who are not on the same local network. These pubs are helpful, but not in any way required and they can come and go without impacting any of the content on the network. You can be simultaneously connected to multiple pubs, or none at all.
One important thing: Even though it utilizes a lot of cryptography, it seems to be designed for distributing information, not protecting anonymity. Most of the cryptography is to make sure that messages are not tampered with or forged. It does support private messages, but it isn't clear to me that it would prevent someone from figuring out who you send private messages to and how often.
Another important thing: The current protocol doesn't support edit or delete after you have posted messages. The Scuttlebutt network is a "global mesh of append-only logs." Essentially you have a local database or log of your messages plus messages of people you follow (and the people they follow), and whenever people connect they exchange content with each other. There isn't a big central server that stores all the content, so there isn't a single place you could go to change or delete messages. Instead, participants in the Scuttlebutt network all store copies of parts of the Scuttlebutt network.
Currently, it has clients for Linux, MacOS, and Windows. There is a phone client called Manyverse (https://www.manyver.se/) that currently only support Android phones. I can't imagine that this network would become too popular without mobile clients for both major phone platforms.
Things I have tried so far:
I installed the basic client called Patchwork, and created an identity. (For privacy, I didn't use my real name or picture.) You don't use a username/password, as your identity is stored as a "secret" on your computer. As long as you have that secret file, you are that identity on the Scuttlebutt network. As I was the only one on my local network that was running a Scuttlebutt client, there really wasn't much to see. Note: because you are identified by that "secret" file, you end up having a different identity for each computer you are using. You might be "me_laptop" and "me_desktop".
I connected to a pub using an automatic invite code that was given to me when I went to the web page of the pub. Suddenly I was able to see all kinds of posts, and also a bunch of "Channels" which you can think of as discussion groups. This also means that my computer had downloaded a bunch of content into my local database, which had grown to about 270MB in size. This is where the "off-grid" part comes in. I turned off my wifi and the Patchwork client essentially remained the same. I could continue to read through different discussions groups and post messages to my local database. After connecting again, my local database would "gossip" with the pub server or other local clients and exchange any new messages or content.
Another interesting feature of this "global mesh of append-only logs" is that I could wipe out my local database and then get my content back from the network of people I had exchanged messages with. I made a copy of my "secret" file, deleted my local Scuttlebutt database, and started up the Patchwork client again. Instead of creating a new identity, I then closed the Patchwork client and copied the secret file into my Scuttlebutt database directory, and started the Patchwork client up again. After connecting to the pub again, my Patchwork client downloaded the logs of the people I had connected with in the past, and those logs included all my messages and content. I was back in business.
It is a really neat system, but I do have some questions and concerns. After a long time, will my local database be way too huge? I'd have copies of all my stuff, all my friend's stuff, and all their friend's stuff, plus content from channels. Another worry I have is objectionable content. I don't want my computer to be storing pictures or messages of illegal stuff. I'm not sure how to prevent that unless I'm only ever connecting to a small group of very trusted people.
Friday, April 13, 2018
Ug - New Terms of Service when using Yahoo
Ug - New Terms of Service when using Yahoo
Monday, April 02, 2018
Pleroma OpenBSD 6.2
Pleroma OpenBSD 6.2
pkg_add elixir
pkg_add postgresql-server postgresql-client postgresql-contrib
run rcctl start postgresql and watch it fail to start.
read the postgresql package readme file to initialize the database.
/usr/local/share/doc/pkg-readmes
then rcctl enable postgresql and rcctl start postgresql
get the pleroma source code.
I used links to get to it and download a 22.6MB tar file. You could also use git.
export LC_CTYPE=en_US.UTF-8
pkg_add git (required by mix deps.get in the pleroma install docs)
pkg_add gmake (required by mix deps.compile unicode_util_compat)
Follow directions (README.md ) on https://git.pleroma.social/pleroma/pleroma
As the _postgresql user run psql -f setup_db.psql -U postgres
Then mix phx.server starts it up. Don't run as root!
pkg_add elixir
pkg_add postgresql-server postgresql-client postgresql-contrib
run rcctl start postgresql and watch it fail to start.
read the postgresql package readme file to initialize the database.
/usr/local/share/doc/pkg-readmes
then rcctl enable postgresql and rcctl start postgresql
get the pleroma source code.
I used links to get to it and download a 22.6MB tar file. You could also use git.
export LC_CTYPE=en_US.UTF-8
pkg_add git (required by mix deps.get in the pleroma install docs)
pkg_add gmake (required by mix deps.compile unicode_util_compat)
Follow directions (README.md ) on https://git.pleroma.social/pleroma/pleroma
As the _postgresql user run psql -f setup_db.psql -U postgres
Then mix phx.server starts it up. Don't run as root!
Friday, June 05, 2015
Minimal Netflow Sensor Station with OpenBSD 5.7
The basics:
Default install of OpenBSD 5.7 amd64.I start ntpd by default so I'll have accurate time stamps in my logs.
Get the network interfaces up and running.
In the default /etc/pf.conf rules, add the following line to the top:
set state-defaults pflow
Add the following to /etc/hostname.pflow0
flowsrc 127.0.0.1 flowdst 127.0.0.1:12345
Then "pkg_add flowd" to install the collector. By default it listens only on localhost port 12345.
Add "/usr/local/sbin/flowd" to /etc/rc.local to cause it to start at boot.
It will start logging to /var/log/flowd
You can view the netflow logs with "flowd-reader /var/log/flowd"
More advanced:
We'll use the nfdump tools for our collector and reporting.
pkg_add nfdump
The nfcapd netflow capture daemon will replace flowd, and listens on port 9995 by default. Modify /etc/hostname.pflow0 to contain the following:
flowsrc 127.0.0.1 flowdst 127.0.0.1:9995
Also, modify /etc/rc.local and remove the line that starts flowd, and replace it with (all on one line):flowsrc 127.0.0.1 flowdst 127.0.0.1:9995
/usr/local/bin/nfcapd -D -z -w -n localhost,127.0.0.1,/var/log/netflow -T all -S 2
You will also need to create the /var/log/netflow directory.
You can now use the nfdump tool to view one of the files which are created every 5 minutes. Files are in sub-directories based on year, month, day, hour. For example:
nfdump -r /var/log/netflow/2015/06/05/13/nfcapd.201506051335 -s dstip
Or to view them all use the capital R option:
nfdump -R /var/log/netflow/2015/06/05/13 -s dstip
If you are already in a particular directory, use the back tic around the pwd command:
nfdump -R `pwd` -s dstip
Or to view them all use the capital R option:
nfdump -R /var/log/netflow/2015/06/05/13 -s dstip
If you are already in a particular directory, use the back tic around the pwd command:
nfdump -R `pwd` -s dstip
You can also select other stats like dstport, etc. Here are some of them. See the man page for more.
record | Statistic about aggregated netflow records. |
srcip | Statistic about source IP addresses |
dstip | Statistic about destination IP addresses |
ip | Statistic about any (source or destination) IP addresses |
srcport | Statistic about source ports |
dstport | Statistic about destination ports |
port | Statistic about any (source or destination) ports |
proto | Statistic about protocol numbers |
nfdump -R `pwd` 'IP 10.1.100.10'
Using a Different Sensor
Why don't we try softflowd as a sensor. You can undo all the /etc/pf.conf and /etc/hostname.pflow0 stuff. The new daemon will listen promiscuously to the network, sof the pf packet filter doesn't need to be involved. "pkg_add softflowd"Now go ahead and edit /etc/rc.conf.local and add the following lines (and change bge0 to whatever your network interface is):
pkg_scripts=softflowd
softflowd_flags="-i bge0 -n 127.0.0.1:9995"
Reboot to do the lazy start of all daemons. You can check to make sure it is all working by issuing the command:softflowctl statistics
Saturday, November 09, 2013
Insignia Infocast 8 Silvermoon Chumby Boot
The poor Chumby wont' boot any more.
I suspected a bad SD card, so I went out and bought a new 2GB one, opened up the bottom of the Infocast, and pulled the microSD card. The card did seem to have bad blocks, at least according to the Linux machine I used to read it.
I put the OEM image in the new card: http://files.chumby.com/firmware/infocast8/1.0.5/rom-silvermoon_a0.img.zip
Still won't boot.
Here is the serial output.
I suspected a bad SD card, so I went out and bought a new 2GB one, opened up the bottom of the Infocast, and pulled the microSD card. The card did seem to have bad blocks, at least according to the Linux machine I used to read it.
I put the OEM image in the new card: http://files.chumby.com/firmware/infocast8/1.0.5/rom-silvermoon_a0.img.zip
Still won't boot.
Here is the serial output.
.................................................................................................... Total times UART was inited: 0x00000001 Total wait loops iterated: 0x000022B3 Hello world, I'm the most incredibly annoying boot process you'll ever meet! key waiting done with key wait key waiting2 flash boot attempt loading OS loader chumby! disableIRQ setupxfer levelling up... MPMU_PLL1_REG1: 10010264, MPMU_PLL1_REG2: 82000000 MPMU_PLL2_REG1: 90020364, MPMU_PLL2_REG2: 82000040 MPMU_PLL2CR: 00096f00, MPMU_FCCR: 40000000 MPMU_ACGR: 007ffffe, APMU_CCR: 8f0082c0 TMR_CR1: 1952943 TMR_CR1: 1961471 IRQ mask: 00000001 00000040 IDLE: 00000300 APCR: 00000000 MC_HW_SLP: 00000000 MC_SLP_REQ: 00000000 TMR_SR1: 00000000 TRM_IER1: 00000000 APMU_RES_FRM_SLP_CLR: 00000000 Calling function in sram (d1020000) ..|022|.@ˇo|011|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|011 .2+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|022 !*# IRQ mask: 00000001 00000040 IDLE: 00000300 APCR: ea000014 MC_HW_SLP: 00000000 MC_SLP_REQ: 00000000 TMR_SR1: 00000000 TRM_IER1: 00000000 APMU_RES_FRM_SLP_CLR: 00000000 Returned from function. Waiting for IRQs to hit (2108542 vs 2038824) Timer IRQ should have hit! Did it?! IRQ mask: 00000001 00000040 IDLE: 00000300 APCR: 00000000 MC_HW_SLP: 00000000 MC_SLP_REQ: 00000000 TMR_SR1: 00000000 TRM_IER1: 00000000 APMU_RES_FRM_SLP_CLR: 00000000 MPMU_PLL1_REG1: 91040664, MPMU_PLL1_REG2: 84000030 MPMU_PLL2_REG1: 90020464, MPMU_PLL2_REG2: 84000070 MPMU_PLL2CR: 00097300, MPMU_FCCR: 4000c290 MPMU_ACGR: 007effde, APMU_CCR: 8fc082c0 updating DDR config (again)... DDR PHY DLL delay values: 0057 reading back DDR config...done. U-Boot 2009.01-rc1-svn60940 (Dec 09 2010 - 13:04:59) Marvell version: 1.1.1.1 PXAxxx .:+I$ZOOOZZZZOO~ .7OZZZZZZZZZZZZZZZZ? ,ZZZZZZZZZZZZZZZZZZZO ZZZZZZ?ZZZZZZOI$ZZZZO. .OZZZ=?OI~ZZZO Z~?ZZZO. ZZZZ~7O7:OZZO~ ZZZZO IZZZZOOOZZZZZZZZZZZZ$ =ZZZZZZZZZZZZZZZZZZZI IZZZZZZZZZZZZZZZZZZZI :IZOOZZZZZZZZZZZZZZZZZZZZZZZZ, ,ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ .Z$$7?~,..~OZZZZZZZZZZZZZZZZZ7 =ZZZZO, IZZZZ$,OZZZZZZZO+ZZZO. ,ZZZO ZZZZ~ ~ZZZZ ?ZZZ~ ?ZZZZ .=+ ,ZZO .OZZZ ZZZO OZZZ :Z$ IZZZ, .OZZZ .OZZ. .~ ZZO. .OZZ+ $Z Z+ $ZZ .? /\ \ /\ \ ___\ \ \___ __ __ ___ ___\ \ \____ __ __ /'___\ \ _ `\/\ \/\ \ /' __` __`\ \ '__`\/\ \/\ \ /\ \__/\ \ \ \ \ \ \_\ \/\ \/\ \/\ \ \ \L\ \ \ \_\ \ \ \____\\ \_\ \_\ \____/\ \_\ \_\ \_\ \_,__/\/`____ \ \/____/ \/_/\/_/\/___/ \/_/\/_/\/_/\/___/ `/___/> \ /\___/ [silvermoon_a0 ] \/__/ MARVELL PXAXXX series. Based on 88SV331xV5 Core with ARM926 LE CPU. Stepping A0 CPU conf 750819->750919 ARM CPUID 41159265->56158400 Code original base is u-boot-arm 2009.01-rc1. DDR PHY DLL delay values: 0055 DRAM: 128 MB MMC: pxa-sdh: 0 Using default environment Initializing LCD at address 0x0112b000 (updating 42 registers) Setting d420b0c0 -> 0112b000: 0112b000 Setting d420b0c4 -> 0112b000: 0112b000 Setting d420b0c8 -> 0112b000: 0112b000 Setting d420b0f4 -> 0112b000: 0112b000 Setting d420b0f8 -> 0112b000: 0112b000 Setting d420b0e0 -> 00000640: 00000640 Setting d420b0ec -> 02580320: 02580320 Setting d420b0f0 -> 02580320: 02580320 Setting d420b0fc -> 00000640: 00000640 Setting d420b104 -> 02580320: 02580320 Setting d420b108 -> 02580320: 02580320 Setting d420b114 -> 028c049f: 028c049f Setting d420b118 -> 02580320: 02580320 Setting d420b11c -> 00d70028: 00d70028 Setting d420b120 -> 0022000e: 0022000e Setting d420b148 -> 80000000: 80000000 Setting d420b14c -> 00000640: 00000960 Setting d420b154 -> 00000640: 00000960 Setting d420b15c -> 000000ff: 00000000 Setting d420b164 -> e0400000: 7226b840 Setting d420b168 -> 6028c838: 6022d828 Setting d420b170 -> 00020000: 00020000 Setting d420b174 -> 5119824c: 0021c370 Setting d420b178 -> 03000000: 03000000 Setting d420b17c -> 00000004: 00000008 Setting d420b180 -> 02000f0e: 02000f0e Setting d420b184 -> 00008808: 00008808 Setting d420b1a4 -> 0000e000: 0000e000 Setting d420b1a8 -> 80000007: 80000007 Setting d420b1ac -> 00004000: 00004000 Setting d420b1b0 -> 20004000: 20004000 Setting d420b1b4 -> 00004000: 00004000 Setting d420b1bc -> 00000002: 00000002 Setting d420b1c0 -> 88000000: 88000000 Setting d420b1c4 -> 44c0018c: 44c01308 Setting d420b1c8 -> 00000005: 00000005 Setting d420b1cc -> d420b000: 00000000 Setting d4019020 -> 00100000: 00000000 Setting d401905c -> 00100000: 00000000 Setting d420b1b8 -> 210ff10f: 210ff10f Setting d420b190 -> 08001110: 08001110 Setting d420b194 -> 20020081: 20020081 In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 Determining boot partition... Active partition: 0 Found part number: 272 1001 Drawing something to the screen... Clearing screen to black... Clearing gl buffer... Clearing flake buffer... Precalculating snow LUT... Testing the touchscreen... 12307 bytes read Unzipping... Precalculating RAND LUT... Press Control-C to enter a shell. Continuing boot... Testing the touchscreen again... Booting to regular shell... 14356 bytes read Unzipping... Precalculating RAND LUT... Booting to rfsA... 2078040 bytes read Ready to boot zImage from 500000 Starting kernel using machid 1829 (0x725) ... Uncompressing Linux.................................................................................................................................................................. done, booting the kernel. [ 0.000000] Linux version 2.6.28-M2.1.8.12 (builder@stormbuild) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #1 Thu Dec 9 13:04:27 PST 2010 [ 0.000000] CPU: Marvell Mohawk [56158400] revision 0 (ARMv5TE), cr=04053977 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: PXA168-based Chumby Silvermoon platform [ 0.000000] Ignoring unrecognised tag 0x54410008 [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping off. Total pages: 32512 [ 0.000000] Kernel command line: root=/dev/mmcblk0p2 rootfstype=ext3 rootwait console=ttyS0,115200 mem=128M uart_dma init=/linuxrc sysrq_always_enabled ro logo.brand=insignia [ 0.000000] debug: sysrq always enabled. [ 0.000000] PID hash table entries: 512 (order: 9, 2048 bytes) [ 0.000088] Console: colour dummy device 80x30 [ 0.000106] ram_console: buffer 00000000, invalid size 0, datasize -12 [ 0.000185] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000479] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.006772] Memory: 128MB = 128MB total [ 0.006795] Memory: 123904KB available (3852K code, 934K data, 1060K init) [ 0.006886] SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.006909] Calibrating delay loop... 796.26 BogoMIPS (lpj=3981312) [ 0.220326] Mount-cache hash table entries: 512 [ 0.220656] CPU: Testing write buffer coherency: ok [ 0.223461] net_namespace: 292 bytes [ 0.223663] NET: Registered protocol family 16 [ 0.224157] silvermoon.c - silvermoon_init():701 - Just so you know, the CPU type is 0x56158400 [ 0.224270] pxa168_mfp_set_fastio_drive config changed to 2000 [ 0.224521] silvermoon_init() - attempting to add SSP2 for touchscreen [ 0.224536] silvermoon_ssp_init() adding ssp2 [ 0.224588] silvermoon_ssp_init() exit [ 0.224637] silvermoon_init() - adding u2h ehci usb hub [ 0.224809] silvermoon_init() - adding MMC3 init[2], wifi MMC1 [ 0.225198] platform_driver_register [ 0.228050] SCSI subsystem initialized [ 0.228176] usbcore: registered new interface driver usbfs [ 0.228275] usbcore: registered new interface driver hub [ 0.228420] usbcore: registered new device driver usb [ 0.251044] NET: Registered protocol family 2 [ 0.340431] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.340628] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 0.340719] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 0.340787] TCP: Hash tables configured (established 4096 bind 4096) [ 0.340803] TCP reno registered [ 0.370442] NET: Registered protocol family 1 [ 0.381514] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 0.382594] NTFS driver 2.1.29 [Flags: R/W]. [ 0.383040] fuse init (API version 7.10) [ 0.383643] msgmni has been set to 242 [ 0.384696] alg: No test for stdrng (krng) [ 0.384758] io scheduler noop registered [ 0.384771] io scheduler anticipatory registered [ 0.384785] io scheduler deadline registered [ 0.384903] io scheduler cfq registered (default) [ 0.392931] pxa168fb_ovly.c - pxa168fb_probe():2075 - Just pointed fb0 at 0112b000 [ 0.396405] pxa168fb_set_par() warning: viewport x/y zoom were 0 [ 0.411332] Console: switching to colour frame buffer device 100x75 [ 0.435993] pxa168fb_ovly: frame buffer device was loaded to /dev/fb0. [ 0.440882] pxa2xx-uart.0: ttyS0 at MMIO 0xd4017000 (irq = 27) is a FFUART [ 0.440915] console [ttyS0] enabled [ 0.762044] pxa2xx-uart.2: ttyS2 at MMIO 0xd4026000 (irq = 29) is a STUART [ 0.769289] brd: module loaded [ 0.773648] loop: module loaded [ 0.776862] logger: created 64K log 'log_main' [ 0.781406] logger: created 256K log 'log_events' [ 0.786162] logger: created 64K log 'log_radio' [ 0.790795] usbcore: registered new interface driver cdc_ether [ 0.796697] Driver 'sd' needs updating - please use bus_type methods [ 0.803189] usbmon: debugfs is not available [ 0.807461] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.814187] u2h regbase 0xc883a000 phybase 0xc883e000 irq 51 [ 0.819996] pxa168_usb_phy_init 254: calibrate timeout, UTMI_PLL 7e01aeeb [ 0.828509] pxau2h-ehci pxau2h-ehci: Marvell PXA SOC EHCI Host Controller [ 0.835504] pxau2h-ehci pxau2h-ehci: new USB bus registered, assigned bus number 1 [ 0.843301] pxau2h-ehci pxau2h-ehci: irq 51, io base 0x0883a000 [ 0.860382] pxau2h-ehci pxau2h-ehci: USB 2.0 started, EHCI 1.00 [ 0.866624] usb usb1: configuration #1 chosen from 1 choice [ 0.872420] hub 1-0:1.0: USB hub found [ 0.876198] hub 1-0:1.0: 1 port detected [ 0.880710] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 0.887509] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 0.894779] usb usb1: Product: Marvell PXA SOC EHCI Host Controller [ 0.901076] usb usb1: Manufacturer: Linux 2.6.28-M2.1.8.12 ehci_hcd [ 0.907340] usb usb1: SerialNumber: pxau2h-ehci [ 0.911908] [ehci-pxau2h.c] Silvermoon media insertion / removal detection enabled [ 0.919558] Initializing USB Mass Storage driver... [ 0.924564] usbcore: registered new interface driver usb-storage [ 0.930606] USB Mass Storage support registered. [ 0.935301] usbcore: registered new interface driver libusual [ 0.941224] u2o regbase 0xc8842000 phybase 0xc8846000 irq 44 [ 0.947995] mice: PS/2 mouse device common for all mice [ 0.953714] mmp-rtc mmp-rtc: rtc core: registered mmp-rtc as rtc0 [ 0.960116] mmc0: SDHCI controller on MMC [pxa-sdh.0] using ADMA [ 0.966334] mmc1: SDHCI controller on MMC [pxa-sdh.1] using ADMA [ 0.972537] mmc2: SDHCI controller on MMC [pxa-sdh.2] using ADMA [ 0.978584] pxa-sdh: Secure Digital Host Controller Interface driver [ 0.984972] pxa-sdh: Copyright(c) Pierre Ossman [ 0.990421] usbcore: registered new interface driver usbhid [ 0.995998] usbhid: v2.6:USB HID core driver [ 1.000412] Advanced Linux Sound Architecture Driver Version 1.0.18rc3. [ 1.007030] ALSA device list: [ 1.009994] No soundcards found. [ 1.013421] oprofile: using timer interrupt. [ 1.018024] TCP cubic registered [ 1.021296] NET: Registered protocol family 17 [ 1.026365] RPC: Registered udp transport module. [ 1.031117] RPC: Registered tcp transport module. [ 1.035821] XScale iWMMXt coprocessor detected. [ 1.040778] pxa168fb.c - pxa168fb_probe():1268 - Changing LCD_SPU_DMA_CTRL1 from 0x20020081 -> 0x2002ff81 [ 1.062876] pxa168fb.c - pxa168fb_probe():1328 - Changing LCD_SPU_DMA_CTRL0 from 0x08401111 -> 0x08441111 [ 1.072474] pxa168fb.c - pxa168fb_probe():1331 - Changing LCD_SPU_DMA_CTRL1 from 0x2002ff81 -> 0x2002ff81 [ 1.082297] pxa168fb: frame buffer device was loaded to /dev/fb1 . [ 1.089960] silvermoon_lcd_power() ON [ 1.093812] mmp-rtc mmp-rtc: setting system clock to 1970-01-01 00:00:00 UTC (0) [ 1.101418] Waiting for root device /dev/mmcblk0p2... [ 1.295759] usb 1-1: new high speed USB device using pxau2h-ehci and address 2 [ 1.701385] usb 1-1: configuration #1 chosen from 1 choice [ 1.751103] hub 1-1:1.0: USB hub found [ 1.798917] hub 1-1:1.0: 4 ports detected [ 1.936206] usb 1-1: New USB device found, idVendor=058f, idProduct=6254 [ 1.942952] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 1.950087] usb 1-1: Product: USB2.0Hub [ 2.529077] usb 1-1.4: new high speed USB device using pxau2h-ehci and address 3 [ 3.111905] usb 1-1.4: configuration #1 chosen from 1 choice [ 3.206303] scsi0 : SCSI emulation for USB Mass Storage devices [ 3.213272] usb 1-1.4: New USB device found, idVendor=058f, idProduct=6366 [ 3.220156] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3.227519] usb 1-1.4: Product: Mass Storage Device [ 3.232421] usb 1-1.4: Manufacturer: Generic [ 3.236689] usb 1-1.4: SerialNumber: 058F0O1111B1 [ 3.950392] mmc1: new SDIO card at address 0001 [ 4.987701] mmc2: new high speed SD card at address 1234 [ 4.993345] mmcblk0: mmc2:1234 SA02G 1.85 GiB [ 4.997937] mmcblk0:<4>mmcblk0: retrying using single block read [ 5.004324] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.012967] end_request: I/O error, dev mmcblk0, sector 0 [ 5.018415] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.027062] end_request: I/O error, dev mmcblk0, sector 1 [ 5.032678] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.041327] end_request: I/O error, dev mmcblk0, sector 2 [ 5.046778] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.055420] end_request: I/O error, dev mmcblk0, sector 3 [ 5.060896] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.069505] end_request: I/O error, dev mmcblk0, sector 4 [ 5.074988] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.083632] end_request: I/O error, dev mmcblk0, sector 5 [ 5.089079] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.097721] end_request: I/O error, dev mmcblk0, sector 6 [ 5.103196] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.111842] end_request: I/O error, dev mmcblk0, sector 7 [ 5.117244] Buffer I/O error on device mmcblk0, logical block 0 [ 5.123304] mmcblk0: retrying using single block read [ 5.128410] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.137206] end_request: I/O error, dev mmcblk0, sector 0 [ 5.142706] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.151349] end_request: I/O error, dev mmcblk0, sector 1 [ 5.156796] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.165438] end_request: I/O error, dev mmcblk0, sector 2 [ 5.170913] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.179525] end_request: I/O error, dev mmcblk0, sector 3 [ 5.185002] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.193648] end_request: I/O error, dev mmcblk0, sector 4 [ 5.199096] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.207737] end_request: I/O error, dev mmcblk0, sector 5 [ 5.213216] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.221868] end_request: I/O error, dev mmcblk0, sector 6 [ 5.227330] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.236128] end_request: I/O error, dev mmcblk0, sector 7 [ 5.241530] Buffer I/O error on device mmcblk0, logical block 0 [ 5.247643] mmcblk0: retrying using single block read [ 5.252983] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.261667] end_request: I/O error, dev mmcblk0, sector 0 [ 5.267155] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.275843] end_request: I/O error, dev mmcblk0, sector 1 [ 5.281343] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.289988] end_request: I/O error, dev mmcblk0, sector 2 [ 5.295577] scsi 0:0:0:0: Direct-Access Multi Flash Reader 1.00 PQ: 0 ANSI: 0 [ 5.304184] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.312872] end_request: I/O error, dev mmcblk0, sector 3 [ 5.318357] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.327041] end_request: I/O error, dev mmcblk0, sector 4 [ 5.332563] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.341249] end_request: I/O error, dev mmcblk0, sector 5 [ 5.346723] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.355416] end_request: I/O error, dev mmcblk0, sector 6 [ 5.360924] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400b00 [ 5.369570] end_request: I/O error, dev mmcblk0, sector 7 [ 5.374967] Buffer I/O error on device mmcblk0, logical block 0 [ 5.380979] unable to read partition table [ 5.385803] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 5.391564] sd 0:0:0:0: Attached scsi generic sg0 type 0
Friday, June 07, 2013
Fossil - Simple, high-reliability, distributed software configuration management
A quick tutorial for myself on how to sync two fossil databases.
Putting some notes down on "paper" so I remember what I did for a personal project. These directions would not be useful for a large project with multiple developers.Along with being a distributed SCM, fossil is interesting because it is also a wiki and bug tracker. It is also cross-platform, permissively licensed, self-contained, and doesn't require much in the way of complex installation or dependencies.
The quick start guide is good, although I wanted to write down my own condensed version.
http://www.fossil-scm.org/fossil/doc/trunk/www/quickstart.wiki
1. Download here: http://www.fossil-scm.org
2. fossil init my-repo (or is it fossil new my-repo)
This creates a sqlite database named "my-repo", and spits out the project-id, server-id, and admin-user username and randomly generated password. You can write down this username/password combination, or set a new password in the next step. By default, it uses the your current username as the admin user. You can set this to something else when you create the repository by using the -A flag.
3. fossil ui my-repo
This will run the fossil web server and have it listen on http://127.0.0.1:8080/, and then launch your default web browser if it can. When the web browser opens, you will be automatically logged in as the admin-user. In this mode, it will not listen for connections over the network. It will direct to you the config page so you can make changes.
4. User management and permissions
In the Admin, Users tool, you may want to limit what the "anonymous" group can do, as by default they can leave comments on pages. I just unchecked everything for that group.
5. fossil server -port 8000 my-repo
This will run the server and bind to port 8000 and listen on all interfaces.
6. shut down fossil, and copy the sqlite database file over to another machine. start up the serve again.
7. fossil sync -R my-repo http://user:password@www.server.tld:8080
8. fossil sync -R my-repo
Later syncs seems to be fine with just that.