Anyone know why space is so expensive? Because we have to send everything from the ground! I mean, c'mon. We need space infrastructure. Build enough autonomous equipment to suck ice off of an ice asteroid and electrolyse it to water and oxygen, and you'll see the payload available for real stuff triple. It would take about the same resources as the ISS and would provide a financial savings that is very palpable.
Second, consider Nuclear rockets. Work on fusion.
Every scientist has their pet project, but if we can make fusion power (first) and fusion propulsion (second) a reality, we won't be complaining about launching IBM mainframes into space...IBM will be doing it as a publicity stunt instead.
What's expensive about space is being at the bottom of a gravity well, that's it.
And don't complain that things can still be better done on the ground. There are real, valuable things that can't be done unless you're in zero-gravity. Give a nanomanufacturing nut a lab in zero-gravity and he'll give you his first-born.
Let me be slightly more verbose than Zork the Almighty.
In the French Revolution or the American Revolution, a revolution was costly but possible.
Thanks to the march of progress, basically since about WWI, states have been constructed such that planning a revolution gets you, your family, and everyone within 100 yards killed instantly. Actually trying one gets so much military might dropped on your ass that there is no hope of survival or success. The Russians helped pioneered this so consult the appropriate history there. (Tsarist Russia started it, Stalinist Russia perfected it).
America can waltz into Iraq and tear apart the government for the exact same reason that North Koreans can NOT plausibly stage a revolt.
The ONLY way North Korea could have a new government is a military coup. Since the military is effectively "really" in charge, that's already happened.
Getting control away from a military-backed dictatorship is difficult--especially with the world's largest, most-armed military. Note that we haven't meaningfully accomplished this since WWII Germany and I'm still waiting to see what history will say about Iraq.
WWII was a lot like a movie. There were good guys and bad guys, but their motives were pretty much established as good and bad respectively. In North Kafghaniraq, American politics has created an America shady enough that no one (least of all our citizens) feels particularly good about our leaders motives (or intelligence, the jury's out on this one). In WWII, the Allies were "The Good" and the Axis were "The Bad". Today, local dicators (a.k.a. Saddam Jong Il) are "The Bad", the American machine is "The Ugly", and increasingly, local guerillas (too often terrorists) are being seen by the local people as "The Good".
It amazes me that certain modern, Middle-Class Americans can't understand that dropping bombs on the local oppressors doesn't give much hope to the people of Iraq (or North Korea). It baffles me when they are appalled that those same locals celebrate a local boy killing 3000 people in the land where the bombs came from.
Make no mistake, the same tendency that allows some good, pious, working people in America to write off thousands of Iraqi casualties as "acceptable losses" is what also allows some good, pious, working people in Saudi Arabia to write off 9/11. The stubborn resolve that drives George W. Bush is the same stubborn resolve that drives the resistance in Iraq (the irony is that a lot of that resistance is only slightly less foreign to Iraq then Occupying American is).
At this point Shawn Hannity will pop out and Bill O'Reilly will "stop my spin" by saying how everything is fine, we're right, they're wrong, let's bomb them. He'll give me some token point and then claim he's been fair and that his ranting insanity is just the "plain truth" with no "spin". When intelligent people delude themselves into painting a pretty world of us versus the "evildoers", it just makes me sad. Their cries of "sanity" and "common sense" just ring of "Let them eat cake".
The sad reality is that some people are so confident in their "Good Old Party" that they won't realize the damage being done until it is too late. A lot of die-hard Republicans need to study about NAZI Germany. Seriously. What's happening in Congress (similarities to the pre-NAZI Bundestat can be drawn, the consolidation of power that enables tyranny) right now should concern anyone that believes in rule by the People (although everyone seems to be looking at the Presidency as their silver bullet).
Here in Springfield, Missouri, (pop ~300,000) our local utility monopoly (creatively named City Utilities) provides last-mile fiber for businesses (but not home).
Their web page is a bit behind, but they offer 512kbps for $400/month, 768kbps for $500/month, and 1Mbps for $600/month.
Before you clamor that these rates are really slow for fiber, let me inform you that this is 95th percentile billing. That is, at the end of the month, 95% of your bandwidth usage must be below that limit. The actual connection is full duplex, 100 Mbps (that actually terminates in some pretty serious uplinkage).
I've routinely gotten 6MBps (that's megabytes!) in downloads when rsyncing portage on Gentoo. It makes me . . . happy.
Read one of the above complaints that mentions not liking "menus in the windows". I hate to break it to you, but that's not a GIMP paradigm--that's a is-not-a-macintosh paradigm.
I also don't buy the right click thing. I use right click religiously and find it infinitely more useful that having to go all the way up to the top of the window just to select a menu option.
The interface (in those respects) doesn't suck, it's just different.
As for CMYK, patents aside, it's scheduled for next release, we'll see about it all then.
Also, if you haven't tried it since 1.0, look again. 2.0 uses the new GTK and it's a hell of a lot smoother. I really think next version will be serious-production-useful.
That said, I use it more or less daily and can vouch for one thing it does well that Photoshop (even with the right plugins) does horribly--Scripting.
If anyone read the comments in the article about Scribus, they noted one of the QuarkExpress guys raving about how it could autogenerate their catalog based on a database.
Gimp does this sort of thing insanely well. Between Gimp-Perl and Gimp-Python (and Script-Fu in general), you can automate processes in Gimp in insane ways. Automated photo-processing can be awesome.
As for "people who prefer Gimp to PS aren't serious PS users", I'd have to call BS on this one. After working with PS on OSX (even with OSX's crispy Unixness) actually seems to crash more. It also has issues of not really being able to tweak extensions (in OS9 you could turn them on and off in the extensions folder, now you can't, that can suck).
Similarly, I have problems getting PhotoShop, OSX, Postscript, and HP Designjets to kick out the correct colors. It does badness.
In short, PS has its share of problems as does Gimp. I would also argue that PS's interface has some serious suckage to it as well. The only thing I miss about it is the space-bar as a shortcut key--that was handy.
I think with the completion of 16-bit buffers and CMYK, you'll see a lot less complainers next version.
The thing to remember is that it's free (not beer-free, freedom free). That means that every advance it makes stays with it. It can't go out of business or get "phased out" with the next release. It's there for you, as long as you need it. When Microsoft buys the DOJ, SEC, and FCC and then Adobe, the PS people will have a rude awakening about exactly why Open Source is good. For that matter, if Apple bought Adobe, they might find out as well...
In parting, I'd remind all of you PS users that Adobe themselves pioneered the legal doctrine that copying look and feel is not copyright violation. If we reskin GIMP to look EXACTLY like PS, would that make you happy?
ATA is basically the SCSI protocol (the good part) over IDE. There's a reason why some SATA drives appear as SCSI adapters under Linux.
Expensive, yes. Aging, no. Ten years ago people said SCSI was the future. Now everyone runs it, they just don't know it.
IDE in its original form has never been able to keep up with a 10k RPM (or higher) disk.
I think what the parent post is alluding to is Tagged Queuing. Tagged Queueing allows you to group blocks together and tell the drive to write them in some priority. That sort of thing is used to guarantee journaling and such. Interestingly, the lack of this mechanism is why many IDE drives torch journalled fs's when they lose power during a write--they do buffering but without some sort of priority. You can imagine I was pretty torqued the first time I had to fsck an ext3 (or rebuild-tree on reiserfs) after a power failure.
The reason that the kernel helps even with the above technology is that the drive queue is easily filled. Even when you have a multimegabyte drive cache and a fast drive, large amounts of data spread over the disk can take a while to write out.
This scheduler is able to take into account Linux's entire internal disk cache (sometimes gigs of data in RAM) and schedule that before it hits the drives.
> Otherwise the entire software industry would > have no legal basis, and clearly it does. That sounds like a fairly large assumption to me. Never assume that any business entity has a legal basis for anything. Despite appearances (and statements) to the contrary, most businesses consult lawyers "in post". A large amount of software licensing has been developed that way.
Secondly, it all comes down to the definition of a derived work.
The kernel (wrt userspace) is not a library. It also does not implement anything unique--POSIX specifies the core of what most programs interact with. User code is clearly not a derived work because they are not diminished by the removal of the kernel.
Drivers are another story. At some point a driver interfaces with the kernel in a very real way. I would remind you that writing a driver for the kernel ties into a number of locking functions and interfaces that are Linux-specific in the extreme.
These drivers *ARE* diminished by the removal of the kernel. In fact, they are so incomplete without it that they are incapable of functioning. Thus, removal of the kernel causes them to no longer be a complete work. That is a natural consequence of (and evidence that) these drivers are a derived work.
In addition, if you look up Linus's "estoppel" reference, you'll see that by stating that he will not pursue userspace in court, anyone has grounds to bind him to the public statement if he ever changes his mind.
Thus, userspace is protected legally by the nature of a derived work and the precedent of estoppel.
Drivers, on the other hand, are clearly a derived work (they're useless without the kernel).
Driver writers who wrote "kernel independent" drivers might have a chance, but the ice is pretty thin. The qLogic ISP1040 driver for Linux / some BSDs comes to mind. Still, at a few very real points, there are some points that are clearly tight integration with Linux.
Linus really doesn't care much about any of that. He made his choice simply on merits. Binary drivers are less stable. Anyone who has ever had to maintain a driver in Linux (or NT for that matter) will tell you that there are things that cannot be specified in an interface. Not the least of which is some of the spinlocking stuff. A number of things the kernel does, it does with macros that inlined into your code. If you build a binary driver and those change, your code does it different than everyone else (usually crashing things). Spinlocks and SMP are a good example. I can't think of any examples of a Linux binary driver that really works well across kernel versions AND SMP. I can think of an NT video driver, but the first three versions were buggy and the current one mysteriously has 70% of the UP on the benchmarks.
However, IWIWALBIN (I wish I was a lawyer but I'm not) so I guess we'll have to wait and see.
Bloat. Case-insensitivity creates a large bottleneck in compiling. Seriously. Every symbol comparison requires special handling. Ostensibly, it's no worse than lowercasing and doing a byte-for-byte comparison. However, that's a large linear overhead (in time AND memory) at each comparison.
Comparing PHP to VB is interesting since VB has a pretty IDE and you're doing PHP in Notepad! Write your VB in Notepad for a month and then call me.
Ironically, you just made an argument for me anyways. Your problems in PHP are PRECISELY your aforementioned problem. You've got the "this is the way I learned so that's the way I think it should be" thing going. You learned you could ignore it in VB but now you can't in PHP (with Notepad) and you whine.
I'm sorry, I've always programmed case-sensitively and never had a problem with it.
Now, as to which one is better? I pick case sensitive because it keeps the code simple, to the point, and fast. Libraries and tricky language features can mitigate the above to an extent, but at some point you have to concede that this "feature" makes things slightly easier for you at the expense of significant complexity. And unlike language features like a Virtual Machine or Garbage Collection, the benefits are much more . . . dubious. Also unlike the aforementioned, this feature hurts MORE with large projects--not less.
Then again, with language experience like VB and PHP, I doubt you've ever had to maintain an extermely large project (thing at least 5,000 source files with 300,000 lines of code). No offense, but it's nearly impossible to pull that off with VB and PHP. Although those who do have earned my respect.;)
When doing large directory lookups for one. In a case insensitive system, searching is much slower.
When given an open call for, say, "my document.txt", you have to match for all possible case permutations of that string. That's 2 ^ length of the string possibilities.
There are tricks you can pull to keep this faster (linear but five times slower than a straight comparison, or precompute some data for inconstant calculation loads), but the point remains that you end up with a bunch of weird and buggy macros to implement what should be a simple lookup.
If you don't believe me, make a program that randomly generates 100,000 test strings of variable of length, then searches it for a value (and doesn't find it, since misses are the worst case in this scenario). Now change your strcmp to stricmp. Notice the difference. Imagine it in the kernel--on every file lookup.
This is not an insignificant problem either. Mail servers are the first place this would suck. Maildirs, for example, require frequently searching dirs with many files. More critically, mail servers rely on being able to walk their queue directories effectively. Same thing for various other queuing services (HylaFax comes to mind). "Just make it case insensitive to make it easier" sounds benign, but a byte-for-byte comparison is simply faster and always will be.
Also, keep in mind that VFAT saves the case information, it just doesn't use it. I actually kind of like being able to use it. Especially in extensions. Discerning between.c for C and.C for C++ has always been a (IMHO useful) convention on unix.
Besides, I just don't buy the argument.
a> Case-sensitivity keeps you from being sloppy b> My cute IDE keeps me from being sloppy, the language shouldn't stop me!
What do you care about the language if the IDE takes care of it? Besides, you're making an argument for being sloppy. Best case, at least it's an argument against typing what you mean. This is just like imprecision in language. I may know what you mean if you use "ain't" when you mean "won't", but it is still better to use the correct words for obvious reasons.
ReportLab is Perfect For This
on
PDF Writers?
·
· Score: 1
If you are a fairly adept programmer, I would recommend ReportLab.
Seriously, if you don't know Python, this is definitely a reason to learn. I've written dozens of tiny systems that pull data from PostgreSQL (MySQL is just as easy) to create special reports for clients. I've also done two fairly large and flexible formats.
The nicest thing about ReportLab is that it gives you primitives like tables, paragraphs, pages, and the like rather than just a drawing library. You also get various chart primitives too. Yet, you still have the low level access to the basic drawing canvas functions, too.
If your fat-client wants to go to this a full reporting suite, they offer commercial support and an enterprise-class serving architecture. Although I've never needed them--I've always rolled my own with their base library--so YMMV.
I sure as heck can't get it to save it. In fact, as soon as I hit save, it pops up a box WARNING me that it won't be saved and that I need to upgrade to standard.
I recently felt really good about deploying Acrobat 5.0 with a customer for in-house forms work. Basically, they had 45 people. 2 stations had Acrobat so they could make forms, everyone had the free reader, and the 10 few who needed to save or sign forms had the $50 Acrobat Approval. This worked wonderful, was affordable, and I could feel good about PDF as an "open" format.
So what happened? Acrobat 6.0 came out. Sure enough, they left out Approval. Their customer service tells me to either get Adobe Acrobat Elements (1000 licenses or more only!) or "upgrade" to Acrobat 6.0 (mind you, they have a Standard or Professional version now). So I just went from:
2x$250 + 10x$50 = $1000
to
12x$250 = $3000
That was not cool and makes me look like a dork for recommending Adobe as being somehow "more open" than, say, MS Word. To this day, they won't even say that there will be no Approval version. All I want is for them to say "we don't plan on it" so that I can just tell my customers to abandon it--they won't even do that. They just say "stay tuned to the website for the next exciting release".
This mentality makes me wonder when PDF will become a closed format.
Seriously, Blender is not for use in "casual 3D". You don't necessarily use it to just make a logo, or render 3D text. Blender is designed to be used to model very high-quality models, paint them, animate them, and generally do things that are both complex and time consuming.
In any program that "simplifies" something, there is a danger of oversimplification. In making the impact of the interface milder, you will dilute your capability to use it for actual work.
Put simply, Blender is a sportscar of an interface. Sure, the Porsche can ride a little rough and be kind of touchy. Heck it's even expensive to maintain. Do you want one for free?
Spend 3 weeks animating a single scene. Fight with 3D Studio MAX or some other overblown UI. Then come back to me and tell me that an interface that is flexible beyond imagination isn't what you need.
Put another way, actually do it for a living an you'll find out why it is that way.
As for "industry standard violins", think electric guitar. Well, it doesn't play like any other guitar--but actually listen to it and you may change your tune.
After further observation, I've determined two other fiendish protocols that are too often abused.
The other day I noticed that IRC and FTP are used by the unwashed masses too.
Let's shut them down too!
FYI, I'd estimate more like 0.0001%.
Also, distributing copyrighted materials != piracy. Copyrights would be worthless without being able to distribute. If Bittorrent is LAWFULLY distributing your copyrighted materials, then you can turn a maxed out T1 into ~50k-100k/sec while increasing your throughput by orders-of-magnitude.
Outlawing a crime is fine. Outlawing the method for committing the crime is morally questionable, practically debilitating, and generally the idea of people who aren't willing to admit the world is a complex place.
Look, the gov't is special. They should be able to guarantee that they can retrive today's data in 100 years if they need to. They only way for them to do that is to have the source code for all the apps they use. You aren't obligated to be able to do that, so it doesn't really matter than much what software you use. You aren't storing any data that's my property.
This last bit is poignant for me. I just spent the last three days writing a script to pull data out of an old Leading Edge Word Processor format. A commercial conversion service is available here. Obviously a few hundred dollars is fine for a big business, but this particular organization is much like the government. It's funding comes from it community whose goal has nothing to do with the bottom-line but rather to further goodwill and such. Specifically, I did this as a favor for the secretary at a church. Equally poignant is the fact that this sofware was originally chosen because it was came with the computer and it functioned (in 1995). Of course, no attention was paid to how to stewarded your data (binary format, see ranting next paragraph; being pre-longfilename, it used index files to hold full names and simulated a hierarchy while really using a flat directory; the markup format in the file is... obscure in the extreme).
If only some forethought and work can be directed at the problem of easy access to data in the far future, I will not have to do this again. I had enough fun tearing apart a binary format, finding out that the data was chopped into blocks and out of order, find the ordering data, reorder the data, and tear apart the markup infrastructure of a decade old program.
Finally, note that it's not even about data that's "my property" or such. This data is in the public domain. The public domain has taken a real beating lately and it is really too important than to be thought of as "the public's property". To the contrary, property is limiting in that it prevents use. Public domain is about not limiting use. Public domain literally means controlled by the people. Personal domain (a.k.a. property) means one person or entity exercises that control. Thus goverment property, public property, and public domain are three very different things. As such, public domain is not another form of property but rather something completely different.
The trend that the data is in the public domain but the format is not is contrary to the spirit of public domain and directly interferes with thousands of years (read since the Roman Republic) of use, doctrine, and general concern for the intellectual welfare of the people. Of course, we have television now so we don't need to worry about any of that...
Perhaps this is an opportunity to implement something else of use. Right now, OSes implement rough security for memory access (see SIGSEGV). Why not elevate such security to the same level as FS permissions (and simultaneously elevate both to a Kerberos style network auth).
Actually, this is one of the weirder (and cooler) things about Python. It doesn't give a compiler error, you get an EXCEPTION!!!
In Python, syntax errors and the like generate exceptions and are, thus, trappable. It is very strange for a program, at runtime, to give errors you usually would expect at load-time. It also can be really useful.
In Python, all errors are exception.
In general, you don't really notice the lack of braces. On one hand you might think "how do I know where a block ends?". Well, it ends were it unindents.
Heck indentation was introduced to add more information to the braces. Python just notes that the braces just aren't needed anymore.
The cleaner thing really is a benefit. See how much you enjoy debugging other people's large perl projects. It sucks. Python is very nice. Heck, it takes very little to drop into interpreter and interrogate the program. Very cool.
Anyone know why space is so expensive? Because we have to send everything from the ground! I mean, c'mon. We need space infrastructure. Build enough autonomous equipment to suck ice off of an ice asteroid and electrolyse it to water and oxygen, and you'll see the payload available for real stuff triple. It would take about the same resources as the ISS and would provide a financial savings that is very palpable.
Second, consider Nuclear rockets. Work on fusion.
Every scientist has their pet project, but if we can make fusion power (first) and fusion propulsion (second) a reality, we won't be complaining about launching IBM mainframes into space...IBM will be doing it as a publicity stunt instead.
What's expensive about space is being at the bottom of a gravity well, that's it.
And don't complain that things can still be better done on the ground. There are real, valuable things that can't be done unless you're in zero-gravity. Give a nanomanufacturing nut a lab in zero-gravity and he'll give you his first-born.
Whatever dude. Peace at all cost. Everybody be pacifists or I'm gonna start busting some heads!
Let me be slightly more verbose than Zork the Almighty.
In the French Revolution or the American Revolution, a revolution was costly but possible.
Thanks to the march of progress, basically since about WWI, states have been constructed such that planning a revolution gets you, your family, and everyone within 100 yards killed instantly. Actually trying one gets so much military might dropped on your ass that there is no hope of survival or success. The Russians helped pioneered this so consult the appropriate history there. (Tsarist Russia started it, Stalinist Russia perfected it).
America can waltz into Iraq and tear apart the government for the exact same reason that North Koreans can NOT plausibly stage a revolt.
The ONLY way North Korea could have a new government is a military coup. Since the military is effectively "really" in charge, that's already happened.
Getting control away from a military-backed dictatorship is difficult--especially with the world's largest, most-armed military. Note that we haven't meaningfully accomplished this since WWII Germany and I'm still waiting to see what history will say about Iraq.
WWII was a lot like a movie. There were good guys and bad guys, but their motives were pretty much established as good and bad respectively. In North Kafghaniraq, American politics has created an America shady enough that no one (least of all our citizens) feels particularly good about our leaders motives (or intelligence, the jury's out on this one). In WWII, the Allies were "The Good" and the Axis were "The Bad". Today, local dicators (a.k.a. Saddam Jong Il) are "The Bad", the American machine is "The Ugly", and increasingly, local guerillas (too often terrorists) are being seen by the local people as "The Good".
It amazes me that certain modern, Middle-Class Americans can't understand that dropping bombs on the local oppressors doesn't give much hope to the people of Iraq (or North Korea). It baffles me when they are appalled that those same locals celebrate a local boy killing 3000 people in the land where the bombs came from.
Make no mistake, the same tendency that allows some good, pious, working people in America to write off thousands of Iraqi casualties as "acceptable losses" is what also allows some good, pious, working people in Saudi Arabia to write off 9/11. The stubborn resolve that drives George W. Bush is the same stubborn resolve that drives the resistance in Iraq (the irony is that a lot of that resistance is only slightly less foreign to Iraq then Occupying American is).
At this point Shawn Hannity will pop out and Bill O'Reilly will "stop my spin" by saying how everything is fine, we're right, they're wrong, let's bomb them. He'll give me some token point and then claim he's been fair and that his ranting insanity is just the "plain truth" with no "spin". When intelligent people delude themselves into painting a pretty world of us versus the "evildoers", it just makes me sad. Their cries of "sanity" and "common sense" just ring of "Let them eat cake".
The sad reality is that some people are so confident in their "Good Old Party" that they won't realize the damage being done until it is too late. A lot of die-hard Republicans need to study about NAZI Germany. Seriously. What's happening in Congress (similarities to the pre-NAZI Bundestat can be drawn, the consolidation of power that enables tyranny) right now should concern anyone that believes in rule by the People (although everyone seems to be looking at the Presidency as their silver bullet).
Here in Springfield, Missouri, (pop ~300,000) our local utility monopoly (creatively named City Utilities) provides last-mile fiber for businesses (but not home).
Their web page is a bit behind, but they offer 512kbps for $400/month, 768kbps for $500/month, and 1Mbps for $600/month.
Before you clamor that these rates are really slow for fiber, let me inform you that this is 95th percentile billing. That is, at the end of the month, 95% of your bandwidth usage must be below that limit. The actual connection is full duplex, 100 Mbps (that actually terminates in some pretty serious uplinkage).
I've routinely gotten 6MBps (that's megabytes!) in downloads when rsyncing portage on Gentoo. It makes me . . . happy.
Actually, I upgraded to the new distro's BECAUSE of their slowness.
I found myself getting all of my work done and still having a day left. Can't have that, they could eliminate my job!
My slow desktop gives me job security!
Seriously though.
If the only graphics you need are your pr0n jpegs, try fbi. It's a framebuffer console image viewer. Quite handy.
I believe there's an image viewer too.
If links isn't enough for you, there's zen, a framebuffer web browser. I don't think it's very current though.
And can't qt render directly to a fb now somehow?
Tons of standards contain proprietary bits.
Indeed, proprietary standards abound in the manufacturing sector.
Look at ITU or Bellcore standards. Heck, most of those you need to pay just to get a copy of the standard!
That said, open is the way to go.
Proprietary standards allow interaction between big players, Open standards allow interaction with the little guy. I'm the little guy, so I like Open.
I have to agree on this one.
Read one of the above complaints that mentions not liking "menus in the windows". I hate to break it to you, but that's not a GIMP paradigm--that's a is-not-a-macintosh paradigm.
I also don't buy the right click thing. I use right click religiously and find it infinitely more useful that having to go all the way up to the top of the window just to select a menu option.
The interface (in those respects) doesn't suck, it's just different.
As for CMYK, patents aside, it's scheduled for next release, we'll see about it all then.
Also, if you haven't tried it since 1.0, look again. 2.0 uses the new GTK and it's a hell of a lot smoother. I really think next version will be serious-production-useful.
That said, I use it more or less daily and can vouch for one thing it does well that Photoshop (even with the right plugins) does horribly--Scripting.
If anyone read the comments in the article about Scribus, they noted one of the QuarkExpress guys raving about how it could autogenerate their catalog based on a database.
Gimp does this sort of thing insanely well. Between Gimp-Perl and Gimp-Python (and Script-Fu in general), you can automate processes in Gimp in insane ways. Automated photo-processing can be awesome.
As for "people who prefer Gimp to PS aren't serious PS users", I'd have to call BS on this one. After working with PS on OSX (even with OSX's crispy Unixness) actually seems to crash more. It also has issues of not really being able to tweak extensions (in OS9 you could turn them on and off in the extensions folder, now you can't, that can suck).
Similarly, I have problems getting PhotoShop, OSX, Postscript, and HP Designjets to kick out the correct colors. It does badness.
In short, PS has its share of problems as does Gimp. I would also argue that PS's interface has some serious suckage to it as well. The only thing I miss about it is the space-bar as a shortcut key--that was handy.
I think with the completion of 16-bit buffers and CMYK, you'll see a lot less complainers next version.
The thing to remember is that it's free (not beer-free, freedom free). That means that every advance it makes stays with it. It can't go out of business or get "phased out" with the next release. It's there for you, as long as you need it. When Microsoft buys the DOJ, SEC, and FCC and then Adobe, the PS people will have a rude awakening about exactly why Open Source is good. For that matter, if Apple bought Adobe, they might find out as well...
In parting, I'd remind all of you PS users that Adobe themselves pioneered the legal doctrine that copying look and feel is not copyright violation. If we reskin GIMP to look EXACTLY like PS, would that make you happy?
FWIW, Scribus can import SVG--which Sodipodi produces fairly well. As a pair, they're pretty useful.
ATA is basically the SCSI protocol (the good part) over IDE. There's a reason why some SATA drives appear as SCSI adapters under Linux.
Expensive, yes. Aging, no. Ten years ago people said SCSI was the future. Now everyone runs it, they just don't know it.
IDE in its original form has never been able to keep up with a 10k RPM (or higher) disk.
I think what the parent post is alluding to is Tagged Queuing. Tagged Queueing allows you to group blocks together and tell the drive to write them in some priority. That sort of thing is used to guarantee journaling and such. Interestingly, the lack of this mechanism is why many IDE drives torch journalled fs's when they lose power during a write--they do buffering but without some sort of priority. You can imagine I was pretty torqued the first time I had to fsck an ext3 (or rebuild-tree on reiserfs) after a power failure.
The reason that the kernel helps even with the above technology is that the drive queue is easily filled. Even when you have a multimegabyte drive cache and a fast drive, large amounts of data spread over the disk can take a while to write out.
This scheduler is able to take into account Linux's entire internal disk cache (sometimes gigs of data in RAM) and schedule that before it hits the drives.
> Otherwise the entire software industry would
> have no legal basis, and clearly it does.
That sounds like a fairly large assumption to me. Never assume that any business entity has a legal basis for anything. Despite appearances (and statements) to the contrary, most businesses consult lawyers "in post". A large amount of software licensing has been developed that way.
Secondly, it all comes down to the definition of a derived work.
The kernel (wrt userspace) is not a library. It also does not implement anything unique--POSIX specifies the core of what most programs interact with. User code is clearly not a derived work because they are not diminished by the removal of the kernel.
Drivers are another story. At some point a driver interfaces with the kernel in a very real way. I would remind you that writing a driver for the kernel ties into a number of locking functions and interfaces that are Linux-specific in the extreme.
These drivers *ARE* diminished by the removal of the kernel. In fact, they are so incomplete without it that they are incapable of functioning. Thus, removal of the kernel causes them to no longer be a complete work. That is a natural consequence of (and evidence that) these drivers are a derived work.
In addition, if you look up Linus's "estoppel" reference, you'll see that by stating that he will not pursue userspace in court, anyone has grounds to bind him to the public statement if he ever changes his mind.
Thus, userspace is protected legally by the nature of a derived work and the precedent of estoppel.
Drivers, on the other hand, are clearly a derived work (they're useless without the kernel).
Driver writers who wrote "kernel independent" drivers might have a chance, but the ice is pretty thin. The qLogic ISP1040 driver for Linux / some BSDs comes to mind. Still, at a few very real points, there are some points that are clearly tight integration with Linux.
Linus really doesn't care much about any of that. He made his choice simply on merits. Binary drivers are less stable. Anyone who has ever had to maintain a driver in Linux (or NT for that matter) will tell you that there are things that cannot be specified in an interface. Not the least of which is some of the spinlocking stuff. A number of things the kernel does, it does with macros that inlined into your code. If you build a binary driver and those change, your code does it different than everyone else (usually crashing things). Spinlocks and SMP are a good example. I can't think of any examples of a Linux binary driver that really works well across kernel versions AND SMP. I can think of an NT video driver, but the first three versions were buggy and the current one mysteriously has 70% of the UP on the benchmarks.
However, IWIWALBIN (I wish I was a lawyer but I'm not) so I guess we'll have to wait and see.
Bloat. Case-insensitivity creates a large bottleneck in compiling. Seriously. Every symbol comparison requires special handling. Ostensibly, it's no worse than lowercasing and doing a byte-for-byte comparison. However, that's a large linear overhead (in time AND memory) at each comparison.
;)
Comparing PHP to VB is interesting since VB has a pretty IDE and you're doing PHP in Notepad! Write your VB in Notepad for a month and then call me.
Ironically, you just made an argument for me anyways. Your problems in PHP are PRECISELY your aforementioned problem. You've got the "this is the way I learned so that's the way I think it should be" thing going. You learned you could ignore it in VB but now you can't in PHP (with Notepad) and you whine.
I'm sorry, I've always programmed case-sensitively and never had a problem with it.
Now, as to which one is better? I pick case sensitive because it keeps the code simple, to the point, and fast. Libraries and tricky language features can mitigate the above to an extent, but at some point you have to concede that this "feature" makes things slightly easier for you at the expense of significant complexity. And unlike language features like a Virtual Machine or Garbage Collection, the benefits are much more . . . dubious. Also unlike the aforementioned, this feature hurts MORE with large projects--not less.
Then again, with language experience like VB and PHP, I doubt you've ever had to maintain an extermely large project (thing at least 5,000 source files with 300,000 lines of code). No offense, but it's nearly impossible to pull that off with VB and PHP. Although those who do have earned my respect.
When doing large directory lookups for one. In a case insensitive system, searching is much slower.
.c for C and .C for C++ has always been a (IMHO useful) convention on unix.
When given an open call for, say, "my document.txt", you have to match for all possible case permutations of that string. That's 2 ^ length of the string possibilities.
There are tricks you can pull to keep this faster (linear but five times slower than a straight comparison, or precompute some data for inconstant calculation loads), but the point remains that you end up with a bunch of weird and buggy macros to implement what should be a simple lookup.
If you don't believe me, make a program that randomly generates 100,000 test strings of variable of length, then searches it for a value (and doesn't find it, since misses are the worst case in this scenario). Now change your strcmp to stricmp. Notice the difference. Imagine it in the kernel--on every file lookup.
This is not an insignificant problem either. Mail servers are the first place this would suck. Maildirs, for example, require frequently searching dirs with many files. More critically, mail servers rely on being able to walk their queue directories effectively. Same thing for various other queuing services (HylaFax comes to mind). "Just make it case insensitive to make it easier" sounds benign, but a byte-for-byte comparison is simply faster and always will be.
Also, keep in mind that VFAT saves the case information, it just doesn't use it. I actually kind of like being able to use it. Especially in extensions. Discerning between
Besides, I just don't buy the argument.
a> Case-sensitivity keeps you from being sloppy
b> My cute IDE keeps me from being sloppy, the language shouldn't stop me!
What do you care about the language if the IDE takes care of it? Besides, you're making an argument for being sloppy. Best case, at least it's an argument against typing what you mean. This is just like imprecision in language. I may know what you mean if you use "ain't" when you mean "won't", but it is still better to use the correct words for obvious reasons.
If you are a fairly adept programmer, I would recommend ReportLab.
Seriously, if you don't know Python, this is definitely a reason to learn. I've written dozens of tiny systems that pull data from PostgreSQL (MySQL is just as easy) to create special reports for clients. I've also done two fairly large and flexible formats.
The nicest thing about ReportLab is that it gives you primitives like tables, paragraphs, pages, and the like rather than just a drawing library. You also get various chart primitives too. Yet, you still have the low level access to the basic drawing canvas functions, too.
If your fat-client wants to go to this a full reporting suite, they offer commercial support and an enterprise-class serving architecture. Although I've never needed them--I've always rolled my own with their base library--so YMMV.
Perhaps you missed this, but I need PDF forms.
PDF has an extension that appeared in 4.0 to allow you to draw forms on the PDF and automate them with JavaScript.
OpenOffice doesn't yet give me that. My other alternatives are OmniForm (had trouble there) or Ms Word.
Lesser of three evils, no?
Right now, yes.
When Adobe's revenue stream gets smaller, what stops them from forking the format into something that is "open" but patent encumbered?
Nothing.
It just points to the problem of an Open standard depending on the goodwill of a publically traded company.
Uhhhh, try it.
I sure as heck can't get it to save it. In fact, as soon as I hit save, it pops up a box WARNING me that it won't be saved and that I need to upgrade to standard.
I recently felt really good about deploying Acrobat 5.0 with a customer for in-house forms work. Basically, they had 45 people. 2 stations had Acrobat so they could make forms, everyone had the free reader, and the 10 few who needed to save or sign forms had the $50 Acrobat Approval. This worked wonderful, was affordable, and I could feel good about PDF as an "open" format.
So what happened? Acrobat 6.0 came out. Sure enough, they left out Approval. Their customer service tells me to either get Adobe Acrobat Elements (1000 licenses or more only!) or "upgrade" to Acrobat 6.0 (mind you, they have a Standard or Professional version now). So I just went from:
2x$250 + 10x$50 = $1000
to
12x$250 = $3000
That was not cool and makes me look like a dork for recommending Adobe as being somehow "more open" than, say, MS Word. To this day, they won't even say that there will be no Approval version. All I want is for them to say "we don't plan on it" so that I can just tell my customers to abandon it--they won't even do that. They just say "stay tuned to the website for the next exciting release".
This mentality makes me wonder when PDF will become a closed format.
Adobe is plummeting rapidly on my list.
It was mentioned above but not modded up, use scp with -c none.
That should use scp with no cipher. You can, however, still use a key pair for authetication. Thus, auth is secure, transmission is plain.
Hey, just because you don't like people with their own blacklists, doesn't mean you need to call them "ten-million-pricks".
We may be heavy handed, but pricks we are not!
Seriously, Blender is not for use in "casual 3D". You don't necessarily use it to just make a logo, or render 3D text. Blender is designed to be used to model very high-quality models, paint them, animate them, and generally do things that are both complex and time consuming.
In any program that "simplifies" something, there is a danger of oversimplification. In making the impact of the interface milder, you will dilute your capability to use it for actual work.
Put simply, Blender is a sportscar of an interface. Sure, the Porsche can ride a little rough and be kind of touchy. Heck it's even expensive to maintain. Do you want one for free?
Spend 3 weeks animating a single scene. Fight with 3D Studio MAX or some other overblown UI. Then come back to me and tell me that an interface that is flexible beyond imagination isn't what you need.
Put another way, actually do it for a living an you'll find out why it is that way.
As for "industry standard violins", think electric guitar. Well, it doesn't play like any other guitar--but actually listen to it and you may change your tune.
That's right.
After further observation, I've determined two other fiendish protocols that are too often abused.
The other day I noticed that IRC and FTP are used by the unwashed masses too.
Let's shut them down too!
FYI, I'd estimate more like 0.0001%.
Also, distributing copyrighted materials != piracy. Copyrights would be worthless without being able to distribute. If Bittorrent is LAWFULLY distributing your copyrighted materials, then you can turn a maxed out T1 into ~50k-100k/sec while increasing your throughput by orders-of-magnitude.
Outlawing a crime is fine. Outlawing the method for committing the crime is morally questionable, practically debilitating, and generally the idea of people who aren't willing to admit the world is a complex place.
Look, the gov't is special. They should be able to guarantee that they can retrive today's data in 100 years if they need to. They only way for them to do that is to have the source code for all the apps they use. You aren't obligated to be able to do that, so it doesn't really matter than much what software you use. You aren't storing any data that's my property.
This last bit is poignant for me. I just spent the last three days writing a script to pull data out of an old Leading Edge Word Processor format. A commercial conversion service is available here. Obviously a few hundred dollars is fine for a big business, but this particular organization is much like the government. It's funding comes from it community whose goal has nothing to do with the bottom-line but rather to further goodwill and such. Specifically, I did this as a favor for the secretary at a church. Equally poignant is the fact that this sofware was originally chosen because it was came with the computer and it functioned (in 1995). Of course, no attention was paid to how to stewarded your data (binary format, see ranting next paragraph; being pre-longfilename, it used index files to hold full names and simulated a hierarchy while really using a flat directory; the markup format in the file is ... obscure in the extreme).
If only some forethought and work can be directed at the problem of easy access to data in the far future, I will not have to do this again. I had enough fun tearing apart a binary format, finding out that the data was chopped into blocks and out of order, find the ordering data, reorder the data, and tear apart the markup infrastructure of a decade old program.
Finally, note that it's not even about data that's "my property" or such. This data is in the public domain. The public domain has taken a real beating lately and it is really too important than to be thought of as "the public's property". To the contrary, property is limiting in that it prevents use. Public domain is about not limiting use. Public domain literally means controlled by the people. Personal domain (a.k.a. property) means one person or entity exercises that control. Thus goverment property, public property, and public domain are three very different things. As such, public domain is not another form of property but rather something completely different.
The trend that the data is in the public domain but the format is not is contrary to the spirit of public domain and directly interferes with thousands of years (read since the Roman Republic) of use, doctrine, and general concern for the intellectual welfare of the people. Of course, we have television now so we don't need to worry about any of that...
Perhaps this is an opportunity to implement something else of use. Right now, OSes implement rough security for memory access (see SIGSEGV). Why not elevate such security to the same level as FS permissions (and simultaneously elevate both to a Kerberos style network auth).
Actually, this is one of the weirder (and cooler) things about Python. It doesn't give a compiler error, you get an EXCEPTION!!!
In Python, syntax errors and the like generate exceptions and are, thus, trappable. It is very strange for a program, at runtime, to give errors you usually would expect at load-time. It also can be really useful.
In Python, all errors are exception.
In general, you don't really notice the lack of braces. On one hand you might think "how do I know where a block ends?". Well, it ends were it unindents.
Heck indentation was introduced to add more information to the braces. Python just notes that the braces just aren't needed anymore.
The cleaner thing really is a benefit. See how much you enjoy debugging other people's large perl projects. It sucks. Python is very nice. Heck, it takes very little to drop into interpreter and interrogate the program. Very cool.