I've been working on my car this week, so no coding for me. The good news is I think its fixed. I'll find out on my way to/from work tomorrow I guess. I hadn't been driving it, but I got the OBD codes to clear tonight and it's running a lot smoother. I had gotten a little lazy on maintenance and it made me pay for it. I'll have to give it more attention and maybe I can do some preventive maintenance. The last code it was showing is no joke, so hopefully I ran it down to the correct part and it wont be back. If not, I may have to do some internal maintenance, which isn't exactly my forte.
I finally got to work on Clay more. I've fixed a few bugs and small issues here and there. I ran into an issue with the delete hook for markdown deleting all markdown copies of entries, I guess I probably hadn't tested that very much. It appears everything is ready for the upgrade here.
I also did some minor updates on a few apps to fix some uniformity issues. I have some more testing in the Bible app, which will go on a new site. That's the only thing preventing me from upgrading here right now. I'll probably run one more local upgrade, just to make sure everything is good. Hopefully by Wednesday I can do it here for real.
After a lot of thinking about it, I really want to build a social network. Everyone seems to tired of companies abusing their power. I think if the right solution came out people would leave sites like Facebook by the millions. I'm going to give it shot...
Well, I had some work stuff come up this past weekend so I wasnt able to finish testing for the upgrade. Tonight I should have finished it, but i ran into some problems that ended up being a simple file permissions issue. I was really concerned before I discovered the mistake, because my dev build worked fine, but the upgrade kept crashing for no apparent reason.
I rewrote the same few lines of code every way I could think of and it ended up not even being the code. Oh well, at least I have another improvement to work into 2.0 now. Tuesday I'll try again with the issue tonight fixed. Upgrade "week" continues for now...
First round of upgrade tests have gone well, no major issues yet. The new blog layout looks nice and I really like the new navbar. The only issues I've found are in ClaySS and they are minor. Even the mobile display looks good for minimum test cases during development.
One thing I've noticed was held over from a previous upgrade: when I merged blocks into plugins for 1.1, I did a fresh install and imported the old database. Well, that meant the blog app id changed, so the comments app recreated all of the threads for the new blog app id. It didn't hurt anything, just meant there were a lot of unused threads in the database. In the future I'll probably add a prune feature to remove unused threads, but for now I can just delete threads assigned to the old blog app id.
I'm doing some upgrade tests this week, so if all goes well, I may be upgrading the site. This is one of, if not, the biggest upgrades I've done on Clay, so I'm not sure what to expect yet. I'm doing the testing locally, so (hopefully) there wont be any downtime. This is the upgrade from Clay 1.1 to 1.3, so if you've been following the blog you have an idea how much work has gone it.
Clay 1 now has over 1200 code commits on github. I've been working on rounding out Clay 1.3 and I'd planned on updating the site today, but I got sidetracked working on the Pages app and then some other things came up.
On my marathon to Clay 1.3, I forgot to update the comments app, so that is what I've mostly been working on lately. A lot of comment systems, that work with as a plugin, create orphanned data when something they are attached to is deleted. Clay supports a delete hook, which resolves that, so I've made sure it is supported by the comments app.
Something interesting I've done lately is hook a plugin to a plugin, by hooking a markdown plugin into comments. It works perfectly, even the update and delete hooks.
Other than those things, I've been working on my Bible app. It is coming along and I plan to put it online when I upgrade to 1.3. It'll also drive a few other apps in Clay 1.3.x, such as categories and pages, maybe even a simple forum.
Finally, I also plan to build a store front app in the not so distant future. I'm not sure what I'll sell yet.
Our story begins like no other: a message is typed on one computer and then sent to another. It wasn't even sent to another person. When Ray Tomlinson sent that first email in 1971, to himself, he began something that has forever changed the world. It was before the Internet, but it was a step, a step among many beginnings that has shaped the digital world in which we live.
Philosophically, every action has an effect, an affect, and a return. We are finite beings and we see the world in a finite plain, but the reality is beginning is infinite and end is infinite. The digital world we live in provides infinite possibilities, but we are so consumed by the finite now, that we lose sight of the beginnings and the ends.
The Internet today is seen as a few conglomerate services provided by seemingly infinite corporations. The Internet is Facebook or YouTube. It's Google. It's Netflix. It's Amazon. I remember when it was Compuserve. It was AOL. It was MySpace. It was Digg. It was Yahoo! We built PHPBB forums for our friends. We built GeoCities web pages. It was infinite, it was beginnings.
We look at what we have today and we think, "this is it, this is what we wanted." Just as we did when we signed into AOL or committed our code to CVS. That wasn't it, it was only what we had. This isn't it either, it's just what we have. The Internet is changing as much now as it ever has, we are infinitely on the cusp of what we want it to be. One day we will look back at the Internet we have now and marvel as much as we can looking back today.
The future of the Internet isn't a single social network. Facebook is not the end, at least not the only end. It's just a beginning of many beginnings. We have come too far for that to be true and we haven't gone nearly far enough. The future of the web is social, just as one of the first beginnings was when Ray Tomlinson sent himself an email across a room.
The inception of the social web is upon us, we are on the cusp of what we want. We don't need a social network to build it, we are the conglomerate, we are the social web and what we build will only be a beginning.
I made a lot of progress to the base of the Bible app tonight. I have a some ClaySS styling updates that'll be driven by the Bible app, but those shouldn't take very long. Hopefully this week i can finish the menu or get to a good stopping point and get the upgrade ready to deploy. I'll have to do some testing to make sure I havent missed anything, as far as the Clay 1.3 upgrade goes, as well. The Bible site is going to be just the Bible with a search engine at first, then I'll be adding features over time. Hopefully no more than a week or two until i launch it.
The new menu plugin is finally functional as a navbar, i still have to work on the styling for a vertical menu. This plugin has several optional features, including to display the site name, home link, error log link, dashboard link, and user options. Some options will obviously be specific to the menu layout, so more options may be added for the vertical menu. I also plan to have a logo upload/selection option and eventually to add dropdown links.
I added a header plugin group to the theme page templates and the menu is working as expected so far. The reason for so many options is to allow the navbar to be used below the site header or other places on the site, if desired, so it doesn't have to be a single use plugin.
The plugin on my dev build looks and acts exactly like the navbar here, except the links are no longer hard coded into the toolbar template. The toolbar now simply acts as the message center for notifications. Eventually the toolbar will be spun off into a plugin or combined with the menu plugin. Maybe both.
The next step to is work on the vertical styling and add an optional app menu to the app core. The idea there is to allow you to display app features/options in the menu for the app that currently displayed. It'll also allow you to simply load the links for apps without manually adding them one at a time.
I'm making nearly all of the features for the menu plugin optional, because I don't like cookie cutter sites and some of the features will somewhat affect performance.
I've been working on Clay 1.3 again, I've decided to put 2.0 on hold until my business partner is available to help. I have a couple of other sites i want to build with 1.3 in the meantime, so I want to solidify a few features while i have time. I've been working on the menu plugin, which will have horizontal and vertical menu options. My goal is to eventually make the site header customizable by plugins, instead of in the theme, so everything you see at the top of the site will be a part of the menu plugin (optionally).
One of the sites i want to launch is an online bible with commentary. The Bible part is started, but it'll also drive some other features I plan to work on once i get the menu plugin working. It's a site I've wanted to do for years and always got distracted working on something else.
The AF has kept me busy lately so haven't had a lot of time for coding or anything else for that matter. I did try out ApacheBench on Clay 2 tonight. It's a benchmark tool built into Apache. I don't want to mention the results yet, because I need to run some comparison tests against other CMS', but damn...Clay 2 killed it and Clay 1 wasn't all that far behind. Like I said, I want to run some comparisons, but the same benchmarks run on faster systems for WordPress and other popular CMS' aren't even close.
I can tell MySQL connections are my bottleneck, which is probably true for the other tests I've seen, but I ran the tests against a full install of Clay 1 and it still soundly beat them. Once I have time I'll do a match up against the more popular CMS' I've seen benchmarks for just to show a comparison. I can't wait to see what Clay 2 does in a few months, once we finish rewriting the database library and have more optimizations in place. Ironically, my Apache server is setup for development and is quite a bit heavier than I'd run in production.
I'll work on installing some CMS' and when I have time to compile the data I'll put it up here.