Domain: sourceforge.net
Stories and comments across the archive that link to sourceforge.net.
Comments · 31,462
-
Being able to decompile code.......can be handy when trying to figure out the advantage of one coding idiom over another. On the PMD project (a Java static analysis tool) there was a discussion yesterday about code like this:
if(logger.isLoggable(Level.FINEST) == true){
which can be changed to // etc
}if(logger.isLoggable(Level.FINEST)){
to make it read (to me, anyway) a bit clearer. // etc
}
Anyhow, decompiling the classfile with "javap -c" shows that a couple of instructions get eliminated by dropping the explicit comparison to "true". So the classfile gets smaller, it loads faster, and (unless the JIT compiler is smart enough to do constant propagation on that conditional) it'll run faster, too. -
Re:Mac Ogg Client?
There are tons of MacOS Ogg Vorbis players, here are some:
Sourceforge Quicktime Components
Play Ogg Vorbis file on QuickTime (including QT-based players, like iTunes). Note that this is still under development and may have bugs.
http://qtcomponents.sourceforge.net/
A Better QuickTime Ogg Vorbis Plugin
Try this one if the Sourceforge one above dosen't work for your configuration.
http://www.macosxhints.com/article .php?story=20021 103065300430
MacAMP
Like WinAMP or XMMS.
http://www.macamp.com/
Whamb
Whamb player, haven't tried it.
http://www.whamb.com/
More Ogg Vorbis Software for MacOS X
Here's a list from the Vorbis folks.
http://www.vorbis.com/software.psp/ -
Re:What player?
I tried the Ogg Quicktime Component, on MacOS X, but it doesn't help.
-
Re:Excellent powerpoint killer
But already this program does all of the important functions I need Powerpoint for
...
Take a look at prosper or latex-beamer - the results are superior to everything Powerpoint comes up with ...
The real problem is to to provide a click-and-point interface to easily create these presentations. And LaTex is a real good backend, but it shows its age here and there (for the web a XML-based language would be an advantage for example ....) -
Nice
I couldn't see any examples because of slashdotting, but I can imagine the power of XHTML combined with CSS. On http://j-ftp.sourceforge.net/ I use CSS+javascript to put the whole page into one single html file to avoid the latency of multiple browser requests. This was so easy to set up that I wonder that CSS (positioning) isn't used by more people already...
Sorry for the free avdertising btw. ;) -
Re:Shred
You could also stick in Darik's Boot and Nuke, provided you want to wipe ALL drives connected to your system and don't have anything you need to backup on them.
-
Netstation Linux
NetStation is a Linux distribution for diskless thin clients terminals using standard x86 hardware. It can boot from network, floppy, or flash-disk and connect to an application server using VNC, RDP, XDM, SSH, telnet, Citrix ICA, or Tarantella.
set karma_whore 0 -
LaTeX
It does almost make me feel like a barbarian for using beamer under LaTeX. Many alternative LaTeX styles/classes exist (prosper, HA-prosper, seminar, slide, etc. They are mature and elegant. The resulting PDFs are attractive because they are single-file-per-presentation solutions that are cross-platform and adhere to an open standard (xpdf is a great viewer!). S5 would need additional files for images, style sheets, etc.
Those who use LaTeX should check out beamer--the table of contents is quite intelligent & they are easily theamable & have already solved many things that S5 is only planning to include. -
Re:VLC all the way
I second this recommendation; VideoLAN Client (VLC) performs flawlessly for both streaming and local playback.
If you want to encourage people to download it, you might also mention its ability to play DVDs on your terms: no unskippable previews, no "operation prohibited by disk" messages", just the content you paid for displayed how you want to see it. VLC will also play almost any video and audio codec available, thanks to FFMPEG. -
Re:Nice...
- I downloaded some, and I just realized I don't have any application installed to watch SVG's in my Mac. Does anyone know of a SVG viewer for Mac? And perhaps a converter? I can really use some of these images on a couple of OmniGraffle diagrams that I'm working on...
Take a look at Inkscape in the Fink ports repository;
Inkscape will import or save/export a few common formats. A couple other programs in the list also handle SVG.
-
Re:Nice...
- I downloaded some, and I just realized I don't have any application installed to watch SVG's in my Mac. Does anyone know of a SVG viewer for Mac? And perhaps a converter? I can really use some of these images on a couple of OmniGraffle diagrams that I'm working on...
Take a look at Inkscape in the Fink ports repository;
Inkscape will import or save/export a few common formats. A couple other programs in the list also handle SVG.
-
Re:Benefit the world: A program to show data split
Make a program that shows what parts of a huge folder fit on individual CDs or DVDs. The output of the program would say, for example, that all the files from sub-folders A to Information would fit on the first CD, and all the files from sub-folders Installers to Netgear would fit on the second CD, and so on.
It is necessary to store backup sub-folders in alphabetical order on the backup CDs or DVDs because then they can be found easily.
As described, there's a major problem with your algorithm for deciding the splits. It would result in lots of wasted space on the backup media.
As an example, let's say we have three directories we want to back up. Directory A is 100 MB, Directory B is 610 MB, Directory C is 100 MB, and the backup medium is CDRs.
If a human were to decide what directories should go where, it would put A and C on disk 1, and B on disk 2. Your algorithm would put A on disk 1. There isn't enough space on disk 1 for B, so that goes on disk 2. But now, there isn't enough space on disk 2 for C, so because everything has to be in order, C must go onto disk 3. You now have two CDRs with over 500 MB each of wasted space.
Burn to the brim (mentioned by another poster) appears to do the same thing that the human would do. -
Linked list vs. array timings: ARRAYS WIN!People have complained to me that arrays are not efficient for inserting an element in the middle. I was skeptical, because the cache misses ought to slow things down. So here's a small program to test my hypothesis (you'll need http://sourceforge.net/projects/ustl):
#include <ustl.h>
Timings for array:
using namespace ustl;
int main (void)
{
#if USE_ARRAY
vector<int> v;
for (uoff_t i = 0; i < 20000; ++ i)
v.insert (v.begin() + v.size() / 2, i);
#else
typedef struct _list {
int* p;
struct _list* next;
} mylist;
mylist head;
for (uoff_t i = 0; i < 20000; ++ i) {
mylist* p = &head;
for (uoff_t j = 0; j < i / 2; ++ j)
p = p->next;
mylist* pnew = new mylist;
pnew->p = new int (i);
pnew->next = p->next;
p->next = pnew;
}
#endif
return (0);
}
real 0m0.308s
user 0m0.308s
sys 0m0.001s
Timings for linked list:
real 0m12.746s
user 0m12.685s
sys 0m0.006s
Array insertions are 40 TIMES FASTER! The vector class for this implementation uses paged allocation with realloc.
(On 2proc Athlon MP 1GHz, Debian Linux SMP)
With 100000 items:
Timings for array:
real 0m10.701s
user 0m10.691s
sys 0m0.004s
Timings for linked list:
real 6m41.403s
user 6m40.089s
sys 0m0.167s
Conclusion: NEVER USE LINKED LISTS! -
Re:If Microsoft did this....
Ok, I'll admit off the bat that I am an Apple fanboy and own lots of fruit. I haven't heard Apple's offical response to this, but here's how I see this Apple playing this out:
If you can figure out how to gets music off your iPod, good for you.
If you can download a program that can get music off your iPod, good for you.
If you download a plugin for iTunes that can get music off your iPod, not so good.
Why? Because Apple doesn't want iTunes via a plugin getting music off an iPod. In fact this kind of plugin violates the licence agreement for the iTunes plugin SDK. Apple only wants people to write iTunes plugins for other mp3 players and visual effects/screen savers. In fact I believe iCommune had this exact same problem. I would suggest these folks do as the iCommune people did, make it a stand alone app and Apple will leave you alone. So yeah, Apple does seem a bit heavy handed about these things.
-
Re:Anyone know how flexible the license is?
Don't forget about the FireBird database which is under a renamed MPL v1.1.
Fyracle is a side project that allows FireBird to work directly with Oracle SQL extensions and I believe also their Stored Procedures. It also allows Compiere to work with an open source DB instead of Oracle. Most of the cost was in licensing Oracle in a Compiere solution so this looks very promising. -
Coolplayer
i use coolplayer; it has native Ogg Vorbis support, and is open source. it's a standalone executable; no dlls or anything to mess with. download it, unzip it, hit "L", and you're ready to go.
-
Re:For debian...This is the first real answer to the question and needs to be modded up.
A quick google search shows that there are also rpms available for download.
routeplanner-gnome-0.9-1.noarch RPM
... and the main sourceforge site is Project: RoutePlanner: Summary
Thanks for the tip! I've been passively looking for something like this for a while. I'm planning on downloading it and playing with it also.
-
Re:Why are you using a linked list?
> But you're assuming that speed matters in this
> section. The code I'm using a linked list for is
> not used enough to make such optimisation
> neccesary. When speed matters, I use an array.
Ah, but code size matters too. When you don't need to make it fast, make it small (and if you need to make it fast, small is a pretty good idea too). Array code is smaller and easier to debug than linked list code. You also get the advantage of being able to look at the entire array in the debugger (priceless!). This is why I never use anything but arrays and design all my code specifically for arrays: sequential access whenever possible, no random modifications, inserts only at the end, combine any modifications into blocks, etc. This is guaranteed to get you excellent cache usage (or at least, as good as it is going to get) and I have yet to see an application where I couldn't fit such a design.
> I'm pretty sure the implementation I use
> allocates a new chunk of memory and copies.
Yes, that is correct, SGI STL implementation does just that. However, it also doubles the page size every time, so you get log2 allocations for your element adds, while a linked list gives you 2n allocations. It is possible to keep the old block, but you then have to make sure your objects can be bitwise copied (mostly means no pointers to internal variables) because there is no 'renew' and you get to use realloc. See http://sourceforge.net/projects/ustl for an STL implementation that does this. -
A Zaurus with CF-GPS Card and qpeGPS software?
This "quest" for a Linux mapping solution reminded me of my own; I've recently been thinking about (rather procrastinating) over buying a Garmin IQUE 3600. In my reading and comp'ing of pdas with GPS/Mapping software, I looked at the Linux-OS-based Sharp Zaurus which gets a lot of (well earned) attention here.
I was looking for more than the Zaurus was offering, but here's what I found and bookmarked. I'm sure others here using the Zaurus will be able to fill in the blanks and share other gps mapping OSS projects out there, if they exist, which I wasn't able to find, other than three below. Zaurus Users Group might have some info as well. Bill Kendrick is also a good resource about these.
SOFTWARE:
GPSGaugeLite
MFG: Serialio
http://www.serialio.com/products/GPSGaugeLite.htm
SOFTWARE:
qpeGPS
http://qpegps.sourceforge.net/
Screenshots | Tested GPS Units
SOFTWARE:
zGPS
http://www.handango.com/sharp/PlatformProductDetai l.jsp?siteId=423.............
http://tinyurl.com/6lau7
HARDWARE:
Model Name: CF Card -GPS Navigation Receiver
Manufacturer: AmbiCom
http://myzaurus.com/acc_Comm10.asp
HARDWARE:
Serial GPS Receiver
Model Name:GPS-U2-Z9
Manufacturer:Serialio.com
http://myzaurus.com/acc_Serial10.asp
-
A Zaurus with CF-GPS Card and qpeGPS software?
This "quest" for a Linux mapping solution reminded me of my own; I've recently been thinking about (rather procrastinating) over buying a Garmin IQUE 3600. In my reading and comp'ing of pdas with GPS/Mapping software, I looked at the Linux-OS-based Sharp Zaurus which gets a lot of (well earned) attention here.
I was looking for more than the Zaurus was offering, but here's what I found and bookmarked. I'm sure others here using the Zaurus will be able to fill in the blanks and share other gps mapping OSS projects out there, if they exist, which I wasn't able to find, other than three below. Zaurus Users Group might have some info as well. Bill Kendrick is also a good resource about these.
SOFTWARE:
GPSGaugeLite
MFG: Serialio
http://www.serialio.com/products/GPSGaugeLite.htm
SOFTWARE:
qpeGPS
http://qpegps.sourceforge.net/
Screenshots | Tested GPS Units
SOFTWARE:
zGPS
http://www.handango.com/sharp/PlatformProductDetai l.jsp?siteId=423.............
http://tinyurl.com/6lau7
HARDWARE:
Model Name: CF Card -GPS Navigation Receiver
Manufacturer: AmbiCom
http://myzaurus.com/acc_Comm10.asp
HARDWARE:
Serial GPS Receiver
Model Name:GPS-U2-Z9
Manufacturer:Serialio.com
http://myzaurus.com/acc_Serial10.asp
-
A Zaurus with CF-GPS Card and qpeGPS software?
This "quest" for a Linux mapping solution reminded me of my own; I've recently been thinking about (rather procrastinating) over buying a Garmin IQUE 3600. In my reading and comp'ing of pdas with GPS/Mapping software, I looked at the Linux-OS-based Sharp Zaurus which gets a lot of (well earned) attention here.
I was looking for more than the Zaurus was offering, but here's what I found and bookmarked. I'm sure others here using the Zaurus will be able to fill in the blanks and share other gps mapping OSS projects out there, if they exist, which I wasn't able to find, other than three below. Zaurus Users Group might have some info as well. Bill Kendrick is also a good resource about these.
SOFTWARE:
GPSGaugeLite
MFG: Serialio
http://www.serialio.com/products/GPSGaugeLite.htm
SOFTWARE:
qpeGPS
http://qpegps.sourceforge.net/
Screenshots | Tested GPS Units
SOFTWARE:
zGPS
http://www.handango.com/sharp/PlatformProductDetai l.jsp?siteId=423.............
http://tinyurl.com/6lau7
HARDWARE:
Model Name: CF Card -GPS Navigation Receiver
Manufacturer: AmbiCom
http://myzaurus.com/acc_Comm10.asp
HARDWARE:
Serial GPS Receiver
Model Name:GPS-U2-Z9
Manufacturer:Serialio.com
http://myzaurus.com/acc_Serial10.asp
-
Re:Why are you using a linked list?
> Now tell me, how big should my array be?
You can use paged allocation to grow the array, as you add the items. If you use realloc, there will be no copying involved, as it will simply extend your allocated block. See vector template implementation in http://sourceforge.net/projects/ustl for an example. -
Re:RealPlayer?
try AAC, its lossless unlike ogg
Ogg can be lossless. You are mistaking Ogg for Vorbis.
-
Re:Why NOT?
So why do companies have a problem with free driver distribution?
A: In the case of wireless, the FCC plays a part.
An 802.11 Wireless Card is a software controlled radio, and must be licensed per FCC regs (in the USA, your country's rules might be different). Since the 802.11 PHY operates over several channels within the specified band, it must be able to select and switch between these channels via software, and to adjust its transmit power for optimum performance based on the changes in temperature of the transmitter, and changes in the frequency, among other things.
But different regulatory domains (countries) allow different channels within the bands, meaning a card in the US may be able to operate on a channel in the B band which is not licensed for another country, or vice versa. This is particularly true in the A band, where a whole middle "chunk" is not legal for use in the US.
Bottom line is that in order for the producer to get a license for the radio (and trust me, you do NOT want it to be the case that you, the operator, have to secure that license), he is NOT ALLOWED to expose the controls for power, et al, to the end user.
Now, if the driver / firmware (distinction / similarity discussed elsewhere in the thread) is open source, then by definition the controls in question are exposed to the end user. There would be nothing to prevent an end user from operating his card at a higher than legal power, or outside the legal freqs for the local regulatory domain.
NOW, all that being said, that is not to say that SOME hardware manufacturers haven't tried to do the right thing, and strike a compromise.
The MAD-WiFi Project http://sourceforge.net/projects/madwifi, (FAQ here) produces an open driver for the cards with Atheros chipsets. The bulk of the code is open, and under a good license. To meet the FCC requirements, they implement the "required to be secret" controls in a binary-only Hardware Abstraction Layer (HAL), but the rest of the code is open, free for you to read and modify.
And it works. I'm typing this through a Netgear card, running the MAD-WiFi driver (with TKIP encryption, IEEE 802.11i 4-way handshake and authentication handled by wpa_supplicant) on Gentoo Linux.
Credit is due to Sam Lefler and most importantly to Greg Chesson (of Atheros). Yes, it's that Greg Chesson, the same one mentioned of late by Rob Pike in his recent
./ interview.Note that, AFAICT, all of this happened without Theo de Raadt pimping around or making an ass of himself, as he is want to do. Disclaimer: I lost patience with Theo and TheoBSD a long time ago.
-
Re:Out of the mouths of babes and sucklings.Eclipse's plugin model is based on vendor-neutral, open standards. It's called OSGi.
That's just the plugin model, mind you, which is not specific to Eclipse; it just specifies the way plugins are packaged, declare their metadata, are loaded, accessed etc.
Eclipse's object model, which rests on top of this framework, is something else, and that's Eclipse-specific. Eclipse's object model is much more generic and vast in scope than NetBean's OpenIDE API.
In case you don't know the Eclipse plugin system well, it's a modular design based on loose coupling of components all extending each other.
There's no central plugin point to speak of; Eclipse is essentially a collection of loosely-coupled components, with some glue at the bottom to bootstrap the core plugins.
Every extension can potentially extend another. For example, if I provide a view, then I can let anyone extend that view by, say, providing context menu items, toolbar buttons, visual overlays and the like.
These extensions would all communicate using publicly declared APIs; hidden inter-component communication is discouraged.
For example, if I were building a stock trading app, I might write a bunch of different views -- graph view, a table view, a ticker view, etc.; the table view would expose a mechanism to detect when the user has clicked on a specific stock symbol.
The graph view would plug into this mechanism and change its view to show the currently selected stock. However, the graph view would not know anything about the view into which it was plugging into; it would only know about the interface contract of the extension point, which could be anything.
You could potentially bundle each of these views separately and mix and match with other, third-party views: as long as they know the public interfaces, they can talk to each other. I could write a better graph view and plug it in without having to change any code in any other view.
The reason Eclipse is so flexible, and is popularly touted as an "integrated anything environment", is precisely because it is so loosely defined.
Eclipse would not be able to use the NetBeans APIs directly because they are, well, NetBeans. Eclipse could not do everything it does today if it adhered to the NetBeans API.
Also, NetBeans/OpenIDE is tightly coupled to Swing, and while SWT can embed Swing, consistently and seamlessly adapting Swing-using components into the SWT environment would be a lost cause.
-
Re:What is the best way to increase security?
Actually, there are open sourced, network scanning tools that are MUCH better than nmap. Check out unicornscan for example here
-
Re:Hmmm
"They decided the devil was a little too risqué"
Someone inform these guys! -
Re:Forgive my ignorance...
I think this might be it, it was addressed on the pearpc mailing list today???
-
Re:Porting isn't that easy
A friend of mine tells me that this is pretty good...
-
Spell checkers
-
And firefox/mozilla spell check is here...Safari has been mentioned (though I've never used it). But, for those who are curious or might find this helpful, there is an optional firefox spell checker extension that can be installed from here...
http://spellchecker.mozdev.org/
It has been around for a while and was recently accepted into the Mozilla trunk. Don't think it's just a cheap hack.
Alternatively, quick search turned this up for IE. With the right design, something as simple as a spell check should be quick and painless. Some IM clients even have a live spell check built in which can be of great use. Nothing can beat the live spell checker for helping you pick up on your own problem words. Or do what I recently did and parse through the last five years of IRC chat logs to find your most common mistakes. That was ugly, let me tell you! I can't make the rest of the world love my crappy spelling so fixing it is all I've got. But at least after doing that I felt a little better about myself.
But seriously, learn how to type
;) -
Re:Not bad
A little plain?? Logos are supposed to be plain. Take a moment and look at some memorable logos. They're generally very, very, simple. This makes them easy to associate with the product. It helps build the brand.
If only more Free Software projects would follow the lead of NetBSD. There are a lot of decent logos out there too but by and large Free Software logos constitute strong evidence that Graphic Design is indeed a valuable skill. Not as valuable as coding, but still valuable.
Specifically, it's not about technical prowess in using your favourite graphics program, it's about being able to come up with strong ideas and express them strikingly, visually.
Not that I'm any good at it... -
Re: BTTB
For its own benefit, the world should give Burn to the Brim a try!
-
What to run?I already described how to set up a lean Debian system. But I would like suggestions on what would be the best system to run on a desktop computer with old hardware.
Here is what I think I know about this. A while ago I tried several systems on a Pentium 233 with 64MB of RAM.
GNOME -- if you can install enough memory (I recommend at least 256 MB) then this is actually a reasonable way to go, even on an older computer. But if you have a computer with limited RAM and no convenient way to upgrade it, stay away. (Maybe if you like GNOME 1.x, and can find it somewhere... no, I don't think so.)
Xfce -- getting better. Smaller, faster than GNOME. But when I tried it, it was still slower than I wanted.
IceWM -- actually, pretty nice! But IceWM itself is a window manager, and you need more than just that. So I suggest combining IceWM with ROX.
I used ROX filer a few years ago, and I loved the speed. The whole ROX system looks pretty slick, and it's fast!
ROX is complicated enough to install (only old packages for Debian; they want to you use a new system called ZeroInstall now) that I didn't do a full-on install test of it. But if I had an actual need to run a desktop system on old hardware, I'd definitely use ROX plus IceWM.
But if you know something even better, please add a comment about it!
steveha -
Hackermedia podcast
The RSS feed from my site combined with the iPodder app will download all kinds of hacking, phreaking, tech, and geek related amateur radio shows.
http://hackermedia.net
http://hackermedia.net/wp-rss2.php -
VL
I've been using VectorLinux(3.2) on my 760 series thinkpad for about a 8 months or so. Installing it was made easier by first installing Smart Boot Manager, which allows booting from a cd when the BIOS is too old to know how. Then, just to be a wiseass, I setup ICEwm to look exactly like windows XP(wall paper and all). Nothing like running xp on a 166.
;-)
-
Re:Linux on the Mac is for Masochists...
I'm quite sure there is an Ubuntu packagae for im-ja, possibly in "universe" (I don't use Ubuntu myself).
-
Re:nice, but could do better
You cannot define which directories to index, and it only indexes single machine.
Yes, you can. Look harder.The google search keeps index of the data on the desktop harddrive. If you have lots of files, the index size gets insanely large, some say nearly 2Gb when you have large amount of documents lying around.
That's why you should configure GD to only index your work folders.
You can already sort of do this. See Harvest .... Some other interesting stuff -
Re:LinuxYou can already do this with Linux. There are several software spiders intended for setting up search functions for websites or just localhost. One of them is harvest and let me quote on the formats suported from their website:
Current list of supported formats in addition to HTML include TeX, DVI, PS, full text, mail, man pages, news, troff, WordPerfect, RTF, Microsoft Word/Excel, SGML, C sources and many more. Stubs for PDF support is included in Harvest and will use Xpdf or Acroread to process PDF files. Adding support for new format is easy due to Harvest's modular design.
There are a few others, do your own homework if you want them :) -
It's the best.
This is indeed a wonderful feature of KDE, just yesterday I discovered someone created a rio600:/ kioslave which allowes me to easily drag and drop music to my player through konqueror. The best thing about this package is that it works on top of a command line program rioutil, but it's so transparent you won't even notice. I love it.
It also allows me to edit text files directly on a remote ftp server, without having to go through the usual and annoying download-edit-upload-test-process. Just save and (in my case, for web development) refresh the page in your browser. -
Integrated != Closed
Because if the group doing the integrating decides you dont need it, you dont get it.
Unless the group doing the integrating decides, on a lark, to join, embrace, and even contribute to the open standard/software movement. 'Cause then you might be able to still decide what you want or need.
But that couldn't possibly come from some over priced, consumer-electronic excuse for a computer, now could it? No way.
Just keep doing yer thing, man... -
Re:wrong layer
I don't see why this has to be at the kernel level - why not just make programs that use kioslave functions instead of open() (or whatever)?
Because
- the program you want to use might already have been made, and you don't want to have to convert it, or have somebody convert it, to use KIO (it might not even be a KDE program - neither cat nor grep are, on most systems);
- your application randomly access the file (I don't see anything immediately obvious in the KDE I/O Architecture document that indicates that you can open a file and seek around in it and read from arbitrary offsets);
- your application is supposed to work without KDE (and even if, as, and when a KDE version of that particular application is done, it'll still have non-KDE versions, e.g. for Windows);
etc..
Not only that, but some protocols are very slow or don't work with directories well, and wouldn't be sutable to be treated like local folders.
Which ones?
Putting this in the kernel is asking for a lot more root (and not just user) exploits.
OK, then how about just putting FUSE or lufs in the kernel and doing the bulk of the work in user space? (That's how OS X's ftpfs and webdavfs work - they have "stub" file systems in the kernel that talk to user-mode daemons; heck, the "stub" file system for ftpfs is called "the NFS client", and the user-mode daemon is a user-mode NFS server on a port other than 2049.)
And finally, everything that uses traditional system calls would have to be modified considerably or there will no doubt be many expolits found for them.
And the reason why adding a new file system type makes that true is?
-
Re:wrong layer
I don't see why this has to be at the kernel level - why not just make programs that use kioslave functions instead of open() (or whatever)?
Because
- the program you want to use might already have been made, and you don't want to have to convert it, or have somebody convert it, to use KIO (it might not even be a KDE program - neither cat nor grep are, on most systems);
- your application randomly access the file (I don't see anything immediately obvious in the KDE I/O Architecture document that indicates that you can open a file and seek around in it and read from arbitrary offsets);
- your application is supposed to work without KDE (and even if, as, and when a KDE version of that particular application is done, it'll still have non-KDE versions, e.g. for Windows);
etc..
Not only that, but some protocols are very slow or don't work with directories well, and wouldn't be sutable to be treated like local folders.
Which ones?
Putting this in the kernel is asking for a lot more root (and not just user) exploits.
OK, then how about just putting FUSE or lufs in the kernel and doing the bulk of the work in user space? (That's how OS X's ftpfs and webdavfs work - they have "stub" file systems in the kernel that talk to user-mode daemons; heck, the "stub" file system for ftpfs is called "the NFS client", and the user-mode daemon is a user-mode NFS server on a port other than 2049.)
And finally, everything that uses traditional system calls would have to be modified considerably or there will no doubt be many expolits found for them.
And the reason why adding a new file system type makes that true is?
-
Re:What happened to the KIO Fuse Gateway?
There was a project called Fuse, (File system in User SpacE) that aimed to make a kernel module that would let linux users actually mount anything that the KDE I/O Slaves can handle.
Does anyone know what happened to it
Its home page moved to SourceForge. However, it doesn't itself handle stuff the KDE IOSlaves can handle; for that you'd also want the KIO Fuse Gateway.
and if there are any other projects that would do this?
lufs?
-
Re:What happened to the KIO Fuse Gateway?
There was a project called Fuse, (File system in User SpacE) that aimed to make a kernel module that would let linux users actually mount anything that the KDE I/O Slaves can handle.
Does anyone know what happened to it
Its home page moved to SourceForge. However, it doesn't itself handle stuff the KDE IOSlaves can handle; for that you'd also want the KIO Fuse Gateway.
and if there are any other projects that would do this?
lufs?
-
Re:MacOS _should_ have these things.
Well, technically there is a VFS layer in the kernel, that abstracts the idea of a filesystem away from the implementation. So you use all the same calls for accessing ext2, reiserfs and smbfs.
Yes, I know Linux has that sort of thing, just as {Free,Net,Open}BSD do, and just as OS X does, and just as a bunch of other UN*Xes do, going all the way back at least as far as SunOS 2.0 (or "Sun UNIX 4.2BSD Release 2.0" or whatever it called itself back then).
In the big reiser4 flamewar on the kernel mailing list, there was talk of extending the Linux vfs (where the stuff belongs, rather than in any specific filesystem) with file-as-directory stuff and so on, which could help with the browsing zip files and stuff.
What "stuff" are you saying belongs there? I'm not convinced that "file-as-directory stuff", if by that you mean something that lets you look at a tarball or a zipball or... as a directory showing the files and directories in the *ball, belongs in the VFS layer.
Something that lets you mount a *ball as a file system, with the contents of the *ball as the contents of the file system, might be, but hooks to allow such a thing, and stuff that lets you look inside *balls (and do a bunch of other things as well), are available for Linux, so perhaps all that's needed in the kernel is FUSE (if AVFS is usermode code that plugs into FUSE).
I haven't looked at the webdavfs kext in Darwin 7.4 to see if it could be used to talk to usermode daemons other than the webdavfs daemon, so I don't know whether OS X already has something that could do the same as FUSE.
Some of the remote mounting could probably be done today (lufs? autofs? not sure really),
lufs or FUSE, probably, unless autofs isn't specialized towards talking to a user-mode automounter daemon.
but it probably wouldn't be as clean as it works out in KDE.
Why not? If it's done below the VFS layer, it's definitely cleaner in one sense - anything that ultimately uses open/close/read/write/etc. can use it. It might not be as clean in the sense that you wouldn't just be able to say ftp://ftp.foobar.org/pub/current-release.tar.gz to access the file in question, but if you couple it with something that lets you register a mount helper for a URI scheme (so you can find the appropriate code to handle an SMB mount for smb://hostname/..., an NFS mount for nfs://hostname/..., and so on), something along the lines of what's done in KDE could be done in a wrapper I/O library.
It's not as clean in the portability sense, as you'd have to worry about different "user-mode file system" frameworks on different OSes (even if the framework you use is the NFS client, there are probably different ways of doing setting up a user-mode NFS server on different OSes) and different ways of doing mounts of different file system types, but it's arguably cleaner from the end-user standpoint.
-
Re:MacOS _should_ have these things.
Well, technically there is a VFS layer in the kernel, that abstracts the idea of a filesystem away from the implementation. So you use all the same calls for accessing ext2, reiserfs and smbfs.
Yes, I know Linux has that sort of thing, just as {Free,Net,Open}BSD do, and just as OS X does, and just as a bunch of other UN*Xes do, going all the way back at least as far as SunOS 2.0 (or "Sun UNIX 4.2BSD Release 2.0" or whatever it called itself back then).
In the big reiser4 flamewar on the kernel mailing list, there was talk of extending the Linux vfs (where the stuff belongs, rather than in any specific filesystem) with file-as-directory stuff and so on, which could help with the browsing zip files and stuff.
What "stuff" are you saying belongs there? I'm not convinced that "file-as-directory stuff", if by that you mean something that lets you look at a tarball or a zipball or... as a directory showing the files and directories in the *ball, belongs in the VFS layer.
Something that lets you mount a *ball as a file system, with the contents of the *ball as the contents of the file system, might be, but hooks to allow such a thing, and stuff that lets you look inside *balls (and do a bunch of other things as well), are available for Linux, so perhaps all that's needed in the kernel is FUSE (if AVFS is usermode code that plugs into FUSE).
I haven't looked at the webdavfs kext in Darwin 7.4 to see if it could be used to talk to usermode daemons other than the webdavfs daemon, so I don't know whether OS X already has something that could do the same as FUSE.
Some of the remote mounting could probably be done today (lufs? autofs? not sure really),
lufs or FUSE, probably, unless autofs isn't specialized towards talking to a user-mode automounter daemon.
but it probably wouldn't be as clean as it works out in KDE.
Why not? If it's done below the VFS layer, it's definitely cleaner in one sense - anything that ultimately uses open/close/read/write/etc. can use it. It might not be as clean in the sense that you wouldn't just be able to say ftp://ftp.foobar.org/pub/current-release.tar.gz to access the file in question, but if you couple it with something that lets you register a mount helper for a URI scheme (so you can find the appropriate code to handle an SMB mount for smb://hostname/..., an NFS mount for nfs://hostname/..., and so on), something along the lines of what's done in KDE could be done in a wrapper I/O library.
It's not as clean in the portability sense, as you'd have to worry about different "user-mode file system" frameworks on different OSes (even if the framework you use is the NFS client, there are probably different ways of doing setting up a user-mode NFS server on different OSes) and different ways of doing mounts of different file system types, but it's arguably cleaner from the end-user standpoint.
-
Interesting idea
But it'd be kind of obvious that it was just a way to subvert copyright, once you got "caught". If the other machine didn't belong to you, maybe, but I still doubt it.
Why not just encrypt all the transfers/requests with session keys? The only loophole there is that a fed could still get on the network and ask you for something copyrighted -- if you have it, you're busted -- so it's got to be a Costco-type dealie.
Personally, I like the FreeNet theory. -
Re:"private networks"
And Waste is impossible to detect because each person running Waste can set their own port number (from the default 1337), and even set it to run on port 80 if they wanted.
Anonymous P2P like Mute is calling itself the next generation in P2P, and sacrifices performance for privacy - i.e. you don't know who's requesting a file, you only know who you're connected to, so you could actually be a conduit for dozens of people sharing files.
Anonymity (Mute) vs. Privacy (Waste) are mutually exclusive. You either know who you're talking to reliably, or you don't. You can't both know who you're talking to AND be anonymous.
Private networks suffer from the same problems as ShadowCrew - if you let too many people in, one person could comprimise the entire network and learn the identities of everyone. There are websites out there that share waste networks. That just seems silly to me. Waste is about *privacy* so publicizing your existance is just stupid. The problem then becomes finding a group of people you trust who have different content from you.
I read somewhere a while back about a Japanese DVD trading ring - they actually mailed DVD's back and forth, perhaps pirating them once they had them. When you joined you had the name of the person who invited you in attached to your name until you built up a reputation. People looking to go underground would be wise to adopt such a policy. Invitation only, stay small, and develop a reputation system. Don't these people watch undercover movies like Wu jain dao (Infernal Affairs here in America)?
-
Re:MacOS _should_ have these things.
Apple is doing this stuff (e.g. you can mount WebDAV servers), but Apple is doing it right by integrating network resources into the real VFS layer so that all applications can access them. KDE's I/O slaves are not real filesystems and are not accessible by all applications.
So then what Apple's doing is like LUFS?
Remember folks, KDE is not a whole OS, it's just a frontend. Apples and oranges, and all that.