Raspberry Pi 101: Part 2b – More setup

Before I get onto XBMC, here’s a little extra setup I’ve done with my rPi. Remember, I’m currently using the raspbian distro, so don’t go trying the same steps when you’re using RISC or something else.

Wifi

edimax
The edimax wifi dongle I bought needed a little massaging to get working; unfortunately I could’t set it up directly from the command line and it appears that currently the only solution for configuring wifi within raspbian is to start the GUI desktop:

[code]startx[/code]

and punch the wifi config desktop icon. This will open the wifi config gui and allow you to scan and setup your connection.

Once this is done a restart should still keep the wifi connectivity

SSH via Connectbot sans password

I like to use connectbot to ssh into many things and I’m lazy so don’t fancy typing passwords if I don’t need to.

As such, here’s how to set up your raspberry pi with authorized key ssh access:

Generate a key

Install Connectbot from the android store

Generate a new key from the “manage keys” page
connectbot generate key

Copy the public key to clipboard
connectbot copy to clipboard

SSH into your raspberryPi from your connectbot instance using the username “pi” and password “raspberry” (unless you changed it from the default)

Paste the key into a new authorized_key file (there isn’t one created by default):

[code]cd ~
mkdir .ssh
chmod 700 .ssh[/code]

Then use the menu soft key to select “paste” after typing “echo”:

[code]echo [paste clipboard contents] >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys[/code]

Now you can exit the session and should be able to log back in without needing to enter a username or password. Whoop.

VNC

Just for the hell of it (and because I’ve become interested thanks to the blog posts at the end of this article) I’ve set up VNC on the pi. To do this is as easy as

[code]sudo apt-get install tightvncserver[/code]

and then start the server using something like

[code]sudo vncserver :1 -geometry 1024×768 -depth 24[/code]

You can then connect using your VNC viewer of choice to {the rPi’s IP}:1, e.g. 192.168.0.100:1

References

A great couple of posts on SSH and tunnels using the rPi here and here

DevOps Consulting: I Think I Will

I posted a lengthy reply to a blog entitled “Devops Consulting: Why I Don’t” (essentially “devops doesn’t mean what you think it means, stop using it badly, there’s no such thing as a devops consultant”, which I disagree with since that’s what I’m trying to become!) so thought I may as well blog it as well to keep any discussion going. Your thoughts are appreciated.

To me a devops consultant is someone who is knowledgeable in many things from the entire length of the development lifecycle; like value stream mapping, impact mapping, fishbone/5 whys retrospectives, multiple development methodologies, various test automation frameworks, various build automation frameworks, various environment automation frameworks, release management tools, various reporting and monitoring frameworks, as well as the business knowledge to know how to put it all together to identify the best mix of things to suit a given company who is struggling to gain business benefit from their projects in a timely manner.

Not necessarily being an expert at hardcore technical depth in all of those areas, but knowing which tools to take out from the toolbox for which job.

I agree that the term devops is ambiguous and hugely incorrectly overused – mainly due to it sounding much like a person instead of a culture – but that doesn’t mean that the term can mean something that is a set of skills a consultant can have.

Recently I’ve started to think that it could be used in a similar fashion to “agile”; you could affix it to existing disciplines to expand their meaning:

devops engineer – someone who knows about implementing a CI process using build automation, packaging, and environment automation

devops tester – someone who knows about building testable software right from the idea initiation through development, defect tracking and reporting, test automation, and the resulting feedback loop

devops developer – bit trickier; possibly someone working on building or expanding the automation tools, as opposed to an application developer?

devops consultant – someone who can be dropped into a company, assess their processes, people, and technologies, and work out what changes would need to be made in order to achieve better throughput, where to make the changes and recommend which technologies to use (without necessarily being able to implement the changes themselves, but having the network of skilled devops-** people who can).

That’s my understanding of it anyway, Environment automation is one part of a big term – and may not even be the right answer for certain companies anyway.