No problem with your overall post - note I also replied to AC asking if he was really sure if had three different waveforms to begin with, since they should all sound the same to a human.
My point was that AC was fine specifying a square wave and a triangle wave just by their frequency. Or he/she could've specified a period of 50us, which means exactly the same thing.
Reading your comment again, I almost agree with you that 'at a given frequency' suggests a frequency-domain view, as opposed to 'with a given frequency' which would suggest a time-domain view. But that's only by being really pedantic and reading between the lines. Anyway, it's clear to me that AC meant 'triangle wave and square wave with a frequency of 20khz '.
There'll be plenty of people out there willing to take on the 'shit' jobs (and who won't see them as shit), it's just a matter of breaking down the practical and cultural barriers to getting them involved.
On the flip side, there's no end of people who would rather swallow a bucket of hair than write a new process scheduler or whatever.
Some people will spend their entire lives trawling Wikipedia, just dotting and crossing, and never expecting anything in return except the feeling of having contributed to something great.
I was referring specifically to reverse-engineering source code, which as you acknowledge is just a matter of tooling.
From there the difficulty level depends on what you want to do with that source.
If the aim is to patch in back doors or surveillance, that isn't likely to require a thorough understanding of the how the software works, and a well-resourced attacker certainly ought be able to pull it off.
If the aim is to re-engineer a compatible or competing product, without directly plagiarizing the original (as in the examples of ScummVM and Skype you mentioned), I agree that's going to be difficult and expensive. But still, having reverse-engineered source is going to help, not hinder.
If you're serious you don't need source code anyway. Once you have the executable object code (as a paying customer or whatever), you can reverse engineer source code easily enough.
The original source code just makes it easier to understand how the object code works. And if the original source is sparsely commented, or the object code includes debugging info, the benefits are less.
Source code is most useful for situations where you don't have access to the object code, such as hosted services, embedded systems, etc.
Gotta say that, as much as I love the iPad 3 screen, calling it a 'retina' display was little more than a sneaky marketing ploy. The pixel density (264ppi) is a lot less than the 'original' retina display on the iPhone 4 (326ppi).
For me that makes the difference between seeing the pixels and not seeing them.
We can expect higher-definition tablet displays still to come.
Case in point: Manfred Trenz wrote Turrican on the C64, and later single-handedly wrote a Turrican game for the NES.
I never played the C64 games, but I've seen footage that looked extremely close to the Amiga versions I'm familiar with. That says a lot about how capable the C64 was in the right hands.
The bar is set very low - you join the parenting club just by following your instincts, and after that the legal requirements for parenting aren't at all onerous.
Just make sure that the kids have a roof over their heads, food in their bellies, and no awkward bruises or breakages, and you're pretty much in the clear. You don't need a job, and you don't need to teach them jack. If your kids grow up to be lazy, stupid, obnoxious, criminal and/or bankrupt, that's not your problem.
Good parenting may be hard, but that depends on what standard of 'good' you set yourself as a parent. If you think parenting is hard because you hold yourself to high standards and care about the outcomes of your parenting, I'm with you on that.
By that logic 99%+ of people love glossy wide-screen displays on notebooks, and hate matte 4x3. And also by that logic I disagree with myself, as I carry an iPhone but no longer use my stylus-based PDA.
In the meantime I've also regressed to using paper for note-taking, which generally involves a lot of text and also some scribbles. That's not progress.
Worse, what if the stupid stylus gets lost?
Use your finger. You shouldn't need a stylus for most applications. Like I said, it's a UI issue.
Furthermore, who draws pictures on their phone? No one cares about that.
The #1 paid iPhone app today is Draw Something. (Your region may vary.)
IMO, lack of support for stylus input has always been the main disadvantage of the iPhone and similar devices, compared to older smartphones and PDAs.
Resistive touchscreens are just fine for driving with your finger. The trick is to design the UI so that the buttons are big enough.
I found text input with Fitaly and a stylus to be vastly superior to the iPhone's on-screen keyboard, albeit with a steeper learning curve. But to be fair this is more due to crippled software rather than the choice of screen technology, and if it was officially supported I'd probably be just as happy with Swype or a Dvorak layout as I was with Fitaly.
Drawing apps are also much better with native stylus support. I've tried styluses made for the iPhone, but they're not much better than improvising with a sausage. At least you can eat the sausage if you get peckish.
The application that came to mind for me (but not in TFA) is duplicating those artifacts in Taiwan so that they can be displayed in the real Forbidden City. (This is China, so people have to be relaxed about authenticity anyway.)
Lose the battle, win the war.
That's actually a pretty standard methodology for enterprise software, once you look past the various buzzwords and processes.
No problem with your overall post - note I also replied to AC asking if he was really sure if had three different waveforms to begin with, since they should all sound the same to a human.
My point was that AC was fine specifying a square wave and a triangle wave just by their frequency. Or he/she could've specified a period of 50us, which means exactly the same thing.
Reading your comment again, I almost agree with you that 'at a given frequency' suggests a frequency-domain view, as opposed to 'with a given frequency' which would suggest a time-domain view. But that's only by being really pedantic and reading between the lines. Anyway, it's clear to me that AC meant 'triangle wave and square wave with a frequency of 20khz '.
There should be no NULLs
Actually, NULLs are needed for outer joins.
There's no such thing as a square wave at a given frequency.
Not so. 'Frequency' just relates to how often a repeating phenomenon repeats. This isn't limited to sine waves.
I have a sine wave, triangle wave and square wave at 20khz.
What makes you so sure?
Not a problem, you can write Objective-C++.
Can we change the subject now please?
There'll be plenty of people out there willing to take on the 'shit' jobs (and who won't see them as shit), it's just a matter of breaking down the practical and cultural barriers to getting them involved.
On the flip side, there's no end of people who would rather swallow a bucket of hair than write a new process scheduler or whatever.
Some people will spend their entire lives trawling Wikipedia, just dotting and crossing, and never expecting anything in return except the feeling of having contributed to something great.
Reading a Dr Seuss book to a kid is missing the point a little, since they're crafted to be approachable for learning readers to pick up themselves.
But going through them together to pique interest and get the gist is a good idea.
Or you could just take them to see the movie adaptation. Please, for the love of god, don't take them to see the movie adaptation.
... reminds me a bit of the 'security' at my local multiplex.
One movie ticket gets you in, and then you can watch whatever you like for the rest of the day.
Seriously, they don't plan to match your ID and boarding pass when you actually board a plane!?
Oops... 'C-like'
... which was also a clever name, except that it's terribly uncool to call a language 'Cool'.
If only they'd called it 'UnCOOL', backronynmed to 'Universal C-link Object-Oriented Language' - that'd be awesome!
In 100 years time the monkey-boy dance would still be a revered masterpiece of postmodern performance art.
I was referring specifically to reverse-engineering source code, which as you acknowledge is just a matter of tooling.
From there the difficulty level depends on what you want to do with that source.
If the aim is to patch in back doors or surveillance, that isn't likely to require a thorough understanding of the how the software works, and a well-resourced attacker certainly ought be able to pull it off.
If the aim is to re-engineer a compatible or competing product, without directly plagiarizing the original (as in the examples of ScummVM and Skype you mentioned), I agree that's going to be difficult and expensive. But still, having reverse-engineered source is going to help, not hinder.
If you're serious you don't need source code anyway. Once you have the executable object code (as a paying customer or whatever), you can reverse engineer source code easily enough.
The original source code just makes it easier to understand how the object code works. And if the original source is sparsely commented, or the object code includes debugging info, the benefits are less.
Source code is most useful for situations where you don't have access to the object code, such as hosted services, embedded systems, etc.
Gotta say that, as much as I love the iPad 3 screen, calling it a 'retina' display was little more than a sneaky marketing ploy. The pixel density (264ppi) is a lot less than the 'original' retina display on the iPhone 4 (326ppi).
For me that makes the difference between seeing the pixels and not seeing them.
We can expect higher-definition tablet displays still to come.
... present company excluded, naturally.
Then again, most of it is written by biologists.
You mean 'evolved by biologists'. They aren't strong believers in intelligent design.
Hey, what's up with that? We're getting fleeced!
Fonterra is milking us for all we're worth!
(enough farmyard jokes)
But at least those 2 litre bottles don't give us wrist strain.
Case in point: Manfred Trenz wrote Turrican on the C64, and later single-handedly wrote a Turrican game for the NES.
I never played the C64 games, but I've seen footage that looked extremely close to the Amiga versions I'm familiar with. That says a lot about how capable the C64 was in the right hands.
A nybble even!
Disagree that parenting is inherently a hard job.
The bar is set very low - you join the parenting club just by following your instincts, and after that the legal requirements for parenting aren't at all onerous.
Just make sure that the kids have a roof over their heads, food in their bellies, and no awkward bruises or breakages, and you're pretty much in the clear. You don't need a job, and you don't need to teach them jack. If your kids grow up to be lazy, stupid, obnoxious, criminal and/or bankrupt, that's not your problem.
Good parenting may be hard, but that depends on what standard of 'good' you set yourself as a parent. If you think parenting is hard because you hold yourself to high standards and care about the outcomes of your parenting, I'm with you on that.
By that logic 99%+ of people love glossy wide-screen displays on notebooks, and hate matte 4x3. And also by that logic I disagree with myself, as I carry an iPhone but no longer use my stylus-based PDA.
In the meantime I've also regressed to using paper for note-taking, which generally involves a lot of text and also some scribbles. That's not progress.
Worse, what if the stupid stylus gets lost?
Use your finger. You shouldn't need a stylus for most applications. Like I said, it's a UI issue.
Furthermore, who draws pictures on their phone? No one cares about that.
The #1 paid iPhone app today is Draw Something. (Your region may vary.)
IMO, lack of support for stylus input has always been the main disadvantage of the iPhone and similar devices, compared to older smartphones and PDAs.
Resistive touchscreens are just fine for driving with your finger. The trick is to design the UI so that the buttons are big enough.
I found text input with Fitaly and a stylus to be vastly superior to the iPhone's on-screen keyboard, albeit with a steeper learning curve. But to be fair this is more due to crippled software rather than the choice of screen technology, and if it was officially supported I'd probably be just as happy with Swype or a Dvorak layout as I was with Fitaly.
Drawing apps are also much better with native stylus support. I've tried styluses made for the iPhone, but they're not much better than improvising with a sausage. At least you can eat the sausage if you get peckish.
The application that came to mind for me (but not in TFA) is duplicating those artifacts in Taiwan so that they can be displayed in the real Forbidden City. (This is China, so people have to be relaxed about authenticity anyway.)
The artifacts under curation in Taiwan are exhibited at the National Palace Museum.
Interesting bit from that Wikipedia article: