`); let searchUrl = `/search/`; history.forEach((elem) => { prevsearch.find('#prevsearch-options').append(`
${elem} `); }); } $('#search-pretype-options').empty(); $('#search-pretype-options').append(prevsearch); let prevbooks = $(false); [ {title:"Recently Opened Textbooks", books:previous_books}, {title:"Recommended Textbooks", books:recommended_books} ].forEach((book_segment) => { if (Array.isArray(book_segment.books) && book_segment.books.length>0 && nsegments<2) { nsegments+=1; prevbooks = $(`
${book_segment.title} `); let searchUrl = "/books/xxx/"; book_segment.books.forEach((elem) => { prevbooks.find('#prevbooks-options'+nsegments.toString()).append(`
${elem.title} ${ordinal(elem.edition)} ${elem.author} `); }); } $('#search-pretype-options').append(prevbooks); }); } function anon_pretype() { let prebooks = null; try { prebooks = JSON.parse(localStorage.getItem('PRETYPE_BOOKS_ANON')); }catch(e) {} if ('previous_books' in prebooks && 'recommended_books' in prebooks) { previous_books = prebooks.previous_books; recommended_books = prebooks.recommended_books; if (typeof PREVBOOKS !== 'undefined' && Array.isArray(PREVBOOKS)) { new_prevbooks = PREVBOOKS; previous_books.forEach(elem => { for (let i = 0; i < new_prevbooks.length; i++) { if (elem.id == new_prevbooks[i].id) { return; } } new_prevbooks.push(elem); }); new_prevbooks = new_prevbooks.slice(0,3); previous_books = new_prevbooks; } if (typeof RECBOOKS !== 'undefined' && Array.isArray(RECBOOKS)) { new_recbooks = RECBOOKS; for (let j = 0; j < new_recbooks.length; j++) { new_recbooks[j].viewed_at = new Date(); } let insert = true; for (let i=0; i < recommended_books.length; i++){ for (let j = 0; j < new_recbooks.length; j++) { if (recommended_books[i].id == new_recbooks[j].id) { insert = false; } } if (insert){ new_recbooks.push(recommended_books[i]); } } new_recbooks.sort((a,b)=>{ adate = new Date(2000, 0, 1); bdate = new Date(2000, 0, 1); if ('viewed_at' in a) {adate = new Date(a.viewed_at);} if ('viewed_at' in b) {bdate = new Date(b.viewed_at);} // 100000000: instead of just erasing the suggestions from previous week, // we just move them to the back of the queue acurweek = ((new Date()).getDate()-adate.getDate()>7)?0:100000000; bcurweek = ((new Date()).getDate()-bdate.getDate()>7)?0:100000000; aviews = 0; bviews = 0; if ('views' in a) {aviews = acurweek+a.views;} if ('views' in b) {bviews = bcurweek+b.views;} return bviews - aviews; }); new_recbooks = new_recbooks.slice(0,3); recommended_books = new_recbooks; } localStorage.setItem('PRETYPE_BOOKS_ANON', JSON.stringify({ previous_books: previous_books, recommended_books: recommended_books })); build_popup(); } } var whiletyping_search_object = null; var whiletyping_search = { books: [], curriculum: [], topics: [] } var single_whiletyping_ajax_promise = null; var whiletyping_database_initial_burst = 0; //number of consecutive calls, after 3 we start the 1 per 5 min calls function get_whiletyping_database() { //gets the database from the server. // 1. by validating against a local database value we confirm that the framework is working and // reduce the ammount of continuous calls produced by errors to 1 per 5 minutes. return localforage.getItem('whiletyping_last_attempt').then(function(value) { if ( value==null || (new Date()) - (new Date(value)) > 1000*60*5 || (whiletyping_database_initial_burst < 3) ) { localforage.setItem('whiletyping_last_attempt', (new Date()).getTime()); // 2. Make an ajax call to the server and get the search database. let databaseUrl = `/search/whiletype_database/`; let resp = single_whiletyping_ajax_promise; if (resp === null) { whiletyping_database_initial_burst = whiletyping_database_initial_burst + 1; single_whiletyping_ajax_promise = resp = new Promise((resolve, reject) => { $.ajax({ url: databaseUrl, type: 'POST', data:{csrfmiddlewaretoken: "1p6j5rrIeB6oEeNn7fMvJa8FJBqnDYSnqs4YziIxQns09IutFmOfnluMa039YzvV"}, success: function (data) { // 3. verify that the elements of the database exist and are arrays if ( ('books' in data) && ('curriculum' in data) && ('topics' in data) && Array.isArray(data.books) && Array.isArray(data.curriculum) && Array.isArray(data.topics)) { localforage.setItem('whiletyping_last_success', (new Date()).getTime()); localforage.setItem('whiletyping_database', data); resolve(data); } }, error: function (error) { console.log(error); resolve(null); }, complete: function (data) { single_whiletyping_ajax_promise = null; } }) }); } return resp; } return Promise.resolve(null); }).catch(function(err) { console.log(err); return Promise.resolve(null); }); } function get_whiletyping_search_object() { // gets the fuse objects that will be in charge of the search if (whiletyping_search_object){ return Promise.resolve(whiletyping_search_object); } database_promise = localforage.getItem('whiletyping_database').then(function(database) { return localforage.getItem('whiletyping_last_success').then(function(last_success) { if (database==null || (new Date()) - (new Date(last_success)) > 1000*60*60*24*30 || (new Date('2023-04-25T00:00:00')) - (new Date(last_success)) > 0) { // New database update return get_whiletyping_database().then(function(new_database) { if (new_database) { database = new_database; } return database; }); } else { return Promise.resolve(database); } }); }); return database_promise.then(function(database) { if (database) { const options = { isCaseSensitive: false, includeScore: true, shouldSort: true, // includeMatches: false, // findAllMatches: false, // minMatchCharLength: 1, // location: 0, threshold: 0.2, // distance: 100, // useExtendedSearch: false, ignoreLocation: true, // ignoreFieldNorm: false, // fieldNormWeight: 1, keys: [ "title" ] }; let curriculum_index={}; let topics_index={}; database.curriculum.forEach(c => curriculum_index[c.id]=c); database.topics.forEach(t => topics_index[t.id]=t); for (j=0; j
Solutions
Textbooks
`); } function build_solutions() { if (Array.isArray(solution_search_result)) { const viewAllHTML = userSubscribed ? `View All` : ''; var solutions_section = $(` Solutions ${viewAllHTML} `); let questionUrl = "/questions/xxx/"; let askUrl = "/ask/question/xxx/"; solution_search_result.forEach((elem) => { let url = ('course' in elem)?askUrl:questionUrl; let solution_type = ('course' in elem)?'ask':'question'; let subtitle = ('course' in elem)?(elem.course??""):(elem.book ?? "")+" "+(elem.chapter?"Chapter "+elem.chapter:""); solutions_section.find('#whiletyping-solutions').append(` ${elem.text} ${subtitle} `); }); $('#search-solution-options').empty(); if (Array.isArray(solution_search_result) && solution_search_result.length>0){ $('#search-solution-options').append(solutions_section); } MathJax.typesetPromise([document.getElementById('search-solution-options')]); } } function build_textbooks() { $('#search-pretype-options').empty(); $('#search-pretype-options').append($('#search-solution-options').html()); if (Array.isArray(textbook_search_result)) { var books_section = $(` Textbooks View All `); let searchUrl = "/books/xxx/"; textbook_search_result.forEach((elem) => { books_section.find('#whiletyping-books').append(` ${elem.title} ${ordinal(elem.edition)} ${elem.author} `); }); } if (Array.isArray(textbook_search_result) && textbook_search_result.length>0){ $('#search-pretype-options').append(books_section); } } function build_popup(first_time = false) { if ($('#search-text').val()=='') { build_pretype(); } else { solution_and_textbook_search(); } } var search_text_out = true; var search_popup_out = true; const is_login = false; const user_hash = null; function pretype_setup() { $('#search-text').focusin(function() { $('#search-popup').addClass('show'); resize_popup(); search_text_out = false; }); $( window ).resize(function() { resize_popup(); }); $('#search-text').focusout(() => { search_text_out = true; if (search_text_out && search_popup_out) { $('#search-popup').removeClass('show'); } }); $('#search-popup').mouseenter(() => { search_popup_out = false; }); $('#search-popup').mouseleave(() => { search_popup_out = true; if (search_text_out && search_popup_out) { $('#search-popup').removeClass('show'); } }); $('#search-text').on("keyup", delay(() => { build_popup(); }, 200)); build_popup(true); let prevbookUrl = `/search/pretype_books/`; let prebooks = null; try { prebooks = JSON.parse(localStorage.getItem('PRETYPE_BOOKS_'+(is_login?user_hash:'ANON'))); }catch(e) {} if (prebooks && 'previous_books' in prebooks && 'recommended_books' in prebooks) { if (is_login) { previous_books = prebooks.previous_books; recommended_books = prebooks.recommended_books; if (prebooks.time && new Date().getTime()-prebooks.time<1000*60*60*6) { build_popup(); return; } } else { anon_pretype(); return; } } $.ajax({ url: prevbookUrl, method: 'POST', data:{csrfmiddlewaretoken: "1p6j5rrIeB6oEeNn7fMvJa8FJBqnDYSnqs4YziIxQns09IutFmOfnluMa039YzvV"}, success: function(response){ previous_books = response.previous_books; recommended_books = response.recommended_books; if (is_login) { localStorage.setItem('PRETYPE_BOOKS_'+user_hash, JSON.stringify({ previous_books: previous_books, recommended_books: recommended_books, time: new Date().getTime() })); } build_popup(); }, error: function(response){ console.log(response); } }); } $( document ).ready(pretype_setup); $( document ).ready(function(){ $('#search-popup').on('click', '.search-view-item', function(e) { e.preventDefault(); let autoCompleteSearchViewUrl = `/search/autocomplete_search_view/`; let objectUrl = $(this).attr('href'); let selectedId = $(this).data('objid'); let searchResults = []; $("#whiletyping-solutions").find("a").each(function() { let is_selected = selectedId === $(this).data('objid'); searchResults.push({ objectId: $(this).data('objid'), contentType: $(this).data('contenttype'), category: $(this).data('category'), selected: is_selected }); }); $("#whiletyping-books").find("a").each(function() { let is_selected = selectedId === $(this).data('objid'); searchResults.push({ objectId: $(this).data('objid'), contentType: $(this).data('contenttype'), category: $(this).data('category'), selected: is_selected }); }); $.ajax({ url: autoCompleteSearchViewUrl, method: 'POST', data:{ csrfmiddlewaretoken: "1p6j5rrIeB6oEeNn7fMvJa8FJBqnDYSnqs4YziIxQns09IutFmOfnluMa039YzvV", query: $('#search-text').val(), searchObjects: JSON.stringify(searchResults) }, dataType: 'json', complete: function(data){ window.location.href = objectUrl; } }); }); });
FAQs
The tautological cynical wisdom, 'Whereof one cannot speak, thereof one must be silent' is the opposite of this ethical injunction, since, on the ethical reading it means: Even if you know you cannot keep quiet about it, do not talk about it, since talking about it would pose too much of a threat to you.
What does Ludwig Wittgenstein mean when he said that the limits of my language are the limits of my world? ›
“The limits of my language means the limits of my world.” Ludwig Wittgenstein. We need language to communicate, yet its very construction is often a barrier to achieving that objective. I am not referring to languages from different countries here – simply how we speak to one another in a common language.
What was the main idea of Wittgenstein's philosophy? ›
The Sense and Nonsense of Philosophy
Alternatively, Wittgenstein thought that it was impossible for philosophy to 'get it right' and that science was the only kind of knowledge that was factual. Instead, he believed the purpose of philosophy was to find explanations that allowed people to picture the world.
What does Wittgenstein say about the meaning of a word is its use in the language? ›
Having been criticized the fixed meaning theory in Investigations, Wittgenstein brings the notion of use of a word 'in a context and not outside the context' while trying to understand the meaning of the word because if its meaning is questioned outside the context, then it would be meaningless as the meaning of a word ...
What is the meaning of when the whole world is silent even one voice becomes powerful? ›
Explanation: In social and political contexts, the phrase 'when the whole world is silent even one voice becomes powerful' refers to the idea that when everyone is quiet or scared to speak up, even a single voice can have a significant impact and bring about change.
What cannot be said in Wittgenstein? ›
These words coincide Wittgenstein's statement in his introduction to the Tractatus: The whole sense of the book might be summed up in the following words: what can be said at all can be said clearly, and what we can- not talk about we must pass over in silence.
What does Wittgenstein say about meaning? ›
Wittgenstein is of the view that 'meaning', 'explanation of meaning' and 'understanding' are interrelated concepts. The relation that holds among them is expressed in the following words: 'Meaning is the content of understanding and understand- ing is the correlate of explanation.
What is the theory of Ludwig Wittgenstein? ›
In the early part of his professional life Wittgenstein developed the 'picture theory' of language. He believed that there were 'atomic propositions' in language which mirrored the structure of reality.
What does Wittgenstein tell us about ordinary language? ›
In the posthumous Philosophical Investigations (1953), Wittgenstein advocated that, in solving philosophical problems, an understanding of how language is used is more important than its abstract meaning (i.e., the context in which a sentence is uttered may be more useful in determining its meaning than its innate ...
What was Wittgenstein's view on God? ›
Wittgenstein in his earlier mysticism suggests that ethics and God are finally beyond what language can speak to sensibly, so they remain matters silently attested to. One must climb beyond the problems of language and logic. Once such questions are answered, life is to be lived, acted out.
But whichever choice is made here, we can see that the core of Wittgenstein's proposal about sentential truth is the idea that only when the things meant (or expressed, or represented) have a certain special quality (—either being actual, or being factual, or obtaining, or existing, or agreeing with reality, …—) can ...
What is the problem of philosophy according to Wittgenstein? ›
According to later Wittgenstein the problem of philosophy is the occupational disease of linguistic philosopher. He goes on to say that when a person thinks about something philosophically, he inevitably becomes puzzled. But, he hopes that a good philosopher might have managed to avoid it.
What does Wittgenstein say about language and reality? ›
This is implicated in Wittgenstein's Tractatus Logico-Philosophicus (early Wittgenstein), wherein he sees language as having a fixed meaning and as picturing reality. On the contrary, it would seem that reality is not fixed; the world is ever-changing.
What are the limits of language according to Wittgenstein? ›
What did Wittgenstein mean by that anyway? Wittgenstein is implying a limit to language in the first place, making a clear distinction between “what can be said” and “what we cannot talk about”.
What is Wittgenstein's picture theory? ›
To recap, Wittgenstein argues that the meaning of a sentence is just what it pictures. Its meaning tells us how the world is if the sentence is true, or how it would be if the sentence were true; but the picture doesn't tell us whether the sentence is in fact true or false.
What do philosophers say about silence? ›
To Wittgenstein silence has definitely a positive meaning: it is an integral part of philosophizing. Silence is no longer conceived as the mere absence of speech, but rather as its transcendence; while the necessity of the transcendence is due exclusively to the limitation of language.
What is the last line of the Tractatus? ›
It ends the book with the proposition "Whereof one cannot speak, thereof one must be silent" (German: Wovon man nicht sprechen kann, darüber muss man schweigen).
What does the world is everything that is the case mean? ›
The world, Wittgenstein says, is “everything that is the case,” meaning all possible states of affairs that can occur. ( Tractatus Logico-Philosophicus 1-2.0141. The point, as Wittgenstein goes on to explain, is that the world “is the totality of facts, not things.”
What can be said can be said clearly.? ›
What can be said at all can be said clearly; and whereof one cannot speak thereof one must be silent. The world is everything that is the case. Death is not an event in life: we do not live to experience death. The limits of my language mean the limits of my world.