- Mac OSX detects a drive that needs to be initialized and automatically prompts you to initialize the drive. If you are prompted to initialize the drive, click Initialize. If you are not prompted to initialize the drive and you cannot find the drive in Finder, you will need to create a partition on the drive.
- This is how to initialize a hard drive within macOS using the command-line. If you've encountered errors initializing a hard drive using Disk Utility, there.
Wednesday I presented a talk at the Austin Personal Cloud meetup about Building a Personal Cloud computer. Murphy was in full effect, so both of the cameras we had to record the session died, and I forgot to start my audio recorder. I’ve decided to write out the notes that I should have had, so here’s the presentation if it had been read.
To pause the system during startup, simply press the Option key (Alt key on a Windows keyboard) – the EFI BIOS will then scan your hard disk partitions, CD/DVD devices and USB ports for operating systems and allow you to select the operating system to boot (which could include the macOS installation app from a USB stick).
In this presentation we’re talking about building a personal cloud computer. This is one approach to the personal cloud, there are certainly others, but this is the one that has been ringing true to me lately.
A lot of what people have been talking about when they speak about the personal cloud is really personal pervasive storage. These are things like Dropbox or Evernote. It’s the concept of having your files everywhere, and being able to give permission to things that want to access them. Think Google Drive, as well.
These concepts are certainly valid, but I’m more interested in software, and I think computing really comes down to running programs. For me, the personal cloud has storage, but it’s power is in the fact that it executes programs for me, just like my personal computer at home.
That computer in the slide is a Commodore +4, the first computer I ever laid fingers on.
Back then, idea of running programs for yourself still appealed to the dreamers. They made movies like TRON, and we anthropomorphized the software we were writing. These were our programs doing work for us, and if we were just smart enough and spent enough time at it, we could change our lives and change the world.
This idea isn’t new, in fact AI pioneers were talking about it back in the 50s. John McCarthy was thinking about it back then, as Alan Kay relates when he talks about his 3rd age of computing:
They had in view a system that, when given a goal, could carry out the details of the appropriate computer operations and could ask for and receive advice, offered in human terms, when it was stuck. An agent would be a ‘soft robot’ living and doing its business within the computer world.
That’s been the dream for a long time…
But that never really happened. The personal computer revolution revolutionized business, and it changed how we communicated with each other, but before the Internet things didn’t interconnect to the point where software could be a useful helper, and then we all went crazy making money with .com 1.0 and Web 2.0, and it was all about being easy and carving out a market niche. Then something else hit…
Mobile exploded. If you’ll notice, mobile applications never really had an early adopter phase. There was no early computing era for mobile. You could say that PDAs were it, but without connectivity that isn’t the same as the world we have now. Most developers couldn’t get their app onto a mobile device until the iOS app store hit, but that platform was already locked down. There was no experimentation phase with no boundaries. We still haven’t had the ability to have an always-connected device in our pocket that can run whatever we want. The Ubuntu phones may be that, but we’re 6 iterations into the post-iPhone era.
And who doesn’t love mobile? Who doesn’t love their phone? They’re great, they’re easy to use, they solve our problems. What’s wrong with them? Why do we need something else? Well, let’s compare them to what we’ve got…
With the PC we had a unique device in so far as we owned the hardware, we owned our data, and EULA issues aside, we owned the software. You could pack up your PC, take it with you to the top of a mountain in Nepal, and write your great novel or game or program, with no worries about someone deactivating it or the machine being EOLed. Unfortunately the PC is stuck at your house, unscalable, badly networked, loaded with an OS that was designed for compatibility with programs written 25 years ago. It isn’t an Internet era machine.
With the web we got Software as a Service (SaaS), and with this I’m thinking about the Picasa’s and Flickr’s and Bloggers of the world. No software to maintain, no hardware to maintain, access to some of your data (but not all of it, such as not having access to traffic metrics with Flickr unless you paid, and only export rights if you were paid up). But in this new world you can’t guarantee your continuity of experience. Flickr releases a redesign and the experience you’ve depended on goes away. The way you’ve organized and curated your content no longer makes sense. Or maybe as in the case of sites like Gowalla, the whole thing just disappears one day.
Mobile has it’s own issues. You often don’t own the hardware, you’re leasing it or it’s locked up and difficult to control. You can’t take your phone to another provider, you can’t install whatever software you want on it. Sometimes it’s difficult to get data out. How do you store the savegame files from your favorite iPhone game without a whole-device snapshot? How do you get files out of a note taking app if it doesn’t have Dropbox integration? In the end, you don’t even really own a lot of that software. Many apps only work with specific back-end services, and once your phone gets older, support starts to disappear. Upgrade or throw it in the junk pile.
Cloud offers us new options. We don’t have to own the hardware, we can just access it through standards compliant means. That’s what OpenStack is all about. OpenStack’s a platform, but OpenStack is also an API promise. If you can do it with X provider, you can also do it with Y provider. No vendor lock-in is even one of the bullet points on our homepage at HP Cloud.
Implicit in cloud is that you own your own data. You may pay to have it mutated, but you own the input and the output. A lot of the software we use in cloud systems is either free, or stuff that you own (usually by building it or tweaking it yourself). It’s a lot more like the old PC model than Mobile or SaaS.
All of these systems solve specific types of problems, and for the Personal Cloud to really take off, I think it needs to solve a problem better than the alternatives. It has to be the logical choice for some problem set. (At the meetup we spent a lot of time discussing exactly what that problem could be, and if the millennials would even have the same problems those of us over 30 do. I’m not sure anyone has a definitive answer for that yet.)
This is what I think the Personal Cloud is waiting for. This explosion of data from all our connected devices, from the metrics of everything we do, read, and say, and what everyone around us says and does. I think the Personal Cloud has a unique place, being Internet-native, as the ideal place to solve those problems. We’re generating more data from our activities than ever before, and the new wave of Quantified Self and Internet of Things devices is just going to amplify that. How many data points a day does my FitBit generate? Stephen Wolfram’s been collecting personal analytics for decades, but how many of us have the skill to create our own suite of tools to analyze it, like he does?
The other play the Personal Cloud can make is as a defense against the productization of you. Bruce Sterling was talking about The Stacks years ago, but maybe there’s an actual defensive strategy against just being a metric in some billion dollar corporations database. I worked on retail systems for a while, it wouldn’t surprise me at all if based on the order of items scanned out of your cart at Target (plus some anonymized data mining from store cameras) they could re-construct your likely path through the store. Track you over time based on your hashed credit card information, and they know a whole lot about you. You don’t know a whole lot about them, though. Maybe the Personal Cloud’s place is to alert you to when you’re being played.
In the end I think the Personal Cloud is about you. It’s about privacy, it’s about personal empowerment. It’s uniquely just about you and your needs, just like the Personal Computer was personal, but can’t keep up, so the Personal Cloud Computer will take that mantel.
The new dream, I think, is that the Personal Cloud Computer runs those programs for you, and acts like your own TRON. It’s your guardian, your watchdog, your companion in a world gone data mad. Just like airbags in your car protect you against the volume of other automobiles and your own lack of perfect focus, so your Personal Cloud protects you against malicious or inconsiderate manipulation and your own data privacy unawareness.
To do this I think the Personal Cloud Computer has to live a central role in your digital life. I think it needs to be a place that other things connect to, a central switching station for everything else.
And I think this is the promise it can fulfill. The PC was a computer that was personal. We could write diary entries, work on our novel for years, collect our photos. In the early days of the Internet, we could even be anonymous. We could play and pretend, we could take on different personas and try them out, like the freedom you have when you move to a new place or a new school or job. We had the freedom to disappear, to be forgotten. This is a freedom that kids today may not have. Everything can connect for these kids (note the links to my LinkedIn profile, Flickr Photos, Twitter account, etc in the sidebar), though they don’t. They seem to be working around this, routing around the failure, but Google and others are working against that. Facebook buys Instagram because that’s where the kids are. Eventually everything connects and is discoverable, though it may be years after the fact.
So how do I think this looks, when the code hits the circuits? I think the Personal Cloud Computer (or ‘a’ personal cloud computer) will look like this:
- A Migratory – Think OpenStack APIs, and an orchestration tool optimized for provider price/security/privacy/whuffie.
- Standards Compliant – Your PCC can talk to mine, and Facebook knows how to talk to both.
- Remotely Accessible – Responsive HTML5 on your Phone, Tablet and Desktop. Voice and Cards for Glass.
- API Nexus – Everything connects through it, so it can track what’s going on.
- with Authentication – You authenticate with it, Twitter authenticates with it, you don’t have a password at Twitter.
- Application Hosting – It all comes down to running Apps, just like the PC. No provider can build everything, apps have to be easy to port and easy to build.
- Permission Delegation – These two apps want to talk to each other, so let them. They want to share files, so expose a cloud storage container/bucket for them to use.
- Managed Updates – It has to be up to date all the time, look to Mobile for this.
- Notifications – It has to be able to get ahold of you, since things are happening all the time online.
- and Dynamic Scaling Capabilities – Think spinning up a hadoop cluster to process your lifelog camera data for face and word detection every night, then spinning it down when it’s done.
So how do we actually make this happen? What bits and bobs already exist that look like they’d be good foundational pieces, or good applications to sit on top?
No presentation these days would be complete without a mention of docker, and this one is no different. If you haven’t heard of docker, it’s the hot new orchestration platform that makes bundling up apps and deploying lightweight linux container images super-easy. It’s almost a PaaS in a box, and has blown up like few projects before it in the last 6 months. Docker lets you bundle up an application and run it on a laptop, a home server, in a cloud, or on a managed Platform as a Service. One image, multiple environments, multiple capacities. Looking at that Ubuntu Edge, that looks like a perfect way to sandbox applications iOS style, but still give them what they need to be functional.
Hubot is a chat bot, a descendant of the IRC bots that flourished in the 90’s. Hubot was built by Github, and was originally designed to make orchestration and system management easier. Since they connect and collaborate in text based chat rooms, Hubot sits in their waiting for someone to give it a command. Once it hears a command, it goes off and does it, whether it be to restart a server, post an image or say a joke. You can imagine that you could have a Personal Cloud Computer bot that you’d say ‘I’m on my way home, and it’s pot roast night’ to, and it would switch on the Air Conditioner, turn on the TV and queue up your favorite show, and fire up the crock pot. Jarheads mac os.
The great thing about Hubot, and the thing about these Personal Cloud Bots, is that like WordPress Plugins, they’re developed largely by the community. Github being who they are, Hubot embraces the open development model, and users have developed hundreds of scripts that add functionality to Hubot. I expect we’ll see the same thing with the Personal Cloud Computer.
![Initial dream mac os 11 Initial dream mac os 11](https://images-na.ssl-images-amazon.com/images/I/51-y4W-h8IL._SR600%2C315_PIWhiteStrip%2CBottomLeft%2C0%2C35_SCLZZZZZZZ_FMpng_BG255%2C255%2C255.jpg)
I’ve talked about Weavrspretty extensively here on the blog before, so I won’t go into serious depth, but I think that the Personal Cloud Computer is the perfect place for something like Weavrs to live. Weavrs are social bots that have big-data derived personalities, you can create as many of them as you like, and watch them do their thing. That’s a nice playground to play with personalities, to experiment and see what bubbles to the top from the chaos of the internet.
If you listen to game developers talk, you’ll start to hear about that initial dream that got them into game development, the dream of a system that tells stories, or tells stories collaboratively with you. The Kickstarted game Sir, You Are Being Hunted has been playing with this, specifically with their procedurally generated British Countryside Generator. I think there’s a lot of room for that closely personal kind of entertainment experience, and the Personal Cloud Computer could be a great place to do it.
Aaron Cope is someone you should be following if you aren’t. He used to be at Flickr, and is now at the Cooper-Hewett Design Museum in New York. His Time Pixels talk is fantastic. Two of the things that Aaron has worked on of interest are Parallel Flickr, (a networkable backup engine for Flickr, that lets you backup your photos and your contacts photos, but is API compatible with Flickr) and privatesquare (a foursquare checkin proxy that lets you keep your checkins private if you want, or make them public). That feels like a really great Personal Cloud app to me, because it plays to that API Nexus feature.
The Numenta guys are doing some really interesting stuff, and have open sourced their brain simulation system that does pattern learning and prediction. They want people to use it and build apps on top of it, and we’re a long way away from real use, but that could lead to some cool personal data insights that you run yourself. HP spent a bunch of money on Autonomy because extracting insights from the stream of data has a lot of value. Numenta could be a similar piece for the Personal Cloud.
That’s the Adafruit Pi Printer, Berg has their Little Printer, and they’re building a cloud platform for these kind of things. These devices bring the internet to the real world in interesting ways, and there’s a lot of room for personal innovation. People want massively personalized products, and the Personal Cloud Computer can be a good data conduit for that.
Beyond printers, we have internet connected thermostats, doorknobs, and some of those service companies will inevitably go away before people stop using their products. What happens to your wifi thermostat or wifi lightbulbs when the company behind it goes way? Personal Cloud lets you support that going forward, it lets you maintain your own service continuity.
Having an always-on personal app platform lets us utilize interesting APIs provided by other companies to process our data in ways we can’t with open source or our own apps. Mashape has a marketplace that lets you pick and switch between api providers, and lets you extend your Personal Cloud in interesting ways, like getting a sentiment analysis for your Twitter followers.
In addition to stuff we can touch over the network, there’s a growing market of providers that let you trigger meatspace actions through an API. Taskrabbit has an API, oDesk does, Shapeways does, and we haven’t even begun to scratch the possibilities that opens up.
One thing to watch is how the Enterprise market is adapting to utility computing and the cloud. The problems they have (marketplaces, managed permissions, security for apps that run premises, big data) are problems that all of us will have in a few years. We can make the technology work with enterprise and startups, but for end users, we have to make it simple. We have to iPhone it.
So where do we start? I think we have to start with a just good enough, minimum viable product that solves a real problem people have. Early adopters adopt a technology that empowers them or excites them in some way, and whatever Personal Cloud platforms appear, they have to scratch an itch. This is super-critical. I think the VRM stuff from Doc Searls is really interesting, but it doesn’t scratch an itch that I have today in a way I can comprehend. If you’ve been talking about something for years, what will likely happen is not that it’ll eventually grow up, it’s that something radical will come out of left field that uses some of those ideas, but doesn’t honor all of them. That’s my opinion, at least. I think the Personal Cloud community that’s been going for years with the Internet Identity Workshop probably won’t be where the big new thing comes from, but a lot of their ideas will be in it. That’s just my gut feeling.
The last caveat is that Apple and Microsoft and Google are perfectly positioned to make this happen with vendor lockin easily. They all already do cloud. They all have app stores. They have accounts for you, and they want to keep you in their system. Imagine an Apple App Store that goes beyond your iPhone, iPad and even Apple TV, but lets you run apps in iCloud? That’s an easy jump for them, and a huge upending of the Personal Cloud world. Google can do the exact same thing, and they’re even more likely to.
So thanks for your time, and for listening (reading). If you have comments, please share them. It’s an exciting time.
Where good ideas come from. Is Chrome OS a good idea?I recently read the book ’Where good ideas come from: The Natural History of Innovation’ by Steven Johnson. It was an exciting read. The book attempts to define seven primary patterns that recur in all innovative processes and ideas in Earth’s history, both natural and cultural. The beauty of the book is in how elegantly the author relates ideas from different scales and environments. For example, he explores and derives analogies from varied ideas in disconnected environments like ‘the idea of carbon based life by nature’, 'the diverse life forms and the biological innovation of coral reefs’, 'the idea of Twitter in Internet by humans’. By surveying various forms of innovations in human history and natural history, Steven gives a compelling case for the importance of all his 7 patterns. The patterns are Adjacent Possible, Liquid Networks, The Slow Hunch, Serendipity, Error, Exaptation and Platforms. I am going to concentrate on just the first pattern.
Adjacent Possible
At any point in time, the world is capable of only finite innovations. The innovations are the first-order combinations of the other ideas available at that time. In Steven’s words,
We have a natural tendency to romanticize breakthrough innovations, imagining momentous ideas transcending their surroundings, a gifted mind somehow seeing over the detritus of old ideas and ossified tradition. But ideas are works of bricolage; they’re built out of that detritus. We take the ideas we’ve inherited or that we’ve stumbled across, and we jigger them together into some new shape.
The new idea that can be reached by combining ideas currently available is called an “adjacent possible” (A term coined by theoretical biologist Stuart Kauffman). To use the simple analogy given by Steven, imagine that there is a palace with an infinite number of rooms. Opening a door will lead you to a room with say 10 other doors. Opening one of these 10 doors will lead you to a room with few other new doors. So, to travel to a room at the second level, you should have opened a door at the first level and reached a room at the first level. It’s not possible for anyone to jump straight into the rooms at second or higher levels. Also, you can only travel to a fixed set of rooms at any point. As you open a door and enter into one of these rooms, you get new doors to open and you find new rooms in your 'adjacent possible’. Ideas are like the rooms in the palace. An idea at the fifth level becomes possible only when we have traveled through the ideas in the first four levels. As Steven puts it,
What the adjacent possible tells us is that at any moment the world is capable of extraordinary change, but only certain changes can happen. The strange and beautiful truth about the adjacent possible is that its boundaries grow as you explore those boundaries.
I will explore two of the interesting examples for adjacent possible presented in the book - one from natural history and one from human history.
Why life was possible on Earth
Life is the single greatest invention of nature. We still haven’t cracked the rare chemical reaction that lead to the creation of life - “the point at which chemistry and physics gave way to biology”, as Steven puts it. However, we know that all life on earth is Carbon-based life. Even though Silicon has the same valence electron(four) as Carbon and occurs hundreds of times more abundantly than Carbon, nature has favoured carbon-based life instead of silicon-based life. The reason turns out that silicon is not as versatile as carbon in making double and triple bonds that create the long chains and rings of fatty acids and sugars. Also Silicon requires far more energy than Carbon to form bonds and Silicon bonds readily dissolve in water (a major ingredient of prebiotic earth). In other words, carbon was ready to explore its adjacent possible and the environment of prebiotic earth with water encouraged the collision and exploration of new carbon molecules. The famous Miller-Urey experiment simulated the conditions of primordial soup (containing water, methane, ammonia and hydrogen) and used pair of electrodes to simulate lightning. Results showed that the Carbon atoms, present only in methane(CH4), were able to spontaneously recombine into many of the organic compounds essential for life: sugars, lipids, nucleic acids. Scientists were able to show that more than 20 different amino acids were generated in original Miller-Urey experiment conducted in 1952 and, from our latest understandings of prebiotic earth, if we included more possible prebiotic molecules, the experiment created more diverse molecules.
Once the first carbon-based single-cellular life emerged on earth, then evolution by natural selection took over. Unlike the origin of life, we have immense evidences for evolution by natural selection and we understand how it works. Evolution is one giant exhibition of exploration of the adjacent possible. There is a prevalent misunderstanding among the public that it’s improbable for a process like evolution to have created complex things. The fundamental understanding of evolution as an agent for exploring adjacent possible throws some light on how evolution could create seemingly improbable things like the human brain, a beautiful flower or a beautiful cuckoo sound. They were not created in one step. They are a result of a serious of billions and billions of steps of exploring the adjacent possible. As Steven points out in his examples,
When dinosaurs such as the velociraptor evolved a new bone called the semilunate carpal (the name comes from its half-moon shape), it enabled them to swivel their wrists with far more flexibility. In the short term, this gave them more dexterity as predators, but it also opened a door in the adjacent possible that would eventually lead, many millions of years later, to the evolution of wings and flight. When our ancestors evolved opposable thumbs, they opened up a whole new cultural branch of the adjacent possible: the creation and use of finely crafted tools and weapons.
As pointed in the above example, nature didn’t create a flying bird in one step. The possibility of a bird came into the realm of adjacent possible only when the velociraptor evolved to have the semilunate carpal bone. And it took millions of years of explorations of the adjacent possible (by mutations) to evolve a bird. If the semilunate carpal bone didn’t have a survival advantage (of more dexterity) and nature didn’t favour it, then wings would have never been in the realm of adjacent possible (and humans might have never got the inspiration to build an airplane!). Steven puts this in perspective when he says,
Four billion years ago, if you were a carbon atom, there were a few hundred molecular configurations you could stumble into. Today that same carbon atom, whose atomic properties haven’t changed one single nanogram, can help build a sperm whale or a giant redwood or an H1N1 virus, along with a near-infinite list of other carbon-based life forms that were not part of the adjacent possible of prebiotic earth.
Why the Father of Computer couldn’t build a computer
Like life in earth’s natural history, one of the greatest inventions in human history is the Computer. The mastermind behind the idea of a programmable computer is Charles Babbage and he is aptly called the 'Father of Computers’. His ’Analytical Engine’, proposed in 1837, was the first programmable computer (The world’s first programmer was an English lady, Ada Lovelace, who wrote instructions for Babbage’s analytical engine). But unfortunately, Charles Babbage was never able to build his analytical engine. This is because Babbage didn’t have the 'right spare parts’ to build his computer. In the nineteenth century, the analytical engine has to be built with all mechanical parts with moving objects. Building the complex analytical engine with mechanical parts was impossible. Babbage died without completing his dream computer. Eventhough the idea of a computer was available in 1837, it took more than a century for the first programmable computer to be build. We had to wait till the electronic-era for Babbage’s dream to be realized. In other words, a programmable computer was not in the realm of adjacent possible in 19th century. Babbage was “ahead of his time”. It’s as if he saw what was inside the 1000th level room in the palace of ideas, through his brilliance. But we had to wait till all the intial 999 doors were opened and building a computer was in the adjacent possible. As Steven’s elegantly puts it,
trying to create an Analytical Engine in 1850 was the equivalent of those fatty acids trying to self-organize into a sea urchin. The idea was right, but the environment wasn’t ready for it yet.
Babbage’s Analytical Engine is still a vaporware.
Why is Chrome OS a good idea now?
Few days after I read 'Where good ideas come from’, Chrome OS netbook (Cr-48) was launched and I was fascinated by Eric Schmidt’s (CEO of Google) closing speech in the launch event. You can read the transcript at Cloud Computing: the latest chapter in an epic journey. Eric explains how the idea of cloud computing is as old as 1983, when Sun introduced a diskless computer. Later in the 90’s after the innovations of Web, Oracle had introduced something called as “network computer”. It’s similar to a Chrome OS netbook. But the concept of Network Computer failed. Eric explains that the concept failed in the 90’s because
the web couldn’t compete with the scale and power of the then-existing desktop applications, which at the time were Ole and Win32 and various Mac APIs.
And today, after 15 years, we have 1000 times faster networks, CPUs, and screens. Around 2004, the advent of AJAX (Asynchronous JavaScript and XML) enabled building powerful web-applications like gmail. Interfaces competent with desktop applications could be finally built. The model of cloud computing, where thousands of networked computers do complex operations, while the client(browser) provides high-quality user interface, became possible. As Eric explains it
we’ve gone from a world where we had reliable disks and unreliable networks, to a world where we have reliable networks and basically no disks… the kind of magic that we could imagine 20 years ago, but couldn’t make real because we lacked the technology.
To summarize Eric’s argument, Chrome OS is now in the adjacent possible. We can see the striking similarity between how building first computer took more than a century since its inception and how creating a Cloud computing platform took decades after its inception. Although the idea of cloud computing could be conceived years before, like the original idea of an analytical engine, we had to wait till Moore’s law would grow by a factor of 1000 for Chrome OS to be in the adjacent possible. Again “the idea was right, but the environment wasn’t ready for it yet”.
Moral of the Story
The important takeaway from understanding the 'Adjacent Possible’ is as Steven says,
All of us live inside our own private versions of the adjacent possible. In our work lives, in our creative pursuits, in the organizations that employ us, in the communities we inhabit—in all these different environments, we are surrounded by potential new configurations, new ways of breaking out of our standard routines…. The trick is to figure out ways to explore the edges of possibility that surround you. This can be as simple as changing the physical environment you work in, or cultivating a specific kind of social network, or maintaining certain habits in the way you seek out and store information.
And talking about the kind of environment that creates good ideas,
innovative environments are better at helping their inhabitants explore the adjacent possible, because they expose a wide and diverse sample of spare parts—mechanical or conceptual—and they encourage novel ways of recombining those parts. Environments that block or limit those new combinations—by punishing experimentation, by obscuring certain branches of possibility, by making the current state so satisfying that no one bothers to explore the edges—will, on average, generate and circulate fewer innovations than environments that encourage exploration.
Finally,
The trick to having good ideas is not to sit around in glorious isolation and try to think big thoughts. The trick is to get more parts on the table.
The more number of parts - mechanical or conceptual - we are equipped with, the more ideas that are waiting to be explored in our Adjacent Possible.
Initial Dream Mac Os 7
P.S: This essay is dedicated to my friends who tease me for buying a Kindle. :P I have hereby proven that I have read atleast one book and purchasing the Kindle was useful. You guys can stop teasing me ;) And I also recommend interested people to read the book. After all, I covered only the first pattern. There is so much exciting stuff about the other 6 patterns.
Dream Machines Of Texas
PRINT THIS POSTView comments2/6/11 — 1:07pmShort URL: https://tmblr.co/ZXxPDy2xbZC4