I really, really enjoyed this lecture. This is a recorded talk from Google IO by Chris DiBona (Open Source Programs Manager for Google) While nothing ground breaking is presented — it’s more of an overview talk — the perspective of open source, where open source has come from and where it is going is all interesting.
Chris also touches on the next generation of open source developers or the lack there of. This is why Google introduced Google Summer of Code. Something I wish I could have participated in but I wasn’t a student when they came up with that. Nevertheless, it’s a great program.
I needed a method to backup my web & database servers; while there are a ton of great options out there such as rsync and unison, I found it difficult and time consuming to get the Linux server to sync to Windows*. My main problem was actually more ssh than anything else. Either I don’t know enough about it or the software available on Windows isn’t as developed. (I’d love others’ perspectives on this…)
Anyway, for the time being I decided that the easiest thing for me to do is to write my own little (python) program to handle the backup and automatic retrieval of said backup archives. I don’t push or pull a lot of data between the computers, so pulling full archives though the network (as opposed to the changed bits that rsync or unison would do) doesn’t matter so much to me. The most important part is that the backup is current.
The programs are by no means complicated or unique; in fact, they might be the simplest backup programs ever. I’ve posted the source code at BitBucket.org and can be viewed at: http://bitbucket.org/frankv01/vpsbackup
If you either end up using it or deriving a new backup solution from it, please drop me a line. I’d love to know that.
* You might wonder why someone who writes-on (lives and breaths) open source would use windows… The of matter of fact is my professional work (as of this writing, at least) is done on Windows — SQL Server and the .Net to be specific. I’ve never said anything bad about Microsoft nor will I. I believe that Open Source and traditional closed-source has their place. A software developer can run their coded bases as desired. I, for one, prefer open source to closed-source — paid or otherwise.
At some point during the weekend, I needed to pull a list of existing users on my Linux server. While I expected this to be a trivial task, it took me sometime to come up with the solution.
Part of the problem, ironically, is that it is easy to do but done in an unexpected way. Basically, you accomplish it via the passwd file.
Simply execute the following (on the console, as this is a server and I wouldn’t expect it to have a GUI).
Note: I didn’t definitively explore all of the possible ways one could accomplish this. Once I found this method that effectively gave me the information I was after, I quit looking. If you have additional methods, please post a comment below and I will work it in to the article citing you (and linking to your site) as the source. I would truly appreciate any and all additional methods — even if specific to a distribution.
One of the most difficult aspects of starting to use Linux– a server distribution in particular — is remembering all of the different command line programs that exist in order to aid your work.
Obviously, man is a great reference but that is actually difficult to use when getting started as it itself is a command line program. I was searching for a command to list all of the users on a system (I found it and will post a brief article on that soon) and I stumbled across this, so I wanted to share it (as well as retain it for future reference.)
A bit ago now, I introduced the tOSU-WebServer which is a web server for educational purposes. As explained in my other writings that web server is simple and is not suitable for production use, though it could be modified and improved for that purpose.
I was flipping though Linux magazines and came across the Linux Journal’s article on Mongoose. Mongoose is an open source, self contained web server written in C and implemented in two files.
It is significantly more difficult to understand than tOSU-WebServer, but it has a lot more features. Also, the fact that it’s written in C (as is Apache 2) might be appealing to some. I hope to explore it’s API a bit but I’m not sure I’ll do any formal articles on it. If you can follow the implementation details of tOSU-WebServer, you should be able to orientate yourself on Mongoose (assuming you are familiar with C).
I’ve been using the Simple Tags plug-in on this web site for some time now. I’ve never had a problem or, at least, never noticed a problem. Recently I noticed that the collapsed boxes in the WordPress admin screen (screen shot below) would not expand (among other issues). The problem was isolated to the Add Post interface. I tracked the error down to bad JavaScript used by the simple tags plug in.
Wordpress's Add Post page Collapsible / Expandable box where the error existed.
Once I disabled the plug in, the expand / collapse worked as it should.
I’m not trying to punish or shame the Simple Tags team and I’m not sure the error is universal — it may work fine on your site. I’m simply sharing to help others as it took me some time to isolate the issue. It could have been a combination of plug ins too.
Update: I’ve found that the simple tags plug in is continuing to work properly on my other (more personal) blog http://villasenor.ws/ so the problem was obviously some combination of plug-ins on this site and not simple tags alone.
I had to move one of my databases from the main OS drive to a different partition. Being that I’ve not administered my own mysql database before — nothing beyond SQL level administration — I needed to find some sort of guide. I found the following and was quite pleased; I thought that other might be able to use this.
While this post is not strictly about the internal workings of an open source software package, it does have to do with the administration of notable open source software and hence, worth this blog’s posting.
The one thing to note is that the instructions seem out of date. The instructions were written using Ubuntu Server 7.10 (Gutsy Gibbon) as a basis. The instructions worked for me except for the apparmor note below. I’m currently using Ubuntu Server 8.04 LTS.
You many need to modify apparmor’s configuration file and then restart the service. You can see the conversation in the comments (on the article) about it, but the brief version of it is:
Complete the main instructions first (Understand the entire article before starting.)
Open nano /etc/apparmor.d/usr.sbin.mysqld
Modify entries pointing to the old location to point to then new location. This will look like: /var/www/mysql_datadir/ r, /var/www/mysql_datadir/** rwk,
Restart apparmor which can be done via: /etc/init.d/apparmor restart
It’s no secret that this site is ran on top of Apache and MySQL. In fact, since I’ve previously advertised that this is a WordPress site, that is really clear.
Given my recent server move, I’ve been reconfiguring certain things. In fact, I have control that I have never had before, and truthfully I’ve learned things I’ve previously masked myself from. Despite possible difficulties and risks, I shouldn’t have done that to myself; I’d recommend to anyone to take responsibility of setting up their own server. It’s wroth while learning.
That said, I ran in to a small issue where the entire site wasn’t always rendering. While I’ve never completely isolated the problem, I did recall coming across the following on ServerFault:
When Apache and MySQL are installed their default configs assume they are working with more RAM available to them which can cause problems.
Along with that, the author posted starting guidelines which one can use to tweak their own install. While I’m not a Sys-Admin expert, I suspect this would be a good starting guideline. I don’t want to republish other peoples work, and hence the links are below:
I have a lot of respect for Open Source; as you can see, my entire blog is centered around the exploration of open source software for educational purposes.
Despite my following of open source software and my affinity for it, I never knew until rather recently that there was a formal definition for what can be called open source or not.
Open Source software is more than just receiving the source code. There is criteria that software or a license should meet to meet the Open Source Initiative ‘s definition.
I bring this up to share the fact that there is a driving definition that open source software generally follows.
Per the scheduled laid out, the migration is completed. As the DNS servers catchup, some users may experience outages but for the most part this site is up again.
Recent Comments