18 years ago, I wrote a DOS-based keyboard lock intercept that used keydown/keyup in addition to keypress. Current password schemes use the sequence of keypresses only. Mine captured when a key was depressed and when it was released, such that you could have a passcode consisting of: Depress H Depress E Release E Depress L Release H Release L Depress L Depress O Release L Release O
This sequence spells out the word HELLO, but is somewhat more secure than HELLO at the console as it also requires the press/release to be in the correct order. This was back in the days and in an environment where shoulder surfing a password was a bigger concern than over-the-wire interception.
Ultimately, regardless of what information goes into the passcode, the bottom line is that we're still thinking in terms of the user supplying some sort of secret identifier (we'll call it a passcode) known only to them, and the system storing it in some manner and validating against it for future authentication attempts. If this passcode is a short sequence of characters ('password'), a long sequence ('passphrase'), a sequence containing additional information ('enhanced passcode'), or a series of challenge/response pairs ('passcodes') all we're doing is making the passcodes more complex. We're not making the method of authentication more reliable.
So right now we're stuck with trying to secure the means of storing and transmitting that information. We don't store passwords in plain text anymore. We don't use reversible encryption anymore. Now we encrypt the means of transmission. The means of transmission is crackable. Hash codes are crackable. So we keep working to make them stronger, but it's the same arms race all over again.
There's plenty of evidence that sitting in front of a computer screen for 10+ hours a day is unhealthy, and that you are generally less productive after a certain amount of time working. Certainly there are exceptions, where you can be highly productive in a marathon session, but those occur when the muse strikes, not on demand.
If your boss is dead-set on long days (or at least, 50+ hours a week), you could offer some compromises: * Extend your pay at an equivalent hourly rate for the extra time. If you were nonexempt you'd get time and a half. Some companies pay a reduced rate. I like equivalent hourly rate. * Give you a long (2-3 hour) break in the middle of the 10 hour day. Yes this means a very long day, but you can spend that 2-3 hours napping, playing games, buying new toys, or even going home if you live close enough to the office. This also can get you out of rush hour, if you go in early and leave late, thus reducing your overall commute time. * Instead of 5x10, try 6x8 or 5x9+1x4 or something like that. Yes it means giving up one day out of your weekend but may be less stressful than 5x10. * Let you work on side projects during that 5x10, say, 4-6 hours a week.
These are just some examples. Of course if he's not dead-set on the 5x10, just convince him that he won't get 2 hours of extra productivity for the 2 hours of extra labor, instead he'll burn you guys out sooner and increase turnover.
IMHO, cool shirts are cool; lame shirts are lame. My company gives every new employee a blue and/or white polo shirt with the company logo on it. These shirts are NOT mandatory attire at any time, but are still frequently seen around the office, and occasionally seen outside the office.
If it's a shirt you would wear by choice, then it's not a problem.
As someone who straddles the fence between being a developer and being a manager (I'm upper management, but at a small business that means I still occasionally get involved in the coding) on the rare occasions that we have to ask the developers to stay late to fix something, get something out the door, etc. I'm almost always staying late with them.
When the manager can provide useful input (either by helping get the code written, testing, communicating status with the customer, etc.) their presence helps achieve the goal and helps keep morale up. Even when the manager can't provide useful input, their presence (in their office, not interfering) still helps keep up morale, and lets the developers know their efforts ARE noticed and appreciated.
I say let the managers stay late with the developers - but keep out of the developers' way.
Add an attribute to all manner of embedded objects giving the browser a hint as to the nature or priority of the content. This serves two purposes: 1) The user can instruct the browser to render the page without waiting on "low priority" content such as ads or images 2) The user can instruct the browser not to retrieve certain types of content 3) During expected high traffic periods the site could dynamically adjust the content type hints to further improve the user experience
Of course, it all depends on what you want to do with your career, and where you want to go to school. The programs I list here may not be available everywhere, and may not be called the same thing everywhere.
If you want to work in software development, I would *strongly* recommend a degree in Software Engineering, or some other degree program that covers programming, design, testing, requirements, and maybe even a little software project management. These are areas frequently not covered by Computer Science programs, and are important for any software developer who wants to progress beyond the level of Junior Code Monkey. If you want to be a team lead, engineer, architect, etc. you need to know more than just the theoretical aspects of CS. IT or IS degrees often won't cover this, they're more oriented towards managing information systems rather than developing them.
If you want to get into management, an MBA is one route, though that is a more general program. Many schools offer technology-oriented management programs, such as Master's of Technology Management. Though not as widely recognized as an MBA, it is a similar level of managerial education, tailored more specifically to the demands of managing technology projects or companies. An MSTM covers most of the same business practices as an MBA, just with a different focus.
If you want to get into research or academia, an MS in Computer Science may still be the way to go.
Finally, if you want to be a specialist, forget getting a Master's degree for now, and instead go after a high-level certification in whatever field or platform you want to specialize in.
And if I buy 'Baba O'Riley' or 'I Fought the Law,' then give it to whoever I sell Rock Band to?
With physical property, it is clear that as a consumer, I have the right to do with that physical property as I see fit, including transferring ownership in full to another individual. For example, if I buy a book, I can give the book to someone, I can sell it to them, etc.
I have yet to hear a compelling argument for why the same should not be true of electronic content. Certainly, if I buy a game I should not be able to give or sell someone else a copy of that game while retaining a copy for my own use. However, there should be no restriction on me giving it or selling it to another person, including any additional content I've purchased.
Book authors derive no revenue from the secondary market. Musicians derive no revenue from the secondary market (though there are multiple primary markets, including radio play, licensing songs for use in movies, games, etc.) Why do game designers feel they have the inalienable right to derive revenue from the secondary market?
My made-up statistics show that the vast majority of users are downloading relatively small files. When you hit a web page, the browser downloads many small files. When you download anything via a P2P protocol, you're once again downloading very small files (that is, each peer sends you a small chunk of the file). Boosting bandwidth for the first few seconds of a connection can significantly improve the user experience without placing a constant drain on the network.
Unless they advertise it, it's fraud, but it makes sense.
There are three issues in multi-processor programming. (1) OS and language support in the form of threading models (2) OS and language support in the form of scheduling algorithms (2) Application support in the form of using those threading models to develop program components that can run concurrently.
Let Microsoft focus on #1 and #2, and application developers focus on #3. The OS should not, IMHO, try to take a program that is not written to take advantage of multiple processors, and run it in a concurrent environment. That's just asking for trouble!
Advanced threading models that allow application developers better control over how their threads are executed, and scheduling algorithms that distribute threads across the multiple cores and processors, will pave the way for application developers to write applications that can truly benefit from a multi-core environment.
As an application developer, one of the biggest problems I've encountered in developing multi-threaded applications is the ability to easily control what can run concurrently, and what can't. I have almost no ability to tell the operating system which threads I want to run concurrently, and which I want it to time-share.
Let Microsoft, and language developers, focus on the first two tasks. Make the tools available to application developers, and let application developers take advantage of those tools.
The National Geospatial-Intelligence Agency used to be the National Imagery and Mapping Agency (NIMA), but they changed their name sometime in 2003 or 2004. They wanted to play with the "big boy" intelligence agencies, all of whom had three letter acronyms, so they changed their name and added a hyphen - they're now known as NGA, not NGIA.
Actually here in Fairfax, Virginia... we don't have the displeasure of being bombarded by huge billboards struggling to steal your attention while you're trying to do something else: pay attention to the road.
They have been outlawed.
Can't say I miss them! Not that I ever really glanced at them anyways. But some of the ones in the bay area, with flashing lights... those were over the top.
This is an example of how the people CAN vote to keep this sort of crap from happening and actually win.
I am writing this comment under the following assumptions:
1) The sole duty of government is to serve the people
2) Patent laws are a creation of the government, designed to protect a specific class of people called 'inventors'.
With these two assumptions in mind, if the government feels that the needs of the people as a whole, outweigh the needs of a small group of people protected by a law, it is within the government's authority to abrogate said law, in general or in the specific instance.
Therefore in my opinion it is appropriate for the Taiwanese government to choose not to honor Roche's patent, if it feels the need for a bird flu vaccine is of greater importance to its citizens, than is Roche's patent.
That having been said, the Taiwanese government should (and likely has) carefully deliberate over the matter before deciding to act.
Nearly all the monuments and museums in Washington DC are free to the public. Some require waiting in line for tickets, but again those tickets are generally free, they're just used to limit the number of visitors per day. Plan to spend at least a few full days in the DC area, to see everything. Natural and American History museums, various Art museums, war memorials, the Air and Space museum, Air and Space II out in Dulles, VA (a 30-45 minute drive from downtown DC), and much, much more. Northern VA also has the Spy Museum, which might be fun if you're into cryptography and the like. I think they even have a hands-on exhibit of the Enigma machine.
The principle of First Sale, which generally applies to just about any product you buy, would tend to restrict or eliminate Microsoft's ability to tell you what you can do with your XBox once you buy it. The way the principle works is, if you buy something, you are the owner of it, and can do with it what you want. You can re-sell it. You can rent it out (usually...) You can even modify it. Microsoft may be able to use its bully tactics to get what it wants, but I think the tactics would not stand up in court.
Blastedtokyo (article submitter) translated 'non-negotiable shrink wrap licenses' into EULAs. The text of the DCFA as it exists right now, states " "(c) As used in this section, the following terms have the following meanings: A 'digital work' is any literary (except a computer program)" (emphasis added). As I read this, EULAs on computer programs would not be affected, and copyright holders could easily circumvent this act entirely be wrapping a digital work in a computer program, such that the work is inaccessable except by said program - 'proprietary format', anyone?
Since about 1995, I've been working full time (at least 30 hours a week, for the past 4-5 years, 40+ hours) and going to school part time (3-6 credits per semester, plus 3-4 during the summer), and it's worked out fairly well for me. It takes a long time to get a degree this way, but as long as you're enrolled at least part time every semester, your credits won't expire. Even if you only take one class a semester, every semester is progress towards a degree, and if/when you DO decide to go back full time, you'll be that much further ahead.
I'd suggest thinking about playing the political game - sometimes it actually is effective. Are there existing policies, that, if applied correctly, can be used to shut down p2p sharing programs? For example, are there policies regarding personal use of computers? You could use that to stop or slow down serious offenders. Are there policies about scanning of files brought in from outside, for viruses? You can use that to install a virus scanner on every system, or disable programs which violate that policy. If you have the authority to enforce existing policies, you may be able to find a way to use those policies to accomplish your goals. And, if you get called on it, you can always use those policies to back up your position. As long as you can rightfully claim you were enforcing existing rules, you should be safe.
So... I somehow signed a contract when I put up that TV antenna, that I would watch the commercials? I don't recall signing anything... And what about when I skip out to take a bathroom break, or make a snack, or whatever, during the commercials? Am I a thief, then, too?
Oi, I agree, but for different reasons. Yes, the code could be commented out - so what? Any code that secures an existing hole can be commented out, thus re-opening the hole.
I think it's a bad idea to actually _disable_ a running program, because doing so can cause problems that are not necessarily immediately traceable back to the disabled program. Instead, the program should raise some sort of persistent alert, via email, logfiles, or whatever, at some interval, alerting the administrator that there is an out of date program running.
Academic licenses for _development_
on
Abusing the GPL?
·
· Score: 1
Having used academic licenses in the past, my experience has been that the licenses generally prohibit _use_ in commercial environments, whether the final compiled binary is built in the academic licensed IDE or not. Or, they prohibit _development_ of applications for commercial use. I believe Borland's academic licenses have, in the past, specifically prohibited the loophole you describe.
Quoting from their tech support page:
"The current version of the copy-protection technology does not allow you to copy files from the CD into MP3 format. UMG is currently making every effort possible to upgrade our available technology to add new features and increase playability."
This implies that in the future you may be able to copy from the CD into MP3 or other format.
Quoting from the Legalese:
"you may not attempt to separate the Player or Content from the CD on which you received them."
Technically possible or not, you're simply not ALLOWED to.
I wonder, why, if they claim to be working on allowing you to separate the content from the CD, you're not allowed to do so yourself, if you figure out a way to do it?
Junkyard Wars (on TLC) has had a couple of competitions similar to this, where two teams in a junkyard try to build a trebuchet, or catapult, or ballista, or their choice of flinging apparatus. It's really quite fun to watch, because sometimes the devices built work really well, and sometimes they fail in interesting ways. You also get to (for about 45 minutes of the show) watch the things being built out of scraps!
Whatever the memory was, the last second of it was the brain thinking to itself, "Oh no, not again."
18 years ago, I wrote a DOS-based keyboard lock intercept that used keydown/keyup in addition to keypress. Current password schemes use the sequence of keypresses only. Mine captured when a key was depressed and when it was released, such that you could have a passcode consisting of:
Depress H
Depress E
Release E
Depress L
Release H
Release L
Depress L
Depress O
Release L
Release O
This sequence spells out the word HELLO, but is somewhat more secure than HELLO at the console as it also requires the press/release to be in the correct order. This was back in the days and in an environment where shoulder surfing a password was a bigger concern than over-the-wire interception.
Ultimately, regardless of what information goes into the passcode, the bottom line is that we're still thinking in terms of the user supplying some sort of secret identifier (we'll call it a passcode) known only to them, and the system storing it in some manner and validating against it for future authentication attempts. If this passcode is a short sequence of characters ('password'), a long sequence ('passphrase'), a sequence containing additional information ('enhanced passcode'), or a series of challenge/response pairs ('passcodes') all we're doing is making the passcodes more complex. We're not making the method of authentication more reliable.
So right now we're stuck with trying to secure the means of storing and transmitting that information. We don't store passwords in plain text anymore. We don't use reversible encryption anymore. Now we encrypt the means of transmission. The means of transmission is crackable. Hash codes are crackable. So we keep working to make them stronger, but it's the same arms race all over again.
And now I have to run to a meeting. :(
There's plenty of evidence that sitting in front of a computer screen for 10+ hours a day is unhealthy, and that you are generally less productive after a certain amount of time working. Certainly there are exceptions, where you can be highly productive in a marathon session, but those occur when the muse strikes, not on demand.
If your boss is dead-set on long days (or at least, 50+ hours a week), you could offer some compromises:
* Extend your pay at an equivalent hourly rate for the extra time. If you were nonexempt you'd get time and a half. Some companies pay a reduced rate. I like equivalent hourly rate.
* Give you a long (2-3 hour) break in the middle of the 10 hour day. Yes this means a very long day, but you can spend that 2-3 hours napping, playing games, buying new toys, or even going home if you live close enough to the office. This also can get you out of rush hour, if you go in early and leave late, thus reducing your overall commute time.
* Instead of 5x10, try 6x8 or 5x9+1x4 or something like that. Yes it means giving up one day out of your weekend but may be less stressful than 5x10.
* Let you work on side projects during that 5x10, say, 4-6 hours a week.
These are just some examples. Of course if he's not dead-set on the 5x10, just convince him that he won't get 2 hours of extra productivity for the 2 hours of extra labor, instead he'll burn you guys out sooner and increase turnover.
IMHO, cool shirts are cool; lame shirts are lame. My company gives every new employee a blue and/or white polo shirt with the company logo on it. These shirts are NOT mandatory attire at any time, but are still frequently seen around the office, and occasionally seen outside the office.
If it's a shirt you would wear by choice, then it's not a problem.
As someone who straddles the fence between being a developer and being a manager (I'm upper management, but at a small business that means I still occasionally get involved in the coding) on the rare occasions that we have to ask the developers to stay late to fix something, get something out the door, etc. I'm almost always staying late with them.
When the manager can provide useful input (either by helping get the code written, testing, communicating status with the customer, etc.) their presence helps achieve the goal and helps keep morale up. Even when the manager can't provide useful input, their presence (in their office, not interfering) still helps keep up morale, and lets the developers know their efforts ARE noticed and appreciated.
I say let the managers stay late with the developers - but keep out of the developers' way.
Add an attribute to all manner of embedded objects giving the browser a hint as to the nature or priority of the content. This serves two purposes:
1) The user can instruct the browser to render the page without waiting on "low priority" content such as ads or images
2) The user can instruct the browser not to retrieve certain types of content
3) During expected high traffic periods the site could dynamically adjust the content type hints to further improve the user experience
Hmm. Maybe I should patent this.
Of course, it all depends on what you want to do with your career, and where you want to go to school. The programs I list here may not be available everywhere, and may not be called the same thing everywhere.
If you want to work in software development, I would *strongly* recommend a degree in Software Engineering, or some other degree program that covers programming, design, testing, requirements, and maybe even a little software project management. These are areas frequently not covered by Computer Science programs, and are important for any software developer who wants to progress beyond the level of Junior Code Monkey. If you want to be a team lead, engineer, architect, etc. you need to know more than just the theoretical aspects of CS. IT or IS degrees often won't cover this, they're more oriented towards managing information systems rather than developing them.
If you want to get into management, an MBA is one route, though that is a more general program. Many schools offer technology-oriented management programs, such as Master's of Technology Management. Though not as widely recognized as an MBA, it is a similar level of managerial education, tailored more specifically to the demands of managing technology projects or companies. An MSTM covers most of the same business practices as an MBA, just with a different focus.
If you want to get into research or academia, an MS in Computer Science may still be the way to go.
Finally, if you want to be a specialist, forget getting a Master's degree for now, and instead go after a high-level certification in whatever field or platform you want to specialize in.
And if I buy 'Baba O'Riley' or 'I Fought the Law,' then give it to whoever I sell Rock Band to?
With physical property, it is clear that as a consumer, I have the right to do with that physical property as I see fit, including transferring ownership in full to another individual. For example, if I buy a book, I can give the book to someone, I can sell it to them, etc.
I have yet to hear a compelling argument for why the same should not be true of electronic content. Certainly, if I buy a game I should not be able to give or sell someone else a copy of that game while retaining a copy for my own use. However, there should be no restriction on me giving it or selling it to another person, including any additional content I've purchased.
Book authors derive no revenue from the secondary market. Musicians derive no revenue from the secondary market (though there are multiple primary markets, including radio play, licensing songs for use in movies, games, etc.) Why do game designers feel they have the inalienable right to derive revenue from the secondary market?
My made-up statistics show that the vast majority of users are downloading relatively small files. When you hit a web page, the browser downloads many small files. When you download anything via a P2P protocol, you're once again downloading very small files (that is, each peer sends you a small chunk of the file). Boosting bandwidth for the first few seconds of a connection can significantly improve the user experience without placing a constant drain on the network.
Unless they advertise it, it's fraud, but it makes sense.
Yeah yeah... :-P
There are three issues in multi-processor programming.
(1) OS and language support in the form of threading models
(2) OS and language support in the form of scheduling algorithms
(2) Application support in the form of using those threading models to develop program components that can run concurrently.
Let Microsoft focus on #1 and #2, and application developers focus on #3. The OS should not, IMHO, try to take a program that is not written to take advantage of multiple processors, and run it in a concurrent environment. That's just asking for trouble!
Advanced threading models that allow application developers better control over how their threads are executed, and scheduling algorithms that distribute threads across the multiple cores and processors, will pave the way for application developers to write applications that can truly benefit from a multi-core environment.
As an application developer, one of the biggest problems I've encountered in developing multi-threaded applications is the ability to easily control what can run concurrently, and what can't. I have almost no ability to tell the operating system which threads I want to run concurrently, and which I want it to time-share.
Let Microsoft, and language developers, focus on the first two tasks. Make the tools available to application developers, and let application developers take advantage of those tools.
The National Geospatial-Intelligence Agency used to be the National Imagery and Mapping Agency (NIMA), but they changed their name sometime in 2003 or 2004. They wanted to play with the "big boy" intelligence agencies, all of whom had three letter acronyms, so they changed their name and added a hyphen - they're now known as NGA, not NGIA.
Actually here in Fairfax, Virginia ... we don't have the displeasure of being bombarded by huge billboards struggling to steal your attention while you're trying to do something else: pay attention to the road.
... those were over the top.
They have been outlawed.
Can't say I miss them! Not that I ever really glanced at them anyways. But some of the ones in the bay area, with flashing lights
This is an example of how the people CAN vote to keep this sort of crap from happening and actually win.
I am writing this comment under the following assumptions:
1) The sole duty of government is to serve the people
2) Patent laws are a creation of the government, designed to protect a specific class of people called 'inventors'.
With these two assumptions in mind, if the government feels that the needs of the people as a whole, outweigh the needs of a small group of people protected by a law, it is within the government's authority to abrogate said law, in general or in the specific instance.
Therefore in my opinion it is appropriate for the Taiwanese government to choose not to honor Roche's patent, if it feels the need for a bird flu vaccine is of greater importance to its citizens, than is Roche's patent.
That having been said, the Taiwanese government should (and likely has) carefully deliberate over the matter before deciding to act.
I'm taking bets on whether or not the telcos lower their universal fund fee now that they don't have to pay as much to the FCC.... ;-)
Nearly all the monuments and museums in Washington DC are free to the public. Some require waiting in line for tickets, but again those tickets are generally free, they're just used to limit the number of visitors per day. Plan to spend at least a few full days in the DC area, to see everything. Natural and American History museums, various Art museums, war memorials, the Air and Space museum, Air and Space II out in Dulles, VA (a 30-45 minute drive from downtown DC), and much, much more. Northern VA also has the Spy Museum, which might be fun if you're into cryptography and the like. I think they even have a hands-on exhibit of the Enigma machine.
The principle of First Sale, which generally applies to just about any product you buy, would tend to restrict or eliminate Microsoft's ability to tell you what you can do with your XBox once you buy it. The way the principle works is, if you buy something, you are the owner of it, and can do with it what you want. You can re-sell it. You can rent it out (usually...) You can even modify it. Microsoft may be able to use its bully tactics to get what it wants, but I think the tactics would not stand up in court.
Blastedtokyo (article submitter) translated 'non-negotiable shrink wrap licenses' into EULAs. The text of the DCFA as it exists right now, states " "(c) As used in this section, the following terms have the following meanings: A 'digital work' is any literary (except a computer program)" (emphasis added). As I read this, EULAs on computer programs would not be affected, and copyright holders could easily circumvent this act entirely be wrapping a digital work in a computer program, such that the work is inaccessable except by said program - 'proprietary format', anyone?
Since about 1995, I've been working full time (at least 30 hours a week, for the past 4-5 years, 40+ hours) and going to school part time (3-6 credits per semester, plus 3-4 during the summer), and it's worked out fairly well for me. It takes a long time to get a degree this way, but as long as you're enrolled at least part time every semester, your credits won't expire. Even if you only take one class a semester, every semester is progress towards a degree, and if/when you DO decide to go back full time, you'll be that much further ahead.
I'd suggest thinking about playing the political game - sometimes it actually is effective. Are there existing policies, that, if applied correctly, can be used to shut down p2p sharing programs? For example, are there policies regarding personal use of computers? You could use that to stop or slow down serious offenders. Are there policies about scanning of files brought in from outside, for viruses? You can use that to install a virus scanner on every system, or disable programs which violate that policy. If you have the authority to enforce existing policies, you may be able to find a way to use those policies to accomplish your goals. And, if you get called on it, you can always use those policies to back up your position. As long as you can rightfully claim you were enforcing existing rules, you should be safe.
So... I somehow signed a contract when I put up that TV antenna, that I would watch the commercials? I don't recall signing anything... And what about when I skip out to take a bathroom break, or make a snack, or whatever, during the commercials? Am I a thief, then, too?
Oi, I agree, but for different reasons. Yes, the code could be commented out - so what? Any code that secures an existing hole can be commented out, thus re-opening the hole.
I think it's a bad idea to actually _disable_ a running program, because doing so can cause problems that are not necessarily immediately traceable back to the disabled program. Instead, the program should raise some sort of persistent alert, via email, logfiles, or whatever, at some interval, alerting the administrator that there is an out of date program running.
Having used academic licenses in the past, my experience has been that the licenses generally prohibit _use_ in commercial environments, whether the final compiled binary is built in the academic licensed IDE or not. Or, they prohibit _development_ of applications for commercial use. I believe Borland's academic licenses have, in the past, specifically prohibited the loophole you describe.
Quoting from their tech support page:
"The current version of the copy-protection technology does not allow you to copy files from the CD into MP3 format. UMG is currently making every effort possible to upgrade our available technology to add new features and increase playability."
This implies that in the future you may be able to copy from the CD into MP3 or other format.
Quoting from the Legalese:
"you may not attempt to separate the Player or Content from the CD on which you received them."
Technically possible or not, you're simply not ALLOWED to.
I wonder, why, if they claim to be working on allowing you to separate the content from the CD, you're not allowed to do so yourself, if you figure out a way to do it?
Junkyard Wars (on TLC) has had a couple of competitions similar to this, where two teams in a junkyard try to build a trebuchet, or catapult, or ballista, or their choice of flinging apparatus. It's really quite fun to watch, because sometimes the devices built work really well, and sometimes they fail in interesting ways. You also get to (for about 45 minutes of the show) watch the things being built out of scraps!