Domain: die.net
Stories and comments across the archive that link to die.net.
Comments · 326
-
Re:But are they really?
Adjustable-height monitors still exist, too. I just bought a replacement stand for mine last year that has both height and rotate. For $50.
They are not as common as they were when larger flatscreens first hit the market.
Anyway, that isn't the "screen height" the article refers to, which you would know if you had RTFA. It refers to the terminal height; you know, columns x rows/lines? Standard "screen height" is 24 lines but you can customize your terminal session to page by varying numbers of rows/lines.
Good starting points:
http://linux.die.net/man/1/setterm
http://linux.die.net/man/1/xterm
http://www.linuxquestions.org/questions/linux-general-1/console-resolution-vga-values-432910/ -
Re:Kind of silly.
Shredding a harddrive, the linux way: http://linux.die.net/man/1/shred (shred
/dev/sdx)
It's for the paranoid, that think after writing everything with zeros some data can be recovered (which I think is impossible) -
Realtime Light polution map of the earth
You can see a real-time light polution map here http://www.die.net/earth/?zoom=1
-
Re:IPv6 sucks
they created an entirely new and huge problem (destroying SIOCGIFCONF backwards compat hurt IPV6 deployment in operating systems on a massive scale) by not making their sockaddr be a power of 2 in size.
I still haven't heard anyone explain why that is so catastrophically bad. It may be, but in practice, I haven't seen how this afflicts me.
There are only two possibilities I can think of here. Based on the Linux definition of sockaddr_in6, word-alignment on 64-bit could be a problem in the case of large arrays, but padding by the compiler would avoid that. Otherwise, the only other possibility is that since a new API was added for querying IPv6 (and v4) addresses, a lot of programs would need to be altered to handle both types of addresses, rather than just v4.
-
Re:orly
They used crypt(), which means it's going to be relatively easy to crack everything in the file even if the users' passwords were strong. Why anyone would use crypt() for password hashing is beyond me.
So, what encrypting library would you recommend as an alternative? (I am really curious)
-
Re:orly
and by "encrypted" do they mean "we're idiots and stored something other than a salt + hash of the passwords"?
They used crypt(), which means it's going to be relatively easy to crack everything in the file even if the users' passwords were strong. Why anyone would use crypt() for password hashing is beyond me.
-
Re:which language is best?
Sadly, Mr Dziuba has the right idea but uses terrible examples in his blogpost.
Wget for crawling tens of millions of web pages using a 10 line script? He doesn't understand crawling at scale.
Not that I necessarily disagree with you, but wget is an extremely powerful and configurable web client (just check out its man page). I never thought it was so versatile until I started using it for more than just downloading tarballs on the command line.
It's not inconceivable that the right combination of simultaneous downloads, link processing, bandwidth throttling, and per-download waits could do the job just fine.
-
Re:Changes seem irrelevant...
Linux is the only operating system where I have to wait a couple of hours during boot for it to do a fsck.
You do not have have to. (And hours it might take only on non-journaled ext2 - on ext3 it is pretty fast.)
That is easily disabled with tune2fs. Look for options -i and -c.
Though personally I prefer to leave the options on: I feel safer to know that file system is checked time after time.
-
Re:May the source be with you
Try using Alien, a program that converts between Redhat rpm, Debian deb, Stampede slp, Slackware tgz, and Solaris pkgs. It at least works some of the time but can be quite hit or miss.
-
Bayes
Maybe he would be better off using some type of Bayesian classifier similar to the one SpamAssassin uses.
http://linux.die.net/man/1/sa-learn
It should work as well at classifying 'nuisance' emails as it does for classifying plain Spam as long as one trains it accordingly. Then, check the 'nuisance' emails at a lowest priority. He could also have his email go through several Bayesian filters, one trained to identify 'nuisance' emails and one trained to identify plain Spam. All email types could be handled differently.
In my experience, it's already too late to remove your email address from a web site when already too many people know it so it is not that efficient. Anyways, it seems like this guy might need some technical advise
;-) -
Re:Admin or distro?
From http://linux.die.net/man/1/memcached
:-l
Listen on ; default to INDRR_ANY. This is an important option to consider as there is no other way to secure the installation. Binding to an internal or firewalled network interface is suggested.yeah
... it's hard to blame the memcached guys -
Re:Fuck Linux
Put a fork in it.
That's been available for, uh, quite some time.
Or, were you suggesting this instead? Afraid you've been beat to the punch in suggesting it... -
Re:GNU TAR
The GNU folks, in general, abhor man pages, and create info documents instead. The maintainer of tar falls into this category. Thus this man page may not be complete, nor current, and was included in the Red Hat CVS tree because man is a great tool
:). This man page was first taken from Debian Linux and has since been loving updated here.man tar
Yet another reason to switch from Linux. The crappy state of GNU documentation. -
Use badblocks
http://linux.die.net/man/8/badblocks Most modern hard drives don't need low level formatting anymore as they will rewrite the block headers when they write the block (the gap between the header and the data was a waste of space) Flash drives have always erased and written all the data in the 'superblocks'. But flash drives have a very simple filesystem on them to do the wear levelling the best way to reset this is to use the drive's "Secure erase" function. If you can't get at this feature or the drive is crap and doesn't have the feature you can usually coax it into making everything linear by writing to every block in the drive in order. You'll probably have to do it at least twice for the drive to get the idea. My favourite tool for doing this is the ext2 badblocks command, for hard disks I let it run the 4 pass default (AA 55 FF 00) which in addition to rewriting every block reads them back too and so gives the SMART controller a chance to everything in order. I tend to do the same for flash drives, but worry a little about it making too many writes.
-
Xautomation
Nearest equivalent for X / Linux that I've used is xte, which uses the XTest extension to send keyboard and mouse events to the desktop.
xte is usually included with the "xautomation" package for various distributions.I've also seen people use xvkbd -text to automate keystrokes (often in concert with xbindkeys), but I've found xte works a bit better in many cases, for example, when activating CTRL/ALT/Shift/etc. modifiers.
To complete the package, xprop can also give you some useful window state information and control so you can find and manipulate application windows.
-
Re:back to perl!
I love Perl for web programming. That is my primary language. It is the one interpretor that is on almost every system (awesome for those who sometimes live outside the windows and linux world). One perl module that I cannot live without is objToJson . http://linux.die.net/man/3/json
-
Re:How is this different?
Well, this was the man page I found yesterday:
http://linux.die.net/man/1/d4x
And, if you get the package from debian or ubuntu, it has the Artistic License.Anyway, I just noticed that f I install d4x (version 2.5.7.1-4 in debian 4.0), the binary is called "nt", and d4x is just a symlink to that binary. The man page installed along with it refers to "nt" and not d4x.
Maybe the license was changed from the artistic one at some point by the author, which probably means the source code was forked by debian developers and the name of the binary changed in the debian fork.So, get the source package from debian or ubuntu, and you can modify it all you want. I'm assuming that the name change won't bother you.
-
Re:Groovy
Hi, I definitely agree with what you say.
Even if in my comp science student life, and/or professional worklife I have found no equivalents of C++.
With shared_ptr, auto_ptr and STL containers memory management is for newbies and you get all benefits of a properly compiled/optimized language.
The only thing that made me consider Java as a language son of a lesser god is the fact you can't actually manage memory as you wish. You can call the garbage collector, do tricks, but is not the same as telling the OS "look mate free/delete that chunk of memory, restrict my data segment (brk/sbrk)". Or is it possible in Java?
I'm saying this because just the other day a 32 bit (Java run-time process) has reached the limit of 4 GiB and...bye bye.
This is the event that makes me think "hey, why is difficult to use C++ with smart pointers?".
Still I consider Java a good language better than many others, for the reasons you stated before.
Ciao! -
All the world is not a VAX
An int is 4 bytes.
This is true of Java. It is also true of C on modern PCs, which preserve many common vaxocentrisms. It's less true of microcontrollers, where int might be 2 bytes for either of two reasons: 16-bit bytes and 32-bit ints (common on DSPs), or 8-bit bytes and 16-bit ints (common on 8- and 16-bit MCUs).
-
nothing like ionice on Macs?
On linux, there is ionice which solves this problem conveniently. Just run the file-share program (e.g. ftp server, CIFS server etc.) with a lower IO priority, and there is no effect on the person working on it. Isn't there anything comparable for Macs?
-
Re:unlike Mac or LinuxPart of the reason is because Windows is backwards-compatible to Windows 3.1 and 95, which were build without reasonable security models. Since then, Windows' security model has improved a lot; but it still needs to be compatible with old programs, which tended to be written quite badly back then. (I'd say older versions of Windows encouraged sloppy coding because it was just so easy, unlike the UNIX variants around at the time which would generally complain if you tried to do things that broke security too badly). Windows also used to be more homogenous than UNIX systems (even nowadays, you can see Linux manpages talking about the difference between BSD-style and X/Open-style, such as this one which summarises the mess). As a result, old Windows programs tended to work even if written badly because they only had one sort of system to run on, which let them get away with dubious things, whereas old UNIX programs tended to need to be written well to work at all. (Classic Mac OS can be pretty-much disregarded here, because nobody uses it nowadays and Mac OS X is based on UNIX.)
Since then, all the operating systems involved have become more modern. In UNIX land, people were used to porting programs anyway, to get them to run on new variants, so when newcomers like Linux turned up (and later Mac OS X, which is less different from traditional UNIX than Linux is with respect to how traditional UNIX applications behave, although it's a lot more different with respect to newly-written applications designed to run on it specifically), it was generally the responsibility of people to modify applications to get them running on Linux in particular, or whatever. As a result, Linux can do its job quite well without needing to tolerate badly-written insecure legacy applications. On the other hand, Windows would lose one of its major selling points (its compatibility), if it did that. So Windows is written to be very good at running legacy badly-written applications; as a side-effect, though, this means that it's rather good at running badly-written applications, even new ones.
The end conclusion is that if you want to write well, you can do it on any platform; but lazy programmers who want to write badly will have fewer issues doing so on Windows.
(There's another force at play, too; the cultures of obtaining software in Windows and Linux are rather different, and as a result, well-written Linux software tends to become much easier to find than badly-written Linux software. I imagine there's lots of bad software out there for both Windows and Linux despite the above effects, but you'll find bad Windows software preinstalled on a newly bought computer alongside the OS itself (people debate the merits of various OSes, but everyone I know hates "shovelware"), and on driver disks with hardware you buy. This doesn't happen so much with Linux, because there's no, or not as much, money in it; people on Linux are so used to (legally) getting software for free, that they're unlikely to pay unless people are offering something of good quality.)
-
Disk2vhd vs SelfImage
I used SelfImage recently to dd a windows 2003 box to an LVM-based virtual machine on Proxmox, a Debian-based Virtual Machine Server. Worked a treat. While I see the benefit of created a Microsoft VHD if you're an MS shop, we're a mix so being able to pump a live physical disk into a remote logical volume was great.
-
Re:A stinging lesson
HTML is fine, the problem is more political since each provider wants to render it the way they want it according to their objectives of world domination. IMO the only browser which gets truly in the way is MSIE since a well made web page will work with any browser which is not it. Build for FF and Chrome, Opera and Safari will work also without much hassle. Another thing XPDF already exist, not just what you're thinking of: http://linux.die.net/man/1/xpdf
-
Re:The 70's called. They want their I/O methods ba
We have it today. Tfa's on crack.
It's called madvise
It allows an application to tell the kernel how it expects to use some mapped or shared memory areas, so that the kernel can choose appropriate read-ahead and caching techniques.
In Linux there is also fadvise()
Of course... reading from a file (from an app point of view) is really nothing more than accessing data in a mapped memory area. Oh.. I suppose unless you actually use the POSIX mmap call to map the file into memory for reading, you won't have an easy ability to provide the advise.
And it makes portability a bitch regardless, as not all OSes are POSIX, and not all OSes have mmap().
Nevertheless, it's not fair to say it is impossible for an app to provide hints. Whether giving the hints or not actually has a useful effect (usually) may be a matter of debate.
-
Re:The 70's called. They want their I/O methods ba
We have it today. Tfa's on crack.
It's called madvise
It allows an application to tell the kernel how it expects to use some mapped or shared memory areas, so that the kernel can choose appropriate read-ahead and caching techniques.
In Linux there is also fadvise()
Of course... reading from a file (from an app point of view) is really nothing more than accessing data in a mapped memory area. Oh.. I suppose unless you actually use the POSIX mmap call to map the file into memory for reading, you won't have an easy ability to provide the advise.
And it makes portability a bitch regardless, as not all OSes are POSIX, and not all OSes have mmap().
Nevertheless, it's not fair to say it is impossible for an app to provide hints. Whether giving the hints or not actually has a useful effect (usually) may be a matter of debate.
-
Re:The 70's called. They want their I/O methods ba
From TFA:
There is no method to provide hints about file usage; for example, you might want to have a hint that says the file will be read sequentially, or a hint that a file might be over written. There are lots of possible hints, but there is no standard way of providing file hints...
Ya, we had that back in the stone-age and Multics would have been poster-child for this type of thinking, but it was a *bitch* and made portability problematic.
No, Multics would have been the poster child for "there's no I/O, there's just paging" - file system I/O was done in Multics by mapping the file into your address space and referring to it as if it were memory. ("Multi-segment files" were just directories with a bunch of real files in them, each no larger than the maximum size of a segment. I/O was done through read/write calls, but those were implemented by mapping the file, or the segments of a multi-segment file, into the address space and copying to/from the mapped segment.)
I think VMS has some of this type of capability with their Files 11 support - any VMS people care to comment. Unix (and most current OS) sees everything as a stream of bytes, in most cases, and this is much simpler.
"Seeing everything as a stream of bytes" is orthogonal to "a hint that the file will be read sequentially". See, for example, fadvise() in Linux, or some of the FILE_FLAG_ options in CreateFile() in Windows (Windows being another OS that shows a file as a seekable stream of bytes).
-
fadvise
fadvise and FADV_SEQUENTIAL exist in posix. Not sure how well different oses like Linux or bsd use the hints -- I know that some of it's been broken because of bad past implementations.
-
Re:Readme.TXT
Windows does support file permissions, in fact, it has more permissions then UNIX (Read/Write/Execute/Browse-Folder/Create-File/Append-File/Delete-File/Delete-Folder/etc). Unfortunately, the tools suck more.
Setting/Disabling the X flag in *nix is pretty straightforward programmatically. On Windows, even the UI requires wading through 5 GUI panels just to get the complete permission list for changing them as a user.
VB Program for Windows
Equivalent C Function for *nix (ok, you could just use umask instead before writing the file as well) -
Re:Readme.TXT
Windows does support file permissions, in fact, it has more permissions then UNIX (Read/Write/Execute/Browse-Folder/Create-File/Append-File/Delete-File/Delete-Folder/etc). Unfortunately, the tools suck more.
Setting/Disabling the X flag in *nix is pretty straightforward programmatically. On Windows, even the UI requires wading through 5 GUI panels just to get the complete permission list for changing them as a user.
VB Program for Windows
Equivalent C Function for *nix (ok, you could just use umask instead before writing the file as well) -
Re:Unexpected error?
Just as a point of information, this information is available fairly clearly and obviously in the errno reference pages for various independent or widely diverged OSs/C libraries.
GNU/Linux (GNU C library)
FreeBSD (BSD libc)
Solaris (SYSV-derived) -
Call the authorities?
So if you accidentally get kiddie porn on your machine, you should call them and confess to downloading it? After they nailed this guy, stealing 20 years of his life (or only 3.5 if he pleads out), and destroying the remainder: "Hi, my name's Dave. I'm a registered sex offender, and I just moved in next door." "Hi, I'd like to apply for the job. I'm a registered sex offender." "Hello beautiful. Can I buy you a drink? I'm a registered sex offender." They proved that there effectively was no porn on his machine! What do you think they'd do to you when you called up and they had the computer with the porn on it? Your claim of "accident" is no better than his.
The correct thing to do is run shred on the drive for a few days and then restore from back up (I love Time Machine). And if the feds show up, admit nothing and posit that it could easily have been a wardriver on your WiFi.
As for the kid in the story about to get fucked by the system, he needs to get a better lawyer (as others have pointed out), and have his lawyer focus on the prosecution's complete lack of proof of criminal intent (mens rea as the lawyers call it). Although the concept has been ignored recently (especially in federal courts), it is still on the books as a requirement of the prosecution. He needs to show the jury (made up hopefully of mostly men, and nobody with small children), that he's just a regular horny college kid, just like they were. And then point out very clearly to the jury that, according to the law, if they do not feel he intended to download child pornography, beyond a reasonable doubt, then they must acquit him. -
Re:there's a few useful bits of software already
In another instance,
Nicholas Harbour, who at the time was working for the Department of Defense Computer Forensics Lab (DCFL)
wrote a loving modified dd that writes to multiple files and streams to multiple programs at the same time. The program, dcfldd, also introduces the sorely missed VERIFY operation, and even block-by-block hashes, ( dcfldd Man page)
Maybe someone will combine this with dd_rescue, ddrescue and dd_rhelp to make the ultimate "Convert and Copy" utility
:-)Ah and I can dream of SCTP support too
:-) -
Re:Transcript
You don't need to restart because Linux lacks a mechanism to prevent in-memory executable files and shared libraries from being overwritten on disk.
Actually *nix systems do have a mechanism to do so. The executable can place a write lock (fcntl, flock) on it's files if it really wants to. This is unlike Windows, as write locks are enforced by the OS - Which, as you can see - does not seem to be really giving that many benefits.
-
Re:Transcript
You don't need to restart because Linux lacks a mechanism to prevent in-memory executable files and shared libraries from being overwritten on disk.
Actually *nix systems do have a mechanism to do so. The executable can place a write lock (fcntl, flock) on it's files if it really wants to. This is unlike Windows, as write locks are enforced by the OS - Which, as you can see - does not seem to be really giving that many benefits.
-
Re:UID's
It would be nice if the default was to pick a random arbitrary and large UID so the chance of UID clashes would be remote.
You know what would be great? If someone made a daemon for mapping UID's between machines. That'd be fantastic, but I'm sure no one else has thought of such a thing.
-
serial tty
If that box and another both have serial connections, then use the serial console: Get a null-modem cable. Connect that to another box. Make sure the you add console=ttyS0,19200n8 or some variation to the append line in your grub entries. On the client side use cu aka tip, minicom or PuTTY to make the serial connection, making sure that bps, parity and stop bits match.
-
Re:We just need an alternative to X
Unfortunately, most GUI configuration tools are absolutely horrid. I won't argue that.
For unequal-sized monitors, you can configure the outputs using xrandr, or for older systems, Xinerama.
-
Re:What do you use it for?
Totally serious question: do you guys really use emacs (or even vi, etc) to write code rather than a modern Studio/IDE?
Yes. The typical reasons (aside from Luddite tendencies and comfort) include
- that our text editors are extensible, so that you don't have to switch to a completely different program (with a different interface) to edit SQL instead of, say, JavaScript (granted: Eclipse does both of these; I don't think any "Studio" program does)
- that they (Emacs especially) are extensively customizable, so that things that bother you can be changed
- that they are extremely cross-platform (more so even than Eclipse because more so even than Java)
- that they were designed with the keyboard in mind, so they're easier on the hands (if you get over the "holy crap I have to type Escape (vi) or Ctrl-Alt (Emacs) all the time!" thing)
- that they've been around for a long time, so that most of the bugs are gone and many many add-ons are available (quick, does Eclipse do Icon? Maybe it does, but it's been supported out-of-the-box by Emacs since at least 2001.)
- that they integrate well with other tools in ways that sometimes surpass even an IDE's integration: I'm sure you can sort text in any IDE, but can you pass it to sort(1), use all the options and speed thereof, and replace the text you sent with what you got back? It's C-u M-| in Emacs.
- that they've always been free (and Free).
Some people have been using such editors for longer than the modern IDEs have existed, and so are so good with them that it would take a very long time to recoup the investment of switching (if we even take as given that there will be a lasting net benefit).
-
Re:About time
I/O multiplexing is a technique by which you can examine file handles to determine if a read or write will actually block on that particular call. For instance, does the input buffer for a network socket have enough data that you can read from it without blocking. When dealing with multiple streams you essentially loop and repeatedly check which input sources are ready to read from. The actual structure is very similar to the main-loop in gui applications which must repeatedly check for input from the mouse, keyboard, etc. For POSIX systems, it is generally the select function which allows this behavior.
-
Re:Even More Interesting
Seems more likely he was caught by auditing through the audit daemon in Red Hat Enterprise Linux. It records both high level "actions" taken on the machine, and (in some cases) commands typed at the shell. Unless you have root (in some cases, even if you have root), it's hard to erase those logs.
Rich.
-
W^X in partitioning schemes
What? W^X doesn't have anything to do with partitions. And W^X is a software way of doing what is done in windows now with NX bit in hardware. It's not 2006 anymore.
Bzzzt. Thanks for playing. M$ must be running out of money for real trolls.
The correct answer was: partition mount options include a choice of read-only or read-write, and exec or noexec. So, you can make a partion with executables that is read-only. Or you can make a data partition that is read-write but disallows execution of programs. nodev is another useful option to be aware of.
-
Re:Flat Earth
SQL is actually a pretty damned good, single-purpose language.
I disagree. SQL is actually a rather crappy language for what it does - unnecessarily verbose, lots of weird corner cases and exceptions, very unobvious solutions to some rather common problems, etc. In comparison, something like Date's language (as implemented in e.g. Suneido) is far cleaner...
C is also a crappy language. It has messy grammar, hard both for humans to read and for compilers to parse (a feat oonly surpassed by C++ and Perl), necessitating tools for something that really shouldn't require one. It has some totally unused and pointless features, such as separate namespaces for structs/unions/enums, or the "auto" keyword. It has weird unsigned arithmetic rules. You can write code in it that put Perl to shame. Truly, Modula-2 is a far better system programming language...
But here's the thing. Everyone knows C. There are dozens of compilers, IDEs and associated tools - every platform has one targeting it. There are hundreds of books and thousands of tutorials, and millions of programmers who know it. C API and ABI are de facto standards for reusable libraries and FFI. All this because, really, C is good enough. It may be messy, but it does mostly everything that needs doing. And in areas where it doesn't do so good, it's easier to extend it than reinvent the wheel.
Same mostly goes for SQL. It's a mammoth spec now, very complicated and not truly implemented by anyone. But the real-world subset works. For all the quirks you have to learn, it does the job, and most SQL skills actually do transfer between implementations. Again, where there are pain points that are just too inconvenient it's easier to extend the language (and, hopefully, eventually standardize such extensions) than to start from scratch.
-
Re:By saying that he proves his former point
Please get yourself informed before squeaking out.
-
Re:I have a Linux PC with two drives formated with
The reformat was ReiserFS also.
That will make things interesting indeed. From memory reiserfs has back-up superblocks and it might be possible to replay the journal to recover the filesystem. If it's been initialised with another reiserfs journal may have been erased and only the backup superblock remains. What that means is the chance of recovery from the filesystem as a damaged item is decreased and you *may* have to fall back on recovery tools. Regardless the first steps will be the same, set them up to run overnight.
I now have 2 1.5 TB drives, an internal one I'll use to replace the older drive and an external drive for backups.
Whatever you do do not perform any write operations to the target (damaged, older) disk. The disk must remain as close to it's damaged state to increase the chances of recovery. Even mounting the disk now with a new filesystem is not desirable as it will update the superblocks on the disk. Conversely though, that it is formatted with the *same* filesystem means that the data areas are unlikely to be affected in it's basic initialised state.
Have your destination drive ready in the chassis. It should be formatted, mounted etc etc so that you can write files to it. There are two schools of thought here, write the damaged drive out as a file (my choice) or as a partition. Go for the file option, it will be simpler for the time being. You will need to use the mount or df command to establish which *device* are present, say as root do
df -ah > normalDrives
- checking the file it produces (nomalDrives) will tell you which devices (/dev/sd??) are mounted. You need to know this so you can *exclude* those drives when you dump the data, even so putting in another sata drive may change the *order* of the drives in the system so you should have enough information to establish which device you target drive is.
ls -l
/dev/sd* > normalDriveListingis your friend. shutdown your system.
Put the target drive (sata, I'm guessing) on an internal interface for speed - usb will be too slow and may try to auto mount the fs on the drive. Restart the machine.
As root check the above two commands against the results now, there is no guarantee that the devices will be the same so use the files generated earlier to compare what you have now. the device that is not mounted is you candidate, you can also check by using fdisk to check the sizer of the partition table, while you are at it check the partion type - if it's Linux LVM you may have other options, if it's Linux keep going - check the fdisk options for partition type.
DD? Does it clone drives or what? Guess I'll look into it.
data destroyer, data deliverer or damn dangerous, dd is all these things - http://linux.die.net/man/1/dd. You are concerned with two options 'if=' and 'of=' for now. Basically you want to do this from a root shell
dd if=/dev/sd_my_disk_letter_here__partitionNumber of=/the/path/to/your/destination/DamagedDiskFile
insert appropriate replacement parameters. The trick for you is you don't know if the target partition is the same size as it was before (ie
/dev/sdc for the whole disk or /dev/sdc1 for the first partition), take a chance that it is and 'data dump' partition 1, you can always go back and start again by reading from the drive as you know this drive does not have some looming hardware failure threatening it.Go to bed and check it in the morning - depending on when you start it it may not even be finished by morning 8 or more hours is not unreasonable. if you like you can send dd a kill USR1 dd's_pid to get it to dump it progress.
Welcome to data forensics 101.
-
Re:Lets see...
1. Right to access the internet if you pay for it
2. Right to control what software is on your computer
If I find malware, I can remove it from my box without anyone stopping me. I think you mean "right to keep asshats from installing things I don't want on my computer without my permission". There are already ways of dealing with this. Granted, I think the dollar amount should be lowered.
3. Right to copy anything you own for your own personal use
If by "copy" you mean "make a digital copy", and if by "anything you own" you mean "any digital data", then you can do that already. Who's going to know? I think you mean something a little broader than this; perhaps "the right to make functioning archival copies of my software" (the DRM issue) or "the right to copy my music onto a CD so I can listen to it in the car" (the fair use issue). Please be more specific.
4. Right to use software that does not interfere with anyone else's right
Anyone else's right... to use software? To go to church? Anyone else's rights in general? Not sure I know what this means.
5. The Right to publish any information that is true without fear of takedown notices
You don't have a right to live without fear, sorry. However, you already have the right to publish true statements (within reason). Sorry, classified info and trade secrets don't qualify, among other things.
6. The Right to possess any information
See that bit above about classified info and trade secrets. Also, a ton of other stuff I can't think of off the top of my head, but I'm sure you get my drift.
7. The Right to control your own hardware
Agreed.
8. The Right to use any device for any purpose that does not interfere with rights of others
See #4.
9. The Right to remain anonymous
Ahh, now we've got a real debate. Anonymity has its uses, and I generally support it, but I don't support anonymous crime. If everyone on the internet were truly anonymous, it would be as if some great Id were suddenly released upon the world. Can you imagine a world where EVERYONE was anonymous?
10.The Right to have free, uncensored speech on your own servers
Again, you have this right. You can publish anything you want in the US (within First Amendment bounds). You also have to deal with the consequences if someone doesn't like what you've said about them. If you're talking about Google and Yahoo self-censoring, they're businesses interested in profit. If they want to keep making money, they have to abide by local laws.
tl;dr: use fewer universal quantifiers, like "any" and "all" -- they get you into a lot of trouble.
Posting anonymous because, well, it's funny in light of #9. Also, your list sucks and you suck for writing it. [/irony]
-
Re:SCTP an interesting example
It works, but it is not nice.
So use a wrapper, like sctp_send from libsctp. There's no reason the kernel proper has to export these interfaces.
-
Re:Why rush to use all the cores?
Use nice http://linux.die.net/man/1/nice
and/or taskset http://linux.die.net/man/1/taskset
I'm sure more desktop user friendly concepts or utilities will follow as soon as it becomes an issue for less technical users. -
Re:Why rush to use all the cores?
Use nice http://linux.die.net/man/1/nice
and/or taskset http://linux.die.net/man/1/taskset
I'm sure more desktop user friendly concepts or utilities will follow as soon as it becomes an issue for less technical users. -
Re:Nice
That's where ionice comes in to play.
http://linux.die.net/man/1/ioniceAvailable since 2.6.13.
-
Re:No, Ulrich Drepper's response was appropriate
What other "in jokes" am I missing out on and accidentally relying on because no one bothered to tell me not to?