Thursday, December 25, 2008

Mark Wahlberg wearing Manny Pacquiao Shirt

I just bumped with this pix of Mark during the holiday season with her daughter at LA. It's just cool to see Hollywood stars as fan of Manny.

Monday, December 22, 2008

solved problem: New SQL Server Registration failed: server does not exist or access denied. ConnectionOpen(Connect())

After downgrade of SQL server due to speed problems both on local and remote production server, I can't re-register the remote production server in enterprise manager on local machine.

After many research and googling, registration on the other way/side is successfull but all resolutions on local failed.

Solution:
Remove Server Alias of remote server from local Client Network Utility. This alias makes the remote server name as local that's why it can't connect.

Thursday, December 18, 2008

Importance of a System

Whether its a web-based cms, a windows based application, etc., during any stage of the development we must always remember the long-term goal or the importance of the system we are developing. This is where a programmer's thinking usually fails differently from a project manager.

"Never defeat its purpose", that's what I always say. Otherwise, your efforts are nothing but waste.

Priority for users and administrators are different.

For users, what matters is that they get what they need from the system and that it works perfectly fine when they need it. Top importance for them are:
  1. Content
  2. User-friendliness
  3. Speed
  4. Graphics/Design (least important)
For system administrators, what's important usually are complaints or profit. If nobody audits sys ad's failures, then users are least of sys ad's concerns which is very wrong. Users are the life of the system. If they don't accept it, it's dead. They are the one who test the system into stability. Another thing that will lead to complaint is if something wrong or anything bad happens to the system therefore sys ad's priority are/should be:
  1. Users concerns (list above)
  2. Functionality (bugs, developer's)
  3. Security (vulnerabilities, backup)

Thursday, December 4, 2008

Monday, November 17, 2008

IT priorities 2008/09

Source: ZDNet Asia IT Priorities Survey 2008/09

Monday, November 10, 2008

prism error on chrome...

chrome not ready for sap? or prism not ready for chrome?

Wednesday, November 5, 2008

Philippine Telcos' Wireless Mobile Broadband Comparison/Matrix


Smartbro Globe Visibility Sun Broadband
Connection/ GPRS/EDGE/ GPRS/EDGE/3G/ GPRS/EDGE/
Technology 3G/HSDPA HSDPA/Wiz Wi-Fi 3G/HSDPA








Plan A


Monthly Cost (Php) 799 799 799
Mobile hours 60 hrs 40 hrs 60 hrs
Max speed (bps) 2mb 3G 384k, hsdpa 1.8m 400k
Excess P10 /30 mins P5 /15 mins P0.30 / min
Free x 2 Wi-Fi hrs x




Plan B


Monthly Cost (Php) 999
999 999
Mobile hours not mobile
60 hrs Unlimited
Max speed (bps) 384k 3G 384k, hsdpa 1.8m 400k
Free unlimited hrs, canopy install
3 Wi-Fi hrs x




Plan C


Monthly Cost (Php) 1500 1499 1999
Mobile hours Unlimited 100 hrs Unlimited
Max speed (bps) 2m 3G 384k, hsdpa 1.8m 1.4m
Excess x P5 /15 mins x
Free x Unlimited Wi-Fi x




Prepaid


Usage Cost (Php) P10 /30 mins P5 /15 mins x
Modem Kit P2,500 P2,500 x
Max speed (bps) 2m 3G 384k, hsdpa 1.8m x
Free 5 hrs 1.5 hrs x

Delphi 2009 ??? !!!

Just when I thought Delphi was already obsolete and died, here comes Delphi 2009 with a lot of excellent reviews.

Borland Delphi may have died, CodeGear Delphi 2009 looks like a hit with a by line "The fastest way to build NATIVE Windows applications".

I'll watch retro Santa's videos first then download the trial. Let's see...

Tuesday, November 4, 2008

Solved Problem: SQL Error on Triggers with sub-triggers or sub-queries...

Trigger SQL Statement:
CREATE TRIGGER [dbo].[tr_batch_delete] ON [dbo].[tr_batch]
FOR DELETE
AS
BEGIN
DELETE FROM tr_month WHERE tr_year = (SELECT tr_year FROM Deleted) AND tr_month = (SELECT tr_month FROM Deleted) AND code_country = (SELECT code_country FROM Deleted)
DELETE FROM tr_factor WHERE tr_year = (SELECT tr_year FROM Deleted) AND tr_month = (SELECT tr_month FROM Deleted) AND code_country = (SELECT code_country FROM Deleted)
DELETE FROM tr_adjust WHERE tr_year = (SELECT tr_year FROM Deleted) AND tr_month = (SELECT tr_month FROM Deleted) AND code_country = (SELECT code_country FROM Deleted)
END;

Error:
Server: Msg 512, Level 16, State 1, Procedure tr_batch_delete, Line 5
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.

Solution:
Replace = with IN

Solved Problem: ODBC Error: "Connection is busy with results for another hstmt"

This error has bugged me for a while using Microsoft SQL with Delphi through an ODBC connection. OBDC can only have one active cursor at a time. By default, odbc only retrieves the first 20 records for a query. This error occurs if a query contains more than 20 records which are usually retrieved on demand. This is fine until a second query is executed using same connection/session, the error then pops-out.

I searched and bumped with MARS (Multiple Active Record Sets) articles and solutions but I found an easier one.

Solution:
Set the odbc rowset size to a larger number. If you set it to 200, then the first 200 records will be returned. If you set it to -1 then ALL records will be returned. This is not a good practice and performance will suffer if a query result set is large.

To set the rowset size with the BDE, do the following:

1. Click on your TDatabase component
2. In the object inspector, expand Params
3. Put in a Key of "ROWSET SIZE"
4. Put in the desired value

Changing the rowset size should work with other odbc connection components as well.

Thanks to Sean's post.

Wednesday, October 29, 2008

Tuesday, October 28, 2008

SQL: DISTINCT and SUM using one SELECT Statement

When you do this, you'll have an error like this:

Msg 8120, Level 16, State 1, Line 1
Column 'table1.column1' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

so simply put columns in the GROUP BY clause and it will work fine:

SELECT distinct(column1), column2, SUM(column3)/3 FROM table1 WHERE column2 = something GROUP BY column1, column2

SQL: INSERT multiple records using one INSERT Statement

What would you do if you want to insert whole table or a whole result from a SELECT statement using only a single line of INSERT statement?

Usually a DB Admin will do this in a copy-paste manner:

INSERT INTO Table1 (Column1, Column2) VALUES ('First' , 1);
INSERT INTO Table1 (Column1, Column2) VALUES ('Second' , 2);

This is the solution:

INSERT INTO Table1 (Column1, Column2) SELECT Column1, Column2 FROM Table2 WHERE Column1 = something;

And to insert complicated results from different tables, use UNION ALL:

INSERT INTO Table1 (Column1, Column2)
SELECT 'First' , 1
UNION ALL
SELECT 'Second' , 2
UNION ALL
SELECT 'Third' , 3
UNION ALL
SELECT 'Fourth' , 4
UNION ALL
SELECT 'Fifth' , 5;

Monday, October 20, 2008

Who is Paris Hilton's latest fantasy?


She's holding a copy of our video scandal...

Why so serious? Let's put a smile on that face...

The "Dark knight" may be the greatest Batman ever. I am a Batman fanatic and have watched every single Batman movie and animated series but I've never seen a story so realistic and created in modern times as good as this one. Besides its great action, suspense, and special effects, the movie highlighted the drama within. It captured the being of every character and reasons for every action.

I've read so many outstanding ratings and comments for this movie especially for the performance of the late Heath Ledger as Joker. I myself am stunned on the awesome portrayal of the Joker. Heath excellently captured the scary image of Joker with sense of humor. The over-all image was great, the make-up, hair, costume, posture, voice, laugh, accent, and ofcourse the acting. In this movie, the Batman was not the star but the Joker and Harvey Dent (two-face). Heath deserves an Oscar for this one.

I always buy a shirt for the hero fad. This time, I bought the purple Joker.

Wednesday, October 15, 2008

Nona passed away...

Hi everyone,

Everybody knows what happened already but for the benefit of those who are not aware, especially those who are out of the country, Ate Nona passed away at 11:14 last night.

I was shocked when Belle forwarded me Anthony's text message at 5:30 am. Di na ako nakatulog afterwards. I didn't know that Nona was confined for 3 weeks already.

It was indeed a very very sad news to us because Nona is one of the kindest, if not the kindest person in PCHRD. She's one of our RICUP family, and one of our Herdin team. She as a pioneer of the project, I can proudly say that Nona = Herdin. And if there's someone who will truly miss her and will be affected of her loss at the office, that would be Ate Belle.

I agree with Vince, Nona is a strong woman. We must admire that. I am truly happy I had the chance to have a heart-to-heart one-on-one talk with her regarding work, life, and her disease before I left pchrd, and before she left us.

My deepest condolence to her family, Anthony and their two kids.

We love you Nona, Farewell... We'll miss you but you'll always be in our hearts...

Thursday, September 25, 2008

Wanted: Java Programmer

A colleague's friend is looking for a Java Programmer. Posted at Jobstreet, still has not found a qualified applicant so they lowered their criteria to new fresh grad. Employer is a Belgian owned Company in the Philippines (Pasig). Salary range is P20-30k/mo (daw). Deadline of submission is Nov 09, 2008.

Below is the direct link to Jobstreet's vacancy notice:
http://ph.jobstreet.com/jobs/2008/9/default/20/1975375.htm?fr=C

Good luck job seekers!

"Gain School Advance" in the height of the milk scandal: Manufactured by Fonterra New Zealand

The current Dairy crisis of China made milks have brought scare, specially to parents like us who have kids depending on milk as one of their primary source of nutrition. I just read the news that 43% of Sanlu Group Co., the leading Chinese manufacturer involved in the milk scandal is owned by New Zealand’s largest company and the world’s largest exporter of dairy products, Fonterra Cooperative Group Ltd.

My kid is turning 3 so he needs to switch his milk from "Gain Plus Advance" to "Gain School Advance" as progress from the same milk manufacturers. As I check the manufacturer and country of origin of the milks stated at the bottom-back of the can or box, I found out that Gain School Advance is manufactured by Fonterra unlike Gain Plus Advance which is manufactured by Abbott Ireland.

It may not be from China directly but there is a connection between Fonterra and the scandal. It maybe from New Zealand but how sure are we of the source of ingredients? Although Abbott has made press release assuring consumers of their products, how can we verify?

This discovery pushed me to look for another brand with better source and to be more scrupulous always.

Some of Fonterra's dairy product line here in the Philippines include Anchor Butter, Anchor Milk, Anmum, Anlene, Wham!, etc.

source:
1. http://abbottnutrition.com/news_and_media/press_releases/pressReleaseDetail.aspx?ContentTitle=Abbott%20Nutrition%20Statement%20on%20Infant%20Formula%20Contamination%20in%20China&year=2008
2. http://www.gmanews.tv/story/122742/Health-department-revokes-Chinese-milk-import-licenses
3. http://news.yahoo.com/s/ap/20080924/ap_on_re_as/as_china_tainted_milk

Tuesday, September 23, 2008

Google Phone, match for Apple's iPhone

Google's and HTC's T-Mobile G1 Android Dream Phone (using Google Apps), Apple iPhone's nightmare!!!



More:
http://www.youtube.com/watch?v=05b04oTQbrw
http://www.youtube.com/watch?v=quwXY3w26wg

The new RAM: Magneto

Magnetoresistive Random Access Memory (MRAM): new memory technology, based on electron spin. MRAM promises to bring non-volatile, low-power, high speed memory, and at a low cost, too. MRAM is called "the holy grail" of memory, and has the potential to replace FLASH, DRAM and even hard-discs.

Current memory systems in use include Dynamic and Static Random Access Memory (DRAM and SRAM). While they are faster than their predecessors, they do have some disadvantages. An interruption in the power supply would mean an immediate loss of information currently processed. Computers using these memory systems also take a long time to start up. Imagine turning on a computer and it being ready for use immediately, instead of having to wait for the computer programmes to be loaded. MRAM does away with that wait.

the mram write process:


Source:
http://cordis.europa.eu/fetch?CALLER=EN_NEWS&ACTION=D&SESSION=&RCN=29896
http://en.wikipedia.org/wiki/MRAM
http://www.mram-info.com/

Wednesday, September 10, 2008

Microsoft Internet Explorer (IE) 8 - Worst browser of all time!

As I tried the new beta released of IE 8, it seems almost all sites have broken css, tables, java scripts, errors everywhere, etc. Although they have added a new feature "compatibility view" to correct the broken parts, it's still best to automatically do this just like Mozilla Firefox. IE 8 also added the crash-per-tab only like Google's Chrome. Microsoft should improve its products not worsen. Maybe Chrome will be better than IE after all.

Microsoft has dominated the market but everything will surely fall to right places.

http://cosmos.bcst.yahoo.com/up/player/popup/?rn=3906861&cl=9691448&ch=4226721&src=news

Friday, September 5, 2008

Google Chrome vs Mozilla Firefox

I've been using Google Chrome since its first release and comparing my daily use to Firefox, Chrome definitely needs some polish under the hood.

Some sites that breaks in IE also breaks in Chrome while not in Firefox. RSS feeds also comes out in text only while well represented in Firefox.

But the motive of Google to develop a browser is questionable. I've read their comics justifying their reason but it's still not convincing. Why not help the browser that pioneered and increasingly gets a share of the market? They have supported this browser and its progressing fast. Architecture or approach may be different, but these concepts can be shared to existing browsers especially to the one they support.

We know the battle of Google to free users and be independent from the dominant OS, you'll notice that Chrome is an alternative only for browsers running on Microsoft Windows. Therefore Chrome is a direct hit for Microsoft.

One thing to note about Chrome is that it that by default, it transmits browsing history to Google.

As Michael Malone of ABC News said, "Microsoft only wanted all of our money. Increasingly, it seems that Google wants all of our data,"

Google is a giant in the industry now, and when a giant jumps into the pool, it will surely shake and make giant waves.

trying Microsoft SQL Server - DB Mirror...

SQL Server cannot create the mirroring endpoint, 'Mirroring'.
------------------------------
Create failed for Endpoint 'Mirroring'. (Microsoft.SqlServer.Smo)
------------------------------
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Database mirroring is disabled by default. Database mirroring is currently provided for evaluation purposes only and is not to be used in production environments. To enable database mirroring for evaluation purposes, use trace flag 1400 during startup. For more information about trace flags and startup options, see SQL Server Books Online. (Microsoft SQL Server, Error: 1498)
------------------------------

Hmmm... Let's try this:
http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3786143&SiteID=1

------------------------------

After MSSQL says that it is possible to mirror on 2 instance on same host, it requires mirroring on 2 separate hosts. Therefore, different instance on same host is not allowed after all. Then MSSQL required both hosts to have SQL service pack 2. After updating the engines to SP2, still it won't work. MSSQL=Syet!

Thursday, September 4, 2008

DBA Morning Checklist

Backups
  • Verify that the Network Backups are good by checking the backup emails. If a backup did not complete, contact _____ in the networking group, and send an email to the DBA group.
  • Check the SQL Server backups. If a backup failed, research the cause of the failure and ensure that it is scheduled to run tonight.
  • Check the database backup run duration of all production servers. Verify that the average time is within the normal range. Any significant increases in backup duration times need to be emailed to the networking group, requesting an explanation. The reason for this is that networking starts placing databases backups to tape at certain times, and if they put it to tape before the DBAs are done backing up, the tape copy will be bad.
  • Verify that all databases were backed up. If any new databases were not backed up, create a backup maintenance plan for them and check the current schedule to determine a backup time.

Disk Space
  • Verify the free space on each drive of the servers. If there is significant variance in free space from the day before, research the cause of the free space fluctuation and resolve if necessary. Often times, log files will grow because of monthly jobs.

Job Failures
  • Check for failed jobs, by connecting to each SQL Server, selecting "job activity" and filtering on failed jobs. If a job failed, resolve the issue by contacting the owner of the job if necessary.

System Checks
  • Check SQL logs on each server. In the event of a critical error, notify the DBA group and come to an agreement on how to resolve the problem.
  • Check Application log on each server. In the event of a critical or unusual error, notify the DBA group and the networking group to determine what needs to be done to fix the error.

Performance
  • Check Performance statistics for All Servers using the monitoring tool and research and resolve any issues.
  • Check Performance Monitor on ALL production servers and verify that all counters are within the normal range.

Monday, July 28, 2008

Election Automation supported by Philippine Computer Society (PCS)


This video was taken during my induction as new member and at the same time as the new Chairman of one of the Standing Committee of PCS. We are in the video, try to look for us. Thanks Alex!

Saturday, July 12, 2008

Batman in Anime ??!!!

We've seen Aeon Flux in Anime', The Matrix in Animatrix...

Now, ever wonder what or how the dark knight will look in Japanese Anime'? Now DC, Warner Brothers, worked with Anime'tors to bring us BM fanatics "Six Inter-locking films", one ground-breaking masterpiece. From the producers of "Batman Begins" and "The DarkKnight", six celebrated directors, with the original voice of 'Kevin Conroy'... Witness Batman's journey to the Dark Knight

... Get ready to rage against evil!








Thursday, July 10, 2008

New CB subscription plugin for Joomla!

Here's a pre-glance on the new Community Builder subscription plugin (beta yet) from Joomlapolis.


Thursday, June 5, 2008

Solved problem: MSSQL Enterprise Manager Crashed!

Out of no reason my Enterprise Manager crashed, won't start and gives an error on MMC.exe.

MMC is Microsoft Management Console which opens a lot of Microsoft applications such as different administrative tools and enterprise manager is just one of them.

I tried opening other administrative tools (eg computer management, event viewer, services, etc.) and they are functioning well, therefore mmc.exe is not the problem but enterprise manager itself which is located at "C:\Program Files\Microsoft SQL Server\80\Tools\BINN".

Solution:
I simply deleted a corrupted file at "C:\Documents and Settings\myloginhere\Application Data\Microsoft\MMC\SQL Server Enterprise Manager".

The deleted file will be re-created again when you open and close the E.M.

Thursday, May 29, 2008

Unsolved problem: unidentified values in record causing duplicate view in dbgrid after post

Certain records, whether modified or created as new record in a same or different table with the same values causes duplicate or double records in dbgrid view. A refresh on the dataset removes the duplicate record. Also, I experienced the same problem on a mastersource with a float datatype masterfield opon post of a value with decimal. This causes certain anomalies or errors on program. Again, a refresh statement solves the problem.

But what causes this problem? I never encountered this simple stupidity on other databases except MSSQL.

Monday, May 26, 2008

Solved problem: delphi dbGrid won't/doesn't scroll record position - jologs!

This is the best solution of all. Others are either not functioning, have logical errors, or too complex. This is the most simple:
-----------------------------------------------

unit Unit1

interface

uses
DBGrids, Db, Controls, Windows, Messages,

type
NewControl = class(TControl);

...

private
procedure DBGridScroll(var Message: TMessage);
{ Private declarations }
public
{ Public declarations }

...

procedure TForm1.DBGridScroll(var Message: TMessage);
var
count : short;
begin
if (Message.Msg = WM_MOUSEWHEEL) then begin
count:=HIWORD(Message.WParam);
count:=count div 120;
DBGrid1.DataSource.DataSet.MoveBy(-count)
end else NewControl(DBGrid1).WndProc(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DBGrid1.WindowProc := DBGridScroll;
end;

Sunday, May 25, 2008

My new Sony NW-205F

Sony Walkman Series MP3 Player with Pedometer
Features: 2GB, 18 hrs batt life, digi-FM radio, water resistant, calorie counter, pedometer, stopwatch, presets, equalizer, normalizer, avls, power-saving, auto power-off, stylish design & lcd display, etc.


CNet Review
MP3NewsWire Review
Full spec

Thursday, May 15, 2008

Solved problem: date format variance in MSSQL

Here's another problem I encountered in Microsoft SQL.

Hence I work for an international organization, different countries use different date formats therefore my applications should be flexible to handle different date formats.

when I change my date format at MS Windows regional settings from MM/dd/yyyy to dd/MM/yyy, all applications with date formats following windows settings should all change, especially Microsoft products.

As I check, all dates in the database changed but unfortunately, query does not. Query to MSSQL still reverts and uses MM/dd/yyyy. That's why I had problems with my applications. Its the engine's fault! I solved the problem by converting the date I passed on a SQL statement to the date format that the query uses.

This is why I hate Microsoft. Unfortunately I'm bound to my org's standards.

Solved problem: MSSQL can't be accessed by another host

I had another problem with Microsoft SQL. ODBC on my MS Windows XP can be accessed thru localhost but not by another host. My database is hosted on a PC/Server and should be accessed by another host on a network/environment.

ODBC / DSN error message:
Connection failed:
SQLState: '01000'
SQL Server Error: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.

Duh?? What the?? I'm an expert but Microsoft sure knows how to make you dumb!
I already considered XP firewall settings, turned everything off.. I already have done almost all solutions found in the forums, including removing registry entries.

You know what fixed the prob? Simply add TCP port 445 on XP firewall advanced local area connection settings services. Port 445 is used by Windows for SMB over TCP.

Microsoft should consider commonly encountered problems and make easier solutions.

Compared to Interbase and MySQL, Microsoft SQL sucks! ....as always.

Thursday, March 20, 2008

Family First...

As I watch cable last week, I saw Adam Sandler's movie "Click" again. It never fails to remind me of my priority in life. Sometimes, Well most of the times, I plunge my self to work my goals, mission, and vision. The movie may be a fiction in some angles, but of course the moral of the story is the reality of most of us.

Problem with working in the government

I just recently learned when I was about to tender my resignation that a government employee will not receive any separation or gratuity pay unless he/she retires. I was used to have a back-pay upon my resignation. I even received about P2k for 6 months of work in SM. The government requires private firm to give separation pay and yet they don't? A government employee has privilege of early retirement on 15 years of service. 15 years??? That's bullshit! HR or personnel department should tell this during orientation because if a person doesn't have plans to grow-old and wait for retirement benefits in the government, then working with the government is JUST A WASTE OF TIME!

Batitong's DieCast Collection (inventory)

No. Manufacturer Model Color
1 Fiat Stilo Yellow
2 Peugot 206cc Blue
3 Mitsubishi Pajero
Yellow
4 Honda S2000 Gold
5 Nissan Micra
Orange
6 Mercedes-Benz A-Class Yellow
7 BMW 120i Red
8 Mercedes-Benz Travego (Bus)
Black/Gray
9 Ferrari F50 Red
10 Ferrari Super America
Red
11 Ferrari F430 Red
12 Ferrari F2005 (F1)
Red
13 Mini Mini Cooper
Green/White
14 Volkswagen New Beetle
Dark Gray
15 Nissan FairLady Z (2003)
Blue
16 Ford Explorer Sport Trac (PickUp)
Orange
17 Lotus Elise 111s (2003)
Yellow
18 Ford F Series (1998)
Metallic Maroon
19 Mitsubishi Eclipse Spyder (2007)
Black
20
Toyota
MR2
White
21
Volkswagen
New MicroBus (2001)
Aqua Blue/White
22
Jeep
Grand Cherokee (2000)
Green
23
Toyota
Land Cruiser Prado
White
24
Audi
A2
Light Gray
25
Lamborghini
Gallardo
Orange
26
Mazda
RX 8
Blue
27
Jaguar
S type (1999)
Green
28
Land Rover
Range Sport
Maroon
29
LamborghiniMurcielago
Yellow
30
Nissan
Micra
Black
31
Mitsubishi
Colt
Silver/Gray
32
Chevrolet
Tahoe
Dark Blue
33
Volvo
C70 (spyder)
Gray
34
Chevrolet
3100 (1953)
Orange
35
Mercedes Benz
SLR McLaren
Black

Monday, February 4, 2008

The new member of my collection: 2003 Lotus Elise


I bought this after the Lupus Advocacy Week at SM Mall of Asia. I've been looking for this for so long on many places, Now I finally have it!


My next target: the one in front, Lamborghini Murcielago. Its very rare, but when I found one, there was a damage in left door.




Monday, January 14, 2008

"Never Let Go" by 'Bryan Adams'

Theme song of "the guardian", quite inspirational. Nice melody, nice singer.
---------------------------------------
Can you lay your life down, so a stranger can live?
Can you take what you need, but take less than you give?
Could you close every day, without the glory and fame?
Could you hold your head high, when no one knows your name?
That's how legends are made, at least that's what they say.

We say goodbye, but never let go.
We live, we die, cause you can't save every soul.
Gotta take every chance to, show that you're the kinda man who;
Will never look back, never look down,
and never let go.

Can you lose everything, you ever had planned?
Can you sit down again, and play another hand?
Could you risk everything, for the chance of being alone?
Under pressure find the grace, or would you come undone?
That's how legends are made, at least that's what they say.

We say goodbye, but never let go.
We live, we die, cause you can't save every soul.
Gotta take every chance to, show that you're the kinda man who;
Will never look back, never look down,
and never let go.

...::Never let go, Never let go, Never let go::...

Gotta take every chance to, show that you're the kinda man who;
Will never look back, never look down,
and never let go.

We say goodbye, but never let go.
We live, we die, 'but you can't save every soul.
Gotta take every chance to, show that you're the kinda man who;
Will never look back, never look down,
and never let go.

Will never look back, never look down,
and never let go.

...::Never let go::...