I am writing this blog entry to explain to those that may not know the three models of doing things on the Internet. And also why it is important to understand them, to pay attention to them, and choose services and software that use the most correct model.
The three models are:
- P2P - Peer-to-Peer
They all have their strength and weaknesses and more importantly, they all have an impact on your rights and freedoms.
Centralized is the most common. This is your Google, Facebook, Pinterest, Twitter, Amazon, E-bay, Bank, Etc.
The centralized model has Big servers run by private interests (the site owners/Company) located in some place of their choosing which you use a browser or mobile App. to connect to. Typically all data is stored on the remote server.
This model is perfect for things like banking or online shopping. Just like in the real world you go to the place of business to shop or bank. It is also very appropriate for information type websites news,stocks,weather,sports scores,etc.
The important thing to remember about this model is that you do not control the server and therefor you do not control the data on the server. For the sites mentioned above, no biggie. For things like Facebook,Twitter,etc that live and die on user generated content (your stuff, your data) it's a huge biggie. Once your data is on their server it is usually considered "their data". The User Agreements of such site almost always stipulate that they can do what ever they want with what you upload.
The centralized model is also the easiest for the government to spy on, sensor, control, and shutdown. Because all the data on the server is owned but Company X all the government has to do is legally compel Company X to hand it over. In this way encryption like HTTPS is null and void. Governments can also just seize and shutdown servers they don't like. Also if Company X gets tired of running the server it and all your data will just go Poof and disappear from the Internet.
Considering all these things it is easy to see that the centralized model is both the least free (as in your rights and freedoms) and the most fragile. A lot of service providers out there could be whipped off the Internet by one good flood or other disaster happening to their main server.
This model is less known and understood by the average person today but it is actually the most common model used in the early days of the Internet. In this model instead on one server (or server farm/s) owned by one company there are many small servers that all talk to each other (federate) to provide a service. This model is used for E-mail, IRC, Usenet, XMPP, UUCP (yes I know that is ancient and deprecated), and newer system like pump.io and Tor. The strength of this system lies in the fact that no one owns the system.. sure they may own a server or two but no one owns the whole system. If a server goes down you just switch to another one.
This model is much harder to sensor, shutdown or control. Servers can live in different countries with different laws and governments. Typically the software to run these kinds of servers is small and easier to install and maintain. This means that anyone with a bit of work and understanding can set up an server and become part of the network of servers. If a government wanted to shutdown the service they'd have to block access to every single server, or a majority of them, to make the system unusable. Not so easy. Spying wise it is harder too. If the government compelled Google to hand over all E-mails (you can be pretty confident that they have/are) it doesn't get them any mails going from firstname.lastname@example.org to email@example.com.
Users typically use some sort of "client" software to connect to their server of choice and interact with the system as a whole. They don't have to worry about what server their friend is on because all servers in the system talk to one another. So firstname.lastname@example.org can email email@example.com no problem, no worries. As you can see from that example the part that comes after the @ actually refers to what server someone is on in the system. The same is true for XMPP addresses, SIP (proper Voip) addresses, webfinger addresses (pump.io), etc.
There is still the problem of your data on their server.. but as a federated system passes the data from server to server people running federated servers tend to act more like custodians of the data then owners of it. People tend to run these types of servers to offer a public service. OK, well not the Google's of the world. But places like Riseup or Ostel.
Peer to Peer (P2P)
In this model the client software is also the server. All clients on the system talk to and can connect to all other servers on the system. These systems are highly dynamic (servers coming and going all the time) and tend to be very connection and bandwidth heavy because everyone has to help move everyone else's data around.
In a P2P system no one owns the data it just lives out there bouncing from client to client. This means that for most P2P systems you have to be willing to give resources to the network. You have to let the P2P network use some of your bandwidth and disk space.
As you can imagine this is the least easy to censor or shutdown model, and also, if it is done right the hardest to spy on. Because of this many people see the P2P model as a freedom and privacy Panacea. But the truth is this isn't the best model for all things. I don't want to be trading huge chunks of bandwidth and disk space just to see what the weather is going to be like tomorrow. Also because of the dynamic nature of the network and the problem of where stuff is stored relative to who is online the P2P model isn't really the best for "store and forward" applications like E-mail. Sure there are things like Bitmessage but if Bob isn't around for a day or two after Sue tries to send him a bitmessage her software will have to try sending it again. If they have really bad timing it could take months for Bob to get the message. Where in a federated system Sue would send the data to her server of choice which would send it to Bob's server of choice which would hold on to it till bob came online.
People in remote locations or developing countries may not have the bandwidth or disk space to share. There are people in the area where I live for whom a P2P system could easily eat their monthly data allotment in a day or two.
Even tho a P2P system that used good encryption for transfer and storage would be very hard to spy on these systems are complicated beasties and are prone to other forms of attack, resource depletion, evil clients that do things like say they'll forward that data but then throw it away thus vanishing it from the network, governments running a ton of clients to analyze the traffic flow and figure out who is talking to who or even who is who, etc.
It is also important to note that many P2P systems like Bittorrent and Bitcoin do nothing to hide your IP address, so there is no anonymity. Many people are confused and think that P2P automatically means anonymous.
Which is Best
There really is no one best model. The important thing is to try and pick the services that are using the right model for the right job and be aware of the trade offs
- more right but more resources (P2P) - Heavy on bandwidth, CPU time, and disk space but no central server, just other people using the software.
- No rights but fast, easy and light on resource (centralized) - Where people running the service control everything. The rules, your data, who has access and how, etc.
- a bit of a mix (federated) where people running the many servers take the bandwidth and resource hit.
Things to watch out for are centralized sites that are trying to own and control your data, and a newer trend of big companies trying to push the workload onto users by using P2P technologies. Netflix has eyed this to take some of the load off their servers by making people watching a show also stream that show to other people watching the show.. great for them.. terrible for your bandwidth.
Pay attention to which model a service is using and you have a much better ideal of how it effects your rights, freedoms, data, bandwidth, and disk space.
I just want to share an article that everyone should read. It offers a frank and honest look at the whole "terrorism" thing.
Good job Rosa Brooks I'd love to buy you a coffee some day for bringing some level headed discourse to this subject.
It not my habit to just post links to other articles, but this one was far to good not to share.
I am oh so tired of the stupidity going on in the US. So, I am going to explain encryption for all the politicians and people buying the fear mongering about encryption like you all were 5 years old.
Encryption and especially end-to-end encryption is THE ONLY way to have a private conversation in a digital world. When I say THE ONLY I mean exactly that. There is NO other way.
K, everyone got that, No encryption equals NO private conversations EVER.
Now, the very, very, VERY important thing that many people are blanking on is that...
No private conversations equals NO FREEDOM OF SPEECH. You can not have freedom of speech without privacy. Period. End of story.
So the next time someone talks about getting rid of or backdooring or breaking encryption The correct response is "Stop trying to take away my right to free speech"
It's been a while since I've Blogged. Life is like that when blogging is a hobby not an occupation. I've been spending my time on some things that I find interesting.
Twister Has captured my attention lately and I'm finding that it has come a long way since the first time I looked at it. It is becoming quite a nice social media platform and I'm now running a node 24/7 on one of my RPi's.
I've also launched the OpenCPAP Project and That will probably be a big focus for me in the new year.
Of course there has been some downtime to playing and getting all nostalgic on Crossfire. If you are an old time tile based RPG'er or just like that aesthetic I'd strongly suggest giving it a look.
It is likely that this is my last blog entry for 2015. If so Happy Holidays to all and I'll see you in the new year.
Who stole my freedom and why
Have you ever wondered why you can e-mail anyone with any e-mail account but you can only chat to people on the same service as you? It's a really good question and the answer will surprise you.
The fact is you, I, Anyone CAN chat (IM) to anyone anywhere. The technology exists and is in use all over the place today. The reason most people don't is because of two things.
A) The big companies don't want you to
B) The big companies don't want you to
I know, I know, A and B look a lot the same but really they are two sides of the same coin. Lets start with A.
The Big Companies Don't want you to (A)
The Internet's big boy Google,Yahoo, Facebook, Msn, etc Want to make money off of you and since the first days of Instant Messaging companies realized it was a "killer feature" everyone raced to have the best chat (IM) application. And they made sure that their chat wouldn't chat to the other guys. Why? Because they want to make money off of you... not just you... you, your friends, their friends, your kids, your kids friends, etc. They want to monetize as many users as they can... and they understand that if all your friends are on "Super X chat" then chances are good that you'll cave to presure and use "Super X chat". Partly because all your friends are on it... partly because all those people being on it creates a lot of "buzz" so you hear about it a lot more. Partly because of branding. It is a potent mix. The big companies understand this and intentionally screw you out of your freedom (to chat to anyone) in a bid to pressure your friends and family to also join. Big companies see IM as the crack that will get not just you but all your friends hooked on them. So they never tell you there is another option. In fact they lie and say it cant be done because of X, Y, and/or Z
Having a lot of people using one Instant messenger creates a LOT of pressure for others to use it. Big companies understand this. It even has a name "The Network effect". The more people there are using a particular instant messenger (or any other social thing) the more people will gravitate to it and the harder it is to leave. Think of it like a social black hole. The bigger it gets the more and faster it pulls people in and the harder it is to escape. For the big companies this means lots and lots of customers and lots and lots of money. For you and your friends this means getting screwed out of your freedom to talk to anyone... because now you can only talk to people on "Super X chat" and the only way to talk to a person not on it... is to get them hooked too.
The big companies don't want you too (B)
The free and open protocol I mentioned before (XMPP) is just that, free and open. None of the big companies control it, much like the protocol that runs E-mail, in fact your username on XMPP looks just like an E-mail address and if you are lucky it can be the same as you E-mail address, Mine is.
Just a quick note here for the everyday users. All Instant Messenger systems are comprised of two parts. The protocol. a definition of how software using the system will talk to one another and the sotware. Now it is understandable that most people don't know this distinction because Skype software speaks the Skype protocol and since Microsoft controls the protocol and wont tell or let others figure out how it works ONLY the Skype software speaks it. Thus the average user never sees the distinction between protocol and software with instant messaging. You do with E-mail because the protocol is open and not controlled by any one company so there are hunderds of different E-mail programs that can all talk to one another.
So if companies were to properly implement XMPP they would lose control, you wouldn't have to be on their network, you wouldn't even have to use their software. They couldn't force ads on you. It would be much harder to track and profile you. They'd lose control of you and the leverage they had over your friends. They also would loose the ability to add and remove features willy nilly. They'd have to try to be as standard as possible so that you didn't suddenly find yourself unable to talk to friends or you'd just leave and go get another account. Imagine if gmail suddenly stopped being able to send mail to Yahoo because of some "feature", no one would put up with that. So instead of being the crack that gets you hooked on the big companies they'd see it as a burden "have to provide to compete" type service and they really don't like those.
With all that it is no wonder that so few people have heard of XMPP. If people knew they'd leave the big boys in droves and never come back.
So How do I do this XMPP thing?
Pretty easily actually:
- You download one of the XMPP clients that you like.
- You set up an account on ANY proper XMPP server. (That's just a small list to get you started)
- You share your favouritename@XMPPserver address with your friends.
But here is the hard part...
You refuse to let Big Companies screw you out of you freedom by using a "popular" Instant messenger. As soon as you do that no one on that service will switch. You loose. They loose. Big company wins and continues to screw people out of their freedom.
It is that last bit, the "Network Effect" that is hindering XMPP as much as the big guys not talking about or using it. People that do know and make the move over to XMPP are often faced with loosing contact with friends. The thing to remember is, if enough people switch then the "Network Effect" will be on our side. The more people there are using XMPP the more people will want to use XMPP. And suddenly it wont matter what IM software you like or what server you are on, you'll be able to talk to anyone anywhere. Just like E-mail.
This Is more of an announcement then a blog entry. So please excuse it's brevity
I have recently been looking for a place online to hang my hat and chill out. Not so much in a social media sense but more in a realtime chat sense. I checked many of the usual possibilities IRC, etc. but just wasn't having much luck finding what I was looking for so I have decided to try a bit of an experiment in creating one.
So if you are an older (45+ yo) Techie like myself feel free to fire up your favourite XMPP/Jabber client and swing by the new Multi User Chat at:
We are just getting started so the crowd is currently fairly sparse, but with luck the community will grow as word gets around.
Apparently some people were having troubles connecting. I have dropped the S2S encryption requirements a bit and this should help with most of the connection issues.. If you had troubles in the past please try again.
In this blog Posting I'm going to show you how to make a Pi Crate from an Clementine/Tangerine/Orange crate.
First you need a sharp knife (an exacto-knife or other knife with a small sharp blade) , and a pair of needle nose pliers (or multi-tool) , a crate, a Raspberry Pi, scissors and some glue. Don't discard the papers from the bottom of the crate we will used them too.
Using the pliers of multi-tool gently pry up the ends of the wires holding the crate together...
Still using the pliers or multi-tool gently pull the wires out of the crate...
You now hav the bottom separated from the crate...
Next gently remove the staples from the sides of the crate...
After doing all four corners you should have a totally disassembled crate...
Take one of the long sides of the crate (should be wood not press board) , and measure the width of the Pi at both ends of the piece. Then using the other long side as a straight edge mark a line between the marks...
Cut along the line. This will give you two parts.. We will use the wider piece for the bottom of the Pi-Crate and the thinner piece for the sides...
Put the Pi on the wider piece at one end and mark a line at the other end of the pi. Using the pi as a straight edge.
Cut That piece off. Repeat if you want a top. (on my crate the sides were just a tad too short for a top to work. Depending on the crate you start with your's may be o.k.)
Line the slim piece up with the Pi sized piece and using one of the spare pieces as a spacer mark it at a point that is equal too the length of the Pi shaped piece plus the width of a wooden side piece. This will give space for the end piece.
Repeate for the other side and then for the end. For the end piece make it the same size as the end of the Pi sized piece...
Ok, Here is where the Paper and glue comes in. Get your scissors and cut 2 strips the length of the Pi sized piece and almost aw wide as the side pieces. Now using one of the short ends of the Crate as a straightedge line up the Pi sized piece and both long sides so all three pieces are touching...
Apply glue to one side of each paper strip and then apply them to the aligned pieces so that they are half on the Pi sized piece and half on an side piece. While waiting for the glue to dry mark and gently cut out a gap in the end piece for the MicroSD card...
Once the glue has dried flip one side up onto the Pi sized piece using the paper as a hinge, Mark and cut out a gap for the various ports on the side of the pi (sound/HDMI/Power. It helpful to work from both sides Flipping it back down to get at the inside. This will bake a nice hole in both the paper and the side piece. Once that is Done use a small tab of paper the width of a side and long enough to secure to both the end piece and the now cut side piece. (there is extra paper on my end piece in the picture as I was experimenting with the top)
Wait for that tab to dry, then using the paper as hinges fold up the sides of the crate and fold closed then end. While holding the end in place gently insert another paper and glue tab to the inside of the corner between the end piece and that side it is not yet attached to. Hold it in place long enough for the glue to get a good hold or use something like books to hold the sides in place while the glue sets.
Now slip your Pi into the new Crate. I found it easiest to put the side with the ports in first then gently press the Pi into place...
Slide ihe MicroSD card into the Pi using the gap you made in the back piece...
Check that all the Side ports are properly accessible, remove the Pi and do any required trimming..
The next steps may be optional. I personally found that the sides felt a little softer then I would like. If you find this to be the case cut two small pieces of wood from some of the remaining crate pieces..
Gently slide these pieces in between the sides of the crate and the front ports of the Pi. Friction will hold them in place nicely so no need to glue.
For me that made the Pi-Crate feel very solid. I haven't bothered with a top for two reasons. As I mentioned before the Clementine crate I was using produced sides that are just shy of tall enough for a top, and I was worried a top might cause ventilation problems.. If you want to do a top just create another paper hinge between either the end piece, or the uncut side piece and another Pi sized piece. I'd strongly suggest cutting holes into it for ventilation.
I have heard it stated over and over that people shouldn't uses ad-blocking software because if they do websites wont be able to make money, and the entire Internet will implode into a cash vacuum. OK, I added the imploding part, but it is always the implied outcome.. Use ad-blockers and the Internet will go away.
As someone that has been "on-line" since before there was a public Internet I can tell you this is patently untrue and the people that are telling you this are lying to you, or misinformed.
First I'd like to point out that a huge number of sites and services on the Internet do not rely on advertising for their income. Do you really think amazon.com is going to disappear if everyone started using ad-blocking? I think not. Wikipedia.org does not and will not have ads. IRC servers have been around since the early days of the Internet and do not rely on ads. Same for most XMPP servers. Services that use a "Freemium" model like DropBox will still be around. Usenet providers switched years ago to being a paid service. Some torrent trackers may disappear but other wont, and besides there are other P2P file sharing options that do not rely on "tracker" sites. So the whole P2P thing won't go away.
E-mail might have a transition period but this is only because too many people have been conned into using big centralized E-mail servers who are in the business of selling all the information that they can harvest from peoples E-mail instead of just providing an E-mail service. Luckily there are many (currently less popular) E-mail providers that are solely in the business of providing E-mail and nothing else. If the ad-blocking apocalypse came to pass ISPs could easily go back to running their own E-mail servers like they did in the old days. Also I am sure many, many, non-advertising based mail servers would spring up to fill the void and make some cash while doing it.
The fact is that the things most at risk of disappearing if we hit peak ad-block would be exactly the services that are most hurtful to your privacy. To me this seems like a win.
The current layout of the Internet is far from what it's creators envisioned. They saw an Internet where every computer was a potential server, and many where. They envisioned an Internet that empowered people, not one that made people slaves to huge central servers especially not to huge central servers that were in the business of robbing people of their privacy.
The Internet is still based and run on the open architecture that the original creators put in place. Thus the Internet is what WE make it. I for one run my own mail, XMPP and other servers. You can to. It's not hard, it can even be fun. It is most definitely liberating.
So if Internet stores will still be around, and many,many, other Internet services will be around what are we really talking about losing in this supposed ad-blocking apocalypse? What would we loose? Twitter? (I doubt it, They have proven to be very agile and I'm sure they would adjust), Google, Facebook, and their lot? To that I say good riddance. To me and others these companies are a cancer on the Internet that we'll be glad to see the back of. Instant messaging? Nope. Many, Many, open, free and privacy respecting options that aren't based on advertising revenue. Plus it is trivial to set up an XMPP server these days and all XMPP servers can talk to other XMPP servers (if not messed up like FaceBook and Google did with theirs). So That'll still be around.
As far as I can see the only thing we would loose is services that are in the business of plundering your data to make money off of you. Would this really be a loss? I say no. I personally think everyone should run ad-blocking software, for two reasons. The current onslaught of advertising on the Internet makes many web pages close to unusable. And second, since the advertisers have all decided to ignore the "Do Not Track" header standard why the hell shouldn't I ignore them. Blocking ads protects my privacy and yours. If you decide to use ad-blocking, it will make websites load faster and browsers crash less often. It will save you bandwidth, and other computer resources. (which actually makes it a greener option). Why shouldn't you reclaim you privacy, your screen, your speed, your sanity? Because of some non-existant threat that the Internet will go away? I think not.
To help you get started here is a list of ad-blocking options. Find the ones that are right for you and start enjoying your privacy and browsing again.
UBlock - A faster more advanced blocker. Released under the GPLv3 License. It can use blocklist from Adblock Plus/Adblock Edge.
AdBlock Plus - A GPL'd (freedom respecting, Copyleft ) plug-in for Firefox, Chrome and an Android app. It allows "acceptable" ads by default but you can easily turn that off.
Privoxy - A GPL'd, highly configurable http proxy that you can use to protect all devices in your home. A little more technical to set up then the plug-in but once up and running all you have to do is set all your devices to use it as their proxy and they are protected.
AdAway for Android - GPL'd, Requires a rooted device. I prefer it to Adblock Plus on my Android devices.
How To Block Ads via your HOSTS file - Technique works for Linux, Windows, Mac, Android, Etc. The page is geared towards windows users but the principal is the same on almost all platforms. There are links towards the bottom of the page for Linux,Mac, etc. Also there are many tools available that use this method. (AdAway above is one) So you can just DuckDuckGo around to find one you like.
Ok, Now that I've got this new system set up enough to get going and I have brought along my old posts from the old system, it is time for me to actually say something here
It is probably pretty plain that there have been some changes. The biggest is that I am now using BlazeBlogger to manage my site. It is a pretty light CMS and does everything I need. This way I'll be able to focus more on content and less on maintenance.
As I get more familiar with the new system I'm sure the site will look a little less basic. Probably not much tho as I am still a firm believer in the fact that websites should be about the content and not the flashy content and groovy graphics. Also a more basic site will work much better on things like mobile devices and older hardware.
I'll probably create a new "About" page in the coming days but I doubt that a "Contact" page will be created. Other then that this is going to be a place for my musings, howto's, and probably the occasional rant. So, you know, a blog.
Please don't mind the mess. I'm moving to a new look and feel for the site.