Let's say you put a page on your site
<snip> And it is not linked to ever.
Then you have still put it in a publically
accessible place, and bear full blame for others
finding it.
For a physical-world analogy, let's say that you
want to give a note to a friend (which, for some
reason, requires a non-conventional mode of
delivery). You could leave it at page 416 of
"The complete minutes of the Town of Dullsville,
1853 to 1862", which no one had checked out in
the past 30 years. Tell your friend where to
find it, and 999 times out of 1000, you'd have
no problems.
If you one day used that same method of sending
a note, only to discover someone checked out the
book and removed the note, would you actually
have the gall to blame anyone but yourself?
Slashdotters, of all people, have heard this
over and over and over... Security through obscurity
may help in addition to some form of
"real" security, but it almost never works by
itself. The web counts as a very public place.
If you place sensitive information on it with
no security beyond a "hidden" URL, don't act
surprised when the NYT has it as a headline the
next week.
And for reference, yeah, I too have stuck random
files up on my site for a friend to grab. But
never when it would have mattered if
someone else randomly found those files.
Can someone explain why companies love going
public so damn much?
They already have a product (so no money needed
to front the development). They alreay show a
profit. Wouldn't an IPO just mean they need to
share their profit, in exchange for a wad of
cash that they don't really need for anything,
and that will actually cost them, in the
long term?
Same idea applies to Google. Single most successful
search engine in history, and they want to share
their profits by going public?
Dark Matter will be taught to school children as
the Aether of 21st century science.
...Of course, experimental verification of the
Casimir effect has proven that an Aether does
in fact exist, just not the same one that Michaelson
and Morley tested for and disproved.
You can write a "hello world" program in
most programming languages in under ten lines
of code.
You could also write a program to synthesize
speech to say "hello world" in an MP3, rip the
MP3 to a wav file, and then write a speech-to-text
engine to finally dump "hello world" to the
screen.
Same idea here. Kepler's laws reduced a
nightmarish tangle of mathematics to a three
line "program", if you will. Out current model
of how various things in our universe interact
requires a degree in cosmology to fully grasp,
and a PhD to do any meaningful work in. Imagine
reducing that to one chapter of a freshman-level
physics or astronomy course.
So, it matters for that reason.
Unneccessary complexity slows down work in
the field, and in the long run can actually
prove counterproductive to the field as a
whole (think about it - 1500 years wasted
trying to make epicycles work).
They apparently didn't check to see if he
had, because they never said anything about
it.
Somewhat less bold, though more obvious if
anyone actually looks...
My previous employer had a rather humorous
(in an offensive way) non-compete agreement.
I "signed" it with "see back for exceptions",
and then gave a point-by-point refusal to
comply with all but a handful of their terms,
including my reason (for example, one point
stated that none of my family or friends
could make use of the services this company
provided - Simple refutation, "I accept no
reponsibility whatsoever for the actions of
anyone other than myself, including but not
limited to, family, friends, and assorted
acquaintances").
I presume no one ever even looked at it, they
just stuck it in my file, but it made me
feel better, anyway.
In an amusing twist, I couldn't find my standard
disclaimer to this agreement (we had to re-sign it
yearly) when it came time for my exit interview (I
had already cleaned all my personal files off my
PC, and probably deleted that as well by accident).
So I mentioned that I always attached a statement,
and could they let me see my form from last year so
I could copy it - They couldn't find any previous
version for me to refer to. So instead of
"see back for exceptions", I signed it "See last
year's form for exceptions". Peeved the HR chickie
doing my exit interview, but she had to agree with me
completely when I pointed out that, if they didn't
have it on file in the first place, they couldn't
very well enforce it.
Isn't this why someone keeps minutes
during important meetings?
An actual record of what transpires at
a meeting? Heh... Can I come work for your
company?
At most of the meetings I've attended, the person
who called it (generally the most senior manager
present) jots down notes about it, but nothing
that even comes close to detailed enough
to later resolve disagreements. They tend to
write things they need to tell their own bosses
(like "project X delayed due to project Y"),
and nothing more.
my experience doesn't tell me much about
what these large, allegedly idiot-ridden
meetings are all about.
Lucky dog!
Engineers complain about meetings because they
don't get anything done. Quite literally,
I've had managers decree that, since project X
has gone past its due date, we will now have
daily 2-hour meetings to discuss why it has taken
so long. These meetings, aside from taking two
hours per day away from "real" work, consist of
nothing but accusations and finger-pointing.
<sarcasm>Great for boosting both productivity
and morale!</sarcasm>
Most meetings, though, go much more smoothly...
You get a request to show up, you show up, you
chat about this and that, with the occasional
comment about a current project, and if lucky,
you get to have a catered lunch (or more often,
a few pizzas delivered). Perhaps one or two
people go away with a bit more info than they
came with (ie, Senior Manager X "learns", for the
third time this month, what programming language
the current project uses, and why EJBs via a
Websphere backend would make a poor choice for
a printer device driver, regardless of its buzzword
potential), but the other dozen attendees have
accomplished nothing but wasting a couple of
hours.
Basically, just keep reminding yourself that,
in all seriousness, Dilbert counts as a documentary,
and you'll understand why most engineers hate
meetings.
I've found that often a meeting is a MUCH
faster way to resolve something than email.
An remotely complicated issue can be better
figured out face to face.
Faster, yes. Better, no.
If you resolve an issue face-to-face, or even
on the phone, you have no chain of accountability.
If you resolve an issue via email, then six months
later when your Manager X comes over and asks why
the hell you chose to do Y, you can
pull up the email and point to the exact line
where Manager X said, in no uncertain terms,
"Do Y".
Same applies to coworkers, except they tend to
want to avoid accountability so they can
shift it to someone else... So rather than an
order to do Y, you want proof that you agreed
to split Y between you, with you doing Ya, and
the coworker doing Yb. So when you send out a
clear email request to someone for an explanation
or confirmation of some detail, and they call
or swing by in person, make sure you have
somewhere else to go "five minutes ago", and
ask them to just reply to your email.
Don't get me wrong - I completely believe
in personal accountability, and have no objection
to committing myself via email as I describe above.
But the single least part of working with others
comes from the petty BS office politics, such as
the "we agreed to do it this way", "no we didn't"
bickering, or "Bob should have done that", "No, you
agreed to swap that for your part in the Foo project",
"No I didn't". All crap that I don't need or want as
part of a job, thus my intention to NEVER accept a
"promotion" into management. With a simple trail of
accountability, thanks to email, you can resolve 99%
of the he-said/she-said crap without uttering a
word, just a simple "forward to group".
Actually, no, they don't. That's trademarks
and trade secrets. Someone needs to learn a
little more about IP law before posting as if
they were authoritative.
No, IP law needs to make sense, and have some
relevance to the average Joe (not just
megacorps).
I don't doubt your accuracy, on the legal side
of the equasion. But when we piss and moan about
the state of IP laws in the US (and the EU seems
to have similar ideas), we don't espouse any
"Leninist" ideas (as such)... We just want laws
that can at least see "fair" from their
lofty corporate towers.
but just for pure simplicity, why not "This
is in the public domain"?
Because, simply put, they want to have their
cake and eat it too.
A group of people, who love old railroad crap
(never really understood that hobby myself,
but I suppose my love of Legos seems no less
wierd to some), decided to scan in a bunch of
old pictures. PD pictures. Now, they want
to show off their work, but not to let us
share the benefit from the idea of "public
domain" which they required to embark
on such a project in the first place. So,
they came up with this bizarre TOS agreement
(which other commentary by them, for example
their response to Yale that someone else
posted, demonstrates they intend as humorous
but serious).
Would it stand in court? I don't know. But
I will say, shame on them! I prostitute myself
to Corporation X to make a living. When I do
things for the love of doing them, rather
than to make a living, I want others
to share in it (if applicable).
These people only have access to the very
photos they scanned because 150 years ago,
we hadn't come up with the idea of such
abhorrently long copyright terms. Nice,
real nice. Enjoy your hobby, boys, I hope
someday you find the crown jewel of your
collection - Still under copyright, and
owned by someone who won't share for any
amount of money.
in other words, it's a demographic survey to
show advertizers, who pay money so the Post
doesn't have to charge online readers.
Yup... And I actually answered it honestly, when
I visited their site. I don't find that
too offensive.
However, one of the linked articles mentioned
that in the near future, they will go to a
very similar model to the NYT - Lots more than
mere demographics, and requiring an actual
account (though freely available).
Personally, I suspect this will decrease
the quality of responses they get, but, their
choice. So, I'll end up doing the same I do for
the NYT... Seek an alternate source of the info
first, and then use a bogus account if I can't
find what I want elsewhere.
Sad, really. You'd think sites like that would
have enough of a clue to realize that alienating
their potential viewers does not make for good
relations with them. "Resentfully lie" does not
equal "appreciatively answer three simple and
anonymous questions".
Also, I have to say that it's pretty shallow
to break off a relationship because your partner
wants to wait to have sex. It's only one part of
a multi-faceted interaction, and you'll do just
fine without for a while.
For a while, yes. I'll admit it takes quite a
bit of work to remove the annoying societal
conditioning that tells females not to have
sex. But for more than a year? No. Write 'em
off and cut your losses.
Humans seek "Significant Others" for the purpose
of reproduction. The actual "reproduction" part
of that, we can suppress (as you point out), but
the "mating" part, why bother? Fun and cheap,
and countless studies have shown that having
sex on a regular basis (2+ times per week)
improves overall health.
So yes, a relationship involves a number of
important aspects. Sex, however, exists as
THE single most important. You can
discuss how humans seem so much better than
the beasts in every other aspect, but in this
one, biology wins (or else we cease to exist
as a species, which I notice we have not yet
done). And, if you do want to discuss
how much better than mere animals we seem, take
a look at the next-highest critters on the planet,
dolphins - Those guys have sex more often than
Ron Jeremy, and strictly for fun.
Seriously, healthly people like sex.
Good caring sex, more so.
Agreed. Although, having sex on Valentine's
day kinda counts as the norm. So, not really
a "present", so much as "expected". Sure,
most people enjoy sex, and if their first
time, well, okay, I guess that would count as
"special". But if someone I'd dated
for more than a year decided to "give" me sex
for some special occasion, I'd feel a tad
annoyed - More so than getting nothing.
Go for ThinkGeek. You'll have the best chance
of getting something he'd like, but wouldn't
insist on picking the model number and production
run himself.
If, for your personal reasons, you are
waiting to get married or whatever, then
...Then expect a "Welcome to Dump City,
population, you" card. Really, waiting for
marriage... I always find that cute. It
usually lasts until the first year of college,
at which point the most reserved females out
there become total sluts (while those who have
"experimented" already tend to stay in
control).
Allowing people to produce counterfeit
currency is unethical. Period.
Possibly illegal (we do have
some rights to use images of US currency in
ways that no one could mistake for money... So
not counterfeiting, but still thwarted by
HP and the like, for no legally-valid reason).
But unethical?
Money exists as a legally defined social fiction.
It has value only because enough people
will accept it in exchange for goods and services.
If a sufficiently large group of people decide
something else has value, it "magically"
does indeed have value (ie, Canadian "Tire
Money", which in many places you can spend
at par for "real" Canadian money). Likewise,
if we all decided that US money has no more
value than its paper, poof, it magically crashes.
A convenient consentual fiction, nothing more.
Or to look at this from another angle... If someone
found a way to turn lead into gold, would you consider
that in some way an ethical problem?
So no, not "unethical". Totally ethically
neutral. Period.
Once they start RFIDing currency, that sort
of thing will be a lot harder to pull off.
Harder? No.
More likely, it will become easier for
anyone capable of programming a tag - You won't
even need to print the bill, just tape the tag
to the right sized piece of paper. Accurately
reading an RFID tag takes quite a lot less work
than what current bill acceptors use.
You lie to protect your privacy, yet
verbally abuse those who take their own
privacy seriously and dislike lying?
Search for some of my older posts... I consider
myself one of "you privacy freaks", taking rather
drastic measures to keep my personal data out
of the hands of our corporate masters.
Apparently, my intended humor did not come
across very well, despite the glaring
contradiction between going so far as to lie
to Yahoo so I can lie to Real, and then
mockingly chiding people who value their
privacy.
it's time to hide another five opt-out click
boxes on a drop-down list at the bottom of narrow
scroll pane behind a button on the third page on
a fifteen page tab dialog
Yeah? What do most of us care? They can
probe and prod me to their hearts' content - I'll
provide as much fake data as they want to ask me
for.
And if they eventually adopt some form of email
verification (like mailing a registration key,
or the like), well, I can provide as much fake
information as Yahoo asks for, as well. Minor
inconvenience, but, we all have to do our part
to keep the economy flowing smoothly.
I just don't get all you privacy freaks. Really,
it doesn't take that much effort to lie
to a few simple questions. Grow up.
What the fuck does the Operating System have
to do with the syntax used for assembly.
Ah, I so love replying to bitter ACs...
Anyway...
OS matters quite a bit. On Linux, you use GCC.
On Wintel, you use Masm or Tasm. End of story.
Yeah, alternatives exist. But then, I can also
write my own compiler normally only associated
with platform X, and then pretend to act shocked
when people claim that my platform of choice
doesn't have great support for that particular
compiler.
Not really all that inspired... More like
pissing into the wind. Linux has AT&T
syntax assembler, Windows has Intel synax
assemblers. Exceptions exist, but not enough
to worry about.
(FWIW, I made my original claim even after
having extensively used a hellish 65HC05
AT&T syntax cross-assembler, with its "native"
platform a Wintel one. So there).
I would recommend the same thing, for one
simple reason...
If you write a bootloader, you already have
written an OS. A bootloader takes a non-running
system, and brings it to the level of some basic
user-interaction capabilities. Something like
Grub even includes a fairly functional
shell...
I suppose it all depends on what you want to
learn from the experience. If you care "where
did the universe come from", write a bootloader.
If you care "How can I get to Mars, with both
the Earth and Mars already existing in a pre-made
universe", then skip the bootloader step.
Though partially a joke, I mean that as a
not entirely unserious preference.
When I started learning to use Linux, I
found the layout of init scripts as one of
the single most confusing "features". Once
the system makes it up, everything seems so
simple as to make you cry when you need to
admin a Windows box. You invoke a program,
it has a corresponding process, you can kill
that process if you want to. Even "special"
programs, such as daemons, work that way.
Only kernel modules really differ, and even
they have a conceptually similar interface - You
can insmod, lsmod, and rmmod to start, check,
and kill them (if applicable).
But then we come to init scripts... Oy. What
runs when? What order? With what permissions?
Does script X really run, or just take
up space in the rc.d directory? Yeah, I know
how to answer all of those questions, and know
the default answers for a few different styles,
but I don't see the need to have them
as questions at all. In many ways, a nice
monolithic autoexec.bat-style boot script
would, for the vast majority of installations,
more than suffice.
On my own systems, I usually go through and
remove 99% of the init crap. I want to
fsck my disks and then mount them, actvate swap
if needed, start dhcpd or set up a static
interface, load sshd and perhaps a handful of
other daemons depending on the purpose of
the machine, and perhaps clean up/tmp and/var.
And nothing more. I can do all that in about
15 lines, why do I need that scattered over
half as many files?
On more than one system I control, I have
inittab do nothing but rc.local, end
of configuration. It works just fine,
and anyone capable of using an up-and-running
Linux box can tweak its bootup activity
just as easily.
For the other 99.9% speed improvements are
much more likely to come from algorithmic
improvements.
Gack! I perhaps have phrased myself rather
poorly. Throughout this entire thread, I have
not meant to refer to writing even a
single line of actual assembly code.
I don't mean that humans can do it better than
compilers (though often true, for small sections
of code), I don't mean that asm always runs faster
than the comparable C (again, often true), and I
don't in any way mean that asm reads more
clearly than a high-level language (about as false
as they come).
Perhaps an example would help...
In C, I can make a 10-dimensional array (if the
compiler will let me) as a nice, easily-readable
organization of... Well, of something having
10 dimensions (superstrings?). I can make a
pointer to a structure that contains an array
of pointers to linked lists (which sounds obscure,
but I can imagine it as a straightforward way
to implement, say, a collection of variable-length
metadata on a set of files). I can choose to have
my loop indices run in row-major or column-major
order, with no high-level reason to choose either
way.
From an assembly point of view, I realize
exactly the hellish task involved
in dereferencing the first two example.
I realize that row-major vs column-major
ordering has a significant impact on the
quantity of dereferencing needed.
Even further, I realize that by choosing
row-major or column-major indexing, I can
ensure cache integrity, or obliterate it.
The specific examples I just gave perhaps
seem absurdly obvious to any decent programmer.
But countless other, more subtle, differences
in how I would choose to lay out my code, come
from an understanding of what the compiler will
likely do with that code, and how the CPU will
eventually have to deal with it. Rather than
having a superficially obvious relation to the
CPU, such choices would look more like stylistic
preferences than careful decisions with significant
implications to performance.
How about the size of an array, for example?
Sometimes using a power of two will help immensely
(if it allows a constant shift vs a multiply), and
sometimes it will hurt immensely (if you plan
to use it such that almost every access competes
for the same cache line). Things like that,
which a high-level-only programmer simply will
not know without experiential (ie, programming
in assembly) knowledge of the underlying
architecture.
True. This topic, however, goes beyond mere maximizing of
program performance. Pur simply, if you know assembler, you
can take the CPU's strengths and weaknesses into consideration
while still writing readable, maintainable, "good" code. If
you do not know assembly, you might produce simply beautiful
code, but then have no clue why it runs like a three-legged dog.
it is significantly better value to design and build a
well architected OO solution
Key phrase there, "well-architected". In practice, the
entire idea of "object reuse" counts as a complete myth
(I would say "lie", but since it seems like more of a
self-deception, I woun't go that far). I have yet to
see a project where more than a handful of objects from
older code would provide any benefit at all, and even those
that did required subclassing them to add and/or modify
over half of their existing functionality. On the other hand,
I have literally hundreds of vanilla-C functions
I've written over the years from which I draw with almost
every program I write, and that require no modification to
work correctly (in honesty, the second time I use them, I
usually need to modify them to generalize better, but
after that, c'est fini).
Who cares if it's not very efficient - it'll run
twice as fast in 18 months
Y'know, I once heard an amusing joke about that...
"How can you tell a CS guy from a programmer?" "The
CS guy writes code that either won't run on any machine
you can fit on a single planet, or will run too slowly
to serve its purpose until technology catches up with
it in few decades". Something like tha - I killed the
joke, but you get the idea.
Yeah, computers constantly improve. But the clients
want their shiny new software to run this year
(if not last year, or at least on 5-year old
equipment), not two years hence.
Then, confuse the hell out of a student with assembly
I disagree. Personally, I learned Basic, then x86 asm, then
C (then quite a few more, but irrelevant to my point). Although
I considered assembly radically different from the Basic I started
with, it made the entire concept of "how the hell does that
Hello World program actually work?" make a whole
lot more sense.
From the complexity aspect, yeah, optimizing your code for a
modern CPU takes a hell of a lot of time, effort and research
into the behavior of the CPU itself. But to learn the fundamental
skill of coding in assembler, I would consider it far less
complex than any high-level language. You have a few hundred
instructions (of which under a dozen make up 99% of your code).
Compare that to C, where you have literally thousands of
standard library functions, a good portion of which you need to
understand to write any non-trivial program.
There are already problems with people interested
in CS getting turned off by intro/intermediate programming
classes.
You write that as though you consider it a bad idea...
We have quite enough mediocre high-level hacks (which I
don't mean in the good sense, here) flooding the market.
If they decide to switch to English or Art History in
their first semester, all the better for those of us who
can deal with the physical reality of a modern
computer. I don't say that as an "elitist" - I fully
support those with the mindset to become "good" programmers
(hint: If you consider "CS" to have an "S" in it, you've
already missed the boat) in their efforts to learn. But
it has grown increasingly common for IT-centric companies
to have a handful of gods, with dozens or even hundreds of
complete wastes-of-budget who those gods need to spend
most of their time cleaning up after. We would do better
to get rid of the driftwood. Unfortunately, most HR
departments consider the highly-paid gods as the driftwood,
then wonder why they can't produce anything decent.
Let's say you put a page on your site
<snip>
And it is not linked to ever.
Then you have still put it in a publically accessible place, and bear full blame for others finding it.
For a physical-world analogy, let's say that you want to give a note to a friend (which, for some reason, requires a non-conventional mode of delivery). You could leave it at page 416 of "The complete minutes of the Town of Dullsville, 1853 to 1862", which no one had checked out in the past 30 years. Tell your friend where to find it, and 999 times out of 1000, you'd have no problems.
If you one day used that same method of sending a note, only to discover someone checked out the book and removed the note, would you actually have the gall to blame anyone but yourself?
Slashdotters, of all people, have heard this over and over and over... Security through obscurity may help in addition to some form of "real" security, but it almost never works by itself. The web counts as a very public place. If you place sensitive information on it with no security beyond a "hidden" URL, don't act surprised when the NYT has it as a headline the next week.
And for reference, yeah, I too have stuck random files up on my site for a friend to grab. But never when it would have mattered if someone else randomly found those files.
Can someone explain why companies love going public so damn much?
They already have a product (so no money needed to front the development). They alreay show a profit. Wouldn't an IPO just mean they need to share their profit, in exchange for a wad of cash that they don't really need for anything, and that will actually cost them, in the long term?
Same idea applies to Google. Single most successful search engine in history, and they want to share their profits by going public?
I just don't get it...
Dark Matter will be taught to school children as the Aether of 21st century science.
...Of course, experimental verification of the
Casimir effect has proven that an Aether does
in fact exist, just not the same one that Michaelson
and Morley tested for and disproved.
So what if it doesn't really exist?
You can write a "hello world" program in most programming languages in under ten lines of code.
You could also write a program to synthesize speech to say "hello world" in an MP3, rip the MP3 to a wav file, and then write a speech-to-text engine to finally dump "hello world" to the screen.
Same idea here. Kepler's laws reduced a nightmarish tangle of mathematics to a three line "program", if you will. Out current model of how various things in our universe interact requires a degree in cosmology to fully grasp, and a PhD to do any meaningful work in. Imagine reducing that to one chapter of a freshman-level physics or astronomy course.
So, it matters for that reason. Unneccessary complexity slows down work in the field, and in the long run can actually prove counterproductive to the field as a whole (think about it - 1500 years wasted trying to make epicycles work).
They apparently didn't check to see if he had, because they never said anything about it.
Somewhat less bold, though more obvious if anyone actually looks...
My previous employer had a rather humorous (in an offensive way) non-compete agreement. I "signed" it with "see back for exceptions", and then gave a point-by-point refusal to comply with all but a handful of their terms, including my reason (for example, one point stated that none of my family or friends could make use of the services this company provided - Simple refutation, "I accept no reponsibility whatsoever for the actions of anyone other than myself, including but not limited to, family, friends, and assorted acquaintances").
I presume no one ever even looked at it, they just stuck it in my file, but it made me feel better, anyway.
In an amusing twist, I couldn't find my standard disclaimer to this agreement (we had to re-sign it yearly) when it came time for my exit interview (I had already cleaned all my personal files off my PC, and probably deleted that as well by accident). So I mentioned that I always attached a statement, and could they let me see my form from last year so I could copy it - They couldn't find any previous version for me to refer to. So instead of "see back for exceptions", I signed it "See last year's form for exceptions". Peeved the HR chickie doing my exit interview, but she had to agree with me completely when I pointed out that, if they didn't have it on file in the first place, they couldn't very well enforce it.
Isn't this why someone keeps minutes during important meetings?
An actual record of what transpires at a meeting? Heh... Can I come work for your company?
At most of the meetings I've attended, the person who called it (generally the most senior manager present) jots down notes about it, but nothing that even comes close to detailed enough to later resolve disagreements. They tend to write things they need to tell their own bosses (like "project X delayed due to project Y"), and nothing more.
my experience doesn't tell me much about what these large, allegedly idiot-ridden meetings are all about.
Lucky dog!
Engineers complain about meetings because they don't get anything done. Quite literally, I've had managers decree that, since project X has gone past its due date, we will now have daily 2-hour meetings to discuss why it has taken so long. These meetings, aside from taking two hours per day away from "real" work, consist of nothing but accusations and finger-pointing. <sarcasm>Great for boosting both productivity and morale!</sarcasm>
Most meetings, though, go much more smoothly... You get a request to show up, you show up, you chat about this and that, with the occasional comment about a current project, and if lucky, you get to have a catered lunch (or more often, a few pizzas delivered). Perhaps one or two people go away with a bit more info than they came with (ie, Senior Manager X "learns", for the third time this month, what programming language the current project uses, and why EJBs via a Websphere backend would make a poor choice for a printer device driver, regardless of its buzzword potential), but the other dozen attendees have accomplished nothing but wasting a couple of hours.
Basically, just keep reminding yourself that, in all seriousness, Dilbert counts as a documentary, and you'll understand why most engineers hate meetings.
I've found that often a meeting is a MUCH faster way to resolve something than email. An remotely complicated issue can be better figured out face to face.
Faster, yes. Better, no.
If you resolve an issue face-to-face, or even on the phone, you have no chain of accountability. If you resolve an issue via email, then six months later when your Manager X comes over and asks why the hell you chose to do Y, you can pull up the email and point to the exact line where Manager X said, in no uncertain terms, "Do Y".
Same applies to coworkers, except they tend to want to avoid accountability so they can shift it to someone else... So rather than an order to do Y, you want proof that you agreed to split Y between you, with you doing Ya, and the coworker doing Yb. So when you send out a clear email request to someone for an explanation or confirmation of some detail, and they call or swing by in person, make sure you have somewhere else to go "five minutes ago", and ask them to just reply to your email.
Don't get me wrong - I completely believe in personal accountability, and have no objection to committing myself via email as I describe above. But the single least part of working with others comes from the petty BS office politics, such as the "we agreed to do it this way", "no we didn't" bickering, or "Bob should have done that", "No, you agreed to swap that for your part in the Foo project", "No I didn't". All crap that I don't need or want as part of a job, thus my intention to NEVER accept a "promotion" into management. With a simple trail of accountability, thanks to email, you can resolve 99% of the he-said/she-said crap without uttering a word, just a simple "forward to group".
Actually, no, they don't. That's trademarks and trade secrets. Someone needs to learn a little more about IP law before posting as if they were authoritative.
No, IP law needs to make sense, and have some relevance to the average Joe (not just megacorps).
I don't doubt your accuracy, on the legal side of the equasion. But when we piss and moan about the state of IP laws in the US (and the EU seems to have similar ideas), we don't espouse any "Leninist" ideas (as such)... We just want laws that can at least see "fair" from their lofty corporate towers.
but just for pure simplicity, why not "This is in the public domain"?
Because, simply put, they want to have their cake and eat it too.
A group of people, who love old railroad crap (never really understood that hobby myself, but I suppose my love of Legos seems no less wierd to some), decided to scan in a bunch of old pictures. PD pictures. Now, they want to show off their work, but not to let us share the benefit from the idea of "public domain" which they required to embark on such a project in the first place. So, they came up with this bizarre TOS agreement (which other commentary by them, for example their response to Yale that someone else posted, demonstrates they intend as humorous but serious).
Would it stand in court? I don't know. But I will say, shame on them! I prostitute myself to Corporation X to make a living. When I do things for the love of doing them, rather than to make a living, I want others to share in it (if applicable).
These people only have access to the very photos they scanned because 150 years ago, we hadn't come up with the idea of such abhorrently long copyright terms. Nice, real nice. Enjoy your hobby, boys, I hope someday you find the crown jewel of your collection - Still under copyright, and owned by someone who won't share for any amount of money.
in other words, it's a demographic survey to show advertizers, who pay money so the Post doesn't have to charge online readers.
Yup... And I actually answered it honestly, when I visited their site. I don't find that too offensive.
However, one of the linked articles mentioned that in the near future, they will go to a very similar model to the NYT - Lots more than mere demographics, and requiring an actual account (though freely available).
Personally, I suspect this will decrease the quality of responses they get, but, their choice. So, I'll end up doing the same I do for the NYT... Seek an alternate source of the info first, and then use a bogus account if I can't find what I want elsewhere.
Sad, really. You'd think sites like that would have enough of a clue to realize that alienating their potential viewers does not make for good relations with them. "Resentfully lie" does not equal "appreciatively answer three simple and anonymous questions".
Also, I have to say that it's pretty shallow to break off a relationship because your partner wants to wait to have sex. It's only one part of a multi-faceted interaction, and you'll do just fine without for a while.
For a while, yes. I'll admit it takes quite a bit of work to remove the annoying societal conditioning that tells females not to have sex. But for more than a year? No. Write 'em off and cut your losses.
Humans seek "Significant Others" for the purpose of reproduction. The actual "reproduction" part of that, we can suppress (as you point out), but the "mating" part, why bother? Fun and cheap, and countless studies have shown that having sex on a regular basis (2+ times per week) improves overall health.
So yes, a relationship involves a number of important aspects. Sex, however, exists as THE single most important. You can discuss how humans seem so much better than the beasts in every other aspect, but in this one, biology wins (or else we cease to exist as a species, which I notice we have not yet done). And, if you do want to discuss how much better than mere animals we seem, take a look at the next-highest critters on the planet, dolphins - Those guys have sex more often than Ron Jeremy, and strictly for fun.
Registration? What's that?
Y'know... Registration. Like the nag-screen at the New York Times, where you have to enter "slashdot2003" twice in order to actually see the article.
Hmm, I wonder if a "slashdot2004" exists yet... These things only seem to live around a year before vanishing, so 2003 should dissapear soon...
Seriously, healthly people like sex. Good caring sex, more so.
...Then expect a "Welcome to Dump City,
population, you" card. Really, waiting for
marriage... I always find that cute. It
usually lasts until the first year of college,
at which point the most reserved females out
there become total sluts (while those who have
"experimented" already tend to stay in
control).
Agreed. Although, having sex on Valentine's day kinda counts as the norm. So, not really a "present", so much as "expected". Sure, most people enjoy sex, and if their first time, well, okay, I guess that would count as "special". But if someone I'd dated for more than a year decided to "give" me sex for some special occasion, I'd feel a tad annoyed - More so than getting nothing.
Go for ThinkGeek. You'll have the best chance of getting something he'd like, but wouldn't insist on picking the model number and production run himself.
If, for your personal reasons, you are waiting to get married or whatever, then
Sexist generalization? Yup. But true.
Humans have yet to perform any "Deep space" exploration.
The Voyager missions come the closest, but still remain fairly near home, on any meaningful interstellar scale.
The linked article discusses interplanetary exploration. Quite a bit of a difference.
Allowing people to produce counterfeit currency is unethical. Period.
Possibly illegal (we do have some rights to use images of US currency in ways that no one could mistake for money... So not counterfeiting, but still thwarted by HP and the like, for no legally-valid reason). But unethical?
Money exists as a legally defined social fiction. It has value only because enough people will accept it in exchange for goods and services. If a sufficiently large group of people decide something else has value, it "magically" does indeed have value (ie, Canadian "Tire Money", which in many places you can spend at par for "real" Canadian money). Likewise, if we all decided that US money has no more value than its paper, poof, it magically crashes. A convenient consentual fiction, nothing more.
Or to look at this from another angle... If someone found a way to turn lead into gold, would you consider that in some way an ethical problem?
So no, not "unethical". Totally ethically neutral. Period.
Once they start RFIDing currency, that sort of thing will be a lot harder to pull off.
Harder? No.
More likely, it will become easier for anyone capable of programming a tag - You won't even need to print the bill, just tape the tag to the right sized piece of paper. Accurately reading an RFID tag takes quite a lot less work than what current bill acceptors use.
You lie to protect your privacy, yet verbally abuse those who take their own privacy seriously and dislike lying?
Search for some of my older posts... I consider myself one of "you privacy freaks", taking rather drastic measures to keep my personal data out of the hands of our corporate masters.
Apparently, my intended humor did not come across very well, despite the glaring contradiction between going so far as to lie to Yahoo so I can lie to Real, and then mockingly chiding people who value their privacy.
My apologies. Smile.
it's time to hide another five opt-out click boxes on a drop-down list at the bottom of narrow scroll pane behind a button on the third page on a fifteen page tab dialog
Yeah? What do most of us care? They can probe and prod me to their hearts' content - I'll provide as much fake data as they want to ask me for.
And if they eventually adopt some form of email verification (like mailing a registration key, or the like), well, I can provide as much fake information as Yahoo asks for, as well. Minor inconvenience, but, we all have to do our part to keep the economy flowing smoothly.
I just don't get all you privacy freaks. Really, it doesn't take that much effort to lie to a few simple questions. Grow up.
What the fuck does the Operating System have to do with the syntax used for assembly.
Ah, I so love replying to bitter ACs...
Anyway...
OS matters quite a bit. On Linux, you use GCC. On Wintel, you use Masm or Tasm. End of story.
Yeah, alternatives exist. But then, I can also write my own compiler normally only associated with platform X, and then pretend to act shocked when people claim that my platform of choice doesn't have great support for that particular compiler.
Not really all that inspired... More like pissing into the wind. Linux has AT&T syntax assembler, Windows has Intel synax assemblers. Exceptions exist, but not enough to worry about.
(FWIW, I made my original claim even after having extensively used a hellish 65HC05 AT&T syntax cross-assembler, with its "native" platform a Wintel one. So there).
Why? What experience do you gain from this?
I would recommend the same thing, for one simple reason...
If you write a bootloader, you already have written an OS. A bootloader takes a non-running system, and brings it to the level of some basic user-interaction capabilities. Something like Grub even includes a fairly functional shell...
I suppose it all depends on what you want to learn from the experience. If you care "where did the universe come from", write a bootloader. If you care "How can I get to Mars, with both the Earth and Mars already existing in a pre-made universe", then skip the bootloader step.
Though partially a joke, I mean that as a not entirely unserious preference.
/tmp and /var.
And nothing more. I can do all that in about
15 lines, why do I need that scattered over
half as many files?
When I started learning to use Linux, I found the layout of init scripts as one of the single most confusing "features". Once the system makes it up, everything seems so simple as to make you cry when you need to admin a Windows box. You invoke a program, it has a corresponding process, you can kill that process if you want to. Even "special" programs, such as daemons, work that way. Only kernel modules really differ, and even they have a conceptually similar interface - You can insmod, lsmod, and rmmod to start, check, and kill them (if applicable).
But then we come to init scripts... Oy. What runs when? What order? With what permissions? Does script X really run, or just take up space in the rc.d directory? Yeah, I know how to answer all of those questions, and know the default answers for a few different styles, but I don't see the need to have them as questions at all. In many ways, a nice monolithic autoexec.bat-style boot script would, for the vast majority of installations, more than suffice.
On my own systems, I usually go through and remove 99% of the init crap. I want to fsck my disks and then mount them, actvate swap if needed, start dhcpd or set up a static interface, load sshd and perhaps a handful of other daemons depending on the purpose of the machine, and perhaps clean up
On more than one system I control, I have inittab do nothing but rc.local, end of configuration. It works just fine, and anyone capable of using an up-and-running Linux box can tweak its bootup activity just as easily.
For the other 99.9% speed improvements are much more likely to come from algorithmic improvements.
Gack! I perhaps have phrased myself rather poorly. Throughout this entire thread, I have not meant to refer to writing even a single line of actual assembly code. I don't mean that humans can do it better than compilers (though often true, for small sections of code), I don't mean that asm always runs faster than the comparable C (again, often true), and I don't in any way mean that asm reads more clearly than a high-level language (about as false as they come).
Perhaps an example would help...
In C, I can make a 10-dimensional array (if the compiler will let me) as a nice, easily-readable organization of... Well, of something having 10 dimensions (superstrings?). I can make a pointer to a structure that contains an array of pointers to linked lists (which sounds obscure, but I can imagine it as a straightforward way to implement, say, a collection of variable-length metadata on a set of files). I can choose to have my loop indices run in row-major or column-major order, with no high-level reason to choose either way.
From an assembly point of view, I realize exactly the hellish task involved in dereferencing the first two example. I realize that row-major vs column-major ordering has a significant impact on the quantity of dereferencing needed. Even further, I realize that by choosing row-major or column-major indexing, I can ensure cache integrity, or obliterate it.
The specific examples I just gave perhaps seem absurdly obvious to any decent programmer. But countless other, more subtle, differences in how I would choose to lay out my code, come from an understanding of what the compiler will likely do with that code, and how the CPU will eventually have to deal with it. Rather than having a superficially obvious relation to the CPU, such choices would look more like stylistic preferences than careful decisions with significant implications to performance.
How about the size of an array, for example? Sometimes using a power of two will help immensely (if it allows a constant shift vs a multiply), and sometimes it will hurt immensely (if you plan to use it such that almost every access competes for the same cache line). Things like that, which a high-level-only programmer simply will not know without experiential (ie, programming in assembly) knowledge of the underlying architecture.
It's like learning Latin. Nobody actually uses it, but it can give you a deeper understanding of the languages that are based on it.
:-)
Ah! Thank you. EXCELLENT analogy.
If I had mod points at the moment...
And you hadn't already hit "5"...
And I hadn't already posted on this topic...
Well, you get the idea.
maxim: cycles are cheap, people are expensive.
True. This topic, however, goes beyond mere maximizing of program performance. Pur simply, if you know assembler, you can take the CPU's strengths and weaknesses into consideration while still writing readable, maintainable, "good" code. If you do not know assembly, you might produce simply beautiful code, but then have no clue why it runs like a three-legged dog.
it is significantly better value to design and build a well architected OO solution
Key phrase there, "well-architected". In practice, the entire idea of "object reuse" counts as a complete myth (I would say "lie", but since it seems like more of a self-deception, I woun't go that far). I have yet to see a project where more than a handful of objects from older code would provide any benefit at all, and even those that did required subclassing them to add and/or modify over half of their existing functionality. On the other hand, I have literally hundreds of vanilla-C functions I've written over the years from which I draw with almost every program I write, and that require no modification to work correctly (in honesty, the second time I use them, I usually need to modify them to generalize better, but after that, c'est fini).
Who cares if it's not very efficient - it'll run twice as fast in 18 months
Y'know, I once heard an amusing joke about that... "How can you tell a CS guy from a programmer?" "The CS guy writes code that either won't run on any machine you can fit on a single planet, or will run too slowly to serve its purpose until technology catches up with it in few decades". Something like tha - I killed the joke, but you get the idea.
Yeah, computers constantly improve. But the clients want their shiny new software to run this year (if not last year, or at least on 5-year old equipment), not two years hence.
Then, confuse the hell out of a student with assembly
I disagree. Personally, I learned Basic, then x86 asm, then C (then quite a few more, but irrelevant to my point). Although I considered assembly radically different from the Basic I started with, it made the entire concept of "how the hell does that Hello World program actually work?" make a whole lot more sense.
From the complexity aspect, yeah, optimizing your code for a modern CPU takes a hell of a lot of time, effort and research into the behavior of the CPU itself. But to learn the fundamental skill of coding in assembler, I would consider it far less complex than any high-level language. You have a few hundred instructions (of which under a dozen make up 99% of your code). Compare that to C, where you have literally thousands of standard library functions, a good portion of which you need to understand to write any non-trivial program.
There are already problems with people interested in CS getting turned off by intro/intermediate programming classes.
You write that as though you consider it a bad idea...
We have quite enough mediocre high-level hacks (which I don't mean in the good sense, here) flooding the market. If they decide to switch to English or Art History in their first semester, all the better for those of us who can deal with the physical reality of a modern computer. I don't say that as an "elitist" - I fully support those with the mindset to become "good" programmers (hint: If you consider "CS" to have an "S" in it, you've already missed the boat) in their efforts to learn. But it has grown increasingly common for IT-centric companies to have a handful of gods, with dozens or even hundreds of complete wastes-of-budget who those gods need to spend most of their time cleaning up after. We would do better to get rid of the driftwood. Unfortunately, most HR departments consider the highly-paid gods as the driftwood, then wonder why they can't produce anything decent.
Hmm, okay, rant over.