code of view wasn't about catching bugs. It was a primary mechanism for knowledge transfer. When your engineers learn architecture by reading senior engineer PRs, seniors maintain context by reviewing everything, and code of view was the learning loop. It was how shared theory was built and maintained across the entire team. But AI bypasses that entire loop. The code shows up, it works, it gets merged, but nobody learned anything. Nobody built context. Nobody can debug at a 3AM without reprompting the AI. And code of view was never about catching bugs. It was always about building shared understanding. AI skipped the most important step.
- Last 7 days
-
media.dltj.org media.dltj.org
-
- Dec 2025
-
x.com x.com
-
Definitely true
-
- May 2025
-
github.com github.com
-
Another limitation in this implementation is that passing other options in the shebang to vite-node won't work, as I expect exact indexes in order to figure out what are the arguments to forward. It's not perfect but I think it's good enough to unblock people like me as a start. 👍
-
- Apr 2025
-
adactio.com adactio.com
- Feb 2025
-
rocketdocs.netlify.com rocketdocs.netlify.com
-
webuild.envato.com webuild.envato.com
-
Another problem is that now your business logic is obfuscated inside the ORM layer. If you look at the structure of the source code of a typical Rails application, all you see are these nice MVC buckets. They may reveal the domain models of the application, but you can’t see the Use Cases of the system, what it’s actually meant to do.
-
- Sep 2024
-
docdrop.org docdrop.org
-
stackoverflow.com stackoverflow.com
-
Rails' observers were partly inspired by aspect-oriented programming -- they're about cross-cutting concerns. If you're putting business logic in observers that is tightly coupled to the models they're observing, you're doing it wrong IMO.
-
- May 2024
-
-
I want RSpec Rails development to be fast, and lightweight, much like it was when I joined the RSpec project.
-
As of right now the full build takes over an hour to run, and this makes cycling for PRs and quick iterative development very difficult.
-
- Apr 2024
-
two-wrongs.com two-wrongs.com
-
We often think of software development as a ticket-in-code-out business but this is really only a very small portion of the entire thing. Completely independently of the work done as a programmer, there exists users with different jobs they are trying to perform, and they may or may not find it convenient to slot our software into that job. A manager is not necessarily the right person to evaluate how good a job we are doing because they also exist independently of the user–software–programmer network, and have their own sets of priorities which may or may not align with the rest of the system.
Software development as a conversation
-
- Dec 2023
-
developers.secure.facebook.com developers.secure.facebook.com
-
developers.secure.facebook.com developers.secure.facebook.com
-
It's incredibly important to test your Facebook Login flow under a variety of conditions, and we've built a robust testing plan for you to follow.
-
-
er4hn.info er4hn.info
-
I think Peter called this "secret knowledge".
-
- Nov 2023
-
-
As our app grows, an increasing amount of random code is landing in the app/services directory. I'm worried it will become impractical to improve on this, as the number of special cases will only increase. Some pain points off the top of my head (definitely not exhaustive):
-
-
github.com github.com
-
github.com github.com
-
I'm assuming some of the goals are to make it clear where to put new files (and to stay within current Rails conventions). We already have a few non-standard app folders in our project, such as app/services, app/queries, etc. and we put some non-ActiveRecord classes in app/models. If we are going to move files, it might make sense to first define where files should go, and then move each file to the appropriate place. This might be more of a reorganization project, than copying over a folder.
-
-
gitlab.com gitlab.com
-
How to set up and validate locally Access content editor in wikis or in issues behind a feature flag :content_editor_on_issues. Copy some text from Google docs or any rich text document Press Cmd/Ctrl + Shift + V to paste raw text.
-
- Aug 2023
-
en.wikipedia.org en.wikipedia.org
-
In computing, the robustness principle is a design guideline for software that states: "be conservative in what you do, be liberal in what you accept from others". It is often reworded as: "be conservative in what you send, be liberal in what you accept". The principle is also known as Postel's law, after Jon Postel, who used the wording in an early specification of TCP.
https://en.wikipedia.org/wiki/Robustness_principle
Robustness principle: be conservative in what you do, be liberal in what you accept from others.
-
-
www.rootstrap.com www.rootstrap.com
Tags
Annotators
URL
-
- Jun 2023
-
www.indeed.com www.indeed.com
-
Five core layers: 1. Presentation Layer 2. Application Layer 3. Domain Layer 4. Persistence Layer 5. Database Layer
-
In the layered architecture pattern, each layer fulfills a specific responsibility and role within the application. Some focus on user interface logic, while others handle the execution of business rules. These layers complement each other's unique purposes, but they aren't explicitly reliant on one another to perform their own tasks.
-
In software architecture, layers act as individual processes within the infrastructure of an application. These layers typically form a pattern, also called the n-tier architecture pattern.
-
-
stackoverflow.com stackoverflow.com
-
Marking methods protected by default is a mitigation for one of the major issues in modern SW development: failure of imagination.
-
-
garrickvanburen.com garrickvanburen.com
-
https://garrickvanburen.com/yes-all-software-should-have-a-philosophy-txt-file/
Makes me want all projects included a Philosophy.txt file along with the README.txt and License.txt. It’s far more useful and people-oriented than humans.txt
-
- May 2023
-
-
The transition from an idea to a successful product may be challenging and full of unexpected pitfalls. Harvard Business Review states that roughly 65% of projects end up failing, wasting a lot of resources.
DISCOVERY PHASE OF A SOFTWARE PROJECT
-
-
-
MACHINE LEARNING FOR STOCK PRICES FORECASTING
MACHINE LEARNING FOR STOCK PRICES FORECASTING
-
- Mar 2023
-
idlewords.com idlewords.com
-
this intellectual background can also lead to arrogance. People who excel at software design become convinced that they have a unique ability to understand any kind of system at all, from first principles, without prior training, thanks to their superior powers of analysis. Success in the artificially constructed world of software design promotes a dangerous confidence.
Risk of thinking software design experience is generally transferable
-
-
www.techmango.net www.techmango.net
-
Techmango is a leading provider of custom software development services. We have a team of experienced and skilled software developers who can create custom software solutions that meet the specific needs of your business. We have a proven track record of delivering high-quality custom software development projects on time and within budget. With over years of experience in the industry, Techmango will work closely with you to provide innovative software solutions that revolve around your specific business needs.
-
- Dec 2022
-
andyet.com andyet.com
-
Web and mobile apps, SPAs, and SAAS products with thoughtful UX and robust implementation.
Tags
Annotators
URL
-
-
railsware.com railsware.com
-
railsware.com railsware.com
Tags
Annotators
URL
-
- Nov 2022
-
theinformed.life theinformed.life
-
Mark: Yeah. And I actually think the Agile revolution in software development is software development catching up to the fact that it’s a writer-ly art. Writers don’t know where they’re going or how they’re going to express it when they start out. Neither, it turns out, does software developers. They can pretend by writing it the first time in a spec language and then coding it and then, checking the specification, then finding out that they’ve written the wrong thing and writing a new specification. That was when I was getting started, the right way to write software.
Agile software development is akin to the design of the writing process.
-
-
stackoverflow.com stackoverflow.com
-
I came to this page looking for a way to add Xournal++ to the official winget repository. The accepted answer seems like it might do this: https://stackoverflow.com/a/64367435/6457597
Need to open issue on GH repo about creating manifest file for Xournal++
-
-
github.com github.com
-
git_workspace/ ├── .vscode │ └── settings.json # global settings, my preferred ones ├── my-personal-projects/ │ └── project1/ │ └── .git/ └── company-projects/ ├── .vscode │ └── settings.json # local settings, overrides some of my personal ones ├── project2/ │ └── .git/ └── project3/ └── .git/
-
-
127.0.0.1:8000 127.0.0.1:8000
-
Page for how to contribute to the Hypothes.is Project.<br /> - Code on GitHub - main repository: h - new feature ideas and current bugs: product-backlog - Chat in - Slack: anyone who wants to talk to contributors & community members, hang out, discuss project, get questions answered - Public forum: Less technical place for users to ask questions & discuss needs - Documentation - Using the Hypothesis API: enables you to create applications and services which read or write data from the Hypothesis service - Developing Hypothesis: set up development environment and contribute to Hypothes.is - Roadmap - High level view of features the dev team is evaluating, planning, & building
-
One big feature that the Hypothes.is Notebook affords is indexing on replies (which currently aren't displayed on the Activity Page). I confirmed this on 2022-11-07 with one of Hypothes.is's support admins in their Slack channel.
Sadly, this won't help my personal use case since I'm using the obsidian-hypothesis-plugin which seems to only pull highlights, annotations, and page notes from the Activity Page
Consequently, I'll probably have to build something myself which will be somewhat painful but a good learning experience
-
-
forums.ankiweb.net forums.ankiweb.net
-
I realize that having the same FE/BE on all platforms is the fabled cross-platform panacea. But I’ve yet to see this work well in practice for any app of significant complexity. Quite a few major development teams that were early adopters of ideas like this have since abandoned that approach e.g. AirBnB with React Native, or DropBox with their custom C++ core. As it turns out, while you do write less platform-specific code, you still have to deal with platform-specific bugs and performance issues (not too dissimilar from Qt, just the with additional headaches of mobile platforms). So creating one “universal” code base ends up being almost as much work as working with each platform’s native technologies.
(Test) Glutimate's argument against moving away from Qt for Anki development.
-
-
www.destroyallsoftware.com www.destroyallsoftware.com
-
Video on Functional Core, Imperative Shell paradigm. Recommended in Hypothes.is testing documentation
-
-
h.readthedocs.io h.readthedocs.io
-
the functional core, imperative shell pattern
Link to video on "Boundaries" doesn't go into depth on the functional core, imperative shell pattern. However, this one does: https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell
-
For new code, it’s usually a good idea to design the code so that it’s easy to test with “real” objects, rather than stubs or mocks.
-
We keep our functional tests separate from our unit tests, in the tests/functional directory. Because these are slow to run, we will usually write one or two functional tests to check a new feature works in the common case, and unit tests for all the other cases.
Keep functional & unit tests separate. Functional for common cases, unit for all others.
-
To run the backend test suite only call tox directly
Probably means, "Call
toxdirectly if you only want to run the backend test suite."
-
- Sep 2022
-
github.com github.com
-
In particular, it allowed for organizing common traits (such as extensibility, or different ways of showing examples as schemas that can be mixed in to the main object definitions.
-
- Aug 2022
-
share.unison-lang.org share.unison-lang.org
-
when you start with something simple but special purpose, it inevitably accretes features that attempt to increase its generality, as users run into its limitations. But the result of this evolutionary process is usually a complicated mess compared to what could be achieved by designing for generality up-front, in a more holistic way.
I think this is true, but it's often difficult to design generality upfront. A nice approach is making sure that you are able to back into it and modify after the fact.
We should be trying to make our technologies have more "two-door" decisions.
-
- Jul 2022
-
en.itpedia.nl en.itpedia.nl
-
Debugging is the process of finding and removing errors (bugs) from a software program. Bugs occur in programs when a line of code or a statement conflicts with other elements of the code. We also call errors or defects in hardware bugs.
Debugging and debugging software
Debugging is the process of finding and removing errors (bugs) from a software program. Bugs occur in programs when a line of code or a statement conflicts with other elements of the code. We also call errors or defects in hardware bugs.

-
- Jun 2022
-
-
The intent of this specification and related tools is to expand the reach of development containers, allow the usage of containers by themselves or different orchestration technologies, and allow any tool to manage and create them.
-
-
rd.digital rd.digital
Tags
Annotators
URL
-
- May 2022
-
en.itpedia.nl en.itpedia.nl
-
Any software developer will recognize it, The Eureka Moment. This is when you suddenly see how to solve a particular problem. We have them in all shapes and sizes and at the strangest moments. How does that work in SCRUM and DevOps teams?
The Eureka Moment in Agile Teams
Any software developer will recognize it, The Eureka Moment. This is when you suddenly see how to solve a particular problem. We have them in all shapes and sizes and at the strangest moments. How does that work in SCRUM and DevOps teams?

-
-
Local file Local file
-
I learned the techniques programmers use to tame complexity: things like factoring, levels of abstraction, and separation of concerns.
with one foot in the design world and one foot in the programming world, I wondered if we could apply these software development principles to the way we designed and managed the product.
-
- Apr 2022
-
github.com github.com
-
Instead read this gems brief source code completely before use OR copy the code straight into your codebase.
Tags
- software development: use of libraries: only use if you've read the source and understand how it works
- software development: use of libraries vs. copying code into app project
- copy and paste programming
- read the source code
- learning by reading the source
- having a deep understanding of something
Annotators
URL
-
-
-
There are project layouts that put implementation files and test files together.
-
- Feb 2022
-
-
This is especially useful for UI library components, as it is generally unknown which events will be required from them for all desired use cases. For example, if a Button component only forwards a click event, then no use case that requires the mouseover or the keypress event can be used with it.
-
- Jan 2022
-
-
What does a Functional Design have to offer? https://en.itpedia.nl/2019/01/16/wat-heeft-een-functioneel-ontwerp-te-bieden/ A functional design is a specification of the functions of the software that the end_users have agreed to. Many companies have a software_developer handbook that describes what topics a functional design should cover. This article looks at the steps of functional design in the context of software development.

-
- Dec 2021
-
www.mobindustry.net www.mobindustry.net
-
How to Create Your Own Accounting Software: Technologies and Cost
-
-
www.itpedia.nl www.itpedia.nl
-
What is an assembler language? https://en.itpedia.nl/2019/11/11/wat-is-een-assembler-taal/ An #assembler_language is a low-level programming_language designed for a specific processor type. We can produce Assembler by compiling #source_code from a high-level programming language (such as C / C ++). But we can also write #programs in this language ourselves. In turn, we can convert Assembler_code into machine_code using an assembler.

-
- Nov 2021
-
www.mobindustry.net www.mobindustry.net
- Oct 2021
-
-
Else, H. (2021). Giant, free index to world’s research papers released online. Nature. https://doi.org/10.1038/d41586-021-02895-8
-
-
-
Here's a framing I like from Gary Bernhardt (not set off in a quote block since this entire section, another than this sentence, is his). People tend to fixate on a single granularity of analysis when talking about efficiency. E.g., "thinking is the most important part so don't worry about typing speed". If we step back, the response to that is "efficiency exists at every point on the continuum from year-by-year strategy all the way down to millisecond-by-millisecond keystrokes". I think it's safe to assume that gains at the larger scale will have the biggest impact. But as we go to finer granularity, it's not obvious where the ROI drops off. Some examples, moving from coarse to fine: The macro point that you started with is: programming isn't just thinking; it's thinking plus tactical activities like editing code. Editing faster means more time for thinking. But editing code costs more than just the time spent typing! Programming is highly dependent on short-term memory. Every pause to edit is a distraction where you can forget the details that you're juggling. Slower editing effectively weakens your short-term memory, which reduces effectiveness. But editing code isn't just hitting keys! It's hitting keys plus the editor commands that those keys invoke. A more efficient editor can dramatically increase effective code editing speed, even if you type at the same WPM as before. But each editor command doesn't exist in a vacuum! There are often many ways to make the same edit. A Vim beginner might type "hhhhxxxxxxxx" when "bdw" is more efficient. An advanced Vim user might use "bdw", not realizing that it's slower than "diw" despite having the same number of keystrokes. (In QWERTY keyboard layout, the former is all on the left hand, whereas the latter alternates left-right-left hands. At 140 WPM, you're typing around 14 keystrokes per second, so each finger only has 70 ms to get into position and press the key. Alternating hands leaves more time for the next finger to get into position while the previous finger is mid-keypress.) We have to choose how deep to go when thinking about this. I think that there's clear ROI in thinking about 1-3, and in letting those inform both tool choice and practice. I don't think that (4) is worth a lot of thought. It seems like we naturally find "good enough" points there. But that also makes it a nice fence post to frame the others.
-
As with this post on reasons to measure, while this post is about practical reasons to improve productivity, the main reason I'm personally motivated to work on my own productivity isn't practical. The main reason is that I enjoy the process of getting better at things, whether that's some nerdy board game, a sport I have zero talent at that will never have any practical value to me, or work. For me, a secondary reason is that, given that my lifespan is finite, I want to allocate my time to things that I value, and increasing productivity allows me to do more of that, but that's not a thought i had until I was about 20, at which point I'd already been trying to improve at most things I spent significant time on for many years.
-
A specific example of something moving from one class of item to another in my work was this project on metrics analytics. There were a number of proposals on how to solve this problem. There was broad agreement that the problem was important with no dissenters, but the proposals were all the kinds of things you'd allocate a team to work on through multiple roadmap cycles. Getting a project that expensive off the ground requires a large amount of organizational buy-in, enough that many important problems don't get solved, including this one. But it turned out, if scoped properly and executed reasonably, the project was actually something a programmer could create an MVP of in a day, which takes no organizational buy-in to get off the ground. Instead of needing to get multiple directors and a VP to agree that the problem is among the org's most important problems, you just need a person who thinks the problem is worth solving.
-
Unlike most people who discuss this topic online, I've actually looked at where my time goes and a lot of it goes to things that are canonical examples of things that you shouldn't waste time improving because people don't spend much time doing them. An example of one of these, the most commonly cited bad-thing-to-optmize example that I've seen, is typing speed (when discussing this, people usually say that typing speed doesn't matter because more time is spent thinking than typing). But, when I look at where my time goes, a lot of it is spent typing.
-
It is commonly accepted, verging on a cliche, that you have no idea where your program spends time until you actually profile it, but the corollary that you also don't know where you spend your time until you've measured it is not nearly as accepted.
-
I'm not a naturally quick programmer. Learning to program was a real struggle for me and I was pretty slow at it for a long time (and I still am in aspects that I haven't practiced). My "one weird trick" is that I've explicitly worked on speeding up things that I do frequently and most people have not.
-
-
www.mobindustry.net www.mobindustry.net
-
Everything a Product Owner Needs to Know Before Starting a Software Development Project
-
- Aug 2021
-
css-tricks.com css-tricks.com
-
I always had to set the height of them literally almost 50% taller than the content itself to accommodate for the innards growing when the form was submitted with errors (the error messaging expanded the height). If I didn’t, the submit button would get cut off making the form un-submittable.
-
-
www.manektech.com www.manektech.com
-
Custom Software Development
-
- Jul 2021
-
github.com github.com
Tags
Annotators
URL
-
-
blog.appsignal.com blog.appsignal.com
-
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.
-
-
www.timsommer.be www.timsommer.be
- Jun 2021
-
blog.viktoradam.net blog.viktoradam.net
-
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!
-
-
-
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
- Apr 2021
-
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.
-
-
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
-
You might not always notice, but Material Design is constantly evolving and iterating based on research.
-
- Mar 2021
-
www.chevtek.io www.chevtek.io
-
Write modules that solve a problem you know
-
-
www.alacartesoftware.co www.alacartesoftware.co
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.
-
- Feb 2021
-
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?
-
-
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.
-
-
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
-
-
trailblazer.to trailblazer.to
-
Whether this is the life-cycle of a <user> entity or just a sign-up function, it has to be defined and coded somewhere.
-
-
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.
Tags
- defending an idea
- abstractions
- focus on concepts/design/structure instead of specific/concrete technology/implementation
- thin abstraction/layer
- software development: organization of files
- software development: code organization: where does this code belong?
- software development: organization of files: by component rather than by file type
Annotators
URL
-
-
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).
-
-
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.
-
-
www.javaworld.com www.javaworld.com
-
Programming to interfaces is at the core of flexible structure.
-
-
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.
-
-
softwareengineering.stackexchange.com softwareengineering.stackexchange.com
-
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.
-
-
github.com github.com
-
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.
-
-
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
-
-
github.com github.com
-
How should this be manually tested?
-
-
svelte.dev svelte.dev
-
It must be called during the component's initialisation (but doesn't need to live inside the component; it can be called from an external module).
-
-
stackoverflow.blog stackoverflow.blog
-
While the code may live online somewhere forever, an open source project only truly survives if someone maintains it.
-
-
-
artificial intelligence seems to be the future of software
Is this because AI will write the software? At some point the programmes (and data they need) will be too complex for human beings to understand.
-
- Dec 2020
-
hybridpedagogy.org hybridpedagogy.org
-
We are unapologetic tinkerers who neither invent the wheel, nor are satisfied with the wheels already at our disposal. The best scholarship and the best pedagogy take the best of what already exists and make it better, at least better for the task at hand. We need to embrace this identity as hackers, acknowledge our indebtedness to those who have gone before us, forsake the illusion that we are creating (can create, should create) something wholly original, but also refuse to take for granted the things that have been passed down to us.
I think that this might be where I'm missing something. The article is about the relationship between open-source software development and scholarship, but now we're talking about "hacking" as the equivalent of a software developer. And I'm not sure that I agree with this.
I don't think that software-developers think of themselves as hackers. For me, there's an underlying subversive nature in the hacker category, which need not be present in a software developer. There's a conflation between software developer and hacker, which misses some of the nuance that's necessary.
-
-
www.codingwithjesse.com www.codingwithjesse.com
-
We usually only see people launching projects once they're already done. I'm sure there are countless more unfinished and unlaunched side projects that the world will never know about. Don't let your side project become one of them.
-
-
www.quora.com www.quora.com
-
-
Keep in mind that as a software developer, of any degree, learning is continuous. New technologies, new ways to write code, not so new approaches, persisting patterns. Read books, watch online courses, follow tutorials, keep learning!
-
-
www.quora.com www.quora.com
- Nov 2020
-
www.cleveroad.com www.cleveroad.com
-
A Comprehensive Guide on the Dedicated Team Model: Explaining the Concept, Advantages, and Pitfalls
Take a look at this detailed article by Cleveroad explaining what is dedicated team model.
-
-
github.com github.com
-
I'm still deeply working on it every day, i'm around 1/2 month away for a first preview release.
-
-
stackoverflow.com stackoverflow.com
-
The project organization is a bit weird because we have a mono-repository that contains projects and libraries. The projects are grouped by company and by browser / server / universal.
-
-
github.com github.com
-
Since yarn already has retries on metadata operations, my perspective is that this PR is about filling in an (inadvertent I assume) gap.
-
Test plan You need a large NPM package in a private org on the npmjs.org registry. 10MB download size is ideal.
-
-
stackoverflow.com stackoverflow.com
-
In my opinion, deleting a user is not a function executed by an item on itself but is a function done by the holder of the array. So in your case you would be better of moving the deleteUser up to App.
-
- Oct 2020
-
www.basefactor.com www.basefactor.com
-
If you want to implement a form with a superb User Experience, you have to take care of many variables:
Tags
- difficult/hard problem
- form design
- a lot of things to consider
- too hard/difficult/much work to expect end-developers to write from scratch (need library to do it for them)
- easy to get wrong
- can't keep entire system in your mind at once (software development) (scope too large)
- user experience
Annotators
URL
-
-
-
you took 4 hours to respond, so I implemented it myself
-
-
-
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.
-
-
medium.com medium.com
-
humanwhocodes.com humanwhocodes.com
-
www.youtube.com www.youtube.com
-
Science as Amateur Software Development. (2020, September 26). https://www.youtube.com/watch?v=zwRdO9_GGhY&feature=youtu.be
-
-
formvalidation.io formvalidation.io
-
With the new plugin based architectue, the library has really small core. Everything else is built around as a plugin.
-
-
-
One of the primary tasks of engineers is to minimize complexity. JSX changes such a fundamental part (syntax and semantics of the language) that the complexity bubbles up to everything it touches. Pretty much every pipeline tool I've had to work with has become far more complex than necessary because of JSX. It affects AST parsers, it affects linters, it affects code coverage, it affects build systems. That tons and tons of additional code that I now need to wade through and mentally parse and ignore whenever I need to debug or want to contribute to a library that adds JSX support.
Tags
- avoid complexity
- implementation complexity
- can't keep entire system in your mind at once (software development) (scope too large)
- primary task/job/responsibility
- engineering (general)
- for-reaching consequences
- mentally filter/ignore
- engineers
- unintended consequence
- high-cost changes
- syntax
- infectious problem
- semantics (of programming language)
- fundamental
- the cost of changing something
- complexity
- too complicated
- mental bandwidth
Annotators
URL
-
-
-
it also allows for more divergence in how people write there code and where they put their logic, making different svelte codebases potentially even more different due to fewer constraints. This last point is actually something I really value, I read a lot of Svelte code by a lot of different people and broadly speaking things look the same and are in the same places.
Tags
- strong conventions resulting in code from different code bases/developers looking very similar
- consistency
- uniformity
- software development: code organization: where does this code belong?
- convention
- idiomatic pattern (in library/framework)
- programming: multiple ways to do the same thing
- idiomatic code style (programming languages)
Annotators
URL
-
-
dylanvann.com dylanvann.com
-
Keep the local state isolated.Think about which state is local to a particular UI representation — and don’t hoist that state higher than necessary.
-
-
-
Picking the best solution is subjective, and I can only offer my point of view, so take this with a grain of salt.
-
-
github.com github.com
-
I don't even have it on my PC. That's why I didn't test the code myself. Don't have time for everything in this world
-
-
github.com github.com
-
PR’s welcome. As I said I don’t have bandwidth to cross check all the bundlers & transpilers combo.
-
- Sep 2020
-
github.com github.com
-
I took the same approach with _layout.svelte and not just for the svelte-apollo client. Except I put all of that setup into another module (setup.js) and imported from _layout. I just couldn't stomach having all that code actually in my _layout file. It's for layout, supposedly, but it's the only component that is a parent to the whole app.
-
I got this working by using _layout.svelte as the point to initialise and set the Client we can then use getClient in each route that uses this layout.
-
-
rollupjs.org rollupjs.orgRollup1
-
Developing software is usually easier if you break your project into smaller separate pieces, since that often removes unexpected interactions and dramatically reduces the complexity of the problems you'll need to solve
-
-
github.com github.com
-
Svelte started with no decoupling anywhere, with everything available at compile-time. Then <:Component> introduced separation at the component level -- but they're still coupled at properties. The spread feature would fill that gap. I see it as an intentional separation as opposed to an accidental shot at static analysis.
-
-
www.cleveroad.com www.cleveroad.com
-
Medical Software Development: Benefits and Implementation Strategy
Read this guide by Cleveroad to learn more about medical software development.
-
-
css-tricks.com css-tricks.com
-
there is one major weakness to this approach and to scoped CSS: organization gets very hard – you end up with styles everywhere!
-
Keeping the CSS with the HTML for organization may have value however.
-
-
refactoring.guru refactoring.guru
-
Eliminating needless classes frees up operating memory on the computer—and bandwidth in your head.
-
-
github.com github.com
-
but adding logic to the <script> is unfortunate
-
-
svelte.dev svelte.dev
-
And because it's real CSS, rather than some camelCased quotes-everywhere impostor, we can take advantage of the 'tweak in devtools, paste back into our source code' workflow, which I personally couldn't live without.
-
Your styles are scoped to the component. No more leakage, no more unpredictable cascade.
-
It's fashionable to dislike CSS. There are lots of reasons why that's the case, but it boils down to this: CSS is unpredictable. If you've never had the experience of tweaking a style rule and accidentally breaking some layout that you thought was completely unrelated — usually when you're trying to ship — then you're either new at this or you're a much better programmer than the rest of us.
-
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.
Tags
- surprising behavior
- predictability
- software development workflow
- global scope: may conflict with other libraries
- funny
- fear of breaking things
- mismatch
- can't keep entire system in your mind at once (software development) (scope too large)
- isolation (programming)
- global scope
- imposter
- true
Annotators
URL
-
-
css-tricks.com css-tricks.com
-
It’s become increasingly common to divide code into components, rather than by file type. React, for example, allows for the collocation of a components markup and JavaScript. In Svelte, this is taken one logical step further: the Javascript, markup and styling for a component can all exist together in a single `.svelte` file
-
-
github.com github.com
-
Many changes, including bug fixes and documentation improvements can be implemented and reviewed via the normal GitHub pull request workflow. Some changes though are "substantial", and we ask that these be put through a bit of a design process and produce a consensus among the Yarn core team. The "RFC" (request for comments) process is intended to provide a consistent and controlled path for new features to enter the project.
-
- Jul 2020
-
unspace.ca unspace.caUnspace1
-
It’s also been a year where we’ve had to acknowledge that we have reached the ideal of what we can achieve as a consulting firm in our current configuration, and — more importantly — that we don’t wish to transform the organization into something larger. As with most things that bring joy, the kind we experience within the confines our our tight-knit company are particularly problematic to scale — especially when faced with impending remote-working realities — so we’re opting to go the “love you and leave you” route instead.
Tags
Annotators
URL
-
-
tabcomputing.com tabcomputing.comT A B1
Tags
Annotators
URL
-
-
github.com github.com
-
But I love it, and so I plan to keep it alive.
-
- Jun 2020
-
en.wikipedia.org en.wikipedia.org
-
For example, if error messages in two narrowly defined classes behave in the same way, the classes can be easily combined. But if some messages in a broad class behave differently, every object in the class must be examined before the class can be split. This illustrates the principle that "splits can be lumped more easily than lumps can be split".
-
-
en.wikipedia.org en.wikipedia.org
-
Prefactoring is the application of experience to the creation of new software systems. Its relationship to its namesake refactoring is that lessons learned from refactoring are part of that experience.
-
-
www.cleveroad.com www.cleveroad.com
-
Building A Custom EHR System: Practical Examples, Cost, Compliance, And Features
Read this guide to find out more about EHR development.
-
-
www.cleveroad.com www.cleveroad.com
-
The Fullest Guide to Offshore Software Development in Ukraine
Read this guide by Cleveroad to figure out what is offshore software development in Ukraine.
-
-
github.com github.comDP^3T1
-
"You wanted open source privacy-preserving Bluetooth contact tracing code? #DP3T software development kits/calibration apps for iOS and Android, and backend server, now on GitHub. iOS/Android apps with nice interface to follow." Michael Veale on Twitter (see context)
-
-
dev.mysql.com dev.mysql.com
-
Deadlocks are a classic problem in transactional databases, but they are not dangerous unless they are so frequent that you cannot run certain transactions at all. Normally, you must write your applications so that they are always prepared to re-issue a transaction if it gets rolled back because of a deadlock.
-
- May 2020
-
kellysutton.com kellysutton.com
-
there’s 3 steps to building software: Make it work Make it right Make it fast
-
-
www.ganttlab.com www.ganttlab.com
-
The overall software architecture is actioning years of developers experiences through Uncle Bob's Clean Architecture. Thanks to Lerna and Yarn workspaces, GanttLab now comes with the entities, use-cases and gateways packages that are used by the adapter-webapp making up the web application on https://app.ganttlab.com.
-
-
www.typescriptlang.org www.typescriptlang.org
-
This file that really does nothing but manage other project files is often called a “solution” in some environments.
-
you honestly don’t have the time to decide which of these options is better.
-
-
github.com github.com
-
This starter takes advantage of Typescript and Emotion. This is a personal choice, and I'd encourage you to give it a shot. If you're interested in using plain ES6 and regular scss styling, see release v1 of this library.
-
-
gitlab.com gitlab.com
-
gitlab.com gitlab.com
-
gitlab.com gitlab.com
-
backstage Issues and merge request related to improvements like refactorings, tests, maintenance etc
-
-
gitlab.com gitlab.com
-
Code Owners allows for a version controlled single source of truth file outlining the exact GitLab users or groups that own certain files or paths in a repository.
-
-
en.wikipedia.org en.wikipedia.org
-
However, since problems are only addressed when they arise, maintenance is reactive rather than proactive. Small problems left unaddressed can balloon into major failures due to focus on cost.
-
-
www.civicuk.com www.civicuk.com
-
after nearly 10 years of continuous improvement
Not necessarily a good or favorable thing. It might actually be preferable to pick a younger software product that doesn't have the baggage of previous architectural decisions to slow them down. Newer projects can benefit from both (1) the mistakes of previously-originated projects and (2) the knowledge of what technologies/paradigms are popular today; they may therefore be more agile and better able to create something that fits with the current state of the art, as opposite to the state of the art from 10 years ago (which, as we all know, was much different: before the popularity of GraphQL, React, headless CMS, for example).
Older projects may have more technical debt and have more legacy technologies/paradigms/integrations/decisions that they now have the burden of supporting.
-
-
github.com github.com
-
Traditional CMSes are "coupled", which means that the CMS also takes care of the presentation layer responsible for delivering the content to the clients. The content and the presentation are closely interlinked. Typically, content managers create and manage their content through tools like WYSIWYG editors. The CMS then delivers the content according to the front-end delivery layer built into the CMS. Typically, a traditional CMS supports your websites but not much else.
-
-
jamstack.org jamstack.org
-
Loose coupling and separation of controls allow for more targeted development and debugging
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.
-
- Apr 2020
-
en.wikipedia.org en.wikipedia.org
-
Potential for political focus on building new features over technical improvements (such as refactoring)
-
-
services.github.com services.github.com
Tags
Annotators
URL
-
-
-
Add back the Gemfile.lock We want to every clone of this repository to have a set of dependencies that we are sure will have green tests. We remove the lock in CI to make sure we are always running tests with the latest version.
-
-
-
Remove upper bound in our dependencies Doing this we are only asking people to fork our gem or open issues when they want to use a new version of the dependency and we still didn't tested with it.
-
-
github.com github.com
- Feb 2020
-
-
World-class mobile and web app development agency
MLSDev is a software development company, which specializes in mobile and web app development, UI/UX and consulting.
-
-
-
www.devstringx.com www.devstringx.com
-
Devstringx Technologies opened for business in 2014. Today, Devstringx is India’s most recommended IT company for software product development, mobile app development and independent software testing services which headquarter in Noida, India.
Website and software development square measure the basics part of running a profitable business. In current promoting, the necessity of custom software is rise day by day. Devstringx technologies one in all the most effective custom software development company in Noida, India. Custom software may be used with none long-time investment. They are doing not need constant development to suit company necessities. You'll be able to expend the software at any time. There square measure multiple advantages of custom advantages development like- efficient, measurability, flexible, compatible, customized answer, security.
Our experienced, energetic and dedicated team of custom software developers and that we provide complete it software services with budget suited to your pockets. Our consultants recognize alright the key parameter of your business and deliver the proper results on time. We provide additional complete software testing services like functional testing services, performance testing services, Api testing services, usability testing services, content testing services, agile testing services, regression testing services, compatibility testing services, automation testing services, web application testing services in India.
We've a separate team for every field like software developers, software tester, web developer...! Our team invariably able to work and that they commit the leads to future commitment towards your company. We give higher priority to our client's satisfaction. We specialized in providing the most effective automation testing services in Noida, India.
-
- Jan 2020
-
www.budibase.com www.budibase.com
-
Your idea should stem from solving someone’s problem. Ideally, your own problem. It’s important that you choose an idea which interests you. Interest is key to fuelling motivation which is crucial when making a web app. It takes effort building web apps and it’s important you have fun during the process.
-
-
www.cleveroad.com www.cleveroad.com
-
Why Cooperate with an SAP Outsourcing Partner: Reasons, Roles, and Duties
-
-
www.rubyguides.com www.rubyguides.com
- Dec 2019
-
www.cleveroad.com www.cleveroad.com
-
All You Need to Know About Technical Due Diligence For Startups
-
-
github.com github.com
-
Using versions is a maintenance burden on the preset, and we made this mistake with Neo. By specifying a version, we are forced to track with React when their version changes, possibly falling behind.
-
-
-
However, it did require us to think differently about the creation, maintenance, and sustainment of our components moving forward — an integrative process we call "storybook-driven development."
-
- Nov 2019
-
www.youtube.com www.youtube.com
Tags
Annotators
URL
-
-
www.youtube.com www.youtube.com
-
survivejs.com survivejs.comPreface1
-
cloudfour.com cloudfour.com
Tags
Annotators
URL
-
-
medium.com medium.com
-
What does composition have to do with mocking?Everything. The essence of all software development is the process of breaking a large problem down into smaller, independent pieces (decomposition) and composing the solutions together to form an application that solves the large problem (composition).
-
-
-
Tags
Annotators
URL
-
-
kickass.partners kickass.partners
-
testingjavascript.com testingjavascript.com
-
leanpub.com leanpub.com