Yet another company trying to use free software as a dumping ground for useless software. What does Watcom have to offer today?
Let's see... a student of compilers picks it up,
and learns something. The intangible goodwill
encourages another company to open something
else. We don't lose another piece of computer
history.
chess is nice, but most progresses in chess have been due to speed increases in hardware and optimizations, hence allowing the computer to overpower the human with depth of search. On top of that, the evaluation functions are rather primitive
Deep Blue had 418 processors, and evaluated
200 million positions per second.
Deep Junior has eight processors, and evaluates
3 million moves per second.
More importantly, your point is irritatingly
raised every time a computer chess article
comes up. Your calculator doesn't actually
know even how to add two numbers. Instead,
it uses bitwise logic operators, so that the
result looks like it added the two numbers.
So what? Even the cheapest calculator can
add non-trivial numbers more quickly and
more accurately than any human.
It does not matter how Deep Junior comes up
with the moves to tie the best human player
in the world, in a match that Kasparov ensured
was fair. It's Kasparov's advantage that
he can think in the abstract. It's Deep
Junior's advantage that it can make many
simple calculations very quickly. Asking
Deep Junior to play like Kasparov is exactly
like asking Kasparov to play like Deep Junior.
Would you rather turn a blind eye while all
this happens?
Haven't you been paying attention? The war is
about WMD. Oh, wait, it's about regime change,
because Saddam is evil. Oh, wait, it's about
disarmament. No, it's because he keeps lying
and misleading inspectors.
Try to understand that while the end result is
the same for the fortunate Iraqis who survive
the bombings, there are valid concerns that
America seems to be able to cite whatever
reason it wants to justify an attack. The
power to define (who is a terrorist, for
example) must not be underestimated.
Do you honestly not get the feeling that the
decision to attack Iraq was already finalized
months ago? That nothing short of surrender
is going to avert war?
So now we are forced to publicly show evidence on Iraq, and potentially lose another advantage in the war of information, all to appease the peaceniks who say there's no reason to invade Iraq.
There are two possible Americas right now.
One that takes the burden of policing the
world, driven by a desire to do good.
Another that does whatever it wants, because
it can, hiding behind the need to protect
intelligence sources.
The problem is, many or most Americans believe
that they are the former, but plenty of
people all over the world believe they are
the latter.
For the record, we aren't going to war. We haven't been in a war since WW2.
Korea? Vietnam? Kuwait?
This is a police action, enforcing maybe
not international law, but justice
nonetheless.
In the United States, justice is approximated
by having police investigate crime, the
district attorneys prosecute, a defense
lawyer defend, a judge preside, and a
jury decide. There is a very good reason
so many independent parties are involved,
rather than just have a single judge
deciding what justice is.
It is dangerous to think that a single party
like the US government, no matter how well
intentioned, can dispense justice. (The US
government is not one person, but ultimately
it represents one interest: America's.)
If you still think it's about justice, then
consider, realistically, if the US would be
doing anything differently if Iraq tests a
nuclear bomb. All of a sudden, the question
will be whether justice is worth hundreds of
thousands of American lives.
Saddam has lied about the existence of
weapons of mass destruction, been consistently
evasive and obstinate in his compliance with
U.N. inspectors,
Allow me to refresh your memory. The Manhattan
Project, which developed the first nuclear
weapon, was possibly the biggest secret the
US ever kept in its history. Before its use,
concerned scientists argued for a "demonstration" instead, to scare the Japanese into surrender.
It was overruled because of secrecy concerns
(bombers are more likely to be shot down at
any cost if they know of this weapon). The
secrecy was judged more important than hundreds
of thousands of Japanese civilian lives.
Israel still denies having nuclear weapons,
although most nations believe it does. India
and Pakistan kept quiet until they actually
had a weapon. How about North Korea?
Secrecy is matter of fact in this business.
and even gone so far as to
threaten to use his non-existant weapons on
the U.S.
You mean after the US first threatened to
invade Iraq?
The fact is, Saddam Hussein is being set up
for an invasion, either deliberately or not.
Over the past few months, the US has wavered
repeatedly between "regime change" and
"disarmament". It's possible that Iraq would
consider disarming if it meant peace. However,
it's idiotic to think that Iraq would be so
stupid as to disarm first to make it easier
for the US to change its regime.
Of course they're hiding everything they can!
The only other choice they were given was
throwing themselves at the mercy of the US.
Why does everyone complain when they are
expect to actually do work at work.
There's a difference between an employee
whining about having to work 8 hours a day,
and a business realizing that regular breaks
actually improve productivity. This is
especially true for humans in creative
professions. Taking a stroll (or even
Slashdot) can often get you a solution faster
than staring at the problem.
The second point is that people remember to
do things when they remember. Let's say you
suddenly remembered that you need to order a
gift for someone. You can either take a few
minutes to get it over with, or try to remember
it for the rest of the day. Which one is
likely to distract you from work more?
On another point I say two can play at that game. You want me to work every second I am at work that's fine. But when that clock hits 5:00 I drop everything and leave.
Exactly. The question is not which policies
employees dislike, but which policies actually
improve productivity.
Most CS classes do not teach skill or efficiency. they teach a loose understanding and acceptable practices. and this is producing alot of very medicore programmers.
Most CS courses are schizophrenic. They aim both
to produce competent engineers and to produce
academics who will go on to MS and PhD. This
means that the scientist types never want to
get their hands too dirty ("just a bit of coding
to prove that my idea works") and the
engineer types can get bored ("can we just
write some code?").
Yes, I'm stereotyping extremes. However,
there really should be two separate tracks,
where the software engineering track focuses
on large scale systems with individually
trivial parts - the real world. The computer
science track then focuses on individually
complex problems, but not on building large
software systems.
you'll also gain something else... understanding of the hardware... something ELSE that should be a requirement in every CS
course.
Indeed. I brought a broken PC to a CS class
one time, and with a specialized tool called
a screwdriver, opened the case for them to
peek in. Many were amazed and impressed.
What's your excuse for how slow and bloated
your app is today?
Writing tight code does not make you an
engineer. Giving your customer the cheapest
solution that fulfills requirements is what
you need to do. If cheapest means off-the-shelf
code and fast hardware, then that's the best
solution.
The whole point about SVG is that they will render nicely whatever the screen size. This
isn't only relevant for big screens.
Uh, no. There is no reliable way to shrink an
image below a certain minimum scale - bitmap
or vector. When two distinct features are
shrunk into a single pixel, bad things happen.
This is why OS X allows a developer to specify
alternative small icons. This is also why font
antialiasing is usually disabled for text
smaller than a certain size, because they just
become blurred. Even for larger sizes,
extensive hinting is required for some glyphs
to look sharp.
Not to say this isn't good progress. Just that
an icon designed to be 128x128 or so probably
still has to be redrawn for a 320x240 screen.
It is more like the way that an entire auditorium full of people can clap in unison without a leader.
Uh, no. People clapping in an auditorium can
hear the combined audio output of everybody
else clapping. I'm not just listening to one
random person in the audience.
Without thinking too hard about it, it seems
that what's needed is not just a random
(as in unpredictable) number, but a well
distributed random number, so that you avoid
the formation of subgroups that are just
polling each other.
The problem with your argument is that if you don't have a job, then you're not going to be buying the product no matter who makes it or how much it costs.
Again, this is an oversimplification.
If many people don't have jobs, then salaries
will come down because the supply of labor
greatly exceeds demand. When salaries come
down, people will move to cheaper places and
other jobs, so apartments become cheaper to
rent. At some point, it makes sense again
for American companies to hire Americans,
because Americans generate sufficient value
as employees versus their cost. Similarly, a
boom in India, for example, will bring up the
cost of engineering talent there. The playing
field is further leveled by inevitable demand
for fair and safe labor practices, medical
insurance, and other expenses.
Note that I wrote earlier that it won't be
easy. In fact, this adjustment is extremely
painful. I live in the San Francisco bay
area, and anecdotal evidence already shows
that housing costs are coming down significantly.
However, what's happening right now is no
different in nature than another American
willing to do your job for less money, and
knee-jerk protectionism will only mask the
problem.
This isn't inevitable. Technological
innovations allow people to generate more
value for their employers, which justifies
more pay. Americans have to find jobs that
other people can't do to continue getting
paid more.
Apple has a plain old boring design on the PowerMacs
The handles are great for carrying the box
around when you need to. The entire right
surface of the box opens down for easy access
to the entire motherboard. The IDE drives
are mounted so that the ribbon cables are
only an inch long. The fans are quiet.
Looking at the case, I get the feeling that
somebody thought hard about how to make things
easier for me. This is of course not the
case with most or all PC cases (yes, I know
they cost you however much less).
It's amazing how prices of products aren't cheaper despite outsourcing to foreign countries.
Outsourcing is a technique used to cut costs
and maximize profit, not lower prices.
Competition is what lowers prices.
an organized boycott against those companies should be implemented
Your economics is oversimplified.
Let's say Microsoft is required to hire only
Americans. Because of their increased labor
costs, their OS becomes more expensive. Now,
an Indian software company finally perfects
that Windows clone, and sells it for cheaper
because their programmers cost less.
It is now your (patriotic, whatever) duty to
buy Microsoft, even though it's more expensive.
Are you now happier? I doubt it. If Microsoft
then lobbies to ban the importation of the
Indian Windows, you'll probably be even less
happy.
However, if Microsoft is free to outsource,
then you the consumer is certainly free to
buy the cheaper clone, and actually save money.
(Of course, you'll have a harder time finding
a job, because you're competing with the
whole world. I'm not saying it's easy.)
The trouble with your logic is that it can be
applied at any level to limit competition.
You could certainly say that Microsoft is
hurting California companies, because it's
cheaper to live in Redmond than in San Jose
and so they manage to get cheaper programmers.
It would establish QuickTime as the premier portable media format.
Why does Apple need a portable media format?
What Apple needs is a media format that most
people (Windows) can use, but somehow shines
brighter on Apple machines. IOW, supporting
QT for Windows is a necessity, while supporting
QT for Linux is giving another reason not to
switch to a Mac.
technicians in the server rooms [...] often get to make technical decisions such as "which media format to use". As long as it is convenient to play on MS Windows, their bosses don't really care.
Exactly. I present to you the Darwin
Streaming Server, an open source and free
media server also available for Linux, Solaris,
and Windows NT. What's there not to like on
the server side?
Oh, you want to watch the videos. Well, buy a
Mac!
Note that I'm not defending Apple or anything,
just trying to explain its actions according to
its interests.
That is what I see as Apple's goal: making Mac OS X close enough to Linux as possible to minimise code rewrites, but still different enough to attract buyers.
I think a more likely Apple goal is to make
it very easy to port from Linux from OS X, but
as hard as possible the other way around.
Apple is clearly not competing with Linux the
kernel, because they "give away" Darwin. However,
I'm sure they are wary of Linux the desktop OS.
Put another way, Apple software is a big part
of its added value that justifies the additional
cost everybody likes to talk about. Helping
Linux become "OS X on the x86" is going to force
Apple to compete on hardware alone, which is
probably a fight they will lose horribly.
Think about it. Contributing code back to KHTML
and X11 helps Apple, because it makes it easier
to borrow code again in the future (reduces
incompatible changes, and avoids tying up "upstream" developers on work Apple already did). Contributing to Rendezvous helps increase the
mind- and market share of a young technology that
Apple is backing. Contributing to Darwin gets
them, in the best case, free bug fixes in an
area they do not feel competitive to start with.
At worst, it buys goodwill.
What will QT for Linux do for Apple? I'm not
saying it does nothing, but no reason I can
think of is as compelling as the examples I
gave above. For the same reason, Apple is
not going to help Linux by giving it iTunes
or iPod software, or in general improve Linux
as a desktop OS for nothing.
Apple is quite happy to go their own way and let the PC world go do... whatever it is that the PC world does. Every once in a while, the PC world takes a look at what Apple is doing and changes direction a bit, but that's about the limit of the interaction.
Power Macs now ship with PCI, AGP, and IDE peripherals. Inside the box, I can think of
MP3 and Samba as two obvious examples.
The point is not that the "PC world" invented
any of these, but that Apple may not have made
these design choices if not for their
popularity in the "PC world".
So, no, Apple does look very closely at what
happens on the other side.
Mac zealots clinging onto MacOS/OS X because it's better for graphic design is a moot point because the software used for graphic design is now mostly cross platform
But it isn't moot. The fact that Photoshop is
available for both Windows and Mac doesn't mean
that both versions are of equal quality. One
of them may be better tested, better optimized,
etc. The difference may or may not matter, but
it's not a given.
Secondly, as I pointed out, the raw speed of
the computer doesn't translate directly to
productivity. In fact, things like reliability
translate much more directly, because you
can't bill for the time you spent fixing a
crash. Again, I'm not saying which platform
crashes, just that the choice of OS (such as
one that is less reliable, or requires more
maintenance) or interface (such as one that
you are prone to make mistakes in) is not moot.
Aqua might look and organize better than WindowsXP or 2000, but most of your time is going to be spent with your graphics application or applications of choice. Unless they have absolutely no organizational skills, going between two applications or looking for files is not going to slow a person down to the point where it makes hardware speed a red herring.
Why should somebody switch platforms for no
important reason? (This goes both ways.)
You're saying that XP is just as good as a
Mac, so Mac graphics artists should switch
to XP for the extra CPU speed. I'm saying
that the extra CPU speed is not worth much
(and you seem to agree), and so the question
is, why switch?
Unless each of the smaller.c files can include significantly fewer.h files than the larger.c files could (which, in my experience, they can't) [...]
This occurs because programmers created these
superheaders where everything go. Instead,
related declarations should be clustered in
a single include file, so that a single
#include statement can satisfy several uses. Conversely, unrelated declarations should be split over different headers. Headers should
have include guards to avoid repeated
inclusion. Finally, headers should #include
everything it needs to compile, but no more.
Messy headers are a symptom of a deeper
problem with the organization. If the
developer didn't even bother thinking about
where to put the API, it's a good bet that
the API is not well documented either.
Look at the Standard C Library for an example.
It's a relatively small library by today's
standards, yet its declarations are broken
out over two dozen headers.
(Not important enough to get all projects to switch from C or C++ [to Java], but among the reasons that some projects should.)
Which projects? If it's small
enough, the build time wasn't worth worrying
about to start with. If it's big enough for
the build time to be a problem, then the
rewrite can cost you your entire competitive
advantage.
any professional who works with digital imaging [...] shouldn't care about the actual operating platform, but the machine performance. [...]
But I am not a professional in that field, so I could be dead wrong.
So you're comfortable making blanket statements
without even being in the field?
I write software for a living, and for the most
part, build times are not relevant. There are
times where they are extremely
important, such as the weeks before a deadline
where you are testing one-line fixes. However,
over most of the life of a project, my
productivity is only minimally affected by a
slower computer, up to a threshold of slowness
where I get irritated.
Now, because humans are flexible, we manage to
do other things while waiting for a computer.
We can, for example, start thinking about the
next step.
Put another way, I bought a 66 MHz 486 in
1995. Today, the same price can probably get
me something close to 3 GHz, for an improvement
in clock speed alone of almost 50x.
Architectural advancements probably will give
another 5x or 10x boost, so we're talking
about a box that is literally 250x to 500x
faster.
Am I - or a graphics professional - possibly
250x to 500x more productive than I was in
1995?
OOo on Mac (for X11 of course) is stable,
has OS X integration in the form of printing
and Audio support, opens most anything we
throw at it, and simply _works_.
First of all, I appreciate your hard work.
I downloaded one of the earliest binaries
available, and my impression then was "slow
and buggy", which was to be expected.
However, "opens most anything" isn't in a
position to tell "opens everything" to "move
over". The Aqua interface and slow startup
are huge roadblocks, and before that is
completed, Office v.X simply has no real
challenger. We need to be honest about that,
or people will stop believing us, when it is
indeed ready.
I went to MacWorld today, and if I'm not
terribly mistaken, the office bundle in
question is selling for about $50. Since
OpenOffice is the core attraction, my
concern is that enthusiastic folks will be
disappointed. Look, Apple is about to sell
iTunes, iMovie, iDVD, and iPhoto as a $50
bundle, and these are polished applications
now.
People already think you get what you pay
for. I stand by my statement that holding
free software to a lower standard is a
disservice. Just imagine what Microsoft
would face if it shipped OpenOffice in this
state.
Show me one single flight simulator which
is able to use data this accurate.
First of all, virtual reality systems have
the concept of using different models for
the same object, depending on the distance
to the viewer (camera). Thus, a tree might
be drawn with thousands of polygons when
nearby, and only a few when it's barely
visible.
Secondly, given the full data, there are
well known pre-processes to reduce polygon
counts so that they can be rendered in real
time.
I wasn't talking about "the statue of liberty
as seen by a fly", although that might be
interesting.
There are a lot of reasons, but one of the biggest ones is: 3 months to get up to speed or 6 months? Consider how much they're being paid, and the opporunity cost of 3 more months, and its just not worth it.
Programmer A: worth $1,000 a month for 6 months
(while learning). worth $8,000 after 6 months.
Programmer B: worth $1,000 a month for 3 months
(has prior experience, so shorter learning curve),
then worth $6,000 after that.
If both programmers are paid the same (say,
$5,000 a month), the total worth of programmer
A to you will surpass programmer B at some
point. Programmer A is somebody with
the "x-factor" but no specific experience in
your area. Programmer B is a mediocre
programmer, worth slightly more than he is
paid.
Put another way, who is more likely to be the
one to find that showstopper bug, which allows
you to actually ship? How much is that worth?
Different languages are fundamentally
different in terms of capabilities, style and
design philosophy.
This can be true, but many languages are also
closely related so that an expert in one can
easily pick up another.
For example, do you really have any doubt that
a dedicated and experienced C++ programmer
will have any real difficulty learning Java
on-the-job? Given the great difference in
productivity among programmers, it makes more
sense to hire the best programmer, even if he
or she doesn't really know your language yet.
when a job ad requires 5 years proficiency
in C++ on Windows, the implication is that you
would be intimately familiar with MFC and
Win32 API.
Yes, but this only makes sense if the job is
for the short term. If you're hiring for the
long term, the person who can actually find
and fix the bugs is the one you should hire.
Secondly, why "5"? What do you have in 5
years that you don't have in 4.5? 4? 3?
I need not point out that a suitably exposed
engineer will pick up more in 3 years than
another picks up in ten years.
Finally, people who are only familiar with
Win32/MFC may produce completely non-portable
code for you. In a different Slashdot topic
you might lament the lack of games on any
other platform. Well, these intimate
familiarities are exactly the reason. Take
a page from Microsoft, who manages to produce
Mac OS X versions of Office, despite
owning Windows.
In my experience, I've only known (personally
and via inherited code base) a few good
programmers but plenty of bad programmers.
The handful of good programmers I do know I
will hire with zero experience on a particular
language or technology. There is no doubt
that they will not only pick it up quickly,
but become prized experts in time.
Let's see... a student of compilers picks it up, and learns something. The intangible goodwill encourages another company to open something else. We don't lose another piece of computer history.
Not every act has to change the world, you know.
Deep Blue had 418 processors, and evaluated 200 million positions per second.
Deep Junior has eight processors, and evaluates 3 million moves per second.
More importantly, your point is irritatingly raised every time a computer chess article comes up. Your calculator doesn't actually know even how to add two numbers. Instead, it uses bitwise logic operators, so that the result looks like it added the two numbers. So what? Even the cheapest calculator can add non-trivial numbers more quickly and more accurately than any human.
It does not matter how Deep Junior comes up with the moves to tie the best human player in the world, in a match that Kasparov ensured was fair. It's Kasparov's advantage that he can think in the abstract. It's Deep Junior's advantage that it can make many simple calculations very quickly. Asking Deep Junior to play like Kasparov is exactly like asking Kasparov to play like Deep Junior.
Haven't you been paying attention? The war is about WMD. Oh, wait, it's about regime change, because Saddam is evil. Oh, wait, it's about disarmament. No, it's because he keeps lying and misleading inspectors.
Try to understand that while the end result is the same for the fortunate Iraqis who survive the bombings, there are valid concerns that America seems to be able to cite whatever reason it wants to justify an attack. The power to define (who is a terrorist, for example) must not be underestimated.
Do you honestly not get the feeling that the decision to attack Iraq was already finalized months ago? That nothing short of surrender is going to avert war?
There are two possible Americas right now. One that takes the burden of policing the world, driven by a desire to do good. Another that does whatever it wants, because it can, hiding behind the need to protect intelligence sources.
The problem is, many or most Americans believe that they are the former, but plenty of people all over the world believe they are the latter.
For the record, we aren't going to war. We haven't been in a war since WW2.
Korea? Vietnam? Kuwait?
This is a police action, enforcing maybe not international law, but justice nonetheless.
In the United States, justice is approximated by having police investigate crime, the district attorneys prosecute, a defense lawyer defend, a judge preside, and a jury decide. There is a very good reason so many independent parties are involved, rather than just have a single judge deciding what justice is.
It is dangerous to think that a single party like the US government, no matter how well intentioned, can dispense justice. (The US government is not one person, but ultimately it represents one interest: America's.)
If you still think it's about justice, then consider, realistically, if the US would be doing anything differently if Iraq tests a nuclear bomb. All of a sudden, the question will be whether justice is worth hundreds of thousands of American lives.
Saddam has lied about the existence of weapons of mass destruction, been consistently evasive and obstinate in his compliance with U.N. inspectors,
Allow me to refresh your memory. The Manhattan Project, which developed the first nuclear weapon, was possibly the biggest secret the US ever kept in its history. Before its use, concerned scientists argued for a "demonstration" instead, to scare the Japanese into surrender. It was overruled because of secrecy concerns (bombers are more likely to be shot down at any cost if they know of this weapon). The secrecy was judged more important than hundreds of thousands of Japanese civilian lives.
Israel still denies having nuclear weapons, although most nations believe it does. India and Pakistan kept quiet until they actually had a weapon. How about North Korea?
Secrecy is matter of fact in this business.
and even gone so far as to threaten to use his non-existant weapons on the U.S.
You mean after the US first threatened to invade Iraq?
The fact is, Saddam Hussein is being set up for an invasion, either deliberately or not. Over the past few months, the US has wavered repeatedly between "regime change" and "disarmament". It's possible that Iraq would consider disarming if it meant peace. However, it's idiotic to think that Iraq would be so stupid as to disarm first to make it easier for the US to change its regime.
Of course they're hiding everything they can! The only other choice they were given was throwing themselves at the mercy of the US.
There's a difference between an employee whining about having to work 8 hours a day, and a business realizing that regular breaks actually improve productivity. This is especially true for humans in creative professions. Taking a stroll (or even Slashdot) can often get you a solution faster than staring at the problem.
The second point is that people remember to do things when they remember. Let's say you suddenly remembered that you need to order a gift for someone. You can either take a few minutes to get it over with, or try to remember it for the rest of the day. Which one is likely to distract you from work more?
On another point I say two can play at that game. You want me to work every second I am at work that's fine. But when that clock hits 5:00 I drop everything and leave.
Exactly. The question is not which policies employees dislike, but which policies actually improve productivity.
Yes, but a rescue CD is better, because you can fit more diagnostic software and whatnot on it.
and thus the comparitive cost of CD vs floppy media would make it stupid to burn 1M of data onto a 650M CD.
You can get 50 CD-Rs for $30, and that's already expensive. A manufactured rescue CD would cost less than $1.
Plus there's still the fact that floppies are good for the transferring of some media types, like short word processing documents and pictures.
Yes, but a CD-R or USB keychain or iPod is better, because they can also transfer bigger stuff like MP3s.
Particularly if we're talking parents and grandparents that have that donated pre-Pentium computer without a CD rom
A CD-ROM drive upgrade for those 8-year old PCs is only slightly more expensive, but vastly more useful, than a floppy drive.
there's still plenty of reasons for floppy use.
But it's redundant now, even if it costs only $10. Redundancy is not a good thing on commodity products.
Most CS courses are schizophrenic. They aim both to produce competent engineers and to produce academics who will go on to MS and PhD. This means that the scientist types never want to get their hands too dirty ("just a bit of coding to prove that my idea works") and the engineer types can get bored ("can we just write some code?").
Yes, I'm stereotyping extremes. However, there really should be two separate tracks, where the software engineering track focuses on large scale systems with individually trivial parts - the real world. The computer science track then focuses on individually complex problems, but not on building large software systems.
you'll also gain something else... understanding of the hardware... something ELSE that should be a requirement in every CS course.
Indeed. I brought a broken PC to a CS class one time, and with a specialized tool called a screwdriver, opened the case for them to peek in. Many were amazed and impressed.
What's your excuse for how slow and bloated your app is today?
Writing tight code does not make you an engineer. Giving your customer the cheapest solution that fulfills requirements is what you need to do. If cheapest means off-the-shelf code and fast hardware, then that's the best solution.
Uh, no. There is no reliable way to shrink an image below a certain minimum scale - bitmap or vector. When two distinct features are shrunk into a single pixel, bad things happen. This is why OS X allows a developer to specify alternative small icons. This is also why font antialiasing is usually disabled for text smaller than a certain size, because they just become blurred. Even for larger sizes, extensive hinting is required for some glyphs to look sharp.
Not to say this isn't good progress. Just that an icon designed to be 128x128 or so probably still has to be redrawn for a 320x240 screen.
Uh, no. People clapping in an auditorium can hear the combined audio output of everybody else clapping. I'm not just listening to one random person in the audience.
Without thinking too hard about it, it seems that what's needed is not just a random (as in unpredictable) number, but a well distributed random number, so that you avoid the formation of subgroups that are just polling each other.
Again, this is an oversimplification.
If many people don't have jobs, then salaries will come down because the supply of labor greatly exceeds demand. When salaries come down, people will move to cheaper places and other jobs, so apartments become cheaper to rent. At some point, it makes sense again for American companies to hire Americans, because Americans generate sufficient value as employees versus their cost. Similarly, a boom in India, for example, will bring up the cost of engineering talent there. The playing field is further leveled by inevitable demand for fair and safe labor practices, medical insurance, and other expenses.
Note that I wrote earlier that it won't be easy. In fact, this adjustment is extremely painful. I live in the San Francisco bay area, and anecdotal evidence already shows that housing costs are coming down significantly. However, what's happening right now is no different in nature than another American willing to do your job for less money, and knee-jerk protectionism will only mask the problem.
This isn't inevitable. Technological innovations allow people to generate more value for their employers, which justifies more pay. Americans have to find jobs that other people can't do to continue getting paid more.
The handles are great for carrying the box around when you need to. The entire right surface of the box opens down for easy access to the entire motherboard. The IDE drives are mounted so that the ribbon cables are only an inch long. The fans are quiet.
Looking at the case, I get the feeling that somebody thought hard about how to make things easier for me. This is of course not the case with most or all PC cases (yes, I know they cost you however much less).
Outsourcing is a technique used to cut costs and maximize profit, not lower prices. Competition is what lowers prices.
an organized boycott against those companies should be implemented
Your economics is oversimplified.
Let's say Microsoft is required to hire only Americans. Because of their increased labor costs, their OS becomes more expensive. Now, an Indian software company finally perfects that Windows clone, and sells it for cheaper because their programmers cost less.
It is now your (patriotic, whatever) duty to buy Microsoft, even though it's more expensive. Are you now happier? I doubt it. If Microsoft then lobbies to ban the importation of the Indian Windows, you'll probably be even less happy.
However, if Microsoft is free to outsource, then you the consumer is certainly free to buy the cheaper clone, and actually save money. (Of course, you'll have a harder time finding a job, because you're competing with the whole world. I'm not saying it's easy.)
The trouble with your logic is that it can be applied at any level to limit competition. You could certainly say that Microsoft is hurting California companies, because it's cheaper to live in Redmond than in San Jose and so they manage to get cheaper programmers.
Why does Apple need a portable media format? What Apple needs is a media format that most people (Windows) can use, but somehow shines brighter on Apple machines. IOW, supporting QT for Windows is a necessity, while supporting QT for Linux is giving another reason not to switch to a Mac.
technicians in the server rooms [...] often get to make technical decisions such as "which media format to use". As long as it is convenient to play on MS Windows, their bosses don't really care.
Exactly. I present to you the Darwin Streaming Server, an open source and free media server also available for Linux, Solaris, and Windows NT. What's there not to like on the server side?
Oh, you want to watch the videos. Well, buy a Mac!
Note that I'm not defending Apple or anything, just trying to explain its actions according to its interests.
I think a more likely Apple goal is to make it very easy to port from Linux from OS X, but as hard as possible the other way around. Apple is clearly not competing with Linux the kernel, because they "give away" Darwin. However, I'm sure they are wary of Linux the desktop OS.
Put another way, Apple software is a big part of its added value that justifies the additional cost everybody likes to talk about. Helping Linux become "OS X on the x86" is going to force Apple to compete on hardware alone, which is probably a fight they will lose horribly.
Think about it. Contributing code back to KHTML and X11 helps Apple, because it makes it easier to borrow code again in the future (reduces incompatible changes, and avoids tying up "upstream" developers on work Apple already did). Contributing to Rendezvous helps increase the mind- and market share of a young technology that Apple is backing. Contributing to Darwin gets them, in the best case, free bug fixes in an area they do not feel competitive to start with. At worst, it buys goodwill.
What will QT for Linux do for Apple? I'm not saying it does nothing, but no reason I can think of is as compelling as the examples I gave above. For the same reason, Apple is not going to help Linux by giving it iTunes or iPod software, or in general improve Linux as a desktop OS for nothing.
Power Macs now ship with PCI, AGP, and IDE peripherals. Inside the box, I can think of MP3 and Samba as two obvious examples.
The point is not that the "PC world" invented any of these, but that Apple may not have made these design choices if not for their popularity in the "PC world".
So, no, Apple does look very closely at what happens on the other side.
But it isn't moot. The fact that Photoshop is available for both Windows and Mac doesn't mean that both versions are of equal quality. One of them may be better tested, better optimized, etc. The difference may or may not matter, but it's not a given.
Secondly, as I pointed out, the raw speed of the computer doesn't translate directly to productivity. In fact, things like reliability translate much more directly, because you can't bill for the time you spent fixing a crash. Again, I'm not saying which platform crashes, just that the choice of OS (such as one that is less reliable, or requires more maintenance) or interface (such as one that you are prone to make mistakes in) is not moot.
Aqua might look and organize better than WindowsXP or 2000, but most of your time is going to be spent with your graphics application or applications of choice. Unless they have absolutely no organizational skills, going between two applications or looking for files is not going to slow a person down to the point where it makes hardware speed a red herring.
Why should somebody switch platforms for no important reason? (This goes both ways.) You're saying that XP is just as good as a Mac, so Mac graphics artists should switch to XP for the extra CPU speed. I'm saying that the extra CPU speed is not worth much (and you seem to agree), and so the question is, why switch?
6,928,478 bytes is 6.6 MB, because there are 1,048,576 bytes per MB.
This occurs because programmers created these superheaders where everything go. Instead, related declarations should be clustered in a single include file, so that a single #include statement can satisfy several uses. Conversely, unrelated declarations should be split over different headers. Headers should have include guards to avoid repeated inclusion. Finally, headers should #include everything it needs to compile, but no more.
Messy headers are a symptom of a deeper problem with the organization. If the developer didn't even bother thinking about where to put the API, it's a good bet that the API is not well documented either.
Look at the Standard C Library for an example. It's a relatively small library by today's standards, yet its declarations are broken out over two dozen headers.
(Not important enough to get all projects to switch from C or C++ [to Java], but among the reasons that some projects should.)
Which projects? If it's small enough, the build time wasn't worth worrying about to start with. If it's big enough for the build time to be a problem, then the rewrite can cost you your entire competitive advantage.
So you're comfortable making blanket statements without even being in the field?
I write software for a living, and for the most part, build times are not relevant. There are times where they are extremely important, such as the weeks before a deadline where you are testing one-line fixes. However, over most of the life of a project, my productivity is only minimally affected by a slower computer, up to a threshold of slowness where I get irritated.
Now, because humans are flexible, we manage to do other things while waiting for a computer. We can, for example, start thinking about the next step.
Put another way, I bought a 66 MHz 486 in 1995. Today, the same price can probably get me something close to 3 GHz, for an improvement in clock speed alone of almost 50x. Architectural advancements probably will give another 5x or 10x boost, so we're talking about a box that is literally 250x to 500x faster.
Am I - or a graphics professional - possibly 250x to 500x more productive than I was in 1995?
First of all, I appreciate your hard work. I downloaded one of the earliest binaries available, and my impression then was "slow and buggy", which was to be expected.
However, "opens most anything" isn't in a position to tell "opens everything" to "move over". The Aqua interface and slow startup are huge roadblocks, and before that is completed, Office v.X simply has no real challenger. We need to be honest about that, or people will stop believing us, when it is indeed ready.
I went to MacWorld today, and if I'm not terribly mistaken, the office bundle in question is selling for about $50. Since OpenOffice is the core attraction, my concern is that enthusiastic folks will be disappointed. Look, Apple is about to sell iTunes, iMovie, iDVD, and iPhoto as a $50 bundle, and these are polished applications now.
People already think you get what you pay for. I stand by my statement that holding free software to a lower standard is a disservice. Just imagine what Microsoft would face if it shipped OpenOffice in this state.
First of all, virtual reality systems have the concept of using different models for the same object, depending on the distance to the viewer (camera). Thus, a tree might be drawn with thousands of polygons when nearby, and only a few when it's barely visible.
Secondly, given the full data, there are well known pre-processes to reduce polygon counts so that they can be rendered in real time.
I wasn't talking about "the statue of liberty as seen by a fly", although that might be interesting.
Programmer A: worth $1,000 a month for 6 months (while learning). worth $8,000 after 6 months.
Programmer B: worth $1,000 a month for 3 months (has prior experience, so shorter learning curve), then worth $6,000 after that.
If both programmers are paid the same (say, $5,000 a month), the total worth of programmer A to you will surpass programmer B at some point. Programmer A is somebody with the "x-factor" but no specific experience in your area. Programmer B is a mediocre programmer, worth slightly more than he is paid.
Put another way, who is more likely to be the one to find that showstopper bug, which allows you to actually ship? How much is that worth?
This can be true, but many languages are also closely related so that an expert in one can easily pick up another.
For example, do you really have any doubt that a dedicated and experienced C++ programmer will have any real difficulty learning Java on-the-job? Given the great difference in productivity among programmers, it makes more sense to hire the best programmer, even if he or she doesn't really know your language yet.
when a job ad requires 5 years proficiency in C++ on Windows, the implication is that you would be intimately familiar with MFC and Win32 API.
Yes, but this only makes sense if the job is for the short term. If you're hiring for the long term, the person who can actually find and fix the bugs is the one you should hire.
Secondly, why "5"? What do you have in 5 years that you don't have in 4.5? 4? 3? I need not point out that a suitably exposed engineer will pick up more in 3 years than another picks up in ten years.
Finally, people who are only familiar with Win32/MFC may produce completely non-portable code for you. In a different Slashdot topic you might lament the lack of games on any other platform. Well, these intimate familiarities are exactly the reason. Take a page from Microsoft, who manages to produce Mac OS X versions of Office, despite owning Windows.
In my experience, I've only known (personally and via inherited code base) a few good programmers but plenty of bad programmers. The handful of good programmers I do know I will hire with zero experience on a particular language or technology. There is no doubt that they will not only pick it up quickly, but become prized experts in time.
I hope they release the raw data. It can be used by flight simulator games to enhance the visual quality when rendering these monuments.