Google Mail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Software real time clock using timer unit
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  19 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Follow-up To:
Add Cc | Add Follow-up to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers that you hear
 
alex99  
View profile   Translate to Translated (View Original)
 More options 8 Nov, 15:35
Newsgroups: comp.arch.embedded
From: "alex99" <alex.xande...@gmail.com>
Date: Sun, 08 Nov 2009 09:35:23 -0600
Local: Sun 8 Nov 2009 15:35
Subject: Software real time clock using timer unit
I am trying to implement a software real-time clock on ARM using
the timer module.

I am pretty much unable to do it at this point and was hoping that someone
could point me in the right direction -- perhaps even coded examples that
could serve as a way to better understand it. I C language but am a newbie
in
micro-controllers. Have to display time using one of the GPIO ports.

Thanks in advance!

AJ        

---------------------------------------        
This message was sent using the comp.arch.embedded web interface on
http://www.EmbeddedRelated.com


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Arlet  
View profile   Translate to Translated (View Original)
 More options 8 Nov, 16:16
Newsgroups: comp.arch.embedded
From: Arlet <usene...@ladybug.xs4all.nl>
Date: Sun, 08 Nov 2009 17:16:38 +0100
Local: Sun 8 Nov 2009 16:16
Subject: Re: Software real time clock using timer unit

On Sun, 08 Nov 2009 09:35:23 -0600, alex99 wrote:
> I am trying to implement a software real-time clock on ARM using
> the timer module.

> I am pretty much unable to do it at this point and was hoping that someone
> could point me in the right direction -- perhaps even coded examples that
> could serve as a way to better understand it. I C language but am a newbie
> in micro-controllers. Have to display time using one of the GPIO ports.

It would help if you told which ARM controller you're using.

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rich Webb  
View profile   Translate to Translated (View Original)
 More options 8 Nov, 16:25
Newsgroups: comp.arch.embedded
From: Rich Webb <bbew...@mapson.nozirev.ten>
Date: Sun, 08 Nov 2009 11:25:38 -0500
Local: Sun 8 Nov 2009 16:25
Subject: Re: Software real time clock using timer unit
On Sun, 08 Nov 2009 09:35:23 -0600, "alex99" <alex.xande...@gmail.com>
wrote:

>I am trying to implement a software real-time clock on ARM using
>the timer module.

>I am pretty much unable to do it at this point and was hoping that someone
>could point me in the right direction -- perhaps even coded examples that
>could serve as a way to better understand it. I C language but am a newbie
>in
>micro-controllers. Have to display time using one of the GPIO ports.

Decide on a useful interval. For a human-space display, a 1 Hz update is
plenty. Then, given your device's clock, PLL setting, and peripheral
clock divider, select a prescaler and match register pair that results
in a 1 Hz event. Set the timer's control registers appropriately and,
depending on the ARM, do the necessary magic to connect the timer match
event to an interrupt.

Keep the running counts of hours/minutes/seconds in the foreground
process, with the timer interrupt service routine just setting a flag
that "it happened." That keeps the interrupt nice and short. The
foreground process resets the flag, does the arithmetic to update the
counts, and displays the result.

--
Rich Webb     Norfolk, VA


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
BlueDragon  
View profile   Translate to Translated (View Original)
 More options 9 Nov, 13:19
Newsgroups: comp.arch.embedded
From: BlueDragon <easy2f...@the.net>
Date: Mon, 09 Nov 2009 14:19:33 +0100
Local: Mon 9 Nov 2009 13:19
Subject: Re: Software real time clock using timer unit

Rich Webb wrote:
> Keep the running counts of hours/minutes/seconds in the foreground
> process, with the timer interrupt service routine just setting a flag
> that "it happened." That keeps the interrupt nice and short. The
> foreground process resets the flag, does the arithmetic to update the
> counts, and displays the result.

I would definitely recommend a different approach - do your clock
accounting in interupt service. If you only set a flag, there is no need
for an intterupt, as you may equally well test the timer event flag in
your software and the sole function of int routine would be setting the
software flag upon setting the hardware flag by timer - the extra
software flag is not needed at all.

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Borgerson  
View profile   Translate to Translated (View Original)
 More options 9 Nov, 15:31
Newsgroups: comp.arch.embedded
From: Mark Borgerson <mborger...@comcast.net>
Date: Mon, 9 Nov 2009 07:31:48 -0800
Local: Mon 9 Nov 2009 15:31
Subject: Re: Software real time clock using timer unit
In article <hd94tg$ii...@julia.coi.pw.edu.pl>, easy2f...@the.net says...
> Rich Webb wrote:
> > Keep the running counts of hours/minutes/seconds in the foreground
> > process, with the timer interrupt service routine just setting a flag
> > that "it happened." That keeps the interrupt nice and short. The
> > foreground process resets the flag, does the arithmetic to update the
> > counts, and displays the result.

> I would definitely recommend a different approach - do your clock
> accounting in interupt service. If you only set a flag, there is no need
> for an intterupt, as you may equally well test the timer event flag in
> your software and the sole function of int routine would be setting the
> software flag upon setting the hardware flag by timer - the extra
> software flag is not needed at all.

That's the way I handle the software RTC.  In my timer interrupt, I
increment a tick count, which is a short integer.  I generally have
between 100 and 480 ticks per second.  When the tick counter reaches
the proper value,  I increment a long integer which is the Unix
seconds count and set the tick count to zero.

That is the minimum timer interrupt handler--and generally takes
only a few microseconds.   If there are other operations that
need to be done at the tick interval with low jitter, they may
also be done in the interrupt handler.

The foreground routine calls a function to retrieve the integer seconds
and does all conversions between that long integer and various time
and date displays using the standard C time conversion routines.
The function to return the seconds has to disable interrupts when
fetching the seconds, since that is not an atomic operation on the
16-bit MSP430.

Mark Borgerson


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rich Webb  
View profile   Translate to Translated (View Original)
 More options 9 Nov, 17:14
Newsgroups: comp.arch.embedded
From: Rich Webb <bbew...@mapson.nozirev.ten>
Date: Mon, 09 Nov 2009 12:14:16 -0500
Local: Mon 9 Nov 2009 17:14
Subject: Re: Software real time clock using timer unit
On Mon, 09 Nov 2009 14:19:33 +0100, BlueDragon <easy2f...@the.net>
wrote:

>Rich Webb wrote:
>> Keep the running counts of hours/minutes/seconds in the foreground
>> process, with the timer interrupt service routine just setting a flag
>> that "it happened." That keeps the interrupt nice and short. The
>> foreground process resets the flag, does the arithmetic to update the
>> counts, and displays the result.

>I would definitely recommend a different approach - do your clock
>accounting in interupt service. If you only set a flag, there is no need
>for an intterupt, as you may equally well test the timer event flag in
>your software and the sole function of int routine would be setting the
>software flag upon setting the hardware flag by timer - the extra
>software flag is not needed at all.

That's a fair cop, given the OP's minimalist requirements. As with Mark,
I'm typically running a higher rate tick in the background but, yes, a
simple 1 Hz ticker could be tested by examining (and resetting) the
match flag.

--
Rich Webb     Norfolk, VA


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Keinanen  
View profile   Translate to Translated (View Original)
 More options 9 Nov, 17:20
Newsgroups: comp.arch.embedded
From: Paul Keinanen <keina...@sci.fi>
Date: Mon, 09 Nov 2009 19:20:02 +0200
Local: Mon 9 Nov 2009 17:20
Subject: Re: Software real time clock using timer unit
On Sun, 08 Nov 2009 09:35:23 -0600, "alex99" <alex.xande...@gmail.com>
wrote:

>I am trying to implement a software real-time clock on ARM using
>the timer module.

>I am pretty much unable to do it at this point and was hoping that someone
>could point me in the right direction -- perhaps even coded examples that
>could serve as a way to better understand it. I C language but am a newbie
>in
>micro-controllers. Have to display time using one of the GPIO ports.

One way of implementing this is assuming that a timer interrupt is
available say at 1234 Hz, thus the average time between interrupts is
810372,77147487844408427876823339 ns.

Just use an ISR, which adds 810373 to a 32 bit nanosecond counter.
Each time the counter overflows (mod 1E9), add one to the second
counter.

If the hardware does not support div/mod instructions usable in ISRs,
just use some base2 operations, which can be implemented with shifts
and mask instructions.

Paul


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Borgerson  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 00:49
Newsgroups: comp.arch.embedded
From: Mark Borgerson <mborger...@comcast.net>
Date: Mon, 9 Nov 2009 16:49:25 -0800
Local: Tues 10 Nov 2009 00:49
Subject: Re: Software real time clock using timer unit
In article <99igf5pkf6kfbllsu4c5kjglcnj27kb...@4ax.com>, keina...@sci.fi
says...

> On Sun, 08 Nov 2009 09:35:23 -0600, "alex99" <alex.xande...@gmail.com>
> wrote:

> >I am trying to implement a software real-time clock on ARM using
> >the timer module.

> >I am pretty much unable to do it at this point and was hoping that someone
> >could point me in the right direction -- perhaps even coded examples that
> >could serve as a way to better understand it. I C language but am a newbie
> >in
> >micro-controllers. Have to display time using one of the GPIO ports.

> One way of implementing this is assuming that a timer interrupt is
> available say at 1234 Hz, thus the average time between interrupts is
> 810372,77147487844408427876823339 ns.

Hmmm,  do you think that interval is sufficiently precise?   ;-)
Given the tolerances and temperature coefficients of standard
crystals,  6 significant figures ought to be enough.

> Just use an ISR, which adds 810373 to a 32 bit nanosecond counter.
> Each time the counter overflows (mod 1E9), add one to the second
> counter.

Is this supposed to be a joke?  Why not just add 1 to a static
short integer in the ISR and increment the seconds count each time
the variable 'rolls over' at 1234?

> If the hardware does not support div/mod instructions usable in ISRs,
> just use some base2 operations, which can be implemented with shifts
> and mask instructions.

That sounds like a special-case software floating point function.

I guess you can make a simple timing chore as complex as you like.
If you keep this up,  you'll get to the 18.2mSec tick interval of
the IBM PC.   ;-)

Mark Borgerson


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Keinanen  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 01:54
Newsgroups: comp.arch.embedded
From: Paul Keinanen <keina...@sci.fi>
Date: Tue, 10 Nov 2009 03:54:59 +0200
Local: Tues 10 Nov 2009 01:54
Subject: Re: Software real time clock using timer unit
On Mon, 9 Nov 2009 16:49:25 -0800, Mark Borgerson

What if the interrupt occurred at 1234.567890123456 Hz rate. That
would require weeks to get a usable reading.

>> If the hardware does not support div/mod instructions usable in ISRs,
>> just use some base2 operations, which can be implemented with shifts
>> and mask instructions.

>That sounds like a special-case software floating point function.

>I guess you can make a simple timing chore as complex as you like.
>If you keep this up,  you'll get to the 18.2mSec tick interval of
>the IBM PC.   ;-)

Some operating systems (Windows NT at least) allowed to specify how
many time units (e.g. 100 ns) occurred between each timer interrupt.

Paul


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Didi  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 03:11
Newsgroups: comp.arch.embedded
From: Didi <d...@tgi-sci.com>
Date: Mon, 9 Nov 2009 19:11:31 -0800 (PST)
Local: Tues 10 Nov 2009 03:11
Subject: Re: Software real time clock using timer unit
On Nov 9, 5:31 pm, Mark Borgerson <mborger...@comcast.net> wrote:

> ....
> The foreground routine calls a function to retrieve the integer seconds
> and does all conversions between that long integer and various time
> and date displays using the standard C time conversion routines.
> The function to return the seconds has to disable interrupts when
> fetching the seconds, since that is not an atomic operation on the
> 16-bit MSP430.

If I understood you correctly, masking the interrupts may be
unnecessary.
This is pretty much how time is kept on the PPC (power architecture,
as
they now have it); two 32 bit register accessing a 64 bit free running
counter. The way to do it is simple: read the MS-part, then read the
LS
part, then the MS again; if the two MS reads differ, repeat.

Obviously the "correct" way to get the real time is the one you
describe, just keep the time as simple as possible and calculate
whatever is needed whenever it is needed. In DPS, I use the mentioned
PPC timebase registers plus a known moment derived upon boot time
and later each hour or so from some platform dependent RTC part
(perhaps none... just using NTP to get the real time over the net
then).

Dimiter

------------------------------------------------------
Dimiter Popoff               Transgalactic Instruments

http://www.tgi-sci.com
------------------------------------------------------
http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/

Original message: http://groups.google.com/group/comp.arch.embedded/msg/261c3d6ac7a3ab7...


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vladimir Vassilevsky  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 03:16
Newsgroups: comp.arch.embedded
From: Vladimir Vassilevsky <nos...@nowhere.com>
Date: Mon, 09 Nov 2009 21:16:11 -0600
Local: Tues 10 Nov 2009 03:16
Subject: Re: Software real time clock using timer unit

Didi wrote:
> two 32 bit register accessing a 64 bit free running
> counter. The way to do it is simple: read the MS-part, then read the
> LS part, then the MS again; if the two MS reads differ, repeat.

Problem with cycle counters is you can't put the CPU to sleep.

VLV


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Didi  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 03:36
Newsgroups: comp.arch.embedded
From: Didi <d...@tgi-sci.com>
Date: Mon, 9 Nov 2009 19:36:24 -0800 (PST)
Local: Tues 10 Nov 2009 03:36
Subject: Re: Software real time clock using timer unit
On Nov 10, 5:16 am, Vladimir Vassilevsky <nos...@nowhere.com> wrote:

> Didi wrote:
> > two 32 bit register accessing a 64 bit free running
> > counter. The way to do it is simple: read the MS-part, then read the
> > LS part, then the MS again; if the two MS reads differ, repeat.

> Problem with cycle counters is you can't put the CPU to sleep.

> VLV

I am sure they do count in nap mode for the parts I have used,
really never used the sleep mode on these though (seemed a bad deal,
almost as much as nap consumption - leaky dense technology... - and
a lot more hassle to get into and out of it).
 But I can understand how this can be a problem with your MCU PPC
parts, I guess you will have to do clock sync every time you come
out of sleep... (not necessarily practical, but could be at times).

Dimiter

------------------------------------------------------
Dimiter Popoff               Transgalactic Instruments

http://www.tgi-sci.com
------------------------------------------------------
http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vladimir Vassilevsky  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 03:55
Newsgroups: comp.arch.embedded
From: Vladimir Vassilevsky <nos...@nowhere.com>
Date: Mon, 09 Nov 2009 21:55:12 -0600
Local: Tues 10 Nov 2009 03:55
Subject: Re: Software real time clock using timer unit

Our machine is BlackFin, and it has 64-bit cycle counter. That would be
very neat for time measurement, however it is stopped in all low power
modes. The cost of keeping the CPU core always awake is +200mW. There
are peripheral timers which can run even if the core is halted, however
they are only 32 bit wide (and designed by stupid idiots). I have to do
tricks to get the continuous and accurate time measurement.

VLV


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Borgerson  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 07:57
Newsgroups: comp.arch.embedded
From: Mark Borgerson <mborger...@comcast.net>
Date: Mon, 9 Nov 2009 23:57:38 -0800
Local: Tues 10 Nov 2009 07:57
Subject: Re: Software real time clock using timer unit
In article <bc7dc65f-bdfa-4527-be36-
5c7f79025...@v25g2000yqk.googlegroups.com>, d...@tgi-sci.com says...

That takes more cycles than the two instructions needed to
disable, then reenable interrupts.  However, it does have the
advantage of avoiding about  1 microsecond of possible jitter
in the response to the timer interrupt.

Mark Borgerson

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Borgerson  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 08:00
Newsgroups: comp.arch.embedded
From: Mark Borgerson <mborger...@comcast.net>
Date: Tue, 10 Nov 2009 00:00:39 -0800
Local: Tues 10 Nov 2009 08:00
Subject: Re: Software real time clock using timer unit
In article <v8hhf5tcu2r3f9eue4iadk73ako07f3...@4ax.com>, keina...@sci.fi
says...

Or two minutes to change to a crystal which is an integer multiple of
your desired time interval.  Isn't it Jeff Ciarcia of Circuit Cellar
who says "my favorite programming language is solder"?

> >> If the hardware does not support div/mod instructions usable in ISRs,
> >> just use some base2 operations, which can be implemented with shifts
> >> and mask instructions.

> >That sounds like a special-case software floating point function.

> >I guess you can make a simple timing chore as complex as you like.
> >If you keep this up,  you'll get to the 18.2mSec tick interval of
> >the IBM PC.   ;-)

> Some operating systems (Windows NT at least) allowed to specify how
> many time units (e.g. 100 ns) occurred between each timer interrupt.

Mark Borgerson

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Uniden  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 20:43
Newsgroups: comp.arch.embedded
From: Uniden <uni...@nospam.net>
Date: Tue, 10 Nov 2009 14:43:09 -0600
Local: Tues 10 Nov 2009 20:43
Subject: Re: Software real time clock using timer unit
In article <MPG.2562bd87152ec982989...@news.eternal-september.org>,
mborger...@comcast.net says...

> Isn't it Jeff Ciarcia of Circuit Cellar
> who says "my favorite programming language is solder"?

If Jeff said that, he is a bastard and should give credit to Steve
Ciarcia.

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Didi  
View profile   Translate to Translated (View Original)
 More options 10 Nov, 20:47
Newsgroups: comp.arch.embedded
From: Didi <d...@tgi-sci.com>
Date: Tue, 10 Nov 2009 12:47:24 -0800 (PST)
Local: Tues 10 Nov 2009 20:47
Subject: Re: Software real time clock using timer unit
On Nov 10, 9:57 am, Mark Borgerson <mborger...@comcast.net> wrote:

> ...
> > If I understood you correctly, masking the interrupts may be
> > unnecessary.
> > This is pretty much how time is kept on the PPC (power architecture,
> > as
> > they now have it); two 32 bit register accessing a 64 bit free running
> > counter. The way to do it is simple: read the MS-part, then read the
> > LS
> > part, then the MS again; if the two MS reads differ, repeat.

> That takes more cycles than the two instructions needed to
> disable, then reenable interrupts.  However, it does have the
> advantage of avoiding about  1 microsecond of possible jitter
> in the response to the timer interrupt.

The benefit is indeed in latency - and in the ability to do this at
user level where masking interrupts is not that fast/easy at all.
But the penalty in time is not as bad as it may seem because of the
"repeat" word; as I have it at the moment here, the timebase
is clocked at 33 MHz, carry from ls to ms occurs once every
130 seconds or so. And without carry we just have 3 reads,
a compare and a branch (with static prediction the obvious way).
Masking/unmasking in power would take 6 instructions, which is
actually more (but this is power/RISC specific, of course).

Dimiter

------------------------------------------------------
Dimiter Popoff               Transgalactic Instruments

http://www.tgi-sci.com
------------------------------------------------------
http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/

Original message: http://groups.google.com/group/comp.arch.embedded/msg/1375ba119288d85...


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Borgerson  
View profile   Translate to Translated (View Original)
 More options 11 Nov, 17:58
Newsgroups: comp.arch.embedded
From: Mark Borgerson <mborger...@comcast.net>
Date: Wed, 11 Nov 2009 09:58:16 -0800
Local: Wed 11 Nov 2009 17:58
Subject: Re: Software real time clock using timer unit
In article <a5c9d81b-a087-43ec-99ec-
46ad11ba5...@d10g2000yqh.googlegroups.com>, d...@tgi-sci.com says...

For an MSP430 running at 4MHz,  1 microsecond of jitter when
servicing  interrupts at 120Hz isn't usually a problem.

On a M68K system or some ARMs,  reading the 32-bit seconds requires
no masking, as reading a long word is an atomic operation.

Which all goes to prove the point that in embedded system programming
a LOT depends on the processor you are using--as well as the
OS (if any).

Mark Borgerson


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Borgerson  
View profile   Translate to Translated (View Original)
 More options 11 Nov, 18:03
Newsgroups: comp.arch.embedded
From: Mark Borgerson <mborger...@comcast.net>
Date: Wed, 11 Nov 2009 10:03:08 -0800
Local: Wed 11 Nov 2009 18:03
Subject: Re: Software real time clock using timer unit
In article <MPG.25638c561500f651989...@news.giganews.com>,
uni...@nospam.net says...
> In article <MPG.2562bd87152ec982989...@news.eternal-september.org>,
> mborger...@comcast.net says...
> > Isn't it Jeff Ciarcia of Circuit Cellar
> > who says "my favorite programming language is solder"?

> If Jeff said that, he is a bastard and should give credit to Steve
> Ciarcia.

DOH!   I should have visited the Circuit Cellar web site to get
the attribution correct.  I may have been mixing up names with
Jeff Bachiochi, who writes the "From the Bench" articles in
Circuit Cellar.

Mark Borgerson


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message, you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google