- Jun 2024
-
www.usbtypewriter.com www.usbtypewriter.com
-
www.youtube.com www.youtube.com
-
- Jan 2023
-
www.geoffreylitt.com www.geoffreylitt.com
-
Software should be a malleable medium, where anyone can edit their tools to better fit their personal needs. The laws of physics aren’t relevant here; all we need is to find ways to architect systems in such a way that they can be tweaked at runtime, and give everyone the tools to do so.
It's clear that gklitt is referring to the ability of extensions to augment the browser, but: * it's not clear that he has applied the same thought process to the extension itself (which is also software, after all) * the conception of in-browser content as software tooling is likely a large reason why the perspective he endorses here is not more widespread—that content is fundamentally a copy of a particular work, in the parlance of US copyright law (which isn't terribly domain-appropriate here so much as its terminology is useful)
-
- Dec 2022
-
www.sicpers.info www.sicpers.info
-
It feels weird to say this in 2020, when the idea was presented as fait accompli in 1997, but an enabling open source software movement would operate more like a bazaar than a cathedral. There wouldn’t be an “upstream”, there would be different people who all had the version of the software that worked best for them. It would be easy to evaluate, compare, combine and modify versions, so that the version you end up with is the one that works best for you, too.
-
- Jul 2022
-
www.jwz.org www.jwz.org
-
People only really contribute when they get something out of it. When someone is first beginning to contribute, they especially need to see some kind of payback, some kind of positive reinforcement, right away. For example, if someone were running a web browser, then stopped, added a simple new command to the source, recompiled, and had that same web browser plus their addition, they would be motivated to do this again, and possibly to tackle even larger projects.
-
-
github.com github.com
-
ActiveSupport.on_load :active_storage_blob do def accessible_to?(accessor) attachments.includes(:record).any? { |attachment| attachment.accessible_to?(accessor) } || attachments.none? end end ActiveSupport.on_load :active_storage_attachment do def accessible_to?(accessor) record.try(:accessible_to?, accessor) end end ActiveSupport.on_load :action_text_rich_text do def accessible_to?(accessor) record.try(:accessible_to?, accessor) end end module ActiveStorage::Authorize extend ActiveSupport::Concern included do before_action :require_authorization end private def require_authorization head :forbidden unless authorized? end def authorized? @blob.accessible_to?(Current.identity) end end Rails.application.config.to_prepare do ActiveStorage::Blobs::RedirectController.include ActiveStorage::Authorize ActiveStorage::Blobs::ProxyController.include ActiveStorage::Authorize ActiveStorage::Representations::RedirectController.include ActiveStorage::Authorize ActiveStorage::Representations::ProxyController.include ActiveStorage::Authorize end
Interesting, rather clean approach, I think
-
- Jun 2022
-
-
Emacs has aspects of the right thing
See also: The Pinocchio Problem
-
- May 2022
-
flak.tedunangst.com flak.tedunangst.com
-
Interesting that this is written by a BSD guy.
-
- Apr 2022
-
buttondown.email buttondown.email
-
To some extent this is understandable. We don’t know how to design things in such a way that they are easily customizable by everyone.
-
-
akkartik.name akkartik.name
-
A big cause of complex software is compatibility and the requirement to support old features forever.
I don't think so. I think it's rather the opposite. Churn is one of the biggest causes for what makes modifying software difficult. I agree, however, with the later remarks about making it easy to delete code where it's no longer useful.
Tags
Annotators
URL
-
-
www.research-collection.ethz.ch www.research-collection.ethz.chuntitled1
-
Ihavelearnttoabandonsuchattemptsofadaptationfairlyquickly,andtostartthedesignofanewprogramaccordingtomyownideasandstandards
I have learnt to abandon such attempts of adaptation fairly quickly, and to start the design of a new program according to my own ideas and standards
-
-
-
Feature request (implement something that allows the following): 1. From any page containing a bookmarklet, invoke the user-stored bookmarklet בB 2. Click the bookmarklet on the page that you wish to be able to edit in the Bookmarklet Creator 3. From the window that opens up, navigate to a stored version of the Bookmarklet Creator 4. Invoke bookmarklet בB a second time from within the Bookmarklet Creator
Expected results:
The bookmarklet from step #2 is decoded and populates the Bookmarklet Creator's input.
To discriminate between invocation type II (from step #2) and invocation type IV (from step #4), the Bookmarklet Creator can use an appropriate class (e.g. https://w3id.example.org/bookmarklets/protocol/#code-input) or a
meta
-based pragma or link relation.
-
-
www.donnelly-house.net www.donnelly-house.net
-
work-around
Bookmarklets and the JS console seem to be the workaround.
For very large customizations, you may run into browser limits on the effective length of the bookmarklet URI. For a subset of well-formed programs, there is a way to store program parts in multiple bookmarklets, possibly loaded with the assistance of a separate bookmarklet "bootloader", although this would be tedious. The alternative is to use the JS console.
In FIrefox, you can open a given script that you've stored on your computer by pressing Ctrl+O/Cmd+O, selecting the file as you would in any other program, and then pressing Enter. (Note that this means you might need to press Enter twice, since opening the file in question merely puts its contents into the console input and does not automatically execute it—sort of a hybrid clipboard thing.) I have not tested the limits of the console input for e.g. input size.
As far as I know, you can also use the JS console to get around the design of the dubious WebExtensions APIs—by ignoring them completely and going back to the old days and using XPCOM/Gecko "private" APIs. The way you do is is to open about:addons by pressing Ctrl+Shift+A (or whatever), opening or pasting the code you want to run, and then pressing Enter. This should I think give you access to all the old familiar Mozilla internals. Note, though, that all bookmarklet functionality is disabled on about:addons (not just affecting bookmarklets that would otherwise violate CSP by loading e.g. an external script or dumping an inline one on the page`).
-
Apparently there is a CSP ability to stop inline scripts from executing. I have not come across any sites that use that feature and/or the browser I am using does not support it.
There're lots.
-
- Mar 2022
-
www.cs.virginia.edu www.cs.virginia.edu
-
To realize this potential, we must provide a medium that can be mastered by a single individual. Any barrier that exists between the user and some part of the system will eventually be a barrier to creative expression. Any part of the system that cannot be changed or that is not sufficiently general is a likely source of impediment.
-
-
www.infoworld.com www.infoworld.com
-
Whether to inject behavior into a Web page is my choice. How I do so is nobody's business. If a need that can be met with a bookmarklet instead requires a set of browser-specific extensions, that's a tax on developers.
-
- Jan 2021
-
pixinvent.com pixinvent.com
-
We do not recommend to change core & CSS/SCSS file of Materialize Framework & Template. Always use the custom.css/scss file to write your own custom scss and js code to avoid template future updates conflicts.
-
- Oct 2020
-
stackoverflow.com stackoverflow.com
-
You can also copy the config file locally and then specify it on the openssl command line with -config my_config.cnf.
-
-
www.basefactor.com www.basefactor.com
-
You may want to customize validation messages (or give support to i18n).
-
- Aug 2020
-
socialsciences.nature.com socialsciences.nature.com
-
Research, B. and S. S. at N. (2020, May 25). Imagining a different online world. Behavioural and Social Sciences at Nature Research. http://socialsciences.nature.com/users/397838-philipp-lorenz-spreen/posts/imagining-a-different-online-world
-
- May 2020
-
codepen.io codepen.io
Tags
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.org
-
Most traditional (monolithic) CMS systems are “coupled”, meaning that the content management application (CMA) and the content delivery application (CDA) come together in a single application, making back-end user tools, content editing and taxonomy, website design, and templates inseparable. Coupled systems are useful for blogs and basic websites as everything can be managed in one place. But this means that the CMS code is tightly connected to any custom code and templates, which means developers have to spend more time on installations, customizations, upgrades, hotfixes, etc. and they cannot easily move their code to another CMS.
-
- Jan 2020
-
www.statista.com www.statista.com
-
Size of the warehouse management systems (WMS) market worldwide, from 2015 to 2024
-
- Jun 2019
-
open.lib.umn.edu open.lib.umn.edu
-
message, for example, was much more persuasive to our faculty when we switched our focus from cost savings to content customization
This is something to mention, even if it's not the stress for our faculty.
-
- May 2019
-
firebase.google.com firebase.google.com
-
Remote Config now lets you use combinations of Analytics user properties to create conditions, allowing you to customize your app for segments of your user base that you have defined
-
- Mar 2019
-
openoregon.pressbooks.pub openoregon.pressbooks.pub
-
Simply select the content most relevant to your current semester and create a textbook that speaks directly to the needs of your class.
How to customize
-