Domain: cygnus.com
Stories and comments across the archive that link to cygnus.com.
Comments · 154
-
Err
1st, the "asker" did not have to specify that he used Windows. To my knowledge, that OS is the only one that needs a booster shot every 12 months or so. Disclaimer: I don't know much about Windows, but I did use it for a while a few years ago. Anyway, the top 10 software installs are very different depending on who you are, and I would guess that you know better than I or anyone else what you need to install.
On windows, can't you just do a print screen or something with the "Installed Applications" section of the control panel? Go through that list and simply put a check besides the ones that you "need" and chalk the other apps as something that was just an experiment. You could also take a look at your "Program Files" folder if thats any easier or different than the control panel.
I also found it interesting what programs you picked to install. I havn't heard of Trillian, Azureus, GKrellM, or PowerDVD. Most windows users throw Office on there in minutes of an install. A small percentage install a more featurefull web browser. Many throw a bunch of games. On a Windows system, I personally had to install VIM, UN*X toys like ncftp, cygnus, Perl, and whatever the latest mozilla variant that does web stuff. Of course Putty so I can go to other machines too. Oh yeah, I also think its necessary for windows to have antivirus software and that antispyware stuff too. (Fun!)
Instead of asking millions of strangers what software you should install on your computer that you use all the time and apparently have been for multiple years to know what kind of maintence that you have to do to keep your system running, maybe you should ask yourself if its really worthwhile to spend this much time annually to do such a thing. I have never reinstalled Solaris, Linux, or anything for that matter besides Windows and DOS. I have only done minor OS/kernel upgrades, its not worth my time to upgrade or fix somthing that is not already broken. I get a new personal machine every 2.5-5 years, and spend about a month or two tweaking it to how I want, and its a pain. During that time I'm always finding something that I missed, and need to go out to download it. I like getting new hardware, but I hate the time spent to get it up to par. So, can anyone else help this guy figure out what software he needs to put on his computer? (Ask Slashdots are getting worse here laterly). -
USN Tactical Flag Command Suite
I remember Cygnus used to advertise that this big Navy software system was built using GNU tools because the Navy decided that Microsoft stuff wasn't reliable enough. Of course that refers to the compilers etc. and I'm not sure if the resulting Navy software contained GPL code itself. However it shows there's already nontrivial military use of GPL'd software.
-
MetadataIt looks like Microsoft is trying to implement a standard (for Windows) metadata storage method. The've been trying to do this for years, but backward compatibility issues keep forcing them to abandon it. The Macintosh method seems to work OK, but is extremely limited in scope. It looks like Microsoft is planning something much wider scale. (The analogies to SQL are scary-- I hope they're just analogies and they don't mean to really implement a SQL-compliant database as a filesystem.)
The GNOME project has an excellent overview of some of the issues with metatata in general.
Of course, this will mean a whole new found of application incompatibilities on Windows and a whole new round of reverse engineering to determine the filesystem and metadata layout.
-
Traditionally UNIX utils on Win32
Here are just a few of the tools that are considered traditionally in UNIX/Linux/BSD territory that are available for Win32. In all actuality, there's enough out there to get as much of Linux running on Win32 as Win32 running under WINE.
XFree86: http://sources.redhat.com/cygwin/xfree/
KDE: http://kde-cygwin.sourceforge.net/
GTK/PHP/Libglade: http://gtk.php.net/download.php
Apache: http://www.apache.org
PHP: http://www.php.net
PHPTriad: http://www.phpgeek.com
Perl: http://www.activestate.com
Ruby: http://www.pragmaticprogrammer.com/ruby/downloads/ ruby-install.html
Python: http://www.python.org/download/download_windows.ht ml
TCL/TK: http://www.pconline.com/%7Eerc/tclwin.htm
MySQL: http://www.mysql.com
MySQL ODBC: http://www.mysql.com/downloads/api-myodbc.html
PostgreSQL: Included in cygwin (only works on NT)
ATT's U/WIN* Unix for Windows: http://www.research.att.com/sw/tools/uwin/
Cygwin: http://sourceware.cygnus.com/cygwin/
DJGPP: http://www.delorie.com/djgpp/
Native UNIX command-line binaries: http://www.wzw.tu-muenchen.de/~syring/win32/UnxUti ls.html
vi: http://www.cs.vu.nl/~tmgil/vi.html
Emacs: http://www.cs.washington.edu/homes/voelker/ntemacs .html
OpenOffice: http://www.openoffice.org
Mozilla: http://www.mozilla.org
GIMP: http://user.sgic.fi/~tml/gimp/win32/
List of GNU software for Windows: http://www.gnusoftware.com/
And so on . . .
There's a list over at DMOZ.org of a lot of this. -
Re:OSS Test Harnesses? OSS Test Suites?I'm a relative newcomer to the Open Source world, but what has struck me is how none of the big profile projects seem to have their own test harness or test suites. Maybe I'm missing something. Please let me know what test suites major OSS software ships with.
The Gnu Compiler Suite has an extensive regression test. See for example "GCC Automated Testing System" or "GCC 2.95 Regression Test Strategy"
If you need to write a regression test for your own software check out DejaGnu.
--Andre
-
Better yet, buy boxed Cygwin
> Just buy a box or two of Red Hat Linux
Better yet, just buy boxed Cygwin.
-
So use another client or write your own
Thanks to this "portable" language, it's near impossible to get Freenet to work on Linux.
Get Freenet to work? Or get a specific client to work (granted, it is the official client)? You could always use another client written in C, or you could use gcj to compile the Java(TM) language code into a native app.
Tetris on drugs, NES music, and GNOME vs. KDE Bingo. -
Re:GCC on itanium?Works (sort of). As far as I know, it still does not contain any IA-64 specific optimizations though (e.g., making use of register rotation). I think some independent groups have been working on IA-64 issues, but they have not yet merged these additions into the main development tree. Also, the release is just one big bundle with GCC, Binutils, GDB, and everything thrown into one big source tree. And it seems that nothing has been updated on that front since mid May.
One might also use the Pro64 compiler from SGI. This compiler does implement IA-64 specific optimizations and it even generates assembler code which is easily readable. The compiler does not come with an assembler or a linker, however, so you'll have to rely on GCC to do that part of the job for you.
-
Re:Ummm..
Bash (and more) for Win32 is at Cygwin, many thanks to Cygnus. I don't know how I'd live without the GNU tools and Perl on my Win boxen. I tried to show a co-worker how to do something the other day and he asked me to use cmd.exe instead of bash (he didn't have Cygwin). It simply couldn't be done.
-
freeeedoooom!!!!!
Here's what I will use when I grow up, get a job, my own address and own computer and internet account.
I am getting so paranoid and worried seeing all the basic freedoms slip away that first of all, in the real world, I will try to give as little information about me as possible. I already do this on the net.
And for my internet use, I will use Freedom from zero Knowledge. It can make your online activity totally private. So you write your program and unleash it on the unsuspecting netizens totally anonymous.
And if you're worried about compilers putting strings in the executable, why not use some free compilers like DJGPP or Cygnus? You can always find a free compiler with sources so you know exactely what it does, or just distribute the source code. -
POSIX personality == Cygwin?
So you're saying "no self-respecting programmer would use" Cygwin, the POSIX layer for Win32?
<O
( \
XGNOME vs. KDE: the game! -
Re:BASH on Windows 2000
"Well, they have *a* shell under Windows 2000, with an add on product that they actually purchased from another company. The company was Interix, so now the product is Microsoft Interix 2.2.
...[snip]... While I'll admit it feels kind of dirty to use this product"Any reason you can't use Cygwin, now owned and maintained by Redhat. From the intro page:
Using Cygwin, developers can manage heterogeneous environments in a consistent, efficient way. Cygwin brings a standard UNIX/Linux shell environment, including many of its most useful commands, to the Windows platform so IT managers can effectively deploy trained staff, and leverage existing investments in UNIX/Linux source code and shell scripts.
The tools only take up about 100 megs of space and provide you with bash, ksh, and tcsh as shells, and most of the tools you're familiar with in a GNU *NIX environment, including the compilers. They support Win 95/95/NT4.0-sp3 natively, which would lead me to believe you could get it to run on M$ Millenium without too much difficulty. But wait! We're not finished! Would you like a free Xserver for your Windoze boxen? Check this out!
A more informative site on Cygwin, it's current status, new bulletins, FAQs, etc (it's project center site) is as follows:
http://sources.redhat.com/cygwin
Enjoy your unholy marriage of M$ and *NIX.
;-) Oh, yeah. Did I mention, it's FREE ! Isn't GPL Licensed software wonderful?! -
Answer: eCos
Take a look at eCos, which is a freely available from formerly-Cygnus-now-RedHat... I'm not sure about the license, if it fits the blessed "Open Source" definition, but eCos is deisgned for these types of applications, and is gaining acceptance...
-
Re:Compression
Of course, people actually downloading the whole human genome probable wouldn't worry about this, but couldn't they use a better compression format than
Huffman would better compression algorithm in my opinion. Huffman uses a tree to determine which encodings to use for each symbol. The encodings might be similar to this: .zip? I bet using bzip2 or rar would shave a couple of hundred MBs off of that 753MB file. Also, the differences in compression techniques would be interesting to see on a large group of files mainly consisting of G, A, C, and T. -- demiurge You find a file that appears important and obliterate it from memory!!! Score one for the downtrodden hacker!This would only work for the
.fa files, but .fa files can contain "N"s also. If you just want to browse the Genome, look through the pieces directory. . -
Re:Extending Win32Don't forget the Cygwin tools from Cygnus/Red Hat! They do work on Win9x as well as NT.
-
I hereby invoke the Roman Rule...
FreeCiv, NiL, Pingus, XPilot, NetHack, Crystal Space, GFingerPoken, Koules, Liquid War, XConq, WorldForge, SpellCast. To name the tip of the iceberg; I don't have time to do this all day
:)
Or, in other words: The one who says it cannot be done should never interrupt the one who is doing it.
Cheers,
Daniel -
Cygwin
Surely you must know that Cygwin provides POSIX emulation under Windows....
-
Re:except
The MKS Toolkit is a complete re-write of the standard "core tools" you'd expect to see on UNIX (rather than a recompile of UNIX tools using a special compiler an library, which is essentially what cygwin is).
Say what? I considered that move by Microsoft to be 'innovative'...
Neither cygwin nor MKS Toolkit are made by Microsoft, so I'm not sure what you're referring to. Cygwin is made by Cygnus (now part of Red Hat), and MKS Toolkit is made by Mortice Kern Systems. -
I'm sorry, DaveOnce upon a time, gdb could moved to say
I'm sorry, Dave, I can't do that. Symbol format `X' unknown.
But it seems this was too confusing for one of Cygnus's customers. Alas.
(Hey! It's still in there -- the removal was never checked in. Shhhhh!!)
-
Re:What about Java - native?
The problem is that ther are no free trial versions of those compielrs.
Not true. gcj is GPL'd. That's free enough. It was probably just a matter of time, but it would have been more illuminating to compare VM-java vs static-java than VM-java vs static-C++.
-
Re:Yay, more QTL madnessHave you heard about Inti yet? It's a set of integrated foundation libraries for developing C++ applications in Linux, and it uses GTK+ as the toolkit. Here's a sample hello world app in Inti:
#include <inti/gtk/window.h>
#include <inti/gtk/button.h>
#include <inti/main.h>
#include <iostream>
using namespace Inti;
void
on_button_clicked ()
{
cout << "Button was clicked!" << endl;
}
int
main (int argc, char **argv)
{
using namespace Gtk;
Main::Loop loop;
init (&argc, &argv);
Window * win = new Window;
Button * button = new Button ("Hello, World!");
win->add (button);
win->sig_destroy ().connect (&loop, &Main::Loop::quit);
button->sig_clicked ().connect (on_button_clicked);
win->show_all ();
loop.run ();
return 0;
}
---- -
Correction regarding Cygwin...
...is a UNIX environment on Win32, not a Win32 environment for Linux, as the article states. Since the source for this tidbit is a Red Hat spokesman, and Red Hat now owns Cygnus, I would assume that the mistake was on the interviewer's part.
< tofuhead >
-
What about Java - native?
It would have been nice if he'd also tested Java compiled to native code (such as with gcj) . He says the the point of his tests is to measure dynamic vs static compilation, so his experiments would be better if that were the only variable. It would also help squash the myth that coding in Java requires using a VM at runtime.
-
Re:"gcc will include gcj, a native Java compiler"
Darn, that link was correct, but there is a better link: Cygnus's page
-
Re:Java X
Free X... How about XFree? Of course that was pretty hard to figure out...
;) See http://sourceware.cygnus.com/cygwin/xfree/ . -
Re:Design problems
Java bytecode cannot be run natively.
Did he say anything about Java bytecode? Java doesn't necessarily imply Java bytecode; see, for example, The GNU Compiler for the Java(tm) Programming Language, which can either produce bytecode or native machine code. (Yes, it means you don't automatically get Write Once Run Anywhere if you compile to native machine code, but perhaps there are applications where that doesn't matter.)
-
Re:I'm not sure I understand this.
and second, they shouldn't be doing it for business reasons, since there already is UNIX on os/390
Meaning a native port of some flavor of UNIX, or S/390 Open Edition? If the latter, then you may already have given the reason:
It is very, very strange as UNIX goes.
meaning it may be easier to put Linux on an S/390 (or in a virtual machine or logical partition on an S/390) than to put some New Economy Dot Com applications on Open Edition.
Unfortunately, none of the architecture dependant GNU utilities will compile on this beast, since the hardware isn't even similar to anything unix boxes are used to running on.
General-register-based architecture, 16 general-purpose registers, 4 (or is it 8 or more, now?) floating-point registers, memory-to-register and register-to-register arithmetic instructions - not all that different from VAXes, 68Ks, x86's; it's just another general-register-based CISC box. (Yeah, it has specialized instructions, but so do the other CISCs for which GCC generates code; you don't necessarily have to use them.)
The relatively short offsets in instructions may be the biggest problem.
If suse is going to port linux
Linux has already been ported; presumably SuSE and TurboLinux will be integrating the kernel, glibc, GCC, binutils, GDB, etc. changes into their distributions.
they may encounter the hardest part in porting things like gas and gcc, since AFAIK they don't know how to spit out binary for this CPU as of now.
There's been S/370 support in GCC for a while,a s I remember; the S/3x0 config directory of the EGCS source includes notes and checkins that suggest support (e.g, the 1.3 version of the README file says that it currently "supports three different styles of assembly", including MVS using the HLASM assembler, S/390 Open Edition, and "ELF/Linux for use with the binutils/gas GNU assembler".
There's also, in the GAS CVS tree, tc-i370.c and tc-i370.h files (which are for S/360 and S/390 as well as S/370, according to the comment).
-
Re:I'm not sure I understand this.
and second, they shouldn't be doing it for business reasons, since there already is UNIX on os/390
Meaning a native port of some flavor of UNIX, or S/390 Open Edition? If the latter, then you may already have given the reason:
It is very, very strange as UNIX goes.
meaning it may be easier to put Linux on an S/390 (or in a virtual machine or logical partition on an S/390) than to put some New Economy Dot Com applications on Open Edition.
Unfortunately, none of the architecture dependant GNU utilities will compile on this beast, since the hardware isn't even similar to anything unix boxes are used to running on.
General-register-based architecture, 16 general-purpose registers, 4 (or is it 8 or more, now?) floating-point registers, memory-to-register and register-to-register arithmetic instructions - not all that different from VAXes, 68Ks, x86's; it's just another general-register-based CISC box. (Yeah, it has specialized instructions, but so do the other CISCs for which GCC generates code; you don't necessarily have to use them.)
The relatively short offsets in instructions may be the biggest problem.
If suse is going to port linux
Linux has already been ported; presumably SuSE and TurboLinux will be integrating the kernel, glibc, GCC, binutils, GDB, etc. changes into their distributions.
they may encounter the hardest part in porting things like gas and gcc, since AFAIK they don't know how to spit out binary for this CPU as of now.
There's been S/370 support in GCC for a while,a s I remember; the S/3x0 config directory of the EGCS source includes notes and checkins that suggest support (e.g, the 1.3 version of the README file says that it currently "supports three different styles of assembly", including MVS using the HLASM assembler, S/390 Open Edition, and "ELF/Linux for use with the binutils/gas GNU assembler".
There's also, in the GAS CVS tree, tc-i370.c and tc-i370.h files (which are for S/360 and S/390 as well as S/370, according to the comment).
-
Re:I'm not sure I understand this.
and second, they shouldn't be doing it for business reasons, since there already is UNIX on os/390
Meaning a native port of some flavor of UNIX, or S/390 Open Edition? If the latter, then you may already have given the reason:
It is very, very strange as UNIX goes.
meaning it may be easier to put Linux on an S/390 (or in a virtual machine or logical partition on an S/390) than to put some New Economy Dot Com applications on Open Edition.
Unfortunately, none of the architecture dependant GNU utilities will compile on this beast, since the hardware isn't even similar to anything unix boxes are used to running on.
General-register-based architecture, 16 general-purpose registers, 4 (or is it 8 or more, now?) floating-point registers, memory-to-register and register-to-register arithmetic instructions - not all that different from VAXes, 68Ks, x86's; it's just another general-register-based CISC box. (Yeah, it has specialized instructions, but so do the other CISCs for which GCC generates code; you don't necessarily have to use them.)
The relatively short offsets in instructions may be the biggest problem.
If suse is going to port linux
Linux has already been ported; presumably SuSE and TurboLinux will be integrating the kernel, glibc, GCC, binutils, GDB, etc. changes into their distributions.
they may encounter the hardest part in porting things like gas and gcc, since AFAIK they don't know how to spit out binary for this CPU as of now.
There's been S/370 support in GCC for a while,a s I remember; the S/3x0 config directory of the EGCS source includes notes and checkins that suggest support (e.g, the 1.3 version of the README file says that it currently "supports three different styles of assembly", including MVS using the HLASM assembler, S/390 Open Edition, and "ELF/Linux for use with the binutils/gas GNU assembler".
There's also, in the GAS CVS tree, tc-i370.c and tc-i370.h files (which are for S/360 and S/390 as well as S/370, according to the comment).
-
May have been swayed by marketing
Recently I shelled out $70 for the Cygnus Gnu Pro Toolkit. It claimed that it could optimize better than MVC++. I don't remember if it said anything about Borland C++, and unfortunately I don't have the box with me.
I guess they all make thier claims...
I used Borland on DOS/Windows quite a bit in college, but since then have been stuck with the company tools. (VisualAge for C++ and C++ Set for AIX, as well as MVC++).
I'm not big on profiling anyways, but my impression from the GNUPro Dev Kit marketing was that the g++ tools were pretty good at optimizing. -
I'd figure eCos before Linux -- RE: Manchester!
I'd figure eCos would be ported before Linux. Amulet is not exactly something that you would use in a traditional thin-client/server system, but more, ultra-low-power/embedded systems.
eCos is the Linux complement in small-footprint, real-time space. Blows Windows CE out of the water, and Cygnus/RedHat are working hard to make EL/IX an API for cross-Linux/eCos development. An excellent model IMHO. Linux is great, but it can't run in the smallest of footprints.
-- Bryan "TheBS" Smith
-
GNATS -- ugly, yet simple and does the trickGive GNATS a try. It seems to be actively maintained, it has various front ends (tk, web, email, command line), it's pretty lean, and it does the trick.
It isn't very pretty, though. I don't know how the setup is, but we use it where I work (large public university), and it works. Our version is a little dated, so there may be some improvements.
I hear that Bugzilla is nice, though I haven't tried it myself.
-
Re:Java Compiler
Check this URL for gcj (the gcc java compiler) and libgcj : http://sourceware.cygnus.com/java/
-
Re:Complier?
but maybe we'll see an open sourced win9x compiler
There already is an open source compiler for windows: look here.
-- -
Problems and Alternatives.
- Pricing.
It is notoriously difficult to get pricing information for QNX.
I have heard differing reports on comp.os.qnx, including that it is "very expensive, hundreds of dollars per system," or, on the other hand, the vague answer of "you can license it reasonably economically." (With no definition of what "reasonably economical" means, of course.)
- If people should start thinking of QNX, then they should also start thinking of:
- VSTa
A copylefted system that "lifts" ideas from QNX and Plan 9
It looks like development has not been terribly active lately.
- MIT Exokernel
Again, not terribly active, but an interesting OS kernel.
- EROS
Eric Raymond thinks it's mindblowing, so the Eric Raymond Personality Cult should all be preparing to drop Linux in favor of EROS. (Of course, it isn't yet capable of self-hosting, which indicates that it's not all that useful at this point. But, to cultists, usefulness is irrelevant...)
- Possibly even Hurd
It's different from the other options; certainly not a tiny OS option...
- eCos
- RTEMS
Which, like QNX, appears to be used in some reasonably critical system environments...
- Fiasco
Which is a "lighter microkernel than Mach"...
- On Linux, people interested in QNX should almost certainly look at SRR -- QNX API compatible message passing for Linux
This is the critical programming abstraction that QNX uses heavily which isn't all that widely used on traditional UNIXes, namely asynchronous messaging.
- VSTa
- Pricing.
-
Re:death?
Thank god for CygWin I have bash and everything *LOL* Hmmm...i'll see what i can do about the snooze....
-
Hang on... it's still free
As far as I know, Cygnus is still free, and you can access the original web pages, and cvs trees as normal at the old homepage of http://sourceware.cygnus.com.
Cygnus used to charge previously for the product as well; if you want nice manuals and stuff then you pay, which makes perfect sense.
To quote directly from the Cygnus webpage itself:
How does Red Hat's acquisition of Cygnus affect this site?
For now, very little. We thought about "conducting a process of re-engineering and re-branding with the aim of integrating our free software community outreach programs into our corporate objectives". But then we said "naah, let's just continue to have a great site to develop free software and work on making it even better".
In particular, we plan to be careful about changing the host name sourceware.cygnus.com or anything else which may require you to update your habits, CVS/Root files, etc. The name will have to change but before we go changing things around we'd kind of like to at least have a plausible guess about what we are going to change them to :-). We don't want you to have to switch over twice.
Incidentally, you may also want to check out AT&T's UWIN, at http://www.research.att.com/sw/tools/uwi n/ as well; very cool, does much the same thing.
HTH.
Anil
-
Re:But is it because Linux is superior?Or merely cheap? If the latter, why not use Free/Net/OpenBSD?
Because Linux is divided into a kernel and discrete components, such as the C library, bash, command line utilities, etc., which can be easily separated and replaced with something else.
With *BSD, the OS distribution gives strong incentive to use what is provided in
/usr/src and /usr/ports, to the exclusion of software not provided. Further, it's more difficult to do a binary-only installation. You're always going to have source code for something hanging around, and probably not something you intended to keep, and certainly not tarred and gzipped!To build an embedded Linux operating system, all you need to do is build a Linux kernel, build a libc (e.g. glibc2 or newlib, and build whatever other tools you need, then combine them into a nice binary distribution. Even without a package mangler.
I can't even begin to conceive of how one would build such a thing with *BSD without seriously disturbing the OS installation hosting the build process. I'm sure it could be done, but if it were that easy, someone would have done it by now.
Further, Linux is open source and open development. Anybody can participate. BSD is far less open source, and far less open development. Ever tried to submit a patch to a *BSD kernel? Ha, good luck. There should be no question as to why the BSD kernel keeps forking.
As for Linux vs. BSD, BSD advocates will say that it is technically superior in many areas, and be correct. However, Linux is far superior in at least one aspect: the manner in which it is developed. I expect BSD to be left in the dust in all technical areas that matter within a very short time, unless they can get their act together.
Foo. There went all my karma.
--- -
Re:It's "Unix" if it has the 'x' sound it it's nam
If the X-Box is a Unix-like system, that would make Windows® CE a flavor of Unix. Actually, Windows 9x and NT almost are, thanks to Red Hat's Cygwin port of GNU and (to a lesser extent) the minimal GCC for Windows.
freepuzzlearena was made with DJGPP, the DOS version of GCC. freepuzzlearena is not Tetris. -
My highly subjective opinionCould one port all the standard command line utilities to NT, clone one or two of the popular shells
This has been done. Trust me, it doesn't make NT feel very much like Unix -- it just makes it a nicer place to work (at least, for someone familiar with the Unix command line).
For me, there are two main areas that distinguish "Unixness":
- The file system interface. By this, I mean inodes, ugo/rwx permissions, and a single hierarchy rooted at "/".
- There is one user (root) that has full access to the machine; all other users are limited to a small "sandbox"
-y
-
Re:Thihi...
Cygwin is very clever, and makes NT nearly tolerable. Still, it only implements a large subset of unix and maps features from windows to unix. e.g. case sensitive filenames, fifos, text/binary files, ACL/permissions.
More info at cygnus. -
Dual "Cross" configuration
I have a fairly simple machine, PII 333 with two 4gig harddrives. I have it dual booted with Linux (Redhat 6.0) and NT 4.0 with LILO being the bootloader.
Here's the interesting part: when I boot under NT I can use VMWare to get at the raw Linux partition, and when I boot under Linux I can use VMWare to get to the raw NT partition. Each OS has a specific configuration depending on whether it's a guest or host (using Hardware Profiles under NT and VMWare's dualconf under Linux).
Then it starts getting complex with host-only networking under VMWare for each environment. I actually have 5 different IPs for my one machine:
192.168.0.2: Native (host) NT or native Linux
192.168.101.1: VMNet Bridge
192.168.101.2: NT host/Linux host
192.168.101.3: Linux guest
192.168.101.4: NT guest
So while I have NT as a host, I can use samba to send files to Linux and then test them out. As far as development goes on NT, I have Visual Studio 6.0, Borland's free compiler, and Cygnus's cygwin (with mingw32 built under cygwin). I also have cross tools under cygwin that target Linux and MSDOS (djgpp).
When I use Linux as a host (99.5% of the time), again I can use samba to send executables to the NT guest and try them out *immediately* after compilation. This is a plus for libraries such as SDL, etc. I use pgcc-2.95.2 targetted to mingw32, cygwin (for the hell of it), ms-dos, and Sony PlayStation.
The main reason I use this setup is for hardware/processor feasibility, I have a TNT2 Ultra that isn't supported in any way under VMWare, therefore booting NT means I get 3DSMax, etc. that takes full advantatge of my hardware. Also, I have an ISA card that talks to my PlayStation, and the majority of dev-tools (with the major exception of psxdev) for the PSX are Win32 only (VMWare can't handle non-standard hardware).
How I set this up:
Install NT on the second harddrive
Configure all drivers, etc. for NT (might want to wait for this step to make creating Hardware Profiles easier)
Install Linux on the first harddrive w/ LILO
Setup VMWare on Linux to talk to NT as a guest (using raw disk partitions)
Boot *NATIVELY* into NT and copy your existing profile into a new Hardware Profile (System Control Panel)
Disable any devices in your new profile (call it "Virtual Machine") that VMWare doesn't support (Devices Control Panel)
At this point if you want you can setup VMWare for NT to access Linux as a raw partition
Boot into Linux and test your NT under VMWare, if some drivers fail, disable them under the Devices Control Panel
If you installed VMWare for NT, tweak your Linux dualconf configuration (I had to manually add a condition for switching the links to the X server)
Setup Host-only networking, samba, etc.
I know I didn't go into any detail, I don't have the time to write everything out and I'm not at my machine so I might have missed something. I'll post a couple articles at my site, etc. when I have some time (this weekend?).
Marcus
-
Alternatives to the GPL for OOPBefore I read your post I was merrily proceeding trying to license my Smalltalk packages under the GPL..
Now I guess I am looking for an alternative.
There are a lot of reasons -- I think -- why most of the alternatives are better. I'd be glad to point you to some that might be suitable for your project.
I wish that you would in detail outline your reasoning with links to your resources.
Several people have now asked me to do so, and I am now editing together a series of Web pages which do this. The issue is big and complex, and some people try to turn any discussion of the GPL into a political fight or a flame war. So, I'm having the material reviewed by people who are especially sensitive to these things to be sure that they're as objective and fair as they can be.
Also, it seems like to me that there may be a few ways to skin a cat that you are not recognising?/aware of?
Maybe, though I have done my best to consider things as thoroughly as I can.
Is it not the case that one can divide one's commercial app based on GPL code into two sections? One that is open source and one that is closed source. The code that calls or activates the GPL lib stuff must be made available to your customers. or is it that you do not need to open source the code that calls the GPL lib but you must distribute any changes you make to the lib?
If a library is licensed under the GPL (rather than the LGPL), code that links to it is "infected" by the GPL and cannot be made closed source. Some people say that this applies to dynamic linking, too; others say it doesn't. But there is general agreement that it does apply to static linking.
As in directly modifying GPL subroutines? But subroutines that you add to the lib don't need to have source distributed?
If you modify the GPLed code and then distribute the modified version, you must distribute the source.
Anyway, assuming that you must distribute source on anything that calls or activates GPL code, you can still hide your proprietary stuff by making a seperate program B that works closely together with the GPL dependent program A. These programs can communicate via files at the very least. And because of Disk caches this shouldn't be too slow. Perhaps pipes and such could also be used just so long as program B does not call A and tell it to activate GPL code. I do this kind of thing in my own code using the Clipboard as the user simple means of communications between some methods where the user can jump in there if desired. The user can cobble functions together in different ways because they communicate via the Clipboard.
This is a workaround that has been used before. BeOS has used this technique so that it can make use of Linux device drivers. It makes the device drivers into "daemons" which communicate with the OS via inter-process communications. Many of the more radical supporters of the GPL believe this is a loophole that should be closed by modifying the GPL.
If I am not wrong the GPL doesn't bar this?
It is generally agreed that this is a workable loophole for some people today. But it may not be in the future!
My idea was that companies who want to make commercial programs using my lib would have to ( under the GPL provide source code( or even better a special Smalltalk image ) to any methods that they make that call my GPLed code either directly or indirectly.
But code that doesn't call my lib methods can remain closed and be hidden in the image. Thus a user might be able to get the required copy of Dolphin Smalltalk load up the special image, and see and modify the code that calls my code. Thus they could add their own user interface to it and add their own custom addons. And since they would also know hopefully the data being set up for the hidden Program B part to consume they would also be able to customize it's functioning too.
If this is what the GPL provides then I guess I will go with the GPL( but I will try to read the others too. Maybe I like them better. ).
The GPL, unfortunately, runs into really serious problems as far as OOP goes, because in OOP you are in effect modifying someone else's code when you subclass, override, etc. In effect, using something like the GPL would prevent the use of your Smalltalk to create anything commercial! I don't think that this is a good policy.
Once license that you might want to consider instead is the eCOS License -- the license used by Cygnus, Inc. for its embedded real time operating system. Under this sort of license, licensees are required to provide you with source for fixes or improvements to your code -- in the case of OOP, this would mean your base set of objects and methods. But if they create their own custom subclasses, they are not required to give them away. This helps you improve your product but does not burden the developer to the point where he or she will say, "Sorry, I just can't use your Smalltalk; the license forces me to give away all of my work." The developer can keep his or her own original work, which is fair.
Even if the code is licensed more liberally (e.g. under the BSD license) the developer would be smart to tell you what changes he made to your base objects and methods, because they would then enter the code base that you were maintaining and he or she wouldn't have to patch each new version. So, we tend to see the same behavior that's explicitly required by the eCOS license under the BSD or MIT X licenses too. And these latter licenses have the advantage of simplicity and clarity; they're much shorter than the eCOS license. So, chances are that they'd work too.
Also-: Just because you are required to distribute your source code doesn't mean that you have to distribute usable source code. You can put a scrambler on it that adds misleading variable names and comments that are wrong. In effect, if the code is big enough, it becomes completely unmaintainable. There were some Smalltalk open source progams like that. Why bother trying to modify them. You might as well start from scratch.
ALSO-: There is a completely open source( but restricted distribution ) futures trading program written in Quick Basic that I know of that uses nothing but two letter variable names. And not that many comments either. It is about 400 to 800 lines long. Totally useless. Don't even try it. Many have tried and failed. Hackers and "Software Engineering" types have looked at it to no avail. We all threw up our hands and said that we might as well make a new one from scratch. If only we knew how. Now, it could be that we are not true hackers who can unsnarl raw Assembler in their sleep that was written by 1000 gibbering apes, who were also in their sleep when they wrote it, at the time, but I sir, am not one of those. And I have never actually met any who were neither. Although I did hear of one. Who took an assembler code where every third line was a jump so when you mapped out all the jumps graphically, every inch of code looked like a really snarly hair do. But I am not one of those. And as far as I can tell, most coders are not one of those neither, fer nothin. And he only succeeded because he was an expert at what that driver thing was trying to do.
The GPL doesn't permit this. It demands that the source code be readable and usable and not "shrouded."
In any event, I would say that for your application there are several licenses to choose from that might be better than the GPL. eCOS is one; the Artistic License is another; the MIT X license (the most liberal of all) is the third. As I've mentioned above, even under the MIT X license it is in developers' interest to send you information on improvements they have made to the classes and methods you supply, so you will probably be just fine with this very simple and least problematic license.
PS-: ( I thought that a few of the responses to your posts down below were a bit shrill and vitriolic. Like screaming stuck liberals or something. Ahh youth. When you are young if you are not liberal: You have got no heart. When you are older if you are not conservative: You have got no brain. )
Well, it seems in your case if the situation is not one of politics but rather of pragmatism. You want people to help you improve your product, which is a fair and reasonable thing to ask. But because you are not trying to engage in a political vendetta, using the GPL would be going too far. I think that one of the three licenses mentioned above would be about right. Myself, I'd just use the MIT X license because it is simplest and seems to produce the behavior you want via enlightened self interest.
--Brett Glass
-
Re:What about Kaffe?And of course, some of us are very interested in getting compiled Java (i.e. gcj/libjava, part of the gcc project) to work. I have contributed to this project in the past, with the hope of someday maintaining 1 set of Java libraries which I can either run in a JVM like Sun's or kaffe (for portability) or compile for my platform (for speed).
So, I would rephrase the question to something more like " JVM issues aside, what do you think of the future of Java as a language?"
JMC
-
Java -> x86
Most programmers that I know prefer Java, the programming language, over C++. What they dislike about Java is the VM and bytecodes slowing everything down. Hence my question
Will ahead-of-time Java compilers, like GCJ for instance, eventually be able to produce machine code comparable in speed to compiled C++?
The problem I see so far is that on the Java side there is the problem of making exceptions faster, which are notorious for slowing down C++ code. And Java has to deal with garbage collection, which you say in your FAQ can be added to C++. Yet, despite its obvious benefits, nobody seem to do.
-
GCJGiven your negative opinions of Java and EC++ as expressed in your FAQ, what do you think of GCJ and its attempt to combine Java and C++ through CNI?
Two related questions:
- If you don't think GCJ is a bad idea, how does this relate to your dislike of EC++ as a subset/dialect of C++, since the CNI documentation uses much the same language: "In terms of languages features, Java is mostly a subset of C++"?
- Is your dislike of Java more a dislike for it as a language or as a proprietary platform (language + virtual machine)? GCJ and non-Sun VMs would seem to remove much of the VM concern, leaving room for a more pure assessment of Java as just a language.
-
GCJGiven your negative opinions of Java and EC++ as expressed in your FAQ, what do you think of GCJ and its attempt to combine Java and C++ through CNI?
Two related questions:
- If you don't think GCJ is a bad idea, how does this relate to your dislike of EC++ as a subset/dialect of C++, since the CNI documentation uses much the same language: "In terms of languages features, Java is mostly a subset of C++"?
- Is your dislike of Java more a dislike for it as a language or as a proprietary platform (language + virtual machine)? GCJ and non-Sun VMs would seem to remove much of the VM concern, leaving room for a more pure assessment of Java as just a language.
-
Re:All the "Whining": My 2c
- ...it's that they're attempting to portray themselves as being "in" with tne Open Source(/free software) crowd, which they aren't... that's all.
This does seem to me to be a way to sell more C++ Builder at the expense of some amount of C++ Compiler licenses. Note all the mention of C++ Builder on those pages.
Unfortunately, it may well hurt the truly open C/C++ compiler for Windows, cygwin. In this regard, it can actually be viewed as a net loss to the Open Source Community.
-Jordan Henderson -
Re:Except app!=tool anymore, app==GUIfrob :(!
I seriously doubt the W2K command.com is going to compete with bash. Until I can do a ^u^o or tab completion forget it.
Can't help you for ^U^O, but for tab completion, this article says there's a (surprise, surprise) hidden registry knob to tweak to get tab completion.
Of course, you can just use bash and be done with it, by installing Cygwin.
-
Re:Except app!=tool anymore, app==GUIfrob :(!
Not exactly done right, though it's nice that the shell they use for command.com now allows you to use your up arrow instead of that stupid F3 key. I wonder where they got that from?
The previous release of NT? (I've used up-arrow under NT4 - heck, I didn't even know that F3 did something in a shell window - although most of the command-line typing I do on NT boxes these days is typed at bash.exe, not at cmd.exe, thanks to Cygwin.)