If you sell hardware, you have to deal with CE/FCC/RoHS and -worst of all- WEEE compliance, to name just a few. In comparison, GPDR is a piece of cake. Just sayin.
The distortion sounds like it is applied to individual strings, if it were applied after summing, it would not only resemble more a real electric guitar, but also sum- and difference frequencies of detuned strings would be audible much nicer as beating.
Furthermore, the intervals E-A/A-D/D-G and B-E are not exactly perfect fourths, they should be equal tempered. Luckily the difference is almost negligible for the fourth, the perfect interval would be 4/3 = 1.3333 versus 2^(5/12) = 1.3348 for equal temperament. The interval G-B however is a major third, here the perfect interval is 5/4 = 1.25 while equal tempered is 2^(4/12) = 1.26 Those minor errors accumulate if one string is tuned based on the preceding one, the interval from lowest to highest strings can be calculated:
(4/3)^4 * 5/4 = 3.95 for perfect intervals,
2^(4 * 5/12) * 2^(4/12) = 4 for equal temperament.
The highest string should be exactly two octaves (= a factor of 4) above the lowest one, so the equal temperament should be preferred. A practical result is that tuning a guitar using only intervals of adjacent strings will never really converge to the ideal result, so tuning (fretted) octaves and flageolets should be used in addition.
The distortion sounds are being distorted on individual strings, as opposed to after summing. If you look at the credits, and follow the link to the sound sources, you can find the files used. If you listen, you'll be able to match them up. While I agree that the distortion should happen after summing, I suspect the playing and summing of individual already-distorted string sounds was done because that's what could be implemented simply and easily. Applying distortion after summing may well require more extensive coding, or stuff that's computationally intensive enough to slow down the browser (I don't know this for certain, I'm guessing).
I'm not faulting the author for this, I probably would have done the same.
Now that I type this out, I find myself curious just how much work it would take to implement a software-modelled distortion in the browser. I guess that's another entry for my list of "Hey, wouldn't it be neat if I could do $FOO" type projects.
At least these guys commented, nowadays the paradigm "Identifiers are comments" seems to prevail. Technically this might be good, but reading such code is an experience equivalent to eating unsalted fries.
On a scale from x to ListOfSinglePeopleWhoHasADogButNoCar I'd say that "self documenting" code tend to be quite a lot more so than some of the alternatives I've seen.
However, if someone claims to write self documenting code, and by that think it's enough to have long variable names and skip comments, then I can understand the sentiment above coming into existance.
In "identifiers are comments" paradigm the goal isn't only to just skip comments, but also to structure the code in a way so that it's as clear as possible what it does and why. This helps much more than a long comment block hidden somewhere in a big ball of spaghetti code.
Comments aren't a panacea either, as they take effort to write in a helpful way, often only occurs once (so you'd have to find the place where the purpose of x is defined) and of course, often are some level of wrong/outdated in relation to the purpose/function of the code.
Sometimes, it's not possible to write the code in a way that is clear, this could be for compatibility reasons or performance reasons. That is when comments really come into their light.
Usually not a big fan of regulation, but in this case I wish for gouvernements to stop this madness in a smilar way they stopped use of incandescent light bulbs.
So some positive feedback gets an app more attention - I get that, apps than infantilize their users are getting popular. But does it really have to be presented at precise intervals, calculated by a clever algorithm made by neuro-scientist? I doubt the impact will differ when triggered at slightly sanitized random intervals instead.
The Land of Laughs
Debut novel and masterpiece of Jonathan Carroll.
I need to read this regularly to readjust my antennae, otherwise I might become a complete jerk. Yes, I know this doesn't make any sense.
Am I the only one having a problem with the term "analog" for everything non-digital?
First of all digits can very well be analog to something, e.g. a CD contains digits analogous to sound pressure in a similar way a vinyl records has grooves analogous to sound.
Furthermore analog means quite the opposite of the "real thing" - as the name says, it is an analogy of something, not the thing itself.
I could just let go and accept the new meaning of analog, but I think the implication of using it this way leads to the false impression that everything digital is just fake and a mere approximation of the-real-thing. As someone who breathes digitally, this makes me a bit sad.
Compare with musical keyboards where not only key number but also the velocity matters, so each key has two electrical contacts, and the whole thing is usually scanned around 10kHz for proper velocity measurement. Although key contacts are arranged in a diode matrix, the latency is usually below 2 ms, even with good old MIDI.
So neither the keyboard matrix nor the debouncing justify a latency of 10 ms or above.
It is nice to see that latency is an issue in gaming now, similar to realtime audio, where most operating systems are still not very usable - with the exception of OS X.
Now that would be fun! I think it would be possible to achieve a reasonable typing speed given the right "keyboard layout" (aka the QWERTY equivalent for musical keyboards).
I agree with the article, but the arguments the author gives are not quite spot-on.
Ligatures render code unreadable, there is no way to see how to enter a particular character sequence that is shown as a ligature. They might beautify code for some individuals, but they should never be used for showing code in an public or explanatory context, like on the web. Some operators are no longer recognisable, a few just look wrong - a clear case where simplicity and functionality is sacrificed for style.
> they should never be used for showing code in an public or explanatory context
This I can definitely agree with.
The readability issue, in my opinion, is fine and coarse grained.
If I'm scanning my own code, having ligatures on is quicker for me to understand and is ultimately more readable. But (and this is a large but), when editing my own code, ligatures are useless and in the way. Thus I set my editor to remove all ligatures on active/highlighted lines.
Accusing you without specific reason so you cannot defend yourself is a bad form harassing. Consider to step up and demand either specifics of the accusation so you can defend yourself, or all charges being dropped immediately in combination of an excuse from your employer. Check your local law if you could threaten to sue them for misconduct if they are not willing to cooperate. Consider not to comply with their demands to restrict your communication, ask your coworkers in a friendly way if they know more or if there was anything you said that made them feel uncomfortable.
Thanks for your input! I have toyed with the idea of meeting with management and making such demands, but between being nervous of getting fired sooner than my internship already ending, I am reluctant to do so. On the other hand, I feel this may be good practice on how to approach a similar situation should one arise, and when I am in a permanent position. The single co-worker I asked (and generally confide in) was very shocked to hear this and had nothing bad to say about how I handle myself around other people in the company.
Talk to a lawyer. I highly doubt your internship will end well there, the way things are going. Do you really expect them to give you a good reference?
I think you have mostly learned all that you can, and you are wasting your time at that company, particulay as an intern. Depending on what you have planned afterwords, I'd probably just leave for another opportunity ASAP. Somebody already questioned the idea of them giving you a good reference, I wouldn't count on it and wouldn't waste anymore time.