322 Matching Annotations
  1. Last 7 days
    1. The reason fragments should be identifiable by users is because a user, not the content creator or the developer, will ultimately decide whether or not a portion of content is valuable or notable in some way.
    2. The developer or content creator may have a general idea of how a page’s content might be divided up, but ultimately it will be the linking resource that should have full control over what portion of the page they want to highlight.
    3. This means that, regardless of what the developer has done behind the scenes in the HTML, all HTML fragments on that page should be identifiable by external referrers.
    1. That's what's supported, and is all that is EVER likely to be supported... and even then be DAMNED sure you send multipart with a plaintext copy or a great many mail servers will flat out reject it on the assumption that no legitimate e-mail has any damned business even having HTML in it in the first place!
    2. That's something that has been bugging me too. I mean, it's fine if not everything is supported, but if everyone could agree on what is or should be supported then that would make a huge difference. But until then, it's going to be a struggle.
  2. Apr 2021
    1. The main difference is in the flow of how messages are ultimately sent to devices for output. The standard library Logger logic converts the log entries to strings and then sends the string to the device to be written to a stream. Lumberjack, on the other hand, sends structured data in the form of a Lumberjack::LogEntry to the device and lets the device worry about how to format it. The reason for this flip is to better support structured data logging. Devices (even ones that write to streams) can format the entire payload including non-string objects and tags however they need to.
    1. I'm of the opinion that there shouldn't be a platformer in today's market that doesn't include native controller support
    1. Been seeing this comment copy/pasted everywhere it's pathetic what people will do for thumbs up/awards on reviews, be original and make your own review. If you guys need proof go and look at NVL reviews, I saw it on another game a few weeks ago too.

      annoying

    1. stunning HD retro-style graphics

      It looks low-res, so how can they claim it's HD?

    1. Neither question nor answer appears to understand the notion of semantic HTML. Height and width are presentational attributes regardless of where you put them. For semantics we establish what the image means to content in the alt tag. I don't remember why it was so important to width/height in the HTML but I suspect it was in case you hit browsers without CSS rendering. It's not a semantics issue. If anything it thwarts separation of concerns to a degree.

      claim: that the OP's question and this answer are incorrect

      Could we say that this answer (that this comment replies to) missed the point?

      I actually believed and thought this answer was spot on ... until I read this comment, and then I reversed my opinion.

    2. If anything it thwarts separation of concerns to a degree.
    1. Very slow, very cheap shipping via Royal Mail. Royal Mail advertises an ‘online’ international 12 week ’no rush’ service (not trackable). The price of the service is dependant on weight. It may be possible for international shipping to be achieved for around £15 GBP, may be even less! (This is not a typing error).  If you are interested in this service you will need to contact us before the campaign ends.

      Why do we need to contact you before the campaign ends if we want cheap shipping? Why wouldn't we want cheap shipping? What will shipping be if we don't choose that? How do we choose that? Why can't we choose shipping directly after the campaign ends?

    1. It has two very different meanings, that you would have to distinguish by context. One meaning is just expressing that we have limitations. If you don't know something, that's just tough, you don't know it and you have to live with that. You don't have information if you don't have that information. The other meaning is that not only are there gaps in our knowledge, but often we don't even know what the gaps in our knowledge are. I don't know how to speak Finnish. That's a gap in my knowledge that I know about. I know that I don't know how to speak Finnish. But there are gaps in my knowledge that I'm not even aware of. That's where you can say "You don't know what you don't know" meaning that you don't even know what knowledge you are missing.

      I had this thought too.

    1. If no file is detected (in case, it's being run as part of a script or the command is being piped)

      How does it detect that it's being run non-interactively as part of a script?

      Is that distinct/different from detecting whether the command is being piped?

    1. can be easily invoked directly from shell prompt or script

      Can't expect / unbuffer / etc. (whatever this is attempting to contrast itself with) be easily invoked directly from shell prompt or script too??

      Okay, I guess you have to know more about how expect is invoked to understand what they mean. One glance at the examples, comparing them, and all becomes clear:

      #!/bin/sh
      empty -f -i in -o out telnet foo.bar.com
      empty -w -i out -o in "ogin:" "luser\n"
      

      I didn't realize that expect required/expected (no pun intended) to be used in scripts with its own shebang line:

      #!/usr/bin/expect
      
      spawn telnet foo.bar.com 
      expect ogin {send luser\r}
      

      That does make it less easy/normal to use expect within a shell script.

      I was coming to the expect project from/for the unbuffer command, which by contrast, is quite easy to include/use in a shell script -- almost the same as empty, in fact. (Seems like almost a mismatch to have unbuffer command in expect toolkit then. Or is expect command the only odd one out in that toolkit?)

    1. https://boardgamegeek.com/boardgame/183284/factory-funner/versions

      And now there are two versions with the nickname "Second edition": 2018 https://boardgamegeek.com/boardgameversion/404596/second-edition 2021 https://boardgamegeek.com/boardgameversion/556765/second-edition

      and a 3rd edition published prior to the current/new 2nd edition: 2019 https://boardgamegeek.com/boardgameversion/486693/third-edition

      Confusing all around.

      But I think the bottom line is that the 2021 version is in fact the same game and the newest rules tweaks:

      1. Added a sixth player
      2. Official variant to play without the quick grab element.
    1. I didn't get exactly how pty came into picture and what is the usage of that. Looking forward to get more info on that.
    1. “Who cares? Let’s just go with the style-guide” — to which my response is that caring about the details is in the heart of much of our doings. Yes, this is not a major issue; def self.method is not even a code smell. Actually, that whole debate is on the verge of being incidental. Yet the learning process and the gained knowledge involved in understanding each choice is alone worth the discussion. Furthermore, I believe that the class << self notation echoes a better, more stable understanding of Ruby and Object Orientation in Ruby. Lastly, remember that style-guides may change or be altered (carefully, though!).
    2. I wish to define methods within the class they belong to. Using class << self demonstrates that approach clearly — we are defining methods within the actual singleton class scope.
    3. When we usedef self.method, though, we are defining a method across scopes: we are present in the regular class scope, but we use Ruby’s ability to define methods upon specific instances from anywhere; self within a class definition is the Class instance we are working on (i.e. the class itself). Therefore, usingdef self.method is a leap to another scope, and this feels wrong to me.
    1. I strongly prefer this over Carcassonne. It plays faster (I don't want a tile laying game to go for more than 30 mins or so) and I happen to like the limited options. Carcassonne just gets on my nerves because I just don't view selecting between so many placement options to be that interesting. Obviously, YMMV. Ditto the previous statement, it's different than Carcassonne. And that's why I like it.
    2. However, it can be extremely frustrating placing the tiles. Very commonly there will be no position to place a tile in and it will be put to one side. Perhaps someone new to tile-laying games wouldn't find this so odd, but to anyone with experience of Carcassonne it will seem very limiting. In Carcassonne you can pretty much always place a tile, with several choices of position available. Every player I've introduced this game to has looked at me as if to say, "We must be doing something wrong." But no, that game is designed that way. Sometimes it feels like the map builds itself - there is often only one viable placement, so it starts to feel like a jigsaw, searching for that available position. Surely placing a single tile shouldn't be this difficult!

      I don't think I'd find it frustrating. I think I would enjoy the puzzle part of it.

      But indirectly I see that difficulty in placing tiles impacting my enjoyment: because it means that there are no/few meaningful decisions to be had in terms of where to place your tile (because there's often only 1 place you can put it, and it may sometimes benefit your opponent more than yourself) or which tile to place (because you don't get any choice -- unless you can't play the first one, and then you can play a previously unplayable one or draw blind).

    3. I recently played a prototype of an upcoming game called Bronze. This takes the tile-laying/ territory claiming mechanic and builds on it by adding abilities to each of the tiles. they benefit you in some way if you claim them. The result is a very similar feel to Fjords (competing for a share of the map) but with greater depth.
    1. It is one of the better games to stuff in (y)our luggage when on holidays. (We tried Hive a couple of times, but that is too heavy stuff for the holidays.)
    1. What I dislike from the achievements is the "Dialogue Skipper". I really don't like it because you are encouraging people just to skim or even skip it at all and not get interested with the story. I earned this achievement on a 2nd run but I had a friend who just skipped it all on her 1st try.What devs should encourage is for the gamers to have a lot of playing time on their game so they would recommend it to others and not just do it for the cards and uninstalling it afterwards.
    1. Most of the projects here are the kind that might be fun to make but shortly end up in the trash (like: animals made out of toilet paper tubes, a Paper plate ring toss game, A necklace made of colored plastic straws...)
    1. In a case where you have entered wrong or incorrect credentials to your account, you can easily change them through your settings. If you wondering, how can I fix Gmail credentials; don’t worry, you will be explained how to do that in this blog. Open Settings on your device and tap on Google. Select Manage your Google Account next and then tap on Personal Info. Tap on Email mentioned under Contact Info and then tap on the Edit option next to it. Enter your email address and follow the on-screen instructions to complete the process.

    1. Tangentially is defined as briefly mentioning a subject but not going into it in detail, or is defined as going off in a different direction.

      in the case of

      briefly mentioning a subject but not going into it in detail the topic/subject need not be related at all (it sounds like).

      What about in the case fo:

      is defined as going off in a different direction. Does the fact that it's going off in a different direction imply that it at least starts out connected/related to the original (starting point) subject (as it does in the geometry sense of tangential)? Or does it permit "jumping" to another topic (in another direction) without being related/connected at all??

      I don't think I like this definition very much. It doesn't quite fit the sense I'm trying to use it for in my tag:

      tangentially related content (aside)

      Ah, here's a definition that matches what I thought it meant (one of the senses anyway): https://hyp.is/3Bn2bpZ7Eeu3Ok8vg03AVA/www.merriam-webster.com/dictionary/tangential

    1. Fortunately for fans of high quality puzzle games, RUSH is anything but simple.

      I agree. A good puzzle should not be too simple.

    1. I have a 2 radio buttons with the same id and label, only different values, (true, false)....anything I can do to choose false?

      If you just do find_field(radio_input_name) you end up with

         Ambiguous match, found 2 elements matching visible field "name" that is not disabled
      
    1. why do you guys think have_css matcher is named the way it is? I mean, it sure deals with css identifiers, but have_css gives(at least to me) the impression that the page has certain stylesheet loading.
  3. Mar 2021
    1. I like this approach more because I can scan the code that renders the Box component and easily spot that it takes two children. If the Box took any props, they'd be within the opening <Box> tag, and they would be distinct from any children props.
    2. One gripe I've had with this approach is that you lose the visual cues that you're passing children into the Box component; they now aren't nested within the Box when you render them like we're used to in HTML; it's now up to you to read the props and spot which ones are being used to provide children.
    1. Nevertheless, co-hyponyms are not necessarily incompatible in all senses. A queen and mother are both hyponyms of woman but there is nothing preventing the queen from being a mother.

      not necessarily incompatible in all senses.

      so is this only a concern/possibility when the word in question is a polyseme?

      but there is nothing preventing the queen from being a mother

      The meaning of the "incompatibility" relation seems really ambiguous. What does that mean precisely?

      And how would we know for sure if an incompatibility (such as a peach is not a plum) or lack of incompatibility (a queen can be a mother and a mother can be a queen) is a sufficient condition to cause it to be or not be a co-hyponym?

      Oh. I guess it says

      Co-hyponyms are often but not always related to one another by the relation of incompatibility.

      so it actually can't ever be used to prove or disprove (sufficient/necessary condition) that something is a co-hyponym. So that observation, while interesting, is not helpful in a practical / deterministic way...

    2. It consists of two relations; the first one being exemplified in "An X is a Y" (simple hyponymy) while the second relation is "An X is a kind/type of Y". The second relation is said to be more discriminating and can be classified more specifically under the concept of taxonomy.

      So I think what this saying, rather indirectly (from the other direction), if I'm understanding correctly, is that the relationships that can be inferred from looking at a taxonomy are ambiguous, because a taxonomy includes 2 kinds of relationships, but encodes them in the same way (conflates them together as if they were both hyponyms--er, well, this is saying that the are both kinds of hyponyms):

      • "An X is a Y" (simple hyponymy)
      • "An X is a kind/type of Y".

      Actually, I may have read it wrong / misunderstood it... While it's not ruling out that simple hyponymy may sometimes be used in a taxonomy, it is be saying that the "second relation" is "more specifically under the concept of taxonomy" ... which is not really clear, but seems to mean that it is more appropriate / better for use as a criterion in a taxonomy.


      Okay, so define "simple hyponymy" and name the other kind of hyponymy that is referenced here.

    1. semantic domain or semantic field

      What, then, is the difference between a semantic domain and a semantic field? The way they are used here, it's almost as if they are listing them in order to emphasis that they are synonyms ... but I'm not sure.

      From the later examples of basketball (https://hyp.is/ynKbXI1BEeuEheME3sLYrQ/en.wikipedia.org/wiki/Semantic_domain) and coffee shop, however, I am pretty certain that semantic domain is quite different from (broader than) semantic field.

    1. (Not answered on this stub article)

      What, precisely, is the distinction/difference between a semantic class and a semantic field? At the very least, you would say that they are themselves both very much within the same semantic field.

      So, is a semantic class distinct from a semantic field in that semantic class is a more well-defined/clear-cut semantic field? And a semantic field is a more fluid, nebulous, not well-defined field (in the same sense as a magnetic field, which has no distinct boundary whatsoever, only a decay as you move further away from its source) ("semantic fields are constantly flowing into each other")?

      If so, could you even say that a semantic class is a kind of (hyponym) of semantic field?

      Maybe I should pose this question on a semantics forum.

    1. 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. 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. 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. How to install VIM with all options/features? - VIM
    2. 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. 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"
      
    1. this is so stupid (that there is no sensible way to run a Desktop file from the terminal)
    2. 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. 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. Tried to buy keyg at its 90% off sales price but no matter what payment method I choose I keep getting a "Due to processing fees the minimum amount is 100 cents."I'm trying to figure out if there is any way around this, and if not then why can you list a game at a price below $1 if it isn't actually possible for it to be bought at said price?
    1. Or even a simple 1-liner in the Contract that references an AR Model so you don't have to rewrite the validations again in that contract, or have to choose between writing the validations once either in the contract there or in the AR Model?
    1. This semi-colon is added to prevent changing the code behaviour (the famous line ending with parentheses, etc) Most people will use a JS minifier If they don't, a single extra character is unlikely to change much If I'm right about all the above: Why don't we simply always add a semi-colon regardless of what the file ends with?
    1. What is the point of avoiding the semicolon in concat_javascript_sources

      For how detailed and insightful his analysis was -- which didn't elaborate or even touch on his not understanding the reason for adding the semicolon -- it sure appeared like he knew what it was for. Otherwise, the whole issue would/should have been about how he didn't understand that, not on how to keep adding the semicolon but do so in a faster way!

      Then again, this comment from 3 months afterwards, indicates he may not think they are even necessary: https://github.com/rails/sprockets/issues/388#issuecomment-252417741

      Anyway, just in case he really didn't know, the comment shortly below partly answers the question:

      Since the common problem with concatenating JavaScript files is the lack of semicolons, automatically adding one (that, like Sam said, will then be removed by the minifier if it's unnecessary) seems on the surface to be a perfectly fine speed optimization.

      This also alludes to the problem: https://github.com/rails/sprockets/issues/388#issuecomment-257312994

      But the explicit answer/explanation to this question still remains unspoken: because if you don't add them between concatenated files -- as I discovered just to day -- you will run into this error:

         (intermediate value)(...) is not a function
             at something.source.js:1
      

      , apparently because when it concatenated those 2 files together, it tried to evaluate it as:

         ({
           // other.js
         })()
         (function() {
           // something.js
         })();
      

      It makes sense that a ; is needed.

    1. Degg naa ko muy tari Alxuraan.

      Je l'ai entendu réciter des versets du Coran.

      degg v. -- hear.

      naa -- I already/definitely.

      ko -- him, her, it.

      muy -- from -- he, she, it (?).

      tari -- recitation.

      alxuraan ji -- (Arabic: al-Qurʼān) the Koran.

    2. Fibar bi jàngal na taawan bu góor ni ñuy dagge reeni aloom.

      Le guérisseur a appris à son fils aîné comment on coupe les racines du Diospyros.

      fibar -- (fibar bi? the healer? as in feebar / fièvre / fever? -- used as a general term for sickness).

      bi -- the (indicates nearness).

      jàngal v. -- to teach (something to someone), to learn (something from someone) -- compare with jàng (as in janga wolof) and jàngale.

      na -- pr. circ. way, defined, distant. How? 'Or' What. function indicator. As.

      taaw+an (taaw) bi -- first child, eldest. (taawan -- his eldest).

      bu -- the (indicates relativeness).

      góor gi -- man; male.

      ni -- pr. circ. way, defined, distant. How? 'Or' What. function indicator. As.

      ñuy -- they (?).

      dagg+e (dagg) v. -- cut; to cut.

      reen+i (reen) bi -- root, taproot, support.

      aloom gi -- Diospyros mespiliformis, EBENACEA (tree).

      https://www.youtube.com/watch?v=BryN2nVE3jY

    3. Dafa ànd ak moroom yi àll ba, fori aloom.

      Il est allé dans la brousse ramasser des fruits de Diospyros avec ses camarades.

      dafa -- he/she.

      ànd v. / ànd bi -- to be together, to go together; copulate; going together, fellowship; placenta.

      ak -- and, with, etc.

      moroom mi -- comrade of the same age group, equal, companion, neighbor.

      yi -- the (plural).

      àll bi -- large expanse of uninhabited land, bush; distant, as opposed to home.

      ba -- the (indicates distance).

      for+i (for) v. -- to pick up.

      aloom bi -- edible fruit of Diospyros mespiliformis (aloom gi for the tree).

      https://www.youtube.com/watch?v=nL4iHgp5ejk

    1. Shogi is a classic game. I know many people who want to play Shogi, but the Kanji on the pieces makes it too hard to master. I have designed this Shogi with icons so anybody can learn it easily.
  4. Feb 2021
    1. Currently, only Right signals are wired up.

      So what happens if a task returns a Left signal?? Will it still go Right? Will it error?

    1. step :direct_debit

      I don't think we would/should really want to make this the "success" (Right) path and :credit_card be the "failure" (Left) track.

      Maybe it's okay to repurpose Left and Right for something other than failure/success ... but only if we can actually change the default semantic of those signals/outputs. Is that possible? Maybe there's a way to override or delete the default outputs?

    2. Defaults names are given to steps without the :id options, but these might be awkward sometimes.

      Why would those default names ever be awkward?

      If you the default name is whatever comes after step:

      step :default_name
      

      then why can't you just change that name to whatever you want?

      To answer my own question: I think you can do that, as long as the name is the 1st argument to step. But below I noticed an example where a Subprocess was the 1st argument instead, and so it needs a name in this case:

      step Subprocess(DeleteAssets), id: :delete_assets
      

      Why are they inconsistent about calling it name or id? Which one is it? I guess it's an id since that's what the key is called, and since there's an Id() helper to reference a task by its id.

    1. Another thing I don’t like is the name of the config file manifest.js. Internally Sprockets has the concept of a manifest already Sprockets::Manifest, but the two aren’t directly coupled. We also already have a “manifest” JSON file that gets generated in public/assets/ and has manifest in the name .Sprockets-manifest-140998229eec5a9a5802b31d0ef6ed25.json. I know one is a JS file and one is a JSON file, but it’s a bit confusing to talk about.

      When I first heard of app/assets/config/manifest.js, I was a bit confused too, and assumed/wondered if it was related to the manifest it generates under public.

    2. The link name is not very helpful, it doesn’t explain what it does very well.
    1. Our mission is to allow people to make money via educational efforts and to dedicate the rest of their time to creating great open source products.

      What does this mean exactly? "Our mission is to allow people to make money via educational efforts"

    1. The latter are important examples which usually also exist in "purely" functional programming languages.

      How can they exist and it still be considered pure??

      I guess that's not quite the same / as bad as saying something had side effects in a purely functional programming context, right?

    1. provide interfaces so you don’t have to think about them

      Question to myself: Is not having to think about it actually a good goal to have? Is it at odds with making intentional/well-considered decisions?  Obviously there are still many of interesting decisions to make even when using a framework that provides conventions and standardization and makes some decisions for you...

    1. What is the opposite of free content?

      The opposite of free/open-source software is proprietary software or non-free software (https://en.wikipedia.org/wiki/Proprietary_software).

      So should we call the opposite of free content "non-free content"? Or "proprietary content"?

      Seems likes either would be fine.

      Looks like https://en.wikipedia.org/wiki/Wikipedia:Non-free_content prefers the term "non-free content".

      Couldn't find anyone contrasting these 2 terms (like I could no doubt find for software):

      Not to be confused with:

      • paid content ... just like:
      • free content should not be confused with gratis content (?)
      • free software should not be confused with freeware
    1. The rsync and sleep commands (the sleep is just an example) are run through exec to prevent the creation of zombie processes if I kill the parent script while they're running, and each potentially-long-running command is wrapped in its own subshell so that when exec finishes, it won't terminate the whole script.
  5. www.metacritic.com www.metacritic.com
    1. Please, do not buy this. I am really tired of "games" that are given critical praise because its cool to praise or because its political correct to do. I will break up my review in points so its clear why I dislike this "game" : 1) This is not a game. This is a short story, like an interactive book. 2) This game is so short, that I completed it in a 3 hour bus ride. It was boring. 3) Its a story of a girl that have to take the reigns of her life after divorce. WOMAN EMPOWERMENT. Now you know why this game is rated so highly 4) This is a MOBILE GAME. I paid $3 to play on an iphone (after watching a gaming channel give it GOTY contender. Needless to say, I never watched that gaming channel again). I FELT I WAS ROBBED OF TIME AND $3. Imagine how much I hated this game to feel like I was robbed even though it costed me only $3. 5) This game costs $7 on the eshop. You could buy CELESTE for $9 on sale on the Eshop. That is a great game. I recently bought Hollow Knight for $7 on Playstation. This interactive novel should not be sold as a game. Period. It is a waste of time and money.

      Nothing wrong with interactive novels being sold in the same store as games... as long as it's clear what it is (no false advertising).

      Somewhat agree with some of the other points...

    1. compose(Add, x: x, y: 3)

      How is this better than simply:

      Add.run(x: x, y: 3)
      

      ?

      I guess if we did that we would also have to remember to handle merging errors from that outcome into self...

    1. @adisos if reform-rails will not match, I suggest to use: https://github.com/orgsync/active_interaction I've switched to it after reform-rails as it was not fully detached from the activerecord, code is a bit hacky and complex to modify, and in overall reform not so flexible as active_interaction. It has multiple params as well: https://github.com/orgsync/active_interaction/blob/master/spec/active_interaction/modules/input_processor_spec.rb#L41

      I'm not sure what he meant by:

      fully detached from the activerecord I didn't think it was tied to ActiveRecord.

      But I definitely agree with:

      code is a bit hacky and complex to modify

    1. with ActiveForm-Rails, validations is the responsability of the form and not of the models. There is no need to synchronize errors from the form to the models and vice versa.

      But if you intend to save to a model after the form validates, then you can't escape the models' validations:

      either you check that the models pass their own validations ahead of time (like I want to do, and I think @mattheworiordan was wanting to do), or you have to accept that one of the following outcomes is possible/inevitable if the models' own validations fail:

      1. if you use object.save then it may silently fail to save
      2. if you use object.save then it will fail to save and raise an error

      Are either of those outcomes acceptable to you? To me, they seem not to be. Hence we must also check for / handle the models' validations. Hence we need a way to aggregate errors from both the form object (context-specific validations) and from the models (unconditional/invariant validations that should always be checked by the model), and present them to the user.

      What do you guys find to be the best way to accomplish that?

      I am interested to know what best practices you use / still use today after all these years. I keep finding myself running into this same problem/need, which is how I ended up looking for what the current options are for form objects today...

    2. If you compare the code of Reform and the code of ActiveForm-Rails, I think the last is more simple and clear for a behavior similar (or better).
    1. you'll want to update Devise's generated views to remove references to passwords, since you don't need them any more

      Doesn't this contradict the statement

      This strategy plays well with most other Devise strategies

      (which includes password strategies)?


      One thing that wasn't clear from their instructions was whether magic links could be used as an option in addition to regular password log-ins. On the one hand they say:

      This strategy plays well with most other Devise strategies (see notes on other Devise strategies).

      but on the other hand they say:

      you'll want to update Devise's generated views to remove references to passwords, since you don't need them any more

    1. You use grid-area, so the place for the side nav is allocated at start. If you hide (or even delete) the side nav, that won't change anything about this. You have to do a little trick: Set the width for the first column to 0 and change the grid-gap because otherwise you will have a (not needed) gap at the left.
    1. Popup - You don't need to deal with these messages right away, yet at some point you will need to take action since these won't go away until explicitly say say you don't want them around anymore.
  6. Jan 2021
    1. Slackmojis is made by some random dude in Brooklyn. He doesn't work for Slack, isn't paid by Slack, he just thinks Slack is pretty cool. Super Official Lawyer Talk: Slackmojis is not created by, affiliated with, or supported by Slack Technologies, Inc.