This works nicely wherever we show authors, but after we deploy to production, the folks from other parts of the world won’t get notified anymore about their songs. Mistakes like these are easy to make when using concerns.
- Jul 2021
-
blog.appsignal.com blog.appsignal.com
-
-
unhosted.org unhosted.org
-
The world could benefit from a curated set of bookmarklets in the style of Smalltalk ("doIt", "printIt", etc buttons) that you can place in your bookmarks bar (or copy into a bookmarks document and open in it in your browser), where the purpose would be to allow you to:
- access a new scratch area (about:blank) for experimentation
- make it editable, or make any given element on a page editable
- let you evaluate any code written into the scratch space
scratch.js aims for something something similar, and though laudable it falls short of what I actually crave (and what I imagine would be be most beneficial/appreciated by the public).
-
-
stackoverflow.com stackoverflow.com
-
it's much faster—the stack frame does not have to be carried along the "thrown symbol", and no object is created. Lightweight nonlinear flow control.
-
-
docdrop.org docdrop.org
-
something called federated wiki which was by ward cunningham if anyone knows the details behind that or how we got these sliding panes in the first place i'm always interested
it looks like my comment got moderated out, and I didn't save a copy. Not going to retype it here, but the gist is that:
- Ward invented the wiki, not just the sliding panes concept.
- Sliding panes are a riff on Miller columns, invented by Mark S. Miller
- Miller columns are like a visual analog of UNIX pipes
- One obvious use case for Miller columns is in web development tools, but (surprisingly) none of the teams working on browsers' built-in devtools at this point have have managed to get this right!
Some screenshots of a prototype inspector that I was working on once upon a time which allowed you to infinitely drill down on any arbitrary data structures:
Addendum (not mentioned my original comment): the closest "production-quality" system we have that does permit this sort of thing is Glamorous Toolkit https://gtoolkit.com/.
-
-
lyz-code.github.io lyz-code.github.io
-
behaviour should come first and drive our storage requirements.
-
-
www.timsommer.be www.timsommer.be
-
-
The inhabitants are able to modify their environment
See also: woodworkers
-
-
stackoverflow.com stackoverflow.com
-
Wow, Aaron himself just answered it!
-
answered Oct 12 '09 at 18:28
-
-
ayjay.org ayjay.org
-
Why isn’t there anything on our class’s Canvas page? Because Canvas and Blackboard are evil and must be destroyed. So-called “learning management software” is very possibly the worst software ever created by anyone for any purpose, and I will not add to the store of suffering in the world by making use of it. I explain in more detail my objections to Canvas here.
Awesome AND true.
Tags
Annotators
URL
-
-
www.snowsoftware.com www.snowsoftware.com
-
SAM on Snow Atlas
-
-
-
www.snowsoftware.com www.snowsoftware.com
- Jun 2021
-
www.b-list.org www.b-list.org
-
Worse still is the issue of “service” layers requiring you to basically build your own ORM. To really do a backend-agnostic service layer on top of the Django ORM, you need to replace or abstract away some of its most fundamental and convenient abstractions. For example, most of the commonly-used ORM query methods return either instances of your model classes, or instances of Django’s QuerySet class (which is a kind of chained-API results wrapper around a query). In order to avoid tightly coupling to the structure and API of those Django-specific objects, your service layer needs to translate them into something else — likely generic iterables to replace QuerySet, and some type of “business object” instance to replace model-class instances. Which is a non-trivial amount of work even in patterns like Data Mapper that are designed for this, and even more difficult to do in an Active Record ORM that isn’t.
I see what this guy means and he has a point. However, I don't think about reimplementing these things when talking about services on Django. I want a centralized place to store business logic (not glue queries) and avoid multiple developers writing the same query multiple times in multiple places. The name "service" here sucks.
-
A second problem is that when you decide to go the “service” route, you are changing the nature of your business. This is related to an argument I bring up occasionally when people tell me they don’t use “frameworks” and never will: what they actually mean, whether they realize it or not, is “we built and now have to maintain and train our developers on our own ad-hoc private framework, on top of whatever our normal business is”. And adopting the service approach essentially means that, whatever your business was previously, now your business is that plus developing and maintaining something close to your own private ORM.
I don't think these two things are even close to be the same thing. Django's ORM is not replaced by services, from what I know services are the ORM with the difference that they are concentrated in a module.
-
-
blog.viktoradam.net blog.viktoradam.net
-
stackoverflow.com stackoverflow.com
-
https://github.com/rycus86/githooks is a really option for managing hooks It is... safe (it uses an opt-in model, where it will ask for confirmation whether new or changed scripts should be run or not (or disabled)) configurable handles a lot of the details for you lets you keep your hooks nicely organized. For example:
-
-
www.dabapps.com www.dabapps.com
-
This isn't about writing boilerplate setter properties for each field in the model, but rather about writing methods that encapsulate the point of interaction with the database layer. View code can still inspect any field on the model and perform logic based on that, but it should not modify that data directly. We're ensuring that there is a layer at which we can enforce application-level integrity constraints that exist on top of the integrity constraints that the database provides for us.
Addresses the issue raise on this tweet. We are not writing getters and setters out of obligation or convention.
-
-
hypothes.is hypothes.is
-
The salary for each profession varies from similar factors. What determines the salary of software developers? After reading this article, I concluded that the greatest role is played by the country in which the developer works. For example, there are countries where developer salaries are much lower, although skills are not inferior. Skills, background and many other points also affect. Enjoy reading!
-
-
github.com github.com
-
Happy Third Birthday #24728!
-
-
github.com github.com
-
Personally I think it is a very bad idea to leverage political views, even if I may share them, through software.
-
-
github.com github.com
-
There's no official Chrome or Chromium package for Linux don't install it this way because it's either outdated or unofficial, both are bad. Download it from official source.
-
-
www.mutuallyhuman.com www.mutuallyhuman.com
-
This is why for a recent Angular+Rails project we chose to use a testing stack from the backend technology’s ecosystem for e2e testing.
-
Rather than write new tooling we decided to take advantage of tooling we had in place for our unit tests. Our unit tests already used FactoryBot, a test data generation library, for building up test datasets for a variety of test scenarios. Plus, we had already built up a nice suite of helpers that we coud re-use. By using tools and libraries already a part of the backend technology’s ecosystem we were able to spend less time building additional tooling. We had less code to maintain because of this and more time to work on solving our customer’s pain points.
-
The problem domain and the data involved in this project was complicated enough. We decided that not having to worry about unknowns with the frontend end-to-end testing stack helped mitigate risk. This isn’t to say you should always going with the tool you know, but in this instance we felt it was the right choice.
-
This particular project team came in with a lot of experience using testing tools like RSpec and Capybara. This included integrating with additional tools like Selenium WebDriver, Chrome and Chromedriver, data generation libraries like FactoryBot, and task runners like Rake. We had less experience doing end-to-end testing with Protractor even though it too uses Selenium WebDriver (a tool we’re very comfortable with).
-
There are times to stretch individually and as a team, but there are also times to take advantage of what you already know.
-
We chose to define the frontend in one technology stack (Angular+TypeScript/JavaScript) and the backend in another (Ruby+Ruby on Rails), but both came together to fulfill a singular product vision.
Tags
- people stick to what they know
- how to choose software stack
- reuse/leverage existing _ when possible
- don't reinvent the wheel
- software stack: choosing: factors: familiarity/experience
- distributed (client/server) system
- frontend vs. backend: owning both ends
- don't repeat yourself
- testing: end-to-end
- wise choice
- me too
- key point
- how to choose a dependency/library/framework
- good advice
- software stack: choosing: factors: code reuse
- using disparate technologies in a single project
- testing: stack: choosing
- software stack: choosing
- testing: stack
- avoid extra/needless work
Annotators
URL
-
-
www.mutuallyhuman.com www.mutuallyhuman.com
-
For me the diagrams make it easier to talk about what the tests do without getting bogged down by how they do it.
Tags
- communication: effective communication
- communication: focus on what is important
- describe the what without getting bogged down by how (implementation details; too detailed)
- too detailed
- communication: use the right level of detail
- focus on what it should do, not on how it should do it (implementation details; software design)
Annotators
URL
-
-
docs.gitlab.com docs.gitlab.com
-
targeting what the user actually sees
-
The most important guideline to give is the following: Write clean unit tests if there is actual value in testing a complex piece of logic in isolation to prevent it from breaking in the future Otherwise, try to write your specs as close to the user’s flow as possible
-
It’s better to test a component in the way the user interacts with it: checking the rendered template.
-
-
stackoverflow.com stackoverflow.com
-
Or if you're looking for a core extension that adds this to the Array class, I'd recommend the facets gem (require 'facets/array/average'). Then you can just do array.average. And, from looking at the source, it turns out they do the exact same thing as the instance_eval approach above. The only difference is that it's implemented as a method—which of course already has self pointing to itself—instead of a block): def average; return nil if empty?; reduce(:+) / length.to_f; end Main advantage of this is that it's even more concise/readable and it handles the empty? case.
-
-
stackoverflow.com stackoverflow.com
-
You can return the record directly from the UPDATE, which is much faster than calling an additional SELECT statement. Use RETURN QUERY and UPDATE with a RETURNING clause.
-
-
github.com github.com
-
Users who have installed it decided to trust me, and I'm not comfortable transferring that trust to someone else on their behalf. However, if you'd like to fork it, feel free.
Interesting decision... Seems like the project could have been handed off to new maintainers instead of just a dead-end abandoned project and little chance of anyone using it for new projects now.
Sure you can fork it, but without a clear indication of which of the many forks in the network graph to trust, I doubt few will take the (massively) extra time to evaluate all options and choose an existing fork as a "leader" (or create their own fork) to go with continuing maintenance...
-
-
-
A litmus test on whether an option belongs to adapter config or kit config, would be to ask whether the option becomes irrelevant when you switch the adapter to static.
-
- May 2021
-
kit.svelte.dev kit.svelte.dev
-
This function runs on every request, for both pages and endpoints, and determines the response. It receives the request object and a function called resolve, which invokes SvelteKit's router and generates a response accordingly.
-
-
news.ycombinator.com news.ycombinator.com
-
that involves looking up where to find Guix's source code, `git clone`ing it, finding the Guix revision I'm currently on with `guix describe` so I can check out the same one for consistency's sake, `make`ing it, `guix environment guix`, using `pre-inst-env`, etc
This is a direct response to the question, so it makes sense to write it out, but Spitz's piece (linked earlier) Open source is not enough describes the problem adequately.
-
- Apr 2021
-
www.valuecoders.com www.valuecoders.com
-
github.com github.com
-
Lumberjack 1.0 had a concept of a unit of work id that could be used to tie log messages together. This has been replaced by tags. There is still an implementation of Lumberjack.unit_of_work, but it is just a wrapper on the tag implementation.
-
-
medium.com medium.com
-
Coordination: More environments require more coordination. Teams need to track which feature is deployed to which environment. Bugs need to be associated with environments. Every environment represents a particular ‘state’ of the codebase, and this has to be tracked somewhere to make sure that customers & stakeholders are seeing the right things;
Try to remember the last time you heard one of the following phrases:
- "Oh, I deployed it in the X environment"
- "It was working in the stage environment"
-
-
github.com github.com
-
I also sell Sidekiq Pro and Sidekiq Enterprise, extensions to Sidekiq which provide more features, a commercial-friendly license and allow you to support high quality open source development all at the same time.
-
-
stackoverflow.com stackoverflow.com
-
CSS seems like the right place to put visual information. On the other hand, few would argue that image "src" should not be specified as an attribute and the height/width seem as tied to the binary image data as the "src" is.
-
-
store.steampowered.com store.steampowered.com
-
I don't know why but they just removed some featuresAt first, you can't play this with your friend online except waiting for random matchingYou can't invite your friends to your closed room and play togheter
-
-
empty.sourceforge.net empty.sourceforge.net
-
In some cases empty can be the simplest replacement for TCL/expect or other similar programming tools because empty:
-
-
en.wikipedia.org en.wikipedia.org
-
Screen and Tmux are used to add a session context to a pseudoterminal, making for a much more robust and versatile solution. For example, each provides terminal persistence, allowing a user to disconnect from one computer and then connect later from another computer.
-
-
bugzilla.samba.org bugzilla.samba.org
-
I should note that the issue with deletions being skipped has been fixed (the file-has-vanished errors were changed into warnings).
-
-
github.com github.com
-
Rsync was originally written by Andrew Tridgell and is currently maintained by Wayne Davison.
-
-
github.com github.com
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
-
-
yellow.systems yellow.systems
-
Clubhouse has really made a fuss around the digital world. It’s hard to imagine a person who hasn’t heard about this app, celebrities who joined it, or pranksters who already managed to confuse the audience. Taking into account the skyrocketing popularity, “how to make an app like Clubhouse” has become an urgent question in the software development business.
-
-
medium.com medium.com
-
-
each of which we could show to be more beautiful, and more usable than the original.
-
You might not always notice, but Material Design is constantly evolving and iterating based on research.
Tags
- based on actual/real data
- beauty
- usability
- user feedback
- software development: making changes/improvements based on user feedback/data
- visual design
- form design
- constantly improving
- constant evolution/improvement of software/practices/solutions
- Material Design: text field
- Material Design
- learn from your mistakes
- opportunity to improve/fix something
- component design
- text field
- answer the "why?"
Annotators
URL
-
-
github.com github.com
-
# +devise_for+ is meant to play nicely with other routes methods. For example, # by calling +devise_for+ inside a namespace, it automatically nests your devise # controllers: # # namespace :publisher do # devise_for :account # end
-
-
github.com github.com
-
find_field finds by id, name or placeholder text - so find_field('Prefix') should find the element with matching placeholder text rather than needing xpath.
-
- Mar 2021
-
news.ycombinator.com news.ycombinator.com
-
Or is this a call for mainstream operating systems and applications to get creative (read, nice tiling or splitting by default)?What if all browsers suported single page split view? So that the left side was your regular view, half width, and the right side was the continuation of the same page, where the left side ended.
Tags
Annotators
URL
-
-
www.nature.com www.nature.com
-
Knowles, R., Mateen, B. A., & Yehudi, Y. (2021). We need to talk about the lack of investment in digital research infrastructure. Nature Computational Science, 1(3), 169–171. https://doi.org/10.1038/s43588-021-00048-5
-
-
en.wikipedia.org en.wikipedia.org
-
Use cases, user stories, functional requirements, and visual analysis models are popular choices for requirements specification.
-
-
trailblazer.to trailblazer.to
-
definitely less rough to work with than Devise
-
A leaked snippet of the endpoint architectural design draft document, highly confidential.
-
It almost feels unreal finishing up this release post. It’s been so long!
-
After around 3 years of silence, Trailblazer is back with its 2.1 release.
Tags
- competition in open-source software
- nice diagram
- pointing out gaps/downsides/cons in competition/alternatives
- system architecture/design diagram/illustration
- see content above
- tongue-in-cheek
- software architecture
- software design
- open-source software: progress seems slow
- claim that this project is better than competition/alternative
- Tyrant (Ruby)
- gem: devise
Annotators
URL
-
-
superuser.com superuser.com
-
sudo mkdir -p /etc/opt/chrome/policies/managed/ && echo '{ "URLWhitelist": ["magnet://*"] }' |sudo tee /etc/opt/chrome/policies/managed/whitelist.json
-
-
github.com github.com
-
Looks like the source for this is not available to inspect??
and thought maybe it would be the source, but it's a binary :(
-
-
github.com github.com
-
This is not a fork. This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.
almost without a doubt, inspired by: chromium vs. chrome
-
-
gitlab.gnome.org gitlab.gnome.org
-
Sorry you’re surprised. Issues are filed at about a rate of 1 per day against GLib. Merge requests at a rate of about 1 per 2 days. Each issue or merge request takes a minimum of about 30 minutes (across at least 2 people) to analyse, put together a fix, test it, review it, fix it, review it and merge it. I’d estimate the average is closer to 3 hours than 30 minutes. Even at the fastest rate, it would take 3 working months to clear the backlog of ~1000 issues. I get a small proportion of my working time to spend on GLib (not full time).
-
Age of a ticket is completely irrelevant as anyone can request anything but the number of developers is limited. If you'd like to see something implemented, please consider providing a patch. Thanks!
-
Sorry if I sounded rude. I am using Gnome on a daily basis and am highly appreciating all the work anyone has put into it. I was just surprised when I found an AskUbuntu post from 2010 linking to this bug.
-
Wow 14 years. I still keep stumbling over this issue...
-
-
journals.lww.com journals.lww.com
-
Clinical Data Systems to Support Public Health Practice: A National Survey of Software and Storage Systems Among Local Health Departments
-
-
medium.com medium.com
-
blog.izs.me blog.izs.me
-
In the real world, we are faced with the completely unfair constraint of being human while writing programs and while debugging them, and none of these costs can ever be reduced to zero.
-
Nothing about the Unix Philosophy explicitly relates to a culture of software sharing. However, it should be no mystery that it comes from the software community where we argue at length about the best way to make our programs properly Free. Software that is developed according to these principles is easier to share, reuse, repurpose, and maintain.
-
-
www.chevtek.io www.chevtek.io
-
Write modules that solve a problem you know
-
-
www.alacartesoftware.co www.alacartesoftware.co
Tags
Annotators
URL
-
-
news.ycombinator.com news.ycombinator.com
-
One thing that would be useful to this debate an analysis of a language ecosystem where there are only "macropackages" and see if the same function shows up over and over again across packages.
-
-
www.sitepoint.com www.sitepoint.com
-
JavaScript needs to fly from its comfy nest, and learn to survive on its own, on equal terms with other languages and run-times. It’s time to grow up, kid.
-
If JavaScript were detached from the client and server platforms, the pressure of being a monoculture would be lifted — the next iteration of the JavaScript language or run-time would no longer have to please every developer in the world, but instead could focus on pleasing a much smaller audience of developers who love JavaScript and thrive with it, while enabling others to move to alternative languages or run-times.
-
-
While various shortcomings of the standard run-time library are the obvious, immediate reason for the creation of micro-packages
-
As to opinions about the shortcomings of the language itself, or the standard run-times, it’s important to realize that every developer has a different background, different experience, different needs, temperament, values, and a slew of other cultural motivations and concerns — individual opinions will always be largely personal and, to some degree, non-technical in nature.
Tags
- JavaScript: as a process VM
- everyone has different background/culture/experience
- programming languages: choosing the best language for the job
- micropackages
- neutral/unbiased/agnostic
- software freedom
- separation of concerns
- +0.9
- software project created to address shortcomings in another project
- annotation meta: may need new tag
- programming languages
- neutral ground
- what is important/necessary for one person may not be for another
- competition in open-source software
- avoid giving partiality/advantage/bias to any specific option
- good point
- runtime environment
- good idea
- software trends
- level playing field
- microlibraries
- JavaScript
- reaction / reacting to
- software preferences are personal
- culture
- everyone has different preferences
- JavaScript ecosystem
- non-technical reasons
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.orgPyPy2
-
PyPy was funded by the European Union being a Specific Targeted Research Project
-
There used to be other backends in addition to C: Java, CSharp, and Javascript but those suffered from bitrot and have been removed.
-
-
en.wikipedia.org en.wikipedia.org
-
Refactoring is a means of addressing the problem of software rot. It is described as the process of rewriting existing code to improve its structure without affecting its external behaviour.
-
Suppose an administrator creates a forum using open source forum software, and then heavily modifies it by adding new features and options. This process requires extensive modifications to existing code and deviation from the original functionality of that software.
-
cannot be run on any modern day computer or computer simulator, as it was developed during the days when LISP and PLANNER were still in development stage, and thus uses non-standard macros and software libraries which do not exist anymore
-
Software that is not currently being used gradually becomes unusable as the remainder of the application changes.
-
much software requires continuous changes to meet new requirements and correct bugs, and re-engineering software each time a change is made is rarely practical.
-
This creates what is essentially an evolution process for the program, causing it to depart from the original engineered design. As a consequence of this and a changing environment, assumptions made by the original designers may be invalidated, introducing bugs.
-
will eventually lead to software becoming faulty, unusable, or in need of upgrade.
-
Tags
- can't think of everything
- is it worth the effort?
- changes (software)
- emergent behavior
- high-cost changes
- removing features/code/options that are seldom used
- technical solution
- solution
- good example
- constant evolution/improvement of software/practices/solutions
- refactoring
- onceability
- software rot
- unanticipated
- software rot: dormant rot
Annotators
URL
-
-
www.inuse.se www.inuse.se
-
Digital technology may contain no moving parts but it still, somehow, gets worn, splintered and corroded. It rots. It decays. The rot, though, is mostly invisible (and un-smellable). Still, one day, the thing is broken.
-
-
github.com github.com
-
As of May 24, 2016, antimicro has moved from https://github.com/Ryochan7/antimicro to https://github.com/AntiMicro/antimicro. Additionally, project management has passed from Travis (Ryochan7) to the AntiMicro organization due to Travis having other interests and priorities.
-
-
github.com github.comd3/d31
-
D3 4.0 is modular. Instead of one library, D3 is now many small libraries that are designed to work together. You can pick and choose which parts to use as you see fit.
-
-
ythakker.medium.com ythakker.medium.com
-
-
When markets are new and “hot”, they often follow that frenzy of dozens — if not hundreds — of entrants trying to grab market share from each other.
-
-
github.com github.com
-
For the $$$ question, nothing comes to mind. These problems i'm hitting up against are larger than a contractor could solve in a few hours of work (which would be hundreds/thousands of dollars).
-
Yeah, can we pay money to make this go faster? Serious question.
-
Progress is slow though. I want to change how assets are loaded, the current implementation of "pipelines" is challenging to work with.
-
-
-
But we're definitely sticking with the source map idea rather than the current (Rails 3/4) behavior of including all JS and CSS files separately while in development?
-
Still broken, @cannikin. Nobody's on board to investigate, much less fix it. Please do dig in
-
-
hyperstack.org hyperstack.org
-
Think JavaScript is your only option for the front-end? Think again. Hyperstack is a Ruby DSL, compiled by Opal, bundled by Webpack, powered by React.
Tags
Annotators
URL
-
-
existek.com existek.com
-
Want to know how to build a taxi app that will become the next Uber or Carb? It is a reasonable question considering how convenient and cost-effective it is to use a taxi instead of maintaining your own vehicle. The best way for a cab company to ensure this convenience for customers is to build a taxi booking app.
-
-
stackoverflow.com stackoverflow.com
-
You could also use the NodeIterator API, but TreeWalker is faster
-
All those 'modern' and 'super-modern' querySelectorAll("*") need to process all nodes and do string comparisons on every node.
-
the fastest solution because the main workload is done by the Browser Engine NOT the JavaScript Engine
-
-
stackoverflow.com stackoverflow.com
-
answered May 9 '13 at 15:29 alexander farkas
-
-
github.com github.com
-
markdown-it is the result of the decision of the authors who contributed to 99% of the Remarkable code to move to a project with the same authorship but new leadership (Vitaly and Alex). It's not a fork.
-
-
store.steampowered.com store.steampowered.com
-
Posting an issue on the discussion boards for a three year old game, yesterday, I wasn't holding my breath for a reply. Earlier, this morning, a dev. responded, stating they'd look at fixing it, and it was just a few hours before it were sorted!
-
-
trailblazer.to trailblazer.to
-
There’s no need to test controllers, models, service objects, etc. in isolation
-
Run the complete unit with a certain input set, and test the side-effects. This differs to the Rails Way™ testing style, where smaller units of code, such as a specific validation or a callback, are tested in complete isolation. While that might look tempting and clean, it will create a test environment that is not identical to what happens in production.
Tags
- testing: avoid unnecessarily testing things in too much isolation, in a different way than the code is actually used (should match production)
- rails: the Rails way
- unnecessary
- isolation (programming)
- testing: avoid testing implementation details
- the Trailblazer way
- testing: tests should resemble the way your software is used
- testing: philosohy of testing
Annotators
URL
-
-
daringfireball.net daringfireball.net
-
Everyone knows friction in software is harmful. But I think we all continually underestimate just how big an influence friction is on what people actually do and use. People don’t write long multi-tweet threads because it’s a good way to post a short essay, they do it because it’s so low friction.
Friction within software can be a very good thing.
-
-
github.com github.com
-
Uber::Option implements the pattern of taking an option, such as a proc, instance method name, or static value, and evaluate it at runtime without knowing the option's implementation.
-
-
github.com github.com
-
MIT License. Copyright 2020 Rafael França, Carlos Antônio da Silva. Copyright 2009-2019 Plataformatec.
Tags
Annotators
URL
-
-
trailblazer.to trailblazer.to
-
Please note that the I/O DSL is only providing the most-used requirements. Feel free to use the low-level taskWrap API to build your own variable mapping with different scoping techniques.
-
-
trailblazer.to trailblazer.to
-
Instead of one big code pile, activities will gently enforce a clean, standardized way for organizing code.
-
-
-
release 0.0.1 after around 5 years.
-
- Feb 2021
-
osf.io osf.io
-
Peer, L., Orr, L., & Coppock, A. (2020). Active Maintenance: A Proposal for the Long-term Computational Reproducibility of Scientific Results. SocArXiv. https://doi.org/10.31235/osf.io/8jwhk
-
-
github.com github.com
-
Licensed under the LGPLv3 license. We also offer a commercial-friendly license.
-
-
github.com github.com
-
This project is provided by the LinkedIn Presentation Infrastructure team as open source software
-
-
github.com github.com
-
How do you know if source maps are working correctly? Try adding a syntax error to one of your assets and use the console to debug. Does it show the correct file and source location? Or does it reference the top level application.js file?
-
-
drylabs.io drylabs.io
-
Our mission is to allow people to make money via educational efforts and to dedicate the rest of their time to creating great open source products.
What does this mean exactly? "Our mission is to allow people to make money via educational efforts"
-
-
github.com github.com
-
Enforces better architecture
-
-
en.wikipedia.org en.wikipedia.org
-
Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile.
-
-
trailblazer.to trailblazer.to
-
provide interfaces so you don’t have to think about them
Question to myself: Is not having to think about it actually a good goal to have? Is it at odds with making intentional/well-considered decisions?  Obviously there are still many of interesting decisions to make even when using a framework that provides conventions and standardization and makes some decisions for you...
-
Trailblazer is an architectural pattern that comes with Ruby libraries to implement that pattern.
-
Whether this is the life-cycle of a <user> entity or just a sign-up function, it has to be defined and coded somewhere.
Tags
- ruby library
- framework
- intentional/well-considered decisions
- I have a question about this
- so you don’t have to think about it
- software architecture
- interfaces (programming)
- software design patterns
- software development: code organization: where does this code belong?
- standardization
- tautology
Annotators
URL
-
-
trailblazer.to trailblazer.to
-
I started Trailblazer GmbH 4 years ago with my relocation from Australia back to Europe. One of our consulting clients is the central police department of a German state that has kept me busy for more than three years now.
-
We’re now relaunching PRO, but instead of a paid chat and (never existing) paid documentation, your team gets access to paid gems, our visual editor for workflows, and a commercial license.
-
And yes, at TRB GmbH, we do pay people to work on OSS
-
To tell you the truth, the new tracing feature was the original reason why I decided to write 2.1 and make you sit and wait in agony for years. Nevertheless, tracing is simply blowing my mind. I can’t count how many hours and angering rushs of adrenaline I’ve saved since the introduction of the wtf? method and its helpful higher-level stack trace.
-
There is nothing wrong with building your own “service layer”, and many companies have left the Traiblazer track in the past years due to problems they had and that we think we now fixed.
Tags
- admit the limitations/shortcomings of your argument/benefits
- freemium model
- company/business
- shift in preference
- more than one right way (no one right/best way)
- getting paid to work on open-source software
- open-source software: funding: providing commercial dual-license
- open-source software: progress seems slow
- job: benefits
- software preferences are personal
- debugging
- software development consultancy
- funny
- Trailblazer
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.org
-
-
which entails computer programming (process of writing and maintaining the source code), but also encompasses a planned and structured process from the conception of the desired software to its final manifestation
-
-
en.wikipedia.org en.wikipedia.org
-
Software architecture is about making fundamental structural choices that are costly to change once implemented.
-
Software architecture refers to the fundamental structures of a software system
-
-
en.wikipedia.org en.wikipedia.org
-
A free cultural work (free content) is, according to the definition of Free Cultural Works, one that has no significant legal restriction on people's freedom to:
-
-
2019.trailblazer.to 2019.trailblazer.to
-
note that TRB source code modifications are not proprietary
In other words, you can build on this software in your proprietary software but can't change the Trailblazer source unless you're willing to contribute it back.
loophole: I wonder if this will actually just push people to move their code -- which at the core is/would be a direction modification to the source code - out to a separate module. That's so easy to do with Ruby, so this restriction hardly seems like it would have any effect on encouraging contributions.
-
Why is TRB licensed under LGPL, not MIT?
-
The LGPL allows users to use and integrate LGPL software components into their own software without being required to release the source code of their own software components. However, if users modify LGPL software components (“derivative work”), they are required to make the modified software component available under the same LGPL license. To avoid the latter with TRB, users have to comply with para. 5 LGPLv2.1: A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a “work that uses the Library”. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. In other words: if you use the TRB libraries in your commercial applications or Open-Source projects, you’re not creating a derivative work of Trailblazer. Your software can be distributed under any terms.
-
Trailblazer (TRB) is an Open-Source project. Since we want to keep it that way, we decided to raise awareness for the “cost” of our work - providing new versions and features is incredibly time-consuming for us, but we love what we do.
-
This creates a win-win situation, you as the user have your peace of mind, and we can continue working with your funds.
-
Tags
- distinction
- win-win
- LGPL
- wording designed to be more palatable/pleasing/inoffensive
- open-source software: not contributing new code back to project
- integration
- clarification
- proprietary software
- work: doing what you love
- annotation meta: may need new tag
- time-consuming
- open-source software: funding
- answer the "why?"
- building software is time-consuming / a lot of work
- support: peace of mind for those that have it
- neutral/dispassionate/impartial/objective wording
- good point
- well-written
- reminder
- derivative work/based on
- loophole/escape hatch
- software licensing
- building software is hard
- labor of love
Annotators
URL
-
-
github.com github.com
-
Trailblazer extends the conventional MVC stack in Rails. Keep in mind that adding layers doesn't necessarily mean adding more code and complexity. The opposite is the case: Controller, view and model become lean endpoints for HTTP, rendering and persistence. Redundant code gets eliminated by putting very little application code into the right layer.
-
Trailblazer offers you a new, more intuitive file layout in applications.
-
Instead of grouping by technology, classes and views are structured by concept, and then by technology. A concept can relate to a model, or can be a completely abstract concern such as invoicing.
-
While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
Tags
- focus on concepts/design/structure instead of specific/concrete technology/implementation
- software development: organization of files: by component rather than by file type
- software development: organization of files
- rails: the Rails way
- defending an idea
- freedom of user to override specific decision of an authority/vendor (software)
- focus on what it should do, not on how it should do it (implementation details; software design)
- newer/better ways of doing things
- making changes / switching/migrating gradually/incrementally/step-wise/iteratively
- software development: code organization: where does this code belong?
- allowing developer/user to pick and choose which pieces to use (allowing use with competing libraries; not being too opinionated; not forcing recommended way on you)
- abstractions
- thin abstraction/layer
- leaving the details of implementation/integration up to you
- Trailblazer
Annotators
URL
-
-
-
we’re going to look how improved pattern matching and rightward assignment make it possible to “destructure” hashes and arrays in Ruby 3—much like how you’d accomplish it in, say, JavaScript
-
-
www.joinhoney.com www.joinhoney.comHoney1
-
-
github.com github.com
-
ActiveInteraction plays nicely with Rails. You can use interactions to handle your business logic instead of models or controllers.
-
Why is all this interaction code better? Two reasons: One, you can reuse the FindAccount interaction in other places, like your API controller or a Resque task. And two, if you want to change how accounts are found, you only have to change one place.
Pretty weak arguments though...
- We could just as easily used a plain object or module to extract this for easy reuse and having it in only one place (avoiding duplication).
-
-
github.com github.com
-
@adisos if reform-rails will not match, I suggest to use: https://github.com/orgsync/active_interaction I've switched to it after reform-rails as it was not fully detached from the activerecord, code is a bit hacky and complex to modify, and in overall reform not so flexible as active_interaction. It has multiple params as well: https://github.com/orgsync/active_interaction/blob/master/spec/active_interaction/modules/input_processor_spec.rb#L41
I'm not sure what he meant by:
fully detached from the activerecord I didn't think it was tied to ActiveRecord.
But I definitely agree with:
code is a bit hacky and complex to modify
Tags
- too coupled/dependent
- too complicated
- pointing out gaps/downsides/cons in competition/alternatives
- reform (Ruby)
- hard to understand
- evaluating software options
- active_interaction
- I agree
- switching/migrating to something different
- flexibility
- recommended software
- recommended option/alternative
Annotators
URL
-
-
reinteractive.com reinteractive.com
Tags
Annotators
URL
-
-
railscasts.com railscasts.com
-
We could quite easily create a model class that isn’t based on ActiveRecord and have it work as Rails is quite decoupled from ActiveRecord, but there are advantages to keeping our model class inheriting from ActiveRecord.
-
-
en.wikipedia.org en.wikipedia.org
-
I think a better, more immediately understandable name for this concept would be command object, because it lets you pass around commands (or a list of commands) as objects.
That's the only thing you really need to know abut this pattern. The rest seems like boring implementation details that aren't that important, and that naturally follow from the primary definition above.
-
-
github.com github.com
-
Take 3, Previously attempted in 2012 (#8189) and 2015 (#19709). This new version uses ActiveModel Attributes API.
-
Another recent attempt: #35246
-
-
www.infoworld.com www.infoworld.com
-
-
By the same token, marketing or political incentives often push design idioms
-
-
www.javaworld.com www.javaworld.com
-
Programming to interfaces is at the core of flexible structure.
-
-
softwareengineering.stackexchange.com softwareengineering.stackexchange.com
-
The more important point comes from a program design perspective. Here, "programming to an interface" means focusing your design on what the code is doing, not how it does it. This is a vital distinction that pushes your design towards correctness and flexibility.
-
The problem with this is that it creates a strong coupling between your code and the implementation, exactly what the interface was supposed to prevent.
-
-
-
Excel: Why using Microsoft’s tool caused Covid-19 results to be lost. (2020, October 5). BBC News. https://www.bbc.com/news/technology-54423988
-
-
en.wikipedia.org en.wikipedia.org
-
With the introduction of CPUs which ran faster than the original 4.77 MHz Intel 8088 used in the IBM Personal Computer, programs which relied on the CPU's frequency for timing were executing faster than intended. Games in particular were often rendered unplayable. To provide some compatibility, the "turbo" button was added. Engaging turbo mode slows the system down to a state compatible with original 8086/8088 chips.
-
-
github.com github.com
-
The blog that's almost nothing
Tags
Annotators
URL
-
-
github.com github.com
-
github.com github.com
-
Great thanks to Blake Education for giving us the freedom and time to develop this project in 2013 while working on their project.
-
-
-
I made this gem because I tried reform and I found some bugs. I started to contribute but there is some things I don't like in reform.
-
-
github.com github.com
-
NO support whatsoever will be given for the moment unless I gave you the program personally. This is because all of this is work in progress and I can't code while constantly writing documentation and answering questions.
-
-
store.steampowered.com store.steampowered.com
-
DEV actively answers questions in the community.
-
-
openrct2.org openrct2.org
Tags
Annotators
URL
-
-
aeplay.org aeplay.org
Tags
Annotators
URL
-
-
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.simutrans.com www.simutrans.com
Tags
Annotators
URL
-
-
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 ;)
-
-
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.
-
-
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.
-
-
-
“Functional programming language” is not a clearly defined term. From the various properties that are typically associated with functional programming I only want to focus on one: “Immutability” and referential transparency.
I mean not clearly defined seems wrong, there are common accepted characteristics that make a language functional.
-
-
-
This gives them a slight edge but that’s nothing substantial because those fixes eventually reach Ubuntu.
Tags
Annotators
URL
-
-
opensource.stackexchange.com opensource.stackexchange.com
-
-
But all of these attempts misunderstand why the Open Source ecosystem is successful as a whole. The ecosystem of fairly standard licenses provides a level playing field that allows collaboration with low friction, and produces massive value for everyone involved – both to those that contribute and to those that don't. It is not without problems (there are many essential but unsexy projects that are struggling with funding), but introducing more friction won't improve the success of this ecosystem – it will just lead to some parts of the ecosystem to break off.
-
Part of me thinks that open source can be more rewarding to the creators/contributors. But maybe the real contribution is the permanent addition to the tools available to humanity, and if you have the wits, you can make a decent business out of it without tainting open source.
-
Selling proprietary software is difficult when there is so much gratis Open Source software around.
-
For a sufficiently successful and industry-relevant open source project, it's possible for the main developers to earn a living e.g. by selling related consulting services.
-
It turns out that creating and using Free Software is not just good to individuals, but for businesses as well, for example by building upon publicly available components and by collaborating shared software. The term Open Source is a business-friendly rebranding of the Free Software concept. This line of thought was also widely successful, e.g. Firefox/Mozilla was an open sourcing of Netscape software.
Tags
- using open-source software in proprietary software
- motivation
- open-source software
- making money by developing open-source software
- fairness
- excellent technical writing
- open-source licenses
- consultancy
- proprietary software
- competition in open-source software
- level playing field
- economics
- software licensing
- fragmented community
- business
- low-friction
- ecosystem (software)
- reasons for success
Annotators
URL
-
-
adventdigitalmarketing.com adventdigitalmarketing.com
- Jan 2021
-
www.zdnet.com www.zdnet.com
-
Systemd flies in the face of the Unix philosophy: 'do one thing and do it well,' representing a complex collection of dozens of tightly coupled binaries
-
-
linuxmint-user-guide.readthedocs.io linuxmint-user-guide.readthedocs.io
-
This is a store we can’t audit, which contains software nobody can patch. If we can’t fix or modify software, open-source or not, it provides the same limitations as proprietary software.
-
Although it is open-source, Snap on the other hand, only works with the Ubuntu Store. Nobody knows how to make a Snap Store and nobody can. The Snap client is designed to work with only one source, following a protocol which isn’t open, and using only one authentication system. Snapd is nothing on its own, it can only work with the Ubuntu Store.
Tags
- software freedom: ability to inspect/audit source code
- proprietary protocol
- proprietary hosted services as a competitive advantage
- use of proprietary hosted services
- monopoly
- importance of open-source
- proprietary software/service seeking broad support/integration/acceptance in/by other software/platforms/vendors
- Snap
- software freedom
- proprietary software
Annotators
URL
-
-
blog.linuxmint.com blog.linuxmint.com
-
We took a stance on an issue. We informed and documented. We made it easy for you to understand the problem and also to take action if you disagreed.
-
-
github.com github.com0ad/0ad1
Tags
Annotators
URL
-