The fix is simple, but most people argue against it. Use shared libraries where appropriate, and static libraries where it makes sense. The argument for shared libraries everywhere is that it saves disk space, and it makes updating all your apps easier by just upgrading the libraries they depend on. This is ok for widely deployed and tested libraries, where it is very unlikely that something will break between minor versions. But if a library is likely to be used by only a handfull of apps (such as audio / video codecs), then by all means compile them into the app. That way you reduce the number of dependancies and the breakage, at the expense of a bit more disk space used and the inconvience of upgrading a few more packages when a bug is found in the library in question.
Note, that this is mearly an issue for third-party packages for your os. Everything that comes with the os can follow whatever rules is best suited for it, as the whole thing is developed together. But I see no advantage to having to track down and install a dozen seperate library packages in order to get a particular app installed, esp. if those libraries are use _only_ by that app. Also, the worst offense a package can commit is to require major updates to packages that are included as part of the os. If the os ships with a supported version of libfoo-1.7.2.so, then the app package should be compiled against that version and not against (and requiring) libfoo-1.7.5.so (or worse, libfoo-1.8.x.so), instead if it actually requries functionality that is only present in the newer lib version, then it should ship with a private copy either statically linked, or installed in the app's lib directory. Because if something else uses that lib, chances are it will need libfoo-1.7.4.so, and be incompatible with libfoo-1.7.5.so (even though minor version increases shouldn't break compatibility, but it happens anyways).
However, they can then take a random sample of ipods that had been hooked up to the windows machine, and plug them into a mac or *nix box to check the md5 sum on all files on the ipod.
I'd say the workaround for this is simple. It's just a biling item. The ISP would have the bill split into a service and product section. The product would be the light photons, charged at a flat rate of a dollar a month (or rupe, or whatever). The rest of the bill would be for the service of turning the light on and off. So only the "product" portion would be taxable.
Of course, then the ISP would get into trouble for the unfair practice of "bundling" one item (the service) with another (the photons), since the photons would have to be purchased from the same company.
teenagers that want a new phone. Parents will replace it for them, if they believe the story about it being stolen, becauses they still need to maintain contact with them.
Most likely, involuntary manslaughter at worst. That is what gets charged when you are commiting an illegal or wreckless act, which results in someones death, but the death was unintentional.
<tt> export PATH=$PATH:/usr/bin:/usr/local/bin:/usr/X11R6/bin export DISPLAY=192.168.1.15:10 # check to see if an X server is running, if not start one if ! xtest then run XWin:10 -multiwindow -clipboard -silent-dup-error & xhost + fi ssh -x someuser@192.168.1.4 'export DISPLAY=192.168.1.15:10; nohup bin/aim </dev/null >/dev/null 2>&1 &' </tt>
The shortcut icon then calls this script (r-aim.sh) via the cygwin "run" command (see the example shortcuts for the various X utilities that are shipped with the current version of cygwin-x).
Note, the program "xtest" is a small binary that just tries to connect to the X server, and will return an error code if none exists. I'm not sure if there is already an accepted method of doing this, so I put xtest together real quick:
<tt> include <X11/Xlib.h> #include <stdlib.h> #include <assert.h> #include <unistd.h>
Simple fact is that the family uses lots of windows-only programs. The wife will come home from an accounting class, and needs to download excel spreadsheets from the college web site (which is IE centric, and has little annoyances under Firefox), these spreadsheets will then need to be used under Excel, because last time I had her use it under Openoffice something didn't quiet work right and caused probems when she sent it back to her instructor. The kids will often need to use MyJal to download ringtones into their Nextel's. Could probably get this working under Wine, but haven't tried yet. And everyone uses Pogo games, some work under Firefox but some don't. But slowly I'm getting everyone switched over. I've already set up a thin client (LTSP-based) system using an old cyrix system, which runs a desktop off the main server. Everyone will use this secondary system when the Windows box is "acting stupid" as they put it. So far, it is working for almost everything, but not quiet there yet.
Not always an option, if you want to keep your wife and kids happy. In my case, there is one system that runs windows (the main "family" computer). After the last couple of infections (even with no one logging in as administrator), I've found a way to nip it at the source. The two major malware infection routes were AIM and Web (they don't do much email on that machine). So, I've got Wine set up on my Linux server with AIM and IE. Windows box has the appropriate icons linked to a Cygwin script that launches a local X server rootless (if it isn't already running), then remotely executes AIM or IE from my server. Net result is that it looks like they are running locally, no one knows the difference, but any malware attacks will only be able to see the Wine container in the server (running under a restricted account). Problem solved.
I used to use the same technique back in the modem / bbs days. Most bbs's would enforce and upload / download ratio. I'd be downloading something with xmodem, and hit cancle in the middle of the last packet. The packet would continue transmitting, but my side wouldn't send an acknowledgement (instead it would send an abort), and the bbs would't register it as a download. Ok, kindof off topic, but that just brought back a bunch of memories.
That's why you make the loaner box a low-spec machine, aim for a $150 or less price point (keep in mind, you only have case/power supply/motherboard/cpu / ram / hard drive, as it plugs into the customer's monitor / keyboard / mouse). If the loaner program ends up getting you more customers (or allows you to charge more for your services) then the occasional damaged / lost / stolen one could be a writeoff. (Make sure you require a $50 deposit for a $150 system, then you only have to write off $100, or have a higher deposit if you can get away with it).
Another option would be to make the loaner non-usable as a general purpose PC, by putting a custom-built OS distribution on it. With a kiosk-type interface, you could get away with having Linux/gnu on it, the user won't know. You could also go the embedded route and have a non-x86 processor so that the customer can't break it open and just install their standard os / software on it, and have it lock out after a couple of weeks (requiring you to reset the lockout). You may still end up losing the system, but people are less willing to risk stealing something if it ends up being useless to them.
What about the concept of a "loaner" PC? You could put together a minimal and capable system for fairly cheap (all you need is the box, and plug it into the customer's keyboard / mouse / monitor, etc). Configure the system so that it runs in non-privliged mode, along with the basic items that most customers would use 95% of the time (web browsing and email, along with word processor and maybe photo software, possibly some games). That way, the customer isn't completely out of a machine while you are diagnosing theirs. Of course, you'd have to make the case and OS reasonably secure, and set it up so that any data they create can be easily located and copied off. Make sure the system is cheap enough so that if it becomes damaged / lost / stolen that it can be written off, and have the customer put down a refundable security deposit, etc. If the case is locked and sealed with an asset tag, that also lessens the chance of your customer's kid "borrowing" parts from it. Also, configure the desktop in "kiosk" mode, so that the system functions as an appliance (so there is no customer learning curve), and also plan on re-imaging it after the customer is done using it.
Actually, a number of high schools are starting programs that are laptop-intensive. Usually the kids will have to qualify for the program, but it is otherwise no different than some kids doing basic studies, v.s. othere doing college prep. This is just another level above college prep. Also, most of the schools around here require one of the fancy $100 TI calculators (presumably because of the graphing capabilities, but I think it is so the teacher doesn't have to actually "teach" math, but instead just instructs the students to press specific buttons on the calculator and record the results). I'd rather see them standardize on an older style PDA platform (like the older palm pilots), running calculator software, rather than using turbo-charged single-purpose calculators. Of course, back in my day you'd be hard pressed to find a teacher that let you bring in any caluculator in a math class.
I think the early Tivo hard drives had two arms, so it could record & play at the same time (this was when drives were much slower). I think they were custom-made by Toshiba, if I remember right.
I'm not trying to be an anti GPL3 troll, just pointing out a weakness in it. Basically, it is saying that if you pre-load gpl3 code onto hardware that is cripled in a certain way (i.e., hardware that will only run signed code), you must provide the ability for the end user to sign and run their own code. This is to prevent manufactures from making an end-run around the GPL by using code signing & locked-down hardware. However, this particualar clause in GPL3 does not address other ways of shipping cripled hardware that won't run your modified binaries. The example I gave was shipping the code on PROM's, that can't be updated, but manufactures may invent other ways of accomplishing the same goal (none of which would be prevented by the GPLv3). The most straight forward method I can think of is to impliment a hypervisor to run the OS, where the hypervisor has it's own enforcement rules that the OS won't be able to get around (since it isn't talking directly to the hardware). I think this is the method that Sony used to ship their Linux kit for Playstation (the Linux kernel didn't have direct access to all the fancy hardware).
Re:He is against DRM, but that's not the point
on
The FSF, GPLv3 and DRM
·
· Score: 2, Insightful
Um, nothing that Tivo does prevents you from modifying the source for the GPL'd software they ship. You just can't run the modified version on the hardware they sold you. This is no different then if they put the binary on a non-flash chip, or some other read-only media.
So fundimentally, what's the difference between hardware only running signed code, and having the code on a PROM chip? Is the GPL V4 going to end up banning the use of read-only memory?
## unfortunately, physical security and common courtesy are mutually exclusive
The way I solve that at work is by using "closet uncourtesy". I avoid entering a secure door if there is someone close behind me (by adjusting my walking pace faster or slower, as needed). Therefore, there is no pressure to hold the door open for someone who isn't there.
First, take a look at why Dilbert is funny...
on
The Living Dilbert?
·
· Score: 4, Insightful
Dilbert can be classified as a form of observational comedy, similar to Seinfield. The reason why this is so funny is because it takes observations from real-life situations, and exaggerates them. Therefore, they aren't a 100% mirror reflection of reality, however they start off with a kernel of truth to them. They bring about a representation of the way we feel about situations, but just as New Yorkers aren't quite like portraied on Seinfield, the private IT sector isn't exactly like Dilbert either.
The Drive get's old after a while, I'll agree, but for me I'll turn on Jack because I might hear something I haven't before (or for a while). Also, my musical tastes don't fit into a pidgeon-hole, so the "hodgepodge" of Jack almost fits (although I'd like to hear some 40's country, a bit of classical / orchastra, and 80's alternative also). But both stations are better than the Loop, or the other "classic rock" stations (If I hear stairway to heaven one more time, I'm ripping my ears out).
What I'd like is get unlimited net access on my phone (minimum 256-k) with a bluetooth connection to a digital car web radio.
I think that the choice of getting satellite radio or not really depends on the quality of your local broadcast market. From what I understand, many areas are saturated by Clearchannel. In the Chicago area, there are a couple of stations that don't have mega-blocks of commercials, and little or no talk -- 97.1 WDRV (The Drive), and 104.3 WJMK (Jack FM). The Drive plays mostly decent classic rock tracks, with a little bit of DJ (non-annoying type), little commercial, whereas Jack is no DJ, and only a few minutes of commercial breaks, and they play anything (it seems that I can always find music on one of those two stations).
If it weren't for those two, I'd have gotten satellite a long time ago.
* given than Slashdot doesn't put the year on its webpages The article does say Wednesday, Feb 22. The last time Feb 22 was on a Wednesday was in 1995.
Another method... Go outside your house, and time the little power wheel on your electric meter. Then turn on your device, and re-time the wheel. Then do the math.
And you know how many times I've been called over to work on a neighbor's computer because they can't get their ipod working on their kid's windows xp computer, because it requires usb 2.0, so they bough a usb 2.0 card, put it in, and the driver refuses to install because they need windows xp with serveice pack 1 (or is it 2? ), and then I couldn't download it at their house because over dial-up it would take 17 hours and 23 minutes, so I end up bringing the tower back to my house to download the service pack and get evryghin working? Ok, this only happended once, but then there was this other time that another neighbor had a problem with file corruption, becuase his hard drive was bigger than 135 gig, and there was a bug in the windows xp driver that any writes above 135 gig would loop back to the beginning of the drive... Basically, what I'm trying to say is that no matter which platform, there will always be issues that the average user can't resolve, and they either have to call on a friend, or hire someone like geeksquad. But in my experience, it is much easier for a professional to service Linux issues than it is to resolve Windows problems.
You know, the same counter arguments seem to apply to Linux-based devices. Most people who want one think of the idea that you can easily port desktop Linux software to them, but when you do the usability goes way down (even on my Sharp Zaurus, which gives a 640x480 display and keyboard, it is still uncomfortable using software that is designed for a desktop environment on it). Of course, for me the advantage of Linux-based devices is that I don't have to shell out $$$ for software, as I can port / adapt / write my own where necessary.
Number 5 here, but mine came with the chicklet keyboard. I later got the upgraded keyboard (free, I think). Problem was, the keyboard overlay I had for Kings Quest would only fit the chicklet board. Good thing the keyboards were infrared, so that I could keep both of them going. It had a Tecmar Jr Captain sidecar, in addition to the internal 64-k expansion card, which brought the memory up to 192k. I later bought 512-k worth of chips to swap in the sidecar to get 640k, which was enough for me (again, the joys of a ramdisk). I also had a Legacy hard drive that sat on top, but it never quiet worked right.
The fix is simple, but most people argue against it. Use shared libraries where appropriate, and static libraries where it makes sense. The argument for shared libraries everywhere is that it saves disk space, and it makes updating all your apps easier by just upgrading the libraries they depend on. This is ok for widely deployed and tested libraries, where it is very unlikely that something will break between minor versions. But if a library is likely to be used by only a handfull of apps (such as audio / video codecs), then by all means compile them into the app. That way you reduce the number of dependancies and the breakage, at the expense of a bit more disk space used and the inconvience of upgrading a few more packages when a bug is found in the library in question.
/soapbox ]
Note, that this is mearly an issue for third-party packages for your os. Everything that comes with the os can follow whatever rules is best suited for it, as the whole thing is developed together. But I see no advantage to having to track down and install a dozen seperate library packages in order to get a particular app installed, esp. if those libraries are use _only_ by that app. Also, the worst offense a package can commit is to require major updates to packages that are included as part of the os. If the os ships with a supported version of libfoo-1.7.2.so, then the app package should be compiled against that version and not against (and requiring) libfoo-1.7.5.so (or worse, libfoo-1.8.x.so), instead if it actually requries functionality that is only present in the newer lib version, then it should ship with a private copy either statically linked, or installed in the app's lib directory. Because if something else uses that lib, chances are it will need libfoo-1.7.4.so, and be incompatible with libfoo-1.7.5.so (even though minor version increases shouldn't break compatibility, but it happens anyways).
[
However, they can then take a random sample of ipods that had been hooked up to the windows machine, and plug them into a mac or *nix box to check the md5 sum on all files on the ipod.
I'd say the workaround for this is simple. It's just a biling item. The ISP would have the bill split into a service and product section. The product would be the light photons, charged at a flat rate of a dollar a month (or rupe, or whatever). The rest of the bill would be for the service of turning the light on and off. So only the "product" portion would be taxable.
Of course, then the ISP would get into trouble for the unfair practice of "bundling" one item (the service) with another (the photons), since the photons would have to be purchased from the same company.
teenagers that want a new phone. Parents will replace it for them, if they believe the story about it being stolen, becauses they still need to maintain contact with them.
Most likely, involuntary manslaughter at worst. That is what gets charged when you are commiting an illegal or wreckless act, which results in someones death, but the death was unintentional.
Simple fact is that the family uses lots of windows-only programs. The wife will come home from an accounting class, and needs to download excel spreadsheets from the college web site (which is IE centric, and has little annoyances under Firefox), these spreadsheets will then need to be used under Excel, because last time I had her use it under Openoffice something didn't quiet work right and caused probems when she sent it back to her instructor.
The kids will often need to use MyJal to download ringtones into their Nextel's. Could probably get this working under Wine, but haven't tried yet.
And everyone uses Pogo games, some work under Firefox but some don't.
But slowly I'm getting everyone switched over. I've already set up a thin client (LTSP-based) system using an old cyrix system, which runs a desktop off the main server. Everyone will use this secondary system when the Windows box is "acting stupid" as they put it. So far, it is working for almost everything, but not quiet there yet.
Not always an option, if you want to keep your wife and kids happy.
In my case, there is one system that runs windows (the main "family" computer). After the last couple of infections (even with no one logging in as administrator), I've found a way to nip it at the source.
The two major malware infection routes were AIM and Web (they don't do much email on that machine). So, I've got Wine set up on my Linux server with AIM and IE. Windows box has the appropriate icons linked to a Cygwin script that launches a local X server rootless (if it isn't already running), then remotely executes AIM or IE from my server. Net result is that it looks like they are running locally, no one knows the difference, but any malware attacks will only be able to see the Wine container in the server (running under a restricted account). Problem solved.
I used to use the same technique back in the modem / bbs days. Most bbs's would enforce and upload / download ratio. I'd be downloading something with xmodem, and hit cancle in the middle of the last packet. The packet would continue transmitting, but my side wouldn't send an acknowledgement (instead it would send an abort), and the bbs would't register it as a download.
Ok, kindof off topic, but that just brought back a bunch of memories.
: you will never see the loaner one again
That's why you make the loaner box a low-spec machine, aim for a $150 or less price point (keep in mind, you only have case/power supply/motherboard/cpu / ram / hard drive, as it plugs into the customer's monitor / keyboard / mouse).
If the loaner program ends up getting you more customers (or allows you to charge more for your services) then the occasional damaged / lost / stolen one could be a writeoff. (Make sure you require a $50 deposit for a $150 system, then you only have to write off $100, or have a higher deposit if you can get away with it).
Another option would be to make the loaner non-usable as a general purpose PC, by putting a custom-built OS distribution on it. With a kiosk-type interface, you could get away with having Linux/gnu on it, the user won't know. You could also go the embedded route and have a non-x86 processor so that the customer can't break it open and just install their standard os / software on it, and have it lock out after a couple of weeks (requiring you to reset the lockout). You may still end up losing the system, but people are less willing to risk stealing something if it ends up being useless to them.
What about the concept of a "loaner" PC? You could put together a minimal and capable system for fairly cheap (all you need is the box, and plug it into the customer's keyboard / mouse / monitor, etc).
Configure the system so that it runs in non-privliged mode, along with the basic items that most customers would use 95% of the time (web browsing and email, along with word processor and maybe photo software, possibly some games). That way, the customer isn't completely out of a machine while you are diagnosing theirs. Of course, you'd have to make the case and OS reasonably secure, and set it up so that any data they create can be easily located and copied off.
Make sure the system is cheap enough so that if it becomes damaged / lost / stolen that it can be written off, and have the customer put down a refundable security deposit, etc. If the case is locked and sealed with an asset tag, that also lessens the chance of your customer's kid "borrowing" parts from it. Also, configure the desktop in "kiosk" mode, so that the system functions as an appliance (so there is no customer learning curve), and also plan on re-imaging it after the customer is done using it.
Simple. Continue to use Earthlink, but don't use their DNS. Just run your own dns server locally. Or, point to another open dns server.
Actually, a number of high schools are starting programs that are laptop-intensive. Usually the kids will have to qualify for the program, but it is otherwise no different than some kids doing basic studies, v.s. othere doing college prep. This is just another level above college prep.
Also, most of the schools around here require one of the fancy $100 TI calculators (presumably because of the graphing capabilities, but I think it is so the teacher doesn't have to actually "teach" math, but instead just instructs the students to press specific buttons on the calculator and record the results). I'd rather see them standardize on an older style PDA platform (like the older palm pilots), running calculator software, rather than using turbo-charged single-purpose calculators. Of course, back in my day you'd be hard pressed to find a teacher that let you bring in any caluculator in a math class.
I think the early Tivo hard drives had two arms, so it could record & play at the same time (this was when drives were much slower). I think they were custom-made by Toshiba, if I remember right.
I'm not trying to be an anti GPL3 troll, just pointing out a weakness in it. Basically, it is saying that if you pre-load gpl3 code onto hardware that is cripled in a certain way (i.e., hardware that will only run signed code), you must provide the ability for the end user to sign and run their own code. This is to prevent manufactures from making an end-run around the GPL by using code signing & locked-down hardware. However, this particualar clause in GPL3 does not address other ways of shipping cripled hardware that won't run your modified binaries. The example I gave was shipping the code on PROM's, that can't be updated, but manufactures may invent other ways of accomplishing the same goal (none of which would be prevented by the GPLv3). The most straight forward method I can think of is to impliment a hypervisor to run the OS, where the hypervisor has it's own enforcement rules that the OS won't be able to get around (since it isn't talking directly to the hardware). I think this is the method that Sony used to ship their Linux kit for Playstation (the Linux kernel didn't have direct access to all the fancy hardware).
Um, nothing that Tivo does prevents you from modifying the source for the GPL'd software they ship. You just can't run the modified version on the hardware they sold you. This is no different then if they put the binary on a non-flash chip, or some other read-only media.
So fundimentally, what's the difference between hardware only running signed code, and having the code on a PROM chip? Is the GPL V4 going to end up banning the use of read-only memory?
## unfortunately, physical security and common courtesy are mutually exclusive
The way I solve that at work is by using "closet uncourtesy". I avoid entering a secure door if there is someone close behind me (by adjusting my walking pace faster or slower, as needed). Therefore, there is no pressure to hold the door open for someone who isn't there.
Dilbert can be classified as a form of observational comedy, similar to Seinfield. The reason why this is so funny is because it takes observations from real-life situations, and exaggerates them. Therefore, they aren't a 100% mirror reflection of reality, however they start off with a kernel of truth to them. They bring about a representation of the way we feel about situations, but just as New Yorkers aren't quite like portraied on Seinfield, the private IT sector isn't exactly like Dilbert either.
The Drive get's old after a while, I'll agree, but for me I'll turn on Jack because I might hear something I haven't before (or for a while). Also, my musical tastes don't fit into a pidgeon-hole, so the "hodgepodge" of Jack almost fits (although I'd like to hear some 40's country, a bit of classical / orchastra, and 80's alternative also).
But both stations are better than the Loop, or the other "classic rock" stations (If I hear stairway to heaven one more time, I'm ripping my ears out).
What I'd like is get unlimited net access on my phone (minimum 256-k) with a bluetooth connection to a digital car web radio.
I think that the choice of getting satellite radio or not really depends on the quality of your local broadcast market. From what I understand, many areas are saturated by Clearchannel.
In the Chicago area, there are a couple of stations that don't have mega-blocks of commercials, and little or no talk -- 97.1 WDRV (The Drive), and 104.3 WJMK (Jack FM).
The Drive plays mostly decent classic rock tracks, with a little bit of DJ (non-annoying type), little commercial, whereas Jack is no DJ, and only a few minutes of commercial breaks, and they play anything (it seems that I can always find music on one of those two stations).
If it weren't for those two, I'd have gotten satellite a long time ago.
* given than Slashdot doesn't put the year on its webpages
The article does say Wednesday, Feb 22. The last time Feb 22 was on a Wednesday was in 1995.
Another method...
Go outside your house, and time the little power wheel on your electric meter. Then turn on your device, and re-time the wheel. Then do the math.
And you know how many times I've been called over to work on a neighbor's computer because they can't get their ipod working on their kid's windows xp computer, because it requires usb 2.0, so they bough a usb 2.0 card, put it in, and the driver refuses to install because they need windows xp with serveice pack 1 (or is it 2? ), and then I couldn't download it at their house because over dial-up it would take 17 hours and 23 minutes, so I end up bringing the tower back to my house to download the service pack and get evryghin working?
Ok, this only happended once, but then there was this other time that another neighbor had a problem with file corruption, becuase his hard drive was bigger than 135 gig, and there was a bug in the windows xp driver that any writes above 135 gig would loop back to the beginning of the drive...
Basically, what I'm trying to say is that no matter which platform, there will always be issues that the average user can't resolve, and they either have to call on a friend, or hire someone like geeksquad. But in my experience, it is much easier for a professional to service Linux issues than it is to resolve Windows problems.
You know, the same counter arguments seem to apply to Linux-based devices. Most people who want one think of the idea that you can easily port desktop Linux software to them, but when you do the usability goes way down (even on my Sharp Zaurus, which gives a 640x480 display and keyboard, it is still uncomfortable using software that is designed for a desktop environment on it).
Of course, for me the advantage of Linux-based devices is that I don't have to shell out $$$ for software, as I can port / adapt / write my own where necessary.
Number 5 here, but mine came with the chicklet keyboard. I later got the upgraded keyboard (free, I think). Problem was, the keyboard overlay I had for Kings Quest would only fit the chicklet board. Good thing the keyboards were infrared, so that I could keep both of them going.
It had a Tecmar Jr Captain sidecar, in addition to the internal 64-k expansion card, which brought the memory up to 192k. I later bought 512-k worth of chips to swap in the sidecar to get 640k, which was enough for me (again, the joys of a ramdisk).
I also had a Legacy hard drive that sat on top, but it never quiet worked right.