Personally I am hoping that someone takes the DragonFly core and puts a really cool desktop layer over it. One that provides a uniform UI core of APIs, and takes a different approach than X does. I think there are some truly cool things that could be done with it, based on what I have been reading about it.
That makes me wonder:
Wouldn't it be cool to run all of GCC's text messages through some sort of "Gollumnizer" (like the perl script out there that can convert english to Yoda-like phrasing)? Hell you could even rename it: "Gollum's Compiler Collection"
I have always wondered how long you could milk not showing up. Just start working somewhere else, and not tell the old company or even use them as a reference, and then just never show up again at your old job. Call in vacation time, call in sick, and just keep making excuses till they fire you. Meanwhile, you're already working somewhere else. Anyone ever try this?
I read somewhere that in Win32 (the NT version) that it was possible to write plug-in file systems. So a thirdparty could a their own custom filesystems and plug it into windows, allowing full navigation from Explorer, etc. Has anyone on your team ever considered doing something like this with ReiserFS, assuming there weren't licensing problems with something like this? Personally I think it would be really fascinating.
To the best of my knowledge, Qt is the only other C++ framework out there that offers the range of runtime dynamic introspection that the VCF does. The VCF (and Qt as well) allows you to get all sorts of meta information about a particular C++ instance, such as the class name, class UUID, interfaces implemented by the instance, methods of the instance, properties, and events. Methods can be invoked dynamically at runtime, and properties can be queried or modified as well.
By allowing for all of this the VCF gives you the potential to build a full fledged set of components on top of this, just like Borland's Delphi or Java (or Cocoa for that matter), with support for ComponentEditors and PropertyEditors. Because all of this can be queried at runtime, you can build a really kickass GUI builder, again just like Delphi or Cocoa's InterfaceBuilder. Qt can also support this (though they do it a bit differently I believe, but it's pretty close). WxWidgets, FOX, GTK, et al, don't have the features built in to really support anything like this. QTK has a sort of OO like property system but it's extremely hacky and cumbersome to use (IMHO). Qt and the VCF, make this easier because of C++.
Whereas Qt requires a separate preprocessor step, the MOC tool, a developer using the VCF is able to supply this information all in regular C++ and through the usage of macros (icky, but hey, life's not perfect).
Here's some more info on the reflection API's in the VCF: RTTI docs
Thread support with Mutexts, Conditions, and Semaphores
File and file searching
Streams
Locale and Unicode support
Text codes
String messages for localizing your app
Registry wrapper for app prefs
A full fledged reflection API that is conceptually similar to the Java Reflection API. This allows for dynamically creating an object instance from only a class name, interrogating the instance for methods, properties, events, and interfances. The overhead for this is pretty minimal. You do have to register the class but this is pretty easy to do and doesn't require a separate pre-processor step like Qt's MOC does.
A event system that is very similar to delegates in.NET and extremely easy to use.
Simple XML parsing support
All of this is plus, unlike Qt or WxWidgets, or FOX or whatever, the framework is broken into smaller pieces as opposed to one monolithic library. All of the above features are available in the FoundationKit and completely suitable for console/server developement, without any GUI baggage.
Application scripting can be achieved by using the VCF's Reflection API's to wrap a script engine. For example, in one app I wrote I used the Mozilla JavaScript engine and made a VCF wrapper that simply hooked into the VCF's ClassRegistry. Thus any class that you registered with the VCF's runtime was also available for scripting with the JavaScript engine. Took about 200 lines of code. From what I have seen I would expect a Python wrapper to be equally easy to write.
Perhaps, but when every single developer who runs into the project keeps asking why this is not getting more press and being written up on slashdot, maybe that says something to? I have been pushed continually for 3 years to get more press for the project, and slashdot is one of the few places I know of. Freshmeat woulnd't even carry it at first because it only ran on Win32.
Cheers!
I have tried 3 different times to get this story submitted in one way or the other for the past several months (including one earlier today that got rejected within less than an hour!). They have all been rejected. Several other members of the project have also tried repeatedly to get a submission and those too got rejected. I don't like doing this anymore than you do but it seems that's what it takes to get a submission accepted.
Well not to beat a dead horse, but I'd be inclined to say the retailer is lying, or misinformed. Of course that doesn't neccessarily help you out much:)
I don't think it's just the application. What compiler you use and how it creates binary code also makes a difference. For example, the project I work on (http://vcf.sourceforge.net), shows a HUGE binary size difference depending on whether you build with MSVC or GCC. Built in release mode and optimized for size, the core library is around 444 Kb when built with MSVC on WIn32. The same code base on OSX built with GCC (less the platform specific code, of which there is more for Win32 than for OSX) is about 2 MB in size (this is built with the -Os option and with no debug symbols).
That's around a fivefold difference! It seems if that could be addressed that would make a really big difference.
I am kind of surprised no one has mentioned this.
GCC
From my experience, as well as other articles I have read (there was a Dr. Dobbs article comparing GCC compiling performance and code peformance to MSVC6/7, BCC, Digital Mars, Open Watcom, and GCC was near the bottom on most benchmarks), GCC just ain't that great at producing really fast binary code, whereas MS has spent considerable effort to make their compilers produce very fast code for windows.
I'll bet that if a major effort were made to improve GCC code, then this might make a big difference.
You point #1 is just plain wrong. Every version of OSX from at least 10.2 on (and I'm pretty sure earlier as well, just not positive) has the development tools with the rest of the OS. They are on a separate CD. You need to install them manually. It takes about 10-15 minutes. You MAY want to download the latest and greatest patches from the Apple dev site, but this is NOT, I repeat, NOT a requirement. If you didn't get the Developer CD then you either got ripped off, or bought a bogus version of the OS.
Yep, that and the genetically engineered corn crops that could also dispense the alien virus. I think this first started to "crop" up (no pun intended:) ) in the 3rd season.
You haven't developed much on Win32 have you?:)
On Win32, on any production compiler/linker toolchain I'm aware of (i.e. MS, Borland, DMC, etc) you never have a.a file for static libraries. These are always.lib files. As others have noted, classes, functions, data, may be imported or exported by using the __declspec(export) or __declspec(import) storage qualifiers.
As far as I know the.a library file is a technique/standard on *nix absed systems (OpenVMS also uses.LIB and.OBJ file naming standards).
doesn't realise that if there was an OSS GUI kit (like Qt) then there would be OSS Windows development
Well, like I mentioned in an earlier post, there is:
Check out the VCF. It's got a feature set close to Qt (the major thing missing is the BiDi text stuff), a superb RTTI API, uses standard C++, and works great on Win32, which is what it is currently actively being developed on. It's BSD licensed and there are ports for Linux and OSX under way.
Slap a cool million on the table and even that haircut can get more women.
Hey, they'd have a product I'd consider buying! :)
Personally I am hoping that someone takes the DragonFly core and puts a really cool desktop layer over it. One that provides a uniform UI core of APIs, and takes a different approach than X does. I think there are some truly cool things that could be done with it, based on what I have been reading about it.
That makes me wonder:
Wouldn't it be cool to run all of GCC's text messages through some sort of "Gollumnizer" (like the perl script out there that can convert english to Yoda-like phrasing)?
Hell you could even rename it:
"Gollum's Compiler Collection"
And if it's a Pentium do we have to worry about rounding errors?
I have always wondered how long you could milk not showing up.
Just start working somewhere else, and not tell the old company or even use them as a reference, and then just never show up again at your old job. Call in vacation time, call in sick, and just keep making excuses till they fire you. Meanwhile, you're already working somewhere else.
Anyone ever try this?
I read somewhere that in Win32 (the NT version) that it was possible to write plug-in file systems. So a thirdparty could a their own custom filesystems and plug it into windows, allowing full navigation from Explorer, etc. Has anyone on your team ever considered doing something like this with ReiserFS, assuming there weren't licensing problems with something like this? Personally I think it would be really fascinating.
Not entirely unlike coming home from working in NYC via the subways!
To the best of my knowledge, Qt is the only other C++ framework out there that offers the range of runtime dynamic introspection that the VCF does. The VCF (and Qt as well) allows you to get all sorts of meta information about a particular C++ instance, such as the class name, class UUID, interfaces implemented by the instance, methods of the instance, properties, and events. Methods can be invoked dynamically at runtime, and properties can be queried or modified as well.
By allowing for all of this the VCF gives you the potential to build a full fledged set of components on top of this, just like Borland's Delphi or Java (or Cocoa for that matter), with support for ComponentEditors and PropertyEditors. Because all of this can be queried at runtime, you can build a really kickass GUI builder, again just like Delphi or Cocoa's InterfaceBuilder. Qt can also support this (though they do it a bit differently I believe, but it's pretty close). WxWidgets, FOX, GTK, et al, don't have the features built in to really support anything like this. QTK has a sort of OO like property system but it's extremely hacky and cumbersome to use (IMHO). Qt and the VCF, make this easier because of C++.
Whereas Qt requires a separate preprocessor step, the MOC tool, a developer using the VCF is able to supply this information all in regular C++ and through the usage of macros (icky, but hey, life's not perfect).
Here's some more info on the reflection API's in the VCF:
RTTI docs
Care to be a bit more specific *which* screenshots you have a problem with?
For example:
VCF Builder Screenshot
What about that looks like "crap"?
You mean like this: :)
Doxygen generated source code documentation.
You might consider spending 30 seconds perusing the website next time
Maybe you'd prefer this:
http://vcf.sourceforge.net/ssview.php?ss_id=28
http://vcf.sourceforge.net/ssview.php?ss_id=26
http://vcf.sourceforge.net/ssview.php?ss_id=27
http://vcf.sourceforge.net/ssview.php?ss_id=30
In addition to the GUI stuff the VCF provides:
- Thread support with Mutexts, Conditions, and Semaphores
- File and file searching
- Streams
- Locale and Unicode support
- Text codes
- String messages for localizing your app
- Registry wrapper for app prefs
- A full fledged reflection API that is conceptually similar to the Java Reflection API. This allows for dynamically creating an object instance from only a class name, interrogating the instance for methods, properties, events, and interfances. The overhead for this is pretty minimal. You do have to register the class but this is pretty easy to do and doesn't require a separate pre-processor step like Qt's MOC does.
- A event system that is very similar to delegates in
.NET and extremely easy to use.
- Simple XML parsing support
All of this is plus, unlike Qt or WxWidgets, or FOX or whatever, the framework is broken into smaller pieces as opposed to one monolithic library. All of the above features are available in the FoundationKit and completely suitable for console/server developement, without any GUI baggage.Application scripting can be achieved by using the VCF's Reflection API's to wrap a script engine. For example, in one app I wrote I used the Mozilla JavaScript engine and made a VCF wrapper that simply hooked into the VCF's ClassRegistry. Thus any class that you registered with the VCF's runtime was also available for scripting with the JavaScript engine. Took about 200 lines of code. From what I have seen I would expect a Python wrapper to be equally easy to write.
Perhaps, but when every single developer who runs into the project keeps asking why this is not getting more press and being written up on slashdot, maybe that says something to? I have been pushed continually for 3 years to get more press for the project, and slashdot is one of the few places I know of. Freshmeat woulnd't even carry it at first because it only ran on Win32.
Cheers!
Nope this is 100% mine.
You're thinking of the VCL (Visual Component Library).
I have tried 3 different times to get this story submitted in one way or the other for the past several months (including one earlier today that got rejected within less than an hour!). They have all been rejected. Several other members of the project have also tried repeatedly to get a submission and those too got rejected. I don't like doing this anymore than you do but it seems that's what it takes to get a submission accepted.
Holy Crap on a Cannolli!
I had *no* idea that Priceline was so high when it debuted! $600 a share? That's friggin insane!
Well not to beat a dead horse, but I'd be inclined to say the retailer is lying, or misinformed. Of course that doesn't neccessarily help you out much :)
I don't think it's just the application. What compiler you use and how it creates binary code also makes a difference.
For example, the project I work on (http://vcf.sourceforge.net), shows a HUGE binary size difference depending on whether you build with MSVC or GCC.
Built in release mode and optimized for size, the core library is around 444 Kb when built with MSVC on WIn32.
The same code base on OSX built with GCC (less the platform specific code, of which there is more for Win32 than for OSX) is about 2 MB in size (this is built with the -Os option and with no debug symbols).
That's around a fivefold difference! It seems if that could be addressed that would make a really big difference.
I am kind of surprised no one has mentioned this.
GCC
From my experience, as well as other articles I have read (there was a Dr. Dobbs article comparing GCC compiling performance and code peformance to MSVC6/7, BCC, Digital Mars, Open Watcom, and GCC was near the bottom on most benchmarks), GCC just ain't that great at producing really fast binary code, whereas MS has spent considerable effort to make their compilers produce very fast code for windows.
I'll bet that if a major effort were made to improve GCC code, then this might make a big difference.
You point #1 is just plain wrong. Every version of OSX from at least 10.2 on (and I'm pretty sure earlier as well, just not positive) has the development tools with the rest of the OS. They are on a separate CD. You need to install them manually. It takes about 10-15 minutes. You MAY want to download the latest and greatest patches from the Apple dev site, but this is NOT, I repeat, NOT a requirement. If you didn't get the Developer CD then you either got ripped off, or bought a bogus version of the OS.
Yep, that and the genetically engineered corn crops that could also dispense the alien virus. I think this first started to "crop" up (no pun intended :) ) in the 3rd season.
You haven't developed much on Win32 have you? :) .a file for static libraries. These are always .lib files. As others have noted, classes, functions, data, may be imported or exported by using the __declspec(export) or __declspec(import) storage qualifiers.
.a library file is a technique/standard on *nix absed systems (OpenVMS also uses .LIB and .OBJ file naming standards).
On Win32, on any production compiler/linker toolchain I'm aware of (i.e. MS, Borland, DMC, etc) you never have a
As far as I know the
Sounds a lot like Ozzy Osbourne...
Well, like I mentioned in an earlier post, there is:
Check out the VCF.
It's got a feature set close to Qt (the major thing missing is the BiDi text stuff), a superb RTTI API, uses standard C++, and works great on Win32, which is what it is currently actively being developed on. It's BSD licensed and there are ports for Linux and OSX under way.