10,000 Matching Annotations
  1. Jul 2022
    1. I'm fully serious: If your accounts and data are important, then just don't make such mistakes. Being careful is completely possible.

      Being careful is completely possible.

    1. I can't reverse it, but maybe somebody who understands how Chrome does the decryption can. The ability is there, its not that Chrome can't decrypt them, it is that Chrome won't decrypt them due to false "security".And if Chrome actually, genuinely can no longer decrypt passwords after they have been restored from backup, then that is a shockingly bad bug in their password manager.
    2. If your security locks you out of your own home just because you changed your trousers, that would be shockingly bad security.If your security permanently locks you out of your accounts because you restored your Chrome settings from backup, how is that any better?
  2. Jun 2022
    1. Data protection authorities have found that the U.S. legal system does not guarantee the same standards of protection as the EU. The situation stems from a set of U.S. laws that allow government organizations to request access to consumers’ personal data from US-based services, regardless of where the data centers or servers are located. In light of this, NOYB filed 101 complaints with European DPAs to find that transferring European users’ data to the U.S. was unlawful. The decisions, which have noted the illegitimacy of the transfers, focus on the analysis of additional technical, contractual and organizational measures.
    1. A custom component might be interesting for you if your views look something like this: <%= simple_form_for @blog do |f| %> <div class="row"> <div class="span1 number"> 1 </div> <div class="span8"> <%= f.input :title %> </div> </div> <div class="row"> <div class="span1 number"> 2 </div> <div class="span8"> <%= f.input :body, as: :text %> </div> </div> <% end %> A cleaner method to create your views would be: <%= simple_form_for @blog, wrapper: :with_numbers do |f| %> <%= f.input :title, number: 1 %> <%= f.input :body, as: :text, number: 2 %> <% end %>
    1. Valve long ago proved that piracy is a service issue. Make it more convenient to pay for something, and people pay. Just look at what they did to bring AAA games to Linux!Apple, Amazon, and others proved it as well when they removed DRM (or never had it in the first place) on digital music purchases! People still paid for music downloads! They figured out how to keep people paying by making subscriptions to pretty much all music cheap and convenient. The service is more convenient than piracy, and you have a useful option for anything you want more permanent than a subscription.
    2. Linux users flood developers on projects in github. On Opensource projects were you can actually somehow talk to the developers as an end user. Or maybe on Twitter if a developer of a proprietary software is somehow known and you can contact him on social media.But Developers dont talk to first level customer support of a proprietary software like Adobe InDesign or a service like Netflix,But this is were these companies get their data. And they base their decisions on this data.

      .

    3. Linux users flood developers with bugs and requests because we actually know how to debug our systems. The creators then tend to get annoyed at the flood, because even if they resolved them all, it would be spending a lot of energy for less than 1% of their userbase.

      .

    4. The main problem of the Linux community is that it is divided. I know this division represents freedom of choice but when your rivals are successful, you must inspect them carefully. And both rivals here (MacOS and Windows) get their power from the "less is more approach".This division in Linux communities make people turn into their communities when they have problems and never be heard as a big, unified voice.When something goes wrong with other OSes, people start complaining in many forums and support sites, some of them writing to multiple places and others support them by saying "yeah, I have that problem, too".In the Linux world, the answers to such forums come as "don't use that shitty distro" or "use that command and circumvent the problem".Long story short" average Linux user doesn't know that they are:still customers and have all the rights to demand from companiesthey can get together and act up louder.Imagine such an organizing that most of the Linux users manage to get together and writing to Netflix. Maybe not all of them use Netflix but the number of the Linux users are greater than Netflix members. What a domination it would be!But instead we turn into our communities and act like a survival tribe who has to solve all their problems themselves .
    5. Big Software companies like Adobe or Netflix do two things that are relevant for us and currently go wrong:They analyse the systems their customers use. They don't see their Linux users because we tend to either not use the product at all under Linux (just boot windows, just use a firertv stick and so one) or we use emulators or other tools that basically hide that we actually run Linux. --> The result is that they don't know how many we actually are. They think we are irrelevant because thats what the statistics tell them (they are completely driven by numbers).They analyze the feature requests and complains they get from their customers. The problem is: Linux users don't complain that much or try to request better linux support. We usually somehow work around the issues. --> The result is that these companies to neither get feature requests for better Linux support nor bug reports from linux users (cause its not expected to work anyways).
    1. Mine you at the time Valve was trying to get developers to make Linux ports of the games so targeting Debian made some sense in terms of platform stability, this didn't work out well and developers did no such thing. Valve then moved to making WINE work better through spending dev time adding patches and making the Proton later on top of it.Valve likely moved to an Arch base to get bleeding edge support for new hardware and for performance enhancements that come along with it as they were no longer shackled trying to get developers to make native Linux ports.
    2. Compare that to bugfixes coming to a Ubuntu LTS or 6 month and you might not get it before the version is End Of Life making collaborating difficult & fruitless.Arch is where developers are so it makes sense from the massive array of software available in the AUR & repos too.Its like a software flee market, occasionally AUR software isn't up to the bar or theoretically there COULD be a bad actor once every few years otherwise its something truly special.
    3. Bug triage is so much easier & faster on Arch. Everyone is on the same latest version and engaging developers usually lead to fixes that users can consume right away or within a week.
    1. The linux-based open-source mobile operating system Android is not only the most popular mobile operating system in the world, it’s also on the way to becoming a proprietary operating system. How is that?

    Tags

    Annotators

    URL

    1. Our Camera app provides the system media intents used by other apps to capture images / record videos via the OS provided camera implementation. These intents can only be provided by a system app since Android 11, so the quality of the system camera is quite important.

      .

    1. No, GrapheneOS will remain a non-profit open source project / organization. It will remain an independent organization not strongly associated with any specific company. We partner with a variety of companies and other organizations, and we're interested in more partnerships in the future. Keeping it as an non-profit avoids the conflicts of interest created by a profit-based model. It allows us to focus on improving privacy/security without struggling to build a viable business model that's not in conflict with the success of the open source project.

      .

    1. As has been mentioned this is a take on the Prince and the Pauper story that may not appeal to those who are into art films and like to sit around discussing and dissecting a film's philosophical nuances. If, on the other hand, you simply like a fun story, gorgeous sets, and yes, the occasional over-the-top scene, this can be a thoroughly enjoyable tale of a man who is willing to put the woman he loves ahead of himself.
    2. I almost didn't watch this movie due to the repetitive negative reviews here on IMDb. Usually I find reviews here fairly spot-on. But in this case I am convinced we are living in a generation of viewers who have been raised on so much schlock, sex, violence, blood and foul language that they wouldn't recognize a prime movie if it whacked them with a hammer. Either that or we have a set of the most bogus witch-hunt reviews ever.
    1. ``` function download(url, fileName) { const link = document.createElement("a"); const xhr = new XMLHttpRequest();

      xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = function() { file = new Blob([xhr.response], { type: 'application/octet-stream' }); link.href = window.URL.createObjectURL(file); link.download = fileName; document.body.appendChild(link); link.click(); setTimeout(() => { link.parentNode.removeChild(link); }, 0); } xhr.send() }

      url = document.querySelector('#player').dataset.mediaUrl; fileName = url.replace(/.(202\d)\/(\d\d)-(\d\d).\/([^/]).mp3/, '$1-$2-$3-$4') + '-' + document.querySelector('.epHeader h2').textContent + '--' + document.querySelector('.epDesc').textContent.replace(/^\s/g, "").slice(0, 200) + '.mp3';

      download(url, fileName);

      ```

    2. document.querySelector('#player').dataset.mediaUrl.replace(/.*(202\d)\/(\d\d)-(\d\d).*\/([^/]*).mp3/, '$1-$2-$3-$4') + '-' + document.querySelector('.epHeader h2').textContent + '--' + document.querySelector('.epDesc').textContent.replace(/^\s*/g, "").slice(0, 200) + '.mp3'

    1. I know this bug is labeled invalid and I know the devs don't want to address the issue further...but if anyone reads this I'd really like to know if there is some way *advanced* FF users can enable cross-origin downloads. I mean, c'mon, the case against allowing cross-origin downloads is built on the premise that users could unknowingly download a file from a site containing their own personal information (e.g., gmail.com) and save it using a misleading name (e.g. "30off.coupon.txt") AND THEN proceed to another malicious page where they directly go and upload that same file they just downloaded. I mean c'mon. Seriously?? Anyone who's gonna fall for that deserves to lose their personal information. I'm all for browser security, but I think a simple preference in about:config to enable cross-origin a@download is in order. Please consider. Thank you.

      .

    1. The Bugzilla issues don't seem to rule-out the possibility of using CORS for cross-origin download attribute support in the future, but right now using CORS headers does not do anything for the download attribute. It's possible that if other browsers start supporting the attribute, a consensus may yet be reached.

      .

    1. This actually is possible with JavaScript, though browser support would be spotty. You can use XHR2 to download the file from the server to the browser as a Blob, create a URL to the Blob, create an anchor with its href property and set it to that URL, set the download property to whatever filename you want it to be, and then click the link. This works in Google Chrome, but I haven't verified support in other browsers. window.URL = window.URL || window.webkitURL; var xhr = new XMLHttpRequest(), a = document.createElement('a'), file; xhr.open('GET', 'someFile', true); xhr.responseType = 'blob'; xhr.onload = function () { file = new Blob([xhr.response], { type : 'application/octet-stream' }); a.href = window.URL.createObjectURL(file); a.download = 'someName.gif'; // Set to whatever file name you want // Now just click the link you created // Note that you may have to append the a element to the body somewhere // for this to work in Firefox a.click(); }; xhr.send();
    1. A development container allows you to use a container as a full-featured development environment. It can be used to run an application, to separate tools, libraries, or runtimes needed for working with a codebase, and to aid in continuous integration and testing.
    1. At this point, you’ll want to mow your grass 3-5 times. This amounts to roughly once per week. Do this before walking on it.

      How do you mow a lawn without walking on it? :)

      I think they mean "optional" kinds of walking on it other than mowing, but it still seems contradictory.

      I think this one made more sense: https://hyp.is/Hyh4YuhXEeyNCrckBwtGgg/www.backyarddigs.com/lawn-care/how-long-after-planting-grass-seed-can-you-walk-on-it/

      Add in another two or so weeks for the grass to grow tall enough for its first mowing, at which point you have no choice but to walk over the area.

    1. Add in another two or so weeks for the grass to grow tall enough for its first mowing, at which point you have no choice but to walk over the area.

      have to do it

      no other reasonable choice/alternative

  3. www.postgresql.org www.postgresql.org
    1. Logically, if you just want a distinct list of event_id values, what order they occur in should be irrelevant. If order does matter, then you should add the start_time to the SELECT list so that there is context for the order.
    2. The ORDER BY clause can only be applied after the DISTINCT has been applied. Since only the fields in the SELECT statement are taken into consideration for the DISTINCT operations, those are the only fields may be used in the ORDER BY.
    3. an alternative to Matthew's answer is using an aggregate function like MIN or MAX for the sorting: SELECT event_id FROM Rsvp GROUP BY event_id ORDER BY MIN(start_time)

      .

    4. I just went through a small example in my head which helped me understand why Postgres has this seemingly odd restriction on SELECT DISTINCT / ORDER BY columns.

      .

    1. Remove the commit from step 2. We will merge ignoring the failure. Remove the commit from the other, check it passes with the other commit now on main. Merge the other. We will trigger builds for the main branch of affected repositories to check if everything is in order. Steps 5-8 should happen continuously (e.g. one after another but within a short timespan) so that we don't leave a broken main around. It is important to triage that build process and revert if necessary.

      It is important to not leave a broken main around.

  4. May 2022
    1. We document the order of hooks, but I don't think we document where in that order we integrate Rails helpers which makes this confusing, I do sort of think this is a bug but as we use RSpec to integrate Rails here and RSpec Core has no distinction that matches before / after teardown its sort of luck of the draw, we could possibly use prepend_after for Rails integrations which would sort of emulate these options.
    1. 1/ It fits into existing spec based testing infrastructure nicely, including running on travis, code coverage using SimpleCov, switching between generating a profile (RubyProf), a benchmark (Benchmark::IPS) or normal test run. 2/ Some of my benchmarks do have expect clauses to validate that things are working before invoking the benchmark.

      Answering the question:

      I don't understand the point of putting it in a spec. What does that gain you over using benchmark-ips the normal way?

    2. I think RSpec should provide around(:context)/around(:all). Not because of any particular use case, but simply for API consistency. It's much simpler to tell users "there are 3 kinds of hooks (before, after and around) and each can be used with any of 3 scopes (example, context and suite)". Having some kinds of hooks work with only some kinds of scopes makes the API inconsistent and forces us to add special case code to emit warnings and also write extra documentation for this fact.
    3. we routinely choose not to add or expand features we think are a bad idea, or simply that aren't in popular demand, not because we're "saving the dummies' asses" but because adding new features creates a maintenance burden upon ourselves which cannot easily be undone. Once a version of RSpec supports something its there until a next major version which could be a long time away, we have several features already that we don't recommend extensive use of (expect_any_instance_of for example, we'd recommend not using it but we know there is popular demand for it so we maintain despite the extra burden it causes) so we're understandably not keen to increase that number.
    1. Giants that prefer the hyphenated spelling—Merriam-Webster, The Chicago Manual of Style, and The New Yorker, have a good reason for doing so. E-mail is a compound noun, made out of two words—“electronic” and “mail.” The e in e-mail is an abbreviation for “electronic,” and it’s used in a lot of other words as well—e-commerce, e-learning, and e-business, for example. There are also other compound nouns formed from an abbreviation and a noun, like the H-bomb, which is short for hydrogen bomb. The general rule of hyphenation in compound words that combine a single letter (or a number) and a word is to hyphenate them. So, based on tradition, e-mail is the correct way to do it.
    1. lationship (offset) to Coordinated Universal Time (UTC). (This is distinct from some usage in scheduling applications where a local time and location may be known, but the actual relationship to UTC may be dependent on the unknown or unknowable actions of politicians or administrators. The UTC time corresponding to 17:00 on 23rd March 2005 in New York may depend on administrative decisions about daylight savings time. This specification steers well clear of such considerations.
    1. I'm disappointed because the image for this item is misleading. It has clearly been altered to appear that the balls/marbles that come with the set are larger than they actually are. If you look closely at the picture, you can tell that the balls were digitally edited in to the original image.I have a child who still likes to chew on toys, and only purchased this for him because it appears in the image that the balls are much too large to be a risk for choking. In actuality, they're about the size of marbles and a very high choking risk.Misrepresenting this in the photo is potentially dangerous
    1. GNU cmp compares two files byte by byte and prints the location of the first difference. We can pass the -s flag to find out if the files have the same content.

      .

    1. pe() { for _i;do printf "%s" "$_i";done; printf "\n"; } pl() { pe;pe "-----" ;pe "$*"; } db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; } db() { : ; }

      cryptic names, but possibly useful functions

    1. Some people have expressed surprise end even doubt that it could be faster to read the files twice than reading them just once. Perhaps I didn't manage to explain very clearly what I was doing. I am talking about cache pre-loading, in order to have the files in disk cache when later accessing them in a way that would be slow to do on the physical disk drive. Here is a web page where I have tried to explain more in detail, with pictures, C code and measurements.
    2. Remember the caching. Reading two files sequentially into memory from the physical disk can be faster than reading them both in parallel, alternating between them (moving the read head back and forth). Everything you do later, with all the data cached in memory, is relatively much faster. But yes, it depends on the data, and this is an average. Two files that actually do differ in the beginning will be faster to compare byte by byte.
    1. You should mentioned what you listed after the word try_files. Here's what I ended up using that seemed to work: try_files $uri $uri/index.html $uri.html /index.html; The /index.html at the end needs to match the fallback: 'index.html' part of your adapter-static config. Otherwise going directly to a route that doesn't have a matching file at that path -- such as any route with a dynamic param like [id] -- will result in a 404.
    1. Keep in mind static here does not refer to the content on the page! Static sites can still be reactive, communicate with APIs, etc. it just means that the website package, aka the contents of the build directory that you upload to your host, doesn’t ever change.
    1. Both solutions to insert <hr /> a horizontal line seem insane to me. You can insert nearly anything but an actual horizontal line. pray for a solution. But no actual <hr /> I can find.

      Why is there no easy way to insert a


      ??

    1. HTML <hr> element: The prior warning is doubly important because there is a tendency to associate the term “horizontal rule” with the HTML <hr> element. LO does not generate this HTML element, either in ODT XML or when exporting to HTML, regardless of the type of horizontal rule used. This, and the preference to use styles in deference to graphic objects may also have influenced the decision to remove the Insert > Horizontal Rule… menu option and associated gallery.

      Why is there no easy way to insert a


      ??

    1. However, these implicit dependencies may cause problems when running Bazel in an airgapped environment, even if you have vendored all of your WORKSPACE dependencies. To solve that, you can prepare a distribution directory containing these dependencies on a machine with network access, and then transfer them to the airgapped environment with an offline approach.

      first sighting: airgapped

    1. Two big cons:- Can't save in the middle of a mission, and you don't know in advance how long a mission takes. (I'm too old for long playing sessions, and my kid who likes to play this with me, is too young.)

      .

    2. The game has no respect for your time. Saves? Nope, doesn't have them. You have to play each level through to completion in order to move onto the next one. If it had even a save and exit feature it would change my opinion dramatically.

      .

    3. Next, the game -does- have saves, but the devs couldn't figure out how to serialize data mid-mission and read/write a save file. "It was technically impossible due to our decision not to do it." Again, playing your game is actually not the most important thing in my life, and I don't want to spend an hour doing most of a mission only to be called away by real life and then have to start over. I get that you're apparently licensing a black-box physics engine which doesn't give you insight into its immediate state - that shouldn't matter. If you have access to the variables in memory, which you have to do for the game to run, you can serialize those variables.

      .

    4. I could love this game so easily. First off I enjoy God Games in general; Populous used to be my first exposure and remained my favourite for a long time. Secondly, the art is funky, and the creatures all make appropriate noises. Seriously, that really adds to the amount of fun I have with a game. It's also a Goldilocks game for me -- not too simple, but also not overwhelmingly complicated, so it's just right for those times when my brain isn't necessarily at its best, but I am not ready to go to bed yet, and I want something more interesting than point-and-click, yet Civilization is way too demanding.The game has a lot of options, which I also enjoy -- you can play in story mode, where you can choose from 5 different missions, starting quite easily and ending with a real challenge. Or you can play in survival mode, with 3 different difficulty options plus complete customization. It is possible to play the game 100% peacefully, no pests, no enemies, no disasters at all, which is also something I prize when I want to relax. And you can make it unbearably hard on yourself, so there's definitely a lot of replay value here.

      .

    5. So why am I not recommending it? I want to! The developers generally did a pretty good job, and I like to reward that, especially with so many games on Steam that are abandonware.For one, it's aggravating that the AI is not smart enough. Mims don't seek rejuvenation in their house when they most need it, especially guardians who have nothing to do but guard the place. And yet, they don't recoup their energy easily enough, which means I have to micromanage constantly. Mims who get hurt badly don't march straight for home either, and can easily die on you ("too stupid to live" comes true). I ended up choosing a custom game with only the meekest pest at a low rate of invasion simply so I could figure out where the AI fell flat on its face, and alas there are many places. And while I can micromanage rejuvenation and attacks on pests/enemies, I cannot make my Mims cut down vegetation; I have to burn it, and the burn rate is not high enough at the start to deal with the regrowth rate. That alone wouldn't cause me to recommend against a game; I'd put up with that, because it is of course its own challenge to figure out a way to win within a game's constraints. I find methodical analysis and trial building fun in its own way.

      .

    6. But here's the deal breaker:You cannot save in this game. And it doesn't even warn you that it doesn't auto save; when you leave, that is it, your game is gone and you have to start over. You can't set up two different scenarios, compare them, and tweak each. If you want to spend some time carefully fine tuning your game's economy, you have to basically remain logged into it for days. Which totally distorts your hours spent, aside from taking up memory from other games you might want to play or from actual work. And if your computer crashes, it's all for naught anyway. If you build a masterpiece of Mims civilization, better screen print it and then kiss it goodbye, because there is no return to old glories.So I am sorry, but I cannot recommend it. If this doesn't bother you, by all means, I think it's well worth buying even at full price, because you can get many hours of gameplay out of it if you just don't leave the game. But for me, this is a death knell for a game; I lose all interest if I can't save my work to get back to it later.

      .

    1. Zimbu is an experimental programming language.  It is a very practical, no-nonsense kind of language.  It mixes the good things of many existing languages and avoids their deficiencies.  And then throws in a few brand new ideas.
    1. I watched some of it to help me track it down. It's offensively bad with no redeeming qualities. Shame on Netflix for streaming it.

      Way to unabashedly call bad "bad" :)

    1. The developer purchased Survival Engine - Crafting Building Farming by Indie Marc from the Unity store to build his game.This in itself wouldn't be a problem - that's what assets are made for, after all - but the amount of customization they put in equals to almost zero.

      .

  5. Apr 2022
    1. LEFT OUTER JOIN First, an inner join is performed. Then, for each row in T1 that does not satisfy the join condition with any row in T2, a joined row is added with null values in columns of T2. Thus, the joined table always has at least one row for each row in T1.
    2. A LATERAL item can appear at top level in the FROM list, or within a JOIN tree. In the latter case it can also refer to any items that are on the left-hand side of a JOIN that it is on the right-hand side of.

      Unlike with most joins (IIUC), order is important with lateral joins. Weird. Why?

      Maybe because it is equivalent to a cross join lateral (see example), and in an explicit cross join, you have a LHS and RHS?

    1. Why not just use a join and group by? SELECT AA.ID, COUNT(B.ID) as no_tx, min(B.DATE) as fday_tx, max(B.DATE) as lday_tx, AA.start_date, AA.end_date FROM (SELECT ID, min(DATE) as start_date, max(DATE) as end_date FROM MAIN_TABLE WHERE CODE = 'drugA' GROUP BY ID ) AA LEFT JOIN MAIN_TABLE b ON b.CODE = 'drugB' AND b.DATE > AA.start_date AND b.DATE < AA.end_date GROUP BY AA.ID, AA.start_date, AA.end_date;
    2. window functions: SELECT ID, SUM(CASE WHEN code = 'drugB' THEN 1 ELSE 0 END) as no_tx, MIN(CASE WHEN code = 'drugB' THEN DATE END) as fday_tx, MIN(CASE WHEN code = 'drugB' THEN DATE END) as lday_tx, start_date, end_date FROM (SELECT t.*, MIN(CASE WHEN code = 'drugA' THEN date END) as start_date, MAX(CASE WHEN code = 'drugB' THEN date END) as end_date FROM MAIN_TABLE t ) t WHERE code in ('drugA', 'drugB') AND date between start_date and end_date GROUP BY t.id;
    1. A fever makes the body less favorable to viruses and bacteria for replicating, which is temperature sensitive. Our grandparents knew this, but somewhere along the line mom’s began to believe a fever was dangerous for their child and would immediately try to lower it.
    2. When you lower your child’s temperature with medications such as ibuprofen and acetaminophen, you are hindering your child’s ability to fight the infection. A better strategy to quickly fight the infection is to raise their temperature. Or at least leave the fever be so it can do its job.
    1. I think there should be an easier way to declare that pages/components should not be rendered on the server. Not all client-side-only code is bad!

      Not all client-side-only code is bad

    1. In order to reflect this in the types I added an Either type to the helpers, because with Union Types only the values that the types have in common are directly accessible. So it would have been necessary to first check the returned type before accessing returned properties.

      What does this mean?