<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>code | rael.io</title><link>https://rael.io/tags/code/</link><atom:link href="https://rael.io/tags/code/index.xml" rel="self" type="application/rss+xml"/><description>code</description><generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><copyright>Fork me on [GitHub](https://github.com/raelga/rael.io)</copyright><lastBuildDate>Mon, 26 Aug 2019 11:23:56 +0200</lastBuildDate><image><url>https://rael.io/img/photos/emma-hello-card.jpg</url><title>code</title><link>https://rael.io/tags/code/</link></image><item><title>yodo</title><link>https://rael.io/project/yodo/</link><pubDate>Mon, 26 Aug 2019 11:23:56 +0200</pubDate><guid>https://rael.io/project/yodo/</guid><description>
&lt;p&gt;&lt;a href=&#34;https://github.com/raelga/yodo/actions&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://github.com/raelga/yodo/workflows/Build/badge.svg&#34; alt=&#34;Actions Status&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://travis-ci.org/raelga/yodo&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://travis-ci.org/raelga/yodo.svg?branch=master&#34; alt=&#34;Build Status&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://goreportcard.com/report/github.com/raelga/yodo&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://goreportcard.com/badge/github.com/raelga/yodo&#34; alt=&#34;Go Report Card&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://coveralls.io/github/raelga/yodo?branch=master&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://coveralls.io/repos/github/raelga/yodo/badge.svg?branch=master&#34; alt=&#34;Coverage Status&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://github.com/raelga/yodo/blob/master/LICENSE&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/license/raelga/yodo&#34; alt=&#34;GitHub&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Simple GoLang &lt;strong&gt;TODO&lt;/strong&gt; application&lt;/p&gt;
&lt;p&gt;This application is just a playground to learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TDD&lt;/strong&gt; with GoLang&lt;/li&gt;
&lt;li&gt;github.com/spf13/&lt;strong&gt;cobra&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;github.com/spf13/&lt;strong&gt;viper&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;gopkg.in/&lt;strong&gt;yaml&lt;/strong&gt;.v2&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GitHub Actions&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ go build
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&#34;language-yaml&#34;&gt;$ ./yodo get
default:
Empty list
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-yaml&#34;&gt;$ ./yodo add Add verbose mode
add task &amp;quot;Add verbose mode&amp;quot; (false) to file$
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-yaml&#34;&gt;$ ./yodo get
default:
- [0] &amp;quot;Add verbose mode&amp;quot; (false)
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-yaml&#34;&gt;$ ./yodo do 0
Task 0 done.
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-yaml&#34;&gt;$ ./yodo get
default:
- [0] &amp;quot;Add verbose mode&amp;quot; (true)
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-yaml&#34;&gt;$ cat ~/.yodo/default.yaml
id: 0
name: default
tasks:
- id: 0
status: true
description: Add verbose mode
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;notes&#34;&gt;Notes&lt;/h2&gt;
&lt;p&gt;Gopher art from &lt;a href=&#34;https://github.com/ashleymcnamara/gophers&#34; target=&#34;_blank&#34;&gt;ashleymcnamara/gophers&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>rael.io</title><link>https://rael.io/project/rael.io/</link><pubDate>Thu, 15 Aug 2019 11:23:56 +0200</pubDate><guid>https://rael.io/project/rael.io/</guid><description>&lt;p&gt;&lt;a href=&#34;https://app.netlify.com/sites/rael/deploys&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://api.netlify.com/api/v1/badges/17660b24-5ace-4e45-9d81-31237fbc07fd/deploy-status&#34; alt=&#34;Netlify Status&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Static site for rael.io using:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://gohugo.io/&#34; target=&#34;_blank&#34;&gt;Hugo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sourcethemes.com/academic/&#34; target=&#34;_blank&#34;&gt;Academic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://netlify.com&#34; target=&#34;_blank&#34;&gt;Netlify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Bigotes</title><link>https://rael.io/project/bigotes/</link><pubDate>Sun, 11 Nov 2018 11:23:56 +0200</pubDate><guid>https://rael.io/project/bigotes/</guid><description>&lt;p&gt;&lt;a href=&#34;https://app.netlify.com/sites/bigotes/deploys&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://api.netlify.com/api/v1/badges/fc20200d-be84-45ae-a4f2-0b16eff715f5/deploy-status&#34; alt=&#34;Netlify Status&#34; /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Jupyter Image Extractor</title><link>https://rael.io/project/jupyter-image-extractor/</link><pubDate>Tue, 06 Mar 2018 11:23:56 +0200</pubDate><guid>https://rael.io/project/jupyter-image-extractor/</guid><description>
&lt;p&gt;Parses a Jupyter book html and extracts the images.&lt;/p&gt;
&lt;h2 id=&#34;build&#34;&gt;Build&lt;/h2&gt;
&lt;p&gt;Build the container:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ellie:ws rael$ make docker-build
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Expected output:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;docker build . -t &#39;jupyter-image-extractor&#39;
Sending build context to Docker daemon 12.46MB
Step 1/1 : FROM python:3-onbuild
# Executing 3 build triggers
---&amp;gt; Running in be4957e8a2d2
Collecting beautifulsoup4 (from -r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/9e/d4/10f46e5cfac773e22707237bfcd51bbffeaf0a576b0a847ec7ab15bd7ace/beautifulsoup4-4.6.0-py3-none-any.whl (86kB)
Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.6.0
Removing intermediate container be4957e8a2d2
---&amp;gt; 2b1181b0bde2
Successfully built 2b1181b0bde2
Successfully tagged jupyter-image-extractor:latest
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;execute&#34;&gt;Execute&lt;/h2&gt;
&lt;p&gt;Run the script with docker:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ellie:ws rael$ make docker-run
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Expected output:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;docker run -it --rm --name &#39;jupyter-image-extractor&#39; -v &amp;quot;/Users/rael/Documents/Code/python/ws:/code&amp;quot; -w /code &#39;jupyter-image-extractor&#39; python jupyterImageSaver.py Jupyter\ Notebook\ Viewer.html
./Jupyter Notebook Viewer_files/nav_logo.svg
./images/base64-img-1.png
./images/base64-img-2.png
./images/base64-img-3.png
./images/base64-img-4.png
./images/base64-img-5.png
./images/base64-img-6.png
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Go Playground</title><link>https://rael.io/project/go-playground/</link><pubDate>Mon, 12 Feb 2018 11:23:56 +0200</pubDate><guid>https://rael.io/project/go-playground/</guid><description>
&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Compiles to Machine Code&lt;/li&gt;
&lt;li&gt;Design for concurrence&lt;/li&gt;
&lt;li&gt;Statically typed&lt;/li&gt;
&lt;li&gt;Garbage collected&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;language&#34;&gt;Language&lt;/h2&gt;
&lt;h3 id=&#34;variables&#34;&gt;Variables&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.golang.org/gos-declaration-syntax&#34; target=&#34;_blank&#34;&gt;https://blog.golang.org/gos-declaration-syntax&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&#34;definition&#34;&gt;Definition&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;var foo string;
foo = &amp;quot;bar&amp;quot; // OK, new value for foo
foo = 5 // compile error, expected string, found int
newfoo = &amp;quot;bar&amp;quot; // compile error, foo is not defined
bar := &amp;quot;foo&amp;quot; // implicit var
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;basic-types&#34;&gt;Basic Types&lt;/h4&gt;
&lt;p&gt;&lt;a href=&#34;https://golang.org/pkg/go/types/&#34; target=&#34;_blank&#34;&gt;https://golang.org/pkg/go/types/&lt;/a&gt; or &lt;code&gt;go doc types&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt; Invalid: {Invalid, 0, &amp;quot;invalid type&amp;quot;},
Bool: {Bool, IsBoolean, &amp;quot;bool&amp;quot;},
Int: {Int, IsInteger, &amp;quot;int&amp;quot;},
Int8: {Int8, IsInteger, &amp;quot;int8&amp;quot;},
Int16: {Int16, IsInteger, &amp;quot;int16&amp;quot;},
Int32: {Int32, IsInteger, &amp;quot;int32&amp;quot;},
Int64: {Int64, IsInteger, &amp;quot;int64&amp;quot;},
Uint: {Uint, IsInteger | IsUnsigned, &amp;quot;uint&amp;quot;},
Uint8: {Uint8, IsInteger | IsUnsigned, &amp;quot;uint8&amp;quot;},
Uint16: {Uint16, IsInteger | IsUnsigned, &amp;quot;uint16&amp;quot;},
Uint32: {Uint32, IsInteger | IsUnsigned, &amp;quot;uint32&amp;quot;},
Uint64: {Uint64, IsInteger | IsUnsigned, &amp;quot;uint64&amp;quot;},
Uintptr: {Uintptr, IsInteger | IsUnsigned, &amp;quot;uintptr&amp;quot;},
Float32: {Float32, IsFloat, &amp;quot;float32&amp;quot;},
Float64: {Float64, IsFloat, &amp;quot;float64&amp;quot;},
Complex64: {Complex64, IsComplex, &amp;quot;complex64&amp;quot;},
Complex128: {Complex128, IsComplex, &amp;quot;complex128&amp;quot;},
String: {String, IsString, &amp;quot;string&amp;quot;},
UnsafePointer: {UnsafePointer, 0, &amp;quot;Pointer&amp;quot;},
UntypedBool: {UntypedBool, IsBoolean | IsUntyped, &amp;quot;untyped bool&amp;quot;},
UntypedInt: {UntypedInt, IsInteger | IsUntyped, &amp;quot;untyped int&amp;quot;},
UntypedRune: {UntypedRune, IsInteger | IsUntyped, &amp;quot;untyped rune&amp;quot;},
UntypedFloat: {UntypedFloat, IsFloat | IsUntyped, &amp;quot;untyped float&amp;quot;},
UntypedComplex: {UntypedComplex, IsComplex | IsUntyped, &amp;quot;untyped complex&amp;quot;},
UntypedString: {UntypedString, IsString | IsUntyped, &amp;quot;untyped string&amp;quot;},
UntypedNil: {UntypedNil, IsUntyped, &amp;quot;untyped nil&amp;quot;},
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;var x byte = 255 // byte alias for uint8
var y byte = x + 5 // overflow to 4
x++ // overflow to 0
var y byte = 0
y = y - 1 // underflow to 255
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;var foo byte = 2
var foo int32 = 260
sum = foo + bar // compilation error different types
foo = bar // compilation error different types
var conv uint8 = uint8(260) // 4
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;arrays&#34;&gt;Arrays&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;var a [2]int
a[0] = 1
a[1] = &amp;quot;foo&amp;quot; // compile error, wrong type
a[1] = 2 // OK
a[2] = 3 // compile error, out of bounds
index := 2
a[index] = 3 // runtime error, out of bounds
n := 5
var b [n]int // compile error, array size must be constant
var c [2]int // OK
c = a // OK, copy all values
var d [4]int
d = a // compile error, wrong type [2]int vs [4]int
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Go will put the array values contiguous in memory adding padding if needed to align with &lt;sup&gt;4&lt;/sup&gt;&amp;frasl;&lt;sub&gt;8&lt;/sub&gt; bytes.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;var a [2][2][2]int
0x00 a[0][0][0]
0x01 a[0][0][1]
0x02 a[0][1][0]
0x03 a[0][1][1]
0x04 a[1][0][0]
0x05 a[1][0][1]
0x06 a[1][1][0]
0x07 a[1][1][1]
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;slices&#34;&gt;Slices&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;TODO&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;### Structs&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;type Person struct {
Name string
Age string
Gender string
Children []Person // OK, can be empty, is a slice
Mother Person // compile error, invalid recurse type
Father Person // Type Person contains a Person, infinite references
Parents []Person // OK, can be empty, is a slice
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;### Pointer&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;var x int = 42
var y *int // pointer to integrer
y = &amp;amp;x // &amp;amp;x returns the pointer to x (address of x)
z := *y // *y derreferences y, gets 42, the value of x
x = 24 // updates x value
z = *y // *y returns the new value of x, 24
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;maps&#34;&gt;Maps&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;TODO&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;definition-scope&#34;&gt;Definition scope&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;x := 0
if condition {
x := 42
}
y := x // y is 0
if condition {
y = 21
}
z := y // z is 21
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;functions&#34;&gt;Functions&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;func foo(x, y int, z bool) int {
if z {
return x + y
} else {
return &amp;quot;bar&amp;quot; // compile error, wrong return type
}
}
func bar() (string, int) {
return &amp;quot;The answer is&amp;quot;, 42
}
func main() {
var x int = foo(1, 2, true) // OK
var y int = foo(1, 2) // compile error, wrong number of arguments
var z int = foo(1, 2, &amp;quot;bar&amp;quot;) // compile error, last argument not a bool
var v bool = foo(1, 2, true) // compile error, wrong return type
a := 1
b := 2
s := foo(a, b, true) + a // OK, compiler knows that a, b and foo are int
str, num := bar() // OK
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;syntax&#34;&gt;Syntax&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Semicolons are inserted by the compiler&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;func foo(x int) int {
x++
return x
}
foo(1)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The compiler will put the &lt;code&gt;;&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;func foo(x int) int {
x++;
return x;
};
foo(1);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;### Loops&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-go&#34;&gt;abc := [3]string{&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;}
for i, v := rang abc {
// i is the index or key if abc is a map
// v is the value
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;range&#34;&gt;Range&lt;/h4&gt;
&lt;h2 id=&#34;resources&#34;&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/ardanlabs/gotraining&#34; target=&#34;_blank&#34;&gt;https://github.com/ardanlabs/gotraining&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/dariubs/GoBooks&#34; target=&#34;_blank&#34;&gt;https://github.com/dariubs/GoBooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://openmymind.net/The-Little-Go-Book/&#34; target=&#34;_blank&#34;&gt;http://openmymind.net/The-Little-Go-Book/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=UvpSDtbdGDM&#34; target=&#34;_blank&#34;&gt;https://www.youtube.com/watch?v=UvpSDtbdGDM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=G3PvTWRIhZA&#34; target=&#34;_blank&#34;&gt;https://www.youtube.com/watch?v=G3PvTWRIhZA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=ytEkHepK08c&#34; target=&#34;_blank&#34;&gt;https://www.youtube.com/watch?v=ytEkHepK08c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://codegangsta.gitbooks.io/building-web-apps-with-go&#34; target=&#34;_blank&#34;&gt;https://codegangsta.gitbooks.io/building-web-apps-with-go&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://golang.org/doc/code.html#Organization&#34; target=&#34;_blank&#34;&gt;https://golang.org/doc/code.html#Organization&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;notes&#34;&gt;Notes&lt;/h2&gt;
&lt;p&gt;Gopher art from &lt;a href=&#34;https://github.com/ashleymcnamara/gophers&#34; target=&#34;_blank&#34;&gt;ashleymcnamara/gophers&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>tgfwdbot</title><link>https://rael.io/project/tgfwdbot/</link><pubDate>Sun, 09 Jul 2017 11:23:56 +0200</pubDate><guid>https://rael.io/project/tgfwdbot/</guid><description>
&lt;p&gt;&lt;a href=&#34;https://travis-ci.org/raelga/tgfwdbot&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://travis-ci.org/raelga/tgfwdbot.svg?branch=master&#34; alt=&#34;Build Status&#34; /&gt;&lt;/a&gt;
&lt;a href=&#34;https://goreportcard.com/report/github.com/raelga/tgfwdbot&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://goreportcard.com/badge/github.com/raelga/tgfwdbot&#34; alt=&#34;Go Report&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bot to forward messages between supergroups and private chats, to allow talking in Telegram supergroups when banned.&lt;/p&gt;
&lt;h2 id=&#34;why&#34;&gt;Why&lt;/h2&gt;
&lt;p&gt;Sometimes, due to trolls reporters, users can be banned from any Telegram supergroup, not only the one where reported.
With this bot, users will be able to participate in specific groups through the bot.&lt;/p&gt;
&lt;p&gt;This bot can be added to the group, identified by &lt;code&gt;TELEGRAM_GROUP_ID&lt;/code&gt;, and will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Forward any message from the Group to the private conversation with the banned user&lt;/li&gt;
&lt;li&gt;Forward any message from the private conversation with the banned user to the Group&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The admins of the groups where the bot is a member will decide if the allows the banned users to participate or not.&lt;/p&gt;
&lt;h2 id=&#34;disclaimer&#34;&gt;Disclaimer&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;This bot is not intended to be a tool for spammers and malicious users to bypass Telegram bans.&lt;/strong&gt;
The purpose is to allow users to interact in the groups with the authorization of the group admins when globally banned from supergroups due to troll reportings.&lt;/p&gt;
&lt;h2 id=&#34;notes&#34;&gt;Notes&lt;/h2&gt;
&lt;p&gt;Gopher art from &lt;a href=&#34;https://github.com/ashleymcnamara/gophers&#34; target=&#34;_blank&#34;&gt;ashleymcnamara/gophers&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>TS Invaders</title><link>https://rael.io/project/tsinvaders/</link><pubDate>Sat, 10 Jun 2017 11:23:56 +0200</pubDate><guid>https://rael.io/project/tsinvaders/</guid><description>
&lt;p&gt;&lt;a href=&#34;https://travis-ci.org/raelga/tsinvaders&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://travis-ci.org/raelga/tsinvaders.svg?branch=master&#34; alt=&#34;Build Status&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yet another spaces invaders clone, this time in TypeScript using Phaser.io.&lt;/p&gt;
&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;
&lt;p&gt;Phaser.io framework from @photonstorm &lt;a href=&#34;https://github.com/photonstorm/phaser&#34; target=&#34;_blank&#34;&gt;Github&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;art&#34;&gt;Art&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Player explosion sprite from J-Robot &lt;a href=&#34;https://opengameart.org/users/j-robot&#34; target=&#34;_blank&#34;&gt;OpenGameArt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rest of the graphic art is from &lt;a href=&#34;https://twitter.com/whiskyemms&#34; target=&#34;_blank&#34;&gt;@whiskyemms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>PyBot</title><link>https://rael.io/project/pybot/</link><pubDate>Thu, 02 Mar 2017 11:23:56 +0200</pubDate><guid>https://rael.io/project/pybot/</guid><description>
&lt;p&gt;&lt;a href=&#34;https://circleci.com/gh/raelga/pybot/tree/master&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://circleci.com/gh/raelga/pybot/tree/master.svg?style=svg&#34; alt=&#34;CircleCI&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;pybot&#34;&gt;pybot&lt;/h1&gt;
&lt;p&gt;Wrapper for &lt;a href=&#34;https://github.com/python-telegram-bot/python-telegram-bot&#34; target=&#34;_blank&#34;&gt;python-telegram-bot&lt;/a&gt; to allow dynamic plug-in architecture, an attempt to make python-telegram-bot more hubottish.&lt;/p&gt;
&lt;h3 id=&#34;execution-flow&#34;&gt;Execution flow&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;bin/pybot&lt;/code&gt; starts the bot with the selected adapter and using the configuration options defined in &lt;code&gt;conf/pybot.conf&lt;/code&gt; or the command-line arguments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The selected adapter receives the message and sends it to the &lt;code&gt;brain.py&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;brain.py&lt;/code&gt; loads in runtime all the &lt;code&gt;.py&lt;/code&gt; files in the &lt;code&gt;./memory&lt;/code&gt; folder each time and try to execute a defined method, for example &lt;code&gt;hear(message.text)&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Each module in &lt;code&gt;./memory&lt;/code&gt; with that method returns a response, the &lt;code&gt;brain.py&lt;/code&gt; sends it to the &lt;code&gt;pybot.py&lt;/code&gt; and it sends the response back to the chat.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;As the methods are dynamically loaded, you can edit and add the files in &lt;code&gt;./memory&lt;/code&gt; without need to restart &lt;code&gt;pybot.py&lt;/code&gt;, and they will be reloaded on the next message. Overkill but funny.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;makefile-targets&#34;&gt;Makefile targets&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&#34;language-Makefile&#34;&gt;usage: Show this help
setup-venv: Setup virtualenv
lint: Run code linter to check code style
telegram: Run pybot with the telegram adapter
docker-build: Build the docker image for running pybot
docker-telegram: Run with telegram adapter in the docker container
docker-lint: Run pep8 in the docker container
docker-clean: Remove the docker image
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;execution-example&#34;&gt;Execution example&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;make docker-telegram
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;docker run -it --rm --name pybot -v /Users/rael/Code/python/pybot:/usr/src/pybot -w /usr/src/pybot &#39;pybot&#39; bin/pybot telegram
Starting pybot using conf token file. CTRL-C to quit.
2017-04-17 07:35:54,392 - pybot.interfaces.telegram - INFO - Bot raelbot up and ready!
2017-04-17 07:36:39,371 - pybot.brain - INFO - 116133952, Hello world!, 53693428, 2017-04-17 07:36:39,&amp;quot;53693428&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;contributing&#34;&gt;Contributing&lt;/h3&gt;
&lt;p&gt;Contributions of all sizes are welcome.&lt;/p&gt;
&lt;h3 id=&#34;attributions&#34;&gt;Attributions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Header image from &lt;a href=&#34;https://python-telegram-bot.org&#34; target=&#34;_blank&#34;&gt;python-telegram-bot.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;license&#34;&gt;License&lt;/h3&gt;
&lt;p&gt;You may copy, distribute and modify the software provided that modifications are described and licensed for free under &lt;code&gt;GNU General Public License v3.0&lt;/code&gt;. Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL-3, but applications that use the library don&amp;rsquo;t have to be.&lt;/p&gt;</description></item><item><title>Hubot Raelbot</title><link>https://rael.io/project/hubot-raelbot/</link><pubDate>Sun, 16 Aug 2015 11:23:56 +0200</pubDate><guid>https://rael.io/project/hubot-raelbot/</guid><description>
&lt;p&gt;&lt;strong&gt;raelbot&lt;/strong&gt; is a chat bot built on the Hubot framework.&lt;/p&gt;
&lt;h3 id=&#34;running-raelbot-locally&#34;&gt;Running raelbot Locally&lt;/h3&gt;
&lt;p&gt;You can test your hubot by running the following, however some plugins will not
behave as expected unless the &lt;a href=&#34;#configuration&#34;&gt;environment variables&lt;/a&gt; they rely
upon have been set.&lt;/p&gt;
&lt;p&gt;You can start raelbot locally by running:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;% bin/hubot
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You&amp;rsquo;ll see some start up output and a prompt:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Sat Feb 28 2015 12:38:27 GMT+0000 (GMT)] INFO Using default redis on localhost:6379
raelbot&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then you can interact with raelbot by typing &lt;code&gt;raelbot help&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;raelbot&amp;gt; raelbot help
raelbot help - Displays all of the help commands that raelbot knows about.
...
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;persistence&#34;&gt;Persistence&lt;/h2&gt;
&lt;p&gt;If you are going to use the &lt;code&gt;hubot-redis-brain&lt;/code&gt; package (strongly suggested),
you will need to add the Redis to Go addon on Heroku which requires a verified
account or you can create an account at &lt;a href=&#34;https://redistogo.com/&#34; target=&#34;_blank&#34;&gt;Redis to Go&lt;/a&gt; and manually
set the &lt;code&gt;REDISTOGO_URL&lt;/code&gt; variable.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;% heroku config:add REDISTOGO_URL=&amp;quot;...&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&amp;rsquo;t need any persistence feel free to remove the &lt;code&gt;hubot-redis-brain&lt;/code&gt;
from &lt;code&gt;external-scripts.json&lt;/code&gt; and you don&amp;rsquo;t need to worry about redis at all.&lt;/p&gt;
&lt;h2 id=&#34;adapters&#34;&gt;Adapters&lt;/h2&gt;
&lt;p&gt;Adapters are the interface to the service you want your hubot to run on, such
as Campfire or IRC. There are a number of third party adapters that the
community have contributed. Check &lt;a href=&#34;https://github.com/github/hubot/blob/master/docs/adapters.md&#34; target=&#34;_blank&#34;&gt;Hubot Adapters&lt;/a&gt; for the
available ones.&lt;/p&gt;
&lt;p&gt;If you would like to run a non-Campfire or shell adapter you will need to add
the adapter package as a dependency to the &lt;code&gt;package.json&lt;/code&gt; file in the
&lt;code&gt;dependencies&lt;/code&gt; section.&lt;/p&gt;
&lt;p&gt;Once you&amp;rsquo;ve added the dependency with &lt;code&gt;npm install --save&lt;/code&gt; to install it you
can then run hubot with the adapter.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;% bin/hubot -a &amp;lt;adapter&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Where &lt;code&gt;&amp;lt;adapter&amp;gt;&lt;/code&gt; is the name of your adapter without the &lt;code&gt;hubot-&lt;/code&gt; prefix.&lt;/p&gt;
&lt;h3 id=&#34;deploying-to-unix-or-windows&#34;&gt;Deploying to UNIX or Windows&lt;/h3&gt;
&lt;p&gt;If you would like to deploy to either a UNIX operating system or Windows.
Please check out the &lt;a href=&#34;https://github.com/github/hubot/blob/master/docs/deploying/unix.md&#34; target=&#34;_blank&#34;&gt;deploying hubot onto UNIX&lt;/a&gt; and &lt;a href=&#34;https://github.com/github/hubot/blob/master/docs/deploying/unix.md&#34; target=&#34;_blank&#34;&gt;deploying
hubot onto Windows&lt;/a&gt; wiki pages.&lt;/p&gt;</description></item><item><title>GTA Crew Exporter</title><link>https://rael.io/project/pygtavcrewexporter/</link><pubDate>Wed, 06 Nov 2013 11:23:56 +0200</pubDate><guid>https://rael.io/project/pygtavcrewexporter/</guid><description>
&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Get information about crew members on Rockstar GTAV social club.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;python | &lt;a href=&#34;http://www.python.org/download/&#34; target=&#34;_blank&#34;&gt;http://www.python.org/download/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;selenium for python | &lt;a href=&#34;https://pypi.python.org/pypi/selenium&#34; target=&#34;_blank&#34;&gt;https://pypi.python.org/pypi/selenium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;firefox | &lt;a href=&#34;http://www.mozilla.org/en-US/firefox/new/&#34; target=&#34;_blank&#34;&gt;http://www.mozilla.org/en-US/firefox/new/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;** Firefox must be in english due to Rockstar Social Club source code, in the final version it will not be necessary. **&lt;/p&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;h3 id=&#34;linux&#34;&gt;Linux&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;[327] root@eva:~# aptitude install python-pip
The following NEW packages will be installed:
python-pip python-pkg-resources{a} python-setuptools{a}
0 packages upgraded, 3 newly installed, 0 to remove and 18 not upgraded.
Need to get 648 kB of archives. After unpacking 2,938 kB will be used.
Do you want to continue? [Y/n/?] y
Get: 1 http://ftp.es.debian.org/debian/ jessie/main python-pkg-resources all 0.6.49-2 [62.5 kB]
Get: 2 http://ftp.es.debian.org/debian/ jessie/main python-setuptools all 0.6.49-2 [320 kB
Get: 3 http://ftp.es.debian.org/debian/ jessie/main python-pip all 1.4.1-2 [266 kB
Fetched 648 kB in 2s (223 kB/s)
Selecting previously unselected package python-pkg-resources.
(Reading database ... 156790 files and directories currently installed.)
Unpacking python-pkg-resources (from .../python-pkg-resources_0.6.49-2_all.deb) ...
Selecting previously unselected package python-setuptools.
Unpacking python-setuptools (from .../python-setuptools_0.6.49-2_all.deb) ...
Selecting previously unselected package python-pip.
Unpacking python-pip (from .../python-pip_1.4.1-2_all.deb) ...
Processing triggers for man-db ...
Setting up python-pkg-resources (0.6.49-2) ...
Setting up python-setuptools (0.6.49-2) ...
Setting up python-pip (1.4.1-2) ...
[328] root@eva:~# easy_install selenium
Searching for selenium
Reading http://pypi.python.org/simple/selenium/
Best match: selenium 2.37.2
Downloading https://pypi.python.org/packages/source/s/selenium/selenium-2.37.2.tar.gz#md5=f3fffaae0bc789676c4e2ab285f7b04f
Processing selenium-2.37.2.tar.gz
Writing /tmp/easy_install-shFcgY/selenium-2.37.2/setup.cfg
Running selenium-2.37.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-shFcgY/selenium-2.37.2/egg-dist-tmp-_CdLcZ
Adding selenium 2.37.2 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/selenium-2.37.2-py2.7.egg
Processing dependencies for selenium
Finished processing dependencies for selenium
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;mac&#34;&gt;Mac&lt;/h3&gt;
&lt;p&gt;Download and install python from &lt;a href=&#34;http://www.python.org/download/&#34; target=&#34;_blank&#34;&gt;python.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then install selenium using pip:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[502] rael@mbw:~$ sudo pip install selenium
Downloading/unpacking selenium
Downloading selenium-2.37.2.tar.gz (2.6MB): 2.6MB downloaded
Running setup.py egg_info for package selenium
Installing collected packages: selenium
Running setup.py install for selenium
Successfully installed selenium
Cleaning up...
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;windows&#34;&gt;Windows&lt;/h3&gt;
&lt;p&gt;Not tested yet, but I guess similar as in Mac.&lt;/p&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;h3 id=&#34;command-interface&#34;&gt;Command interface&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;./gtav_crew_exporter.py --help
gtav_crew_exporter.py -c &amp;lt;crew_name&amp;gt; [-u &amp;lt;username&amp;gt; -p &amp;lt;password&amp;gt;] [-o &amp;lt;output_file&amp;gt;] [-v]
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;ndash;help&lt;/td&gt;
&lt;td&gt;View the basic usage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-c, &amp;ndash;crew&lt;/td&gt;
&lt;td&gt;The name of the crew to export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-u, &amp;ndash;username=&lt;/td&gt;
&lt;td&gt;The username of your Rockstar social club&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-p, &amp;ndash;password=&lt;/td&gt;
&lt;td&gt;The password of your Rockstar social club&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-v&lt;/td&gt;
&lt;td&gt;Verbose mode, for debug.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;
&lt;h4 id=&#34;only-members-and-ranks&#34;&gt;Only members and ranks&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;gtav_crew_exporter.py -c elotrolado&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ ./gtav_crew_exporter.py -c elotrolado
Crew: elotrolado
Crew Size: 300 members
!! Without login and password, only username and rank are available:
Crew Members :
leader, nihael, http://socialclub.rockstargames.com/member/nihael
commissioner, FJTR23, http://socialclub.rockstargames.com/member/fjtr23
lieutenant, Racso25, http://socialclub.rockstargames.com/member/racso25
representative, AntonLaveyX, http://socialclub.rockstargames.com/member/antonlaveyx
representative, beerna, http://socialclub.rockstargames.com/member/beerna
representative, lierhoff, http://socialclub.rockstargames.com/member/lierhoff
representative, raelga, http://socialclub.rockstargames.com/member/raelga
representative, rubi7410, http://socialclub.rockstargames.com/member/rubi7410
representative, Sd-Snatcher, http://socialclub.rockstargames.com/member/sd-snatcher
muscle, _XiloX_, http://socialclub.rockstargames.com/member/_xilox_
muscle, 4LUFLiNT, http://socialclub.rockstargames.com/member/4luflint
muscle, A_Rebato, http://socialclub.rockstargames.com/member/a_rebato
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;with-member-information-need-login-and-password&#34;&gt;With member information (need login and password)&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;gtav_crew_exporter.py -c the_pollasos -u raelga -p ***&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ ./gtav_crew_exporter.py -c the_pollasos -u raelga -p ***
Crew: the_pollasos
Crew Size: 9 members
adrianrgvez, Spain, , PS3, the_pollasos, leader, 108, 5D 4H 17M, All ok.
corderius10, Spain, , PS3, the_pollasos, commissioner, 79, 78H 42M 24S, All ok.
oscartc14, Spain, , PS3, the_pollasos, lieutenant, 11, 8H 34M 36S, All ok.
alfi_de_pumarin9, Spain, , PS3, the_pollasos, representative, 24, 17H 23M 9S, All ok.
capableuncle3020, , , , , representative, , , Private profile.
rodri799, Spain, , PS3, the_pollasos, representative, 12, 14H 47M 50S, All ok.
yex_gr, Spain, yex_, PS3, the_pollasos, representative, 21, 24H 50M 26S, All ok.
OrignalBEAST, United Kingdom, ORIGNALBEASSTT, PS3, lossantosdiamondz, muscle, 24, 48H 40M 23S, All ok.
raelga, Spain, raelga, PS3, elotrolado, muscle, 65, 6D 13H 53M, All ok.
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;verbose-mode&#34;&gt;Verbose mode&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;gtav_crew_exporter.py -c the_pollasos -u raelga -p *** -v&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ ./gtav_crew_exporter.py -v -c the_pollasos -u raelga -p ***
Crew: the_pollasos
DBG : web - starting browser
DBG : web - page fully loaded!
DBG : web - set page in english.
DBG : web - all users visible.
Crew Size: 9 members
DBG : web - page fully loaded!
DBG : web - page fully loaded!
DBG : [adrianrgvez]
DBG : web - page fully loaded!
DBG : [adrianrgvez] main crew: the_pollasos
DBG : [adrianrgvez] PSN ID:
DBG : [adrianrgvez] country: Spain
DBG : web - page fully loaded!
DBG : [adrianrgvez] rank: leader
DBG : [adrianrgvez] playtime: 5D 4H 20M
DBG : [corderius10]
DBG : web - page fully loaded!
DBG : [corderius10] main crew: the_pollasos
DBG : [corderius10] PSN ID:
DBG : [corderius10] country: Spain
DBG : web - page fully loaded!
DBG : [corderius10] rank: commissioner
DBG : [corderius10] playtime: 78H 42M 24S
DBG : [oscartc14]
DBG : web - page fully loaded!
DBG : [oscartc14] main crew: the_pollasos
DBG : [oscartc14] PSN ID:
DBG : [oscartc14] country: Spain
DBG : web - page fully loaded!
DBG : [oscartc14] rank: lieutenant
DBG : [oscartc14] playtime: 8H 34M 36S
DBG : [alfi_de_pumarin9]
DBG : web - page fully loaded!
DBG : [alfi_de_pumarin9] main crew: the_pollasos
DBG : [alfi_de_pumarin9] PSN ID:
DBG : [alfi_de_pumarin9] country: Spain
DBG : web - page fully loaded!
DBG : [alfi_de_pumarin9] rank: representative
DBG : [alfi_de_pumarin9] playtime: 17H 23M 9S
DBG : [capableuncle3020]
DBG : web - page fully loaded!
DBG : [capableuncle3020] Profile is private!
DBG : [rodri799]
DBG : web - page fully loaded!
DBG : [rodri799] main crew: the_pollasos
DBG : [rodri799] PSN ID:
DBG : [rodri799] country: Spain
DBG : web - page fully loaded!
DBG : [rodri799] rank: representative
DBG : [rodri799] playtime: 14H 47M 50S
DBG : [yex_gr]
DBG : web - page fully loaded!
DBG : [yex_gr] main crew: the_pollasos
DBG : [yex_gr] PSN ID: ***
DBG : [yex_gr] country: Spain
DBG : web - page fully loaded!
DBG : [yex_gr] rank: representative
DBG : [yex_gr] playtime: 24H 50M 26S
DBG : [OrignalBEAST]
DBG : web - page fully loaded!
DBG : [OrignalBEAST] main crew: lossantosdiamondz
DBG : [OrignalBEAST] PSN ID: ***
DBG : [OrignalBEAST] country: United Kingdom
DBG : web - page fully loaded!
DBG : [OrignalBEAST] rank: muscle
DBG : [OrignalBEAST] playtime: 48H 40M 23S
DBG : [raelga]
DBG : web - page fully loaded!
DBG : [raelga] main crew: elotrolado
DBG : [raelga] PSN ID: raelga
DBG : [raelga] country: Spain
DBG : web - page fully loaded!
DBG : [raelga] rank: muscle
DBG : [raelga] playtime: 6D 13H 53M
adrianrgvez, Spain, , PS3, the_pollasos, leader, 108, 5D 4H 20M, All ok.
corderius10, Spain, , PS3, the_pollasos, commissioner, 79, 78H 42M 24S, All ok.
oscartc14, Spain, , PS3, the_pollasos, lieutenant, 11, 8H 34M 36S, All ok.
alfi_de_pumarin9, Spain, , PS3, the_pollasos, representative, 24, 17H 23M 9S, All ok.
capableuncle3020, , , , , representative, , , Private profile.
rodri799, Spain, , PS3, the_pollasos, representative, 12, 14H 47M 50S, All ok.
yex_gr, Spain, ****, PS3, the_pollasos, representative, 21, 24H 50M 26S, All ok.
OrignalBEAST, United Kingdom, ****, PS3, lossantosdiamondz, muscle, 24, 48H 40M 23S, All ok.
raelga, Spain, raelga, PS3, elotrolado, muscle, 65, 6D 13H 53M, All ok.
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>