Tuesday, March 17, 2015

Digest for comp.lang.c++@googlegroups.com - 18 updates in 4 topics

Martijn Lievaart <m@rtij.nl.invlalid>: Mar 17 10:29AM +0100

On Mon, 16 Mar 2015 08:51:55 -0500, BGB wrote:
 
 
> the language also makes enough "fundamental" changes in enough areas
> (and partly ignores the standards in other cases) that it is debatable
> if it is still C, but it is at least a C variant.
 
Fair enough.
 
M4
Martijn Lievaart <m@rtij.nl.invlalid>: Mar 17 10:33AM +0100

On Mon, 16 Mar 2015 11:34:55 -0500, BGB wrote:
 
 
> but, there are now $40 boards with multi-core ARMv7 / Cortex-A family
> processors, which I may consider going for (when I get around to
> ordering another one).
 
And stuff keeps coming in and prices keep going down. Exciting times to
live in. Have a look at the Arietta (€20ish) and the Bananna Pi (€45ish)
f.i.
 
M4
Martijn Lievaart <m@rtij.nl.invlalid>: Mar 17 11:03AM +0100

On Mon, 16 Mar 2015 14:31:40 -0500, BGB wrote:
 
> processors than what I am using for my robotics stuff, but oh well.
> router boards tend to lack usable GPIO pins though and are more
> expensive than the boards I am using.
 
The lower end stuff just cannot keep up with modern network speeds. Used
to make network sniffers with Alix boards, but these are capped at about
2Mbps. Enough for what I want to do, but not for serious stuff.
 
Any ADSL2+ router must be able to handle 40Mbps easily, which means
either hardware support or fast processor with decent IO. I guess the
latter is cheaper, as that is what we are seeing.
 
M4
Martijn van Buul <pino@dohd.org>: Mar 17 11:02AM

* Christopher Pisz:
> take bad programmers, and while they will still write bad code, they
> won't write as bad of code as you would get if you took a bad programmer
> and set him out on a C++ project.
 
That's a Pyrrhic victory. I have an even better solution: If you disallow
them to write code, they won't create any bugs *at all*. Problem solved!
 
C# isn't "easier". It's just as complicated, except that the issues are
different.
 
> I mean, no pointers or allocations by itself cures a lot of bad
> programming problems.
 
It als causes problems: Finalization of objects. A non-issue in C++
(That's what you have destructors for), a continous source of concerns
in C# or java.
 
> If I remember right, there was also no multiple inheritance
 
You remember partially. C# (and Java) don't have multiple inheritance of
*classes*, but do support multiple inheritance of *interfaces* (which in
C++ parlance would be "pure virtual base classes").
 
So, really, they just dumbed it down.
 
> worry about order of instantiation there.
 
Uh, there is. It's essentially the same.
 
> I'm sure there is still horrible code in all languages, but
> statistically, I think C# and Java are a tad bit harder to make
> apocalyptic messes in.
 
From experience, it's also harder to make anything useful (in at least
C#)
 
> Admittedly, I haven't delved very far into either one. I am still
> waiting for the job where I can get paid according to my C++ expertise
> and learn more C# or Java while there.
 
I have one of those jobs. Can I have my C++ problems back? It's less messy
than C# is. Less pointless boilerplate. Less "I don't need to worry about
headerfiles anymore, I can do everything everywhere, so I *will do*
everything everywhere!".
 
Bottom line: Your bad programmers will make a stink no matter what. It's
going to be a different stink, but in the grand scheme of things you'll
be better off if they just stuck to Facebook browsing.
 
--
Martijn van Buul - pino@dohd.org
scott@slp53.sl.home (Scott Lurndal): Mar 17 02:03PM


>Any ADSL2+ router must be able to handle 40Mbps easily, which means
>either hardware support or fast processor with decent IO. I guess the
>latter is cheaper, as that is what we are seeing.
 
Most of the Cavium parts have hardware support to accelerate
packet processing. The small OIII parts (70xx) have few cores
and do most packet processing in hardware. You'll find them in
SOHO routers/IDS. The large OIII parts (78xx) have 16, 32 or 48
cores and can be configured in dual-socket coherent configurations
for up to 96 cores. Mainly found in edge and trunk 10/40Gbe
networking applications (onboard are 2 XLAUI or 8 XUAI or 32 SGMII
ports (40gbe, 10gbe and 1gbe respectively)).
 
http://www.cavium.com/Table.html#OcteonIII
BGB <cr88192@hotmail.com>: Mar 17 10:57AM -0500

On 3/17/2015 4:33 AM, Martijn Lievaart wrote:
 
> And stuff keeps coming in and prices keep going down. Exciting times to
> live in. Have a look at the Arietta (€20ish) and the Bananna Pi (€45ish)
> f.i.
 
yeah.
 
I had been partly torn between getting an ODROID C1 or Raspberry Pi 2 to
use as a robot controller. both are similar priced, with ODROID C1
having a slight speed advantage, but the RPi 2 is closer to a drop-in
replacement for the B+.
 
 
Arietta: looks pretty good.
 
Bananna Pi, well, reasonably good processor at least, but sadly appears
to use the older RPi A/B style 26-pin GPIO header (as opposed to the
newer 40-pin GPIO header).
 
a lot of my projects really nead the GPIOs, even with the B+ which uses
the 40-pin header, for one of my projects I am left considering using
shift-registers due to not having enough pins for all the stuff I want
to wire up to it...
 
for example, the direct use of GPIO pins would be used mostly for
higher-speed controls (controlling motors, ...), and a lot of the
limit-switches and similar would be done via shift-registers (since you
don't really need high speed IO to check for limit switch contact or
similar).
 
another option I had considered before was actually using a B+ or RPi2
in combination with an A+, which could nearly double the amount of
usable GPIO pins (probably with the RPis communicating over I2C or RS232
or similar).
 
likely, more of the real-time stuff would be constrained to the A+, with
the RPi2 being used more for soft real-time tasks (targeting a 1ms
latency rather than a 10us latency).
 
 
another possibility could be something like a PIC32 board or similar
(for the RT motor control part in a dual-board setup), but these are
more expensive and slower (even if potentially a bit more robust in the
face of electrical noise and similar).
 
 
misc observation: there is a type of noise given off by brushed DC
motors which seems to effect any wires within a few inches of the motor,
can be heard over headphones without any direct electrical contact
(sounds basically like the squeal the motors normally make, just in
electrical form), but seems able to be mostly blocked using aluminum
foil (such as by wrapping wires in foil or similar).
 
at short distances, it seems able to adversely effect the reliability of
the RPi (say, running a motor within a few inches of it may cause it to
crash).
 
it seems to correspond some with the power fed into the motors, for
example, it seems stronger at 10 or 15 amps than it is at 5 amps, ...
and rapidly drops off with distance from the motor.
 
 
or such...
BGB <cr88192@hotmail.com>: Mar 17 11:16AM -0500

On 3/17/2015 5:03 AM, Martijn Lievaart wrote:
 
> Any ADSL2+ router must be able to handle 40Mbps easily, which means
> either hardware support or fast processor with decent IO. I guess the
> latter is cheaper, as that is what we are seeing.
 
could be.
 
but, yeah, I have been doing real-time video encoding (from a webcam)
and streaming it over the network, in addition to real-time motor
control, on a processor less than 1/2 the speed of the one in the WiFi
router...
 
not sure what all a WiFi router does beyond things like routing packets
and NAT and similar, but I guess maybe all the encryption/decryption for
things like WPA2 and similar could have an effect...
 
external internet connection is a cable modem in this case.
 
 
or such...
BGB <cr88192@hotmail.com>: Mar 17 12:46PM -0500

On 3/17/2015 9:03 AM, Scott Lurndal wrote:
> networking applications (onboard are 2 XLAUI or 8 XUAI or 32 SGMII
> ports (40gbe, 10gbe and 1gbe respectively)).
 
> http://www.cavium.com/Table.html#OcteonIII
 
the router in question seems to use a higher-clocked Marvell chipset
(apparently single-core).
 
a lot of the other routers seem to use lower-clocked Broadcom chipsets
(mostly in the 600-800 MHz range, often multi-core).
 
not sure the specifics here, like if there is special hardware support,
or whatever else...
 
 
the stuff I am doing with Raspberry Pi's, of course, relies on the use
of Broadcom chipsets.
 
 
if I were doing stuff full-custom, at present I might go for some of
Atmel's ARM chipsets (Atmel seems a little more hobbyist friendly than
Broadcom or similar...).
 
though, sadly, there are still no good hardware stats for those who
would prefer DIP (more convenient for through-hole and wire-wrap
construction).
 
though, it makes sense to keep this stuff on different boards, as any
SMC components are dealing with much lower power-levels typically than
those found on the wire-wrap boards (say, 3.3v vs 24v and uA or mA vs
double-digit amps...).
 
like, say, 3.3v parts don't really play well with exposure to 24v or
similar.
legalize+jeeves@mail.xmission.com (Richard): Mar 17 05:51PM

[Please do not mail me a copy of your followup]
 
Christopher Pisz <nospam@notanaddress.com> spake the secret code
 
>I mean, no pointers or allocations by itself cures a lot of bad
>programming problems.
 
Again, we're back to "stop writing C code". You've had containers and
smart pointers for nearly 20 years and there hasn't been any good
reason to be manipulating raw pointers and allocations for that entire
time.
 
>I have chosen to troll filter/ignore all subthreads containing the
>words: "Rick C. Hodgins", "Flibble", and "Islam"
>So, I won't be able to see or respond to any such messages
 
Funny, you couldn't resist posting to those threads and you've ended
up in my KILL file as a result; I only saw this because someone else
quoted you.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
The Terminals Wiki <http://terminals.classiccmp.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>
woodbrian77@gmail.com: Mar 17 11:47AM -0700

On Friday, March 13, 2015 at 12:03:40 PM UTC-5, Mr Flibble wrote:
> > where any single reference to STL functionality blows the code so out of
> > proportion that it becomes LITTERALLY unusable on constrained hardware.
 
> If you can't get std::vector to work on embedded hardware then either:
 
Std::vector is the exception though. It's the best
container in the standard by a mile. I use std::deque
in one place, but have not lost hope for something
better to come along.
 
 
Brian
Ebenezer Enterprises
http://webEbenezer.net
Christopher Pisz <nospam@notanaddress.com>: Mar 17 03:00PM -0500

On 3/17/2015 12:51 PM, Richard wrote:
> smart pointers for nearly 20 years and there hasn't been any good
> reason to be manipulating raw pointers and allocations for that entire
> time.
 
we're not talking about me. We're talking about bad programmers and
their likelyhood to write bad code in one language or another.
 
Irregardless, one should not use smart pointers for _everything_,
because that can get you into as much trouble as using raw pointers.
I've debugged my fair share of cyclic references that never got released
and questioned why a private member that was used once, allocated in the
constructor and done with int he destructor was made a shared_ptr.
 
 
 
> Funny, you couldn't resist posting to those threads and you've ended
> up in my KILL file as a result; I only saw this because someone else
> quoted you.
 
I have no idea what my troll filter has to do with you or what your
problem is with it, but *shrug*
 
 
--
I have chosen to troll filter/ignore all subthreads containing the
words: "Rick C. Hodgins", "Flibble", and "Islam"
So, I won't be able to see or respond to any such messages
---
Cholo Lennon <chololennon@hotmail.com>: Mar 17 10:35AM -0300

On 03/16/2015 06:51 PM, astro.del.cielo wrote:
 
> astro.del.cielo not indicate Christmas
> It mean something like: a object of the sky
> a small (small) point of the universe
 
Just curiosity, is Spanish your main language?
 
Regards
 
--
Cholo Lennon
Bs.As.
ARG
"astro.del.cielo" <vedi@lasignature.com>: Mar 17 03:55PM +0100

Il 17/03/2015 14:35, Cholo Lennon ha scritto:
>> It mean something like: a object of the sky
>> a small (small) point of the universe
 
> Just curiosity, is Spanish your main language?
 
No, i'm italian
Why? My english is poor? :)
 
--
a.d.c.
Cholo Lennon <chololennon@hotmail.com>: Mar 17 01:55PM -0300

On 03/17/2015 11:55 AM, astro.del.cielo wrote:
 
>> Just curiosity, is Spanish your main language?
 
> No, i'm italian
> Why? My english is poor? :)
 
No, but "astro del cielo" is a valid expression in Spanish (It has the
the same meaning that you have explained in English)
 
Best regards
 
--
Cholo Lennon
Bs.As.
ARG
woodbrian77@gmail.com: Mar 16 04:29PM -0700

On Monday, March 16, 2015 at 3:25:51 PM UTC-5, Mr Flibble wrote:
 
Please don't swear here.
 
http://www.forbes.com/sites/jeffreydorfman/2014/07/12/forget-debt-as-a-percent-of-gdp-its-really-much-worse/
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Mar 17 12:06AM

> On Monday, March 16, 2015 at 3:25:51 PM UTC-5, Mr Flibble wrote:
 
> Please don't swear here.
 
'This video may contain sexual swearwords, I'm afraid. There are 28
'fucks'. Including that one 29. Ah, fuck it, make it 30.' -- Paul Calf
 
/Flibble
scott@slp53.sl.home (Scott Lurndal): Mar 17 02:06PM

>> norm ;)
 
>I think Eisenhower was the last decent President.
>Between Bushes/Clinton/Obama things have gotten worse.
 
Please don't politicize this newsgroup.
Bo Persson <bop@gmb.dk>: Mar 17 12:54PM +0100

On 2015-03-16 16:28, Paul wrote:
 
> T* p = new T[n];
> vector<T> v(p, p + n);
> delete[] p;
 
The standard says (in §18.6):
 
"Required behavior: Return a non-null pointer to suitably aligned
storage (3.7.4), or else throw a bad_alloc exception."
 
So even if you allocate space for zero elements, you still get a valid
pointer to these zero elements (and possibly for some additional
bookkeeping info).
 
 
 
Bo Persson
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: