19,785 Matching Annotations
  1. Mar 2021
    1. It's not really about avoiding that association; in many situations only one or the other is correct and you can't substitute willy-nilly
    2. As to why both is_a? and kind_of? exist: I suppose it's part of Ruby's design philosophy. Python would say there should only be one way to do something; Ruby often has synonymous methods so you can use the one that sounds better. It's a matter of preference.
    3. it has more to do with semantics than euphony
    1. The English word "man" used to mean "human being" exclusively, while today it predominantly means "adult male," but its semantic field still extends in some uses to the generic "human"
    2. Synonymy requires the sharing of a sememe or seme, but the semantic field is a larger area surrounding those.
    3. A general and intuitive description is that words in a semantic field are not necessarily synonymous, but are all used to talk about the same general phenomenon.
    4. A semantic field denotes a segment of reality symbolized by a set of related words. The words in a semantic field share a common semantic property
    5. grouped semantically (by meaning)
    1. For example, in the Dyirbal language, the morpheme balam marks each entity in its noun class with the semantic property of edibility,[8] and Burmese encodes the semantic property for the ability to cut or pierce. Encoding the functional property for transportation, housing, and speech are also attested in world languages.
    2. meaningful or meaningless – for example, whether a given word is part of a language's lexicon with a generally understood meaning
    3. Basic semantic properties include being meaningful or meaningless – for example, whether a given word is part of a language's lexicon with a generally understood meaning

      The "for example" being where it is, is confusing, and I believe should be left out.

      I think this would have been better written as:

      Basic semantic properties include, for example, being meaningful or meaningless (that is, whether a given word is part of a language's lexicon with a generally understood meaning); polysemy, ..

    4. those aspects of a linguistic unit, such as a morpheme, word, or sentence,

      Speaking of ambiguity...

      Are the examples in the list "such as a morpheme, word, or sentence" examples of

      • aspects of a linguistic unit or of:
      • linguistic units themselves ?

      Unless you are already fairly familiar with those terms -- in particular, linguistic unit -- it may not be clear.

      I believe these are given as examples of "linguistic unit", in order to clarify what we mean by "linguistic unit" — perhaps (ironically) precisely because many people would be unfamiliar with that expression/term.

    1. The semantic features of a word can be notated using a binary feature notation common to the framework of componential analysis.[11] A semantic property is specified in square brackets and a plus or minus sign indicates the existence or non-existence of that property.
    1. Every woman talked to a student. This has two interpretations. Under one reading, every woman talked to the same student (the class president, for example), and here the noun phrase a student is specific. Under the second reading, various students were talked to. In this case, a student is non-specific.
    1. Semantics: deals with the formal properties and interrelation of signs and symbols, without regard to meaning.

      Is a branch (of a field/discipline) considered a hyponym?? 

    1. How is the phrase

      including the production of meaning used in this article, yet the word "semantics" does not appear even once?

      At least https://en.wikipedia.org/wiki/Meaning_(semiotics) ("semantics" appears exactly 1 time in that article) has a link to the article on semantics.

      Seems like a missed opportunity to answer what to me is a very first immediate question that I wonder (and now I wonder if it really is a FAQ or if it's just me who wonders): how is semiotics different from semantics?

      But I guess https://en.wikipedia.org/wiki/Semiotics is a better place to look for that answer, and it answers that when it says:

      he defined semiotics as grouped into three branches:

      1. Semantics: deals with the formal properties and interrelation of signs and symbols, without regard to meaning.
      2. Syntactics/syntax: deals with the formal structures of signs, particularly the relation between signs and the objects to which they apply (i.e. signs to their designata, and the objects that they may or do denote).
      3. Pragmatics: deals with the biotic aspects of semiosis, including all the psychological, biological, and sociological phenomena that occur in the functioning of signs. Pragmatics is concerned with the relation between the sign system and sign-using agents or interpreters (i.e., the human or animal users).
    2. any form of activity, conduct, or process that involves signs, including the production of meaning. A sign is anything that communicates a meaning, that is not the sign itself, to the interpreter of the sign. The meaning can be intentional such as a word uttered with a specific meaning, or unintentional, such as a symptom being a sign of a particular medical condition. Signs can communicate through any of the senses, visual, auditory, tactile, olfactory, or taste.
    1. Probation status only applies when the database has both a GRAY record and a BLUE or RED or YELLOW record.

      ... or however we end up storing it in the database. Right now I'm still leaning towards only having a single record in the database that reflects

      But that's all implementation details, which you shouldn't need to be concerned about.

      The main point that you are making — which is a functional detail / [functional requirement](https://en.wikipedia.org/wiki/Functional_requirement — is that:

      • if a HC started out as gray (a "HC- P1")
    1. However, if the distinctions between the two concepts appear to be superficial, intentional conflation may be desirable for the sake of conciseness and recall
    2. All bats are animals. Some wooden objects are bats. Therefore, some wooden objects are animals.
    3. Using words with different meanings can help clarify, or can cause real confusion.
    4. often in error
    5. In logic, it is the practice of treating two distinct concepts as if they were one, which produces errors or misunderstandings as a fusion of distinct subjects tends to obscure analysis of relationships which are emphasized by contrasts
    1. Function (computer science) Function (engineering) Function (mathematics)

      Is this a polyseme?

      Or is that only the case if the different distinct senses are all within the same "field"?

    1. Use cases are not only texts, but also diagrams, if needed.
    2. Title: "goal the use case is trying to satisfy"[23]:101 Main Success Scenario: numbered list of steps[23]:101 Step: "a simple statement of the interaction between the actor and a system"[23]:101 Extensions: separately numbered lists, one per Extension[23]:101 Extension: "a condition that results in different interactions from .. the main success scenario". An extension from main step 3 is numbered 3a, etc.

      Not sure why I find this example so interesting.

      Probably because it is a human-readable outline that uses machine-readable (programming language source code) constructs, namely loops/iteration.

      The format in which this is written in, then, is itself a kind of (high-level, human-oriented) programming language.

      Example:

      • numbered list of steps [introduces/names the loop/iterator/enumeration being done]
        • Step: "a simple statement of the interaction between the actor and a system" [defines the inner part of the loop that gets "executed" once per iteration]
    3. the phrase use case is a polyseme with two senses
    1. Analysis involves reaching a richer and more precise understanding of each requirement and representing sets of requirements in multiple, complementary ways.

      The most interesting point to me here is the part:

      representing sets of requirements in multiple, complementary ways.

      Please elaborate...

    2. Use cases, user stories, functional requirements, and visual analysis models are popular choices for requirements specification.
    3. Requirements Triage or prioritization of requirements is another activity which often follows analysis.
    1. A polyseme is a word or phrase with different, but related senses.
    2. is the capacity for a word or phrase to have multiple meanings, usually related by contiguity of meaning within a semantic field.
    3. Dictionary writers list polysemes under the same entry; homonyms are defined separately.

      This describes how you can tell which one it is by looking at the dictionary entry.

    4. Polysemy is thus distinct from homonymy—or homophony—which is an accidental similarity between two words (such as bear the animal, and the verb to bear); while homonymy is often a mere linguistic coincidence, polysemy is not.
    1. Currently, I’m working on designing the interfaces and it’s real fun!
    2. TRAILBLAZER-STORY will follow as it turned out to be inevitable for setting up application state for tests. Instead of fumbling around with factories and traits in your tests, you “tell a story” about what to create in which order, easily customizable, and all written using activities.
    3. definitely less rough to work with than Devise
    4. I’ve been promising for many years and it turned out I couldn’t have fully designed it without the tools we do have now.
    5. Optimization in this case is nothing crazy, just something I neglected while designing the framework.
    6. With all this “monetization” happening around Trailblazer, we will also make sure that all free and paid parts of the project grow adult and maintan an LTS - or long-term support - status. Those are good news to all you users out there having been scared to use gems of this project, not knowing whether or not they’re being maintained, breaking code in the future or making your developers addicted to and then cutting off the supply chain. Trailblazer 2.1 onwards is LTS, and the last 1 ½ years of collaboration have proven that.
    1. It is absolutely advisable to use factory in combination with let. let(:song) { factory( Song::Create, { title: "Timebomb", band: "Rancid" } ) }
    2. You should always use operations as factories in tests.
    3. There are several helpers to deal with operation tests and operations used as factories.
    1. For pluggability, an endpoint is split into a Protocol and an Adapter part. This separates generic logic from environment-dependent code.
    2. Note how a handful of default steps lead into six standardized termini, allowing to plug protocols into different adapters. Imagine replacing your self-written API adapter with a canonical JSON-API adapter, for example.
    3. Most “legacy” operations don’t have this output, yet. However, the Model() macro now supports this terminus.
    4. Alternatively, you could add a decider step after your domain activity that connects to the not_found terminus if ctx[:model] is empty.
    5. This could be an operation, a workflow, or hand-baked Ruby code completely unrelated to Trailblazer.
    6. endpoint Diagram::Operation::Create do |ctx, **| redirect_to diagram_path(ctx[:diagram].id) end.Or do |ctx, **| render :form end
    1. I don't know where the positive reviews come from, but I can't drive one lap... It doesn't work on Steam Link and on my PC the controls don't work. Too bad, it looks promising.
    2. The positive reviews are trolls. This game is shovelware.The controls are floaty and finicky and there's a lack of tracks and karts.
    1. It’s a visual novel, there’s a dialogue box with a nameplate on to indicate who is talking, why the hell do we need the constant ‘she ordered’, ‘he says’, ‘he exclaims’ etc? The box already identifies the speaker. The art is supposed to convey the emotion, the authority or surprise etc. What we have here is a novel where the various parts that make it a visual novel don’t work in tandem with each other, which is the ultimate sin for a visual novel in my opinion. That could be salvaged by storytelling, and indeed, there’s an interesting, if basic sci-fi story here, but the method of telling it is far too amateur, breaking every rule in the rulebook of storytelling, including telling rather than showing. One to avoid.
    1. This is yet another one of the sad, sad list of excellent games that Asmodee contracted someone to digitize for the least amount of money possible, and it shows. It's a pity, because they're excellent games, but if you don't have the patience for them, it's infuriating to go through all those hoops. Any user doing a QA session for 10 minutes would have told them most of these.
    1. Requires a lot of patience, which I don't have. Also, progress is not saved, there is no way to select levels, which is unacceptable.
    1. At least half of the reviews are fake, probably alt accounts by the creator or his friends (notice how they are all from Brazil and they have "played" for tons of hours but haven't even earned a single achievement...) This game will take you one or two hours at most to finish and the levels aren't "increasingly challenging" as stated in the description because you'll find that often the levels get easier as you progress and many levels just feel like "fillers" to artificially inflate the level count. Overall it's not a bad game and it's pretty cheap but I cannot recommend it due to the fake reviews which shows the creator's lack of integrity.
    1. antiphrasis, which refers to the usually ironic or humorous use of words in senses opposite to the generally accepted meanings, such as in a phrase like "an ancient creature 2 days old."
    1. Antonyms for arbitrary methodical (also methodic), nonrandom, orderly, organized, regular, systematic, systematized
    1. #!/usr/bin/env ruby txmt_param = ARGV[0] txmt_path = txmt_param.match("%2F.*&").to_s txmt_path = txmt_path [0...-1] txmt_path_slashed = txmt_path.gsub("%2F","/") txmt_line = txmt_param.match("&line=.*").to_s txmt_line = txmt_line [6..txmt_line.length] vim_params = Array.new vim_params = "--remote-tab-silent" vim_params << " +#{txmt_line}" if txmt_line vim_params << " #{txmt_path_slashed}"
    1. Looks like the source for this is not available to inspect??

      I found this https://github.com/phallstrom/urlscheme_vim_in_iterm/blob/master/Vim%20in%20iTerm.app/Contents/Resources/Scripts/main.scpt

      and thought maybe it would be the source, but it's a binary :(

    2. It does this by creating links to specially crafted URLs using custom schemes (ie. "txmt", "subl", "mvim"). I prefer to use standard CLI vim in iTerm.

      I have similar problem: want to use regular vim in tilix terminal

    1. This is not a fork. This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.

      almost without a doubt, inspired by: chromium vs. chrome

    1. Or if you need to change the way the string is assembled, you can provide a proc, for example: if defined?(BetterErrors) BetterErrors.editor = proc { |file, line| "vscode://file/%{file}:%{line}" % { file: URI.encode_www_form_component(file), line: line } } end
    1. vim-athena doesn't depend on or use any version of GTK+. If you use sudo apt-get build-dep vim-athena, it probably will install GTK+ and GNOME related libraries, because the vim-athena binary package is built from the same source package as vim and other vim-providing packages. In any case, you shouldn't need to build from source, as the binaries provided by vim-athena are already built against Athena and not against GTK+ or other graphical toolkits.
    2. Fortunately, vim officially supports some GUI's other than GTK+ and Qt, and one such build is officially packaged for Ubuntu. Just install the Athena version of vim, which is provided by the vim-athena package.
    3. If you built vim against Qt rather than GTK+ and python-complete still isn't working, that suggests the problem isn't actually a consequence of trying to link to both GTK+2 and GTK+3.
    4. How can I build vim with a gui without gtk?

      I had this question too, but didn't know that was the question I had... :)

    5. However, since you haven't yet provided any details about how you built with Qt (Qt isn't officially supported, so you must have used a third party derivative of vim), and you haven't provided any detailed information about what error messages or malfunctions you're having with python-complete, it's not really possible to tell you how to fix the problem and get vim working with Qt.
    1. and the --enable-gui=<gui> e.g. (--enable-gui=gnome for the Gnome Gui).
    2. How to install VIM with all options/features? - VIM
    3. If you want to compile youself you can pass the --with-features=huge to the configure script. Note, however, this does not enable the different language bindings because those are mostly optional and also the various GUIs need to enabled specifically, because you can have only one gui.

      This explains why the standard vim package on ubuntu doesn't have GUI support (I was going to say because it wouldn't know which GUI you needed, but I think it would based on the Ubuntu variant: GNOME, KDE, etc.) (maybe because it wouldn't know whether you wanted GUI support at all)

      I was going to say because it wouldn't know which GUI you needed, but I think it would based on the Ubuntu variant: GNOME, KDE, etc.

      found answer to that: https://hyp.is/NyJRxIgqEeuNmWuaScborw/askubuntu.com/questions/345593/how-to-build-vim-with-gui-option-from-sources

      so you have to install a different package with GUI support, like vim-gtk or vim-athena

    4. I have VIM on Mac & CentOS. So, I see people are writing about -xterm_clipboard, -lua, ... Is there an simple way to install it all? or we have to enable options one-by-one and compile/recompile it?

      I had similar question... how to get --servername support.

    1. vim-athena

      Importantly, to me, you can do this:

      /usr/bin/vim.athena --servername local
      
    2. This package is compiled with the Athena GUI as opposed to GTK+ or Gnome.

      ... which I would have thought would be a reason for me not to install it, but it turns out it doesn't have many dependencies, and installed just fine, and allowed me to /usr/bin/vim.athena --servername local

    3. Including the vim package, there appear to be at least six "vim-variants" (not including available documentation, or plugin packages) as well as the main vim package in both the main and universe repositories.
    1. If you call ./configure --enable-gui=auto, the build process will automatically build against whichever GUI libraries are available. A cursory glance suggests that gtk2 will be prioritised over gnome2.
    1. Some research led me to the --remote-tab switch that allows to open files as tabs in currently open Vim processes but it seemed to work only with the graphical interface (gvim) and not with the console (vim). But as I made some tests I found this can work with the vim in console mode

      That's what I thought too (that it was only available with gvim, which I don't want to use).

      But I get this error when I try it with regular vim:

      $ vim --servername local
      VIM - Vi IMproved 8.1 (2018 May 18, compiled Apr 15 2020 06:40:31)
      Unknown option argument: "--servername"
      
    2. When programming I like to have a single Vim editor open with all my files as tabs. Until now I was using the ":tabnew" command to open files in the current Vim window as I knew no other way.
    3. All I needed to do was configure my bash so it will always start vim in server mode if it is not already and to always use the --remote-tab switch when opening files.
    4. If you prefer not to use tabs and like files to be opened as buffers inside a current running Vim instance then simply replace "--remote-tab-silent" with "--remote-silent" in the above scripts.
    1. The original concept of Project Athena was that there would be course-specific software developed to use in conjunction with teaching. Today, computers are most frequently used for "horizontal" applications such as e-mail, word processing, communications, and graphics.
    2. Athena is still in production use at MIT. It works as software (currently a set of Debian packages)[2] that makes a machine a thin client, that will download educational applications from the MIT servers on demand
    1. The issue is kind of regression/trade-off for keep bundles get loaded same as the declaration order. The only thing this part added is the new BundleBind! command. Sure we should try fix issue by not introduce new feature/concept as possible as we can, but when the concept/complexity is just add a simple command without any argments to the configuration, and the benefit is clean, simple and efficient implementation, IMHO it is worth. That's why I finally chose this solution.
    2. Here are my thoughts: making vim startup time shorter is GOOD added complexity - BAD my main concern is with the complexity that gets added to get startup time improvements. User has to tag scripts, and then manually BundleBind to get scripts loaded. This seems like too much hassle(manual involvement) to me. Fixing 1 time thing (startup) we're adding many more (like BundleBinding required scripts once they're used) For instance in my case i don't start Vim often because i'm using --remote-tab-silent option. So i'll get no benefit along with complexity (
    1. It is critical you put better_errors only in the development section of your Gemfile. Do NOT run better_errors in production, or on Internet-facing hosts.
    1. awk is my weapon of choice when it comes to text processing. Besides, it's syntax is close to C
    2. $(awk -F= '/^Exec/||/^TryExec/ {print $2;exit}' /usr/share/applications/firefox.desktop)
    3. If still doesn't work. Make desktop file runnable in terminal by changing Terminal=true, and put it inside a bash script. Run the script to catch the error output. Change back when errors are corrected.
    4. you can use "${@:1}" instead of shift, but that requires bash instead of sh in your #! shebang. IMHO your original shift approach is simpler and better
    5. Now, if you also want deskopen to pass through any command-line parameters, you can instead use this slightly-modified version: #!/bin/sh desktop_file=$1 shift `grep '^Exec' "${desktop_file}" | sed 's/^Exec=//' | sed 's/%.//'` "$@" &
    6. Given the deskopen script, you can use a reference to it as the shebang line in a .desktop file
    7. The "correct" way to install a .desktop file is via desktop-file-install
    8. This is the only answer that does not require manually parsing the .desktop file, so it's the most sane (and safe) approach.
    9. It will be useless work when gvfs-open will solve the bug, but in the meantime...
    10. this is so stupid (that there is no sensible way to run a Desktop file from the terminal)
    11. gtk-launch <app-name> - where <app-name> is the file name of the .desktop file, with or without the .desktop extension.
    12. If I do gnome-open foo.desktop it simply opens foo.desktop as a text file. If I make it executable and then run it in bash it simply fails (which is expected, it's clearly not bash script). EDIT: Doing exec /fullpath/foo.desktop gives me a Permission denied message, even if I change ownership to myself. If I make executable and do the same command, the terminal tab I'm using simply closes (I'm guessing it crashes). Finally, if I do sudo exec /fullpath/foo.desktop, I get an error reporting sudo: exec: command not found.
    1. I find it convenient to change proxy and other settings through gui window by right-clicking on launcher icon on my desktop. I mostly start slack by clicking desktop launcher, but also want to be able to start it from command line in some cases.
    2. (xdg-open seems to be supposed to be the universal one...)
    3. If you really want this, I suggest you write a little function that extracts the executable name from the .desktop file and runs it. Add these lines to your shell's initialization file (e.g. ~/.bashrc): runDesktop () { eval "$(awk -F= '$1=="Exec"{$1=""; print}' "$1")" } Then, you can run your .desktop file with runDesktop ~/Desktop/slack.desktop
    1. We could add heuristics like: is the file inside XDG_DATA_DIRS/applications? if not, is the file inside XDG_DATA_HOME/applications? if not, is the file marked as executable? if not, open with the text editor
    2. Sorry you’re surprised. Issues are filed at about a rate of 1 per day against GLib. Merge requests at a rate of about 1 per 2 days. Each issue or merge request takes a minimum of about 30 minutes (across at least 2 people) to analyse, put together a fix, test it, review it, fix it, review it and merge it. I’d estimate the average is closer to 3 hours than 30 minutes. Even at the fastest rate, it would take 3 working months to clear the backlog of ~1000 issues. I get a small proportion of my working time to spend on GLib (not full time).
    3. Age of a ticket is completely irrelevant as anyone can request anything but the number of developers is limited. If you'd like to see something implemented, please consider providing a patch. Thanks!
    4. Sorry if I sounded rude. I am using Gnome on a daily basis and am highly appreciating all the work anyone has put into it. I was just surprised when I found an AskUbuntu post from 2010 linking to this bug.
    5. Wow 14 years. I still keep stumbling over this issue...
    6. This issue hasn’t been deemed a high enough priority to be fixed yet. It will be addressed one day, I’m sure. There are many issues in GLib which many people on the internet think are important.
    7. Hello , since I made a modification in gio-tool (#2098 (closed)) , I seen this issue and decide to give it go. I implemented an unix only solution only for launching a desktop file through gio command, see !1779 (merged)
    8. In the meantime, people do seem to appreciate a developer spending 2 minutes to reply to comments on old issues, just so they’re not ignored and to manage expectations.
    9. When one is searching for it on the internet, there are many many people wondering how one can open .desktop files. It seems trivial, since one usually just has to click an item on the launcher so one thinks there must be some way.
    10. I am wondering if it wasn't faster for maintainers/developers who know the glib code to just provide a fix instead of writing comments on this issue.
    11. It sounds like a gnome-open (or the equivalent library call) bug. Reassigning.
    12. I agree that it's bad to have to handle this at the application level
    13. I have to agree with Raphael here that this should probably be handled in gnome-open, its a pain to have to implement .desktop parsing code in every beagle front end when I can't really think of an instance where the expected behavior wouldn't be to execute the associated command.
    14. I don't know what nautilus does, but i think when you double click a .desktop file it launches the associated program, i guess they don't use gnome-open then..
    15. deskbar should probably detect their extension and execute the relevant command as opposed to opening the file for editing.
    1. The following steps will help you to get to a working systemd/user configuration:
    2. I consider systemd/user as a good alternative for dex's autostart functionality and switched to it recently. In particular, systemd solves the issue of dex losing control over the started processes which causes processes to live longer than the X session which could cause additional annoyances like reboots taking a lot of time because the system is waiting for the processes to terminate.
    1. The reason we've avoided registering "Cinnamon" as a desktop name is that it opens up issues with many upstream apps that currently OnlyShowIn=Gnome or Gnome;Unity or just Unity. The relationship Mint has with Gnome and Ubuntu isn't genial enough that we could get them to add Cinnamon to their desktop files, so we would have to distribute and maintain separate duplicate .desktop files just for Cinnamon for these upstream packages.
    2. You're right, it would solve the Nemo problem perfectly, but break a lot of other things, unfortunately.
    1. Also manually adding [Default Applications] x-scheme-handler/zoommtg=ZoomLauncher.desktop to either $HOME/.config/mimeapps.list or $HOME/.local/share/applications/mimeapps.list does not lead to xdg-open via exo-open recognizing the zoommtg protocol.
    2. After you modify mimeapps.list, run sudo update-desktop-database.
    3. A solution is almost indicated in the question: hinder xdg-open from choosing exo-open. A brute-force approach is to copy /usr/bin/xdg-open to /usr/local/bin (/usr/local/bin is earlier in PATH unless PATH has been modified) and to patch it to use open_generic instead of exo_open (unlike the XFCE4-specific exo-open, open_generic does honor xdg mime types)
    1. Does running nsgcepa by itself not then run the .desktop which in turn runs that command? Probably not. Desktop launchers are used by e.g. application menus. Executables are the binaries or scripts that can be run by desktop launchers. You can also run executables directly from a command line.
    2. Does running nsgcepa by itself not then run the .desktop which in turn runs that command?
    3. Firstly, it's nice to see a well-structured question post!
    1. I don't use remote editing much so vim-dirvish is powerful enough to manage my workflow (It's actually faster than netrw ~ the author claims 2x, I feel it's faster than that - it's really instantaneous ⚡) very useful on large codebase/repositories
    2. I was searching for a solution to this problem too since I actually removed netrw from being loaded in vim completely and replace it with vim-dirvish. This plugin has around 500~ LOC, compared to netrw's (11,000+ LOC).
    1. when the link of accessing a workspace appear I only get the popup: "Open xdg-open?" and then nothing happens.

      Though in my case it is clicking an mvim:// link from better_errors

    1. neither knows what to do with naked domain. So gnome-open http://askubuntu.com works but not gnome-open askubuntu.com. Here is a small function to make it easier to type and accept the stripped down domain name. function go { gnome-open http://$1 ; }
    2. xdg-email
    3. xdg-mime query default text/html To find out what application is going to be used
    4. There's a command that knows about your default browser: xdg-open http://google.com This will also work for every other type of URI (Uniform Resource Identifier), like images - which will automatically open with eog, openoffice documents, and so on, and also on filesystem paths (xdg-open /tmp/foobar.png).
    1. Here is a link to install a deb version of chromium, seems like it be easier to use another browser myself.
    2. Not sure but might be a chromium snap problem. Snaps have very few permissions, can try going to software centre/store and see if you can give more permissions, should just be on/off switch, or might need to use another browser(deb not snap). Chromium might have a deb only version now again, but not sure if for 19.10 or only 20.04.
    3. xdg-mime query default x-scheme-handler/magnet
    1. With a trailer this long, I don't have to go through the trouble of playing it...

    1. When you're didactic, you're trying to teach something. Just about everything teachers do is didactic: the same is true of coaches and mentors.
    2. This word is often used negatively for when someone is acting too much like a teacher.
    1. Note that autosave will only trigger for already-persisted association records if the records themselves have been changed. This is to protect against SystemStackError caused by circular association validations.
    1. Honestly the critic reviews entire miss the point of this game. The game is a tongue-in-cheek love letter to Japanese quirk/kitsch. The controls are intentionally awkward. The physics are intentionally always just that little bit unpredictable. Watch a few gameplay trailers to get a far more accurate depiction of the chaos that is Nippon Marathon that I ever got from any of the ‘professional’ critic reviews.
    2. Tbh I find the 44 critic metascore really appalling so made an account just to leave this review.
    1. Based on my search, the game might be developed by neptun digital, an Android game called Brain On Physics Drop - Idle Balls Puzzle. It was released on Amazon, on June 29, 2017. Free.Later on Sep 4, 2017 it was put on google play store called Physics Brain Balls - Drop It On Dots. Free.Then in June 2018, its web browser version Love Draw released by Faramel Games. Free.Later here on Jan 9, 2019, Windows port showed up. Paid to play. Apart from all of this, the design of origin is simply modified based on a free game called Brain Dots released in 2015.A port doesn't deserve to be paid, let alone the origin of the port is not original at all.

      Not everything needs to be 100% original. People are allowed to charge money for their creations/work. "Porting" a game (probably writing from scratch if they are not the same developer) is not trivial.

    1. A simple, yet surprisingly mind-boggling puzzle game. Simplicity may be perceived as a negative connotation when it comes to games for many people, but Neon Warp's simplicity actually works in it's favor in the best way possible and becomes one of it's strength.