Slashdot Mirror


User: Osty

Osty's activity in the archive.

Stories
0
Comments
2,862
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 2,862

  1. Re:Microsoft and allies are wrong about experience on Microsoft's 'Hands-On' Linux Lab · · Score: 2, Interesting

    2) Integration of user experience: Both KDE and GNOME offer this sort of integration to a large degree. Larger OSS projects like OpenOffice also offer such integration within themselves.

    I don't really follow the "integration within themselves" point. What good is that? KDE gets it with KParts (or whatever they're calling it these days). Konqueror is like Explorer in Windows. It's essentially a container for KParts/COM, which could be anything from a KWord/MS Word document to a filesystem view to a web browser. That is integration, the ability to interact with different programs in a standardized way (COM's IDispatch interface in Windows, KParts in KDE, even piping in bash). I don't care that I can integrate a chart from a spreadsheet into a document in my word processor. I want to be able to generate that chart programatically from a web page (Office Web Components), script, or application (Office COM integration). I want to be able to hook Word's spell checker for use in my own application (Office COM integration again). I want to have a standardized way of exposing the capabilities of my application so that others may reuse my components with relative ease (COM's IDispath interface again). I can embed IE in my own application (wrapping Gecko isn't as simple, but there's a wrapper that let's me use the exact same code as I would to embed IE to embed Gecko with just a guid change in my code). And I can do all of this without having to reparent windows as in X. That is the integration they're talking about.

    3) The flexibility of Linux does NOT just come from the ability to tweek and recompile the software. Instead it is the fact that you have a lot of pieces that do things well and can easily strung together (by someone know knows the system) into more complex systems. There is no reason I could not write a Perl/GTK program that could take a large number of programs and automate them behind the scenes. For other examples, see FileRoller, SimpleCDR-Tools, and a number of other packages that can make people's lives a lot easier when it comes to Linux. But this is more of a RAD environment than a user environment.

    That same level of flexibility is available in Windows. In fact, in some respects Windows is even better about this. Take a scripting example. In Linux, you have many little executables that all do one thing, and can interact via stdin and stdout. The limitation is that your interaction is limited to text streams. What to grab a certain field out of a ps listing? You can pipe in into awk and grab the right column, but if the input options to ps change the column number might change (or worse, the information may no longer be there). In Windows, automation is done through objects (COM, and soon .NET with Monad). If you want to get a certain field from the process table, you write a little vbscript that instantiates a WMI query object, query for the process you want, and read the field off of the returned process object. It's a different approach that may be unfamiliar to people who've cut their teeth on *nix, but to imply that Linux is more flexible because of piping just shows your ignorance of the Windows way of doing things.

    I'm not saying one approach is better than another (okay, maybe I am -- I like the idea of working with objects rather than parsing text with awk or cut or perl regexps). They're different, but the capabilities are the same. However, as you mentioned, this is more developer-oriented than user-oriented. The average joe user of Windows or Linux (well, maybe not Linux yet, but it's the ultimate goal as I see it) doesn't care that his CD burning tool is a script meshing several discrete applications or a stand-alone program interacting with COM-provided services. All he cares about is that he can easily burn his CDs.

    Given, then, that both Windows and Linux have rich and robust automation capabilities, I'd say that the last remaining win for Linux is exactly what was pointed out in the article -- much of the software (including the kernel) is open source, and thus you could modify and recompile if you so choose.

  2. Re:Half Life 2 and the Rights of Users on Bill Van Buren Talks Half-Life 2 · · Score: 2, Insightful

    The public can be horrably wrong.

    The public can right its horrible wrongs, too.

    The America public tolerated slavery.

    And they fought a war, and declared slavery evil, and have been atoning for it ever since.

    The German public condoned mass murder.

    You assume that the German public knew what was happening. They failed by voting the Nazi party into power, but I doubt even your infinite wisdom would've allowed you to see at the time what would eventually transpire.

    The Islamic public praises the famlies of suicide bombers.

    No, Islamic radicals praise suicide bombers. I really doubt all 1+ billion Muslims in the world (or even a majority of them) believe that suicide bombers are good. But feel free to go on believing that all Muslims are terrorists, while you continue to use your watch, soap, paper, cloth, wind-generated power, telescopes, algebra, glass, etc (Islamic inventions).

    The Japanese public diden't care about the rape of Nanking.

    Again, you're assuming that the Japanese public actually knew what was going on. During war time, there are certain things that happen that may be unsavory in peace-time, but did the Japanese public really know that 80,000 Chinese women and girls were being raped? Probably not.

    The Soviet public watched in silence at millions died.

    Not to belabor the point, but you're assuming that the public always knows what's happening. That's not often the case with respect to these kinds of events.

    The French public enjoyed the fruits of it's Empire.

    And why shouldn't they? Imperialism is a valid form of government. Of course, they did have a nice little revolution (you might remember it from your history classes; it was just a little bit after the American revolution).

    The public likes WalMart, McDonalds, Toyota and Microsoft.

    That's the first time I've ever heard of Wal*Mart, Toyota, or even Microsoft being related to mass murders. But whatever. There's a reason why people like these things:

    • Wal*Mart's prices are exceptionally low. You complain that they drive out local businesses, but it's pure economics. Would you really buy a gallon of milk at $4 from your local mom & pop shop when you could get the exact same milk at Wal*Mart for $2? What if you have a limited income, or you can't get a job above minimum wage? As evil as you think Wal*Mart may be, they're doing nothing but following economic rules -- the firm that can sell its goods at a lower price (while following competitive practices, such as not selling below your cost) will get the business. If other firms can't follow suit on price, it sucks to be them.
    • While McDonald's may not be the height of cuisine, it fills a niche (sadly, a niche that has become all too often the norm) -- decent food at a decent price, quickly. As well, McDonald's has made an attempt to be healthier (better salds and such), while competitors like Burger King and Carl's Jr were launching extremely high calorie menu items.
    • I'm not a huge fan of Japanese cars (for purely selfish reasons -- they just don't "feel" right compared to the German and American vehicles I drive), but Toyota is certainly not evil. Along with Honda, they're the only company really pushing hybrid technology (to the point where many other manufacturers are licensing Toyota's Synergy drive for their own future hybrids). They provide cheap, reliable cars (but are now being beat in this arena by Korean manufacturers like Hyundai and Kia). That American companies like GM can't compete with Toyota or Honda is not the f
  3. Re:I use a firewall to isolate networks on Tear Down the Firewall · · Score: 1

    Without the Windows machine, yes, I could do away with the firewall and maintain a secure network. However, considering that the firewall is easier to operate and maintain by atm least a degree of magnitude and has the added bonus of preventing direct contact with any of the systems behind it, I find the idea of doing away with firewalls faddish at best.

    Again, missed point. Being on Slashdot, and that you said you're using NAT and running Samba, I'm assuming you're using Linux or *BSD on your public IP. Samba (and many other services like apache, sendmail/qmail/postfix/exim, bind, etc) gives you full control over what IP address the services bind to. I'm not suggesting that you get rid of your firewall. All I'm saying is that if you're firewalling because you're concerned that Samba will leak out to the internet, that just means you haven't properly configured Samba. Bind it to your private IP only, and you won't have any open Samba ports on the public IP that need firewalling (you only need to firewall ports that have services behind them, since requests to ports that aren't currently served will do nothing).

    Binding your services to the correct IPs (with the exception of inetd that I already called out -- you're not running Samba from inetd, are you? That's not been recommended for at least five years) is just considered "good sense" while configuring a service. If you don't bind Samba to your public IP and you still firewall those ports, that's not a problem (your firewall will essentially be a no-op). If you did bind Samba to your public IP and that's not the desired behavior, you're better off fixing Samba's configuration than slapping up a duct tape fix of a firewall. ACLs are a different concept than IP binding, and as I mentioned above most services people want to use support binding to specific IPs.

    Finally, your NAT configuration (assuming again no UPnP service running that would allow clients behind the NAT to automatically request forwarded ports, as I mentioned in my first post) is enough to prevent direct access to any machines behind it. In that sense, I'll agree your NAT setup is something of a firewall.

  4. Re:I use a firewall to isolate networks on Tear Down the Firewall · · Score: 1

    So, the services are running so that I can use them from the inside (with any device on the inside, without mucking with ACLs, additional equipment aside from a switch, etc.) without having the services exposed to the outside.

    I think the original poster was asking why you're running these services bound to your publicly accessable IP? Bind them to your private, non-routable intranet IPs, not your public IP, and then you'll have nothing to firewall for that service because it has no public-facing presence. This doesn't work for everything (notably, services spawned by inetd, since inetd a) binds to all IP addresses, and b) is not granular enough to specify which sub-service of the super-daemon is private and which is public), but it will definitely work for your Samba scenario.

    Side-note: You are using NAT to keep your Windows machines private, yes? If your Windows box is sitting right on the internet, you must have a firewall. Behind a NAT (especially without a UPnP Internet Gateway Device that allows internal clients to automatically request port forwarding), you just need to be able to trust your internal machines and users (since I'm the only user on my internal network, I think I can trust me).

  5. Re:let me explain something about longhorn... on Longhorn Beta Begins · · Score: 1

    XP was code-named "Whistler," a large ski mountain north of Redmond.

    Whistler is north of Redmond, but saying it's "north of Redmond" doesn't really do it justice. It's a ski resort (and town) in British Columbia, Canada, north of Vancouver. Pretty cool place, though I hate skiing.

  6. Re:Greasemonkey! on Google to Release Firefox Toolbar · · Score: 1

    FWIW, User JavaScripts is the Opera version of it, and it has a Greasemonkey compatibility mode.

    Yes, I should've mentioned Opera. It's not 100% GM compatible but many GM scripts will work. Here's a page with some Opera-specific scripts (that page also links to the main Opera script repository), including a GM emulation library (implements various GM_* functions, and adds a few hacks for compatibility), but I ran into some implementation issues I documented here, about 2/3rds of the way down the post.

  7. Greasemonkey! on Google to Release Firefox Toolbar · · Score: 2, Interesting

    There's also some page info stuff (possible to emulate with Bookmarklets, but not easy), the PageRank (only the One True Googlebar can do that), and text highlighting (a royal pain with bookmarklets, but the open source toolbar could do that. Besides, Firefox and Opera have inline search, making it unnecessary).

    Meh. All of that and more can be done with Greasemonkey (scripts directory) (Internet Explorer implementation), without the added clutter of Yet Another Toolbar, and without the potential paranoia of a corporation behind it (referring to the crap storm when Google shipped Autolink in the IE toolbar). Greasemonkey is open source, developed by individuals, and each script is just javascript which you can easily inspect before choosing to install in case you're worried about a script "phoning home" to track your browsing. It's also better than bookmarklets because it runs the scripts automatically (you can tell it what urls to include or exclude, if you don't want a script running on every page).

    Finally, once you've installed Greasemonkey or Turnabout (What? You don't already have them installed? For shame!), check out my sig for a script to remove Roland Piquepaille stories from Slashdot.

  8. Re:Why not run a web server on Tivo??? on Peter Seebach Pokes Around His TiVo · · Score: 1

    Yes, *BUT* if you're one of those people with a DirecTiVo, you don't get any of those spiffy things. DirecTV won't allow it. But I really like the integration such units offer -- you just can't match it with a standalone unit. So, hacking becomes a way to GET those features on your DirecTiVo...

    Not being a DirecTV subscriber, I often forget that they have Tivo-based units. It's sad that DirecTV and Tivo can't work better together to provide HMO for DirecTV customers as well as stand-alone customers. I'm assuming that DirecTV is the bottleneck here, since Tivo seems to Get It (tm) with their stand-alone products.

    Now if only they'd get in gear and ship a cheap (sub-$500) digital cable-ready HD-capable Tivo unit, I'd have a reason to upgrade. For now, my Tivo lives in my bedroom with my SDTV, and my HDTV gets the Comcast DVR (fewer fancy features than Tivo, but core functionality is better -- dual tuners, HD recording, and since Tivo's HMO update the Comcast DVR has a more responsive UI).

  9. Re:Why not run a web server on Tivo??? on Peter Seebach Pokes Around His TiVo · · Score: 4, Informative

    Unlike most linux appliance devices, there is aactually a LOT of usefull things that can be done by rinning a web server on Tivo - like remote scheduling/control of the device for one.

    Right, because Tivo doesn't already have that (caveat: requires a Series 2 Tivo that's been upgraded with the now-free HME software, which you should already have from standard updates unless you've specifically hacked your Tivo not to update). You can also watch recordings in multiple rooms (requires a second Tivo, of course), view photos and listen to music, transfer your recordings to your PCs (caveat: with DRM, but what did you expect?), and develop new applets.

    Tivo has been very good about embracing the hacking community (to the extent that they link to external forums from tivo.com that cover hacking), and have stepped up with official, free support for many of the features people were hacking for previously (the previously mentioned remote scheduling, photos, music, multi-room viewing, and PC transfers). They've also provided a nice SDK so you can easily write new Tivo apps using Java. With all of that, I simply don't see any need to hack a Tivo any more aside from increasing drive space (not that hacking will stop, nor should it -- that's where the innovation starts).

  10. Re:Garbage on Windows Software Ugly, Boring & Uninspired · · Score: 1

    I'll admit this is just a nitpick, but why Google FOR a calculator, when Google IS a calculator?

    But can google solve (simple) equations? 2x + 4 = 13, solve for x. Google, MSN Search.

  11. Re:Killer Instinct is Robert Roy Britt? on How Ice Melts · · Score: 1

    Then again, most newspapers just reprint stuff from the AP and other sources. Hmmm.

    When newspapers reprint from AP, Knight Ridder, Reuters, or other wire services, they give attribution. However, there's also a level of trust for wire services, such that if a wire service is referencing another article verbatim, they're expected to quote it. In that respect, Slashdot is similar to a newspaper using wire service articles that reference other articles. Like newspapers, Slashdot gives credit to its direct source (wire services like AP for papers, the submitting user for Slashdot). Unlike newspapers, Slashdot should not assume its contributors have the same level of integrity as a wire service, and thus should check references (or pick a different submission, since I'm sure any story that gets posted also has multiple submissions in the queue, or how would duplicates happen?).

    Slashback can now be used for retractions and appologies for all the mistakes and re-posts of old articles and grammar mistakes and...

    Or they could update the stories directly, as they've done in the past. Print media can't really do this, so they have to print retractions.

  12. Killer Instinct is Robert Roy Britt? on How Ice Melts · · Score: 5, Insightful

    From the article submission:

    Until now, scientists could not explain why ice cubes in your drink melt. They've known the basics, but the details remained elusive. A breakthrough new study, announced yesterday, supports a leading theory that melting starts when the fundamental structure of matter begins to crack. Melting is considered a basic phenomenon in physics. An understanding of how it works is crucial to gaining a firm grasp on the physical world.
    And from the actual article itself:

    Until now, scientists could not explain why ice cubes in your drink melt. They've known the basics, but the details remained elusive.

    A breakthrough new study, announced today, supports a leading theory that melting starts when the fundamental structure of matter begins to crack.

    Melting is considered a basic phenomenon in physics. An understanding of how it works is crucial to gaining a firm grasp on the physical world.

    Those look pretty similar to me! Given that the article submission is word-for-word exactly from the article itself, it's fair to assume that the submitter, Killer Instinct, is the same person as the author of the article, Robert Roy Britt. How else could the same text be attributed to two supposedly different people?

    If you're going to submit an article, summarize it in your own words. If you're just going to paste in the first few sentences of the article, attribute them to the proper author by using a phrase such as, "Quoted from the article: 'insert quote here'." Removing line breaks is not enough to satisfy the "summarize in your own words" criteria.

    Here's an example of what the submission should've looked like if Slashdot cared at all about given proper attribution for written text:

    Killer Instinct writes "Ever wonder how ice melts? From the article: 'Until now, scientists could not explain why ice cubes in your drink melt. They've known the basics, but the details remained elusive. A breakthrough new study, announced yesterday, supports a leading theory that melting starts when the fundamental structure of matter begins to crack. Melting is considered a basic phenomenon in physics. An understanding of how it works is crucial to gaining a firm grasp on the physical world.'"
  13. Re:You forgot... on How to Do Everything with PHP and MySQL · · Score: 5, Interesting

    They aren't the default table type, though.

    Worse than that, if the table type isn't available and you try to use it, MySQL doesn't fail. It'll happily go on, ignoring that you asked for InnoDB tables with ACID compliance, and pretend that it's actually doing something when you ask it to open/commit/rollback a transaction. This is one of those "user friendly" features that really isn't, and MySQL has a bad habit of doing crap like this. If I want a table of a certain type, and that type isn't available, the DDL should cause a failure. It shouldn't succeed silently, choosing a different table type than what I asked for.

    Not to mention the abundance of features that other database systems have, like stored procedures, triggers, views, subselects, etc. Many of those features have not yet made their way into MySQL and may not until 5.1; some have been recently added to production releases; others are still in "5.0" beta.

    Don't forget, implementing those features will make MySQL slow! Real programmers don't need them! Well, not until MySQL implements them, anyway (wait, I thought implementing them would make MySQL slow? They's gots some kind of magic that can keep MySQL fast after implementing features that'll make it slow? Well hot damn!).

    Features come and go, and I have no doubt that the MySQL developers will continue to advance MySQL until it can effectively mimic a real RDBMS. The lack of features is just an additional reason to complain about MySQL. The real reason why Those Who Know Better (tm) give them so much shit is the developers' attitudes, that they think they know so much more than development houses that have spent 20+ years researching and building real RDBMS engines (Oracle, IBM, and even Microsoft). If MySQL developers would've just said something along the lines of, "We understand the importance of foreign keys for proper referential integrity enforcement, but we have other priorities right now and want to make sure that when we do implement foreign keys that we do so in a robust and performant way," I wouldn't have ever had a problem with MySQL lacking foreign key support (just used as an example). Instead, they had an attitude like, "You don't need foreign keys. If we implemented them, they'd slow down MySQL, and besides, if you're a good enough developer you can compensate for the lack of foreign keys in your application code." That attitude earned them the scorn and distrust of anybody who knows anything about RDBMS design and usage.

  14. Re:Great! (Not) on Java to Appear in Next-Gen DVD players · · Score: 3, Informative

    Well, my TIVO has the Linux O/S and it's as slow as christmas. It ain't got anything to do with the UI you idiot, it's the speed of the CPU in the thing.

    In Tivo's case, it actually is Java. The interface used to be very quick and snappy. Then they decided to push the Home Media Option out to all users, and the same quick, responsive UI has now slowed down to a horrible crawl. The hardware didn't change at all, only the software.

    As for the poster making the crack about putting Windows Mobile on a box, Microsoft already has a program with Comcast and Motorola where the HD DVR box Comcast offers uses Microsoft technology. I have no idea if it's WinCE-based or Windows XP Embedded-based, but it's very quick and responsive compared to my now-sluggish Tivo. It doesn't have all of the searching and filtering features of Tivo (I wish it at least had thumbs-up/down), but it has a more responsive UI and records HD streams so I use it much more than my Tivo (relegated to my bedroom TV and a basic cable feed).

  15. Re:Your sig on AI Researchers Produce New Kind of PC Game · · Score: 1

    I'm not sure if I want to read your novel if you can't even spell surprise correctly.

    Or tell the difference between "lose" and "loose", or catch duplicate words/phrases ("I found I found"), or link properly to his own site. Yes, I really want to go and read that novel now.

  16. Re:It could be the default option during install on Windows Users Ignoring LUA Security · · Score: 2, Informative

    IE runs fine with non-elevated privileges (I'm doing it right now). Since a lot of malware takes advantage of vulnerabilities in IE his suggestion would improve security a lot...even if almost every other program was run as an administrator using his method.

    Except that many plugins for IE that people would want to use don't play nicely with non-admin users (think popup blockers, search toolbars, or Turnabout, though to be fair the latest Turnabout code does support non-admin use if you recompile it with an additional flag, and hopefully that will become standard). If apps would simply use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE when writing to the registry and %APPDATA% or %USERPROFILE% (%ALLUSERSPROFILE% is available for shared data) when writing to the filesystem, 99% of all non-admin problems would be solved.

    Microsoft has published the guidelines on how to do this for over five years. It's now 2005 and programs still don't follow those guidelines. What should Microsoft do?

    They've done more than just passively publish guidelines. Non-admin support is part of the winxp/win2k3 logo program requirements. However, the worst abusers of admin rights are those apps that aren't logo-certified and never will be -- budget shovelware software, personal projects, and often open source software (not because the authors don't understand the least-privilege principle, but because they often come from a non-Windows background and don't know how to write least-privilege-safe software on the Windows platform, and often don't even care). Maybe Microsoft should make the default user non-admin. They already have several elevated-right groups that are still non-admin (Power Users, for example). The thing is, most people don't install Windows themselves. What's it matter what Microsoft does to the installer when the assembler of your PC pre-installs windows with a default user as admin anyway?

  17. Re:Pictures of the Oslo/Norway isnt' too good. on Google Adds Satellite Imagery for the World · · Score: 3, Interesting

    It's not just Oslo. Google has low resolution images for much of the United States as well. For example, I went clicking around for some well-known race tracks (and my local track, not so well-known). Here's what I came up with:

    • Pacific Raceways. Very good data, nice resolution, can easily make out the track. Scroll the map right to see the rest of the track (turns 7, 8, and 9).
    • Portland International Raceway. Also very good detail. You can easily make out the optional Festival Curves (the lighter-colored kink on the front straight, the southwestern portion of the track).
    • Mazda Laguna Seca. Horrible resolution. Close the little pin bubble if it's open when you click the link, and then look at the white and blue blob near the top of the window. That's Laguna Seca. Horrible.
    • Road America. No better than Laguna Seca. Possibly worse, since you can't easily make out where the track is. If you look at the map, there's a highway (67) to the right of the two lakes. It heads south-southeast, makes a sharp kink to south-east, and has a smooth curve to south. If you look closely under the kink, that's Road America.
    The sad thing is that this data is actually available from TerraServer, though it's mostly in black and white and is relatively old (Road America is 1992 and Laguna Seca is 1998). Also, TerraServer is not all AJAXy (I hate that name), so navigating the maps is more painful. That said, the data is there, and good.
    • Mazda Laguna Seca. You can easily make out all of the track features, including the infamous corkscrew.
    • Road America. Zoom out to get a better idea of where it's at in relation to Highway 67 if you want to try to locate it on the Google map.
  18. Re:whoosh! on Next-gen Windows Command Line Shell Now in Beta · · Score: 1

    With Monad, I just have to remember the names of the fields of the process object instead of "$8" and "vOr".

    You don't even have to do that, since Monad objects are discoverable. Run "get-process | get-member", and you'll get the type of object that get-process returns (System.Diagnostic.Process) as well as all of the properties and methods available on that object. Don't remember if it's VirtualMemory or VirtualMemorySize? Use get-member. It's no different than using "man ps" to figure out what options you can pass to ps, but because it's exposing .NET objects you may already be familiar with the System.Diagnostic.Process type from your other code.

  19. Re: No Thanks on Next-gen Windows Command Line Shell Now in Beta · · Score: 2, Interesting

    Wow, that sounds much easier than the UNIX way....

    Nobody said it was easier than the UNIX way, though for day-to-day operations it shouldn't be any more difficult. Where you'd find yourself writing a bash, perl, or python script in *nix, you'd write a msh script in Monad. Where you'd find yourself needing to write an actual application to do some work (think ps or grep), you'd write a cmdlet as a .NET assembly (or even write another msh script). The difference is in how much more powerful MSH scripting is because it pipelines objects rather than arbitrary strings. As has already been pointed out, you don't have to rely on awk or cut to parse out fields you care about (assuming they're even there -- you can't write a generic awk or cut script for various input, because the fields may be different across your different input streams). As well, because these are objects being pipelined, you can run methods on them directly.

    Take the example of killing a certain process (let's ignore the killall app for now). In *nix shell scripting, you have to call ps, then parse the output with something like awk to match the right process name and retrieve the pid, and then run kill with that pid. You can't make the processing chain generic, because ps gives you different fields in different orders depending on the options you provide. In Monad, you call get-process (which is aliased as ps), filter the output with where-object (aliased as where) to find the $_.ProcessName -eq "your process", and call the resulting object's Kill method. In such a trivial example, there's no reason to make the processing chain generic, but you could write a function that takes a System.Diagnostics.Process object and does whatever it wants to it. Then you can use that function with anything that will give you a System.Diagnostics.Process object. It doesn't matter what the output looks like (by default, get-process displays Handles, Non-Paged Memory, Paged Memory, Working Set, Virtual Memory Size, CPU percentage, and Process Name, but there are many more properties and methods available to you), because you're getting the object, not the textual representation as you would in *nix.

    As many have already said: Those who do not understand Unix are condemned to reinvent it, poorly

    You assume they're trying to reinvent *nix, rather than build something better. The core idea of pipelining objects may not be unique, but it's a very powerful concept and it's something that *nix simply doesn't have right now. You can dismiss this all you like, that's fine. I'd suggest you at least take some time and play with the beta first, so that you can make a truly informed opinion before dismissing it entirely.

    As an example of the power of Monad, consider that a wget-like cmdlet has been written (get-url, not part of the basic set of cmdlets available with Monad, but it shouldn't be too hard to find the script on the beta newsgroups), in 40 lines of well-formatted script (ie, including empty lines, brackets on separate lines, etc -- compress it, and it's even less lines of code). It doesn't have all of the options of wget, but the capability is there, and it gives a good example of what you could do with a little bit of scripting. Now consider that Monad can easily transform output to xml, and you can use get-url, Monad's XML support, and a bit of pipelining to write an RSS reader in a trivially few lines of script. I'm not going to claim that python or perl couldn't do that just as well. That's not the point.

  20. Re:Monad? on Next-gen Windows Command Line Shell Now in Beta · · Score: 1

    I'm not sure where they got that name from, the beta site has displayed "Microsoft Command Shell" since it was put up a long time ago. Anyone know where the name Monad comes from?

    It's an internal codename, like Whistler (shipped as Windows XP), Everett (shipped as Visual Studio .NET 2003), or Yukon (will ship as "SQL Server XXXX" where "XXXX" is some year, probably 2005 or 2006). You can bet that when it ships the name Monad will be completely gone except in the minds of the users (people still use "Everett" to distinguish Visual Studio .NET 2003 and .NET 1.1 from the upcoming "Whidbey" release, or Visual Studio 2005 and .NET 2.0).

  21. Re:whoosh! on Next-gen Windows Command Line Shell Now in Beta · · Score: 1

    In the above, that would require cooperative changes to both the Bash and Awk languages, but the idea is theoretically possible and we wouldn't have to give up a lot of the finer aspects of the Unix shell either.

    Don't forget that you'd also have to change ps. The fundamental difference is that Monad cmdlets are returning objects already, and it's the shell (of which msh.exe is simply one implementation -- implementing your own shell over the Monad core is fairly trivial) that does display (I believe objects can now tell you what their default display properties are, but this may still be a function of the shell). Going back to the ps example, there's data available to you when you run 'ps waux' that's simply not there at all when you run 'ps' or 'ps vOr'. In a Monad-like system, the 'waux' or 'vOr' parameters to ps would not affect the data output, but only the formatting (in Monad's case, you'd pipe this through a formatting cmdlet). What gets passed to awk would be the data stream, not the representation stream that gets passed to the host (the shell in this case, or whatever's consuming the Monad core).

    While the concept of passing objects can be implemented by passing serializable strings, it's a pretty fundamental change that would touch the entire system if done properly. In that light, it does make sense that the Monad project has previously given a 3-5 year timeframe to completion (I'm assuming that 3-5 year countdown started ~2 years ago).

  22. Re:whoosh! on Next-gen Windows Command Line Shell Now in Beta · · Score: 1

    If you absolutely -must- sort out those that have less than n mem usage, try $ ps vOr | awk '{if ($8 > 15000) print $_ }'

    You just proved the point of the grandparent. To do any special filtering on your ps output, you have to parse it. Field 8 is not always going to be the same depending on the parameters I pass in to ps (if I pass nothing, ps only gives me 4 fields back; if I pass "waux", I get 11 fields back but the one I want that corresponds to the "vOr" output is now field 6 rather than 8). In Monad/MSH, as the grandparent pointed out, virtual memory size is always the property VirtualMemorySize on objects returned from get-process. More importantly, it doesn't matter whether or not VirtualMemorySize is in the actual display string. Monad pipes objects, not formatted text output. That means that while you may not see VirtualMemorySize by default when you call get-process, it's still available to you when you pipe the output, because you're piping a collection of objects containing information about the process table. Interestingly, as long as you're using cmdlets, your actions in the shell don't affect the process list. That means that if I'm grepping for something in the process list, I can be sure that I'll never find a "grep something" process to screw up my search (yes, there are ways to filter that out, but why should I have to?).

    If you're so concerned about command length, you can use the default alias 'ps' for get-process. The grandparent already used the 'where' alias for where-object. If that's not enough, you can build a very simple function or cmdlet in script that is very easy to type. In other words, if the only metric you have to measure a shell or scripting language is keystroke efficiency, you're probably not the target audience (or you're just not willing to give anything non-*nix a chance and thus have to grasp at whatever straws you can find to validate your own choices).

  23. Re: No Thanks on Next-gen Windows Command Line Shell Now in Beta · · Score: 1, Informative

    Monad looks to have lots of hooks into the Windows kernel and various low level functions that simply aren't available as an independent utility.

    What? MSH has absolutely nothing to do with the Windows kernel. Perhaps you've mistaken its "native" access to things like the registry as "hooks into the Windows kernel". That functionality is not "built-in", but available through a default set of "providers". You can write your own provider to add new functionality. Similarly, most of the functionality of the shell itself is not built-in, but provided by a bunch of default cmdlets (small bits of code either provided in a .NET assembly or even written as a MSH script that perform some task). Where in unix you'd write an application like grep or a small script to process some data, in MSH you'd write a cmdlet. Like unix providing you many useful bits by default like grep, awk, cut, or sed, MSH provides a bunch of useful cmdlets by default like select-object, where-object, or sort-object.

    Off-topic about names: Monad/MSH follows a "verb-noun" standard. Thus what would be "sort" in unix is "sort-object" in MSH (beause it "sorts" a bunch of "objects"). As many others have pointed out, you can use aliases to make these names shorter (MSH ships with a bunch of default aliases to provide both dos-like and unix-like functionality).

  24. Re:First impressions on Next-gen Windows Command Line Shell Now in Beta · · Score: 1

    Then use ps, it's a built-in alias for get-process.

    "Built-in" by being set in the default profile.msh, sure. If you want to use ps for something else, you can always remove the default aliasing. Sort of like how many linux distros give you a "built-in" alias like 'll' for 'ls -l'. It's not built-in, but a convenience alias added by default that you can get rid of later if you like.

  25. Re:Screw em on Amazon's Special Thank-You · · Score: 1

    yes, kudos for instead of supporting a big mean comgomerate like Amazon, you support your local Barnes and Noble and drinking your locally licensed Starbucks coffee and local Wifi provider. I actually suggest if you are in the Seattle area, go shop at the University Bookstore, as they have free Wifi, free shipping, and their coffee is only sort of made by starbucks. Also 10% back if you are alumni.

    Ah, you've mistaken me for an anti-corporate hippy. I could see how you could come to that conclusion based on my post, but you're wrong. I don't give a shit about any of that crap. My decision to buy locally is based solely on convenience for me. I drink Starbucks (but I don't use their wireless -- it's too expensive, and I'm never there long enough or often enough to justify the cost; when I am there, I want to relax and read a book with my coffee, not surf the web or do work), I buy books at Barnes and Noble, I shop at Safeway (or QFC, because there's one closer to my home than Safeway), I run Microsoft software, big damn deal.

    That said, most of my book buying is done at Third Place Books, which is not a big corporate chain of bookstores. However, I will note that my decision to buy books there revolves completely around convenience -- they're closer to my house than Barnes and Noble or Borders. If B&N or Borders was more convenient, I'd shop there instead. I'm not going to inconvience myself to avoid buying goods and services from big, bad corporations.

    I have been to the University Bookstore branch in Bellevue. The selection just wasn't compelling enough to waste my time going to downtown Bellevue, nevermind crossing the water to their U. district location.