10,000 Matching Annotations
  1. May 2021
    1. The main focus of his talk was on progressive enhancement, which involves providing advanced functionality in environments where its supported. He also emphasized the importance of graceful degradation. Graceful degradation means that if your subscriber’s email client doesn’t support a certain functionality, you’ll still provide them with a pleasant experience.
    1. Despite what some email marketers and developers will tell you, semantics in email do matter. Not only do they provide accessible hooks for navigating an email, they can provide fallback styles that help maintain the hierarchy of emails in the unfortunate event CSS isn’t loaded or supported.
    1. Why, you ask? Simple, because they can’t stop distributing the program, users have come to rely upon it to read their email and edit their documents! Read the debian-user mailing list sometime and see how many times users of other distributions scream “Ahh! where’s Pine and Pico, my life will end without them!” The users are not at fault, their old “Open Source” operating system included Pine and Pico, so why shouldn’t Debian? The programs are “Open Source” after all, aren’t they?The thing is, they aren’t. The Pine license is not a Free Software license, nor does it meet the Open Source Definition. Why is it included in the distribution, then?

      .

    1. Large regions of memory can be allocated without the need to be contiguous in physical memory – the IOMMU maps contiguous virtual addresses to the underlying fragmented physical addresses. Thus, the use of vectored I/O (scatter-gather lists) can sometimes be avoided.
    1. Rather than be dealt a hand, the cards are placed on the table between the players and the cards for the next turn are drafted into their hands instead.  There will be few surprises since the players will know what cards are in play for the turn.  When picking cards, players will have to decide whether to take an advantageous card or select a card to deny an opponent a specific event.

      .

    2. First is that the two players are not the typical Cold War sides, Americans vs. Soviets.  They are not the focal point of the game.  Instead, 1979: Iran in Revolution pushes them to the periphery.  Instead, the two players represent Iranian royalists and reformers.

      .

  2. Apr 2021
    1. DISCLOSURE: I feel it's fair to let everyone know that Rolling Seas has been signed by a publisher and should see a full retail version available in 2-3 years. I had already planned this Crowd Sale before signing with the publisher and have their approval to run this sale. This Crowd Sale will be one of the last opportunities to get Rolling Seas before full publication (it will be taken down from The Game Crafter within a few months).
    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.
    2. There are several built in classes you can add as formatters. You can use a symbol to reference built in formatters. logger.formatter.add(Hash, :pretty_print) # use the Formatter::PrettyPrintFormatter for all Hashes logger.formatter.add(Hash, Lumberjack::Formatter::PrettyPrintFormatter.new) # alternative using a formatter instance
    3. # This will register formatters only on specific tag names logger.tag_formatter.add(:thread) { |thread| "Thread(#{thread.name})" } logger.tag_formatter.add(:current_user, Lumberjack::Formatter::IdFormatter.new)
    1. You don’t see a lot of them, but there are a number of “super trucks,” that people build custom. They’re essentially RVs built onto a stretched truck and used like a truck. These trucks, depending on how built, often have the same facilities RVs have, including private showers, toilets, and other plumbing essentials. They dump and refill at rest areas and rv parks that have these facilities, and live the best of both worlds - trucking without the hassle.
    1. There's nothing to stop you from doing initializer code in a file that lives in app/models. for example class MyClass def self.run_me_when_the_class_is_loaded end end MyClass.run_me_when_the_class_is_loaded MyClass.run_me... will run when the class is loaded .... which is what we want, right? Not sure if its the Rails way.... but its extremely straightforward, and does not depend on the shifting winds of Rails.

      does not depend on the shifting winds of Rails.

    1. The game is not too bad.. sweet graphics yet minimalistic.. but why the heck 1,5k achievements? I can barely concentrate on the levels because all the freaking achievements pop up all the time. One per level would have done the job just fine.. i love achievements.. but getting 1,5k for nothing is hideous.
    1. The saddest part is that almost every one of these problems could be fixed with a decent patch. Don't expect one from this developer though(look at their website, this game came out in 2010 with no updates.)

      .

    2. Unfortunately, it’s in the execution where “US and THEM” starts to fall apart. The game’s major problems stem from the user interface and some design choices range from questionable to downright horrible. For starters, the world map that takes up more than half of the screen can be neither scrolled nor zoomed. In a game where your interaction heavily relies on clicking various nations, this becomes a problem. While larger countries like Canada, the US and Russia are easily accessible, smaller nations require pixel perfect accuracy to interact with. Try clicking on Cuba, Ireland or Hungary and you’ll find yourself maniacally clicking shades and outlines and a handful of visible pixels in the area of these countries in vain hope that the game will acknowledge your actions.
    1. The Gamemaker lite watermark in the screenshots says all. The 'game' is like someone's first attempt ever at making a game. It should never be sold on a respectable site but steam stopped being one of those years ago. It has many problems like easily getting stuck on walls so it just isn't enjoyable to play.
    1. The responsiveness of the controls is terrible. It's nowhere near consistent, and the delay/lag between button presses and action on the screen is frustrating. It is nearly impossible to consistently jump while in motion, and if you can't do that in a platformer, you're better off not playing at all.
    2. The second thing I noticed was that of the very few who have posted on the page, I'm not the only one with this issue, yet no real help or even acknowledgement of the problem exists from the developer.

      .

    1. Absolutely atrocious controls, with keybinds hardcoded so that only american keyboard users can use one of the most important controls in the entire game. The Z key is in the middle of the keyboard for a huge portion of the world, developers.
    1. Actually, I've decided to stop using labels for a while. A "bug" label gives the impression that someone else is going to fix the problem. We don't have enough volunteers for that (new contributors welcome!). I try to help people working on issues, though. I've spent many hours on this one.
    1. I admit I'm biased, having bought this game for fifty cents at the time I did. I also have a general love of mouse movement-based games, and find other options in the way of gaming, Steam and otherwise, underwhelming in supply.
    1. We can imagine "CORONA NERVT!" in all languages ​​and countries. Since the card text is targeting topics from Germany and that gives our Game its charm, we didn't want to make a multilingual version. All players should find themselves in the game. So if you want to publish a version for another country, get in touch with us.
    1. >(...) starts the process ... and returns a file representing its standard input. exec &> ... redirects both standard output and standard error into ... for the remainder of the script (use just exec > ... for stdout only). tee -a appends its standard input to the file, and also prints it to the screen.
    1. Why your original solution does not work: exec 2>&1 will redirect the standard error output to the standard output of your shell, which, if you run your script from the console, will be your console. the pipe redirection on commands will only redirect the standart output of the command.
    1. Once more we see greedy mobile devs trying to scam PC gamers. On Steam, this is an insane $15 USD, on app stores, it's free. Mobile devs must learn PC gamers are not here to be gouged, and can't be expected to pay a premium for a free mobile app just because it's been lazily dumped on Steam. This is unacceptable disrespect for PC gamers.
    1. Eine wunderschön in Szene gesetzte Geschichte mit abwechslungsreichen Puzzle-Elementen in einer liebevoll gestalteten und mit grandioser musikalischer Untermalung verfeinerten Spielwelt. Leider nur in Englischer Sprache (deutsche Untertitel), diese aber in sehr guter Qualität. Ein Bisschen kurz vielleicht, aber in seiner Umsetzung so rund und geschliffen, dass die Spieldauer meines Erachtens nur ein geringes Manko darstellt. Wer Spiele im Graphic-Novel-Stil mit individueller Graphik und herzerwärmenden Geschichten mag, darf Figment nicht verpassen.Definitive Empfehlung! (ggf. im Sale)
    1. Don’t replace words with emojis One thing you definitely don’t want to do is have your emojis get in the way of people being able to comprehend your subject lines. Emojis should be a complement to the words in your subject lines – they should never replace words themselves. It’s when people leave out words, right?
    1. It should be defined inline. If you are using the img tag, that image should have semantic value to the content, which is why the alt attribute is required for validation. If the image is to be part of the layout or template, you should use a tag other than the img tag and assign the image as a CSS background to the element. In this case, the image has no semantic meaning and therefore doesn't require the alt attribute. I'm fairly certain that most screen readers would not even know that a CSS image exists.

      I believed this when I first read it, but changed my mind when I read this good rebuttal: https://hyp.is/f1ndKJ5eEeu_IBtubiLybA/stackoverflow.com/questions/640190/image-width-height-as-an-attribute-or-in-css

    2. They cause completely different behavior for auto margins. If you have a fixed element for example with top/bottom/left/right set to zero and you stick an image in it you want to center wrapped in a div, then in order to center that div with auto margins, you MUST specify a CSS width/height, because specifying an HTML attribute width/height has no effect and the margins remain zero. I have no idea why the difference exists.
    3. Whether to specify in html or css is best judged on individual circumstances. A large number of images of the same size would probably be best served with css, a single image with html. That said, if you are specifying other styles for the image (border colour, style or radius, float etc) it would make sense to add width & height to the css.
    4. From a practical point of view it's highly desirable to specify them to prevent page reflows as mentioned above. However those suggesting it should be in the html because of this are missing the fact browsers use css when building the page initially. If they didn't the page would have to be redrawn for floated elements, specified padding, margins etc.
    5. I think that depends on HOW you are using the attribute. If you're styling multiple images within a list or table so that they lay out correctly, then put the width/height in your CSS to avoid the need to add another set of tags to every image in the list. Use something like ul.gallery img: { width:117px; } On the other hand, if you are inserting an image into some content and it needs to be a certain size to make the document flow properly, then put it in the HTML. That way you don't have to muck up the style sheet for each different image in the html. And this way, if you change the content to a different image, of remove the image all together, you don't have remnants of code scattered in your CSS to remember to delete.
    6. 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.

    1. Graceful Explosion Machine is the gaming equivalent of empty calories. It's pretty to look at, super smooth, and has some interesting weapons, but there's no real hook to keep you sustained beyond the act of moving around and blowing up aliens.
    1. Though few in number, these tiles create a dizzying array of possible situations, from the reemergence of Mughal authority, the rise of new kingdoms, or the aggressive rejection of the Company's efforts.
    2. We know the audience for such games is limited. In order for us to produce games up to our standards, we rely on a direct sales model. Our games are not designed for traditional distribution or retail channels. The vast majority of all copies produced will be sent to Kickstarter backers or to people who purchase games through our store.  This means we can spend many more resources on the game's physical production without having to worry about retail viability.
    3. We are are continuing our commitment to creating our games that are free and widely accessible anyone that is curious by making our game files available under Creative Commons license BY–NC–SA 4.0. That means we will continue offering a full, free print-and-play kit for Pax Pamir, and later this campaign, John Company! Anyone can use, remix, and share the game, so long as they do not use it for commercial purposes. 
    4. Just about everything players own can be exchanged at any time. The old promise system has been redesigned to provide players with the ability to give away future favors for crucial leverage in the heat of a negotiation. Players have never had so many ways to make a deal. 
    5. John Company offers players a new understanding of British history in the eighteenth and nineteenth century that reflects contemporary scholarship on the subject and extensive research into primary documents. John Company attempts to put the critical events of that time in their proper context and show how the imperial experience transformed the domestic culture of Britain. The East India Company lurked behind every building of a textile mill and every bit of wealth in a Jane Austen novel.  John Company is an uncompromising portrait of the people who made the Company and the British Empire what it was. It is as frank as it is cutting in its satire.  Accordingly, the game wrestles with many of the key themes of imperialism and globalization in the eighteenth and nineteenth centuries and how those developments were felt domestically. As such, this game might not be suitable for all players. Please make sure everyone in your group consents to this exploration before playing. 
    1. I really like the ideas in this game: the theme, what it's trying to accomplish (explore the problems with imperialism, if I understood correctly), the game board, the game in general. I want to like it.

      but, I don't think I would like this one enough due to the luck and relying on other players' whims (trading) mechanisms:

      • Dice Rolling
      • Push Your Luck

      You can risk a lot getting an expensive estate, but if you push your luck too much, your risk/gamble won't pay off and you'll permanently lose that [pawn] and those victory points.

    1. Unfortunately, there is some urgency to this effort. As Shashi Tharoor writes in his book Inglorious Empire (2018), over the past 30 years, there has been a tremendous bout of collective amnesia, espeically in the UK, about the history of empire and its consequences. Into this vacuum, revisionist historians of the worst kind like Niall Ferguson have capitalized on historical blind spots of people living today to make an absurd case for the benefits of empire. This cannot be allowed to happen. Tharoor believes that one of the best bulwarks against this erasure is to do the work of inquiry and to make the history of empire accessible and apparent to the widest audience. It is into this effort that I submit my work. John Company is an unsparing portrait that hopefully will give its players a sense of the nature of empire and the long half-life of its cultural production. It is certainly not the only way to make a game about empire, but I hope that it does its part in adding to our understanding of that subject and its continued legacy.
    1. The term COVID-19 denialism or new coronavirus denialism[31] (or viral denialism)[32] refers to the thinking of those who deny[33][34][35] the reality of the COVID-19 pandemic [36][37][38][39][40] or, at the very least, deny that deaths are happening in the manner or proportions scientifically recognized by the World Health Organization
    1. Sustainable DistributionGavin uses an electric scooter to transport the games to the drop off points. He would use his electric bike but he is nervous of someone nicking it when He is in the post office. Gavin has a plant based diet. The diet reduces his carbon footprint and his emissions, which his wife is very happy about.
    2. Environmentally friendly factoriesGavin uses the Cubiko Games workshop ‘factory’. Yes, it is a bit cold in the winter but, hey, I built it myself. Transporting goods from the ‘factory’ is very economical, it is about 20 metres from the factory to Gavins house via the garden. The worker in the ‘factory’ (Gavin) is committed to looking after the environment and tries his best to use every piece of wood to the best of his ability. The working conditions are great. (Flexi-time, unlimited food and drink breaks). No child labour. (Samuel sometimes ventures into the factory but we don’t put him to work).
    3. 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?

    4. We, at Cubiko Games, would love for Foundation to reach as many people as possible because it’s such a great game. We hope that the ‘stretch goals’, ’2 x reward‘ tiers and ’voucher codes’ will encourage people to back and share the campaign so that it reaches its full potential.  Then, hopefully, with more backers comes more exposure which, in turn, leads to the ultimate goal..... Foundation gets signed by a leading game manufacturer.
    1. What you want is not to detect if stdin is a pipe, but if stdin/stdout is a terminal.

      The OP wasn't wrong in exactly the way this comment implies: he didn't just ask how to detect whether stdin is a pipe. The OP actaully asked how to detect whether it is a terminal or a pipe. The only mistake he made, then, was in assuming those were the only two possible alternatives, when in fact there is (apparently) a 3rd one: that stdin is redirected from a file (not sure why the OS would need to treat that any differently from a pipe/stream but apparently it does).

      This omission is answered/corrected more clearly here:

      stdin can be a pipe or redirected from a file. Better to check if it is interactive than to check if it is not.

    1. (Ideally the run-time library would treat a pipe in the same way as a console, but it seems that most don't.)

      Often/usually treating a pipe/redirect differently is in fact what you want.

      Like if you output to a file, you don't necessarily want colors or real-time progress/status outputted along with it: you want just the bare data to be saved, which can then be filtered in useful ways with other standard tools like grep and sed.

    1. To prevent race conditions and deadlocks, we highly recommend that each of the communication channels is serviced on a separate thread that maintains its own client buffer state and messaging queue inside your application. Servicing all of the pseudoconsole activities on the same thread may result in a deadlock where one of the communications buffers is filled and waiting for your action while you attempt to dispatch a blocking request on another channel.