- Feb 2021
-
-
In Ruby 3 we now have a “rightward assignment” operator. This flips the script and lets you write an expression before assigning it to a variable. So instead of x = :y, you can write :y => x
-
-
github.com github.com
-
ActiveInteraction plays nicely with Rails. You can use interactions to handle your business logic instead of models or controllers.
-
Since we're using an interaction, we don't need strong parameters. The interaction will ignore any inputs that weren't defined by filters. So you can forget about params.require and params.permit because interactions handle that for you.
-
-
www.infoworld.com www.infoworld.com
-
By the same token, marketing or political incentives often push design idioms
-
The Java packages contain a lot of great code. But there are also parts of that code I'm sure the authors are embarrassed to admit they wrote.
-
-
-
DSLs can be problematic for the user since the user has to manage state (e.g. am I supposed to call valid? first or update_attributes?). This is exactly why the #validate is the only method to change state in Reform.
-
The reason Reform does updating attributes and validation in the same step is because I wanna reduce public methods. This is to save users from having to remember state.
I see what he means, but what would you call this (tag)? "have to remember state"? maybe "have to remember" is close enough
Or maybe order is important / do things in the right order is all we need to describe the problem/need.
-
-
github.com github.com
-
Bowline will bind up Ruby and HTML - letting you concentrate on the more interesting things
-
-
www.openttd.org www.openttd.org
-
As of today, you can Wishlist OpenTTD on SteamE. Historically, OpenTTD always had a single home from where we distributed the game. We used to be hosted on SourceForge (you know you are old, if you remember that being a thing :D), and slowly moved towards our own self-created distribution methods. These days, we mostly distribute our game via our website. But times are changing, and so is our hair. Over the last few months, we have silently been working to become a bit more visible in the world. Don’t worry, not for reasons you might think: OpenTTD has as many active users as it had in 2007. But more because we no longer think it is the right approach to only distribute via our own website. This became painfully apparent when we noticed other people post OpenTTD on some stores. They are not always updated with new releases, sometimes even slacking behind a few years. And maybe more important to us: we can not guarantee that the uploaded version is unmodified and is the version as we intended. So, instead of fighting it, why not turn around and join them! Why not release our own, verified, builds on those stores! And this is exactly what we have been working on lately. And when I say “we”, a bit ironic to me, I mean the two developers that are around longest (myself and orudge) ;) A while back orudge added OpenTTD to the Microsoft Store. And today, I am happy to announce we will be on SteamE too! Well, we are on Steam, but we haven’t released anything there yet (sorry that I got your hopes up, just to squash them right after :( ). This is partially because of how Steam works, but also because we know we can bring a better experience for Steam with our upcoming release. That brings me to the most exciting news: if everything goes as planned, we will release OpenTTD 1.11 on Steam on the first of April, 2021! And that is not even an April fools’ joke! You can already Wishlist OpenTTD today .. and till we release on Steam, you can find our game via our website ;)
-
-
www.openttd.org www.openttd.org
-
As of today, you can Wishlist OpenTTD on SteamE. Historically, OpenTTD always had a single home from where we distributed the game. We used to be hosted on SourceForge (you know you are old, if you remember that being a thing :D), and slowly moved towards our own self-created distribution methods. These days, we mostly distribute our game via our website. But times are changing, and so is our hair. Over the last few months, we have silently been working to become a bit more visible in the world. Don’t worry, not for reasons you might think: OpenTTD has as many active users as it had in 2007. But more because we no longer think it is the right approach to only distribute via our own website.
-
-
www.dekudeals.com www.dekudeals.com
-
Tired of games where there are tips and tutorials of all kinds and you can finish them without much difficulty?
-
-
hilton.org.uk hilton.org.uk
-
Unlike naming children, coding involves naming things on a daily basis. When you write code, naming things isn’t just hard, it’s a relentless demand for creativity. Fortunately, programmers are creative people.
-
If we renamed things more often, then it probably wouldn’t be so hard to name them in the first place.
-
We also find it hard to agree on what good names and bad names look like, which makes it hard to know when renaming improves a name.
-
violates our expectation that hard things should be technical
-
This is funny because it’s unexpected. Cache invalidation sounds like a hard thing, while naming sounds more straightforward. The joke works because it violates our expectation that hard things should be technical. It’s also funny because it’s true.
-
Anyone who has ever tried to name a child knows that naming is hard. Naming things in code is harder. It’s bad enough that you have to commit to a name that someone isn’t going to like. You also have to be able to live with it.
-
In principle, the naming things in code need only be temporary, but names in code stick just like nicknames at school.
Tags
- expectations
- good analogy
- why is it difficult/hard?
- becomes/gets easier with practice/experience
- creative people
- naming things is hard
- naming
- contrast
- refactoring: rename
- relentless
- hard things in computer science
- surprising
- programming
- supposed to be temporary / things have a way of sticking/becoming permanent
- big change/rewrite vs. continuous improvements / smaller refactorings
- hard to agree on
- well-written
- technical problems
- creative
- what programmers are like
- creativity
- the activity of _
- frequently encountered (common) problem
- hard to determine/recognize if it is better / an improvement or not
- difficult/hard problem
- funny because it's true
- software development
- funny because it's unexpected
- requires/demands creativity
- non-technical problems
- good point
- cache invalidation is hard
Annotators
URL
-
-
www.quora.com www.quora.com
-
So the hard and unsolvable problem becomes: how up-to-date do you really need to be?
-
After considering the value we place, and the tradeoffs we make, when it comes to knowing anything of significance, I think it becomes much easier to understand why cache invalidation is one of the hard problems in computer science
the crux of the problem is: trade-offs
-
the 2 hardest problems in computer science are essentially the 2 hardest problems of life in general, as far as humans and information are concerned.
-
The non-determinism is why cache invalidation — and that other hard problem, naming things — are uniquely and intractably hard problems in computer science. Computers can perfectly solve deterministic problems. But they can’t predict when to invalidate a cache because, ultimately, we, the humans who design and build computational processes, can’t agree on when a cache needs to be invalidated.
-
Sometimes humorously extended as “cache invalidation, naming things, and off-by-one errors.”
Tags
- good analogy
- good explanation
- computers
- cache invalidation is hard
- hard things in computer science
- good question
- main/key/central/essential/core thing/point/problem/meat
- how good/perfect does it really need to be?
- difficult/hard problem
- nondeterministic
- where it shines / best application
- trade-offs
- generalized explanation
- funny
- life in general
- deterministic
- good point
- knowledge
Annotators
URL
-
-
www.computers.wtf www.computers.wtf
-
There’s only one hard thing in Computer Science: human communication. The most complex part of cache invalidation is figuring out what the heck people mean with the word cache. Once you get that sorted out, the rest is not that complicated; the tools are out there, and they’re pretty good.
-
-
www.honeybadger.io www.honeybadger.io
-
Well, I'm glad they did, because Turbolinks is a much better piece of software than jquery-pjax ever was. It's actively maintained and doesn't require jQuery at all! So we're one step closer to our dream of ditching $.
-
-
jakearchibald.com jakearchibald.com
-
Flexbox and grid play well together, and are a huge step forward from the float & table hacks they replace.
-
-
softwareengineering.stackexchange.com softwareengineering.stackexchange.com
-
First, the frame and frameset elements are not deprecated in HTML5, they're obsolete (i.e., they've been removed entirely).
-
- Jan 2021
-
stackoverflow.com stackoverflow.com
-
systemd has such huge documentation. systemd.unit Did you try searching for explanation yourself? What did you find?
-
-
blog.linuxmint.com blog.linuxmint.com
-
http://letmegooglethat.com/?q=How+to+change+the+default+search+engine+in+chromium&l=1
-
-
forums.theregister.com forums.theregister.com
-
Well, that user can safely stay with Windows. Hiding these things from me makes wish that.
-
-
github.com github.com
-
github.com github.com
-
-
I wanted to use GitHub Gists which are a wonderfully low friction way of sharing code
-
-
discourse.ubuntu.com discourse.ubuntu.com
-
Only folks who help package Chromium get to decide how Chromium gets packaged. This gives anyone two options: You can get involved and help package Chromium so you have a voice in the decision-making, or not.
-
-
stackoverflow.com stackoverflow.com
-
css-tricks.com css-tricks.com
-
-
If there’s a lot more to aligning icons to text than you expected, then you are not alone.
-
- Dec 2020
-
material-ui.com material-ui.com
-
Heading hierarchy. Don't skip heading levels. In order to solve this problem, you need to separate the semantics from the style.
-
-
github.com github.com
-
Jbuilder gives you a simple DSL for declaring JSON structures that beats manipulating giant hash structures. This is particularly helpful when the generation process is fraught with conditionals and loops.
-
-
developer.mozilla.org developer.mozilla.org
-
The Web Storage API provides mechanisms by which browsers can store key/value pairs, in a much more intuitive fashion than using cookies.
-
-
github.com github.com
-
Maybe something more neutral just meaning a virtual element / no-element container would better express the intention? And regarding the syntax, maybe it would also feel less repetitive / boilerplaty than <svelte:slot slot="name" />... Maybe something like <svelte:fragment slot="name"> or <svelte:virtual slot="name">?
-
-
github.com github.com
-
Yet another comment with why is this not implemented is not helpful for devs.
-
-
github.com github.com
-
Got a bit sidetracked into refactoring the Element visitor code, so haven't actually started on the event handler stuff per se, but that'll come soon. Element stuff is starting to feel a bit more logical and easier to follow.
-
-
github.com github.com
-
These are sequential because build:ssr imports the public/index.html that build:dom produces.
-
-
www.harborfreight.com www.harborfreight.com
-
Please follow these steps before attempting to return a Pump or Sprayer: Download the Pump & Sprayer Return Form (PDF) Refer to page 2 to verify that your product SKU or item number is listed – if not, it can be returned to a store Complete the form and email to pumps_sprayers@harborfreight.com All required fields must be filled in or we may be unable to fulfill your request
-
- Nov 2020
-
www.performancefunnels.com www.performancefunnels.com
-
Traditional online funnels — more often than not — require you to have a separate:Content management system (ex. WordPress, Joomla)Web host (ex. SiteGround, Bluehost)Page builder (ex. Elementor, Beaver)Email autoresponder (ex. MailChimp, Aweber, GetResponse)Order formShopping cartWeb analyticsOther marketing tools
-
-
stackoverflow.com stackoverflow.com
-
As was mentioned in the comments above, the material design spec for buttons specifies that the text should be uppercase, but you can easily override its CSS property: paper-button { text-transform: none; }
-
-
github.com github.com
-
enables passive event listeners by default for some events (see list below). It basically will set { passive: true } automatically every time you declare a new event listener.
-
-
github.com github.com
-
After i've stabilized the library i can start to discuss about adding new components and features!
-
-
material.io material.io
-
@use "@material/theme" with ( $primary: #FEDBD0, $on-primary: #442C2E);
-
-
laniewski.me laniewski.me
-
For example, your application should work offline, but it doesn’t mean that you must set-up a background queue or store your data in a persistent storage – a offline message (e.g. “You’re offline, check your network status.”) is enough.
-
-
stackoverflow.com stackoverflow.com
-
For future reference, webpack 2 removed everything but modules as a way to resolve paths. This means root will not work.
-
-
gist.github.com gist.github.com
-
There was a major refactoring in the resolver (https://github.com/webpack/enhanced-resolve). This means the resolving option were changed too. Mostly simplification and changes that make it more unlikely to configure it incorrectly.
Linked from: https://stackoverflow.com/a/36574982/47185
-
-
-
When you email me, please include a minimal bash script that demonstrates the problem in the body of the email (not as an attachment). Also very clearly state what the desired output or effect should be, and what error or failure you are getting instead. You are much more likely to get a response if your script isn't some giant monster with obtuse identifiers that I would have to spend all afternoon parsing.
-
-
github.com github.com
-
However, this coalescing was very complicated, both in the specification and implementations, due to the dynamism of computed property names for accessors. Coalescing was a big source of overhead (e.g., in terms of code size) in polyfill implementations of "Stage 2" decorators.
-
-
en.wikipedia.org en.wikipedia.org
-
In July 2010, Microsoft let go Jimmy Schementi, one of two remaining members of the IronRuby core team, and stopped funding the project.[19][20] In October 2010 Microsoft announced the Iron projects (IronRuby and IronPython) were being changed to "external" projects and enabling "community members to make contributions without Microsoft's involvement or sponsorship by a Microsoft employee".
-
-
stackoverflow.com stackoverflow.com
-
{#key} was introduced in Svelte v3.28, before that you needed to use a keyed {#each} block with only one item When the key changes, svelte removes the component and adds a new one, therefor triggering the transition.
-
-
imfeld.dev imfeld.dev
-
Svelte's advantage here is that it indicates the need for an update at the place where the associated data is updated, instead of at each place the data is used. Then each template expression of reactive statement is able to check very quickly if it needs to rerender or not.
-
Svelte slots are much easier to use and reason about than Angular transclude, especially in cases where you don't want an extra wrapper element around the slot content.
-
-
stackoverflow.com stackoverflow.com
-
Things that cause the error to go away If I change any one of the following factors (which should not make any difference), then everything works fine:
-
-
webpack.js.org webpack.js.orgConcepts1
-
We expect a certain pattern when validate devtool name, pay attention and dont mix up the sequence of devtool string. The pattern is: [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map.
-
-
github.com github.com
-
This is Sass based, and therefore doesn't require Svelte components
Just because we could make Svelte wrapper components for each Material typography [thing], doesn't mean we should.
Compare:
material-ui [react] did make wrapper components for typography.
- But why did they? Is there a technical reason why they couldn't just do what svelte-material-ui did (as in, something technical that Svelte empowers/allows?), or did they just not consider it?
svelte-material-ui did not.
- And they were probably wise to not do so. Just reuse the existing work from the Material team so that there's less work for you to keep in sync and less chance of divergence.
-
-
github.com github.com
-
If your Svelte components contain <style> tags, by default the compiler will add JavaScript that injects those styles into the page when the component is rendered. That's not ideal, because it adds weight to your JavaScript, prevents styles from being fetched in parallel with your code, and can even cause CSP violations. A better option is to extract the CSS into a separate file. Using the emitCss option as shown below would cause a virtual CSS file to be emitted for each Svelte component. The resulting file is then imported by the component, thus following the standard Webpack compilation flow.
-
-
-
overmind is basically foreman but done "well"
-
- Oct 2020
-
rob-blackbourn.medium.com rob-blackbourn.medium.com
-
Much better API than using openssl CLI directly (yuck).
-
-
security.stackexchange.com security.stackexchange.com
-
As of OpenSSL 1.1.1, providing subjectAltName directly on command line becomes much easier, with the introduction of the -addext flag to openssl req
-
-
hub.docker.com hub.docker.com
-
"We should try to find a replacement for omgwtfssl, which is currently used to generate self-signed certificates. The name is inappropriate and unprofessional."
-
-
docs.gitlab.com docs.gitlab.com
-
Instead of this, you can use a File type variable.
-
Previously, a common pattern was to read the value of a CI variable, save it in a file, and then use that file in your script:
-
-
docs.docker.com docs.docker.com
-
there are superior ways to share environment variables
-
-
www.basefactor.com www.basefactor.com
-
On the other hand, handling form validation on your own can be tempting, but you have to cover scenarios like:
-
You may want to execute validations in a given specific order (this can be tricky especially when you have got asynchronous validations).
-
If you want to implement a form with a superb User Experience, you have to take care of many variables:
Tags
- order is important / do things in the right order
- easy to get wrong
- difficult/hard problem
- too hard/difficult/much work to expect end-developers to write from scratch (need library to do it for them)
- a lot of things to consider
- form design
- can't keep entire system in your mind at once (software development) (scope too large)
- user experience
Annotators
URL
-
-
svelte.dev svelte.dev
-
-
final-form.org final-form.org
-
Doing a HOC properly, as a library should, with hoisted statics and displayName and ref, etc., is a hassle and would add unnecessary bulk.
-
-
-
We could potentially have another flag that was your definition of dirty, but then we run into the hard problem in computer science: naming things.
-
And I'm all for not adding a gazillion flags to to an elegant library.
-
-
-
I don't want Svelte to go out of its way to try to catch all these edge cases. It would require lots of fragile heuristics in the compiler. I want a solid compiler I can trust, not something magic but often out of service. I want it the simplest possible.
-
-
-
Yeah I see what you're saying. In my case, I had a group of classes that relied on each other but they were all part of one conceptual "module" so I made a new file that imports and exposes all of them. In that new file I put the imports in the right order and made sure no code accesses the classes except through the new interface.
-
-
github.com github.com
-
Doing so also means adding empty import statements to guarantee correct order of evaluation of modules (in ES modules, evaluation order is determined statically by the order of import declarations, whereas in CommonJS – and environments that simulate CommonJS by shipping a module loader, i.e. Browserify and Webpack – evaluation order is determined at runtime by the order in which require statements are encountered).
Here: dynamic loading (libraries/functions) meaning: at run time
-
Specifically, since Root, Rule and AtRule all extend Container, it's essential that Container is evaluated (and therefore, in the context of a Rollup bundle, included) first. In order to do this, input.js (which is the 'gateway' to all the PostCSS stuff) must import root.js, root.js must import rule.js before it imports container.js, and rule.js must import at-rule.js before it imports container.js. Having those imports ensures that container.js doesn't then try to place Root, Rule or AtRule ahead of itself in the bundle.
-
Replaced nested `require` statements with `import` declarations for the sake of a leaner bundle. This entails adding empty imports to three files to guarantee correct ordering – see https://github.com/styled-components/styled-components/pull/100
-
-
medium.com medium.com
-
Modules from the following layer can require anything from all the previous layers, but not vice versa.
-
-
m5qwxpr6o8.csb.app m5qwxpr6o8.csb.app
-
Note that the <WarningEngine/> component must be at the bottom of the form to guarantee that all the fields have registered.
-
-
ponyfoo.com ponyfoo.comPony Foo1
-
Sometimes we can’t implement a solution that’s fully spec-compliant, and in those cases using a polyfill might be the wrong answer. A polyfill would translate into telling the rest of the codebase that it’s okay to use the feature, that it’ll work just like in modern browsers, but it might not in edge cases.
-
-
humanwhocodes.com humanwhocodes.com
-
Maintainable code is code that you don’t need to modify when the browser changes.
-
-
-
I'm okay with an overall design that allows people to plugin the parts they need in order to be able to generically support a compile-to-javascript language, but to bake in support for one singular solution because its popular is simply bad engineering.
-
-
github.com github.com
-
Additionally, if we ever want to standardize more of JSX we need to start moving away from some of the more esoteric legacy behaviors of React.
-
-
-
We are very close to full inline components (with css, js logic, and templates).
-
-
-
I had this problem and figured out how to make something like this work with the compiler quirks.
-
-
dylanvann.com dylanvann.com
-
Svelte should make something like useEffect part of the framework so that this could work better and be less verbose.
-
-
dylanvann.com dylanvann.com
-
The Svelte compiler does the dependency tracking work for us, so there’s no dependency array like in React.
-
I’d still be interested in Svelte making things easier so I’ve opened a feature request for Reactive statement cleanup functions.
Tags
- community (for a project or product)
- can we do even better?
- advantages/merits/pros
- cross-linking so readers can get the full context / see the outcome/resolution
- Svelte
- don't just complain; help improve/fix things
- cross-linking to issue
- automatic
- take the extra time/effort to open an issue (in the appropriate project)
- boilerplate-free
- newer/better ways of doing things
Annotators
URL
-
-
github.com github.com
-
Svelte doesn't re-render, so you need to respond to component mount/dismount and prop changes separately as they are distinct concepts and never tied together, unlike in React.
Tags
- different way of thinking about something
- trying to doing things the same way you did in a different library/framework (learning new way of thinking about something / overcoming habits/patterns/paradigms you are accustomed to)
- UI library: reacting to prop changes
- distinction
- lifecycle callbacks
Annotators
URL
-
-
medium.com medium.com
-
Sometimes, you may be tempted to write that wrapper. Because all your (React or Vue or insert your reactive framework here) instincts tell you so.Resist the temptation. There is a better way. A svelter way. Introducing: the use-directive (a.k.a. “actions”).
-
However, especially when starting out, it’s very easy to fall into the “this is how I did things in my previous framework” trap.
Tags
- getting a fresh perspective
- different way of thinking about something
- trying to doing things the same way you did in a different library/framework (learning new way of thinking about something / overcoming habits/patterns/paradigms you are accustomed to)
- Svelte
- overcoming preconceived opinions
- paradigm shift
- Svelte: action (use:)
Annotators
URL
-
-
reactjs.org reactjs.org
-
Note how we have to duplicate the code between these two lifecycle methods in class. This is because in many cases we want to perform the same side effect regardless of whether the component just mounted, or if it has been updated. Conceptually, we want it to happen after every render — but React class components don’t have a method like this. We could extract a separate method but we would still have to call it in two places.
-
-
github.com github.com
-
So while Solid's JSX and might resemble React it by no means works like React and there should be no illusions that a JSX library will just work with Solid. Afterall, there are no JSX libraries, as they all work without JSX, only HyperScript or React ones.
-
-
levelup.gitconnected.com levelup.gitconnected.com
-
Solid keeps it simple
-
-
-
There's one downside to Reacts reactivity model - the hooks (useState and useEffect) have to always be called in the same order and you can't put them inside an if block.
-
createState and createSignal are improvements over React's useState as it doesn't depend on the order of calls.
-
-
github.com github.com
-
However, if you want to create a backend API that is meant to be consumed only by your frontend, then you don't need REST nor GraphQL — RPC, such as Wildcard, is enough.
-
-
meta.stackoverflow.com meta.stackoverflow.com
-
Those banners should really be reserved for the important stuff. Because they're not, I've developed a reflex to immediately close those banners without paying attention. It's almost the same as blocking it with an ad-blocker; which defies the (original) purpose of banners.
-
- Sep 2020
-
svelte.dev svelte.dev
-
let:hovering={active}
It seems like it should be the other way around:
let:active={hovering}
to make it look like a regular let assignment.
It's only when you consider what/how
let:hovering
on its own means/works that it makes a bit more sense that it is the way it is. When it's on its own, it's a little clearer that it's saying to "make use of" an available slot prop having the given name. (Very much likebind
, where the LHS is also the name of the prop we're getting the data from.) Obviously we have to identify which prop we're wanting to use/pull data from, so that seems like the most essential/main/only thing the name could be referring to. (Of course, as a shortcut (in this shorthand version), and for consistency, it also names the local variable with the same name, but it wouldn't have to.)Another even simpler way to remember / look at it:
- Everything on the left hand of an prop/attribute [arg] corresponds to something in the component/element that you're passing the [arg] to. Usually it's a prop that you're passing in, but in this case (and in the case of bind:) it's more like a prop that you're pulling out of that component, and attaching to. Either way, the name on the LHS always corresponds to an
export let
inside that named component. - Everything on the right side corresponds to a name/variable in the local scope. Usually it passes the value of that variable, but in the case of a let: or bind: it actually "passes the variable by reference" (not the value) and associates that local variable with the LHS (the "remote" side).
Another example is bind: You're actually binding the RHS to the value of the exported prop named on the LHS, but when you read it (until you get used to it?) it can look like it's saying bind a variable named LHS to the prop on the RHS.
- Everything on the left hand of an prop/attribute [arg] corresponds to something in the component/element that you're passing the [arg] to. Usually it's a prop that you're passing in, but in this case (and in the case of bind:) it's more like a prop that you're pulling out of that component, and attaching to. Either way, the name on the LHS always corresponds to an
-
-
medium.com medium.com
-
Unfortunately, many third party libraries, even though they are written in ESM, are published to npm as CJS modules, so we still need to concatenate them.
-
-
github.com github.com
-
Lets not extend the framework with yet another syntax
-
one problem with 'behavior' is that's the terminology we use to describe all of a component's encapsulated logic — methods, transitions, etc.
Tags
- feature not needed; better to use a different approach/feature instead
- computing: terminology
- naming: the importance of good names
- naming things is hard
- naming
- keep things simple
- naming convention
- programming: multiple ways to do the same thing
- you aren't going to need it
- avoid complexity
- encapsulation
Annotators
URL
-
-
github.com github.com
-
But what we should ask is "can we do better than the others".
-
-
github.com github.com
-
Additionally it makes re-purposing/re-factoring/splitting up components far harder.
Tags
Annotators
URL
-
-
svelte.dev svelte.dev
-
It gets worse when you're working on a team. No-one dares touch styles authored by someone else, because it's often unclear what they're doing, what markup they apply to, and what disasters will unfold if you remove them. The consequence of all this is the append-only stylesheet. There's no way of knowing which code can safely be removed, so it's common to undo some existing style with another, more specific style — even on relatively small projects.
-
-
docs.google.com docs.google.com
-
I didn’t quite understand that until I saw this tweet from Ryan Florence, who is a genius when it comes to explaining the React programming model in ways that normal people can understand — ‘the question is not when does this effect run, the question is with which state does this effect synchronize with?’
-
-
github.com github.com
-
If you can't understand where it's coming from in the stack traces, please post screenshots or create reproducing sandboxes and we'll try to help. Most of these are probably coming from a few libraries, so the most productive thing to do is to reduce these cases and then file issues with those libraries.
-
-
-
Customers care more about the value our application adds to their lives than the programming language or framework the application is built with. Visible Technical Debt such as bugs and missing features and poor performance takes precedence over Hidden Technical Debt such as poor test code coverage, modularity or removing dead code
-
In the real world — the time to pay off technical debt is scarce — in most of the time fueled by the fear of the unknown. The management loves to milk the cow but not to change the litter. The developers on another hand avoid modernizing legacy code — to avoid trouble in case anything breaks.
-
- Aug 2020
-
pragmaticpineapple.com pragmaticpineapple.com
-
For example, to search for text occurrences, I used ack-grep. Later on, I found that there is a faster approach using ag. Then, there is an even faster alternative called ripgrep.
-
-
pragmaticpineapple.com pragmaticpineapple.com
-
If you are a senior, try talking to a junior or someone less experienced than you. Many companies are running what is called ”reverse mentoring” programs where juniors coach senior members of a company. Senior’s experience is traded for a fresh perspective from a junior. You’d be amazed at how much you could learn and share.
-
The hype is something common in our industry. Remember NoSQL? Or when everyone went crazy over microservices? Or the AI / Machine learning burst? The list goes on and on. People get excited about new and breakthrough technologies and ideas.
-
The idea of having to learn something new is good, and I agree with that, but how often should you do that? Looking at the world of JavaScript, a new idea, blog post, library, framework, and whatnot pops up very often. Things become trending, and people quickly try to adopt that. I’m not saying you should not adopt new things and consider different approaches to a solution, not at all! I am trying to propose the idea of doing that less often.
-
-
supportbee.com supportbee.com
-
Almost all mailing lists encourage you to avoid top posting and most help desk softwares force you to top post.
-
-
store.steampowered.com store.steampowered.com
-
you could imagine my extreme disappointment after i came back after a year and a half to find that the entire exploration map was about 80% smaller, every different island was within clear view of your starting island completely decimating any sense of adventure or exploration you could have had.Almost all materials could be collected and all items built within four and a half hours. Islands are literally numbered one to five to display they're level of danger.not only that but you were practically spoon fed each advancement in the game, it feels like it was taken from a greatly ambitious open world, exploration survival game that would take months to finish and achieve everything in. To now being an arcade style iphone app game catered to ten year olds that would foolishly enter their parents card details in order to buy 10,000 roblox coins.
-
-
store.steampowered.com store.steampowered.com
-
I have over 689 hours into this game and would like to talk about the changes made to the Exploration. In my opinion the Exploration which made this game amazing now stinks!. You know longer need a ship to hit the islands. The exploration has pretty much been removed. One of the things that made this game so amazing was grinding to make your ship and heading out to Explore and find the other islands. Now all the islands are really close to the spawn point, there are not that many and well they stink. There is no reason or need to make a ship because you can easily reach all the island with a raft.
-
- Jul 2020
-
www.theregister.com www.theregister.com
-
"AOO is not, and isn't designed to be, the 'super coolest open source office suite with all the latest bells and whistles,'" Jagielski continued. "Our research shows that a 'basic,' functional office suite, which is streamlined with a 'simple' and uncluttered, uncomplicated UI, serves an incredible under-represented community.
-
-
css-tricks.com css-tricks.com
-
Using !important in your CSS usually means you’re narcissistic & selfish or lazy. Respect the devs to come…
-
-
amp.dev amp.dev
-
The meta charset information must also be the first child of the <head> tag. The reason this tag must be first is to avoid re-interpreting content that was added before the meta charset tag.
But what if another tag also specified that it had to be the first child "because ..."? Maybe that hasn't happened yet, but it could and then you'd have to decide which one truly was more important to put first? (Hopefully/probably it wouldn't even matter that much.)
-
-
about.gitlab.com about.gitlab.com
-
A simplified pricing and packaging (PnP) strategy serves customers in the optimal way per the industry best practice. More SKUs lead to a more complex PnP model as a company scales, which eventually causes huge confusion to customers.
-
-
-
First, let's make it clear that NODE_ENV has no explicit relationship to RAILS_ENV. Setting one of the ENV variables will have no effect on the other.
-
- Jun 2020
-
debrouwere.org debrouwere.org
-
If people search through your website, will you guide them to topics first, or will they get a list of individual stories and updates to stories? Does your front page even hint at the fact that people can get more than just the daily news at your site?
-
-
-
web.archive.org web.archive.org
-
For the longest time, whenever I read the news, I’ve often felt the depressing sensation of lacking the background I need to understand the stories that seem truly important. Day after day would bring front pages with headlines trumpeting new developments out of city hall, and day after day I’d fruitlessly comb through the stories for an explanation of their relevance, history or import. Nut grafs seemed to provide only enough information for me to realize the story was out of my depth.
-
-
www.niemanlab.org www.niemanlab.org
-
Links can sidestep this debate by seamlessly offering context and depth. The journalist can break a complex story into a non-linear narrative, with links to important sub-stories and background. Readers who are already familiar with certain material, or simply not interested, can skip lightly over the story. Readers who want more can dive deeper at any point. That ability can open up new modes of storytelling unavailable in a linear, start-to-finish medium.
storytelling: digital, not digitised
-
-
jonathanstray.com jonathanstray.com
-
I don’t want the product with the best content overall, I want the product that is going to serve me up the best content every single time, regardless of whether or not it was created in-house.
discovery, aggregation, curation. narrator
-
-
avc.com avc.com
-
I regularly get people coming to me and asking me to write a book. I always pass because I can’t imagine writing in a format that has an end. I can’t imagine writing in a format that doesn’t provide instant feedback. I can’t imagine writing in a format that requires a structure. I can’t imagine writing in a format that isn’t a stream of consciousness. I can’t imagine thinking about what I am going to write more than ten minutes before writing it. I can’t imagine killing trees to carry my words. So I will continue to write a blog. It’s the perfect format for me. AVC is way more than a book. It is a living breathing thing that sustains me and that is me.
-
-
web.archive.org web.archive.org
-
“I blog in Spanish and English for different reasons. In English I blog to communicate my ideas and views, in Spanish, where for some unknown reason many more people comment, I write to learn. The collective intelligence of my commentators is greater than mine.” Martin Varsavsky Founder and CEO FON
-
-
medium.com medium.com
-
As an engineer, it’s important to explore different technologies. It’s important to identify the tools available to tackle problems. And it’s important to expand your horizons because then you can look cool on your CV.
-
- May 2020
-
en.wikipedia.org en.wikipedia.org
-
Because the conditional connectives thus complicate the formal reasoning about programs, they are better avoided.
-
-
kellysutton.com kellysutton.com
-
doing the wrong thing quickly is a good way to bankrupt us and our customers
-
The order is important.
-
there’s 3 steps to building software: Make it work Make it right Make it fast
-
“Make it right” means that the code is maintainable and easy to change. Humans can read it, not just computers. New engineers can easily add functionality to the code. When there’s a defect, it is easy to isolate and correct.
-
-
intercom.help intercom.help
-
Sometimes plugins can conflict with a theme or with each other. Disable all your plugins and see if the problem persists. If everything is working once the plugins were disabled it means there's a conflict with a plugin or maybe even a set of plugins. Enable the plugins one by one to identify the one that is creating the conflict.
-
-
www.hostgator.com www.hostgator.com
-
Right click on the /wp-content/plugins folder and rename it plugins.old. This will deactivate all of the plugins. In most cases, this will also lock the WordPress admin area as well. You will still be able to perform these steps from within the File Manager.Reactivate the plugins folder by following the above instructions and renaming the folder plugins. This will allow you to reactivate each plugin individually to isolate the offending plugin and resolve the 500 Internal Server Error. This should also allow access to the WordPress Dashboard again. From the WordPress Dashboard: Reactivate each plugin (one at a time) and refresh the website to see if the issue has been resolved.
-
-
ksr-ugc.imgix.net ksr-ugc.imgix.net
-
From: https://www.kickstarter.com/projects/admagic/rise-of-tribes-beasts-and-bronze
[saved a copy]
-
-
numinous.productions numinous.productions
-
they’re a new media form, with different possibilities from either essays or code, and with striking opportunities to go much further
we run with what we have
that author of Cognitive Productivity, created some tagging systems "confined" by his tool at hand
people using twitter threads to branch out thoughts e.g. visa, and https://twitter.com/PeterorjustP/status/1139267256263872518
people got hooked on roam because it allows "graph thinking", linking concepts (#roamcult)
people enjoy andy's evergreen notes because it stacks like a paper, intuitive
people enjoy sketchnotes and sketch summaries for talks, books because it's not as linear, easy to absorb
people absorb tutorial and demos in videos better than text (at least I do) -- effective. e.g. knovigator, worldbrain, roam...
youtube / instructional vids / media helps internalisation of tacit knowledge more (that basketball whiz kid who got the footwork down from studying on youtube)
people enjoying figma because the UX is the best so far. miro as well.
Tags
Annotators
URL
-
-
www.kickstarter.com www.kickstarter.comCanvas1
-
Regardless of what or how much you order, this is your flat shipping cost.
-
-
support.gitlab.com support.gitlab.com
-
Requested Dormant Username Enter the username you would like to request, without the preceding URL (e.g., "User" instead of "gitlab.com/User")
Problem Type: Dormant Username Requests
-
-
about.gitlab.com about.gitlab.com
-
The GitLab.com support team does offer support for: Account specific issues (unable to log in, GDPR, etc.) Broken features/states for specific users or repositories Issues with GitLab.com availability
-
Out of Scope The following details what is outside of the scope of support for self-managed instances with a license.
-
-
-
For general questions, use cases, or anything else that does not fit into one of the above cases, please post in the GitLab Forum or on a third-party help site.
-
-
gitlab.com gitlab.com
-
I think this goes against the Keep It Simple mentality and the Low Level Of Shame that we should have when we contribute.
-
- Apr 2020
-
-
The extra “space” from vertical navigation might encourage some designers to go overboard and clutter the navigation menu; as with top, horizontal navigation, stick to only the top four or five links within the site.
-
-
www.troyhunt.com www.troyhunt.com
-
many organisations block torrents (for obvious reasons) and I know, for example, that either of these options would have posed insurmountable hurdles at my previous employment
-
Actually, I probably would have ended up just paying for it myself due to the procurement challenges of even a single-digit dollar amount, but let's not get me started on that
-
-
github.com github.com
-
I don't think this is a common enough use case to warrant this change (which would need documentation and tests if it were to be accepted). Overall, the goal has been to simplify the validators, and prune out edge cases. This use case can be easily accomplished by just using a method instead.
-
-
stackoverflow.com stackoverflow.com
-
Markdown provides shorthand for the most common features of HTML. One of its best features is that you can always fallback to the full syntax for HTML. This includes doing things that aren't included in markdown. Personally, I like that markdown is concise and includes very little fluff. It makes it easier to learn the whole set of shorthand. This is particularly important if you expect someone else to read your code later.
One of its best features is that you can always [fall back[ to the full syntax for HTML.
See rebuttal below.
-
-
queue.acm.org queue.acm.org
-
It's typically a lot easier for software engineers to pull data out of a service that they use than it is for regular users. If APIs are available, we engineers can cobble together a program to pull our data out. Without APIs, we can even whip up a screen scraper to get a copy of the data. Unfortunately, for most users this is not an option, and they're often left wondering if they can get their data out at all.
-
-
docs.seattlerb.org docs.seattlerb.org
-
minitest doesn't reinvent anything that ruby already provides, like: classes, modules, inheritance, methods. This means you only have to learn ruby to use minitest and all of your regular OO practices like extract-method refactorings still apply.
-
-
github.com github.com
-
Don't use it! Writing simple assertions (and Minitest way of transforming them to expectations) is almost always a better idea anyway. Work with your favourite library authors to start with assertions and add matchers for convenience and not the other way around. Keep it simple.
-
- Mar 2020
-
www.linkedin.com www.linkedin.com
-
I discuss the flaws of this in regards to spreadsheets in Spreadsheets Are Sabotaging Your Business. In brief, when people inevitably started using the more complex formulas available, they unknowingly broke the fundamental design concept of paper spreadsheets: that humans can understand what’s happening between the cells.
-
-
www.supplytime.com www.supplytime.com
-
It won't let me go beyond this page. I'm sure I've answered the CAPTCHA correctly at least some of the 10+ times I've tried. What's going on?
I can't even access their static website to find contact information for how to contact them about this problem!
-
-
ttlc.intuit.com ttlc.intuit.com
-
github.com github.com
-
Don't be discouraged when you get feedback about a method that isn't all sunshine and roses. Facets has been around long enough now that it needs to maintain a certain degree of quality control, and that means serious discernment about what goes into the library. That includes having in depth discussions the merits of methods, even about the best name for a method --even if the functionality has been accepted the name may not.
about: merits
-
-
github.com github.com
-
Q. Why does Rubinius not support frozen and tainted? A. Rubinius has better features; frozen and tainted are considered harmful. To elaborate... Both frozen and tainted depend on strewing checks throughout the source code. As a classic weak-link system, only one of those checks needs to be misplaced for the guarantees offered by either to fail. Since the number of checks is high, and as new code is written new checks need to be considered, the features inherently constitute unbounded complexity and unbounded risk.
-
-
www.nytimes.com www.nytimes.com
-
Directives from the World Health Organization have provided the companies with the kind of clarity engineers appreciate.
-
-
www.addthis.com www.addthis.com
-
Much like the cookies you eat are an asset to humankind, HTTP cookies are an asset to the internet. They help personalize the web experience and make things like online shopping and logging into accounts so much easier and more efficient.
-
- Feb 2020
-
about.gitlab.com about.gitlab.com
-
people assume that by asking someone a question privately, they are doing everyone else a favor by bothering the fewest amount of people.
-
We encourage team members to consider making private issues public wherever possible so that we can all learn from the experience, rather than requiring a small group to spend effort translating those learnings in the future.
-
-
about.gitlab.com about.gitlab.com
-
Write things down We document everything: in the handbook, in meeting notes, in issues. We do that because "the faintest pencil is better than the sharpest memory." It is far more efficient to read a document at your convenience than to have to ask and explain. Having something in version control also lets everyone contribute suggestions to improve it.
-
- Jan 2020
-
drewdevault.com drewdevault.com
-
I’m often neglecting half of my projects in order to obtain progress by leaps and bounds in just a few
-
-
-
We tend to treat our knowledge as personal property to be protected and defended. It is an ornament that allows us to rise in the pecking order.
-
-
www.e-flux.com www.e-flux.com
-
An Internet of Things -- Keller Easterling
-
-
github.com github.com
- Dec 2019
-
unixwiz.net unixwiz.net
-
One of the more clever aspects of the agent is how it can verify a user's identity (or more precisely, possession of a private key) without revealing that private key to anybody.
-
-
unix.stackexchange.com unix.stackexchange.com
-
Just for the record newer versions of ssh support the -W option, you can do something like ProxyCommand ssh -W %h:%p gateway instead of depending on nc
-
-
www.howtogeek.com www.howtogeek.com
-
provides a peek behind the ‘magic curtain’ at what is going on for a curious reader
-
-
en.wikipedia.org en.wikipedia.org
-
The x mark is also sometimes used for this purpose (most notably on election ballot papers, e.g. in the United Kingdom), but otherwise usually indicates "no", incorrectness, or failure.
-
-
blog.logrocket.com blog.logrocket.com
-
By default, fetch() doesn’t provide a way to intercept requests, but it’s not hard to come up with a workaround. You can overwrite the global fetch method and define your own interceptor, like this
-
-
babeljs.io babeljs.io
-
Part of the issue is precisely around naming things, and as we often hear, naming things is hard.
-
- Nov 2019
-
www.youtube.com www.youtube.com
-
-
Projects I'm proud of
Tags
Annotators
URL
-
-
kickass.partners kickass.partners
-
We’ll make sure that decisions that need to be made post-launch are informed by actual facts of user behavior, not just best guesses.
-
- Oct 2019
-
github.com github.com
-
If you're given a set of factories (say, from a gem developer) but want to change them to fit into your application better, you can modify that factory instead of creating a child factory and adding attributes there.
-
- Mar 2019
-
ia801306.us.archive.org ia801306.us.archive.org
-
therefore at least to some extent a failure
this is strange; I suppose you can 'succeed' in carrying out the utterance, but it does not consecrate anything, which... is the entire point? So, strange to say that it fails only in part when in another sense it fails completely. It's like I succeeded in taking a shot but missed the basket?
-
One thing we might go on to do, of course, is to take it all back
How can you take back an action? (though you could retract a claim about an action, of course)
-
So far then we have merely felt the firm ground of prejudice slide away beneath our feet.
Not absolute; not bedrock (though we thought it was). And merely? This is "merely" the dissolution of what you thought reality was?
-
That this is SO can perhaps hardly be proved, but it is, I should claim, a fact.
Haha - claiming "truth" for something that he acknowledges might not be provable - 'take my word for it, it's a fact'. Use of the performative again in "claim," e.g. "I claim" cannot be responded to with "that's not true!"
-
outward and audible sign
Proverbial tip of the iceberg; the "seen" part.
-
Here we should say that in saying-these words we are doing some- thing-namely, marrying, rat her than reporting some- thing, namely that we are marrying
Important distinction between doing and reporting; the former obviously an action, and the latter a verifiable statement. But can the lines blur? Is "I do" ever reporting the fact that you are getting married, which is verifiable?
-
Yet to be 'true' or 'false' is traditionally the characteristic mark of a statement.
All statements are boolean: T/F
-
all cases considered
Not sure that all cases considered are worth considering...?
-
the only merit I should like to claim for it is that of being true, at least in parts
You would think the goal of an essay would be to find or argue a truth, but here he is marginalizing it; truth is not the goal.
Arguing that truth and falsehood are not what matters; that the performative exists outside such claims (as we learn later).
Using the performative in his opening through the use of "I claim"; and here he claims truth. He performs his own argument.
-
we shall next consider what we actually do say about the utterance concerned when one or another of its normal concomitants is absent
So the utterance is surrounded by other ceremonial trappings, and without which there is a presumption that the utterance is hollow, that the accompaniments make it "complete"; suggests that the ceremony becomes greater than the sum of its parts by being able to bring about this binding force which the parts cannot do individually; or can they - is just the utterance enough to describe and seal the inward act? The other question is, does the utterance imply (and describe) the other trappings?
-
our word is our bond
And yet these are just words; as believable or unbelievable as the uttering of an oath?
-
Thus 'I promise to . . . 9 obliges me-puts on record my spiritual assumption of a spiritual shackle.
The consecration of the oath; but when is the uttering just a garnishment? For some, the internal / spiritual bond is the key thing, binding regardless of whether the one to whom the words are uttered believes them or not; the words are just words, but the intent is everything. The intent can exist without the words, and so the words can exist without the intent. It is the words though that offer a public record of commitment, and against which one's character is judged and assessed in accordance with their ability to live up to them.
-
fictitious
Interesting choice of words; many swear that they are real and binding, but, yes, they are imaginary (in our culture); we require signed contracts, and verbal oaths are nice, but have a romantic tinge to them and we expect them maybe to not be kept as frequently.
-
the outward utterance is a description, true or false, of the occurrence of the inward performance
The process by which we arm feelings of guilt / responsibility / etc to trigger when we have second thoughts about the vow we've made
-