Domain: die.net
Stories and comments across the archive that link to die.net.
Comments · 326
-
Re:No, Ulrich Drepper's response was appropriate
Did you actually read #3? strfry() is a joke function, an silly Easter egg that had been included in Glibc since time immemorial and unfortunately cannot be removed for fear of breaking compatibility.
Anyone with half a brain can see that fixing "bugs" in ancient Easter eggs is a waste of developers' time. If I were in Ulrich Drepper's position, my response would be similar to his, but with more insults.
Funny, the function's man page doesn't say it's a joke. Nor does it warn developers that the function is deprecated. As long as this is a documented, non-deprecated function _it should work_. And when you have somebody submit a patch to fix a potential issue with it, you don't insult them. That's just good manners.
-
Re:Scary that they sold the disk at allthe shred man page specifically says that it is ineffective on journaling file systems. From TFMP:
CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: * log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)
-
Re:Sun missed the x86 boat, yes
The failure to see the cost effectiveness afforded by the massive volumes of x86 chips Intel was turning out is all the more damning considering the main reason they had become the dominant unix workstation vendor wasn't that their hardware or software was leagues ahead of their competitors, but rather that they were cheaper.
Funny, while I wasn't buying hardware back then, I don't remember SUNs being that much cheaper than Apollos or DG M88K boxes. Sure SGI MIPS boxes were more expensive because of all the 3D hardware but they were going for a niche market. I think SUN had mind share from early mover advantage with SUN 2s and SUN 3s, and then I think the SPARC speeds initially scaled better than a lot of that early competition. Another factor was that their resellers didn't seem to under-spec for proposals as badly as some of their competitors, so they had better customer referrals. They weren't cheaper until they had to cut prices when they had to go up against IBM Power, HP-PA and DEC Alpha boxes that, performance-wise, were stomping all over the contemporary versions of SPARC.
Unless you're talking about them out-competing minis like Burroughs, DG Novas and DEC Vaxen? But that was like shooting fish in a barrel. Nothing survived the attack of the Killer micros
-
Re:Burn 'em!
-
Re:Grok?
I'm afraid not. The word you're thinking of is grog, which itself is a shortened version of "grogram".
http://en.wikipedia.org/wiki/Grog
Grogram if a form of fabric - follow the link for more info.
http://dictionary.die.net/grogram
The way I heard it, which there is a bit of corroboration out on the net, is that an admiral who used to water down the rum. He was known as Old Grogram due to his preference for clothing of that fabric.
http://en.wikipedia.org/wiki/Edward_Vernon
Turn in ye pirate badge, me hearty!
-
Re:How about the followup?
http://linux.die.net/man/1/tac
It's pretty standard.
-
Re:The biggest problem with Lynx...
You can download the CAPTCHA images and view them externally, for example in fbi: http://linux.die.net/man/1/fbi
-
Re:This is incorrect
Uh, you are aware of how fork() worked back in the day, right? When I started using it it didn't even use copy-on-write, the child process shared the same page tables as it's parent.
Well we must have been using different flavors of unix... The old unix systems I used, that predated COW, actually made physical copies of the process. That was _REALLY_ slow. COW was a huge improvement over that. I remember writing lots of code which manually managed shared memory segments between processes in order to implement process memory sharing, which wasn't the default behavior. Now I just spawn a thread and life is much better.
Clone the page tables, flag the pages as COW and you're pretty much there. In fact, as I noted, if you look in for instance Linux fork() and pthread_create() are in fact both simply thin wrappers that call the underlying clone() function.
Uh, on most machines dinking with the page tables is very expensive due to TLB flushing. Later if you actually access any of those COW pages the page faults and physical memory copies are also quite expensive. That is why thread creation is so much faster, it doesn't have to mess with the process address space. Also, if you notice http://linux.die.net/man/2/clone the clone system call has a bunch of flags which control what is "cloned". Depending on what flags you set varies how heavy it is. Linux hasn't exactly done this in the most efficient manner in the past, and hence the performance problems in the past. I haven't benchmarked it recently, but a couple of years ago, linux thread creation was significantly faster than fork() I assume that is still true, I expect that the performance difference has probably gotten even larger.
-
The madness
All those fancy cell cores with their gigahertzes and gigaflops, the hdd with its gigabytes and then bluray, just to play a game of Hunt the Wumpus! Hunt in shiny HD ascii!
-
Re:CD-R DVD-R media failure
*sigh* You really are a pedantic tosser. Try this definition, or this one.
-
Re:Oh, that's what made Vista fail!?
-
Re:I know...
Oh, really? Or perhaps you were trying to make a joke.
-
why not use a standard C library function instead?
There's a standard library function that performs the required functionality, see: http://linux.die.net/man/3/localtime . I think there's only one (good) excuse to do time-related calculations directly "by hand" rather than through a standard library function: It is only justified if the standard library is unavailable. But since this library, as its name suggests, is in fact _standard_ (in Windows and Unix variants alike), such situations are not that frequent...
-
Re:Televise?
Your computer is a television in that it allows you to view moving images transmitted over a distance:P
I don't even know what a computer is! This thing in front of me is clearly a TV typewriter.
-
Re:Your "American" car is full of Chinese stuff
http://dictionary.die.net/gunnel
They're interchangeable. -
Re:Memory exists to be used
A really clever OS whould have a way for the disk indexer to say do not cache this data as I am doing sequential i/o like the madvise system call under Linux/Unix - http://linux.die.net/man/2/madvise
"MADV_SEQUENTIAL
Expect page references in sequential order. (Hence, pages in the given range can be aggressively read ahead, and may be freed soon after they are accessed.) " -
Re:You mean physical memory right :-)
Just haven't gotten the wifi to work yet (1 week).
Have you tried NDISWrapper?
You can install it through Synaptic, the graphical package installation program.
You'll need a Windows XP driver (some others might work, too, but XP is the best one to try first, in my experience) for your wireless card, and it needs to be in a zip file or similar (that is, not a
.exe installer, since you need access to the installation files).Unzip the drivers to a folder. Make sure there's at least one
.inf file in it, and if there's more than one, figure out which one looks like it's for your card (sometimes they put drivers for several different ones in a single archive)Open a console. You will be typing just two commands:
sudo ndiswrapper -i
/path/to/the/driver.inf
sudo ndiswrapper -mThe first command installs the driver, the second sets it to start at boot.
If it still doesn't work after a reboot, make sure you've got the right driver, and maybe try one for another version of Windows. Some just won't work period, but many (most?) will.
You can look at the man page for ndiswrapper if you need more info.
If you need extra info on your wireless card to help you find the Windows driver, try the command "lspci" at the command line, your card should be somewhere on the resulting list of hardware.
-
Re:Job control. - IO
Most people doesn't about it yet, but ionice is a life saver on io bounded tasks (as oposed to nice in cpu bounded tasks).
That's probably because most distributions does not enable it in the kernel yet.
-rsd
-
Betcha didn't think the AC would know!
readcd -c2scan
You'll need a drive that supports such a scan, although that's true for any such utility.
The best part is you don't even need an md5sum, par, or anything like that. The verification is built right into the disc.
-
Re:Show attached block devices
blockdev --report
/dev/* | moreHmm, doesn't seem to work here (Ubuntu 8.04). But on a modern Linux system, you can just ls
/dev/* to find out what devices are attached, since /dev is dynamically populated. I find blktool handy to find out more about block devices:$ sudo blktool
/dev/sda id
scsi-version: 5
vendor-id: ATA
product-id: ST3160815AS
product-rev: 3.AD
device-type: direct-access
sectors: 312500000
sector-size: 512 -
Re:What Has Changed?
The disk devices, as presented by the Linux kernel, are block devices and they go through the buffer cache. If you want (on Linux) to access a block device as a raw device, you should use the raw(8) command to bind the block device to a raw device, and then you have to obey alignment restrictions (much unlike various Unixen raw devices, available by default).
But in no OS (that I've seen and differentiates between raw and block devices) raw devices can be mounted.
-
Re:Clock can run in reverse.
-
Run your own servers.
1) Install and DNS server that supports what is technically called 'dynamic updates' and make sure that the updates can be authorized by keys. This server will be internal.
2) man nsupdate
Here, I'll even do this step for you: http://linux.die.net/man/8/nsupdate3) Set the public facing DNS servers to transfer the zones from your internal DNS server.
4) Tada.
Using ISC BIND, I've setup my zones in a similar fashion. I configured the zone update authorization to be key based instead of IP based.
nsupdate uses no special magic, just RFC based standards to allow zone updates. If nsupdate doesn't fit your bill (and it should, it allows you to batch updates and send them), you can roll your own.
Keep in mind that 'dynamic update' doesn't mean 'low TTL value.' You can set it to whatever you please, it just means that you can updates records without any special zone magic.
-
DIE.NET
I use www.die.net for my linux/C ref needs.
-
Re:Um, it's really a red herring
aren't as fine-grained as they could be
See clone(2). Every significant resource related to a process is selectable when spawning a new thread of execution. pthread_create() and fork() are both implemented in terms of clone(). You may invent you're own mix of shared or copied bits according to your specific needs.
Naturally the Windows case is far less general. First, clone() is too short. MinimumWindowsAPISymbolLengthIs(12). There is no fork(). This makes porting fun; see perl, cygwin, et al.
The design intent of Google's Chrome is, simply put, scalability. That's why they focus on Javascript performance; the faster that goes the larger the domain of possible applications. Separate processes mean fault tolerance and privilege isolation, important for long lived native operations doing privileged stuff. Ultimately you figure out the browser is sufficient for the entire GUI. When that happens using concurrent processes instead of threads becomes a requirement.
-
Autoexec
How about the minor detail that their Windows has autoexec on? Or that it doesn't have noexec as a mount option? Linux does.
-
Re:From an experienced Admin's perspective
- SMF. Being able to start services in a dependency tree is excellent if you have a multi-processor machine. And having services self-heal, including restarting any dependencies, is good for things like mail servers that use a lot of flakey milters.
sounds nice, and seems doable with scripts. i'll look around if there's something like that.
- Zones. Because sometimes full-blown virtualisation is too much like hard work.
OpenVZ should be comparable, but i find KVM better suited to my needs. BTW, can Solaris Zones migrate from one box to another? i don't think OpenVZ can, but might be wrong.
- There's probably a Linux equivalent of rcapd, to limit the physical memory use of particular groups of processes, but I've never found one.
don't know of any either, but i really think it should be some way to do it.
- There's probably a Linux equivalent of processor sets, CPU shares and the Fair Shares Scheduler, but again I've never found one.
taskset works very nice with nice and ionice to manage KVM guests.
-
Re:From an experienced Admin's perspective
- SMF. Being able to start services in a dependency tree is excellent if you have a multi-processor machine. And having services self-heal, including restarting any dependencies, is good for things like mail servers that use a lot of flakey milters.
sounds nice, and seems doable with scripts. i'll look around if there's something like that.
- Zones. Because sometimes full-blown virtualisation is too much like hard work.
OpenVZ should be comparable, but i find KVM better suited to my needs. BTW, can Solaris Zones migrate from one box to another? i don't think OpenVZ can, but might be wrong.
- There's probably a Linux equivalent of rcapd, to limit the physical memory use of particular groups of processes, but I've never found one.
don't know of any either, but i really think it should be some way to do it.
- There's probably a Linux equivalent of processor sets, CPU shares and the Fair Shares Scheduler, but again I've never found one.
taskset works very nice with nice and ionice to manage KVM guests.
-
Re:From an experienced Admin's perspective
- SMF. Being able to start services in a dependency tree is excellent if you have a multi-processor machine. And having services self-heal, including restarting any dependencies, is good for things like mail servers that use a lot of flakey milters.
sounds nice, and seems doable with scripts. i'll look around if there's something like that.
- Zones. Because sometimes full-blown virtualisation is too much like hard work.
OpenVZ should be comparable, but i find KVM better suited to my needs. BTW, can Solaris Zones migrate from one box to another? i don't think OpenVZ can, but might be wrong.
- There's probably a Linux equivalent of rcapd, to limit the physical memory use of particular groups of processes, but I've never found one.
don't know of any either, but i really think it should be some way to do it.
- There's probably a Linux equivalent of processor sets, CPU shares and the Fair Shares Scheduler, but again I've never found one.
taskset works very nice with nice and ionice to manage KVM guests.
-
Re:Debian minimal bootstrap
It's actually not quiet so hard, the main command you use to get connected to an access point is iwconfig. You use iwlist scan to search for wifi networks and connect using iwconfig INTERFACE essid WIFI-NAME key NETWORK-KEY. For example, an example would be iwconfig eth1 essid brianhome key 1654513490. Once connected, you'd use ifconfig or dhclient to establish an IP address. Continuing from the previous example, you would use dhclient eth1 for DHCP.
-
jumping on the band wagon.
Ok, maybe it's just me, but when I see accomplishments such as "Gartner Fellow" bandied about, I tend to think "Mindless Drivel"
I skimmed the article. I may have missed a clause where the entire interview was taken downwind of a chemical plant. However...
Citing the announced Wii Motionplus dongle? Really? We were all ignoring things like the gyromouse and other presentation devices/gimmicks for years because all us desk slaves just didn't have the accuracy we would need that a couple extra accelerometers would afford us?
Facial recognition? That deserves a big "whiskey tango foxtrot", as the only thing I've heard of that is for authentication (granted, it tends to get foiled by showing the camera a picture, but that's a different argument) This is a replacement for the mouse, how?
Touchscreens..because pen computing begat tablet computing begat whatever this new thing is. Did someone fix the problem of gorilla arm and forget to inform the rest of the world? -
Re:Real writeable NTFS?
"Many larger USB drives are shipping with this pre-installed, so true write support is needed in the kernel."
Another thing that would work was if Linux had some kind of tool to reformat a partition in the format of the users choice. Then Linux will be really powerful!
...
;-) -
Re:Simpson Characters
My personal home network uses bladed weapons (scimitar, dagger, etc.), and where I used to work used Tolkien names (the major internal routers were named after crossroads in Middle Earth, etc.).
The best part was the machine at home that did the VPN connection to work...it was named "Bilbo". See here for how this fits in with both naming conventions.
-
Re:Coke II
Oh, if only there were a "+1, Sadly Hilarious" moderation.
No shit. The "it's all in the database" is the modern equivalent of 80-column mind.
Not that databases aren't neat, but there are a lot of people out there calling themselves programmers that couldn't build squat without an SQL interpreter involved. One of my favorite interview questions is, "Ok, now how would you design that without MySQL?" People make the funniest faces.
-
Re:Love C++, but it still sucks...
* No standardized pragmas
Pragmas were meant to be OS and compiler specific. If your OS or compiler doesn't provide a standard then it's the language is not at fault.* Macros after-thought and not type safe
Macros weren't meant to be type safe. You should use templates if you need type safety.* No 24, and 32 bit (unicode) chars
What about std::wstring and cwchar?* Still has float / double crap, instead of being properly deprecated and f32, f64, f80 used instead * Still has short / long crap, instead of being properly deprecated, and i8, i16, i32, i64, i128, u8, etc...
Use cstdint and cfloat* No distinction between typedefs and aliases * Inconsistent left-to-right declarations
I don't have much experience with those in C++ so maybe someone else should elaborate. Could you provide examples where these two would be a problem?* Compilers still limited to ASCII source
This is true but hard-coding unicode strings is considered a no-no.* No binary constant prefix (even octal has one?!)
This is true.* No standard way to assign NaN, +Inf, -Inf to floating point constants at compile time
Standard since C99. -
Re:Love C++, but it still sucks...
* No standardized pragmas
Pragmas were meant to be OS and compiler specific. If your OS or compiler doesn't provide a standard then it's the language is not at fault.* Macros after-thought and not type safe
Macros weren't meant to be type safe. You should use templates if you need type safety.* No 24, and 32 bit (unicode) chars
What about std::wstring and cwchar?* Still has float / double crap, instead of being properly deprecated and f32, f64, f80 used instead * Still has short / long crap, instead of being properly deprecated, and i8, i16, i32, i64, i128, u8, etc...
Use cstdint and cfloat* No distinction between typedefs and aliases * Inconsistent left-to-right declarations
I don't have much experience with those in C++ so maybe someone else should elaborate. Could you provide examples where these two would be a problem?* Compilers still limited to ASCII source
This is true but hard-coding unicode strings is considered a no-no.* No binary constant prefix (even octal has one?!)
This is true.* No standard way to assign NaN, +Inf, -Inf to floating point constants at compile time
Standard since C99. -
RAID-6 vs. RAID-Z2
It's interesting to note that the ZFS monitors don't seem to recover until the gentleman unplugs the failed drive. Is this a bug with ZFS, and has it been fixed?
RAID-6 & RAID-DP can also survive a dual-drive sledgehammer failure. The Linux MD Driver supports RAID-6.
How does Sun's RAID-Z2 distinguish itself from these existing implementations? -
Re:Fixed
I'll bet it's more frequently used for sed (i.e., ed for streams) nowadays, since that's more friendly for scripting.
-
Re:Fixed
Sure. "s/obscene/dissenting/g" means "everywhere you see 'obscene', substitute 'dissenting'". It's the syntax of the Unix ed text editor; see this page for details.
-
Re:Message to people who gripe about interfaces
First, let's define 'intuitive':
http://dictionary.die.net/intuitive
intuitive
adj 1: spontaneously derived from or prompted by a natural
tendency; "an intuitive revulsion"
2: obtained through intuition rather than from reasoning or
observation [syn: nonrational, visceral]
What part of that suggests that learning it first is involved? Note that it specifically says that reasoning and observation are -not- involved.
Now let's ignore that and use your definition anyhow, since the computer world uses it more like you've defined than the actual word means.
Blender's UI takes extensive training to learn and requires memorized steps for everything. In most 3D apps, you can apply a texture to an object very easily. It's under a menu item or on a panel that is clearly labeled for texturing. On Blender, it's hidden away under some obscure panels and (if I remember correctly) you need to visit 3 different poorly-labeled panels to import and apply a texture.
I'll give you that once you grasp the conceptual idea in a certain UI that the -rest- of the UI seems intuitive. But you can't apply the label 'intuitive' to a UI that has a new concept that must be taught. Once the general populace has learned that concept, UIs created after that point can barely be labeled intuitive. To be truly intuitive, the concept must be grasped immediately upon seeing the UI. That is an interface that is truly intuitive.
If Blender has a concept, nobody has ever found it and wrote about it, though. -
Re:Are the trademarks in question really generic?
Oh, and here in Spain we call them coches (and autos too, by the way). Auto is a longstanding synonym for car, so auto trader is a generic term.
-
Re:These may be what you call
Throes, dude, throes. http://dictionary.die.net/death%20throe
-
Re:biased enforcement
Your english translation of the swedish phrase is way, way off. "Sexuella abnormiteter", is just what it says, Sexual abnormities, or even sexual perversions. So the DA wanted to sentence a preacher for saying that Sexual abnormities is a deep tumour on society, to four years imprisonment. The highest court in sweden freed the man with a statment saying -We would like to imprison him, however, we can not, for the EU court would free him.
-
Re:The advantage of dual-core...
Well, imo? Not really - how does "pervasive message passing" function as a COMPLETE OPPOSITE, in terms of design
It doesn't. I will give this one more try...
"Pervasive message passing" is a feature of language, or the framework. It's like object-orientedness, or garbage collection. It's a property of the tool.
"Coarse multithreading", as you've explained it, is a methodology. So is "fine-grained multithreading". These are like, oh, model-view-controller. You can implement model-view-controller with an object-oriented language, or, if you really want, you can implement it in a purely-functional language (like Haskell), or in a language without even a concept of a subroutine (BASIC with GOTOs), etc... you can do it in a language with garbage collection or without...
What's more, "coarse" and "fine-grained" are relative and a matter of opinion. How do you define a "task"? And keep in mind that while having thousands of threads sounds like "fine-grained", they are not sharing data, except by passing messages back and forth...
This is all & again: IF NO CHANGES ARE MADE? This NEVER happens, period.
Exactly.
Threads additionally (again), are much "lighter" to instance, than an entire process (as forking does, vs. spawning extra threads).
Sigh...
Apparently, you still don't get it, even though you just tried to explain copy-on-write to me. fork() on Linux is implemented as copy-on-write, and has very little overhead. Linux sees threads and processes as essentially the same thing.
The overhead of using processes instead of threads is pretty much irrelevant, especially if you were going to use message-passing in the threads, even moreso if you're intentionally doing "coarse multithreading". Of course, you could also use shared memory between processes.
And yes, all of this is Linux-specific. Forking a process on Windows is much slower.
A few - but, the point is NOT so much about them
No, the point is that, originally, I said that I would not see any real improvement if I had a quad-core system instead of dual-core.
it's more about what happens when you have a "CPU Hog" of an app...
You seem to be operating in a fantasy world where:
- I have more than one app that wants to saturate a core
- I do not have the ability to set the priority of these apps lower
- I absolutely need my one app to run at 100% of that one core, rather than 90% of it. (Especially ludicrous as you keep bringing up Amarok -- if Amarok is using 100% CPU because of a bug, forcing it to use 90% isn't going to cause problems.)
- I was saying that dual-core is actually useless to me -- it's not. It just means I don't have to do item #2, above.
I never said or implied that multicore would never be usable, or that it was useless to everyone. I was merely speculating that most people are probably in the same situation I am.
Furthermore, most of the points you bring up, I knew, but didn't think they were relevant to the discussion. Had you been paying attention, you might have noticed that I was specifically making a statement about how completely irrelevant the deep technical details are to the point of whether dual-core is useful to the general population -- most people I know would never notice a machine they were using was dual-core until you pointed it out to them.
-
Re:Oh dear God...Makes me wonder what a '+1 whinny' would do to ones soul?
Perhaps it makes one's soul sound like a horse.
-
Re:Bad news for a lot of usThere's a lot of mail admins out there - and a lot who consider a quick & dirty mail relay running Linux and ClamAV to be a pretty good first line of defense against email-borne trojans and virii. Seeing as ClamAV doesn't have a daemon mode, and end users in any large organisation can seldom be trusted to run their own AV scans as required[1] that's pretty much the biggest use for it.
ClamAV does have a daemon mode. Are you thinking of a local Windows client? Realtime filesystem scanning?
-
Re:sun renewable?
In the second sentence of my first post on this tangent I said "A renewable resource is one that we humans can currently cause to be renewed through our own actions" so your assertion that I didn't make it clear is without merit. Also here's a common definition of renewable for you "capable of being renewed; replaceable." that appears at both http://dictionary.die.net/renewable and http://www.wordreference.com/definition/renewable
-
Links
-
Re:I'm stumped. Was that supposed to be a
revelation, or an apple-ation?
http://dict.die.net/appellation/ -
In case anyone was wondering...
The tagging beta includes the word sopwith, a reference to "Sopwith Camel", a game I used to place on an 8086 box as a kid
:). Your goal was to drop bombs on ground targets in a simplistic side-scroller sort of map. You can install a modern-day Linux version (pretty close to the original) by doing "sudo apt-get install sopwith" on Debian-based distros.
Maybe not as much fun as dropping real bombs out of a supersonic jet, but pretty darn close :).