Archives: April 2011



ryochan7.com open sourced

Posted by ryochan7 on April 19th, 2011  •  View Comments  • 
Tags: blog, projects, github, ryochan7

Over the past day or so, I have been making changes to how this web site is deployed. This web site now utilizes virtualenv. Using virtualenv along with pip has allowed for a much easier transition between development and production setups. My development and productions Python environments can now be identical without much of a hassle and different environments can use different versions of similar Python packages; being able to specify dependencies and install them from pypi using pip is also a great feature. This method of deploying Django projects has become fairly common and working with virtualenv has shown me why it is becoming popular.

Also, I have cleaned up the code for this web site a little bit. To help ease pushing updates to the Webfaction servers and as a means of showing what components make up this web site, the code for this web site is now on GitHub at https://github.com/Ryochan7/asylum.

YouTubed-2x 2011.03.26 release

Posted by ryochan7 on April 15th, 2011  •  View Comments  • 
Tags: projects, youtubed-2x

If you have been paying attention to my GitHub profile, you would have seen that I have been making improvements to my old programs. YouTubed-2x is an application that I wanted to fix up using the knowledge that I have gained over the past couple of months. YouTubed-2x has been a decent flash video downloader but there have been issues that have been a part of the program for too long.

I am releasing a new version of the main archive because there are still some downloads of the older archives. One thing that must be mentioned is that there is no pre-built Windows version. Running this application on Windows would require an installation of Python, the PyGTK all-in-one bundle, and pywin32 extensions; I cannot get py2exe to cooperate with my new setup. Some of the improvements in this version are more useful on the development front but there are a few changes that users would probably like.

  • Test suite rewritten. Now each parser test is independent and can be tested separately. It is now much easier to test which parsers are broken using only one test run.
  • Logger starting to be used in the application.
  • The setup.py file has been altered to make it much easier to distribute the application.
  • gsignals are now used in the videothreadmanager to help ease updating the GUI.
  • Tweak for finding an appropriate My Videos folder in Windows.
  • GUI no longer locks during video adding. Performing tasks on other video threads is now possible while one thread is parsing a video page.
  • Download speed is now shown in taskbar.
  • Fixed a long standing issue with locking which would not allow GUI elements to become sensitive after parsing a video page. This issue has annoyed me for over a year but I could not figure out what the problem was. A lock release was being circumvented when canceling a thread which would result in the starting of another thread to no longer be possible. Fixing this issue has shown me the importance of a debugger.
  • YouTube and GiantBomb parsers fixed. This was primarily done in order to test the application.

This application will still not be under major development unless people want continued development of YouTubed-2x. I am happy with the new version and it works very well. Please post comments if you still have an interest in YouTubed-2x.

Screenshot:

YouTubed-2x 2011.03.26

Download: http://www.ryochan7.com/files/projects/youtubed2x/YouTubed-2x-2011.03.26.tar.gz

Easier Development Path

Posted by ryochan7 on April 6th, 2011  •  View Comments  • 
Tags: vim, winpdb, python, netbeans

Over the past few months, I have tried to find ways to be more productive during my coding sessions. Usually, trying to be more productive would just mean writing code and learning something new. However, after my major project during my last semester of school, I found out the hard way that the old way of doings things was not working out well.

The major problem at the time became that I did not have a good tool set in order to make coding easier. My main editor for programming was simple Gedit. I had started using a more minimalist route years ago during my experience writing C++ code with Visual Studio. I didn't not want to be tied down to a tool, especially one that was really buggy. I started writing my coding assignments using Gedit and then compiling the code with g++; I did use Anjuta sometimes but not that often. However, managing larger code bases using that same approach does not work.

Refactoring code was a mess just using Gedit and no autocompletion or documenation look up forced me to search for documentation on Google a lot. Nowadays, I am using GVim for making smaller edits while I am still learning how to use it and NetBeans for project management; PIDA is also a pretty good Vim option for Python development. Refactoring code is so much easier with either program and both programs can perform autocompletion as well as documentation look up and easy navigation to declarations of functions.

Also, I finally have started using tools and performing practices that I should be better acquainted with by now. I have started writing tests as a part of my standard coding practices. Tests are now at least done for the main models of an application. Learning more about testing has really helped with my old YouTubed-2x application since now I have a lot easier way to test for broken parsers. Although, I need to learn more about writing meaningful tests as well as documentation.

A type of tool that I really should have used sometime during my schooling was a debugger. However, I made it through undergrad without ever using a debugger on a project. My debugger of choice was print. To fix this problem, I had forced myself to learn how to use a debugger and my tests have shown me just how important debugging code is and how much easier using a debugger is as opposed to writing text to stdout/stderr. Using a debugger allowed me to fix a couple of long standing bugs in YouTubed-2x that have existed for well over a year. My favorite Python debugger is Winpdb; the debugger in Eric IDE is also good but I have found Eric to be unstable on my system.

Besides learning a lot, what I have been doing has already helped me fix issues that I have had in my projects. I feel like I can approach problems much more easily now and develop solutions more quickly. I feel like I have leveled up over the past few months. Hopefully, these experiments will help in the process of getting a job.


« Feb. 2011
Jan. 2012 »