Project Aon has all the Lone Wolf books in a variety of formats, including a machine readable format, which they have used to produce similar diagrams of the books' structures. Joe Dever have them permission to distribute the books for free some years ago (you can also now buy them as ebooks, I think). They're all at https://www.projectaon.org/
HN user
voyou
TBH, I think the main difficulty is caused by people claiming there's some huge difference between prototype based and class based OO. There isn't, really (at least, not if you're comparing JavaScript and other widely used dynamic OO languages; prototype-based languages which emphasise copying, rather than delegation, are a bit more different).
In both cases, you can share behaviour between objects by putting that behaviour in another object and attaching it in a special way to the objects that should have similar behaviour - in JavaScript it's called __proto__, in Python it's called __class__, etc. Python (and Ruby, Smalltalk, and others) introduce an additional "meta" level of shared behaviour between all these class objects, whereas JavaScript (and Self) don't, but that's a comparatively technical implementation detail. Most languages other than JavaScript are include slightly more language-level support for one particular pattern of using this shared behaviour, which gives users of these languages a strong hint as to how to use these capabilities.
The addition of a class keyword to JavaScript is good because it emphasises what JavaScript shares with other dynamic OO languages.
"The second blank ""is the empty space where the field value goes."
I'm not sure I understand what you're saying here, but I don't think this is right. cleaned_data is a dictionary, and so the second argument to get is a default value to use if there is no value corresponding to the key. So, in your example, if there's no value for "formfield1" in cleaned_data, it would return a string with a space in.
This is probably not what you want to do. cleaned_data will always contain values for declared form fields, so the only way the default would be used is if you've made a mistake in specifying the key (for instance, if there's a typo and you've written 'formfeild1' instead of 'formfield1'). If you've made that kind of mistake, you don't want the program to continue using a single space instead of the valid data (you'll lose data) - you want the program to report that there's something wrong.
So I think you should probably use
form.cleaned_data['formfield1']
which will do the same thing if formfield1 is a real field name specified in the form, but will raise an exception if it isn't."You know, I studied 3 separate modules on formal logic.... I learnt more about logic from a single 1 hour high school electronics lesson than I ever did from all that."
Can you say more about that? I can't make any sense of it. In a 1 hour electronics lesson, you'ld presumably cover the gates, i.e., propositional calculus. In a first logic module, you'ld learn that and another, richer, form of logic, the predicate calculus. You'ld also learn about the proof procedures for both, which ought to lead on to learning the (to my mind, interesting and important) fact that there's a mechanical procedure that's guaranteed to prove or disprove any argument in propositional calculus, but there's no such procedure for predicate calculus. Later logic courses would probably include some formal semantics, so you'ld learn about the (again, to my mind significant) distinction between what makes something true, and how we prove that something is true. Did you learn all these things in your one hour high school electronics lesson? Or are they somehow not "meaningful" or "complicated"?
"Python has an "invisible close brace" character, the newline, which closes a varying number of braces"
The idea that the end of a block is invisible isn't really right, though. The newline doesn't end the block. The block ends at the next line containing non-whitespace text at a lower indentation level. In other words, it only ends when it becomes visible that it has ended.
RSS 2.0 does actually allow HTTPS URLs[1]. The author of the blog post appears to be misreading a StackOverflow comment which is specifically about <enclosure> elements, which are the only URLs that the RSS spec restricts to HTTP.
Protocol-less URLs are usually a bad idea. They mean "use http or https depending on whatever the current page is", but there are very few situations where that is a useful way of making that decision. What you should do is specify https in the link, unless you know that the target site doesn't support https, in which case of course you have to specify http.
If the model is being updated based on results as they come in, and the results coming in are not randomly distributed, then the updates will be of questionable value. In particular, this update came when a large number of predicted pro-leave results had come in, and no results from predicted strong pro-remain results had come in, so I'm not sure it has much value as a prediction.
Pointer arithmetic isn't "something that I will surely never want to do"; it's something you want to do all the time in C (and therefore in C++ written in a more C-like style). Illegitimate uses of pointer arithmetic, such as your example, are only easy to detect in trivial cases like yours. I assume this is why no one has bothered implementing a warning for this special case.
In C++, directly using pointers to access arrays is often discouraged, in favour of using the standard collection types and their associated iterator types. So in code that follows this style, it is possible to warn about uses of pointer arithmetic, and the core C++ guidelines do suggest such a warning. But the guidelines also point out that "this rule would generate a huge number of false positives if applied to an older code base": https://github.com/isocpp/CppCoreGuidelines/blob/master/CppC...
"I want to write Python code that spits out the HTML and JavaScript required for these interfaces and I still want to handle all the logic in Python."
This sounds a lot like PyJS: http://pyjs.org/
Aren't Medium posts repeating cliched arguments contrasting the author with the supposed superficiality of the masses a pretty clear example of "a tool to elevate your perceived social status"?
There's one pretty clear difference: the bubblegum seller isn't offering the bubblegum at no cost, so they're saying "I made something, I think you're willing to pay for it, so I deserve to get paid." The publisher of ad-supported content is saying "I made something, I don't think you're willing to pay for it, but I deserve to get paid anyway." So it's the publisher who thinks that "something that many people choose to read has no value"; they just haven't yet realised the logical consequence of this evaluation of their product is that they won't get paid for it, either.
Reminded me of this, from Douglas Adams's Dirk Gentley's Holistic Detective Agency:
"An Electric Monk is a labour-saving device, like a dishwasher or a video recorder. Dishwashers wash tedious dishes for you, thus saving you the bother of washing them yourself, video recorders watch tedious television for you, thus saving you the bother of looking at it yourself; Electric Monks believe things for you, thus saving you what is becoming an increasingly onerous task, that of believing all the things the world expect you to believe."
Ah yes, the "flipped classroom." Or, as it's been called for 30 years or more "the classroom."
"Currently, as long as people are online, there's a certain guarantee that they will see it."
Currently, if your followers scroll through all their tweets, they are guaranteed to see everything you post. The same is true with the new system, as it's described in the blog post, although they might see some other tweets before yours, if the algorithm decides to prioritise them. Perhaps Twitter will later introduce a more Facebook-like system where users have "the option to only see popularly selected tweets", but that's not what they're currently proposing.
"there is a HUGE financial incentive on the part of sellers"
At least up until now, there have been ad sales, which you can think of as an incredibly heath-robinson micropayment system: a small amount of what I pay for every product I buy goes to their marketing department, which passes on a smaller amount to advertising firms, which give it to websites. The viability of advertising largely removed the incentive to develop micropayment systems; hopefully that's now changing.
Well, this I suppose this is a "Silicon Valley style solution," in that it's handwaving bullshit written by someone with absolutely no knowledge of what they're talking about.
I'm not sure what you mean about Gandi charging $20 to move the DNS to Cloudflare? I'm using Cloudflare to add HTTPS to a website on a domain registered with Gandi, and it hasn't cost me anything above the usual domain registration fee.
"Medium is the next generation of magazine"
Magazines exercise editorial control, so they provide some some kind of signal of the kind and quality of writing you're going to get. Medium doesn't do that, so in an analogy to print publication, it would be more like... paper? a printing press?
Actually, Medium is just like the internet, except there's only one Medium and there's lots of the rest of the internet. Medium is the next generation of AOL.
Except that Unix also allows "-" in the filename, and as far as I know always has done. Using "--" to mark that all subsequent arguments should be treated as filenames rather than options has worked fine to allow Unix programs to access files beginning with a dash (including files called "--").
The actual reason that DOS uses "/" to mark options isn't technical, it's purely historic: that was the character that CP/M used.
This reminds me of something I read a few weeks ago: http://www.theguardian.com/lifeandstyle/2015/nov/20/oliver-b...
"For us list addicts, Forster proposes a minimalist alternative system. On a piece of paper, write down only the five most important tasks you can think of. Then do them, in order, crossing them off as you go. (If you stop before completing one, add it again at the end.) Once the list is only two items long, add three more, to bring the total back to five. Then repeat.
"The point of this austere approach is that you’re regularly required to ask what really needs doing, since there are only five slots. With a conventional list, there are unlimited slots – and it’s hugely tempting to plough through inessential tasks, just to cross them off. But what if you forget crucial things, using Forster’s method, because you didn’t write them down? His response: they probably didn’t matter to begin with."
I don't know that Italy and new gastronomy are as incongruous as this article suggests. Arguably, the Italian futurists invented new gastronomy: http://thenewinquiry.com/blogs/the-austerity-kitchen/red-hol...
"What if a Twitter account and Hacker News account have the same id? According to this protocol, they are equal."
Maybe that's the desired behaviour?
There's an interesting discussion on the Portland Pattern Repository about the shift in meaning in MVC from the way it was originally used in Smalltalk to the very different way it's used in most MVC frameworks today: http://c2.com/cgi/wiki?WhatsaControllerAnyway
Universities shouldn't be safe spaces, I quite agree. That's why I'm so glad my alma mater had packs of lions roaming the campus.
Obviously there are all kinds of things we do to ensure that universities are safe in different ways, and we find ways to try and ensure this safety doesn't interfere too much with learning. Why shouldn't this concern for safety extend to the mental health of students? Chanting "universities are not safe spaces" is a way of avoiding thinking about what kinds of safety we already provide or could provide, and how we can combine these kinds of safety with the challenging education that everyone recognizes is an important part of higher education.
Not, you're not the only person who uses it the same way. Indeed, it's incomprehensible to me that people would intentionally change how they use something that they know is functionally identical just because it has a different image and word associated with it. I can see how the change might have a more subtle, subconscious influence over the long term.
If you're looking for a static site generator that's as easy to use as Wordpress, you could consider using Wordpress. Wordpress caching plugins can generate static HTML which then gets served to visitors directly by Apache or Nginx, without hitting PHP at all.
It's not just that most people are bad writers; people generally get worse at basic writing skills (grammar, sentence structure) when they are writing about unfamiliar or complex topics. When academics are reporting on their ongoing research, at least part of what they want to say will be ideas with which they have only recently become familiar, and the clarity of their writing will suffer as a result.
Yeah, the article just drops that paragraph in without explaining what's supposed to be so bad about it. Indeed, the article says almost nothing about what criteria we could use to judge if writing is needlessly complex or opaque.
You can delete them (or at least, request that Google delete them); either by selecting the checkbox next to each recording, or by choosing "Delete options" from the vertical-line-of-three-dots icon in the top right. What it looks like you can't do is ask Google not to keep anonymized recordings of voice searches etc that you make in the future.