Running & Using A Finger Daemon

The finger application was written in the 1970s to allow users on a network to retrieve information about other users. Back before Twitter and other micro-blogging platforms, someone could use the finger command to retrieve public contact information, project notes, GPG keys, status reporting, etc. from a user on a local or remote machine.

Finger has mostly faded into obscurity due to many organizations viewing the availability of public contact information as a potential security hole. With great ease, attackers could learn a target’s full name, phone number, department, title, etc. Still, many embraced the reach that finger could provide. Notably, John Carmack of id Software maintained detailed notes outlining his work in game development.

These days, finger is usually found only on legacy systems or for novelty purposes due to much of its functionality being replaced with the more-usable HTTP.
 
Installing finger & fingerd

This guide assumes we are running a Debian-based operating system with a non-root, sudo user. To allow finger requests from other machines, make sure the server has port 79 open and available.

The first thing we will need to do is install the finger client, finger daemon, and inet daemon:

The inet daemon is necessary to provide network access to the finger daemon. inetd will listen for requests from clients on port 79 (designated for finger) and spawn a process to run the finger daemon as needed. The finger daemon itself cannot listen for these connections and must instead rely on inetd to act as the translator between the sockets and standard input/output.

To ensure that we have IPv6 compatibility (as well as maintain IPv4 compatibility), we will edit the inetd.conf configuration file:

sudo nano /etc/inetd.conf

Find the section that is labeled INFO, and comment out the line under it defining the finger service:

#finger    stream    tcp    nowait        nobody    /usr/sbin/tcpd    /usr/sbin/in.fingerd

Now below it we will add two lines that define the service for IPv4 and IPv6 explicitly:

finger    stream    tcp4    nowait        nobody    /usr/sbin/tcpd    /usr/sbin/in.fingerd
finger    stream    tcp6    nowait        nobody    /usr/sbin/tcpd    /usr/sbin/in.fingerd

Then we will restart inetd to run the changes:

sudo /etc/init.d/inetutils-inetd restart

Now we can use the finger command against our machine:

finger @locahost

 
User Configuration

Each user will have some user information displayed such as real name, login, home directory, shell, home phone, office phone, and office room. Many of these fields are probably not set for the current user account, but many of these can easily be updated with new information.

The chfn utility is built specifically to change information that is retrieved by the finger commands. We can run it interactively by invoking it:

chfn

If we run through this once, we may not be able to edit our full name or wipe out the contents of certain fields. Thankfully, chfn takes several flags to modify these fields individually (and with empty strings accepted!):

$ chfn -f "full name"
$ chfn -o "office room number"
$ chfn -p "office phone number"
$ chfn -h "home phone number"

Now that our information is set, we can start creating files that will be served by finger.

The first file will be the .plan file. This is typically used to store updates on projects, but can be used for pretty much anything such as schedules, favorite quotes, or additional contact information.

nano ~/.plan

Next, we can create a .project file. This file is traditionally used to describe a current project, but can house any content provided it displays on a single line.

nano ~/.project

Next, if we have a GPG key, it can also be included via the .gnupg file.

gpg --armor --output ~/.gnupg --export "my name"

Depending on our machine’s configuration, we can also set up mail forwarding which will be shown when our user account is queried via a .forward file.

echo my@other.email.com > ~/.forward

Now that all the files are created, we need to change the permissions on them to allow them to properly be read by finger. This command will allow others to read and execute our new files:

chmod o+rx ~/.plan ~/.project ~/.gnupg ~/.forward

Afterwards, anyone with finger should be able to query the account provided the host is reachable and the port is exposed:

$ finger famicoman@peer0
Login: famicoman                        Name: mike dank
Directory: /home/famicoman              Shell: /bin/bash
Office: #phillymesh, famicoman@gmail    Home Phone: @famicoman
On since Wed Mar  1 18:28 (UTC) on pts/0 from ijk.xyz
   5 seconds idle
No mail.
PGP key:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQINBFhQteQBEADOQdY/JyNsRBcqNlHJ3L7XeMWWqG+vlGYjF5sOsKkWDrgRrAhE
gJthGdPSYLIn5/kRst5PkDGjZHFq1k4VAaUlMslCbLgj0xMzUWmhGRKtFjrnQzFi
UVaW/GcW682b5wKkEbSpwRrLHJ19cwYiQHRA6dahiCkWkdh7MluHKTwU1kaUrs3E
3satrSAlOJHH2bg5mDuQPTov/q6hot2pfq8jseQuwVflssqOt4tx3o0tcwbKJwQs
8qU3cVkfg+gzzogM5iMmKAjhFt9Ta7E2kp+iR8gOkH7CK2tu+WIpdpSYuIOe2nEa
AdYSGJRmIZxqwGPwZu893OiYTiLF2dGEWj4cSmZFJ9BYxw9b7dMePDs3l9T1DyJN
FF6JyqtiTpSOfw4+9oNL/+8kmRFMtQBGDH5Dqn4Bg+EYUUGWh3BQb1UGRGNRbls1
SYw4unPsMAaGd0tqafyEOE7kHcQwGMWyI4eFi0bkBRTCvjyqTqTImdr4+xRKn4rW
vS+O+gSSWnrKW67TF0vFuPKV4w4sdPhldcYZjiPNI1m6nmnih4756LW+W5fCKMyN
RN4yPmaF6awEM3fPf3BWhxDmsBvYLqLlE9b6DQ6DmIsC6x5S/jBFr/W0cgZKuMBR
wIHGIpCTgkVsvjTxTeDnZQzEuaZFOpHrYBYG0+JccE5ZZ2/aEupB1tLWzwARAQAB
tCtNaWtlIERhbmsgKEZhbWljb21hbikgPGZhbWljb21hbkBnbWFpbC5jb20+iQI+
BBMBAgAoBQJYULXkAhsDBQkJZgGABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAK
CRAWGa5NfPKo9xBPEADGK7ol4nU1cDpYc6XPYb4w4s8G/9Ht3UGZvy4ClB7TvntR
HuixWISQyElK4pDntrpXfLmDgqNQqUtjev6w0uEEc7MQW0WBYPlJ9rmVuDJtPjOP
hr9wUnwrd6KypHGw1Y6qukf/w8gCDZyZ8BVOm3r6XT6VlpuVVBP16ax6Mh7sTf4i
/D8D1JH89zApfplqiiA+OAvunbm19jrczby5ILhevbwfpP+ob7FqevCQi/ppGncg
s2LZceIYPh09OzakBiZkIwzMsuWHYxrenUmg8kuVaVyaGXdCc+KZr7c4oGioLxOL
8p8PunjL+i/uGtvZ3tQEvHjB9r1Ghu1t5MUQC4xTvgLnvLOQA0gmknwRQ6nSWrQf
yDJPnaJcBKlfnCR7eKtotsTobUCWDMC9sEvLjLYMgxtEbu46/J57oDQ1LniejI9X
rTUN8cnRLpOQUy0eTBTtUWYqdqO9fAjvMIsnWR4IcMlTJazghygQ+zENvGlEfey2
NL4nC2Yus3EAeCEJC52vccSsf3b7HT/4GemNOVjh72kZ1FM6HL+UNaU7JLppNQk6
mFKC3/wIKxKBjm/vR21Efl+f2iwUAiLjrugaY6g4BXPX3p6iCHftEW7gA6s4UC0A
1HYScq9Duxv+AQpe/mfVA2SBrD3OLTknW2Z5EZSTHqyzRQtHviXTRkdtQscF7rkC
DQRYULXkARAAugwI5dpLpIYI4KZcHsEwyYqUL35ByGCuqklYGOSMkkX0/WFH2ugv
Vs8fqgrn/koXjKBPpxdElfTAGbD2MSTvAUzwMgvMaLZUxY2Qh1RipkNXvSAO+W6W
nJKyBvasboK8l61yta/RrPvUr+equxtBawD3ja9DPzfTYuVCewR6ztcdvqAho5D1
Ds5HxO6aLPsMW8Fj8kf+Ae5eypuNBAN0ivpkDfQyaungh2EjrVpJzWJ8ZqYah/cK
1R55rPhq/JtjcO8g2nnsi+L5EuMma9+50lVPHlHjO9Y0xaQMq2/rLJcDu8UbymX7
LSoxzixiLYtig3GAB+1XkIqMwaEkFF1zTlAZ7drAfhH1AJ0L7SQBur5J1EM3iRYO
XmelyxJPwKgL4K6U4NnnrVpf71GyBktXyuEiOWDFjINs2OzwL4z/l1oWuJuFW/vO
C/yM5Ed7yzLXm0exAnW8Y0u1hwbhRy31zIYbLeB+PuiAqrnvSr1xhAWalBM3dqF+
VIsuKlcoFOmX74/OCEFQ/cqrrkhQ/PrkZqQZCyjyUhkuIqasMZGhLakAIO226E1r
IsUX0jMliJ/A89ZyDmoZyyvRjyydCkOS5HXahFLCufPC8FgcAL6VcpVF2sHBmWcj
vOlfr7OXHzKvKVNy8qymzyfRCPHoYQvxW9UAhru/iIqKOTIDo3OwJ9EAEQEAAYkC
JQQYAQIADwUCWFC15AIbDAUJCWYBgAAKCRAWGa5NfPKo91+XD/0a+gcsXpKo2gy+
oQC/osyJhesx2CGzZqmSB3fpyq9D+jnsCzt/Bh/EtR+2sUWxokIVc5dLzyr0icNl
c0iJBO6It662Q9FnNemiGgv2PLYbjjDC/CP82QWoWrSzPpDKu0DgrF6+MPQgRleT
Z8g0+nLHYMgCTAPfwaaYHLvLLaOt0Ju7L2kt9TSKn2aU2NJReVC5mm3Jxg6Bz3Ae
iQ6iigKI7R/huVDVzBuJQNiToRQswbb/PidYdwyiI3GJC6m+q8HEWAl+cGahqUVg
IIDlmj6SeIsP0r+SGygX0PRWyW/NmQPWamG5e4TDL0pZpu1CzGqfN/A2KLXVO6ss
X2l2HWadBQgd0goFNX7PK210I5B8SfiJM5+cLgChcT9g3mKil8XUkKTSE+c0Q9e5
1AkUrUS69KZeqqtJOB350YP9ZGY7TbOXjXp0Y0/fo3/X+0sZzmP8jIyozLAecM0e
fPrIeA2mego6nWaSRp5FH8KlvHpUvFcKNV+SVSbrbzmSVSpgKmQRp2kd+tyDOPrt
2tXIoWMYdVtlluSYqR2lPv7WFyxCPX8DmxK6fYeVoqBf+7g4GZPdcSviDBlJEJfc
HAZZKsSZzgMugwqLidQ+W53eIDyIOVw0tvcHDJ1S5mpWqvROf7gfNXXFvLjECACN
wnqdjeFGPLlP5Q6tVPvp8j7prVlvZQ==
=xm3N
-----END PGP PUBLIC KEY BLOCK-----
Project:
Philly Mesh - http://mesh.philly2600.net - #phillymesh:tomesh.net
Plan:
%=============================================%
==2017-01-26===================================
%=============================================%
+ Installed fingerd

* Configuring SILC network
* Documentation for fingerd and silcd

By default, finger can display login and contact information for all accounts on a machine. Luckily, accounts can be individually configured so that finger will ignore their existence if there is a .nofinger file in their home directories:

sudo touch /home/someotheraccount/.nofinger && chmod o+rx /home/someotheraccount/.nofinger

 
Conclusion

You should now have finger and fingerd installed and configured on your server for each user to make use of. Keep in mind that the information you enter here will be public (provided the server is) and people around the world may be able to gleam you contact information or even last login time via the finger command.
 
Sources

 

The Best of 2016

See the 2015 post here!

Here is my second installment of the best things I’ve found, learned, read, etc. These things are listed in no particular order, and may not necessarily be new.

This annual “Best Of” series is inspired by @fogus and his blog, Send More Paramedics.

Favorite Blog Posts Read

Articles I’ve Written for Other Publications

I’ve continued to write for a few different outlets, and still find it a lot of fun. Here is the total list for 2016.

Favorite Technical Books Read

I haven’t read as much this year as previously

  • The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary – Really cool book about early community software development practices (at least that’s what I got out of it). Also covers some interesting history on the start of time-sharing systems and move to open-source platforms.
  • Computer Lib – An absolute classic, the original how-to book for a new computer user, written by Ted Nelson. I managed to track down a copy for a *reasonable* price and read the Computer Lib portion. Still need to get through Dream Machines.

Favorite Non-Technical Books Read

Number of Books Read

5.5

Favorite Music Discovered

Favorite Television Shows

Black Mirror (2011), Game of Thrones (2011) , Westworld (2016)

Programming Languages Used for Work/Personal

Java, JavaScript, Python, Perl, Objective-C.

Programming Languages I Want To Use Next Year

  • Common Lisp – A “generalized” Lisp dialect.
  • Clojure – A Lisp dialect that runs on the Java Virtual Machine
  • Go – Really interested to see how this scales with concurrent network programming.
  • Crystal – Speedy like go, pretty syntax.

Still Need to Read

Dream Machines, Literary Machines, Design Patterns, 10 PRINT CHR$(205.5+RND(1)); : GOTO 10

Life Events of 2016

  • Got married.
  • Became a homeowner.

Life Changing Technologies Discovered

  • Amazon Echo – Not revolutionary, but has a lot of potential to change the way people interact with computers more so than Siri or Google Now. The fact that I can keep this appliance around and work with it hands free gives me a taste of how we may interact with the majority of our devices within the next decade.
  • IPFS – A distributed peer-to-peer hypermedia protocol. May one day replace torrents, but for now it is fun to play with.
  • Matrix – A distributed communication platform, works really well as an IRC bridge or replacement. Really interested to see where it will go. Anyone can set up a federated homeserver and join the network.

Favorite Subreddits

/r/cyberpunk, /r/sysadmin, /r/darknetplan

Completed in 2016

Plans for 2017

  • Write for stuff I’ve written for already (NODE, Lunchmeat, Exolymph, 2600)
  • Write for new stuff (Neon Dystopia, Active Wirehead, ???, [your project here])
  • Set up a public OpenNIC tier 2 server.
  • Participate in more public server projects (ntp pool, dn42, etc.)
  • Continue work for Philly Mesh.
  • Do some FPGA projects to get more in-depth with hardware.
  • Organization, organization, organization!
  • Documentation.
  • Reboot Raunchy Taco IRC.

See you in 2017!

 

Building DIY Community Mesh Networks (2600 Article)

Now that the article has been printed in 2600 magazine, Volume 33, Issue 3 (2016-10-10), I’m able to republish it on the web. The article below is my submission to 2600 with some slight formatting changes for hyperlinks.

Building DIY Community Mesh Networks
By Mike Dank
Famicoman@gmail.com

Today, we are faced with issues regarding our access to the Internet, as well as our freedoms on it. As governmental bodies fight to gain more control and influence over the flow of our information, some choose to look for alternatives to the traditional Internet and build their own networks as they see fit. These community networks can pop up in dense urban areas, remote locations with limited Internet access, and everywhere in between.

Whether you are politically fueled by issues of net neutrality, privacy, and censorship, fed up with an oligarchy of Internet service providers, or just like tinkering with hardware, a wireless mesh network (or “meshnet”) can be an invaluable project to work on. Numerous groups and organizations have popped up all over the world, creating robust mesh networks and refining the technologies that make them possible. While the overall task of building a wireless mesh network for your community may seem daunting, it is easy to get started and scale up as needed.

What Are Mesh Networks?

Think about your existing home network. Most people have a centralized router with several devices hooked up to it. Each device communicates directly with the central router and relies on it to relay traffic to and from other devices. This is called a hub/spoke topology, and you’ll notice that it has a single point of failure. With a mesh topology, many different routers (referred to as nodes) relay traffic to one another on the path to the target machine. Nodes in this network can be set up ad-hoc; if one node goes down, traffic can easily be rerouted to another node. If new nodes come online, they can be seamlessly integrated into the network. In the wireless space, distant users can be connected together with the help of directional antennas and share network access. As more nodes join a network, service only improves as various gaps are filled in and connections are made more redundant. Ultimately, a network is created that is both decentralized and distributed. There is no single point of failure, making it difficult to shut down.

When creating mesh networks, we are mostly concerned with how devices are routing to and linking with one another. This means that most services you are used to running like HTTP or IRC daemons should be able to operate without a hitch. Additionally, you are presented with the choice of whether or not to create a darknet (completely separated from the Internet) or host exit nodes to allow your traffic out of the mesh.

Existing Community Mesh Networking Projects

One of the most well-known grassroots community mesh networks is Freifunk, based out of Germany, encompassing over 150 local communities with over 25,000 access points. Guifi.net based in Spain, boasts over 27,000 nodes spanning over 36,000 km. In North America we see projects like Hyperboria which connect smaller mesh networking communities together such as Seattle Meshnet, NYC Mesh, and Toronto Mesh. We also see standalone projects like PittMesh in Pittsburgh, WasabiNet in St. Louis, and People’s Open Network in Oakland, California.

While each of these mesh networks may run different software and have a different base of users, they all serve an important purpose within their communities. Additionally, many of these networks consistently give back to the greater mesh networking community and choose to share information about their hardware configurations, software stacks, and infrastructure. This only benefits those who want to start their own networks or improve existing ones.

Picking Your Hardware & OS

When I was first starting out with Philly Mesh, I was faced with the issue of acquiring hardware on a shoestring budget. Many will tell you that the best hardware is low-power computers with dedicated wireless cards. This however can incur a cost of several hundred dollars per node. Alternatively, many groups make use of SOHO routers purchased off-the-shelf, flashed with custom firmware. The most popular firmware used here is OpenWRT, an open source alternative that supports a large majority of consumer routers. If you have a relatively modern router in your house, there is a good chance it is already supported (if you are buying specifically for meshing, consider consulting OpenWRT’s wiki for compatibility. Based on Linux, OpenWRT really shines with its packaging system, allowing you to easily install and configure packages of networking software across several routers regardless of most hardware differences between nodes. With only a few commands, you can have mesh packages installed and ready for production.

Other groups are turning towards credit-card-sized computers like the BeagleBone Black and Raspberry Pi, using multiple USB WiFi dongles to perform over-the-air communication. Here, we have many more options for an operating system as many prefer to use a flavor of Linux or BSD, though most of these platforms also have OpenWRT support.

There are no specific wrong answers here when choosing your hardware. Some platforms may be better suited to different scenarios. For the sake of getting started, spec’ing out some inexpensive routers (aim for something with at least two radios, 8MB of flash) or repurposing some Raspberry Pis is perfectly adequate and will help you learn the fundamental concepts of mesh networking as well develop a working prototype that can be upgraded or expanded as needed (hooray for portable configurations). Make sure you consider options like indoor vs outdoor use, 2.4 GHz vs. 5 GHz band, etc.

Meshing Software

You have OpenWRT or another operating system installed, but how can you mesh your router with others wirelessly? Now, you have to pick out some software that will allow you to facilitate a mesh network. The first packages that you need to look at are for what is called the data link layer of the OSI model of computer networking (or OSI layer 2). Software here establishes the protocol that controls how your packets get transferred from node A to node B. Common software in this space is batman-adv (not to be confused with the layer 3 B.A.T.M.A.N. daemon), and open80211s, which are available for most operating systems. Each of these pieces of software have their own strengths and weaknesses; it might be best to install each package on a pair of routers and see which one works best for you. There is currently a lot of praise for batman-adv as it has been integrated into the mainline Linux tree and was developed by Freifunk to use within their own mesh network.

Revisiting the OSI model again, you will also need some software to work at the network layer (OSI layer 3). This will control your IP routing, allowing for each node to compute where to send traffic next on its forwarding path to the final destination on the network. There are many software packages here such as OLSR (Optimized Link State Routing), B.A.T.M.A.N (Better Approach To Mobile Adhoc Networking), Babel, BMX6, and CJDNS (Caleb James Delisle’s Networking Suite). Each of these addresses the task in its own way, making use of a proactive, reactive, or hybrid approach to determine routing. B.A.T.M.A.N. and OLSR are popular here, both developed by Freifunk. Though B.A.T.M.A.N. was designed as a replacement for OLSR, each is actively used and OLSR is highly utilized in the Commotion mesh networking firmware (a router firmware based off of OpenWRT).

For my needs, I settled on CJDNS which boasts IPv6 addressing, secure communications, and some flexibility in auto-peering with local nodes. Additionally, CJDNS is agnostic to how its host connects to peers. It will work whether you want to connect to another access point over batman-adv, or even tunnel over the existing Internet (similar to Tor or a VPN)! This is useful for mesh networks starting out that may have nodes too distant to connect wirelessly until more nodes are set up in-between. This gives you a chance to lay infrastructure sooner rather than later, and simply swap-out for wireless linking when possible. You also get the interesting ability to link multiple meshnets together that may not be geographically close.

Putting It Together

At this point, you should have at least one node (though you will probably want two for testing) running the software stack that you have settled on. With wireless communications, you can generally say that the higher you place the antenna, the better. Many community mesh groups try to establish nodes on top of buildings with roof access, making use of both directional antennas (to connect to distant nodes within the line of sight) as well as omnidirectional antennas to connect to nearby nodes and/or peers. By arranging several distant nodes to connect to one another via line of sight, you can establish a networking backbone for your meshnet that other nodes in the city can easily connect to and branch off of.

Gathering Interest

Mesh networks can only grow so much when you are working by yourself. At some point, you are going to need help finding homes for more nodes and expanding the network. You can easily start with friends and family – see if they are willing to host a node (they probably wouldn’t even notice it after a while). Otherwise, you will want to meet with like-minded people who can help configure hardware and software, or plan out the infrastructure. You can start small online by setting up a website with a mission statement and making a post or two on Reddit (/r/darknetplan in particular) or Twitter. Do you have hackerspaces in your area? Linux or amateur radio groups? A 2600 meeting you frequent? All of these are great resources to meet people face-to-face and grow your network one node at a time.

Conclusion

Starting a mesh network is easier than many think, and is an incredible way to learn about networking, Linux, micro platforms, embedded systems, and wireless communication. With only a few off-the-shelf devices, one can get their own working network set up and scale it to accommodate more users. Community-run mesh networks not only aid in helping those fed up with or persecuted by traditional network providers, but also those who want to construct, experiment, and tinker. With mesh networks, we can build our own future of communication and free the network for everyone.

 

Site/Project Updates

You may have noticed that some of my sites are now sporting forced https and ipv6 support. Here’s a little rundown of upgrades and updates.

  • famicoman.com – Forced https and ipv6, software updated. Fixed some broken static sites I’ve had available. ChannelEM, Techtat, and other old projects are available through their own subdomains and indexed on this page, https://static.famicoman.com/
  • noobelodeon.org, elcycle.org – Forced https and ipv6. All subdomains have the same treatment.
  • anarchivism.org – Forced https and ipv6, software updated. Now has a static subdomain for sites I’ve mirrored, https://static.anarchivism.org/
  • raunchytaco.com – Forced https and ipv6. Temporarily disabled the quote database as it is not compatible with the latest PHP. I am looking into Chirpy as an alternative.
  • obsoleet.com – After being down for a while, I’ve restored the site. Forced https and ipv6, software updated.

 

I’m currently splitting my time between writing, doing a little for mesh.philly2600.net, server migrations, and rebuilding Raunchy Taco. Let me know if anything is broken!

 

 

I’m in 2600 Magazine

As of the Autumn 2016 issue, I now have an article appearing in 2600: The Hacker Quarterly! My article is titled “Building DIY Community Mesh Networks,” and covers topics in building and organizing local mesh networks.

33-3_cover_large

The issue can be purchased in Barnes & Noble stores, as well as physically or digitally through the 2600 site and Amazon.com. I will shortly be making the article available online as well.

 

The Evolution of Digital Nomadics

This article was originally written for and published at N-O-D-E on October 18th, 2016. It has been posted here for safe keeping.

THE EVOLUTION OF DIGITAL NOMADICS

In the Autumn of 1983, Steven K. Roberts pedaled off on a recumbent bicycle and pioneered a new revolution in the way people worked.

exhoofn

Stuck in the drudgery of suburban Ohio, Steve was bored. He had many possessions, a house, and work as a technology consultant and freelance writer. Steve desired adventure and felt like taking a risk, so he sold off all of his possessions, put his house on the market, cut ties with friends and family, and gave up his steady employment. He sacrificed the security he had built up over the years and invested in a custom bicycle, the “Winnebiko” which he would ride 10,000 miles across the U.S. for the next 18 months. “My world was no longer limited by the constraints of time and distance—or even responsibility. The thought was both delicious and unsettling, and I suddenly realized, alone in this unfamiliar city, that I was as close to ‘home’ as I would be for a long time,” Steve wrote in a book about his travels, Computing Across America, published in 1988.

The Winnebiko was not your ordinary bicycle. Apart from the custom frame and hand-picked parts, Steve outfitted his rig with solar panels, lights, radios, a security system, and most importantly a TRS-80 portable computer. Traveling the country from couch to hostel and everywhere in-between, Steve continued to work as a freelance writer, documenting his adventures. Jacking into borrowed phone lines for Internet access in the late night or writing from the comfort of an abandoned chair on the side of a snowy mountain, Steve was working in a way that was unconventional for the time.

Steve coined a term for himself, the “technomad,” combining the concepts of high-technology with traditional nomadics (the latter possibly being influenced in-part by nomadics as they were presented in Stewart Brand’s Whole Earth Catalog, a counter-culture publication promoting self-sufficiency and the do-it-yourself attitude in 1968). Later, Steve would construct more complex and technologically-enhanced bicycles for future long-term journeys.

The concept of “telecommuting” was not new in 1983, as the term had been created a decade earlier by Jack Niles, former NASA engineer, to describe remote work done via dumb terminal. By the 1990’s, after Steve’s original adventure, telecommuting had taken the world by storm and continued to grow. By the early 2010’s, almost half of the U.S. population reported to be working remotely at least part time. Remote work was starting to go mainstream.

But then there are people like Steve. What became of this movement to leave it all behind and work from the open road? By the late 1990’s we saw the use of the phrase “Digital Nomad” in the Makimoto and Manners book of the same name to explore the concept of digital nomadics and determine its sustainability. The infrastructure to support the lifestyle was improving as well. We saw the inclusion of WiFi technology in laptop computers and the rise of payment systems such as PayPal to support a generation of online-only workers on-the-move.

As time progressed, we only saw more of the tech-savvy convert to the rambling lifestyle, with bolder individuals traveling all over the world, settling down for days, weeks, or months at a time before picking up and starting all over. Today, more companies are providing this opportunity to their employees, with some outfits never actually meeting their workers face-to-face. Employees enjoy the flexibility while employers enjoy cherry-picking applicants from a larger pool and reduced overhead costs previously spent in office space. Various communities have popped up such as /r/digitalnomad (https://www.reddit.com/r/digitalnomad) and /r/vandwellers (https://www.reddit.com/r/vandwellers) to offer support for the grizzled vagabonds and tips to the bright-eyed newcomers. Here, you may find advice for what to carry, how to travel on a shoe-string budget, and lists of companies that are nomad-friendly.

In popular culture, we see the idea of the digital nomad becoming more prevalent. For example, Ernest Cline’s 2011 novel Ready Player One features the character Aech who lives in and works out of a recreational vehicle. As the future comes into view, we can only expect more people to work remotely and live simply, embracing the freedom of change and fighting to avoid complacency. The technology is only becoming more accommodating as equipment becomes smaller, faster, and reliably connected in even the most rugged of situations. We not only see a rise in letting employees work where they want, but also when they want. Now that a network connection can exist within a jacket pocket, we are on the verge of the 24/7 worker, always on call. When your office isn’t anywhere, it’s everywhere. Some day soon, we may see digital nomads living in self-driving vehicles that methodically navigate the city limits while the occupant eats, sleeps, and works. Similar to Don DeLillo’s Cosmopolis, wherein the protagonist spends most of his day conducting business out of his moving soundproof, bulletproof limousine—a rolling fortress filled with computers and television screens—we may see this concept coming to fruition without the human behind the wheel.

As for Steve, he is still living the technomadic life, but is more drawn to the offerings of the water as opposed to the open road. “I’m now immersed in nautical projects, as well as building some substrate-independant technomadic tools,” Steve writes to me after I purchased a handful of issues of The Journal of High-Tech Nomadness, Steve’s own long out-of-print paper periodical.

Whether you do most of your work in an office or a coffee shop, you cannot deny that things are changing for the modern employee as they become more entwined with technology. “I’m riding a multi-megabyte Winnebiko with dozens of communications options, and more wonders lie just ahead,” Steve writes after upgrading his bicycle for his second journey. “[I]t is no longer very difficult to be a deeply involved, productive citizen of the world while wandering endlessly. Because once you move to Dataspace, you can put your body just about anywhere you like.”

––
BY MIKE DANK

 

[UPDATE] [WANTED] Language Technology / Electric Word Magazine

A little while ago, I was contacted by a gentleman by the handle of jonur who saw my post and decided to upload some scans of Language Technology / Electric Word magazine that he has done.

This is truly awesome, and we now have seven issues to browse through currently! Though this is not the entire collection, it is an awesome start.

The issues are:

Language Technology Issue 3 (September/October 1987)
Language Technology Issue 6 (March/April 1988)
Language Technology Issue 9 (September/October 1988)
Electric Word Issue 13 (May/June 1989)
Electric Word Issue 15 (September/October 1989)
Electric Word Issue 16 (November/December 1989)
Electric Word Issue 20 (July/August 1990)

 

The Hermicity Interview – Drones, DAO, & Deliverable Soylent

This article was originally written for and published at N-O-D-E (since removed) on May 20th, 2016. It has been posted here for safe keeping.

THE H E R M I C I T Y INTERVIEW: DRONES, DAO, & DELIVERABLE SOYLENT

READING TIME: 10-12 MINUTES

ca3df68018d9a6fe5cd76b8df334fd11c39fa9b5bf35c8eb39da1f87adafc0d0

I recently spoke with John Dummett, the creator of H E R M I C I T Y, a project aiming to send packages of Soylent by drone to hermits living in remote areas who pay via smart contract through Ethereum.

John and I started exchanging messages on Reddit after I spotted a link he posted about his project in a decentralization-themed subreddit. Speaking with John, I could immediately pick up that he was a person who valued his privacy and his relationships. He was not, however, a shy person regarding his passions. Every question I posed was answered with an enthusiastic, complete explanation, welcome to assorted follow-ups and forgiving to my novice understanding of select technologies.

We waxed rhapsodic about the project and its bright potential. Often late at night for me in a dark room lit only by monitor glow, early afternoon for him the next day, I picked his brain and explored the radical concepts that seemed to ebb and flow organically without inhibition.

An 18-year-old Australian native, John already has professional work experience with block chain technology and a dream to change the world. He believes that the future we have been waiting for is now, and he doesn’t want anyone to miss it.

[N-] Could you explain what H E R M I C I T Y is for those who may not have heard of it?

[JD] H E R M I C I T Y is going to allow people to live alone. Up until very recent technological advancements, we were social creatures by necessity as living alone was costly, unsafe and uncomfortable. We’re going to make living alone accessible.

As for some concrete details, here is part of our general road-map and practical details section that will be revealed on the upcoming revamped website. We are going to develop a parent DAO to all the Hermicites. Members of the community will be able to submit proposals for a Hermicity to this DAO. They will use a standardised template that we will develop. The proposal will require information on where the Hermicity will be, how the land will be acquired (rent or buy, etc.), proof that the current custodian of that land is willing to have a Hermicity built on it, what type of micro-dwellings will be built on said land, how much they will cost, how many residencies to said Hermicity are up for grabs, the cost of the drones and other things to be delivered (Soylent, water, etc.)

From here, the total cost of the project is divided by the amount of residencies up for grabs and then there is a time-frame given for the project to be funded. Through multi-sig addresses we are going to build an auctioning system for people to bid on the residencies inside given Hermicities.

For instance, say I go and arrange for someone with a huge, beautiful and remote farm to let me have four hermits living on it for a cost of $20,000 a year. Then I find a company that can build a simple shack-like microdwelling for $20,000 each. (I haven’t done the modelling yet but [say] Soylent, water, other items for delivery cost $20,000 and then the drone itself is $10,000. Total cost to run the Hermicity for 1 year is $70,000. The cost of the residencies is $17,500.) I’d fill out the proposal form and submit it to the parent DAO.

The parent DAO then generates an array of ether addresses for this given proposal, of which the top 4 will be successful (as long as they each hold at least $17,500) and the rest of the addresses will be refunded. The ether funds then move from those addresses to begin paying for the Hermicity to be built and the winners get their residencies.

Unless the proposal for the relevant Hermicity has a plan of what to do with the extra funds (for instance you could say that if someone bids $25,000 then they can get a “better” microdwelling) then the extra funds will simply go to the parent DAO in order to fund the continued development of the entire project. Some of these excess funds could also be used for our team to sponsor people looking to create proposals.

We hope the community is passionate enough about this that they go out and try to create Hermicities all over the world. The new site revamp will include a forum section so we can start discussing what these first proposed Hermicities may look like.

It’s important to have this proposal process rather than me and my team making them all ourselves. By getting out of the way, the free market will ensue – we are not going to stop people from making any kind of proposal they like. Perhaps a Hermicity with more expensive residencies may allow for hot cooked meals to be drone-lifted to the hermits.

The reason I used Soylent as the example on the site is that it is nutritionally complete and cost effective, and [I] imagine that the first Hermicities will probably be as cost efficient and accessible as possible. Although there will probably eventually be more elaborate and fancy Hermicities like I described above, initially I think the market for Hermicities will mostly be asking for the most cost effective yet complete package as possible so Soylent’s nutritional balance and low cost seems perfect.

Furthermore, the same can be said for other parts of the Hermicity. Initial Hermicities may be hand-made shacks with limited features, whereas eventually you will see proper microdwellings with full blown heating and cooling, solar power, fast Internet connection, etc. It will be interesting to see at what comfort point the market starts at, though. The beauty is that what we are trying to build will allow other people to figure this out for us – [I] imagine we could have many Hermicities popping up all over the world before long.

[N-] How did you get the idea for H E R M I C I T Y?

[JD] For a long time I have been interested in making the hermit lifestyle more accessible and now that it looks like the technology is finally here to do it – for the first time in human history – it just made sense to execute this idea and try to get this done.

I’ve always been interested in the idea of living alone. This keen interest is really the result of a heap of things that have happened in my life. But really H E R M I C I T Y is at the intersection of a lot of really interesting technology and social movements. There is a lot of fascinating potential [for] this project when we think about it. What will [allow] people to easily spend time alone untapped? How low can we get the price of a residency, and how many people will be interested? If we no longer need each other to survive and people are satisfied living alone and comfortably with an Internet connection, what is the future of the nation state? (This last point is in my eyes the logical final state of Ethereum – technology autonomously running everything in a fashion that no human has to work or gets left behind.) Could the first settlement on Mars be a Hermicity?

Although I am sure we will be able to implement a lot of these ideas successfully – H E R M I C I T Y as a project is already satisfying the Ethereum community just as a thought piece that symbolizes what we are doing, what we value, and [what we] envision the future of the world could look like.

Outside of web development and design – I am an artist, writer and philosopher and I think this project reflects that.

[N-] Do you yourself have interest in living in solitude as a hermit? What advantages do you see with this lifestlye?

[JD] Human beings are social creatures – by necessity. For some of us, we are not social just by necessity, we are extroverts and enjoy each other’s company and being actively engaged with the people around us. Other people [are] only social by necessity, prefering to be alone and do not [enjoy] direct contact with other people.

The necessity part comes in because until very recently we have not had the technological capability to easily, comfortably and safely live alone. New technology makes the hermit lifestyle accessible.

The question Hermicity poses is, “how many people are interested in this now, and how many more people will be interested in this in the future?”

Almost every great thinker has spent much time alone. I know [that] the time I have spent alone has made me a wiser, more intelligent person. Perhaps by making [secclusion] more accessible we can unlock a lot of human potential that is standing idle at the moment, locked away in bodies that are too distracted by the other bodies around them and are therefore unable to look in and unlock their unique ideas and energy.

[N-] Where is H E R M I C I T Y in the development cycle? How far away would you say we are from seeing a deliverable?

[JD] Admittedly it’s still very early days, but I am working hard on the revamped site which will better explain what we are trying to do, how we will do it, and why it is important.

I have had a lot of people contacting me over the last week and will be looking to put together a proper team and road-map. Eventually I would like to work on this full time. Once the parent DAO has been developed along with the other technical framework and proposal template work completed, it will be up to the community we have built up to start delivering. Obviously we will be pretty instrumental in supporting them with this.

[N-] How many people are working on the project, what are their backgrounds?

[JD] At the moment we have three people working on the project. I am a front-end web developer and designer. We have another web developer and community manager who has extensive experience running events and managing communities. Finally, we have a cloud rapper and philosopher – we believe it is important to build a really optimistic and positive culture around our DAO because otherwise success will be much harder to attain. (Anything is possible, optimism and energy is what allows you to push harder and further.)

As I said before many more people have reached out. I will be contacting these people to try to build a small and efficient dev team. Thankfully I have been contacted by people with skills across a wide range of areas, most importantly in decentralised programming. We should be able to get that parent DAO up and running soon.

[N-] How did you get your start with blockchain technologies?

[JD] Last year I worked for one year with CoinJar, which is Australia’s largest bitcoin exchange. Working on the team there, we were constantly thinking about what to do next and a huge part of that is thinking about what’s possible using the blockchain.

The bitcoin blockchain and its potential is too limited, of course it’s always going to be amazing given that it was the first and it kicked started this whole movement – but Ethereum is superior in terms of technology and [the] core developer team so it’s where the best blockchain projects are going to happen, not bitcoin.

[N-] Tell me more about the technology, what are the advantages of adopting the DAO (decentralized autonomous organisations) and smart contracts? How will you interact with the drones?

[JD] Utilising Ethereum as the backbone of this project is so important, we couldn’t do this without Ethereum. DAOs offer interdependance – a perfect middle ground where individuals voluntarily interact with each other on terms that suit them, but still [tapping that] magic of when we work together. The beauty of DAOs is that they allow people to work together without compromising on their independence. Therefore, DAOs are the future – I believe a world run on DAOs is one that offers scalable order by allowing people to indirectly work together and to automate sharing of resources so that no one is left behind.

The parent DAO that I spoke of earlier with its world first actioning code will be a groundbreaker. The drone deliveries will be triggered by ether transactions as seen here -> https://www.youtube.com/watch?v=V_3rcP2Duv0

When people submit proposals to the parent DAO it will be up to perspective residents to look through the proposal and ensure that everything is up to scratch. If the proposal is successful the proposer will then build the Hermicity. We intend that we will provide DAPP (decentralized app) code to run the drone deliveries of Soylent (and other needs as specified in the proposal) in an autonomous fashion. Live by the DAO.

[N-] I’m wondering how this model would work with self-sufficiency. Would each hermit be beholden to whomever set up the Hermicity for a location, or could the actual inhabitants pool their resources on the drones/deliveries themselves? For example, could there be a situation where after you receive a delivery, you then charge the drone up for the next person, and then be rewarded for doing so automatically?

[JD] Each Hermicity will work differently depending on the proposal that was at the root of it being built. Some will be bare bones, others will be more sophisticated. It will be up to the proposers and the wants and needs of the market of hermits that develop.

I could tell you what I think will happen, but I would prefer to encourage the community to stay as open minded as possible. I’m looking forward to the different ideas that develop and what becomes de facto standards. I’m imagining there will be a competitive marketplace of Hermicity proposals.

[N-] Alot of people bring up how young you are? Do you find your age to be advantageous to working on this project?

[JD] Being young is crucial to the success of this project and that’s why I am a big fan of things like the Thiel Fellowship because they realize how important it is for young people with big ideas and a lot of energy (but lacking the right circumstance) to be able to have a crack.

It’s advantageous to be young because you generally have a more open mind and scope of possibility than older people in that you’ve had less time to develop prejudices and had less time to compromise on your own beliefs, etc. It’s important to start working really hard on these things now while I am young and not wait. When these projects and activities work out (which they do) and I progress, it allows me to keep being myself and to not stop compromising on my own ideas and beliefs.

I hope that either the community or movement around this project will grow large enough that I can be financially supported to work on this full time or that if that doesn’t happen, I will be able to get into a program like the Thiel Fellowship.

[N-] What are some of the biggest obstacles or barriers to entry you are facing right now? Are there any legalities you are worrying about with regards to operating drones?

[JD] The biggest barrier to entry is personal. I work full time so [I] don’t have as much time as I’d like to work on this, but hopefully these circumstances will change soon. In the meantime I am just working as hard as I can.

As far as legalities, by opening up the process so that anyone can propose a drone anywhere in the world, I envision that many teams of people will be working to get Hermicities set up all over the earth. Some jurisdictions will be easier to find arrangements with than others, but as I said before, large remote farms or other large privately owned lands would be a great starting spot I imagine. It will be interesting to see what proposals people come up with.

[N-] Will you be operating your own fleet of drones, or adopting a model like Uber/Lyft where you use or share time controlling drones owned by others?

[JD] Once again it’s simply up to the proposers. I imagine that for the sake of more secure deliveries it would be better for the drones to be owned by the DAO, if they have an autonomous solar/battery charging station, human interaction would be very rare and eventually completely unnecessary. [It] will be great to watch the proposers innovate in this area in particular.

[N-] Have you considered users besides hermits such as digital nomads? Any thought of a potential use for humanitarian aid?

[JD] There are many different potential use cases for this idea and the associated technology that will be developed. It will absolutely be up to the proposers to come up with the practicalities of executing these ideas. We will offer the technology and other framework based support for people to get started and then we will get out of their way.

[N-] How has feedback been so far since you have announced H E R M I C I T Y? Has anything surprised you?

[JD] The responses have been overwhelmingly positive and some of them really funny. I’ve had well over 100 responses now over email, and many people have inboxed via the HERMICITY Reddit account.

Vitalik’s (Co-Founder of Ethereum) tweet was really great, he got it.

His second in command also emailed me saying the concept was art, so he got it too which was great.

I haven’t received negative feedback, though there have been half a dozen or so emails from people who don’t get it.

The amount of people who want to help out is really high as well.

[N-] Do you currently have any specific roles on your team that need to be filled? How can people contribute?

[JD] We have been contacted by so many people (via http://offline.computer/hermicity), we are still trying to go though all the emails so we can start responding. Once we have a solid roadmap we can start advertising positions. There aren’t any major skill shortages at this [point], but I am looking forward to expanding the team when we get to that stage.

––
BY MIKE DANK (@FAMICOMAN)

 

I Wrote An App

I’ve been putting off this post for a while. Not for any reason in particular, I just like to have things arranged in a certain way before I push them out to people.

This is analogous to the mobile app project this post refers to as a whole. In 2013, with the idea of a friend, I created a mobile application that allows a user to send a random insulting text to someone on their contacts list. It was for fun of course, and we called it BitchyTexts. It was (and still is) Android-only, and was developed over the course of a few weeks on the little time I had between classes. I distributed it to my friends, who distributed it to their friends, and the results were mostly positive. It was crude, and thrown together, but it worked and did its job well.

The next logical step of course was a Play Store release. However, I needed to clean my code up, get things under version control. and brave the submission process. I worked a little here and there, but ultimately getting the app out the door fell to the bottom of my priority list. In late 2015, two years after I decided I wanted to do a Play Store release, I picked development back up again and started knocking out little pieces here and there to reach my desired outcome.

This became one of my 2016 goals, and I was chomping at the bit to release something. There was no use sitting on it, store releases are an iterative process and I could always improve here and there after the application was live.

So, I submitted it. It was approved, and it’s out there for anyone to download and use. There are changes I want to make, and there are other things I want to work on for it (An improved website, back-end services, etc.) but those can come at any time. There is a lot of planning to do, but nothing too crazy.

BitchyTexts in action!

BitchyTexts in action!

Check it out here, https://play.google.com/store/apps/details?id=com.bt.bitchytexts

Let me know what you think!

 

I2P 101 – Inside the Invisible Internet

This article was originally written for and published at N-O-D-E on May 1st, 2016. It has been posted here for safe keeping.

I2P 101 – INSIDE THE INVISIBLE INTERNET

The Invisible Internet Project (more commonly known as I2P) is an older, traditional darknet built from the ground up with privacy and security in mind. As with all darknets, accessing an I2P site or service is not as simple as firing a request off from your web browser as you would with any site on the traditional Internet (the clearnet). I2P is only accessible if you are running software built to access it. If you try to access an I2P service without doing your homework, you won’t be able to get anywhere. Instead of creating all new physical networking infrastructure, I2P builds upon the existing Internet to take care of physical connections between machines, creating what is known as an overlay network. This is similar to the concept of a virtual private network (VPN) wherein computers can communicate with one another comfortably, as though they were on a local area network, even though they may be thousands of miles apart.

2nzxPzu

INTRODUCTION

I2P was first released in early 2003 (only a few months after the initial release of Tor), and was designed as a communication layer for existing Internet services such as HTTP, IRC, email, etc. Unlike the clearnet, I2P focuses on anonymity and peer-to-peer communications, relying on a distributed architecture model. Unlike Tor which is based around navigating the clearnet through the Tor network, I2P’s goal from the start was to create a destination network and was developed as such. Here, we see that the focus is on community and anonymity within it as opposed to anonymity when using the clearnet.

ROUTERS, INPROXIES & OUTPROXIES

When you connect to I2P, you are automatically set up to be a router. If you are a router, you exist as a node on the network and participate in directing or relaying the flow of data. As long as you are on the network, you are always playing a part in keeping the traffic flowing. Other users may choose to configure their nodes as inproxies. Think of an inproxy as a way to get to an I2P service from the clearnet. For example, if you wanted to visit an eepsite (An anonymous site hosted on I2P, designated by a .i2p TLD) but we’re not on I2P, you could visit an inproxy through the clearnet to provide you access. Other users may choose to operate outproxies. An outproxy is essentially an exit node. If you are on I2P and want to visit a clearnet site or service, your traffic is routed through an outproxy to get out of the network.

ADVANTAGES

There are numerous advantages to using I2P over another darknet such as Tor depending upon the needs of the user. With I2P, we see a strong focus on the anonymity of connections as all I2P tunnels are unidirectional. This means that separate lines of communication are opened for sending and receiving data. Further, tunnels are short-lived, decreasing the amount of information an attacker or eavesdropper could have access to. We also see differences in routing as I2P uses packet switching as opposed to circuit switching. In packet switching routing, messages are load balanced among multiple peers to get to the destination instead of a single route typical of circuit switching. In this scenario, I2P sees all peers participating in routing. I2P also implements distributed dissemination of network information. Peer information is dynamically and automatically shared across nodes instead of living on a centralized server. Additionally, we also see low overhead for running a router because every node is a router instead of a low percentage of those who choose to set one up.

GARLIC ROUTING

I2P implements garlic routing as opposed to the more well known onion routing. Both garlic routing and onion routing rely on the technique of layered encryption. On the network, traffic flows through a series of peers on the way to its final destination. Messages are encrypted multiple times by the originator using the peers’ public keys. When the message is sent out on the path and decrypted by the proper corresponding peer in the sequence, only enough information to pass the message to the next node is exposed until the message reaches its destination where the original message and routing instructions are revealed. The initial encrypted message is layered and resembles an onion that has its layers peeled back on transit.

Garlic routing extends this concept by grouping messages together. Multiple messages referred to as “bulbs” are bound together, each with its own routing instructions. This bundle is then layered just like with onion routing and sent off to peers on the way to the destination. There is no set size for how many messages are included in one bundle, providing another level of complexity in message delivery.

INSIDE THE NETWORK

Hundreds of sites and services exist for use within the I2P network, completely operated by the community. For example, Irc2P is the premier IRC network for chat. We see search engines like eepSites & Epsilon, and torrent trackers like PaTracker. Social networks like Id3nt (for microblogging) and Visibility (for publishing) are also abundant. If you can think of a service that can run on the network, it may already be operational.

FUTURE

I2P remains in active development with many releases per year and continues to be popular within its community. While I2P is not as popular as other darknets such as Tor, it remains to be a staple of alternative networks and is often praised for its innovative concepts.Though I2P does not focus on anonymous use of the clearnet, it is seeing active use for both peer-to-peer communication and file-sharing services.

CONCLUSION

While many may view I2P as just another darknet, it has many interesting features that aren’t readily available or implemented on other networks. Due to the community and regular updates, there is no reason to think that I2P will be going anywhere anytime soon and will only continue to grow with more awareness and support.

Over time, more and more people have embraced alternative networks and we are bound to see more usage on the horizon. However one of the points I2P maintainers express is that the network’s small size and limited adoption may be helpful at this point in time. I2P is not as prominent in the public’s field of view, possibly protecting it from negative publicity and potential attackers.

Whether or not I2P will keep hold of its core community or expand and change with time is unknown, but for now it proves to be a unique darknet implementation with a lot of activity.

SOURCES

https://geti2p.net/en/comparison/tor
https://www.ivpn.net/privacy-guides/an-introduction-to-tor-vs-i2p
https://geti2p.net/en/about/intro
https://geti2p.net/en/docs/how/garlic-routing

––
BY MIKE DANK (@FAMICOMAN)