public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Resume Update : Aug 22, 2003
@ 2003-08-25  1:28 Scott Leonard
  2003-08-26  4:58 ` Initialization methods in library Ajay Bansal
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Scott Leonard @ 2003-08-25  1:28 UTC (permalink / raw)
  To: gcc-help

Robert S. Leonard
robert_s_leonard@hotmail.com
Full Mailing Address Upon Request
__________________________________________________________

To whom it may concern,

	I am offering you this resume and covering letter as the first step in applying to your organization for a programming or web design related position. I am a St Lawrence College graduate, with a Computer Programming three-year diploma. I was administrator of the Kingston Campus Student Association website during my time at St Lawrence College, and I was asked to teach a semester of programming courses immediately upon graduation in summer of 2002.

	Upon graduation, I launched my career with a contract to revitalize Cantech's website. Cantech is the largest corporate supplier of servers and business solutions in the Kingston area.

	The jewel of my career thus far, is the revitalization project for The Ontario NDP, who asked me to embed special code on their website, for an edge in the coming election. In only a short period of time, The Ontario NDP have a PHP injected website that supports online polling, commenting and robust user community features, FAQs and much more.

	Gemsite is the nickname of the site made for the NDP. This site was tested at Gamespy Industries by hundreds of users, and has hundreds of uptime hours thus far. Gamespy is the largest online network for gaming, and has the highest level of technology on the Internet for delivering quality community based websites and hosting.

	The Gemsite featureset includes:
	+User Authentication and User Action tracking
	+Browser compatibility
	+Poll and Automatic Form Generation
	+Multiple FAQs
	+XHTML validated Commenting Systems
	+Automatic News and Weblogs
	+CSS, PHP & MySQL, and RSS Feed output and input
	+Queued News from users (for approval)
	+Multiple Topic Editing
	+Image upload to database for bios, news, and topic icons
	+Search Engine Optimized
	+Internal Database PHP code
	+100 independent site sections and as many functions
	+Pagination code for easy to use browsing
	+Multiple CSS Templates

	You can view two versions of Gemsite here:
(Ontario NDP Test Site): 	http://ondp.ca/
	Another corporate site I designed is here:
(Cantech Solutions):		http://ctsolutions.com/

	Please feel free to email me at robert_s_leonard@hotmail.com, and I would be open to an interview with you about your information and technology needs.

Regards,
Robert S. Leonard

++++++++++++++++++

RESUME
Robert S. Leonard
robert_s_leonard@hotmail.com
Full Mailing Address Upon Request
__________________________________________________________
Career Objective
To manage a team that reflects my own abilities and aspirations as a programmer.

Summary
An experienced programmer and systems designer with expertise in the following areas:

++ Designing normalized databases.
++ Creating business systems.
++ Enhancing team building.
++ Satisfying customers and fellow employees.
++ Programming needs-based systems.
++ Planning diverse systemic integrations.

Educational History
St Lawrence College, Kingston, Ontario
Computer Programmer Analyst, Systems Analysis, Graduation: June, 2002
Related Coursework : Systems I & II : Detailed systems design instruction. We covered many subjects related to design stages, planning and just-in-time delivery. Advanced Database Design and SQL: Covered DB2, MySQL, Oracle and other database/SQL systems. SELECT, UPDATE, JOINS, INSERTS and database maintenance all covered fully. C++ : Advanced Programming techniques in shell-based, GUI, and OOP environments. Visual Basic: ADO & RDO; SQL, database design using MsSQL and Access.

Experience
Unrelated experience omitted for your convenience.

Ontario NDP, Toronto, Ontario 2003
Designed ondp.ca programming infrastructure and user management systems.
PHP & MySQL Designer,
Designed scalable, user-based, database-driven, polling website resulting in a new experience for voters and the public. Implemented PHP code in FTP file format and database-stored functions and site sections, using GZ packing, allowing for a much faster browsing experience. Assessed new site features in robust commenting system to enable future development by other designers.
Currently preparing site launch within the next two weeks (August 1, 2003) which will result in an edge for the Ontario NDP in the upcoming Ontario provincial election.

Cantech, Kingston, Ontario 2003
Designed ctsolutions.com
PHP & MySQL Designer,
Designed scalable PHP & MySQL website establishing a revitalized presentation for Cantech customers. Implemented MySQL database for topic-oriented website to better enable searching for key terms and information. Assessed future site features with the client to enable future development by other designers. Launched new site in early June allowing ctsolutions.com to once again serve the community better.

St Lawrence College, Kingston, Ontario 2002
Instructor
Taught programming courses. Performed all teaching requirements.

Activities/Interests
Technology, Literature, Film, and Nature.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Initialization methods in library..
  2003-08-25  1:28 Resume Update : Aug 22, 2003 Scott Leonard
@ 2003-08-26  4:58 ` Ajay Bansal
  2003-08-26  4:58 ` Ajay Bansal
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Ajay Bansal @ 2003-08-26  4:58 UTC (permalink / raw)
  To: gcc-help

I have an application that calls a init method in a library lib1 using the
following directive

static void __attribute__ ((__constructor__)) _initfunc();

where _initfunc() is a global method. This method internally calls a method
on a static member variable of a class as shown below

static void _initfunc()
{
      g_Master::CacheCount->Setvalue(1);
}

where the class g_Master is defined in the source file of a library lib2 as
follows

class g_Master
{
     public:
          static CSmSimpleObj CacheCount;
           ................................................
}

CSmSimpleObj g_Master::CacheCount;

The problem is that the initialization of the static member variable in lib2
does not happen before the SetValue method is invoked on it in lib1.
Consequently a core dump occurs. 

The application has been compiled using gcc 3.2.1 on Linux Advance Server
2.1. The above piece of code works fine on Solaris 5.8 if I use the
corresponding #pragma init directive to invoke the init method _initfunc().
Can someone please tell me how I can guarantee initialization of the static
class variables before they are being actually used.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Initialization methods in library..
  2003-08-25  1:28 Resume Update : Aug 22, 2003 Scott Leonard
  2003-08-26  4:58 ` Initialization methods in library Ajay Bansal
@ 2003-08-26  4:58 ` Ajay Bansal
       [not found] ` <200308260459.h7Q4x4FG030333@filter-relay-2.adobe.com>
  2003-08-27 11:58 ` Resume Update : Aug 22, 2003 Eljay Love-Jensen
  3 siblings, 0 replies; 5+ messages in thread
From: Ajay Bansal @ 2003-08-26  4:58 UTC (permalink / raw)
  To: gcc-help

I have an application that calls a init method in a library lib1 using the
following directive

static void __attribute__ ((__constructor__)) _initfunc();

where _initfunc() is a global method. This method internally calls a method
on a static member variable of a class as shown below

static void _initfunc()
{
      g_Master::CacheCount->Setvalue(1);
}

where the class g_Master is defined in the source file of a library lib2 as
follows

class g_Master
{
     public:
          static CSmSimpleObj CacheCount;
           ................................................
}

CSmSimpleObj g_Master::CacheCount;

The problem is that the initialization of the static member variable in lib2
does not happen before the SetValue method is invoked on it in lib1.
Consequently a core dump occurs. 

The application has been compiled using gcc 3.2.1 on Linux Advance Server
2.1. The above piece of code works fine on Solaris 5.8 if I use the
corresponding #pragma init directive to invoke the init method _initfunc().
Can someone please tell me how I can guarantee initialization of the static
class variables before they are being actually used.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Initialization methods in library..
       [not found] ` <200308260459.h7Q4x4FG030333@filter-relay-2.adobe.com>
@ 2003-08-26 12:43   ` Eljay Love-Jensen
  0 siblings, 0 replies; 5+ messages in thread
From: Eljay Love-Jensen @ 2003-08-26 12:43 UTC (permalink / raw)
  To: Ajay Bansal, gcc-help

Hi Ajay,

What you are running into is an "order of construction" problem.

The general strategy to fix the problem is to make an accessor routine that returns the static variable.

Example:
class g_Master
{
public:
    static CSmSimpleObj& getCSmSimpleObj();
}

CSmSimpleObj& g_Master::getCSmSimpleObj {
    static CSmSimpleObj CacheCount;
    static bool doInit = true;
    if(doInit) {
        CacheCount->Setvalue(1);
        doInit = false;
    }
    return CacheCount;
}

If you REALLY want to have the _initfunc in the other library do the Setvalue(1), you'll need something like this:

CSmSimpleObj& g_Master::getCSmSimpleObj {
    static CSmSimpleObj CacheCount;
    static bool doInit = true;
    if(doInit) {
        _initfunc();
        doInit = false;
    }
    return CacheCount;
}

HTH,
--Eljay


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Resume Update : Aug 22, 2003
  2003-08-25  1:28 Resume Update : Aug 22, 2003 Scott Leonard
                   ` (2 preceding siblings ...)
       [not found] ` <200308260459.h7Q4x4FG030333@filter-relay-2.adobe.com>
@ 2003-08-27 11:58 ` Eljay Love-Jensen
  3 siblings, 0 replies; 5+ messages in thread
From: Eljay Love-Jensen @ 2003-08-27 11:58 UTC (permalink / raw)
  To: robert_s_leonard, gcc-help

Dear Robert,

Congratulations on graduating from St Lawrence College.

We would love to have you donate your uncompensated time in pursuit of the all-volunteer efforts of open source and free software.

The organization is a loose confederation of interested programmers who willingly offer their services, just as you have, as a labor of love and altruism.  I know of no other organization that has put forth such unselfish ideals.  Even the all-volunteer, 0% administrative overhead Roman Catholic secular organization Knights of Columbus fall short of our altruistic endeavor.

Welcome aboard!

You can start any time.  You can pursue anything that interests you.  The only things you need are self-motivation, able to work unsupervised (or self-supervised), and a desire to spread the fruit of your labors as GPL or LGPL to the world at large.  (There are other licenses in that same spirit as well, such as IBM Eclipse's CPL... but that's a different organization.)

Sincerely,
--Eljay


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-08-27 11:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-25  1:28 Resume Update : Aug 22, 2003 Scott Leonard
2003-08-26  4:58 ` Initialization methods in library Ajay Bansal
2003-08-26  4:58 ` Ajay Bansal
     [not found] ` <200308260459.h7Q4x4FG030333@filter-relay-2.adobe.com>
2003-08-26 12:43   ` Eljay Love-Jensen
2003-08-27 11:58 ` Resume Update : Aug 22, 2003 Eljay Love-Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).