Screencast showing building GEOS and Geospatial as a non-root user in action on Linux

The following video is done with GEOS 3.2.0, compiled in gcc 4.3 and g++ 4.3 on Debian as a non root user.

Posted byA nerdy girl at 8:23 PM 0 comments  

UCOSP: 2009 fall term final thoughts

It was a valuable experience to work on the Ingres Geospatial project along with the community. The most valuable ones are not those that I got from the coding, but the co-operation, management, and more importantly, my weakness.

This project is challenging to me since I am the only University of Toronto student working with Ingres and one of the very few UCOSP students who have been grouped with a partner who is not under the same university. In order to co-operate well, I need to know more about the expectation from students at that university from which my partner is in, need to understand more about their work load level, schedules of the semester, etc, which is totally different from the group projects/assignments that I have ever done.

Although it was upsetting when I have not heard anything from my assigned partner until the end of term, because of that I caught the valuable chance to co-operate with other Ingres students as well as the community, and made myself comfortable with the style of the day to day working experience at Ingres.

I would give myself a grade 80 out of 100, with the reasons as follows.

Things that went went well

  • Get myself to be familiar by the Ingres community at IRC, which always guide me back to the right track when I went side ways.
  • Let the Ingres community see the scope of work that Andrew has assigned each of us to when the grading scheme is finalized such that the community has a better picture about the UCOSP students.
  • Attended most of the meetings and updated Andrew and/or my mentors whenever there's news from me.
  • Helped out with the other UCOSP students who are also under Ingres the best that I can, either on IRC or skype.
  • Kept track of and jotted down the solution to the roadblocks that I encounter during the installation and configurations stage, also some cheat sheets for newbies like me to refer to understand the bigger picture more.
  • Organized meetings with UCOSP students at their needs to update each other when normal meetings are cancelled.
  • Updated several wiki pages which had parts that are irrelevant/outdated as I digged deeper about Geospatial.

Things that could have done better
  • Should have contacted Andrew discussing about the organization of the course back in the summer.
  • Although I have mentioned to the Ingres community, but I should have raised the concern about non-responsive partner to the school earlier.
  • Should have better time mangagement, especially at peaks of assignments/midterms/exams.


After this term, I am more assure of my interest about project management and software architectural design, as well as about my abilities and weakness.

Posted byA nerdy girl at 7:29 PM 0 comments  

UCOSP: status report #14

Back on Wednesday, I have committed the "guiding patch" into the repository. I followed these steps, confirmed with the Ingres community that this is how I should be working for development:

  1. Go to https://bugs.ingres.com/ to create a ticket as "New enhancement" for development. The ticket system is not only used for bugs, but also development purpose.
  2. do "svn commit --username=yourUserName /path/to/file.s -m=#123456 your description", where 123456 is the ticket number that you have created
  3. commit 1 fix/small feature at a time
  4. after committing, send off a quick email notifying everyone that something has just committed.


Other than that, I have also been reading on this knowing more about the structure of the Ingres code.

As for my understanding now, the current development is currently focusing on improving the robustness of this following part.
adu – This is where most of the actual expression and function semantics live. ADU contains code for string functions, date functions, coercions, and more.


For the rest of the week, I'll be working closely with Chuck Thibert on the small part that he's also working on.

Posted byA nerdy girl at 6:26 PM 0 comments  

UCOSP: status report #13

I have successfully built the code checked out from Geospatial,
with the dependencies of xerces 2.8 headers, libraries, jam, pax, and pam-devel, GEOS 3.2.0 libraries on Debian as a non-root user.

As I was running runbuild.sh, I ran into problems about the build script could not pick up some libraries(GEOS, LD) on the fly. It turned out to be the case that the path variables are runtime variables, it doesn't influence the linker. In another words, the path variables tell the build script where to find libraries when then are running, while the linker varibales tell the build script where to find the library when it's linking. The most updated code is adjusted such that it simplifies the process for non-root user to compile code.

Before running runbuild.sh, a non-root user need to:

export GEOS_LOC="/path/to/geos-3.2.0rc1/lib"
export GEOS_INC="/path/to/geos-3.2.0rc1/include"
export LD_LIBRARY_PATH=$GEOS_LOC:$LD_LIBRARY_PATH

Besides, if you are not using default libraries, such as using xerces 2.8 instead of 2.7, you need to put the following line to $INC_ROOT/src/tools/port/jam/bldenv
export XERCVERS=28


Chuck Thibert has provided me with a patch which comes with the adjustment for non-root users to start my first try to apply a patch. Alex Trofast and Andrew Ross also provided me with a diff that serves as a guide for me to go through the proper process of building a patch.

Now that I have already applied the patch from Chuck and successfully build Geospatial code. Next, apply the diff!

Posted byA nerdy girl at 7:02 PM 0 comments  

A couple of notes when compiling Geospatial with GEOS, GDAL, MapServer

I have been following this to compile Geospatial under a Debian environment. There are a couple of notes that I want to make

  • As of date 2009-11-15, thanks to Frank Warmerdam, the above wiki says "--with-python" under the configuration of GDAL. However, it is still not clear why the python is required for GDAL. Since MapServer does not use it, and ogr2ogr does not require it. And that python extension for GDAL picks up gcc instead of g++ when make is run and to the point of compiling c++ code.
  • For the configuration of Mapserver, there is a more detailed description for getting the libraries that Mapserver needs to be build on. That provides the links in 1 place where to get: --with-ogr --with-gd=/usr --with-libiconv=/usr/local --with-png=/usr --with-proj --with-php=yes -with-agg=/usr --with-freetype --with-regex=system

Posted byA nerdy girl at 12:57 PM 0 comments  

UCOSP: status report #12

I have talked with the system administrator, Greg, Andrew, IRC to get me enough quota for the C code to build the code.

I am right now working on the install of the components and build the Ingres code hopefully within this weekend.

Posted byA nerdy girl at 7:03 AM 0 comments  

Running install.php of Drupal on Ingres

There are a couple of things to be watch out for before you run the install script:

  • Make sure that you have enable the rewrite module in Apache. To do this, uncomment the following line in \\Apache\conf\httpd.conf
    #LoadModule rewrite_module modules/mod_rewrite.so

  • We need to make sure Drupal will be able to use the modules. To do so, make sure we have these variables set to the following values, if not, then change them:
    • Options Indexes FollowSymLinks
    • AllowOverride All,
    • Order allow,deny
    • Allow from all

  • Since it may take longer than 30 seconds to run the install.php, therefore, we'd better change the maximum execution time in the php.ini located in where the command php -i gives you, to the following line: max_execution_time = 120
  • Make sure that you have the database with the name drupal created in Ingres by the following command: createdb drupal. For Windows user, this will create a database namely drupal with the username system. The command: createdb -uyourusername drupal will create a database with the DBA -uyourusername. By default, for Windows user, createdb -uyourusername drupal, where yourusername is not your windows account name, then you need to type destroydb -usystem drupal or destroydb -uyourusername drupal to delete the database


While you are installing, you should
  • Put drupal as your database name
  • Put username system if your Apache is running as a service, otherwise, put the usename that you've set your apache to be running as.
  • There you go :)

Posted byA nerdy girl at 9:42 AM 0 comments  

Fix: Drupal on Ingres, install.php warnings

While running the install script of Drupal on Windows XP, I came across the following warnings.

warning: ingres_query() [function.ingres-query]: Error: 7 - Unable to close non-result resource statement in /some_path_of_mine_where_drupal_sits/

Here is a list of actions that you can try out to make the list of warnings go away:
  • You might want to make sure that you have entered the correct user name (user name that apache runs as). Follow this to check if your Apache is running as a service or locally. If it is running as a service, put system as the user name, otherwise, put the windows account user name.
  • You might want to destroydb/createdb again because error messages during install could mess with it.
  • You might find it takes forever to delete the database, try restarting apache and goes again.


If all these don't work, try consulting the IRC channel #ingres :)

Posted byA nerdy girl at 2:49 PM 0 comments  

Fix: Drupal on Ingres,Your web server does not appear to support any common database types.

As of date 2009-Nov-04, Ingres support has not been integrated into the main Drupal product yet.

So when you run install.php under Drupal, if you "Your web server does not appear to support any common database types." Checkout the code from Ingres: http://code.ingres.com/apps/drupal/trunk instead of getting from Drupal.org

Posted byA nerdy girl at 8:42 AM 0 comments  

Basic sql tutorial in Ingres

Here you go!

Posted byA nerdy girl at 7:26 AM 0 comments  

Configuring Apache, PHP, Ingres on Windows Vista

After getting Apache, php, ingres talking to one and other, still no luck in letting Drupal know about Ingres. I need to identify the problem before another round of midterm marching up to me :(.

Today, I digged up another document for the sets of configuration for Apapche, Php, and Ingres for Windows Vista.

Posted byA nerdy girl at 4:21 PM 0 comments  

Fix: Errno 3502, no GRANT or GRANT compatible permit exists

aka, UCOSP: status report #12

Here is a piece of php code that I ran to check I can execute query under my web server.
There it prints this error message:

no GRANT or GRANT compatible permit exists


Reason:
By default, when you create a database, the access to the database is public.
By default, when you create a table/view/procedure the access is restricted to the owner.
You will need to do "grant select on the_table/view/procedure_you_want to public". For convenience, I did "grant all on test" and ran the code above. Remember you will NEED TO log off the database where that table is sitting in order for the above code to work :)

Posted byA nerdy girl at 10:32 AM 0 comments  

Code: Test if Apache is working with Ingres

The following is a piece of code that will help to see if Apache is talking to Ingres

error_reporting(E_ALL);

$link = ingres_connect("your_whatever_database_name")
or die("Could not connect");

echo "Connected successfully
";

?>

Ingres by default creates database with the access type public. If you explicitly put in a user name or password as parameters to ingres_connect for public database, it will fails to connect.

Now that I know Apache is talking to Ingres, next Drupal!

Posted byA nerdy girl at 10:53 PM 0 comments  

UCOSP: status report #11

An alternative way to do what I have been doing for these months, but you don't have the chance to explore the bigger picture like I do, how's that? EasyIngres is a package which automatically installs a PHP development environment on Windows including Ingres 9.2, Apache 2.2.8 and PHP 5.2.9

Posted byA nerdy girl at 8:24 AM 0 comments  

Configuring Apache 2.2 with Ingres 10.0.0.107 on Windows 32 bit XP Home SP3

Configuring Apache 2.2 with Ingres 10.0.0.107 on Windows 32 bit XP Home SP3, aka, UCOSP: status report #10

  • Bring up your command line window by going to start->Run and type cmd. Type "cbf" to bring up the menu for settings of the DBMS Ingres.
    1. Go to DBMS Server->cache Menu, turn the variable 64k caches from "off"(default) to "on".
    2. Go to DBMS Server->cursor_limit, increase from 128(default) to 200.
    3. Go to DBMS Server->system_maxlocks, increase from 50(default) to 1500.
    4. Go to Locking System->per_tx_limit, increase to 1500(default) if it is not.

  • Follow this to check if your Apache is running as a service or locally.
  • If your web server, Apache, is running as a service, then do the following:
    1. Right click My Computer
    2. Select "Properties", then go to "Advanced" Tab, click onto "Environment Variables", go to the section of "System variables".
    3. Use Add/Edit to add:
      II_SYSTEM=C:\Program Files\Ingres\IngresIJ
      PATH=C:\Program Files\Ingres\IngresIJ\bin;C:\Program
      Files\Ingres\IngresIJ\utility;%PATH%

    4. Reboot your PC for the Service Control Manager to see the new variables

  • If your web server, Apache, is running via your local Windows account, then do the following:
    1. Go to Start->Run, and type "cmd /k C:\Program Files\Ingres\IngresIJ\bin\setingenvs.bat"
    2. Restart the Apache instance, httpd.exe, by typing "C:\your_path_to_apache\bin\httpd.exe -k restart"

  • Follow this here to see if Apache is talking to Ingres


As I move onto configuring Apache with Ingres myself, I have made some side notes when following this wiki here:

  • The wiki above is specific to Fedora Linux as of date 2009-10-29, ways to configure vary for different types and version of Linux as well as Windows.
  • After following the above on the part of changing locking variables of Ingres, and restarted the Ingres instance, the "shocking green light" of "Primary Transaction Log", and "Dual Transaction Log" maybe become a darker green colour. If you check your own errlog.log in "C:\Program Files\\whatever\\Ingres??\ingres\files\", and there is no problem about changing of the variables, then it should be the Ingres Visual Manager(IVM) that got confused :p, so don't worry about that.

Posted byA nerdy girl at 1:09 PM 0 comments  

Solution: How to check as what does Apache is running on Windows XP

The following description is specific to Apache 2.2 and Windows XP, but other OS should be similar.

  1. Start up your Apache instance. There are two ways you can do so: 1. Click "Start" from "Apache Service Monitor". 2. Run "/your_apache_path/Apache2.2/httpd.exe -k start" from commandline.
  2. Bring up your "Task Manager"(Press Ctrl+Alt+Del), go to Process Tab and look for Image Name httpd.exe. If the "User Name" = "SYSTEM", then you are running Apache as a service, otherwise, you are running it from your local Windows XP account.

Posted byA nerdy girl at 1:09 PM 0 comments  

UCOSP: status report #9

While I'm following getting Drupal on Ingres, I come across another set of tutorials that I found them useful in understanding the bigger picture.



Also, today I have come across some command from IRC that I found them useful to configure a php module on Windows.

Make sure...
  • you have your_whatever_module.dll is located in the path stated in the following line inside the php.ini file: extension_dir=whatever_extension_path
  • the variable inside php.ini is enabled to see any error messages
  • you don't have your path slashes backwards, path such as "C:\php\ext" works but "C:/php/ext" won't for Windows user like me.
  • If you run this command: \whatever_path_you_install_the_php\php.exe -i(and it should give you "C:\WINDOWS" by default), then you need to place the php.ini into that directory given by the command.
  • You see the php module that you want to install by running this command: \whatever_path_you_install_the_php\php.exe -m


Good luck installing :)!

I have got the php_ingres.dll module loaded in php, and next configure Apache with Ingres, then Drupal installation.

Posted byA nerdy girl at 8:54 AM 0 comments  

UCOSP: status report #8

I'm trying to get Drupal 7 to talk to Ingres 10 following this here on Windows 32 bit XP home SP3, with PHP 5.3 and Apache 2.2. When I run the script from http://localhost:8080/drupal-6.14/install.php, and it's stucked on

Database configuration
Your web server does not appear to support any common database types.


I have these 2 lines in my php.ini under Apache

extension_dir=C:\php\ext
extenion=php_ingres.dll


The funny thing is Drupal knows about other extension such as php_mysql.dll, but the php_ingres.dll does not, which are also located in C:\php\ext like php_mysql.dll. I have got my version of php_ingres.dll from Grant earlier today since the dll is not up on ESD for Ingres version 10 yet(Thanks so much for Grant again on this).

Apparently, I'm not the only one of the UCOSP students who are still stucked on this. Sarah and Mary has got away from this problem by installing a Linux VM and Evan is still working on it. ARGH, I really want to get this working soon!

Posted byA nerdy girl at 9:31 PM 0 comments  

UCOSP: status report #7

Here are some useful cheat sheets: 1, 2, that I found when I'm playing around with Ingres database while I'm getting drupal installed again T.T

The IRC channel was really useful, I got an extension for php 5.3 and Ingres 10.0.0.107 fresh built from Grant, when it's not even on ESD yet.

But hey, it feels good when I know I'm on the right track and making progress!

Posted byA nerdy girl at 10:23 AM 0 comments  

UCOSP: status report #6

Today, in order for me to add modules to PHP easily for drupal correctly communicating with Ingres, I have got Apache 2.2 and PHP 5.3 configured and installed independent form Xampp on a Windows 32 bit XP Home with SP3. I have followed these 2 tutorials: 1, 2 for Apache and PHP respectively.

There are also some other points that one need to watch out for while you are going through the above tutorials:

  • By default, Skype listens on port 80, kills it before you install Apache with default values.
  • If you have default values while you are installing Apache, remember to go to httpd.conf(the configuration file for Apache) and replace the following line "LISTEN 80" to "LISTEN 8080"
  • After all the configurations of PHP, you want to see if PHP is correctly installed. You have a php file only has a single line phpinfo();, and loading up that is giving you a blank page, should go back to php.ini under Apache and look for the variable "short_long_tag". If it is "Off", replace that "Off" with "On", since "
  • On completion of installation of MySql, it launches automatically, need to brings up the ProcessExplorer to manually kill the instance before you can proceed with tutorial 3. You can always see the error log in the .err file under data directory inside mysql.


Next, move Drupal onto the newly configured server!

Posted byA nerdy girl at 5:18 PM 0 comments  

UCOSP: status report #5

At the meeting today, Evan, Sarah, and I, the three of us discussed the pitfalls of using xampp to make drupal to talk directly with Ingres. They helped me to discoverred that my configuration was not right and my drupal was based on mysql but not Ingres.

Besides, preparing ourselves to build the code, we were comparing our understanding of what exactly is Geospatial. Since we are all not sure if Geospatial is a "specialist" of Ingres or a plugin to Ingres. I can see that we are building the Geospatial code which is one of the branches under Ingres in the repository, and the structure is almost identical to the main Ingres code base, which suggests that it may be the former.

Next week goal: Fix the communication between Drupal and Ingres.

Posted byA nerdy girl at 4:06 PM 0 comments  

UCOSP: status report #4

Today the team of students meet up on skype and discussed our common goals, our status updates, and the grading scheme of the term

Grading scheme:

As Andrew has suggested, we should be graded 75% on 5 patches that each student archieved by the end of the term, 5% on communication, 5% for the 2 blogs, 5% pro-rated for meeting attendance, 5% for participation on the mailing list, 5% for evidence of particupation in the community - mailing list posts, IRC interactions, etc.
However, the students concluded today at the meeting that communication is a very important criteria and determining factor for us to be successful. Some student may be able to get the 5 patches done and pass the course without communicating with the rest of the team. We all wish that the other components can be weight higher to stress their importance.

Status updates:

Eva Wong: Working on her understanding of the bigger pictures of the Geospatial code base while she's working on her build. It seems that her drupal was not communicating with Ingres properly, need to go back to fix that within next week.
Evan James Bowling: Installed Apache, PHP, and Ingres seperately under Windows XP, rather than making use of XAMPP. Resolved an issue to get PHP communicating with Ingres. Next week: Intend to have drupal installed and communicating with Ingres and using the GMap and Location modules.
Mary Mootoo, Sara Castaneda- Danaher: Got linux virtual machine installed on windows laptop with the help of Dr. Steven Case.

We are all working on sync'ing what everyone has and make sure that everyone has Drupal on Ingres, next moving on will be building code, meeting again tomorrow at noon.

Related blog posts:
Mary Mootoo
Eva Wong

Posted byA nerdy girl at 9:14 AM 0 comments  

Fix: Visual Studio 2005 automatic project checkout crashes

I have recently got a copy of Visual Studio 2005 and its .NET framework. I am still new to these development tools.

Problem: Every now and then since a new project has been created, Visual Studio 2005 crashes on automatic checkout on that project.
Fix: Also get Visual Studio 2005 SP1, that includes a fix to this problem

Posted byA nerdy girl at 6:43 AM 0 comments  

UCOSP: status report #3

For this week, I have been getting myself working around with subversion of Microsoft Visual Studio. Ankhsvn is the one that I have got. For next week, since it is packed with midterms, I will keep on working with subversion until next Friday before I'll be resuming my work.

Posted byA nerdy girl at 9:57 PM 0 comments  

UCOSP status report #2

I have been spending this week to get myself familiar with Microsoft Visual Studio and its .NET components. Such as using debugger, watching tutorial videos and demos of how to use the tool to write C code. Next week goal: Build Ingres.

Posted byA nerdy girl at 9:13 PM 0 comments  

Human factor in software engineering

Stressed and unpleasant relationships among co-workers always brings down productivity. As quoted from my professor in one of my small scale project course: Projects are very unlikely to fail on technology, but on human.

The sad thing is, if solving human-related problem is ever a logical one, then it must be NP hard, thus P != NP. In another words, complicated. It's the thing that we programmers are usually bad at.

A friend of mine and I were having a conversation some days ago about the human factor in software engineering, and about leadership in such projects, from there we pulled up this post. The leader of the project team is like every other manager, facing new problems on top of bugs in their code everyday.

Posted byA nerdy girl at 7:59 PM 0 comments  

Using Microsoft Visual Studio to code in C

First step prior to building of Ingres, I need to grab Microsoft Visual Studio. I have been told that Microsoft Visual Studio is a neat tool to build C++, however, I have never heard anything about it for C code. Therefore, the first thing I explore about Visual Studio is that how to get it to work with C code.

Step #0: Know more about Microsoft Visual Studio

Step #1: Get Microsoft Visual Studio

If you are a college/university student, you can get a free copy from msdnaa if your college or university has affiliation with Microsoft. I have obtained a copy under msdnaa at University of Toronto.

Step #2: How to create a new project in C
Create an empty project. You do this by selecting Visual C++ >> General from the left hand tree in the New Project screen and selecting "Empty Project" From the panel on the right. Then once in the project, right click the source files folder from the tree on the left and "Add Item". Now here it will only give you the choice of creating a .cpp file, do it. Once you have the .cpp file created, you can write straight C in there and it will work fine.

Remember that C++ is actually "C" with classes. So you can write C code in a file with a cpp extension and it will execute as C. You could even rename the file later if you like. As long as it is an empty project you won't be including any extra libraries or frameworks that will flag your C as not legit "C++ code".

Step #3: Compiling in C
Ans: Go to Project and Properties, then somewhere in the myriad of options you'll see "Compile as C++" where you can change it to "Compile as C". And while you're at it, change the source file extension to .c instead of .cpp.

Posted byA nerdy girl at 9:45 PM 0 comments  

UCOSP status report #1

A week after the code sprint, the configurations is still going on. This week I have configured Drupal with the remaining modules left over from code sprint, as well as Ingres. Also I have obtained a copy of Microsoft Visual Studio 2005 and its .NET components for moving on to building of Ingres. Since I'm new to Visual Studio and the .NET framework, I will be spending next week to get myself familiar with Microsoft Visual Studio and its .NET components. If I have time, then I'll move onto the building of Ingres.

Posted byA nerdy girl at 9:05 AM 0 comments  

Usability design

Design is not only for the art students with punky shocking pink hair or a CN tower tatoo on their biceps, but also for computer scientists.
Some thoughts that every programmer should bare in mind when they are designing the user interface.

Posted byA nerdy girl at 6:30 PM 0 comments  

UCOSP code sprint: day 3, wrap up and thoughts

Today is the last day of code sprint and everyone is wrapping up and give their thoughts. I agreed with our project head Andrew Ross that communications is really important in collaborations. To the very least, "let the community know what you are doing". On top of that, the community itself is a very useful place to get help from and responses to very specific technical questions. Moreover, this way you also can let the community knows more about you, your interest and ability and put you in the right place to contribute. Afterall, coding should be fun!

Another side note, the most rewarding experience from the code sprint is to "pass it on". It feels so excellent to get them up to speed about their tools and technologies sets needed, such as using version controls, IDE, and how to tackle a problem. I saw myself in the past from my teammates, and wished that only if there had been someone in the past who could have told me all these.

Great experience, great people, great talks, great connections, great food... The only bad point that I can come up with is that at the start of the code sprint, the students should have been "sync-ed" with the tools that they need, regardless if they are familiar with them or not, such that they can spend the time more usefully on things that would be valuable to be done face to face.

Posted byA nerdy girl at 3:50 PM 0 comments  

UCOSP code sprint: day 2

Today our task was to let the CMS, Drupal, to know about the following modules: GMap, Location, OpenLayers. I am new to Ingres and find it would be helpful if there is an "all in a page step by step tutorial" out there for newbies like me. So there you go!

Tutorial for newbies to start working on Ingres Geospatial on Windows XP 32 bit

  1. Every step in the following should be done with the latest update/release
  2. Step through the guide in the movie to download and install Ingres. If you are using home edition, make sure that the Windows'user name that you are logged in with does not contain any space.
  3. Get Xampp - A tool with PHP, Apache, etc and all the necessary configurations in one package.
  4. Note that "//xampp/htdocs/" is the root of your "website".
  5. Get and install Drupal.
  6. Know more on how to use Drupal.
  7. Get the following modules: OpenLayer, Location, and GMap, and let Drupal know these modules exists by following these configurations.
  8. After the modules, checkout the code from repository at http://code.ingres.com/ingres/main.
  9. Build the code that you have checked out by following this here.

Posted byA nerdy girl at 9:47 AM 0 comments  

UCOSP code sprint: day 1

We started off 9am in the morning, with a demo by Andrew Ross about Ingres and valuable advices for our later career. After the lunch, our task for today is to get Apache, PHP, and configured them to work with each other, as well as to get Drupal installed.

I already have the first three on my machine from a all in one package that I have for quite a while: XAMPP. I went smooth myself for the installation back then, but there are various problems encountered by my teammates.

On top of the issue that I had with installation of Ingres. I found that the usability of installation process also has room to be improved for newbies. I would prefer myself not to spend 3 straight days at the code sprint to get every plugin and features into their own place, but use my time more usefully with everyone else. Nevertheless, I had a good time with them!

Posted byA nerdy girl at 6:43 AM 0 comments  

Getting started for code sprint with Ingres!

Tomorrow is the start of the code sprint for my project course, where all the students that are enrolled in UCOSP from universities across North America are invited to meet face to face to get things started, and know each other. As preparation for the great event, I have installed Ingres 10.0 build 107 on my 32bit machine that has Windows XP home edition on.

I once have encountered the problem "Invalid Ingres Username. Please check username, for invalid ingres characters". If you also have this problem, check if the user name of the Windows XP account that you are current log in has any space in it. If there is a space, renaming the user name into one that doesn't have space does not work. I solved it by creating another account that does not have a space and it works well.

Posted byA nerdy girl at 3:50 PM 0 comments  

What every project should have for management

When I was going through the wiki pages of the Ingres Community, I spotted a page that I think every project should have, regardless of its scale, to enhance effectiveness.

Right now the progress speed of Geokudo is nearly 0 character/second due to serious damage to the architectural structure of the code by part of the team from misunderstandings. Due to this, I am appointed as the new project head, to rewrite the project from scratch to improve usability and project management.

Posted byA nerdy girl at 8:56 AM 0 comments  

UCOSP: Ingres Geospatial

For this fall semester, I am going to work on an open source GIS, Geospatial by Ingres under Andrew Ross and UCOSP, which counts towards my CSC494 credit. I am very excited about it and hope that I can contribute successfully in Geospatial by the end of the term.

This is so far my second time cooperating with an open source organization. Recalling from some very precious experience from my first time working with HackyStat, I have answered the following questions to myself.

What skills do you think you will need that you do not have yet?

  • Working with project using Scrum
  • Using a profiler
  • Code reading cramming with little support of documentation
  • Co-operating with a team of tester instead of a few

    Which of your strengths will help you?
  • I am not shy to ask questions
  • I write code that has been receiving feedback with the phrase "code with a second thought"
  • I always use a diagram to illustrate ideas well enough that are complicated to demonstrate

    Which of your potential weaknesses will be ones you need to watch out for?
  • Need to polish on skills to solve conflict in a group
  • Also need to polish on skills to find the right thing to blame for problems that a debugger can't solve

    How do you see this project helping you in your career?
  • Help me to develop skills that I don't have or not so good at which are essential when I start my career after I graduate
  • Obtaining connections to open source organization which are also essential to me

    What in particular interests you the most about this project?
  • The project itself!
  • It is an open source project
  • The technologies that it is used
  • The experience that I can get from contributing into the team

    Posted byA nerdy girl at 7:59 AM 0 comments  

    Education with open source

    Today I have attended a talk by Mark Surman, the director of the Mozilla Foundation, at the Centre for Social Innovation with a couple of grad students. This talk is one of the series of Toronto NetTuesday, and the topic was about Mozilla Service week and CiviCRM.

    It was very kind of him to spend more time with us, the students to have a separate talk. It was about how open source has been co-operating with education to improve the quality of participation and commitment nowadays. Also, he talks about the importance of commitment and openness in open source organization, regarding those two as the key philosophy of open source.

    However, it leaves me a message that it is getting harder to participate into open source if you are new and not very well-known to the industry. Your ideas to contribute will either be cruelly banned, or accepted but with a harsh future. People need to fight very hard for their ideas in order to get funded, which means it's very not likely that they will share until they get the fame/funds that they want. That exactly violates the key philosophy that Mark has proposed. Does that also explains the low men:women ratio(0.1%) in open source area, which women care more about relationships while men care more about goals? What I take away from that talk with Mark is that somehow at sometime, the culture in open source needs to be more open in order for it to be prosperous.

    Posted byA nerdy girl at 6:52 PM 0 comments  

    Geokudo sprint #2

    In the previous few weeks, Geokudo, has been tested with the end users on usability flaws. From there we discover that a majority of them like to draw directly on the map rather than grouping what they have drawn into projects. Also, they find themselves less likely to move from mouse to keyboard when drawing on the map. Considering this, our next sprint will be focusing improving usability, revising the structure of the code due to any effect, and improving documentation.

    A new member, Claudio Yin, has been recruited in our original team of 4. A new fresh mind also have brought us back to think about problems about the structure of the code after refactoring. There are too many source files and the function chaining for each operation is too long. The refactoring problem is, how to make the code easier to read, yet easier to code?

    Our team has another a problem that hasn't found a solution yet. Most of the team are recent grads or full time student who have other things prior to Geokudo. Time to devote is the main concern.

    Posted byA nerdy girl at 7:04 AM 0 comments  

    Schedule

    Posted byA nerdy girl at 8:37 PM 0 comments  

    Niagara on the bike

    Summer was going to end. Fall is already coming which means school is starting soon. 3 other friends and I planned to put an end to this summer with a biking trip from downtown Toronto to Niagara Falls and back.

    Sounds impossible? But we did it and we are glad that we did it! Here are the details that make this 137 km * 2 biking trip possible!

    1. The trail that we biked is the Waterfront trail.
    2. We pair ourselves up, 1 pair of bikers and 1 pair of drivers, then swap at specific locations on which we agreed.
    3. Each leg is around 28 - 32 km long, and we stopped occasionally during each leg for checking out maps and consuming drinks.
    4. The bikers need to carry 2 bottles of water/energy drink per person, snack bars, gel seats, a wrench and other tools for fixing the gears and tires .
    5. We had our luggage on the car to be carried by the drivers
    6. For the last half an hour for the bikers and drivers to meet, we turned on the walkie talkie for confirming the arrival.
    7. We also have the bike maps highlighted and binded such that they are more durable.
    8. Other things that we have also brought along are buggie cords for holding bikes at the back of car, recharger for batteries and personal necessity.
    9. We lived in Diplomat motel which is very clean, has a good price, nice staff and a convenient location.
    10. We had all you can eat breakfast at the corner of the motel for 6.99!
    11. Total cost for 4 people, 2 nights 3 days = 133(motel) + 40(drinks and snacks) + 30(gas) + 70(food) = 273

    First day(2009 August 26): Toronto to Niagara


    2009-08-26
    Second day(2009 August 27): At Niagara


    2009-08-27
    Third day(2009 August 28): Niagara to Toronto


    2009-08-28

    Posted byA nerdy girl at 8:08 PM 0 comments  

    Debugging ajax end to end

  • Zend browser toolbar

    Posted byA nerdy girl at 7:33 PM 0 comments  

    Project cartoon jokes

    This series of cartoon jokes about coding projects in real life is funny yet so true!

    Posted byA nerdy girl at 1:04 PM 0 comments  

    Foods

    Posted byA nerdy girl at 3:05 PM 0 comments  

    Travels

    Posted byA nerdy girl at 3:05 PM 0 comments  

    Configuring Zend debugger for PDT

    I have come across some very useful sites about installing and configuring Zend to work with PDT debug php script

  • debug remote php script
  • debug local php script

    Posted byA nerdy girl at 11:35 AM 0 comments  

    Subclassing in Javascript

    Coming to coding in Javascript, I think it will be neat to have a code snippet which allows a class to extends a parent class. The attached code demonstrate the usage and requires the understanding of the fact that JavaScript is a prototyped-object oriented programming language.

    Posted byA nerdy girl at 12:27 PM 0 comments  

    First project : Geokudo

    The very first application that W3T Productions decided to build is Geokudo - a map master of the future. This GIS provides a way for users to analysis geographic data in the way that they see the best.

    There are several reasons why we pick this as our first project. Currently as international students, we can see the huge market of renting/selling nice houses in some internationally well-known cities like Toronto. Also, around the world, there will be people finding best rated yet nearest restaurant, travelers spotting shortest path for his biking trip, etc. It seems to us that every day there is a significantly large group of people who are relying Google Maps or any GIS for analysis purposes. However, their actions are constrained in a way that they cannot draw on the map as freely as they are drawing on a piece of paper, and thus limits the ways of interactions with the user.

    Due the the above reason, we see the need of providing a GIS that allow users to freely interact with the map in the way that they see the best, and yet help them to analysis the geographical constraints they have in hand and/or share their results with other users.

    Posted byA nerdy girl at 12:08 PM 0 comments  

    Birth of W3T Productions

    To start off my first career post, I am going to gladly announce the birth of W3T Productions. Starting on 10 May, 2009, along with 3 other co-founder, Kien Trinh, Sam Wong and Clara Wong, W3T Productions is ambitious to evolve successfully as a profitable organization.

    At the stage of identifying our mission, vision and values, we identified what is said in the following quote is very true:

    ""Identifying or updating the mission, vision and values statements is usually done during strategic planning."


    At this stage, we are continuing to search for the answers to the following questions before writing the statement down.
    1. How can we be effectively carries out our operations stated in the mission?
    2. What method shall we use to identify vision, since it can range from highly analytical and rational to highly creative and divergent?
    3. How can they serve us as more of a motivational tool than just strings that sounds ambitious?
    4. How shall we we word them?

    There we found an article by Authenticity Consulting that helps us a lot in identifying the first 3, yet the most important statements of W3T Productions.

    Please refer to the W3T Productions website for details on our latest updates.

    Posted byA nerdy girl at 9:42 AM 0 comments  

  •