My web applications have been rebuilt from scratch, with better technology and coding standards. I've been spending a lot of my free time the last couple of months working on them. The visual design hasn't changed much - I'm not an artist by any stretch of the imagination, so I'm sticking with simplicity.
I started this blog back in May 2008, as a programming exercise. At times I've taken myself a little too seriously, especially during the 2008 election season, when I was a little stubborn and idealistic. But the last year or so, I've mellowed out, and tried to keep my content fun and light. I still don't have anything truly interesting or educational to say, but I'll at least try to keep it fun.
Updates with this version include:
Color scheme updated from dark red to gold.
Comments are now snappier and cleaner.
Paging has been added.
Things are just generally a little more consistent.
This site is just where I've got various pieces of information about myself, like my rèsumè, education history, movie ranking, etc. No real user interaction here.
Updates include:
Color scheme updated from dark red to green.
Server language changed from C# to VB.NET - not my favorite thing to do, but it's always good to have some experience with different languages.
Website is built using ASP.NET MVC instead of traditional web-forms.
This is my URL shortener, just built for the fun of it, like the blog.
Updates include:
Data access is now done properly, using SQL Server instead of MS Access (I used Access on the previous version to solve specific issues I had with my hosting database - trust me, I wasn't happy about it).
All three applications have also been updated as follows:
All AJAX is done using jQuery instead of ASP.NET AJAX. jQuery is a much better technology.
Database access is now handled using the Entity Framework, instead of a combination of LINQ to SQL and my custom data management project.
The application has been designed using n-tier architecture, with a real presentation layer, service layer (using ASP.NET web services), business layer, and data layer.
My fourth application, JTodo, is down indefinitely. That was probably my biggest project and would take the longest to re-write. I'll probably pick that one back up again sometime in the future, but I'm not in any hurry.
This was also a good time to change my hosting company. I was with GoDaddy, but unfortunately things haven't always gone well with them - there were some technical limitations with their service, and their customer support was simply awful. I switched over to a smaller company called RxHost, based in the United Kingdom, where I've worked directly with the owner, Chirag Desai, during my setup phase. Things have run reasonably smoothly - not perfectly, but Mr. Desai has been there for me to answer all of my questions and guide me through the process of getting things up and running.
I'm still working out some of the bugs - the site has had a tendency to be a little unresponsive since I've turned the switch on, but I'm working on getting that resolved soon. Please let me know if you experience any problems.
I just released a new version of my website and blog. There were a lot of administrative changes that you won't see, but the major changes you will see are as follows:
Color scheme The color scheme has gone from dark blue to dark red, and the blog entry background gradient is lighter, making the text easier to read. I was working on some fonts, but couldn't find a better set of fonts. I'm not saying that mine are the best choice, just that I am so unartistic that I can't find something better. I was also working on some animations like expanding pseudo-popup-windows, and although they worked very well in Chrome and adequately in Firefox, Safari, and Opera, Internet Exploder runs so slowly that I had to give up - the effects just looked like crap. Maybe I'll try some more ideas later, or maybe Microsoft will actually build a good browser someday that runs javascript fast (yeah, like that will happen).
Blog search I've added the ability to search blog entries and comments for given text. With close to 150 blog entries, it may be hard to find old entries, even with the tags in place, so I figured it was time to introduce this function.
Comments awaiting moderation When someone leaves a comment on a blog entry, unless it's coming from a trusted source, I have to approve the comment before it will appear. I added a feature so that if you leave a comment that is awaiting moderation, you'll see the comment yourself with a note telling you that it's awaiting moderation. This is one of many features that are in major blog providers like WordPress, that I'm incorporating into mine. In the future, look for things like OpenID integration, automated Facebook comment integration, and links to link-sharing sites.
Photos There's a new page for my photos: http://www.jtenos.com/photos.aspx. This page allows me to organize my photos into albums. Right now there are only two albums: one from my vacation last summer, and one when I first got my cats. With this page and database solution, I can easily add more photos quickly without a lot of manual manipulation like I had to in the past.
Date: 2010-01-09 23:00:10
Name:
Mat C (via Facebook)
One of these days, you'll go open-source CMS...
Date: 2010-01-09 23:05:54
Name:
Joe Enos
It would make life a whole lot easier, but the whole reason I built it from scratch is for a programming exercise that grows and develops over the years, like a real application. It's forced me to learn about techniques and technologies that have helped me in real life at work.
Recently I've been looking at the Live Messenger API, the programming interface for Microsoft's instant messenger. It's a pretty interesting concept, and I plan on learning more about it in the near future. One of my goals is to display my current personal message on my site - I change it every few days, and always try to come up with something witty or creative (Today's is "Vai kads reali latviešu valodu?" - you can translate it here).
Until then, I've at least incorporated an in-browser messenger client on the left side of my site - it's the button that looks like this:
You can contact me via IM using this link whenever I'm online, even if you do not have a messenger client installed on your machine. Kind of a cool feature - I'm not sure how long it's been around, but it's new to me.
Update: Apparently this technology only works with Firefox and Internet Exploder - I'm having problems with Opera, Chrome, and Safari. One of these days, I'll look into it, and try to determine what went wrong.
It's a straight copy-and-paste from Microsoft, so it's their problem, not mine - but I'll try to fix it anyway.
First off, my most recent post (Delicious) was my 100th blog entry. Of these 100 posts, I'd like to think that at least 5 or 6 of them were actually informative or entertaining in some manner. Even though my focus for this application is development, not content, I've still tried to post at least once or twice per week, and tried to keep things reasonably interesting.
Second, I just hit 100,000 hits in my hit counter. This is intentionally misleading - my hit counter is designed to increase every time the page is requested by any means whatsoever, not just by a person. This means that every time Google, Yahoo, Microsoft, or any other search engine crawls the web, my hit counter goes up. Google is consistently the big one - they hit the site several dozen times every day. In addition, automated spambots and other attackers hit the site quite a bit - for awhile, they were hitting my site about a thousand times per day, attempting to fill my comment box with spam or attempted attacks (of course, I automatically block those comments, but it doesn't stop them from trying). I could fix my counter to ignore these, but I think it's fun to see the numbers jump so dramatically - makes me feel important.
I do track my statistics using Google Analytics, which does a great job tracking legitimate visitor information, browser statistics, referrers, search engine keywords, and several other things, all for free, and of course does a better job than I could do myself. I started using it in October, and the blog started in May, so I can't tell you exactly how many of the 100,000 hits are legitimate - there were over 2,600 legitimate hits since October, so I'd guess in the 3,000 to 3,500 range since the beginning. Since October, there were over 1,200 unique visitors, from 56 countries (about 80% from the US). Google itself refers over half of the traffic, but there are several other significant referrers - A Slacker's Quest For His First Million accounts for 36 visitors, and Math Mechanixs was the referrer for 25 visitors (they've got a link to my AP Is Bad At Math article on their resources page), and a few others referred a dozen or so each. I average 5-10 real unique visitors per day, with a peak of 142 visitors on November 3rd (day before the election), followed by 87 visitors on election day.
I'll continue to post as I find things to talk about, whether they're about software, television, sports, or whatever else I find interesting. And I'll also continue to improve the application itself, adding little new features every now and then, and maybe someday even improve the design so it looks like it was actually designed this century. As always, I welcome suggestions for content, functionality, or design.
Thank you for your continued interest in my rambling.
I've added a new feature to this blog - you'll notice that there is now the ability to rate each blog entry on a scale of 1 to 5 stars. Once you make your selection, the choice is locked in - a browser cookie is utilized to ensure that you can only vote once. Votes are anonymous - the only information I store is the date of the rating, along with the value of the cookie from your browser - it's just a random number assigned when you first view this blog.
Just a fun new feature that I enjoyed building. I'm always looking for ways to improve this site, so if you have any ideas for more enhancements, please feel free to let me know. And please take a second to rate this entry to tell me what you think. I appreciate all feedback I receive.
I have added a mobile page to this blog, available at http://blog.jtenos.com/mobile.aspx. The page has the same "stuff" in it, but in a more compact and simpler format, with no javascript, CSS style, or images - the page renders fast and accurately in my new smart phone. The main page should automatically redirect mobile users to the mobile page, so the regular http://blog.jtenos.com/ link can still be used.
Please let me know if you experience any difficulties using my blog with your own mobile device. I have only fully tested it using my phone, which is running Windows Mobile 6 with Internet Explorer.
Well, I'm officially a real blog now. I've been bombarded with spammers posting comments on the blog, ranging from absolute nonsense to...let's see..."non-family-friendly" material. I am notified whenever a comment is added, so I've been able to quickly remove the offensive comments, but I've decided to add an approval process to comments. Now, whenever a comment is added, it will not be posted until approved by me. This way, I can ignore all of the worthless scumbag spammers, and only post legitimate comments. Comment approval should happen usually within no more than a few hours, depending on when it is posted.
To all of you worthless scumbag spammers out there - Please do something productive with your life, and stop filling the internet with your graffiti.
I am highly offended by this article! I have been accused of being a spaihoafjh asdfjkaj spammer, when in actuality I have duopajgtalth a speaking disorder when I thioadasio type, it is a horrijkashd horribly incurable condaosiasu9... conasuiodq... conoiq394013490 ... condition, and should be treWY*RI(Y(T treated with respect! Not evouias... evykasjk... everyone is a spammmmmjadfas spammer!
Welcome to my blog at http://blog.jtenos.com/. My goal is to post no less than twice per week, with various topics such software development, news, sports, politics, technology, finance, and whatever else I find interesting in any given day. I am definitely not a writer by trade, so I'm sure many of my entries will be short and to the point, and probably not very elegant. But I will do my best to provide well thought out entries, with useful or interesting topics, or at least provide a good laugh. I plan on reading all comments at least once per day, so I will answer any follow-up questions that may come up. Or you can email me directly at blog@jtenos.com.
Instead of using a commercial blogging product such as BlogSpot or FeedBurner, I have built this blog completely from scratch, just like the rest of my web applications (http://www.jtenos.com/ and http://www.jtodo.net/). As of now, it's pretty simple, with basic posts and comments, but as time goes on, I plan on providing more and more functionality, such as RSS, keyword searching, ranking, comments on comments, and other features that are available elsewhere. Expect enhancements to come once every few months.
I'll keep content at a PG rating or above, so I would consider this blog to be family friendly. I ask that any comments follow this standard - please refrain from obscene language. You are welcome to advertise your blog or site, as long as it is related to the actual entry. Any obscene or inappropriate comments will be removed, and if they continue, your IP address will be banned from submitting comments. Comments can be made anonymously, or you can provide your name and/or email address. Please note: if you provide your name or email address, they will be available to anyone reading your comment. If you'd like your comment removed for any reason, please email me at blog@jtenos.com and I will remove it at my earliest convenience.
Date: 2010-09-29 06:06:00
Name: Dan J (via Facebook)
Vb? you comming to the dark side? ;)
Date: 2010-09-29 06:46:32
Name: Joe Enos
Yeah, I feel kind of dirty after writing all that VB. It's really an awful language.
Date: 2010-09-29 21:06:31
Name: Ricardo S (via Facebook)
Dude?! I am sure the rest of your code has some sort of Digital STD now... Good job! :)