Proper freeing of memory and sane buffer management goes a long way to creating good, secure code.
Yes, but in every instance I have seen C++ programmers end up
implementing reference counting (by hand) in order to make
these problems tractable. Unfortunately reference counting
is a horribly inefficient solution compared to a decent
garbage collector. Often C++ programmers don't understand
why reference counting is a bad idea, assuming that just because
its large cost is spread over many operations it must be "obviously"
better than those "stop-the-world" (bad) garbage collectors you
find in Emacs and Java 1.0.
Most people were peasant farmers because society as a whole hadn't
gone very far down the path of division of labour and the industrial
revolution. That has very little to do with creation of works of
art.
Anyway, if copyright is so important for the creation of artworks,
how do you propose it should work for people who invest an enormous
amount of time in worthy works which have very limited
markets (as one example: medical encyclopedias in narrow specialities)? Copyright
depends entirely on remuneration based on "market worth", so you
get music labels making huge amounts of money selling crap to lots
of teenagers, while others write underappreciated works of literature
or narrow but worthy works which never make any money. This is
a case where patronage of the arts works much better than copyright.
Rich.
In fact, in those days there would have been very little creative accomplishment at all without the kinds of financial incentives that copyright created, and the ownership of a printing press was a major obstacle to the distribution of creative works.
Google
wrote a paper about
TrustRank
which is designed to evaluate the trustworthiness of
a page, independent of number of links.
(Disclosure: I work in "white hat" SEO, where we try to actually
make sites more friendly, fast and useful for end users; this black
hat SEO stuff doesn't do us any favours at all, so I'm keen to
see these spammers wiped out by any means).
It might save you a split second of typing to write "var" instead of a real type name, but 6 months from now when you have to find a bug in that code, it'll cost you just as much time to figure out what type those variables are.
Actually that's complete nonsense. Type
inference is the norm in functional languages,
and I hardly ever feel the need to annotate
types (which is possible, but rarely done).
The real advantage is when you start to
generate rich structures - possible in
OCaml, for example, but still not possible
in C#/Java. Perhaps they'll get round
to adding that feature next.
I am certainly no libertarian, nor is my
argument a liberatian one as I think you are
trying to portray it.
I also don't read the current situation
in software as being quite so wonderful
as you portray. We have a convicted software
company trying to use government-granted
monopolies to extend permanently its
own natural monopoly in many areas of
packaged software.
Is the current situation a good one? Or
could a better one be engineered? Perhaps
one as existed before the 80s, when
there was essentially, and in actuality,
no government-granted monopoly on software,
and software was freely shared. That was
a time of huge innovation in software -
think, OO programming, functional programming,
LISP, AI, etc etc.
One in which ordinary (non-software)
companies were not burdened with an
indirect, US-based $40-billion dollar
taxation / year just for exchanging
their own information.
I think you are right that the case
is far from proven; but shorter
monopolies (perhaps just 5-10 years
for software) would seem to put most
people in a better place than exists now.
Oh and I should add that I totally agree with
what you said. Except that I don't think it's
a "dirty secret". What was dirty and stupid
was kidding ourselves that we could control
every computer in the world to the extent that
what computers do naturally (copying) could
be constrained to create a completely arbitrary
and artificial scarcity.
I really appreciate the
position you are in.
You're making a living when suddenly the whole
world shifts around you, and your
business doesn't make sense any more.
But you're
acting against a force of nature here. What's
going to happen when people can transfer data
wireless ad-hoc, encrypted over long distances? Or
through their skin when
they brush up against each other in a
crowded train?
How will the police protect you and your copyright
monopoly then?
We are
actually developing a training product. I
can't say whether it will be like yours or
not, because you don't give enough details,
but it'll be distributed on CD and sold for
£20 or so. This is because the market
we are trying to capture (SMEs) still values
stuff they can hold and they pay for.
If people copy it and share it,
you know what, I really don't care. It's
a loss leader for us, designed to get us into
the SME market which is absolutely the hardest
place to be (so many of them, requires massive
marketing budgets normally). It's designed to
get us lots of small consulting contracts that
we can mostly automate.
I run a small software company. The keyword here a is "small." Genuine small business with genuine employees making honest wages. After being tipped off by a customer, I looked at eMule and found that some of our software, which we sell for about 50% the price of our billion-dollar competitor, was being "shared" by 35 users.
I think it's unfortunate that you're
sticking with a business model which
requires artificial scarcity when for
the last 10-15 years we've actually
had a world of unlimited abundance.
Shame, but there you go.
Try releasing your code to
everyone and wonderful things will
happen (and you'll make a good deal of
money through consultancy too, but that's
only part of the fun).
No, but a friend of mine first watched
Reservoir Dogs while tripping on mushrooms.
Apparently the scene where Tim Roth
is shown shot in the stomach in the car felt
quite realistic...
Why? I really don't understand this, what's wrong with divs?
So that your site works in older browsers. -
If it's just a bunch of nested divs, it'll
collapse into short lines of text on an older browser.
So that your site works in text-only browsers.
Not just some Unix reprobates using Lynx,
but people using mobile or otherwise "reduced"
devices.
So that a speech reader (an accessibility device
used by the millions of partially sighted and
blind people in the world) can stress the
structure of the page when reading it, which
helps the visitor to understand how it is
laid out even when they can't see it.
So that you can easily retarget content
just by changing the stylesheet or
(better) providing device-specific
alternate stylesheets.
So that search engine spiders can understand
the structure of your page - eg.
they can identify the important
headings.
So that you don't forget what elements
in your site mean.
is only occasionally necessary, and should
be avoided most of the time.
Admittedly
not a great example of
web design, but structurally it
does the right thing. If you have firefox,
view that web page and go to
View -> Page Style -> No Style
to see the structural markup (or just
use View Source if you're comfortable with that).
Of course we do use <div>, but only
where it's essential. I would prefer to
use it less, or even not at all.
Compare
to this or this
or this
to see the overuse of <div>.
Yes, a few sites are now using CSS. But
often, they still don't "get it" - they've
just replaced with
to arrive
at a mess of divs, instead of a mess of tables.
We call this "CSS tables".
Structural markup is the essential differentiating
factor, not just that you have found out how to
replace tables with divs...
IP addresses and IP address ranges can be banned,
for periods of time. Of course it's hardly
watertight and unfortunately a few people do
abuse Wikipedia. Luckily it is clear that the vast majority of
people editing Wikipedia are well-intentioned.
... and the irony is that the parentheses aren't
necessary. camlp4
is a macro language for extending
ocaml
and it shows that you don't need to express
the language unnaturally just to allow
macros.
These improvements, along with a set of new and updated open-source software components, make OpenServer 6 a compelling upgrade for sites already running this vulnerable operating system.
Rich.
Software patents and innovation
on
GNOME 2.12 Previewed
·
· Score: 2, Insightful
But on the other hand, not having access to those techniques forces the X.org people to come up with innovative solutions to the same problems.
That's what patents are supposed to do. In
practice there are two problems with this.
Firstly what happens if the provably best
algorithm is patented? (think: compression -
eventually someone will come up with an algorithm
which is provably optimal, and patent it).
Secondly what happens if you need to implement
the algorithm to interoperate? That's the
case with these fonts: the fonts include
hinting programs, so in order to display the
fonts as intended you simply have to be able
to run those programs. Unfortunately there
is a patent on running those programs. No amount of
"innovation" is going to help you here.
First, the data first must be recovered, validated, documented, and preliminary analyses must be done. After those tasks are completed (probably taking months to a year),
Why not publish the data immediately, and qualify
and expand it as they go along?
Yes, but in every instance I have seen C++ programmers end up implementing reference counting (by hand) in order to make these problems tractable. Unfortunately reference counting is a horribly inefficient solution compared to a decent garbage collector. Often C++ programmers don't understand why reference counting is a bad idea, assuming that just because its large cost is spread over many operations it must be "obviously" better than those "stop-the-world" (bad) garbage collectors you find in Emacs and Java 1.0.
Rich.
Anyway, if copyright is so important for the creation of artworks, how do you propose it should work for people who invest an enormous amount of time in worthy works which have very limited markets (as one example: medical encyclopedias in narrow specialities)? Copyright depends entirely on remuneration based on "market worth", so you get music labels making huge amounts of money selling crap to lots of teenagers, while others write underappreciated works of literature or narrow but worthy works which never make any money. This is a case where patronage of the arts works much better than copyright. Rich.
Well done - you made my jaw drop in amazement.
I guess you've never heard of The Renaissance.
Rich.(Disclosure: I work in "white hat" SEO, where we try to actually make sites more friendly, fast and useful for end users; this black hat SEO stuff doesn't do us any favours at all, so I'm keen to see these spammers wiped out by any means).
Rich.
Head in a Jar anyone?
It might save you a split second of typing to write "var" instead of a real type name, but 6 months from now when you have to find a bug in that code, it'll cost you just as much time to figure out what type those variables are.
Actually that's complete nonsense. Type inference is the norm in functional languages, and I hardly ever feel the need to annotate types (which is possible, but rarely done).
The real advantage is when you start to generate rich structures - possible in OCaml, for example, but still not possible in C#/Java. Perhaps they'll get round to adding that feature next.
Rich.
OK, I have a question. Probably a very stupid question, but in that case please tell me why.
Why not air-launch from hydrogen/helium balloons? You can make those as big as you like cheaply can't you?
Rich.
I also don't read the current situation in software as being quite so wonderful as you portray. We have a convicted software company trying to use government-granted monopolies to extend permanently its own natural monopoly in many areas of packaged software.
Is the current situation a good one? Or could a better one be engineered? Perhaps one as existed before the 80s, when there was essentially, and in actuality, no government-granted monopoly on software, and software was freely shared. That was a time of huge innovation in software - think, OO programming, functional programming, LISP, AI, etc etc.
One in which ordinary (non-software) companies were not burdened with an indirect, US-based $40-billion dollar taxation / year just for exchanging their own information.
I think you are right that the case is far from proven; but shorter monopolies (perhaps just 5-10 years for software) would seem to put most people in a better place than exists now.
Rich.
Rich.
p.s. You keep talking about your business in the future tense. Interesting.
Yes, the training thing is in the future. The rest of the business is very much in the here and now.
Rich.But you're acting against a force of nature here. What's going to happen when people can transfer data wireless ad-hoc, encrypted over long distances? Or through their skin when they brush up against each other in a crowded train? How will the police protect you and your copyright monopoly then?
We are actually developing a training product. I can't say whether it will be like yours or not, because you don't give enough details, but it'll be distributed on CD and sold for £20 or so. This is because the market we are trying to capture (SMEs) still values stuff they can hold and they pay for. If people copy it and share it, you know what, I really don't care. It's a loss leader for us, designed to get us into the SME market which is absolutely the hardest place to be (so many of them, requires massive marketing budgets normally). It's designed to get us lots of small consulting contracts that we can mostly automate.
Sorry, but the world has changed.
Rich.
I run a small software company. The keyword here a is "small." Genuine small business with genuine employees making honest wages. After being tipped off by a customer, I looked at eMule and found that some of our software, which we sell for about 50% the price of our billion-dollar competitor, was being "shared" by 35 users.
I think it's unfortunate that you're sticking with a business model which requires artificial scarcity when for the last 10-15 years we've actually had a world of unlimited abundance.
Shame, but there you go.
Try releasing your code to everyone and wonderful things will happen (and you'll make a good deal of money through consultancy too, but that's only part of the fun).
Rich.
Rich.
Seems appropriate.
Rich.
Why? I really don't understand this, what's wrong with divs?
So that your site works in older browsers. - If it's just a bunch of nested divs, it'll collapse into short lines of text on an older browser.So that your site works in text-only browsers. Not just some Unix reprobates using Lynx, but people using mobile or otherwise "reduced" devices.
So that a speech reader (an accessibility device used by the millions of partially sighted and blind people in the world) can stress the structure of the page when reading it, which helps the visitor to understand how it is laid out even when they can't see it.
So that you can easily retarget content just by changing the stylesheet or (better) providing device-specific alternate stylesheets.
So that search engine spiders can understand the structure of your page - eg. they can identify the important headings.
So that you don't forget what elements in your site mean.
That's just off the top of my head.
Rich.
Admittedly not a great example of web design, but structurally it does the right thing. If you have firefox, view that web page and go to View -> Page Style -> No Style to see the structural markup (or just use View Source if you're comfortable with that). Of course we do use <div>, but only where it's essential. I would prefer to use it less, or even not at all.
Compare to this or this or this to see the overuse of <div>.
Rich.
Structural markup is the essential differentiating factor, not just that you have found out how to replace tables with divs ...
</rant> over.
Rich.
Rich.
Rich.
Rich.
These improvements, along with a set of new and updated open-source software components, make OpenServer 6 a compelling upgrade for sites already running this vulnerable operating system.
Rich.
But on the other hand, not having access to those techniques forces the X.org people to come up with innovative solutions to the same problems.
That's what patents are supposed to do. In practice there are two problems with this. Firstly what happens if the provably best algorithm is patented? (think: compression - eventually someone will come up with an algorithm which is provably optimal, and patent it). Secondly what happens if you need to implement the algorithm to interoperate? That's the case with these fonts: the fonts include hinting programs, so in order to display the fonts as intended you simply have to be able to run those programs. Unfortunately there is a patent on running those programs. No amount of "innovation" is going to help you here.Rich.
First, the data first must be recovered, validated, documented, and preliminary analyses must be done. After those tasks are completed (probably taking months to a year),
Why not publish the data immediately, and qualify and expand it as they go along?
Rich.
Rich.