So, does Project Obsidian need mobile support. If anyone says “Yes, for the iPhone,” I will ban your IP range. Take your Crapple iTurd and shove it.
On to what I like to call “Fair Use Stealing”, or, how to use wikipedia in the blogsphere.
Originally coined in the 1970s to designate networks which were isolated from ARPANET (which evolved into the Internet) for security purposes, darknets were able to receive data from ARPANET but had addresses which did not appear in the network lists and would not answer pings or other inquiries. The name is derived or related to the term black box, which meant a system or device whose contents were unknown.
The term gained public acceptance following publication of The Darknet and the Future of Content Distribution, a 2002 article by Peter Biddle, Paul England, Marcus Peinado, and Bryan Willman, four employees of Microsoft who described the concept as follows:
The idea of the darknet is based upon three assumptions:
Any widely distributed object will be available to a fraction of users in a form that permits copying.
Users will copy objects if it is possible and interesting to do so.
Users are connected by high-bandwidth channels.
The darknet is the distribution network that emerges from the injection of objects according to assumption 1 and the distribution of those objects according to assumptions 2 and 3.
The Microsoft researchers argued that the presence of the darknet was the primary hindrance to the development of workable DRM technologies. The term has since been widely adopted and seen usage in major media sources, including Rolling Stone and Wired, and is also the title of a book by J.D. Lasica.
Stolen Directly From the wikipedia entry for “Darknet (File Sharing)
Now, there are some differences to my vision from a “typical” darknet. In order to explain those, let’s take a look at what I consider to be important.
Privacy is the most important aspect of Project Obsidian. Everything revolves around it. Let’s look at Facebook as an example. Facebook is a rather public site, with private areas. I want to reverse that outlook. Project Obsidian will be a Private network with public areas. Only information that you CHOOSE to be public will be public. Three methods will be used: Encryption, Obfuscation, and Trust Levels.
Encryption is self explanatory. Everything is encrypted. From your bookmarks to your chat to your downloads. Everything. Period.
Obfuscation will assist users in getting data without being able to be tracked by there ISP, Google, what have you. Sense the internet relies upon static domains for information (i.e. http://www.google.com) everytime you go to google.com you go to one of a set number of servers. But what if you pulled http://www.google.com from 80 different servers. At the same time. Your ISP would have to track all of that! And those servers weren’t registered to google, but simply places that held the html for google.com. A DNS would be constantly updated. And yes, the idea isn’t perfect, or even close to that, but it’s a start.
I envision a future internet where people can only track those movements that you WANT to be tracked. Where information is free, but not necassarily public. Even though I believe very much in Freedom/Open Source, etc. and the concept that information should be free, I also believe that the individual should have a choice about what information the individual sees and shares. I mean, try googling your username. You’d be surprised at what you’ll find.
If you are reading this, I love you.
If you aren’t reading this, then this serves no purpose….but, what the hell. I hate you.
I’m using C++. Of course, I don’t know the first thing about network programming in C++, so it’s back to the books. Just so none of you get worried, while in a turbo pascal class in high school, I was already at the end of the book in two weeks. I was busy designing a puzzle game while the rest of the class was struggling with
I think it fits. Any comments? Questions? Insults? Post’em here.
As promised, a little publicity. Maybe the ONE pageview I’m going to get will actually look at your site and purchase the C++ Cookbook.
Christopher Diggins is a software developer and freelance writer. Christopher loves programming, but is eternally frustrated by the shortcomings of modern programming languages. As would any reasonable person in his shoes, he decided to quit his day job to write his own ( www.heron-language.com ). Christopher is the co-author of the C++ Cookbook from O’Reilly. Christopher can be reached through his home page at www.cdiggins.com.
This was basically yoinked verbatim from HERE, so thanks Christopher Diggins! I’ll post another link to your stuff later for the help.
- scheduling – Self explanatory.
- research – Learning more about the problems the software attempts to solve, and what the competing software does.
- technology selection – Choosing what tools, languages, and technologies to use to build and devleop the software.
- reuse – Identifying code libraries and tools internally and externally that can be leveraged
- prototyping – An important step which is often overlooked (often-times the first version is really a prototype).
- code documentation
- product documentation
- refactoring – Change in the code to changes in implementation design.
- extending – This refers to when more features are added during development, after prototyping, or after a release
- revising – Related to refactoring, this refers to when the product requirement are significantly changed in some-way
- internationalization – It is is usually the case the software will be released in different locales with different langauges and cultural conventions.
- optimizing – It is rare that software doesn’t have some areas where better performance could significantly improve the product.
- static analysis – Static analysis tools are an important part of detecting defects
- reviewing code – Code reviews are an important supplement to testing
- releasing – Getting the internal versions to various teams, and external versions to customers in a smooth and timely manner
- recycling code – The code in a successful project will almost invariable be reused in some other project.
- porting – Porting software to new operating systems and platforms is almost always inevitable in a successful product
- support – Customer support is easily overlooked, but when taken into consideration will affect design decisions, and profitability.
Now, I’m only in the second stage, research. What problems DOES my darknet want to solve? Well, the question of privacy, for one. Did you know that your ISP can view most of the traffic you generate? If it’s not encrypted, they can capture it. And they do. Most ISP’s keep it “For a reasonable amount of time.” WTF???? Reasonable? It’s my PERSONAL information they are retaining. And as a sometimes bored computer geek, I understand temptation. Do they really think that this information is being kept private? Hell, look at Wikileaks! Anyway, there’s more to come.