So as you can tell, this site is good enough for right now.. However, I'm currently working on a major planned update. Included in this update will be:
- Rebranding to
http://earlz.net (I already own that domain, don't try to extort me)
- Site layout and style will be updated in minor ways to do with the rebranding
- The redirect for http://earlz.biz.tm will be dropped (pretty sure no one is using it anyway)
- URL format will change It will look more like
- Possibly a config-ish page for configuring miscellaneous things such as the code for the project wonderful ads (you'll never see this :P )
- Remove Facebook like buttons
- Self promotion -- Add a link to my new twitter :)
- Possibly replace facebook like buttons with twitter and google+ buttons since facebook wrecks my layout and is overly slow
These changes won't take place for probably a month, and there might be a release between there. Also, don't worry, no action will be needed for updating bookmarks and such. I know how to use permanent redirects :P
So this weekend I decided to work on BarelyMVC more. I've decided it's nowhere near done(though it is usable). So far I've implemented:
- Caching for Route group lists(hint: fairly expensive to generate all of them on each request)
- XML documentation so now Intellisense works on most everything
- Testing (and fixing) for running under Visual Studio 2010/Cassini
- Reworked ViewEngine a bit so now the core code for it is in a separate file(hint: updating is much easier now)
Hopefully tomorrow, I'll have time to implement maybe "type matching" on route variables with regular expressions, and test it under Visual Studio 2012 and maybe Windows Server 2012.
Haven't got this site updated to use the new features yet, but after I do get it updated, I suspect my requests/second capacity will go up by quite a bit.
So, I recently got published at hackaday (hello fellow hackadayers!). With this, I've received a lot of traffic compared to usual. Along with the joys of being published and people actually being interested in my project, I've found that my website handles load really well. Right now I have about 20 times more traffic than usual. Yet, my server's CPU usage has barely spiked. It did average about 1% CPU. Now it's averaging around 2.5% CPU. I'd say that's a definite success for performance. So, basically this means BarelyMVC should be capable of making very performant websites. Of course, a couple thousand views per day isn't necessarily a ton of traffic, but a 1.5% rise in CPU time for such a large increase in traffic definitely indicates that it scales well.
So, I decided to go ahead and put this site's source code in a public repository. Is there anything that isn't fit to go into Bitbucket?
Anyway, you can now obtain the latest and greatest source code of this site at bitbucket
One really good use of this site's code is it was basically BarelyMVC's ideal use-case and is an excellent way to figure out how the whole picture fits together.
Note: For the most part, the source code of the site can be considered BSD licensed. But, the actual user interface design is copyright me. If you want to take my site and make it your own, just make sure to change the CSS to not look like a straight rip off is all I ask.
Well, since Dallas, TX is no longer the closest Linode datacenter for me, I decided to migrate the Linode containing this website to Newark, NJ. There was about an hour of downtime, but other than that, no noticeable changes.
Well, if you're wondering why I haven't been around here for a while the past week or so I'll finally tell everyone why. I ended up accepting a job in Cleveland, Ohio. The company I'll soon be working for is PreEmptive Solutions. I'll be working on their Dotfuscator team. This means, I'll get to have a ton of fun learning .Net's IL.
This move also means I'll be going back to my "work mode". When I work as a programmer, I don't like to come home after 8 hours of programming and do more programming. So, my open source projects will likely see a decrease in activity as will this blog. Though, I do like having small weekend projects sometimes as well. Also, my work on the NVG510 will most likely completely stop. I'll have internet options up there other than U-Verse and won't be stuck with that crappy modem.
Also, this website will most likely end up getting relocated as well. I use Linode for my hosting; with this, I get my choice of data centers. Currently, it's located in Dallas, TX. I'll most likely move it though to New York, NY so that I have less latency.
Well, did a tiny bit of performance tuning(including fixing a bug or two in BarelyMVC). I need to somehow hook a profiler up to my production site to figure out why performance is still so bad though because I can't reproduce it in development.
Anyway, after doing the performance tuning, we're now down to a base line "fastest speed" of about 50ms waiting times(measured by my super simple login page). This is probably Apache and mod_mono overhead.
Single page performance is now much faster though. Waiting times range from 70-90ms. Much faster than the pre-tuning speeds of 150-250ms. I think that's about as fast as I can get single pages(unless I reduce the baseline)
Index performance is now a bit better as well, but it still has quite a ways to go. Index wait times now range from 200-450ms. Better than the pre-tuning range of 350-500ms, but definitely potential to speed it up more. I suspect the main problem is how views are built in something like an index. That and apparently Mono's implementation of StringBuilder is known for performance problems. Also, there is some database optimization that can be done as well such as denormalizing the comment-count.
I guess I'll just have to hook up a profiler and see which bottle neck to fix first.
Well, I finally took the plunge to port Last Year's Wishes to BarelyMVC. I found quite a few bugs from porting it. I also found that porting to BarelyMVC from EFramework isn't too difficult and the code is quite a bit nicer to look at as well.
Anyway, I have noticed one nasty side-effect of BarelyMVC. I'm not for sure if it's the
direct-rendering that's to blame or what, but for some reason page response times seems to be a lot slower. I'm measuring about 400ms for the index, pitiful in my opinion. I guess it's time to track down bottlenecks and fix them. ugh
As you can tell, I added an ad to this site. I actually forgot to disable adblock when I added it as well, and I was trying to figure out why I was having so many problems getting it to display.
But anyway, depending on the amount of ad money I get in, it might stay. I'll let it run for a few months at least though. Hopefully it helps me break even on my (inexpensive, but not free) hosting.
Don't worry, I'll never have more than 1 ad(though, I may move that ad's location or make it a 2-block ad). I'm not going to plaster a bunch of crap on here or otherwise Sellout. (What's that? You want my domain name for $1 million? Email me!)
Also, that single ad is displayed on every page of the site nearly. I get about 200-500 unique visitors a day(as of this moment), so if you want to run an ad, give me a couple of pennies :)
So I actually got around to writing code on my website for about an hour and now I have pages I can actually edit without recompiling. So, be prepared for an actual Projects page, and for a lot more updates to happen to the About Me page.
Also, there is now an actual tag index. Check it out. I think it's cool anyway.
Also, be prepared for less hacking on the NVG510 because I actually have some free lance work to do. So I'll try to limit myself to hacking on it during the weekends and late at night.