See, for example, https://greaterthanknowledge.wordpress.com/2010/03/01/an-ins...
The book was published in 1979. It would be fun to hear of similar techniques used even earlier.
833 karma · joined July 19, 2008
See, for example, https://greaterthanknowledge.wordpress.com/2010/03/01/an-ins...
The book was published in 1979. It would be fun to hear of similar techniques used even earlier.
Em-dosbox and emscripten are really amazing projects. An emulator is cross-compiled to JavaScript, which is then JITed in your browser's js VM. It's not only amazing that it works, but also that it runs pretty well (compared to native dosbox, it's only a little bit slower on some programs).
I'm just saying that for some people, you may want to first try out the general tips from sleep experts. Do that seriously for a good while (I think it took me several months). Then you can try more advanced stuff.
Before you start avoiding std::string, note that the article said that one of the problems was that they went from std::string to C-strings and then allocated a new std::string. This often happens when you use both kind of strings in your code. The takeaway is to stick either to C strings or use std::strings with reference passing, dropping down to c_str() when needed.
Library writers are free to implement it in any way that honors the standard. However, sometimes the requirements may lead to less than optimal implementations, I believe.
So as long as Chrome uses std::string for internal use only, there shouldn't be any problems. Using them across ABI boundaries, however, is another story.
I'm not aware of any systems that actually do this on a global level, but I have a feeling I may be surprised if I start looking around.
I've heard that remark several times. Which languages were faster than C back then, except assembly? Fortran? Algol? BCPL?
When it comes to measuring the performance of code like this, averaging run times is not the way to do it.
To remove the noise caused by context switching, just run the code many times and report the single fastest run you get. This should be the value closest to running the code on an OS without preemption (i.e. you want to measure how fast the code runs on the bare metal without interruption).
Even Facebook's Folly library [0] changed their benchmarking code from using statistics to just providing the fastest run. As the comments say:
// Current state of the art: get the minimum. After some
// experimentation, it seems taking the minimum is the best.
return *min_element(begin, end);
This is explained in the docs [1]:Benchmark timings are not a regular random variable that fluctuates around an average. Instead, the real time we're looking for is one to which there's a variety of additive noise (i.e. there is no noise that could actually shorten the benchmark time below its real value). In theory, taking an infinite amount of samples and keeping the minimum is the actual time that needs measuring.
[0]: https://github.com/facebook/folly/blob/master/folly/Benchmar...
[1]: https://github.com/facebook/folly/blob/master/folly/docs/Ben...
However, if you're serious about learning C then I strongly recommend getting the K&R book [0]. It's short and quickly gets down to business --- the first chapter alone gives you a condensed but working overview of the language as a whole.
Even experienced C programmers seem to keep the book around as it's good as a reference as well.
I strongly recommend people to learn C. It's a small, beautiful and very powerful language and the lingua franca for language ABIs. In fact, many popular dynamic languages are implemented in C (Python, Ruby, Lua and countless others).
Your time will be well spent!
[0]: http://en.wikipedia.org/wiki/The_C_Programming_Language
Haven't really used IRC since the mid-90s, but perhaps it's a good way to connect to other developers? Is there a representative YC channel?
Several mammalian species spontaneously align their body axis with respect to the Earth's magnetic field (MF) lines in diverse behavioral contexts.
You can read more at https://en.wikipedia.org/wiki/Magnetoception --- though, this is not without issues:
The largest issue affecting verification of an animal magnetic sense is that despite more than 40 years of work on magnetoception there has yet to be an identification of a sensory receptor.
I remember having read about this effect in homing pigeons, and the Wikipedia article also mentions that:
These results suggest that magnetite located in the beak of pigeons may be responsible for magnetoreception via trigeminal mediation. However, it has not been shown that the magnetite located in the beak of pigeons is capable of responding to a magnetic field with the Earth’s strength. Therefore the receptor responsible for magnetosensitivity in homing pigeons has not been cemented.
Without being an expert, it seems to me to be worthwhile research.
There is also the much more robust Chibi Scheme that implements all of R7RS.
Considerable work has been done on the weak Goldbach conjecture
culminating in a 2013 claimed proof by Harald Helfgott.
Taken from http://en.wikipedia.org/wiki/Goldbachs_conjecture#Rigorous_r...For the casual reader, there is a great novel by Apostolos Doxiadis based around Goldbach's conjecture: http://en.wikipedia.org/wiki/Uncle_Petros_and_Goldbach%27s_C...
(Doxiadis's "Logicomix" is also recommended)
The 40-hour work week is the norm --- it most definitely is not a lie. Of course, some high-end jobs, e.g., in finance, will naturally require more but usually pays more as well.
I can't comment on living expenses. If you come from the Bay Area, you'll probably find them low in most of Norway. I don't think taxes are particularly high, when comparing your whole economy. E.g., you don't need extra medical insurance, you don't need to save for your children's college tuition, etc. I pay around 30-40% on a decent pay.
But --- yes, it's not all bliss. But given the situation in large parts of Europe, Norway's strong economy and low unemployment, I'd recommend people to take a look.
Of the few SCUMM script examples I've seen, I can't seem to understand what Gilbert means when he says: "It did things Lua could never dream of." The ability to control a C64 from a UNIX box? That actually sounds a lot like Naughty Dog's GOAL: https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
Some tidbits:
* "The existence of such one-way functions is still an open conjecture. In fact, their existence would prove that the complexity classes P and NP are not equal"
* "It is not sufficient to make a function 'lossy' (not one-to-one) to have a one-way function."
* "The existence of a one-way function implies the existence of many other useful concepts, including: [PRNGs, MACs, etc.]"
A list of packages (called "eggs") is available at http://wiki.call-cc.org/chicken-projects/egg-index-4.html
(Disclaimer: I don't know much about Gambit, and cannot comment on their respective implementation capabilities.)
Most books I've found so far are merely coffee table books: Pages of very nice illustrations, but weak on explaining the theory and principles of applying it to, e.g., a book, poster or website.
Does anybody know of such books? What do serious students of graphic design read? Is the book "Universal principles of design" a good fit?
EDIT: I see it's also linked in the article.
http://www.ted.com/talks/dan_buettner_how_to_live_to_be_100....
Of course, you lose the ability to use vim copy buffers between the processes, but it works well and I like the look of it.
http://en.wikipedia.org/wiki/The_Axis_of_Awesome#Four_Chords...
They've said that the chords are used by some of the most well known songs in the world, and their performance demonstrates this nicely, as in this clip:
http://www.youtube.com/watch?v=oOlDewpCfZQ
The above link is the official video; but they explain their reasoning better in this live performance: