Archive

Archive for the ‘Random’ Category

Fossil SCM (DVCS)

January 28th, 2010 Frank No comments
Fossil SCM

Fossil SCM

When I had really discovered DVCS a while back, I didn’t really notice fossil and for that I’m sorry.

I think it is a (for my purposes) viable DVCS in which I’d given consideration before diving in to use Mercurial (although it is a great system and I’ve had no issues with it). Some of the features of fossil are appealing, such as having the bug tracker integrated or the help wiki integration. Obviously this won’t work for all projects, but I think it has potential.

What is particularly interesting is that the site at fossil-scm.org is actually fossil serving itself. Consider the URL when you visit the home page: “http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki”  It’s a wiki page. If you click on a few of the links in the link-bar, I think you’ll see what I mean. The site is it’s repository — or rather the repository contains the site. While this is arguably a good and bad thing, I can find it’s appeal. It’s certainly a new step (for me) in the management of a project.

While I certainly would never migrate all my Mercurial repositories to fossil for the time being, I am strongly considering using fossil for a class project I’ll be completing for SE-450. If for nothing else but to learn more about fossil and to gain insights in to it’s use as it compares to Mercurial. Fossil is suited to some things and Mercurial is suited to some things. Perhaps it’s time to actively use two different VCS depending on my project needs…

More inf o at: http://www.fossil-scm.org/

Categories: Random Tags: , ,

Smells to Refactor

January 21st, 2010 Frank No comments

I’ve recently been coming across the term “smells” or “code smells.” Once you see it in context, it’s quite clear what it means. Something bad to fix. Java.net posted a list of such smells as well as a suggested method to correct it.  Reference lists like this can be helpful. Even if you are not actively studying things like this, it’s good to review to gain a broad view of what types of things should be avoided.

http://wiki.java.net/bin/view/People/SmellsToRefactorings

This link was given to me by my instructor for a Object-Orientated Software Development class. Again, worth while to review.

Happy Birthday tOSU

January 12th, 2010 Frank No comments

I just realized that the 9th was this site’s birthday. This blog is now over one year old! Wow.

Most blogs only last one month! So this is exciting for me indeed. Although slow, the site isn’t dead. :-)

Several studies indicate that most blogs are abandoned soon after creation (with 60% to 80% abandoned within one month, depending on whose figures you choose to believe) [...]

Source: http://www.caslon.com.au/weblogprofile1.htm#ephemerality

Categories: Random Tags:

Status – Site Still Alive

January 12th, 2010 Frank No comments

I wanted to post a bit of a status update. There hasn’t been any new writing on this site for a while and I want to apologize about that — especially since I stopped right in the middle of my Firefox research.

I do intend to continue the pursuit; however, it has taken a backseat to my Graduate studies for the time being. I don’t want to go in to too much detail, but this term I’ve enrolled in two classes instead of just one.

Hang on to the RSS feed, I’ll be back to it shortly.

Categories: Graduate School, Random Tags:

Python Speed – Performance Tips

November 30th, 2009 Frank No comments

Between my graduate studies and such, I’ve been toying around with ProjectEuler.net questions. I’ve answered some in C but most in Python as I wanted to become more competent with Python.

As I was working on a problem, I was having performance problems with my code. I Googled and had come across this. So, I wanted to post this here for reference:

http://wiki.python.org/moin/PythonSpeed/PerformanceTips

The biggest difference for me  was using the xrange function over the range function. Project Euler requires you to iterate over various numbers and such, so when generating large ranges of numbers, xrange is faster… especially when you are simply creating a large range of numbers because you don’t know how high you need to go.

The other section that was also helpful was the code profiling section.

Categories: Random Tags:

Software Engineering Ph.D Dissertations at SIGSOFT

October 15th, 2009 Frank No comments

I’ve been considering possible topics for a master’s thesis. I was bouncing around the ‘net and found the following link. I thought I’d post it here for (1) future reference, and (2) for others who might be interested (though, I suppose you are more likely to find it via Google…)

http://www.sigsoft.org/phdDissertations/

Python Memory Performance

October 8th, 2009 Frank No comments

I’ve been studying Python because it is extensively used in open source projects to script certain types of work or actions. I think Mozilla uses it to verify build time requirements, for example.

But, python itself is a full fledged programming language — not really a scripting language. In fact, Mercurial is written in Python which at first amazed me.

So, anyway as part of my pursuit of studying Firefox, I thought I should (at least) learn the basics of Python so that I could read any relevant scripts. Python is quite different from other languages I’ve encountered.

One thing I started to notice about python is that it seems to use more memory. I’m not sure, nor am I suggesting that it uses more than other languages. I just noticed that memory consumption seemed to grow rapidly when running a python script.

The following article seems to explain why. Instantiating a class is expensive. According to the article, a class is 336 bytes. Since in general, a class will use multiple other classes, I can see why memory consumption was growing rapidly.

Ultimately, I don’t think it matters. You just need to be aware that it happens. A modern computer will run the script without any notice to this phenomenon. You’d need to create a lot of objects to cause a problem. But I do beleive it is worth acknowledge that it happens so that you can be aware of the memory usage. It’s mostly noticeable on my work computer (the company provided) which only has 1 GBs of RAM (it runs Windows XP).

http://www.valuedlessons.com/2008/10/blog-post.html

Categories: Python, Random, Tips Tags:

FireFox – Getting Source Code from Mercurial and 1st build

August 17th, 2009 Frank No comments

This is a follow up post to FireFox — Getting Started. Consider this more of a status post to show my progress in the previously linked post.

I’ve orientated myself on Mercurial a bit but I still have a lot to learn. I must state now that it is completely different from Subversion (SVN) and CVS. If you are new to systems like Mercurial — otherwise known as Distributed Source Control Management systems, I suggest you study up on them. The Mozilla team has put together a great starting out reference which is here and the Mercurial team has put together a great book here.

You can get information on getting the latest tip of “mozilla-central” from the following web page:

https://developer.mozilla.org/En/Developer_Guide/Source_Code/Mercurial

One tip I do want to leave here for others is that you should clone the mozilla-central repository twice. Once from the http site and once from the new local copy.

The first one, which I call clean, is a exact clone of the mozilla-central from Mozilla. I then clone this local repository and work in this new clone. I call this local clone working. With this setup, if you massively screw up your working directory, you can always re-clone your clean copy. I believe I read this in the Mercurial book.

My First Build

This series of blogs posts is actually suppose to be focused on the construction and (in some ways) development of FireFox. But, for me the first step to understanding a given project is to be able to compile or build it and run it. If you can’t build or run it, you can see what your hacking is doing to the results.

I’ve been able to successfully build the source code, however not on Windows as I had hoped. At least not yet. I’ve successfully built it on my Mac OS X machine.

Anyway, I continue with my quest to build on Windows as I suspect most of my research will be on my Windows Vista machine.

I’m not going to include how to build Firefox here. The Mozilla team has done a wonderful job documenting how to build on each environment and furthermore, they have set everything up to be newbie friendly.

My only advice at this point, is to go from top to bottom — don’t skip steps and install everything that they ask. Quite simply, if you skip around without knowing what you are skipping, your build won’t build and the error messages can’t tell you what you are missing. You end up reviewing the directions from top to bottom again.

Again, here are the Simple FireFox build instructions from Mozilla.

Categories: Random Tags: , ,

Printers – Why I don’t like them

August 14th, 2009 Frank No comments

Printers and me never get along; I’ve never known why but this video explains it all:

Printer is a Brat (YouTube)

http://www.youtube.com/watch?v=pQGtucrJ8hM

Categories: Random Tags:

FireFox – Getting Started

July 28th, 2009 Frank No comments

This site was established with the my express desired to learn how  certain major open source software packages work; this was to be a personal endeavor to broaden my horizons.

As it turns out, I ended up enrolling in graduate school. I’m pursuing a Master of Science in Software Engineering — something I’ve been planing since my B.S. (which is as represented).

I lost my focus on this site but I don’t want to. I want to regain that focus and this is my first post to that end.

This post is the information I gather while setting up to review and understand how Mozilla’s FireFox works.

Getting Started with Firefox

A while back, before I had even started writing this post, I posted a question on StackoverFlow.com about how to learn about how FireFox works. I’ve received some great answers.

The answer I chose to accept was from jbinto; who gave a wonderful detailed answer and list of resources to pursue this. I’ll be utilizing these resources along with my own method of stumbling though the code.

I’ve started with the Windows Build Prerequisites page since I’ll be building on windows (vista). I imagine my greatest audience will be Windows users and hence I’ll stick with windows. But I do use Linux and Mac OS X too, so if you have a question about these environments, post a comment and I’ll try to address it.

I’ve downloaded and installed the package. It apparently includes everything you need to build FireFox — Including the Source Control Tool and diffing utilities and such.

I want to work on the latest tip; but apparently, the FireFox team uses Mercurial as their source control tool. I’ve never used this tool so this is good and bad. I can learn to tool but I  have to spend the scarce resource of time to do so. I’ll be taking a short deviation way from my current plan to learn the Mercurial basics.

I won’t be posting much on how to use Mercurial as there is plenty of documentation. Anyway, off to learn about Mercurial — I shall continue with this article series once I’ve obtained the tip of FireFox.

http://mercurial.selenic.com/wiki/