Where are these new AMD chips compared to the above lot? Between the 2? The same as Intel?
The Crosue was listed as somewhere between 1W and 1.5W (for the faster Crosue part, the slower one ws.5W to 1W?). Tom's article put the K6-2+ at 3W-3W I think. I don't remember what the Moble P-III is rated at, it might be 25W to 45W, but I'm toataly not sure.
From my POV, a laptop that can compile a piece of code in 5 minutes instead of 10 is of limited use if the battery dies after 30 seconds
If you are compiing you are probbably spining the disk drive. If you are spinning the disk drive, that's probbably sucking more power then the Crosue or K6-2+, and maybe generating more heat too. Remember there is a lot of stuff in a laptop that isn't the CPU sucking power. I think the CPU is #1 in making waste heat (which requires a fan, which uses more power and makes noise), but it ain't the big picture in power draw. So the K6-2+ drawing twice the power of the Crosue isn't a huge deal for battery life. After all the Crosue drawing 10 to 20 times less power then the Intel part "only" extends the battery life from ~4 hours on a "normal" battery to "all day" (and I have a 500Mhz/650Mhz Intel laptop that will run all day on an extended battery, and the whole thing is porb only 5 pounds vs. the 3.75 that it is with the normal batt).
Re:First Amendment vs. Instructions
on
NYT On DeCSS Case
·
· Score: 2
Source code is a set of instructions. In the case of DeCSS, it's instructions for how to decrypt a movie. Again, you might be doing that for legal or illegal reasons.
In the case of the gun there is no law that says explaining how it works is illegal. So it goes to the default state in English Common law of legal. In the case of DeCSS there is a relitavly new law on the books that seems to say it is illegal. The judge must take that law into account. They can decide that that law conflicts with this other law, and is invalid, or that it conflicts with the other law and the other law is invalid. Or that it conflicts with the constuition ("the highest law") and is invalid. Very rarely is it ever decided that the constutition is invalid (WWI or WWII had such a case). They may even be able to decide that law clearly wasn't intended to apply here, and set it aside. They can (must?) also take into account how other courts have ruled in other relivent cases.
Now if you ask me, it's a stupid law. But I'm not sure what grounds the judge has to overturn it without deciding the free speech protections apply to code, and are compellingly stronger. That just may be a hard road to hoe for this judge.
Why did the judge have such difficulty finally realizing there might be a reason to protect this form of speech? It's simply a set of instructions, like many others - and it's not even lethal.
I don't know. It took many years for the encryption case to decide source code was expressave, and protected as speach. Maybe it takes a few months for this judge to realise that an incomprensable (to him/her) string of nonsense words, english words, and oddly used punctuation is really speach, especally when it also has a functional use (i.e. both speach and an action, or at least both speach and a tool). Maybe they are being rightly conservitave in mulling it over before they decide. It is a major deal after all. It grants a lot of pretection to code, and will make it very hard to regulate in the future.
Where Evolution is different is its use of the bonobo component architecture (something that more and more GNOME programs will begin to do). With Evolution, the different features are actually separate components, which communicate only through a well defined interface. If you only use the mail features, and not the calendar and addressbook, those components aren't loaded.
With the VM system in Linux, NetBSD, FreeBSD, BSD/OS, OpenBSD, and pretty much all the comercial Unixices code pages that are not touched are not loaded (or at least give way to other pages that are touched). Making that pretty much a non-issue.
The real issue is, how hard is it to make a new component that has the address book's interfce, and make Evolution use it? And is the interface loose enough that that address book can be signifigantly diffrent from the default one?
I'm guessing the answers are "Yes", and "We hope so". But it would be nice to have something other then my guess...
without forcing bloat onto users.
There are many kinds of bloat. A big memory image is only one of them. Big source code is another (having well defined interfaces helps this a lot - not by making the code smaller, but by reducing the amount you need to understand to fix a little bug that's been bothering you, or add a feature you really want). Large numbers of little clicky widgets up on the screen that one might feel they need to klnow about, or lots of docs to read to find where they document the "delete messages with duplicate Message-IDs feature".
Bloat also has it's upside. Like having that delete dup messages feature. Or having fewer features one feels the need to add.
i.e. whatever happened to IBM's laser computing, and micromagnetic disks that stored over 1G
My guess is there arn't >1G microdrives because there is not a big demand for them. There is a demand (maybe large) for smaller (CF2 rather then CF3) microdrives (and IBM licenced the tech to someone else who is working on it). There is also a demand for cheeper microdrives (and the cheeper the bigger the demand).
The microdrive costs much less per meg then flash baised CF cards (CF about $2/Meg, microdrive under $1/meg -- according to pricewatch). But you can get a 48M CF Flash card, or smaller. And that holds a lot of photos (about 70 2.1Mpixel modestly jpeg'ed images). You can't get a Microdrive for less then 340M, which is overkill for most people cammeras, so $250 for 340M may be a great deal compaired to $94 for 48M, but it is really like the Price Club "buy a can of beans larger then your torso and get it for 70% off!" deals.
As for laser computing, I donno. I'm not sure I recall hearing them talk about using lasers for anything other then a clock driver, and I think they (or someone else) uses that allready.
You did furnish proof of concept in something you wrote yourself!
Well since I havn't been tracking what is and isn't written in Gtk--, it was really my only available option.
Plus I could use the ego boost of having a bizzilion folks down load it and telling me how much it sucks:-)
However, I think I'm going to stop posting at slashdot (moderators take note) becaue I'm tired of seeing my posts, made anonymously, stay at a rating of 0 while responses to my posts get ratings of 2 or better
A pity that. But you should know my replies to yours posts are rated two for the same reason yours are at zero. They are at the same point value they started at.
I think the moderators don't even look at ac posts unless they are patently offensive and then just give them a -1.
When I moderate I do. But when I moderate I have the same failing many others do. I look at the stories I havn't read, and I only decide to take the effort to look at all the replies if there arn't, say, 500 of them allready.
I beleve others have that failing because some of my posts that are every bit as good as the others of mine that made it up to four or five stay at two (or one).
The ones that make it to 3, or 4, or 5 are almost all posted to the "above the fold" stories (one of the top 2 or three), and are frequently there in the first two hours.
I really don't give a damn about karma since ac's have none, but would like for my posts which are much a cut above the usual to at least be visible at the default browsing level.
The only effectave ways to do that are to post early, or to post as a registered user. I will note that as a registered user you would be able to quickly find if someone has made a reply to a past post of yours. Not as good as netnews, but better then nothing.
I feel that everyone should post anonymously, but with Slashdot id's. In other words only Slashdot would have the hash to match slashdot id with a real email address.
So you want everyone to have the name "Random Slashdot User", but distinct posting histories and karma ratings? Is this in addition to the registered user/annon user that exists now? Why?
It doesn't really avoid abuses the annon user can do, as anyone can get a new email address (yahoo gives them away free...and hotmail...and...) and a new "Random Slashdot User" if they want to play that game.
It does make it hard to recognise a user, one would be unable to skim for posts from "Oog The Open Source Caveman". I view that as a disadvantage. Do you think it is an advantage?
Lastly, if you do like the idea, maye you should find a random smattering of others that do and take on the "not really identical, but identical as far as people are concerned" names of "PsudoAnnUser0O0Ol1lll100OOO00l11l" (i.e. a lead prefix, and randomly selected zeros, ones, uppercser ohs and lower case els). Think of it as a proof of concept. If it works out besege Taco to do a less kludgy implmentation, or grit your teeth and decend into the morass of perl that is slashcode and send a patch.
Thanks again for your attention to detail in your post, stripes.
Gtk-- seems too much caught up in theory - the minute details of the sig/slot mechanism. While that might be useful in some rare cases, wxWindows also has a very flexible and *easy to use* method of creating custom messages or signals.
The sig++ docs have lots of theory. The sig/slot mechanism appears trivialy easy to use. Examples from my code:
SigC::Signal1 waiting; - a signal (called waiting) that takes a string and has no return
SigC::Signal2 fetching; - a signal (clled fetching) that takes a bunch of pointers and has no return.
waiting.emit("reading tuneinfo"); - raise the waiting event
waiting("reading tuneinfo"); - exact same thing
model->waiting.connect(slot(this, &NormalJukeControls::do_waiting)); - set up a handler
c_in.disconnect(); - cancel a handler
With the exception of the connect call it is hard to think of how this could be cleaner. With the connect call it is hard to think of how it could be cleaner within the language, and still be as flexable, and it is still even fairly clean.
Qt is very, very nice. The moc precompiler is just there to avoid unnecessary tedium in handling signals - a real time saver.
Maybe I'm too willing to put up with crap, or too off-put by preprocessors, but I like sigc++'s "inside the language" approch. Can you redo my examples in moc and show them as simpler?
However, after looking at it for a little while I much favor wxWindows for those wanting a well thought out and easy too use C++ wrapper.
I have to admit I didn't give wxWindows a close look. It's screen shots looked ugly to me two yearsish ago when I last looked. Which is when I last started a GUI project.
What I really like about both Qt AND wxWindows is proof of concept. Both have many excellent and complete applications build on them, and come with many, many excellent examples and demos. Compare that to the demos that come with Gtk--, which are pathetic. Name me one major application that uses Gtk-- today. Gnome uses straight C with gtk+, not gtk--.
I donno, what's major? I did w3juke in it, but that is not a monster big chunk of code. The GNOME libs use C for the same stated reasons GTK+ does. I don't know if they are good reasons or not. Things that want to use GNOME can use the gtk-- style wrapers, but I havn't used them so I can only guess at how good or bad they would be.
I understand Havoc Pennington is not satisfied with gtk-- either and is designing yet another C++ class lib that mostly just wraps gtk.
I understand that Enzo is not satisfied with the Ferrari F355, and has a team working on a faster streat legal car. That doesn't make me want to drive the F355 any less.
I imagine Troll Tech is working on Qt3.0, but that won't make me poo-poo Qt 2.0!
STL and excessive use of templates suck. A sure recipie for disaster and several orders of magnitude of bloat. In theory, STL and templates are nice, but implementation is another matter.
I'll give you the bloat, it makes the compiled code much larger. And I'll argue the bloat, it makes the source code much smaller and simpler to read. Sometimes signifigantly faster too. It does make using gdb a bit harder. I do understand that the egcs (now gcc again) folks are working on making templates less painful with linker hacks.
How is the STL a recipie for disaster? I have a few fielded systems that use them. What should I look for to blow up? I have some in the works using them, how do you think I could reduce the danger?
fltk
How old is that?
Yes, choice is nice. I always enjoy useful gtk and qt apps which don't incorporate the bloat and instablility of Gnome or Kde, and encourage others to consider designing apps which don't depend on these massive subsystems instead of becoming enslaved to them.
I think we have diffrent views on that. I avoided the bulk of GNOME because I don't care to learn it yet, and it seems to have little to offer me. There are some things in it that I think would be well worth the cost of learning it, and requiring it's use if my application needed it. Like maybe the printing system, and the structured drawing widget, or if I wanted to embed other program's output into mine.
What the hell does a VC do to warrant the amount of power they have over a company.
Simple, they make an agreement with whomever owns the compony to buy a part of it for a huge amount of money and some control. Nobody is forced to give control to the VCs, people agree to it. In fact the activly seek it out.
They wrote a check. Big fucking deal. All they do is take over companies and throw the founders to the wolves.
This depends a lot on the founder, the bisness, the VC, and the amount of money.
If a bisness is making very little money, the founder isn't that excited about retaining control, and the VC has someone they think would do a good job, then of corse the founder loses control, for an amount of money they agree on.
If the bisness is making very little money, the founder demands to keep control of it, and the VC would rather hand controll off so someone they know, then the deal probbably doesn't happen. Unless the VC thinks there is a really good chance of the thing making big money.
They wrote a check. Big fucking deal. All they do is take over companies and throw the founders to the wolves. So really what's the incentive of founding a company then?
Well, that check. If you had a bisness you worked hard on, but needed more money to get anywhere (say you have a hardware prototype, but you need to find a way to mass produce it, market it, and have a sales force), you could take out another morgage on your house and literly "bet the farm" on it. If it fails you are pretty screwed. Not dead, bankruptcy isn't what it use to be. If it succedes you win huge, say $50,000,000 huge.
If someone came to you and offered you $500,000 for the prototype, and rights to it, and a salaryed position, and the chance to make say $1,000,000 more if the bisness succeded, would you take it?
I don't know if I would or not, but it wouldn't be a bad offer. And that's what VCs do. They give you a deal that makes the worst case way better (you don't lose your house, in fact you can buy a better one even if the bisness folds). The deal also makes the best case not as good (you only get a small percentage of the profits rather then a large percentage). It almost always reduces your control.
What is the incentave of founding? Well the founder gets a much larger chunk of money then anyone else. They take the initial big risk too (perhaps merely of living off of savings long enough to make a prototype, maybe of morgataging their house).
Last I checked Qt was actually a slightly extended C++, there was a pre-processor that would turn event/slot things into real C++ code.
For those of us who want a good C++ toolkit, this is much better than some terrible C++ wrapper of a C toolkit (and faster as well).
On the other hand I remain utterly unconvinced that Qt is better then a good C++ wrapper of a C toolkit. And I am totally convinced that Gtk-- is not just a good wrapper, but a great one.
Sigc++ (the slot/event scheme Gtk-- uses) also handles events faster then Qt's event system according to a biased benchmark. I don't know how fast or slow the rest of the system is as opposed to Qt. It seems quite fast enough on a slow (PPro 150) machine, so I'm content to leave well enough alone.
Personally I don't like C programming and much prefer C++/Java.
Perfectly reasonable. I like C++ with the STL more then I ever liked C, and Java was a pretty nice language for the few things I have done with it.
Thus I use Qt. If you want to use C, use GTK+.
This doesn't follow. I really urge you to check out Gtk--, if for nothing other then to see how much nicer the slot/event model is implmented.
There may be other reasons to use Qt. There may be other reasons why KDE might be better then GNOME. But this just isn't a valid reason.
Down on the farm, we call that having a choice and that is a good thing.
Well...smashing or breaking a lock would be destruction of property, as the lock does have a physical value. However, picking the lock is not illegal (nor is owning lockpicks illegal), unless you're using the picks or picking a lock to commit a crime.
Smashing or breaking a lock is legal if you own the lock, or the owner of the lock says you can. Under the DMCA it is illegal to smash locks you own (assuming "locks" are digital access control devices).
Think about it. You bought it, and until the DMCA there were very few limits on what you could do with (digital) things you had bought. The software industry has been thriving for well over two decades without the DMCA, it clearly didn't need it to keep going. (I think software history prior to two decades ago isn't all that relivant, because they tended to be packages with an actual negioatated contract once you get much before the 80s, and today's software is mostly shrink wrap licences)
Do remember, however, that even though I drive a 1990 Toyota Camry, I can pop in ANY car and count on consistency. The gas will always be on the right. Steering wheel will always be right in front of me. Spedometer will always go clockwise smaller to larger numbers. Perhaps there are fringe exceptions, but part of the reason you only have to take driver's ed once is because cars are so similar in their operation.
How do you operate the cruse control on a 1992 Saturn? On a 1999 Volvo S70? What about the Volvo S80? The 1998 Honda Civic? How do I adjust the side view mirrors (this is diffrent from left to right mirror on the Saturn even!)?
What does the picture of the baby on the S80s control panel do? What does "0 more messages" mean? I gave it my CD, how do I get it back? How do I get the top back down on the C70, it's raining! Dammit, where the hell are the controls for the lights! And the damm wipers!
Cars are a lot less consistant then people think. The three cars I have owned in my life have been more diffrent then Netscape and Internet Exporer. Sure the gas and breaks are in the same place, but even they are diffrent. Pedels had a diffrent feel. They all were very diffrently responsave to slamming the pedel down hard. The stearing was very diffrent in my first two cars (fully manual in my 1979 VW Rabbit, hydralic assist in my '92 Saturn). If I tryed some of the crap my C70 lets me get away with in my Saturn it would come off the road.
Consistancy. Bah!
Things in the real world have a lot less consistancy then the Mac user interface guidelines mandate. Even the connonical example of cars.
You unfortunate experience with X programming is proof why Miguel is not happy with the state of Linux as it stands.
Actually he has gone beyond that and is upset about other things I havn't been trubbled by yet. Things that may actually be problems. They are also things he is working on fixing, so I'm content to let him complain. When he is done we will see if he was right.
You can bash Microsoft all you want, but the fact that there -is- standardization for API's and writing drivers makes life much easier for people developing programs.
Yes, that makes things simpler in the windows world (even if the "standard" APIs change every few years, or less). Lack of stability (as in frequent crashes) make it harder. Gain a little, lose a little. Having done very little windows devlopment I don't have a very informed opnion on which is nicer. My little side trip into it felt unplesent, but it may have gotten better if I had stuck with it.
Besides, if you want to make money, you do want to write for essentially 85% of the world's desktop computer users anyway.
I seem to make quite enough money writing server applications for Unix systems, and the support issues are less of a pain there too.
The "desktop" stuff I do are all hobby projects. Either something I do because I want to see how easy it is to do (like streaming audio over a normal HTTP chanel), or to learn something I can't "afford" to take the risk for in a comercial project (like the STL), or because it just plain looks fun (xtank -- which had it's own threading system).
Also I have a pet thery about desktop tools. The Unix market may be pretty small, but it is also wide open. If I had a new structured drawing program, I might do better trying to sell it into the Unix market where there isn't a market leader rather then going head to head with Visio on Windows. But that is just a thery. I'll stick to server apps. I'm good at it, and they pay well.
Bullshit. Name one GUI Linux program you've written.
I've written (or worked on) a few Unix GUI programs. The multiple toolkit things has hurt each one.
Several control system lab/simulation programs that had been written in SunTools needed to be "ported" to X because SunTools was being de-supported. Much argument about which toolkit to pick to avoid having to do the port again. XView was eventually chosen because it was simpler to port to. Sun eventually dumped XView too....
xtank. Skipped X toolkits because they either looked like crap (Xaw), or were non-free (Motif, et al -- this was 1990, no GTK or KDE was around). This made it a big pain in the ass to do any UI work in. It was the perfect choice for the actual game part because it had to use tons of tricks to get good speed on hardware of the day (a 20Mhz 68020 was a workstation not a PDA then!).
Project DIM. Motif. Do I need to say more?
w3juke. This time (a decade after xtank) I have a choice of free toolkits, and I picked Gtk-- which is a C++ wraper to GTK+. It really really rocks. It's sooooo much nicer then raw Xlib, or even the various Xt baised toolkits I used in the past. What is the number one complaint I get about w3juke? It's not the lack of documentation. It's not the fact that the default configuration doesn't work (the web server it looks at has restricted access). It's that the thing "needs too much extra stuff".
If Unix had a single toolkit this wouldn't be a problem. None of them at all. Except that whatever the One True Toolkit was would definitly suck far more then Gtk--.
Re:Yeah, but when are we gonna effectively use it?
on
Maxtor's 80GB Drive
·
· Score: 2
Please see Measured Capacity of an Ethernet: Myths and Reality.
Nice paper. Quite old though. Things have changed a bit. The speed of the ethernet "bus" has incresed, but the packet size hasn't. However the very nice change for Ethernet is that switches are far far far more common now then in 1988ish. Cheaper per port then a repeater was in '88 by a lot. I havn't even seen a Gigabit "hub" that wasn't a switch.
Tieing in with that, full duplex Ethernet is now failry common. And you can get almost 100% utilisation with two hosts on a net and full duplex Ethernet. You can do that with more hosts if you have all switched ports and the right access patterns (no overcommit). Assuming the switches don't suck of corse.
I still have a soft spot in my heart for FDDI, but all switched ethernet is pretty good.
Intel, being a big, mature company, probably operates under a five year business plan and a more detailed two year business plan. It is in their best interest (as is true for all CPU makers) to feed the market with upgrades slowly, both to exploit the incremental upgrade frenzy and to keep from topping out where they don't have something new within easy reach that they can announce for next month to maintain the interest of the media and investors.
That is not true for all CPU makers. It is true for the speed and market leader. But if you are trailing the leader it is in your best intrest to skip ahead. If you are the speed leader it might make sense to move ahead faster if you are still not the market leader.
It is obviously not a good idea to slowly ramp up if you are slower then the other guy, and have less market share.
It also may not be true in a market with diffrent priorities. Would a 300Mhz StrongARM sell more units then a 200Mhz one? Probbably. But if they skip from 200Mhz to 600Mhz they might manage to make sales into markets that would have bought the TI integrated DSP and ARM7 (because the 600Mhz SA can jpeg compress as fast as the TI DSP and gobble digicam market share -- or at least that is my thery). Note for this example I'm assuming the faster SA doesn't suck much more power and lots of other stuff, but you get the point.
That isn't because of the type system being too strong in Java, it is the lack of the concept of a tuple, or of multiple return values and simaltanious assignment.
The language Dis is very strongly typed, but it has a tuple type, and you could do this: int z, z; string y x,y,z = function(); Or you could so long as 'function' was declared to return 'tuple(int,string,int)'.
Yes, that would require a 'rowFetch' for each kind of row, but I'm not sure that is a bad idea.
There are other strongly typed languages with 'vartype' escape hatches, which let you have the advantages of strong types when you want them, and the advantages of weak types when you want them, with the disadvantage that the compiler is more complex, and you might have to maintian code from someone who used weak types everywhere....
P.S. Dis is really a cool language. It has full GC so objects with cycles won't hurt it (like they do Perl, at least Perl5), but reference counts so non-circularly referenced objects have a predictable destruct time allowing you to use the C++ style "resource allocation is object creation" idom which makes exception handling and the like so much less painful. Alef is similar in some ways, and has some other intresting concepts.
The ethics and consistency of this group (or lack thereof) amazes me. The vast majority of folks on Slashdot have no stealing music from artists but seem a bit squeamish when it comes to code.
Poor sampling techniques get poor consistancy. It is very possable that the people tht say "don't steal code" are not the same people tht say "steal music". (of corse it is possable that people are inconsistant)
Slashdot does not speak with one voice. Not even the same parts of slashdot read the same stories!
While on the topic, what's the likelihood that someone with enough intent could work out the technology by reverse engineering the closed source driver, anyway?
Pretty much 100%. If you look at the device drivers Linux comes with I bet a few are reverse engnered. I know the Visor USB hotsync "driver" was built after looking at traces with a USB protocall sniffer for example. A lot of digicam drivers are done the same way. Bocs is also a great tool to help revese engener a driver (by observing the IO crom CPU to card). The (original) BSD Mitsumi CD ROM driver was reverse engenered (in 1991ish). Several ethernet PHYs (because they came on a card that had been supported until the vender changed PHYs without changing the box!). Roumor has it some of those were done because someone decided it would be simpler to reverse engenr the driver then to drive to CompUSA and get an exchange for a working card! Hmmmm, I can't think of more examples of the top of my head, but cd on into your source tree and start reading driver comments.
Hell, some drivers written with documentation had to do a bit of reverse engenering work to see what was really going on because the doco was wrong! (A Lucent Ethernet comes to mind here, and the bringup code for the so-called TurboSPARC maybe too...)
It ain't impossable. For some people (not me) it ain't even hard! Of corse it might be illegl now with the DMCA, but then again it might fall under the interoperability clause (it would definitly seem to me that it should).
Take a look at the FreeBSD source code. Look for "softupdates"[...]
FYI, as of last monthish softupdates were re-released with the BSD licence.
They may not be in by default, but it clearly shows GPL code can be used in the BSD world.
That I agree with. Even in more idealisticly pure BSD systems a GPLed kernel module would be Ok, as would GPLed userland bits. So as long as this device isn't a boot device (like a RAID controler) your Ok.
Is it truly necessary to release open sourced drivers? Or is it just necessary to release good drivers? Cant binary drivers be made compatible across Linux distros? If not, it seems like this is something that is truly necessary.
That depends on who you talk too.
Some people like Open Source because it tends to reduce the bug level. Release a mostly bugless closed source driver and they will be happy.
Some people like Open Source because it provides an alternitate means of support when bugs are found (either they are programmers and will fix it themselves, or they will hire a consultant to do it). This might only be important to them if they think the compony will fold, or if they think the componies support level won't be good enough. Provide them with source code escrow, and a way to get the code NDAed if they think they found a "show stopper" bug that you don't think of as a priority.
Other people like Open Source because it give them freedom. It might be the freedom to port to another OS (say Plan9, or NetBSD on the PCI baised SPARCs). It might be the freedom to add new features (wow, with all this DSP stuff, I bet I can turn this card into side looking sonar....). Some of them might be happy enough with source under NDA, but many won't.
Others like it because it normally also means free programs. This is kinda a non-issue for drivers because they are almost allways free with the device.
Others like it for a combonation of the reasons listed above. You will need a combionation of approches.
There are still others where it is a end unto itself. They will not be satisfyable with non Open Source (RMS qualifyes here, ESR does not appear to).
How different is *BSD from Linux as far as drivers go? Is it REALLY that hard to recompile drivers to make everyone happy?
Pretty diffrent. But if you don't need a lot you can minimise the pain. Here are a few things to look out for:
Diffrent VM system (important if you want to do zero copy DMA operations), NetBSDs provides some features Liunx's doesn't (as far as I know) like Page-Loanout. In fact the 4 BSDs (counting BSD/OS) all hae diffrent VMs (well OpenBSDs may be the same as the old NetBSD one...and I think some NetBSD platforms still use the old VM system, not sure if it assumes things that are hard to do on some MMUs, or if some of the less popular ports are just lagging).
BSD systems stull use mbufs. Some of them have fixed a long standing 4.4 external memory mbuf bug, others havn't. Some allow arbratary pullup's and splices in the middle of the buff, not just at the front (makes life a lot simpler for protocalls that need contigious headers larger then a single mbuf). Linux doesn't have the same set of functions. If you look at the KAME project I thik they have a set of functions that abstracts out what they need into another interface that sits on top of both.
NetBSD and FreeBSD have a similar but diffrent interface to talking to devices that might live in a number of places and have a number of endianesses. For example the same NCR SCSI part can be found on a x86 PCI card (little endian machine, PCI bus), a SPARC SBus (big endian SBus), a SPARC PCI bus (big endian, PCI bus), and so on. A single driver can support all three (I think the probe function has to know how to probe all the bus types though -- which isn't a big deal for the SBus and PCI bus, but is for other busses). OpenBSD may have the same interface as one of the others, lack it entirely, or be a bit diffrent again. I donno. BSD/OS doesn't appear to have one at the moment, but I expect that is one of the things they wanted from buying Walnut Creek/FreeBSD.
And porting to NetBSD, FreeBSD, OpenBSD, and BSD/OS on the Intel CPU alone isn't the end of the story. BSD/OS runs on SPARCs as well, can I have a driver there? NetBSD runs on the Alpha, on PCI Macs, and around 40 other machine types, some of which have PCI busses and could take your hardware. Can you compile me up a version for them?
And hitting all the BSDs on all the archatectures isn't enough. BSD/OS and FreeBSD are doing fine grained SMP. That can require locking in the device drivers. Will you be supporting that as it moves forward?
And hitting all the BSDs not and in the future isn't enough. What about Plan9? What about university research projects?
These things may all represent very small markets (NetBSD supports the pc532, there were fewer then 250 of them new, and assuming all the ones still running run NetBSD, it's still a tiny market -- and it'll only work there if your device is SCSI attatch, or ethernet). But Open Source would make all of those people happy.
Even if you just stick to the "larger market" systems, there are still at least three intresting BSD systems, and two or three non-Intel CPUs. Assuming your hardware product is something an ISP would want at least. Answer may be diffrent if only a video production house would want it, or only a hardcore gamer.
From a bisness standpoint you have to decide. Is getting support on more platforms, and free bugfixes worth the cost of making it simpler for competitors to reverse engnear my hardware, or take tricky driver bits for their own? Is the kind of hardware I have actually going to inspire lots of people to hack on the drivers for free for me, or is it just not a sexy device (or in a overcrowded segment, and not a standout)?
I happen to beleve that people are better at reverse engenring closed source systems then people think (look at DeCSS, or the number of cammeras that gphoto authors had to reverse engenar specs for to make work, or...), so just for the sake of keeping ahead in hardware is probbably not a big issue unless you are in a fairly slow evloving segment of the market (say LCD charactor gennerators, or slow low density network gear).
If you have some nifty stuff in your drivers that is relitavly independent of the device, well then you have a real trade off to make. How much is that chunk of code worth? Is it really relly valuable? Do you take pains to ensure your programmers won't go to a competier and write that code again having seen it once? Might the GPL be "strong enough" to guard it? (after all if your compitetor takes it from a GPLed program they either have to release all their secrets, and they probbably have some just as good as yours...or face the potential for a big lawsuit, with large damage claims....)
Maybe there is a good bisness case. Maybe there isn't.
Pet thery warning: One thing you should be careful of though, if there is a good bisness case, you want to be the first in your market segment. The first people to the table get more followers. More people willing to hack your code even when a cheaper better card comes along (so long as it isn't that much better or cheaper). And the longer you are "first" the better your lead is (more people with time invested in learing how the driver works).
At least with dreamcast you won't need a custom cartrage but at least with a custom cart, there is room for a fast I/O device.
The DC controler ports are pretty fast. I had a thery that they were USB, but after reading more I don't think they are, they are "only" around 3Mbits/sec each. The modem module can be remoed, and an ethernet can be pluged in (if they ever start selling it) which might make the DC a useful MP3 player. A Zip drive (with USB ports) can also be hooked up (I'm unclear on how).
So it's a bit limited as a Unix box, but not toatally worthless.
Besides with NetBSD on it I could play nethack on it, which somehow appeals to me:-)
Please point me to the section in the Constitution or Bill of Rights where it says that I have the inalienable right to use a computer. Oops. You can't.
The decleration of independence has that bit about "freedom to persue happyness" (which is not the same as a right to be happy, just the right to try). That is pretty broad. Let's see playing by the rules I'm not sure the constitution says anything, but the Bill of Rights says "Amendment IX The enumeration in the Constitution, of certain rights, shall not be construed to deny or disparage others retained by the people."
In other words the framers of the bill of rights may have come 150 years too early to grant an explicit right to use a computer, but they still found a big middle finger to wave at your argument.
Sure, computers make many jobs easier, but claiming that they are akin to some sort of "natural right" smacks of elitism.
Why? It seems more like elitism to deny someone's right to do a thing. That is to say to restrict a thing to a privlaged class, an elite if you will.
Of corse this is irrelivant to Mitnick's case. He is a convicted (by his own plea) felon. Convicted felons have restricted rights. For example the first amendment right "of the people peaceably to assemble" is not granted to a felon.
I'm not sure if he is restored of those rights after his jail term would be up, or if it is totally up to the judge/probation officer.
I would hope a continued show of "reform" would allow him his rights to be restored. (I quote reform since ou can't really show that you are no longer a nasty cracker if you can't use a computer -- much like one couldn't show themselves to no longer be drive faster then the speed limit until one is allowed to drive again!)
I won't even comment on whether I think the punisment is too harsh or not. There are lots of harsh punishments doled out by our goverment. I would be foolish to single out this particular one to wine about.
I know nothing about how my car works. I am not at all comfortable with upgrading it or maintaining it. The most complicated act I am able to perform is to put gas in it.
I'll bet you, and most other people know more about cars then that. Even ignoring the whole driving part.
You know to take it to regular mantinace, otherwise you wouldn't be able to drive it for very long. You know when the little red lights show up on the dash that you should call someone. Hopefully you know which little red lights mean "turn the engine off now now now" (hint: lack of oil can destroy an engine very very fast), if your lucky you know which ones means "you can probbably drive me ok for a bit, but you won't get me to start again". You probbably know not to turn the engine off in the middle of a drive (unless you have the car in neutral).
I'll bet you even know how to change a spare tire (if you don't, go out to your car and look, it ain't that hard, and you might rather learn now then in the rain...when your cell phone is dead...and your late for a job interview). And where the engine is. And maybe even have a general idea of what some of the engine parts look like and are for. Many people do.
On the other hand most computer owners won't know similar things. What dialog boxes mean "get help now", and what ones mean "click this away and finish what your doing"? If you open the box, what part is the CPU and what is the RAM? Are there any parts of a computer that wear out and need mantiance? (I figure it's a good idea to back up disks, and check to see if the fans still spin every once in a while)
I admit, today this scenario does not exist in as ideal a fashion as I have laid out. But that doesn't imply it cannot exist. Computers are fundamentally no different than cars - just more complicated. Thus, while it should take more work on our part, a system is able to be designed which fullfills these criteria. It is a challenge to computer scientists to create this system.
No, it's a chalange to marketing folks somewhere. A chance to get folks to spend $25 a year on a "computer oil change" millions of folks...
It's not much of a technical change. People use computers will little knolage of how the hardware works, and it only hurts them when they go to buy a new one (same as someone lack of car knolage...except there are fewer decent reviews of new computers, but you can still drag a "smart" friend to the store). Oh, plus it hurts when they forget to back up valuable data...but more from software fuckups.
Now the lack of software knolage, that hurts people all the time. Fixing that (by incresing knolage, or decresing need) is a way harder chalange. (and I have noticed a genneral increse in the amount of computer knolage the avrage person has)
Furthermore, the digital computer is so powerful a tool that it should not be withheld from the majority of society for any reason. It has the power to radically alter our entire society, and if that means the loss of comfort for the "computer elite" (which I do not believe it does) than so be it. Why should society be denied such benenfits simply because a few people prefer computers to be special hi-tech playthings? I am happy that the car was not denied society in a similiar fashion.
Who's been denying? Apple and Microsoft have been working on making computers easyer to use, and people have been learning more about them for years. Decades. They made lots of progress at first, and have slowed quite a bit. But that is because the problem is hard, and keeping your current users happy makes it harder. Not because they have some insane desire not to increse the number of potential buyers by tenfold or more.
I'm not sure. That one PDF from their web page says 11 for (most) int instructions and 15 for (most) FP/MMX/3DNow instructions. It also leaves out any pipestages that look like retirement/register writeback, so unless they are folded in with other stages that are unlikley I think they left something else.
AMD has pretty decent tech docs on their page, go look. My memory said more then 11 min, so I was just as supprised to see the 11 as you are by the 15 (which is also listed).
I don't think this will ever be done cheaply. The alternatives are not carrying all your fuel: e.g. air-breathing, magnetic launchers, and staging. Currently staging is the only approach which is not science fiction.
In other words, I disagree with the paper. I think the reasons are largely technical.
The thrust of the paper wasn't that there are no technical issues. The paper was claiming that economic/political issues are preventing the technical issues from being worked on.
In particular the big two launch componies don't want to do research on air-breating launchers because all it will do is cut the price it can charge NASA for launches (unless they get a 20x price reduction it will not signifagantly increse number of launches). The smaller componies that are trying air-breathing launchers (like RLV -- they have a prototype that can lift off and land, but not reach orbit) are going bankrupt.
The technical problems won't get attention until someone with money thinks it is worth the risk of investing in research that might not pay off. Expensave research.
If you follow the two links in the article there are some more details. And a lot of blame on the failure of Irdium, and not-so-steller profits of Globalstar, which were the "big new market" that fueled many of the aerospace startups.
My question is, "Why hasn't O'Reilly already published BSD books?" There's certainly enough potential interest to make it worth their while if they can put out books on Lego, f'Chrissakes.
My 4.4 BSD manual set is from O'Reilly, it was bought in 1995ish. The first O'Reilly book I saw was "BSD in a Nutshell", possabbly as far back as the 80s.
Most of the other O'Reilly books have been about generic-ish Unix applications (News, Sendmail, Lex n' Yacc), and are as applicable to BSD as to Linux, or SysV and HP/UX. Many predate the current Linux mania.
So they surely are not anti-BSD. Surely it was obviouse they wern't anti-BSD before they announced they would be doing another BSD book.
The Crosue was listed as somewhere between 1W and 1.5W (for the faster Crosue part, the slower one ws .5W to 1W?). Tom's article put the K6-2+ at 3W-3W I think. I don't remember what the Moble P-III is rated at, it might be 25W to 45W, but I'm toataly not sure.
If you are compiing you are probbably spining the disk drive. If you are spinning the disk drive, that's probbably sucking more power then the Crosue or K6-2+, and maybe generating more heat too. Remember there is a lot of stuff in a laptop that isn't the CPU sucking power. I think the CPU is #1 in making waste heat (which requires a fan, which uses more power and makes noise), but it ain't the big picture in power draw. So the K6-2+ drawing twice the power of the Crosue isn't a huge deal for battery life. After all the Crosue drawing 10 to 20 times less power then the Intel part "only" extends the battery life from ~4 hours on a "normal" battery to "all day" (and I have a 500Mhz/650Mhz Intel laptop that will run all day on an extended battery, and the whole thing is porb only 5 pounds vs. the 3.75 that it is with the normal batt).
In the case of the gun there is no law that says explaining how it works is illegal. So it goes to the default state in English Common law of legal. In the case of DeCSS there is a relitavly new law on the books that seems to say it is illegal. The judge must take that law into account. They can decide that that law conflicts with this other law, and is invalid, or that it conflicts with the other law and the other law is invalid. Or that it conflicts with the constuition ("the highest law") and is invalid. Very rarely is it ever decided that the constutition is invalid (WWI or WWII had such a case). They may even be able to decide that law clearly wasn't intended to apply here, and set it aside. They can (must?) also take into account how other courts have ruled in other relivent cases.
Now if you ask me, it's a stupid law. But I'm not sure what grounds the judge has to overturn it without deciding the free speech protections apply to code, and are compellingly stronger. That just may be a hard road to hoe for this judge.
I don't know. It took many years for the encryption case to decide source code was expressave, and protected as speach. Maybe it takes a few months for this judge to realise that an incomprensable (to him/her) string of nonsense words, english words, and oddly used punctuation is really speach, especally when it also has a functional use (i.e. both speach and an action, or at least both speach and a tool). Maybe they are being rightly conservitave in mulling it over before they decide. It is a major deal after all. It grants a lot of pretection to code, and will make it very hard to regulate in the future.
With the VM system in Linux, NetBSD, FreeBSD, BSD/OS, OpenBSD, and pretty much all the comercial Unixices code pages that are not touched are not loaded (or at least give way to other pages that are touched). Making that pretty much a non-issue.
The real issue is, how hard is it to make a new component that has the address book's interfce, and make Evolution use it? And is the interface loose enough that that address book can be signifigantly diffrent from the default one?
I'm guessing the answers are "Yes", and "We hope so". But it would be nice to have something other then my guess...
There are many kinds of bloat. A big memory image is only one of them. Big source code is another (having well defined interfaces helps this a lot - not by making the code smaller, but by reducing the amount you need to understand to fix a little bug that's been bothering you, or add a feature you really want). Large numbers of little clicky widgets up on the screen that one might feel they need to klnow about, or lots of docs to read to find where they document the "delete messages with duplicate Message-IDs feature".
Bloat also has it's upside. Like having that delete dup messages feature. Or having fewer features one feels the need to add.
My guess is there arn't >1G microdrives because there is not a big demand for them. There is a demand (maybe large) for smaller (CF2 rather then CF3) microdrives (and IBM licenced the tech to someone else who is working on it). There is also a demand for cheeper microdrives (and the cheeper the bigger the demand).
The microdrive costs much less per meg then flash baised CF cards (CF about $2/Meg, microdrive under $1/meg -- according to pricewatch). But you can get a 48M CF Flash card, or smaller. And that holds a lot of photos (about 70 2.1Mpixel modestly jpeg'ed images). You can't get a Microdrive for less then 340M, which is overkill for most people cammeras, so $250 for 340M may be a great deal compaired to $94 for 48M, but it is really like the Price Club "buy a can of beans larger then your torso and get it for 70% off!" deals.
As for laser computing, I donno. I'm not sure I recall hearing them talk about using lasers for anything other then a clock driver, and I think they (or someone else) uses that allready.
Well since I havn't been tracking what is and isn't written in Gtk--, it was really my only available option.
Plus I could use the ego boost of having a bizzilion folks down load it and telling me how much it sucks :-)
A pity that. But you should know my replies to yours posts are rated two for the same reason yours are at zero. They are at the same point value they started at.
When I moderate I do. But when I moderate I have the same failing many others do. I look at the stories I havn't read, and I only decide to take the effort to look at all the replies if there arn't, say, 500 of them allready.
I beleve others have that failing because some of my posts that are every bit as good as the others of mine that made it up to four or five stay at two (or one).
The ones that make it to 3, or 4, or 5 are almost all posted to the "above the fold" stories (one of the top 2 or three), and are frequently there in the first two hours.
The only effectave ways to do that are to post early, or to post as a registered user. I will note that as a registered user you would be able to quickly find if someone has made a reply to a past post of yours. Not as good as netnews, but better then nothing.
So you want everyone to have the name "Random Slashdot User", but distinct posting histories and karma ratings? Is this in addition to the registered user/annon user that exists now? Why?
It doesn't really avoid abuses the annon user can do, as anyone can get a new email address (yahoo gives them away free...and hotmail...and...) and a new "Random Slashdot User" if they want to play that game.
It does make it hard to recognise a user, one would be unable to skim for posts from "Oog The Open Source Caveman". I view that as a disadvantage. Do you think it is an advantage?
Lastly, if you do like the idea, maye you should find a random smattering of others that do and take on the "not really identical, but identical as far as people are concerned" names of "PsudoAnnUser0O0Ol1lll100OOO00l11l" (i.e. a lead prefix, and randomly selected zeros, ones, uppercser ohs and lower case els). Think of it as a proof of concept. If it works out besege Taco to do a less kludgy implmentation, or grit your teeth and decend into the morass of perl that is slashcode and send a patch.
I try. Thanks for the flattery.
The sig++ docs have lots of theory. The sig/slot mechanism appears trivialy easy to use. Examples from my code:
With the exception of the connect call it is hard to think of how this could be cleaner. With the connect call it is hard to think of how it could be cleaner within the language, and still be as flexable, and it is still even fairly clean.
Maybe I'm too willing to put up with crap, or too off-put by preprocessors, but I like sigc++'s "inside the language" approch. Can you redo my examples in moc and show them as simpler?
I have to admit I didn't give wxWindows a close look. It's screen shots looked ugly to me two yearsish ago when I last looked. Which is when I last started a GUI project.
I donno, what's major? I did w3juke in it, but that is not a monster big chunk of code. The GNOME libs use C for the same stated reasons GTK+ does. I don't know if they are good reasons or not. Things that want to use GNOME can use the gtk-- style wrapers, but I havn't used them so I can only guess at how good or bad they would be.
I understand that Enzo is not satisfied with the Ferrari F355, and has a team working on a faster streat legal car. That doesn't make me want to drive the F355 any less.
I imagine Troll Tech is working on Qt3.0, but that won't make me poo-poo Qt 2.0!
I'll give you the bloat, it makes the compiled code much larger. And I'll argue the bloat, it makes the source code much smaller and simpler to read. Sometimes signifigantly faster too. It does make using gdb a bit harder. I do understand that the egcs (now gcc again) folks are working on making templates less painful with linker hacks.
How is the STL a recipie for disaster? I have a few fielded systems that use them. What should I look for to blow up? I have some in the works using them, how do you think I could reduce the danger?
How old is that?
I think we have diffrent views on that. I avoided the bulk of GNOME because I don't care to learn it yet, and it seems to have little to offer me. There are some things in it that I think would be well worth the cost of learning it, and requiring it's use if my application needed it. Like maybe the printing system, and the structured drawing widget, or if I wanted to embed other program's output into mine.
Simple, they make an agreement with whomever owns the compony to buy a part of it for a huge amount of money and some control. Nobody is forced to give control to the VCs, people agree to it. In fact the activly seek it out.
This depends a lot on the founder, the bisness, the VC, and the amount of money.
If a bisness is making very little money, the founder isn't that excited about retaining control, and the VC has someone they think would do a good job, then of corse the founder loses control, for an amount of money they agree on.
If the bisness is making very little money, the founder demands to keep control of it, and the VC would rather hand controll off so someone they know, then the deal probbably doesn't happen. Unless the VC thinks there is a really good chance of the thing making big money.
Well, that check. If you had a bisness you worked hard on, but needed more money to get anywhere (say you have a hardware prototype, but you need to find a way to mass produce it, market it, and have a sales force), you could take out another morgage on your house and literly "bet the farm" on it. If it fails you are pretty screwed. Not dead, bankruptcy isn't what it use to be. If it succedes you win huge, say $50,000,000 huge.
If someone came to you and offered you $500,000 for the prototype, and rights to it, and a salaryed position, and the chance to make say $1,000,000 more if the bisness succeded, would you take it?
I don't know if I would or not, but it wouldn't be a bad offer. And that's what VCs do. They give you a deal that makes the worst case way better (you don't lose your house, in fact you can buy a better one even if the bisness folds). The deal also makes the best case not as good (you only get a small percentage of the profits rather then a large percentage). It almost always reduces your control.
What is the incentave of founding? Well the founder gets a much larger chunk of money then anyone else. They take the initial big risk too (perhaps merely of living off of savings long enough to make a prototype, maybe of morgataging their house).
Last I checked Qt was actually a slightly extended C++, there was a pre-processor that would turn event/slot things into real C++ code.
On the other hand I remain utterly unconvinced that Qt is better then a good C++ wrapper of a C toolkit. And I am totally convinced that Gtk-- is not just a good wrapper, but a great one.
Sigc++ (the slot/event scheme Gtk-- uses) also handles events faster then Qt's event system according to a biased benchmark. I don't know how fast or slow the rest of the system is as opposed to Qt. It seems quite fast enough on a slow (PPro 150) machine, so I'm content to leave well enough alone.
Perfectly reasonable. I like C++ with the STL more then I ever liked C, and Java was a pretty nice language for the few things I have done with it.
This doesn't follow. I really urge you to check out Gtk--, if for nothing other then to see how much nicer the slot/event model is implmented.
There may be other reasons to use Qt. There may be other reasons why KDE might be better then GNOME. But this just isn't a valid reason.
Indeed it is.
Smashing or breaking a lock is legal if you own the lock, or the owner of the lock says you can. Under the DMCA it is illegal to smash locks you own (assuming "locks" are digital access control devices).
Think about it. You bought it, and until the DMCA there were very few limits on what you could do with (digital) things you had bought. The software industry has been thriving for well over two decades without the DMCA, it clearly didn't need it to keep going. (I think software history prior to two decades ago isn't all that relivant, because they tended to be packages with an actual negioatated contract once you get much before the 80s, and today's software is mostly shrink wrap licences)
How do you operate the cruse control on a 1992 Saturn? On a 1999 Volvo S70? What about the Volvo S80? The 1998 Honda Civic? How do I adjust the side view mirrors (this is diffrent from left to right mirror on the Saturn even!)?
What does the picture of the baby on the S80s control panel do? What does "0 more messages" mean? I gave it my CD, how do I get it back? How do I get the top back down on the C70, it's raining! Dammit, where the hell are the controls for the lights! And the damm wipers!
Cars are a lot less consistant then people think. The three cars I have owned in my life have been more diffrent then Netscape and Internet Exporer. Sure the gas and breaks are in the same place, but even they are diffrent. Pedels had a diffrent feel. They all were very diffrently responsave to slamming the pedel down hard. The stearing was very diffrent in my first two cars (fully manual in my 1979 VW Rabbit, hydralic assist in my '92 Saturn). If I tryed some of the crap my C70 lets me get away with in my Saturn it would come off the road.
Consistancy. Bah!
Things in the real world have a lot less consistancy then the Mac user interface guidelines mandate. Even the connonical example of cars.
Actually he has gone beyond that and is upset about other things I havn't been trubbled by yet. Things that may actually be problems. They are also things he is working on fixing, so I'm content to let him complain. When he is done we will see if he was right.
Yes, that makes things simpler in the windows world (even if the "standard" APIs change every few years, or less). Lack of stability (as in frequent crashes) make it harder. Gain a little, lose a little. Having done very little windows devlopment I don't have a very informed opnion on which is nicer. My little side trip into it felt unplesent, but it may have gotten better if I had stuck with it.
I seem to make quite enough money writing server applications for Unix systems, and the support issues are less of a pain there too.
The "desktop" stuff I do are all hobby projects. Either something I do because I want to see how easy it is to do (like streaming audio over a normal HTTP chanel), or to learn something I can't "afford" to take the risk for in a comercial project (like the STL), or because it just plain looks fun (xtank -- which had it's own threading system).
Also I have a pet thery about desktop tools. The Unix market may be pretty small, but it is also wide open. If I had a new structured drawing program, I might do better trying to sell it into the Unix market where there isn't a market leader rather then going head to head with Visio on Windows. But that is just a thery. I'll stick to server apps. I'm good at it, and they pay well.
I've written (or worked on) a few Unix GUI programs. The multiple toolkit things has hurt each one.
If Unix had a single toolkit this wouldn't be a problem. None of them at all. Except that whatever the One True Toolkit was would definitly suck far more then Gtk--.
Nice paper. Quite old though. Things have changed a bit. The speed of the ethernet "bus" has incresed, but the packet size hasn't. However the very nice change for Ethernet is that switches are far far far more common now then in 1988ish. Cheaper per port then a repeater was in '88 by a lot. I havn't even seen a Gigabit "hub" that wasn't a switch.
Tieing in with that, full duplex Ethernet is now failry common. And you can get almost 100% utilisation with two hosts on a net and full duplex Ethernet. You can do that with more hosts if you have all switched ports and the right access patterns (no overcommit). Assuming the switches don't suck of corse.
I still have a soft spot in my heart for FDDI, but all switched ethernet is pretty good.
That is not true for all CPU makers. It is true for the speed and market leader. But if you are trailing the leader it is in your best intrest to skip ahead. If you are the speed leader it might make sense to move ahead faster if you are still not the market leader.
It is obviously not a good idea to slowly ramp up if you are slower then the other guy, and have less market share.
It also may not be true in a market with diffrent priorities. Would a 300Mhz StrongARM sell more units then a 200Mhz one? Probbably. But if they skip from 200Mhz to 600Mhz they might manage to make sales into markets that would have bought the TI integrated DSP and ARM7 (because the 600Mhz SA can jpeg compress as fast as the TI DSP and gobble digicam market share -- or at least that is my thery). Note for this example I'm assuming the faster SA doesn't suck much more power and lots of other stuff, but you get the point.
That isn't because of the type system being too strong in Java, it is the lack of the concept of a tuple, or of multiple return values and simaltanious assignment.
The language Dis is very strongly typed, but it has a tuple type, and you could do this:
int z, z;
string y
x,y,z = function();
Or you could so long as 'function' was declared to return 'tuple(int,string,int)'.
Yes, that would require a 'rowFetch' for each kind of row, but I'm not sure that is a bad idea.
There are other strongly typed languages with 'vartype' escape hatches, which let you have the advantages of strong types when you want them, and the advantages of weak types when you want them, with the disadvantage that the compiler is more complex, and you might have to maintian code from someone who used weak types everywhere....
P.S. Dis is really a cool language. It has full GC so objects with cycles won't hurt it (like they do Perl, at least Perl5), but reference counts so non-circularly referenced objects have a predictable destruct time allowing you to use the C++ style "resource allocation is object creation" idom which makes exception handling and the like so much less painful. Alef is similar in some ways, and has some other intresting concepts.
Poor sampling techniques get poor consistancy. It is very possable that the people tht say "don't steal code" are not the same people tht say "steal music". (of corse it is possable that people are inconsistant)
Slashdot does not speak with one voice. Not even the same parts of slashdot read the same stories!
Pretty much 100%. If you look at the device drivers Linux comes with I bet a few are reverse engnered. I know the Visor USB hotsync "driver" was built after looking at traces with a USB protocall sniffer for example. A lot of digicam drivers are done the same way. Bocs is also a great tool to help revese engener a driver (by observing the IO crom CPU to card). The (original) BSD Mitsumi CD ROM driver was reverse engenered (in 1991ish). Several ethernet PHYs (because they came on a card that had been supported until the vender changed PHYs without changing the box!). Roumor has it some of those were done because someone decided it would be simpler to reverse engenr the driver then to drive to CompUSA and get an exchange for a working card! Hmmmm, I can't think of more examples of the top of my head, but cd on into your source tree and start reading driver comments.
Hell, some drivers written with documentation had to do a bit of reverse engenering work to see what was really going on because the doco was wrong! (A Lucent Ethernet comes to mind here, and the bringup code for the so-called TurboSPARC maybe too...)
It ain't impossable. For some people (not me) it ain't even hard! Of corse it might be illegl now with the DMCA, but then again it might fall under the interoperability clause (it would definitly seem to me that it should).
FYI, as of last monthish softupdates were re-released with the BSD licence.
That I agree with. Even in more idealisticly pure BSD systems a GPLed kernel module would be Ok, as would GPLed userland bits. So as long as this device isn't a boot device (like a RAID controler) your Ok.
That depends on who you talk too.
Some people like Open Source because it tends to reduce the bug level. Release a mostly bugless closed source driver and they will be happy.
Some people like Open Source because it provides an alternitate means of support when bugs are found (either they are programmers and will fix it themselves, or they will hire a consultant to do it). This might only be important to them if they think the compony will fold, or if they think the componies support level won't be good enough. Provide them with source code escrow, and a way to get the code NDAed if they think they found a "show stopper" bug that you don't think of as a priority.
Other people like Open Source because it give them freedom. It might be the freedom to port to another OS (say Plan9, or NetBSD on the PCI baised SPARCs). It might be the freedom to add new features (wow, with all this DSP stuff, I bet I can turn this card into side looking sonar....). Some of them might be happy enough with source under NDA, but many won't.
Others like it because it normally also means free programs. This is kinda a non-issue for drivers because they are almost allways free with the device.
Others like it for a combonation of the reasons listed above. You will need a combionation of approches.
There are still others where it is a end unto itself. They will not be satisfyable with non Open Source (RMS qualifyes here, ESR does not appear to).
Pretty diffrent. But if you don't need a lot you can minimise the pain. Here are a few things to look out for:
Diffrent VM system (important if you want to do zero copy DMA operations), NetBSDs provides some features Liunx's doesn't (as far as I know) like Page-Loanout. In fact the 4 BSDs (counting BSD/OS) all hae diffrent VMs (well OpenBSDs may be the same as the old NetBSD one...and I think some NetBSD platforms still use the old VM system, not sure if it assumes things that are hard to do on some MMUs, or if some of the less popular ports are just lagging).
BSD systems stull use mbufs. Some of them have fixed a long standing 4.4 external memory mbuf bug, others havn't. Some allow arbratary pullup's and splices in the middle of the buff, not just at the front (makes life a lot simpler for protocalls that need contigious headers larger then a single mbuf). Linux doesn't have the same set of functions. If you look at the KAME project I thik they have a set of functions that abstracts out what they need into another interface that sits on top of both.
NetBSD and FreeBSD have a similar but diffrent interface to talking to devices that might live in a number of places and have a number of endianesses. For example the same NCR SCSI part can be found on a x86 PCI card (little endian machine, PCI bus), a SPARC SBus (big endian SBus), a SPARC PCI bus (big endian, PCI bus), and so on. A single driver can support all three (I think the probe function has to know how to probe all the bus types though -- which isn't a big deal for the SBus and PCI bus, but is for other busses). OpenBSD may have the same interface as one of the others, lack it entirely, or be a bit diffrent again. I donno. BSD/OS doesn't appear to have one at the moment, but I expect that is one of the things they wanted from buying Walnut Creek/FreeBSD.
And porting to NetBSD, FreeBSD, OpenBSD, and BSD/OS on the Intel CPU alone isn't the end of the story. BSD/OS runs on SPARCs as well, can I have a driver there? NetBSD runs on the Alpha, on PCI Macs, and around 40 other machine types, some of which have PCI busses and could take your hardware. Can you compile me up a version for them?
And hitting all the BSDs on all the archatectures isn't enough. BSD/OS and FreeBSD are doing fine grained SMP. That can require locking in the device drivers. Will you be supporting that as it moves forward?
And hitting all the BSDs not and in the future isn't enough. What about Plan9? What about university research projects?
These things may all represent very small markets (NetBSD supports the pc532, there were fewer then 250 of them new, and assuming all the ones still running run NetBSD, it's still a tiny market -- and it'll only work there if your device is SCSI attatch, or ethernet). But Open Source would make all of those people happy.
Even if you just stick to the "larger market" systems, there are still at least three intresting BSD systems, and two or three non-Intel CPUs. Assuming your hardware product is something an ISP would want at least. Answer may be diffrent if only a video production house would want it, or only a hardcore gamer.
From a bisness standpoint you have to decide. Is getting support on more platforms, and free bugfixes worth the cost of making it simpler for competitors to reverse engnear my hardware, or take tricky driver bits for their own? Is the kind of hardware I have actually going to inspire lots of people to hack on the drivers for free for me, or is it just not a sexy device (or in a overcrowded segment, and not a standout)?
I happen to beleve that people are better at reverse engenring closed source systems then people think (look at DeCSS, or the number of cammeras that gphoto authors had to reverse engenar specs for to make work, or...), so just for the sake of keeping ahead in hardware is probbably not a big issue unless you are in a fairly slow evloving segment of the market (say LCD charactor gennerators, or slow low density network gear).
If you have some nifty stuff in your drivers that is relitavly independent of the device, well then you have a real trade off to make. How much is that chunk of code worth? Is it really relly valuable? Do you take pains to ensure your programmers won't go to a competier and write that code again having seen it once? Might the GPL be "strong enough" to guard it? (after all if your compitetor takes it from a GPLed program they either have to release all their secrets, and they probbably have some just as good as yours...or face the potential for a big lawsuit, with large damage claims....)
Maybe there is a good bisness case. Maybe there isn't.
Pet thery warning: One thing you should be careful of though, if there is a good bisness case, you want to be the first in your market segment. The first people to the table get more followers. More people willing to hack your code even when a cheaper better card comes along (so long as it isn't that much better or cheaper). And the longer you are "first" the better your lead is (more people with time invested in learing how the driver works).
The DC controler ports are pretty fast. I had a thery that they were USB, but after reading more I don't think they are, they are "only" around 3Mbits/sec each. The modem module can be remoed, and an ethernet can be pluged in (if they ever start selling it) which might make the DC a useful MP3 player. A Zip drive (with USB ports) can also be hooked up (I'm unclear on how).
So it's a bit limited as a Unix box, but not toatally worthless.
Besides with NetBSD on it I could play nethack on it, which somehow appeals to me :-)
The decleration of independence has that bit about "freedom to persue happyness" (which is not the same as a right to be happy, just the right to try). That is pretty broad. Let's see playing by the rules I'm not sure the constitution says anything, but the Bill of Rights says "Amendment IX The enumeration in the Constitution, of certain rights, shall not be construed to deny or disparage others retained by the people."
In other words the framers of the bill of rights may have come 150 years too early to grant an explicit right to use a computer, but they still found a big middle finger to wave at your argument.
Why? It seems more like elitism to deny someone's right to do a thing. That is to say to restrict a thing to a privlaged class, an elite if you will.
Of corse this is irrelivant to Mitnick's case. He is a convicted (by his own plea) felon. Convicted felons have restricted rights. For example the first amendment right "of the people peaceably to assemble" is not granted to a felon.
I'm not sure if he is restored of those rights after his jail term would be up, or if it is totally up to the judge/probation officer.
I would hope a continued show of "reform" would allow him his rights to be restored. (I quote reform since ou can't really show that you are no longer a nasty cracker if you can't use a computer -- much like one couldn't show themselves to no longer be drive faster then the speed limit until one is allowed to drive again!)
I won't even comment on whether I think the punisment is too harsh or not. There are lots of harsh punishments doled out by our goverment. I would be foolish to single out this particular one to wine about.
I'll bet you, and most other people know more about cars then that. Even ignoring the whole driving part.
You know to take it to regular mantinace, otherwise you wouldn't be able to drive it for very long. You know when the little red lights show up on the dash that you should call someone. Hopefully you know which little red lights mean "turn the engine off now now now" (hint: lack of oil can destroy an engine very very fast), if your lucky you know which ones means "you can probbably drive me ok for a bit, but you won't get me to start again". You probbably know not to turn the engine off in the middle of a drive (unless you have the car in neutral).
I'll bet you even know how to change a spare tire (if you don't, go out to your car and look, it ain't that hard, and you might rather learn now then in the rain...when your cell phone is dead...and your late for a job interview). And where the engine is. And maybe even have a general idea of what some of the engine parts look like and are for. Many people do.
On the other hand most computer owners won't know similar things. What dialog boxes mean "get help now", and what ones mean "click this away and finish what your doing"? If you open the box, what part is the CPU and what is the RAM? Are there any parts of a computer that wear out and need mantiance? (I figure it's a good idea to back up disks, and check to see if the fans still spin every once in a while)
No, it's a chalange to marketing folks somewhere. A chance to get folks to spend $25 a year on a "computer oil change" millions of folks...
It's not much of a technical change. People use computers will little knolage of how the hardware works, and it only hurts them when they go to buy a new one (same as someone lack of car knolage...except there are fewer decent reviews of new computers, but you can still drag a "smart" friend to the store). Oh, plus it hurts when they forget to back up valuable data...but more from software fuckups.
Now the lack of software knolage, that hurts people all the time. Fixing that (by incresing knolage, or decresing need) is a way harder chalange. (and I have noticed a genneral increse in the amount of computer knolage the avrage person has)
Who's been denying? Apple and Microsoft have been working on making computers easyer to use, and people have been learning more about them for years. Decades. They made lots of progress at first, and have slowed quite a bit. But that is because the problem is hard, and keeping your current users happy makes it harder. Not because they have some insane desire not to increse the number of potential buyers by tenfold or more.
I'm not sure. That one PDF from their web page says 11 for (most) int instructions and 15 for (most) FP/MMX/3DNow instructions. It also leaves out any pipestages that look like retirement/register writeback, so unless they are folded in with other stages that are unlikley I think they left something else.
AMD has pretty decent tech docs on their page, go look. My memory said more then 11 min, so I was just as supprised to see the 11 as you are by the 15 (which is also listed).
The thrust of the paper wasn't that there are no technical issues. The paper was claiming that economic/political issues are preventing the technical issues from being worked on.
In particular the big two launch componies don't want to do research on air-breating launchers because all it will do is cut the price it can charge NASA for launches (unless they get a 20x price reduction it will not signifagantly increse number of launches). The smaller componies that are trying air-breathing launchers (like RLV -- they have a prototype that can lift off and land, but not reach orbit) are going bankrupt.
The technical problems won't get attention until someone with money thinks it is worth the risk of investing in research that might not pay off. Expensave research.
If you follow the two links in the article there are some more details. And a lot of blame on the failure of Irdium, and not-so-steller profits of Globalstar, which were the "big new market" that fueled many of the aerospace startups.
My 4.4 BSD manual set is from O'Reilly, it was bought in 1995ish. The first O'Reilly book I saw was "BSD in a Nutshell", possabbly as far back as the 80s.
Most of the other O'Reilly books have been about generic-ish Unix applications (News, Sendmail, Lex n' Yacc), and are as applicable to BSD as to Linux, or SysV and HP/UX. Many predate the current Linux mania.
So they surely are not anti-BSD. Surely it was obviouse they wern't anti-BSD before they announced they would be doing another BSD book.