Creating software projects is composed of many activities. One of them (not very appreciated by typical developer) is building process. The activity should create executables or libraries from source code. You may say now: hey, you forget about documentation, generated API specification, installation, deployment, …! As you can see there are many task realised by this activity.
I’ll review most popular building tools and will point out their strengths and weaknesses:
- Make
- Ant
- Maven
- IDE-based builders
(more…)
Interesting error found on Oracle XE installed for one of projects. After a run of test case that uses JDBC to perform some operations on database all tests started to fail with this exception:
Caused by: java.sql.SQLException: ORA-00600: internal error code, arguments:\
[kdsgrp1], [], [], [], [], [], [], []
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1062)
Restart of Oracle database did not work. Seems table space was broken. I rebuit the database (DROP, then CREATE) and error dissapeared.
Interesting …
What’s the purpose of internal project documentation? To help people do their jobs. Developers need the knowledge to be distributed across the team, testers need definition of proper system behaviour, marketing needs information on product features to sell it.
Questions
Important knowledge that may be required by developers doing updates may be summarized in few sentences:
- Who changed recently that line of code?
- When this method have been changed?
- Why algorithm works that way?
There’s simple method of automatically saving and retrieving this kind of information: Subversion (or any other version control system). How?
(more…)
I just got an email from my monitoring system:
Site: http://twitter.com is down ('502 Bad Gateway')
Looked at main Twitter page and saw this picture:

I checked that Twitter responds very slowly and randomly shows “over capacity” page. You can see details on site-uptime public report. Here’s response graph from last days (measure interval 15 minutes, HEAD requests):

Google AdWords is popular marketing tool that allows you to attract customer attention. You “pay per click” – that means if potential customer that will be directed to your page (or e-commerce site) then you pay.
There are two main variations of this tool:
- matching advert is located based on keywords entered by user in Google search
- matching advert is located based on content of a partner page (AdSense partner)
It seems both methods (keyword and content-based) are equal efficient, but wait: there’s a big difference. When user is searching for some keywords it’s very likely he will be interested in your product/service. When user is coming from AdSense page he may be directed to this page for different reason.
(more…)