master
Miloslav Ciz 2 years ago
parent 85660ae82e
commit 22af8b4635

@ -0,0 +1,5 @@
# Analytic Geometry
Analytic geometry is part of [mathematics](math.md) that solves [geometric](geometry.md) problems with [algebra](algebra.md); for example instead of finding an intersection of a line and a circle with ruler and compass, analytic geometry finds the intersection by solving an equation. This is very important in computing as computers of course just work with numbers and aren't normally capable of drawing literal pictures and drawing results from them -- that would be laughable. Analytic geometry finds use especially e.g. in [computer graphics](graphics.md), in methods such as [raytracing](raytracing.md) where we need to compute intersections of rays with various mathematically defined shapes in order to render 3D images. Of course the methods are used in other fields, for example [rocket science](rocket_science.md).
[Fun](fun.md) fact: approaches in the opposite direction also exist, i.e. solving mathematical problems physically rather than by computation. For example [back in the day](back_then.md) when there weren't any computers to compute very difficult [integrals](integral.md) and computing them by hand would be immensely hard, people literally cut physical function plots out of paper and weighted them in order to find the integral. Awesome oldschool [hacking](hacking.md).

@ -4,4 +4,8 @@
Antivirus paradox is the paradox of someone who's job it is to eliminate certain undesirable phenomenon actually having an interest in keeping this phenomenon existing so as to keep his job. A typical example is an [antivirus](antivirus.md) company having an interest in the existence of dangerous [viruses](virus.md) and malware so as to keep their business running; in fact antivirus companies themselves secretly create and release viruses and malware.
In [capitalism](capitalism.md) and other systems requiring people to have jobs this paradox prevents progress, i.e. actual elimination of undesirable phenomena, hence capitalism and similar systems are anti-progress. And not only that, the system pressures people to artificially creating new undesirable phenomena (e.g. lack of [women](woman.md) in tech and similar [bullshit](bs.md)) just to create new jobs that "fight" this phenomena. In a truly good society where people are not required to have jobs and in which people aim to eliminate [work](work.md) this paradox disappears.
It is a known phenomenon that many firefighters are also passionate arsonists because society simply rewards them for [fighting](fight_culture.md) fires (as opposed to rewarding them for the lack of fires).
In [capitalism](capitalism.md) and other systems requiring people to have jobs this paradox prevents progress, i.e. actual elimination of undesirable phenomena, hence capitalism and similar systems are anti-progress. And not only that, the system pressures people to artificially creating new undesirable phenomena (e.g. lack of [women](woman.md) in tech and similar [bullshit](bs.md)) just to create new jobs that "fight" this phenomena. In a truly good society where people are not required to have jobs and in which people aim to eliminate [work](work.md) this paradox disappears.
By extension this also leads to the creation of [bullshit jobs](bullshit_job.md), i.e. not only are there people with an interest on preserving negative phenomena but there are also people with an interest in creating new negative phenomena, "[fighting](fight_culture.md)" of which can then serve as a basis for creating a new job for themselves. For example if [LGBT](lgbt.md) inventions an issue of "not enough gay people in IT", they can then start creating "diversity departments" to guarantee themselves a comfy job.

@ -0,0 +1,15 @@
# Dog
Here is our dog. He doesn't judge you, he loves unconditionally. No matter who you are or what you did, this doggo will always be your best friend <3 We should all learn from this little buddy.
Send this to anyone who's feeling down :)
```
__
_ / \
(( / 0 0)
\\___\/ _o)
( | WOOOOOOOF
| /___| |(
|_)_) |_)_)
```

@ -4,6 +4,8 @@ Free (as in freedom) software is a type of [software](software.md) that's respec
Free software is also known as *free as in freedom* or *free as in speech* software. It is sometimes equated with [open source](open_source.md), even though open source is fundamentally different, or neutrally labelled FOSS (free and open-source software). Software that is gratis is sometimes called *free as in beer*.
**Is free software [communism](communism.md)?** This is a question often debated by [Americans](usa.md) who have a panic phobia of anything resembling ideas of sharing and giving away for free. The answer is: yes and no. No as in it's not [Marxism](marxism.md), the kind of [evil](evil.md) pseudocommunism that plagued Europe not long ago -- that was a hugely complex, twisted violent ideology encompassing whole society which furthermore betrayed many basic ideas of equality and so on. Compared to this free software is just a simple idea of not applying intellectual property to software, and this idea may well function under some form of early capitalism. But on the other hand yes, free software is communism in its general form that simply says sharing is good and sometimes necessary, it is communism as much e.g. charity or teaching a kid to share toys with its siblings.
# Definition
Free software was originally defined by [Richard Stallman](rms.md) for his [GNU](gnu.md) project. The definition was subsequently adjusted by other groups such as Debian and so nowadays there isn't a completely solid definition. However, all of these definition are very similar and are basically variations and subsets of the original one. The GNU definition of free software is paraphrased as follows:

@ -4,7 +4,7 @@
LGBT, LGBTQ+, LGBTQIKKAWTFJJJKKSSMMMAAK (lesbian [gay](gay.md), [bisexual](bisexual.md), [transsexual](tranny.md), [queer](queer.md) and whatever else they're gonna invent) is a [fascist](fascist.md) political group of terrorists whose gospel preaches superiority of certain selected minority sexual orientations. They are a highly [violent](violence.md), [bullying](bully.md) movement (not surprisingly centered in the [US](us.md)) practicing [censorship](censorship.md), Internet lynching ([cancel culture](cancel_culture.md)), discrimination, spread of extreme [propaganda](propaganda.md), [political correctness](political_correctness.md) and other [evil](evil.md).
Note that **not all gay people support LGBT**, even though LGBT wants you to think so. LGBT isn't just about being gay but about approving of a very specific ideology that doesn't automatically come with being gay.
Note that **not all gay people support LGBT**, even though LGBT wants you to think so. The relationship gay-LGBT is the same as e.g. the relationship German-Nazi. LGBT isn't just about being gay but about approving of a very specific ideology that doesn't automatically come with being gay.
LGBT works towards establishing [newspeak](newspeak.md) and [though crime](though_crime.md), their "pride" parades are not unlike military parades, they're mean to establish fear of their numbers. LGBT targets children and young whom their propaganda floods every day with messages like *"being gay makes you cool and more interesting"* so that they have a higher probability of developing homosexuality to further increase their ranks in the future. They also push the idea of children having same sex parents for the same reason.

@ -17,4 +17,8 @@ Vectors are basically sequences ([arrays](array.md)) of numbers, e.g. a vector o
Why work with vectors and matrices? Because these can represent certain things we encounter in math and programming better than numbers, e.g. vectors may represent points in space or velocities with directions and matrices may represent transformations.
With vectors and matrices we can perform similar operations as with "normal numbers", i.e. addition, subtraction, multiplication, but there are also new operations and some operations may behave differently. E.g. when dealing with vectors, there are multiple ways to "multiply" them: we may multiply a vector with a scalar but also a vector with vector (and there are multiple way to do this such as [dot product](dot_product.md) and [cross product](cross_product.md)). Matrix multiplication is, unlike multiplication of real numbers, non-[commutative](commutativity.md) (A times B doesn't necessarily equal B times A), but its still [distributive](distributivity.md). We can also multiply vectors with matrices but only those that have "compatible sizes". And we can also solve equations and systems of equations which have vectors and matrices in them.
With vectors and matrices we can perform similar operations as with "normal numbers", i.e. addition, subtraction, multiplication, but there are also new operations and some operations may behave differently. E.g. when dealing with vectors, there are multiple ways to "multiply" them: we may multiply a vector with a scalar but also a vector with vector (and there are multiple way to do this such as [dot product](dot_product.md) and [cross product](cross_product.md)). Matrix multiplication is, unlike multiplication of real numbers, non-[commutative](commutativity.md) (A times B doesn't necessarily equal B times A), but its still [distributive](distributivity.md). We can also multiply vectors with matrices but only those that have "compatible sizes". And we can also solve equations and systems of equations which have vectors and matrices in them.
## See Also
- [analytic geometry](analytic_geometry.md)

@ -18,7 +18,7 @@ Are you failure? Learn [which type](fail_ab.md) you are.
We have a **[C tutorial](c_tutorial.md)**! It [rocks](rock.md).
Pay us a visit on the [Island](island.md)! And come mourn with us in the [cathedral](cathedral.md), because **technology is dying**. The future is dark but we do our best to bring the light, even knowing it is futile.
Pay us a visit on the [Island](island.md) and pet our [dog](dog.md)! And come mourn with us in the [cathedral](cathedral.md), because **technology is dying**. The future is dark but we do our best to bring the light, even knowing it is futile.
LRS Wiki is [collapse](collapse.md) ready! Feel free to print it out, take it to your prep shelter. You may also print copies of this wiki and throw it from a plane into the streets. Thanks.
@ -44,6 +44,7 @@ If you don't know where to start, here are some suggestions. If you're new, the
- [type A/B fail](fail_ab.md)
- [C tutorial](c_tutorial.md)
- [pseudoleft](pseudoleft.md)
- [antivirus paradox](antivirus_paradox.md)
- [history](history.md)
And if you just want something more obscure and [fun](fun.md), check out these:

@ -30,6 +30,7 @@ These are mainly for [C](c.md), but may be usable in other languages as well.
- Search literature for **algorithms with better [complexity class](complexity_class.md)** (sorts are a nice example).
- For the sake of embedded platforms **avoid [floating point](floating_point.md)** as that is often painfully slowly emulated in software. Use [fixed point](fixed_point.md).
- **Early branching can create a speed up** (instead of branching inside the loop create two versions of the loop and branch in front of them). This is a kind of space-time tradeoff.
- **Reuse variable to save space**. A warning about this one: readability may suffer, mainstreamers will tell you you're going against "good practice", and some compilers may do this automatically anyway. Be sure to at least make this clear in your comments. Anyway, on a lower level and/or with dumber compilers you can just reuse variables that you used for something else rather than creating a new variable that takes additional RAM; the only prerequisite for "merging" variables is that the variables aren't used at the same time.
- **You can optimize critical parts of code in [assembly](assembly.md)**, i.e. manually write the assembly code that takes most of the running time of the program, with as few and as inexpensive instructions as possible (but beware, popular compilers are very smart and it's often hard to beat them). But note that such code loses portability! So ALWAYS have a C (or whatever language you are using) [fallback](fallback.md) code for other platforms, use [ifdefs](ifdef.md) to switch to the fallback version on platforms running on different assembly languages.
## When To Actually Optimize?

@ -1,10 +1,10 @@
# Pokitto
Pokitto is a very nice educational [open gaming console](open_console.md) friendly to [hacking](hacking.md) and [FOSS](foss.md). Its website is https://www.pokitto.com/.
Pokitto is a very nice educational [open gaming console](open_console.md) friendly to [hacking](hacking.md) and [FOSS](foss.md). It is also very family friendly, aiming to be used as an educational device for kids on schools, which doesn't at all take away any of its value for hardcore hackers. Its website is https://www.pokitto.com/.
Its great advantage is its great active and friendly community that's constantly writing software, documenting Pokitto and helping newcomers.
The console was created by Jonne Valola from Finland. He started the project on Kickstarter on April 28 2017, pledged over $27000 and released Pokitto in February 2018. { Jonne is a really nice guy who loves the project, always helps people and shared technical details. ~drummyfish }
The console was created by Jonne Valola from Finland. He started the project on Kickstarter on April 28 2017, pledged over $27000 and released Pokitto in February 2018. { Jonne is a really nice guy who loves the project, puts his soul into the project and always personally helps people and shares technical details of the console. ~drummyfish }
Pokito, unlike most other open consoles, is NOT based on [Arduino](arduino.md), but on [NXP](nxp.md)'s LPC11U6x [microcontroller](mcu.md) (MCU). Some features and specs of Pokitto are:
@ -22,4 +22,6 @@ Pokito, unlike most other open consoles, is NOT based on [Arduino](arduino.md),
- Programming via [USB](usb.md), works on [GNU](gnu.md)/[Linux](linux.md) with [gcc](gcc.md) ARM cross compiler. Supports a few languages: **[C++](cpp.md), [C](c.md), [MicroPython](micropython.md) and [Java](java.md)**.
- Custom [IDE](ide.md) for [noobs](noob.md): FemtoIde.
- Schematics and 3D print files available.
- A huge number of games and other software has already been written.
- A huge number of games and other software has already been written.
Downsides of Pokitto are that the community is an [open source](open_source.md) community rather than [free software](free_software.md) one, purists like us will find they lean towards [bloated](bloat.md) solutions even though the technical limitation of the console largely prevent their implementation. The web forums runs on [discourse](discourse.md) and requires [JavaScript](js.md) for interactivity. [Discord](discord.md) is also actively used for communication, even though some community members bridged it to free alternatives. The official library is relatively bloated and even contains some small pieces of unlicensed code from the MCU manufacturer -- they are very simple assembly snippets that may be easily replacaeble, but we should be cautious even about this. Anyway, a reasonably dedicated programmer might create a suckless Pokitto library without greater problems.

@ -0,0 +1,7 @@
# Programming Tips
This is a place for sharing some practical programming tips.
- **add by small steps**: When adding features/functionality etc. into your code, do it by very small steps and test after each step. Do NOT add multiple things at once. If you add 3 features at once and then find out the program doesn't work, you will have an extremely hard time finding out the bug because it may be in feature 1, feature 2, feature 3 or ANY COMBINATION of them, so you may very well never find the bug. If you instead test after adding each step, you find potential bugs immediately which will make fixing them very quick and easy.
- **no indentation for temporary code**: Tiny "workflow" tip: when adding new code, keep it unindented so that you know it's the newly added code and can delete it at any time. Only when you test the added code, indent it correctly to incorporate it as the final code. Of course, this fails in languages where indentation matters ([Python](python.md) cough cough) but similar effects can be achieved e.g. by adding many empty lines in front of/after the temporary code.
- **comments/preprocessor to quickly hide code**: It is a basic trick to comment out lines of code we want to temporarily disable. However preprocessor may work even better, e.g. in C if you want to be switching between two parts of code, instead of constantly commenting one part and uncommenting the other just use `#if 0` and `#else` directives around the two parts. You can switch between them by just changing 0 to 1 and back.

@ -10,4 +10,8 @@ In the real world absolutely pure selflessness may be very hard to find, partly
The latter is important to show that what's many times called selflessness nowadays is only **pseudoselflessness**, fake selflessness. This includes e.g. all the celebrities who publicly financially support charities; this seems like a nice gesture but it's of course just a PR stunt, the money spent on charities is money invested into promoting oneself, increasing fame, sometimes even tax hacking etc. This also goes for professional firefighters, doctors, [FOSS](foss.md) programmers that use licenses with conditions such as attribution etc. This is not saying the behavior of such people is always pure evil, just that it's not really selfless.
Selfless programs and art should be put into the [public domain](public_domain.md) with waivers such as [CC0](cc0.md). Using licenses (free or not) that give the programmer some advantage over others (even e.g. attribution) are not selfless.
Selfless programs and art should be put into the [public domain](public_domain.md) with waivers such as [CC0](cc0.md). Using licenses (free or not) that give the programmer some advantage over others (even e.g. attribution) are not selfless.
## See Also
- [dog](dog.md)

@ -21,16 +21,17 @@ Let's note a few positive and negative points about Wikipedia, as of 2022. Some
- Wikipedia's **website is pretty nice**, kind of minimalist, lightweight and **works without [Javascript](javascript.md)**.
- Wikipedia is very **friendly to computer analysis**, it provides all its data publicly, in simple and open formats, and doesn't implement any [DRM](drm.md). This allows to make a lot of research, in depth searching, collection of statistics etc.
- Wikipedia **drives the sister projects**, some of which are extremely useful, e.g. Wikimedia Commons, Wikidata or [MediaWiki](mediawiki.md).
- Even if politically biased, **Wikipedia may serve as a basis for [forks](fork.md) that fix the political bias** ([Metapedia](metapedia.md), [InfoGalacti](infogalactic.md), ...).
And the bad things are:
- Wikipedia is **censored and biased**, even though it [proclaims the opposite](https://en.wikipedia.org/wiki/Wikipedia:What_Wikipedia_is_not#Wikipedia_is_not_censored) (which makes it much worse by misleading people). "Offensive" material and material not aligned with [pseudoleftist](pseudoleft.md) propaganda is removed as well as material connected to some controversial resources (e.g the link to 8chan, https://8kun.top, is censored, as well as [Nina Paley](nina_paley.md)'s Jenndra Identitty comics and much more). There is a heavy **[pseudoleft](pseudoleft.md) and [soyence](soyence.md) bias** in the articles.
- Wikipedia includes material under **[fair use](fair_use.md)**, such as screenshots from proprietary games, which makes it partially [proprietary](proprietary.md), i.e. Wikipedia is technically **NOT 100% free**. Material under fair use is still proprietary and can put remixers to legal trouble (e.g. if they put material from Wikipedia to a commercial context), even if the use on Wikipedia itself is legal (remember, proprietary software is legal too).
- Wikipedia often suffers from writing inconsistency, bad structure of text and **poor writing** in general. In a long article you sometimes find repeating paragraphs, sometimes a lot of stress is put on one thing while mentioning more important things only briefly, the level of explanation expertness fluctuates etc. This is because in many articles most people make small contributions without reading the whole article and without having any visions of the whole. And of course there are many contributors without any writing skills.
- Wikipedia is **too popular** which has the negative side effect of becoming a political battlefield. This is one of the reasons why there has to be a lot of **bureaucracy**, including things such as **locking of articles** and the inability to edit everything. Even if an article can technically be edited by anyone, there are many times people watching and reverting changes on specific articles. So Wikipedia can't fully proclaim it can be "edited by anyone".
- Wikipedia is **hard to read**. The articles go to great depth and mostly even simple topics are explained with a great deal of highly technical terms so that they can't be well understood by people outside the specific field, even if the topic could be explained simply (Simple English Wikipedia tries to fix this a little bit at least). Wikipedia's style is also very formal and "not [fun](fun.md)" to read, which isn't bad in itself but it just is boring to read. Some alternative encyclopedias such as [Citizendium](citizendium.md) try to offer a more friendly reading style.
- Wikipedia is **too popular** which has the negative side effect of becoming a **political battlefield**. This is one of the reasons why there has to be a lot of **bureaucracy**, including things such as **locking of articles** and the inability to edit everything. Even if an article can technically be edited by anyone, there are many times people watching and reverting changes on specific articles. So Wikipedia can't fully proclaim it can be "edited by anyone".
- Wikipedia is **hard to read**. The articles go to great depth and mostly even simple topics are explained with a great deal of highly technical terms so that they can't be well understood by people outside the specific field, even if the topic could be explained simply (Simple English Wikipedia tries to fix this a little bit at least). Editors try to include as much information as possible which too often makes the main point of a topic drown in the blablabla. Wikipedia's style is also very formal and "not [fun](fun.md)" to read, which isn't bad in itself but it just is boring to read. Some alternative encyclopedias such as [Citizendium](citizendium.md) try to offer a more friendly reading style.
- Wikipedia is **not [public domain](public_domain.md)**. It is licensed under [CC-BY-SA](cc_by_sa.md) which is a [free](free_culture.md) license, but has a few burdening conditions. We belive knowledge shouldn't be owned or burdened by any conditions.
- Even though there are no ads, there sometimes appears a **political propaganda** banner somewhere (international days of whatever, ...).
- Even though there are no ads, there sometimes appears a **political propaganda** banner somewhere (international days of whatever, ...). Main page just **hard pushes [feminist](feminism.md) shit** as featured images and articles.
## Fun And Interesting Pages

Loading…
Cancel
Save