1,360 Matching Annotations
  1. Last 7 days
  2. Mar 2024
    1. By jumping into unfamiliar areas of code, even if you do not "solve" the bug, you can learn new areas of the code, tricks for getting up to speed quickly, and debugging techniques.

      Building a mental model of the codebase, as Jennifer Moore says over at Jennifer++:

      The fundamental task of software development is not writing out the syntax that will execute a program. The task is to build a mental model of that complex system, make sense of it, and manage it over time.

    2. Thinking about how you will observe whether things are working correctly or not ahead of time can also have a big impact on the quality of the code you write.

      YES. This feel similar to the way that TDD can also improve the code that you write, but with a broader/more comprehensive outlook.

  3. Feb 2024
    1. HOA & Community Association Management Software

      Our HOA software is a comprehensive solution for effective community management. It offers invoicing, dues collection, financial management, communication tools, an owner portal, and more!

    1. Property Management

      PropGOTO is a leading-edge real estate and property management software, offering a comprehensive, secure, and reliable solution. Developed by industry experts, our user-centric design ensures a seamless experience. With a focus on customer benefits, our innovative features streamline tasks and enhance communication. We provide best-in-class property management software with rich and exhaustive set of features, ensuring scalability for businesses of all sizes. Experience the future of property management with PropGOTO – where innovation meets reliability and user satisfaction is our priority.

      Book a Free Demo

  4. Jan 2024
    1. Using an issue tracker without them is, in my opinion, a little like using an outlining program that only supports two levels of nesting, or like using Wiki software that doesn't have the concept of reverse links. Makes me sad!
    1. Display product requirements, user flows, and design behaviors on each screen.
    2. Document what to build and how designs should behave in a central, searchable, collaborative place for the entire product team.
    1. Division of labor is an extremely mature state for a society. Aiming prematurely for it is counterproductive. Rather than try to imitate more mature domains, start from scratch and see what this domain ends up needing."
  5. Dec 2023
  6. Nov 2023
    1. 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):
    1. 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.
    1. 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.
    1. A more efficient but more complicated way to simulate perfect guessing is to guess both options simultaneously

      NB: Russ talking here about flattening the NFA into a DFA that has enough synthesized states to represent e.g. in either state A or state B. He's not talking about CPU-level concurrency. But what if he were?

    1. Staff augmentation for P2P investment platform

      Expore how software development company (Globaldev) helped a FinTech company that operates a P2P investment platform to build several R&D teams to support the company’s requirements and growth plans.

    1. Data and analytics engineers for Gentrack Logical Data Model

      Are you thinking of transforming energy and utilities sector with the world’s leading solutions​​or or even almost ready to get down to business? If so, you need a trusted software development partner for this. And it's a tough decision. Meet our client - Gentrack -leading New Zealand technology company engaged in the development, integration, and support of interactive cleantech solutions for the utility and airport industries across the globe. Now, if you are interested, take a look on how Globaldev together with Gentrack has designed and developed a completely new data and analytics layer called Gentrack Logical Data Model (GLDM) to process a wealth of data.

    1. Loan processing system with a custom admin panel

      Automation, security and performance improvements have always been markers of progress among financial institutions.

      To grow and to innovate in this field you need a reliable financial software development company. With our deep domain knowledge and strong technical base we will develop and implement advanced software solutions tailored for your business. Get more information about loan processing system with a custom admin panel.

  7. Oct 2023
    1. HTML had blown open document publishing on the internet

      ... which may have really happened, per se, but it didn't wholly incorporate (subsume/cannibalize) conventional desktop publishing, which is still in 2023 dominated by office suites (a la MS Word) or (perversely) browser-based facsimiles like Google Docs. Because the Web as it came to be used turned out to be as a sui generis medium, not exactly what TBL was aiming for, which was giving everything (everything—including every existing thing) its own URL.

    1. The RWC was developed by The Language Conservancy (TLC), an NGO dedicated to protecting around 50 Indigenous languages around the world, in order to churn out such dictionaries at super-speed. TLC, which has a $3 million budget, regularly teams up linguists with Native American language teachers to work on these dictionaries.
    2. The women are working with Rapid Word Collection (RWC) software, which uses an algorithm to search Apache text and audio databases for so-called forgotten words.
    1. Rather than dealing with the invariably convoluted process of moving my content between systems — exporting it from one, importing it into another, fixing any incompatibilities, maybe removing some things that I can’t find a way to port over — I drop my Markdown files into the new website and it mostly Just Works.

      What if you just dropped your pre-rendered static assets into the new system?

  8. Sep 2023
    1. Day One for me has created journal nirvana, in the same way that Things created multi-platform to do syncing and iA Writer perfected multi-platform text editing.
    1. For example, still not over the death of Google Reader after all these years? Why not host your own RSS aggregator like Sismics Reader that nobody can ever take away from you?
    1. there are currently no laws or 00:10:29 standards that govern how to use certain kinds of products machine learning products or AI products - and for what purpose right so there are no there's 00:10:41 there's no restrictions so we don't know if like these algorithms that are being used by law enforcement are breaking certain laws we don't know if algorithms that are being used for hiring our breaking Equal Employment Opportunity

      Here Gebru questions the common belief that law enforcement and employers are trustworthy.

    1. I'm curious: what is the reason for Yahoo discontinuing the "@ymail.com" domain?I'm aware that there's now a 2nd domain option available, "@myyahoo.com", and I recently took advantage of that to create a new address. But "@ymail.com" honestly looks more appealing to me than either of the "yahoo" iterations.
  9. Aug 2023
    1. Serializing the data with a function specialized to your data shape can be more than 10x compared with JSON.stringify.
    1. 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.

    1. Global Engineering

      Unleash the power of custom software! Hey, business owner! Tired of one-size-fits-all software solutions? It's time to go custom! At GlobalDev, we're wizards of custom software development services. We understand your unique needs and tailor software that fits like a comfy pair of sneakers. With us, you get top-notch quality and flexibility—just the way you like it!

    1. Does anyone has it’s Zettelkasten in Google Docs, Microsoft Word or Plain Tex (without a hood app like obsidian or The Archive)? .t3_15fjb97._2FCtq-QzlfuN-SwVMUZMM3 { --postTitle-VisitedLinkColor: #9b9b9b; --postTitleLink-VisitedLinkColor: #9b9b9b; --postBodyLink-VisitedLinkColor: #989898; }

      reply to u/Efficient_Earth_8773 at https://www.reddit.com/r/Zettelkasten/comments/15fjb97/does_anyone_has_its_zettelkasten_in_google_docs/

      Experimenting can be interesting. I've tried using spreadsheet software like Google Sheets or Excel which can be simple and useful methods that don't lose significant functionality. I did separate sheets for zettels, sources, and the index. Each zettel had it's own row with with a number, title, contents, and a link to a source as well as the index.

      Google Docs might be reasonably doable, but the linking portion may be one of the more difficult affordances to accomplish easily or in a very user-centric fashion. It is doable though: https://support.google.com/docs/answer/45893?hl=en&co=GENIE.Platform%3DDesktop, and one might even mix Google Docs with Google Sheets? I could see Sheets being useful for creating an index and or sources while Docs could be used for individual notes as well. It's all about affordances and ease of use. Text is a major portion of having and maintaining a zettelkasten, so by this logic anything that will allow that could potentially be used as a zettelkasten. However, it helps to think about how one will use it in practice on a day-to-day basis. How hard will it be to create links? Search it? How hard will it be when you've got thousands of "slips"? How much time will these things take as it scales up in size?

      A paper-based example: One of the reasons that many pen and paper users only write on one side of their index cards is that it saves the time of needing to take cards out and check if they do or don't have writing on the back or remembering where something is when it was written on the back of a card. It's a lot easier to tip through your collection if they're written only on the front. If you use an alternate application/software what will all these daily functions look like compounded over time? Does the software make things simpler and easier or will it make them be more difficult or take more time? And is that difficulty and time useful or not to your particular practice? Historian and author David McCullough prefers a manual typewriter over computers with keyboards specifically because it forces him to slow down and take his time. Another affordance to consider is how much or little work one may need to put into using it from a linking (or not) perspective. Using paper forces one to create a minimum of at least one link (made by the simple fact of filing it next to another) while other methods like Obsidian allow you to too easily take notes and place them into an infinitely growing pile of orphaned notes. Is it then more work to create discrete links later when you've lost the context and threads of potential arguments you might make? Will your specific method help you to regularly review through old notes? How hard will it be to mix things up for creativity's sake? How easy/difficult will it be to use your notes for writing/creating new material, if you intend to use it for that?

      Think about how and why you'd want to use it and which affordances you really want/need. Then the only way to tell is to try it out for a bit and see how one likes/doesn't like a particular method and whether or not it helps to motivate you in your work. If you don't like the look of an application and it makes you not want to use it regularly, that obviously is a deal breaker. One might also think about how difficult/easy import/export might be if they intend to hop from one application to another. Finally, switching applications every few months can be self-defeating, so beware of this potential downfall as you make what will eventually need to be your ultimate choice. Beware of shiny object syndrome or software that ceases updating in just a few years without easy export.

  10. Jul 2023
    1. To permanently disable real-time protection: Open Local Group Policy Editor (type gpedit in the search box). Go to Computer Configuration > Administrative Templates > Windows Components > Microsoft Defender Antivirus > Real-time Protection. Enable "Turn off real-time protection". Reboot.

      How to Permanently Disable Real-Time Protection

    1. I tried precompiling the JavaScript code to QuickJS bytecode (to avoid parsing overhead), but that only saved about 40 milliseconds (I guess parsing is really fast!).
    1. It costs be-tween ½ and 2 times as much to build amodule with a clean interface that iswell-designed for your system as to justwrite some code

      I believe it, but I would have liked to have seen a reference for this claim.

    2. only a small fraction of the features of each component, and your program con-sumes 10 or 100 times the hardware resources of a fully custom program, butyou write 10% or 1% of the code you would have written 30 years ago.

      You use only a small fraction of the features of each component, and your program consumes 10 or 100 times the hardware resources of a fully custom program, but you write 10% or 1% of the code you would have written 30 years ago.

    1. To me this gets to the heart of the teaching of mathematics. There are (at least) two distinct skills: The mechanical system of converting one thing to another using an array of symbols The translation system mapping those moves onto the world. We can emphasise the mechanical (the approach of most school systems) or we can emphasise the translation (the approach of Conrad Wolfram and others who argue that computers should do the calculation).

      Feels very similar to the skills required to model real-world systems in computer programs.

  11. Jun 2023
    1. Platform engineering is trying to deliver the self-service tools teams want to consume to rapidly deploy all components of software. While it may sound like a TypeScript developer would feel more empowered by writing their infrastructure in TypeScript, the reality is that it’s a significant undertaking to learn to use these tools properly when all one wants to do is create or modify a few resources for their project. This is also a common source of technical debt and fragility. Most users will probably learn the minimal amount they need to in order to make progress in their project, and oftentimes this may not be the best solution for the longevity of a codebase. These tools are straddling an awkward line that is optimized for no-one. Traditional DevOps are not software engineers and software engineers are not DevOps. By making infrastructure a software engineering problem, it puts all parties in an unfamiliar position. I am not saying no-one is capable of using these tools well. The DevOps and software engineers I’ve worked with are more than capable. This is a matter of attention. If you look at what a DevOps engineer has to deal with day-in and day-out, the nuances of TypeScript or Go will take a backseat. And conversely, the nuances of, for example, a VPC will take a backseat to a software engineer delivering a new feature. The gap that the AWS CDK and Pulumi try to bridge is not optimized for anyone and this is how we get bugs, and more dangerously, security holes.
    1. Five core layers: 1. Presentation Layer 2. Application Layer 3. Domain Layer 4. Persistence Layer 5. Database Layer

    2. 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.
    3. 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.
    1. Making a property writable adds an order of magnitude in complexity. In the real world it's definitely not realistic for every class to be immutable, but if most of your classes are, it's remarkably easier to write bug-free code. I had that revelation once and I hope to help others have it.
    1. The major use case of Reflect is to provide default forwarding behavior in Proxy handler traps. A trap is used to intercept an operation on an object — it provides a custom implementation for an object internal method. The Reflect API is used to invoke the corresponding internal method. For example, the code below creates a proxy p with a deleteProperty trap that intercepts the [[Delete]] internal method. Reflect.deleteProperty() is used to invoke the default [[Delete]] behavior on targetObject directly.
    1. 10% more or less of academic libraries in the US use an open source system after all that time. And about either 17 or 14, I'd have the number in front of me for and to public libraries are using an open source I L S

      Percentage of open source ILS in academic and public libraries

    1. This analysis will result in the form of a new knowledge-based multilingual terminological resource which is designed in order to meet the FAIR principles for Open Science and will serve, in the future, as a prototype for the development of a new software for the simplified rewriting of international legal texts relating to human rights.

      software to rewrite international legal texts relating to human rights, a well written prompt and a few examples, including the FAIR principles will let openAI's chatGPT do it effectively.

  12. May 2023
    1. If you doubt my claim that internet is broad but not deep, try this experiment. Pick any firm with a presence on the web. Measure the depth of the web at that point by simply counting the bytes in their web. Contrast this measurement with a back of the envelope estimate of the depth of information in the real firm. Include the information in their products, manuals, file cabinets, address books, notepads, databases, and in each employee's head.
    1. Incidentally, when a straightforwardly “I’m a Nazi” Nazi showed up in the beta, people used the report function, and the Bluesky team labeled the account and banned it from the Bluesky app and restricted promotion of the account of the person who invited him. This changed exactly none of the tenor of the Nazi conversation on Mastodon, but it happened.

      Now just imagine the equivalent on the scale of an entire server and you've got the story of Mastodon's incredibly centralized, swift expulsion of Gab's influence. Here's The Verge's version for the moment.

    1. 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

    1. The Web does not yet meet its design goal as being a pool of knowledge that is as easy to update as to read. That level of immediacy of knowledge sharing waits for easy-to-use hypertext editors to be generally available on most platforms. Most information has in fact passed through publishers or system managers of one sort or another.

    1. In a better world, I would have built this in a day, using some kind of modern, flexible HyperCard for iOS. In our actual world, I built it in about a week, and roughly half of that time was spent wrestling with different flavors of code-signing and identity provi­sioning and I don’t even know what. I waved some incense and threw some stones and the gods of Xcode allowed me to pass. Our actual world isn’t totally broken. I do not take for granted, not for one millisecond, the open source compo­nents and sample code that made this project possible. In the 21st century, as long as you’re operating within the bounds of the state of the art, program­ming can feel delight­fully Lego-like. All you have to do is rake your fingers through the bin.

      It's a good remainder of not taking Free Libre Open Source Software (FLOSS) as granted, as a commons we don't need to fight for in an increasing world of extractivism, expropriation and platform surveillance capitalism against the commons. So even with all the indirection and friction behind software building, delivery and modification, having FLOSS should not given for granted.

      On another note, there is already an intermediate place between hypercard and FLOSS, with pretty agile development/prototyping cycles in things like Pharo/GT. It's for the desktop, not yet into iPhone, but with betas in progress to the more more open Android ecosystem and with possibilities to run on on with PharoJS

  13. Apr 2023
    1. reinventing Google Sidewiki or similar systems in which replies exist outside of the network itself.

      I'm ashamed/bewildered to confess that I have zero recollection of Google Sidewiki... Given the medium in which I'm typing this right now - and a whole bunch of other anecdotes from my online life - I think I would have been very engaged with such a thing.

      What a Wiki page though! Thank you. Bless. Through it, I discovered the Google Toolbar Help YouTube Channel.

    1. Google allowed third parties to build their own Wave services (be it private or commercial) because it wanted the Wave protocol to replace the e-mail protocol.[2][16][17] Initially, Google was the only Wave service provider, but it was hoped that other service providers would launch their own Wave services, possibly designing their own unique web-based clients as is common with many email service providers.
    1. Twitter is a neat illustration of the problem with benevolent dictatorships: they work well, but fail badly. Because they are property — not protocols — they can change hands, and overnight, you get a new, malevolent dictator who wants to retool the system for extraction, rather than collaboration.

      Benevolent dictatorships: work well; fail badly

      Twitter is the example listed here. But I wonder about benevolent dictatorships in open source. One example: does Linus have a sound succession plan for Linux? (Can such a succession plan even be tested and adjusted?)

  14. Mar 2023
    1. Your IT Offshoring Business Partner

      Globaldev Group supports the most exciting technology companies by providing a complete set of solutions to recruit and operate their global developers teams Custom software development

    1. Desarrollar habilidades lectoras y de escritura en este tiempo de inundación de información, son habilidades claves para acceder al mundo digital

    1. Michael, thanks for mentioning keyboard shortcuts! I've added the shortcut Control-Command-M, at your suggestion. Believe it or not, it's available now in version 2.1 for Mac, which cruised through app review in 45 minutes. (The iOS version with shortcut for iPad is forthcoming.)
    1. 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

    1. 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.

  15. Feb 2023
    1. How digital solutions improve regulatory compliance: Facility documentation

      As healthcare regulations become increasingly complex, digital solutions are becoming essential tools for compliance. This recent blog post provides a comprehensive overview of how technology can streamline compliance tasks, reduce errors, and improve patient safety.

    1. What is physician credentialing in healthcare?

      Credentialing for medical providers is an indispensable requirement when working in such a high-risk industry. If you were thinking about improvinh your credentialing processes and staying ahead of the curve than this articl will for sure help you how to navigate the changing landscape of physician credentialing in healthcare.

    1. What object-oriented means

      What does the object-oriented means? Objects are models of somethings that can do certain things and have certain things done to them. Formally, an object is a collection of data and associated behaviors.

    Tags

    Annotators

    1. I’m edging towards a new book, which is pretty formless at the moment, so I need a better solution for keeping my writing ‘chunks’ organised. I started playing around with a new piece of database software called Obsidian after recording an episode about it for the On The Reg podcast with my co-host Dr Jason Downs. Obsidian makes your notes more useful by ‘linking your thinking’. Basically, any word in an Obsidian note can become a link to another note, so, over time, your notes become like your own personal wikipedia. Obsidian also makes a cool visualisation of all the links between your notes, so you can surf through them, visually. Pages are represented as nodes; pages which have a lot of incoming links become bigger in the visual graph, literally showing you where an idea is ‘growing’:

      I'm not sold on Obsidian. I think TiddlyWiki has equivalent (and more) features (albeit requiring plugins for graphing), a more robust architecture, and a more open license.

      Horses for courses I guess, but depending on Obsidian's evolution, I suspect other writers might end up looking for alternatives.

  16. Jan 2023
    1. Software should be a malleable medium, where anyone can edit their tools to better fit their personal needs. The laws of physics aren’t relevant here; all we need is to find ways to architect systems in such a way that they can be tweaked at runtime, and give everyone the tools to do so.

      It's clear that gklitt is referring to the ability of extensions to augment the browser, but: * it's not clear that he has applied the same thought process to the extension itself (which is also software, after all) * the conception of in-browser content as software tooling is likely a large reason why the perspective he endorses here is not more widespread—that content is fundamentally a copy of a particular work, in the parlance of US copyright law (which isn't terribly domain-appropriate here so much as its terminology is useful)

    1. industryWhat do physicians expect from surgical scheduling software?

      Do you want to adopt surgical scheduling software for your facility? Before going all in, learn all of its must-have features and what do physicians really expect from surgical scheduling software.

    1. Singapore’s First-Rate Payroll Software Payroll software Singapore Hectic payroll periods? Multiple pay runs? Simplify and streamline your payroll process with QuickHR’s holistic payroll software! Never miss a pay date, no matter the number of pay runs you need.

    1. Deploy engines as separate app instances and have them only communicate over network boundaries. This is something we’re starting to do more.

      Before moving to this microservice approach, it's important to consider whether the benefits are worth the extra overhead. Jumping to microservices prematurely is something I've seen happen more than once in my career, and it often leads to a lot of rework.

    1. Data Viz with Python and RLearn to Make Plots in Python and R

      data viz with python and R

  17. Dec 2022
    1. Web and mobile apps, SPAs, and SAAS products with thoughtful UX and robust implementation.
    1. It feels weird to say this in 2020, when the idea was presented as fait accompli in 1997, but an enabling open source software movement would operate more like a bazaar than a cathedral. There wouldn’t be an “upstream”, there would be different people who all had the version of the software that worked best for them. It would be easy to evaluate, compare, combine and modify versions, so that the version you end up with is the one that works best for you, too.
    1. I assume that the goal of synchronizing timestamps is so that the primary record and its Version can be correlated by future reporting queries. I've always thought this is an odd feature, given that said correlation can be more reliably and performantly achieved by use of the foreign key (item_id). So, I'd like to suggest that we add an option to disable this feature. For the new option's name, I'll suggest synchronize_version_creation_timestamp. It would be true by default. has_paper_trail(synchronize_version_creation_timestamp: false) I'm open to disabling this feature by default, in a future major release, after a reasonable deprecation period.
    1. In today's fiercely competitive environment, creating software or an application that satisfies specific business requirements is essential for survival. The process of conceptualizing, designing, constructing, and deploying software for a particular person or person or group of people within an organization or as a third-party arrangement is referred to as custom software development services.

    2. In accordance with this, the shift to the digital sphere for conducting business has made custom software development more than just a luxury. Customers receive a special experience from it that gives them an advantage over rival businesses. It also aids in identifying the customer's pain points so that needs can be better met and aids in forecasting future demands.

    3. A custom software development company named 10decoders offers high-quality, personalized software solutions for the mobile and web platforms. Our in-house development teams create, develop, deploy, and maintain software with a predetermined set of requirements in mind.

    1. While you might think that pairing less experienced engineers is a waste of time, every single time I had a less experienced engineer work by themselves, I ended up regretting it.

      This has been my experience this year

    1. If you write an algorithm in a straightforward way in Node, you can expect it to run about as fast as if you write it in a vectorized way using Numpy, or twenty times as fast as if you write it in a straightforward way in CPython.
  18. Nov 2022
    1. 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.

    1. Amiga had "AREXX ports" which meant you could script desktop software together in ways not possible even today, on any OS.It's not enough that there must exist technically, a possibility. The app vendors much themselves go to the trouble of adding such "scriptability" into their apps.Instead everything is very slick, but very siloed and nowadays tied to a cloud offering, which is great, but it's more often than not locked to that vendor

      .

    1. 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/
    1. 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

    2. 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

    1. You can also go to the Ruby OAuth Client Library to download the source code and run: 1gem build intuit-oauth.gemspec to build your own gem if you want to modify certain functions in the library.
    1. 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.

    1. 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

    2. 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.
    3. 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.

    4. To run the backend test suite only call tox directly

      Probably means, "Call tox directly if you only want to run the backend test suite."

    1. I've been told since the first day I started working at the Division of Hospital Medicine at @UCSF that my work doesn't bring in $ to cover my salary. It's a narrative of manufactured scarcity, a common tactic in capitalism. The CEO is making $1.85 million plus bonuses.

      — Rupa Marya, MD (@DrRupaMarya) November 4, 2022
      <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

      A Hospitalist’s economic value is in what we *save* the system in terms of quality-driven care and patient throughput (DC/unit time), not in how much we bring in through profees. Because of how the system is structured, you’ll only see our value when we aren’t there.

      — Rupa Marya, MD (@DrRupaMarya) November 4, 2022
      <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

      This sounds a lot like hospitalists fall under David Graeber's thesis in Bullshit Jobs that the more necessary and useful you are the less you're likely to get paid and be valued.


      I suspect the ability to track an employees' direct level of productivity also fits into this thesis. One can track the productivity of an Amazon warehouse worker or driver, but it's much more difficult to track the CEOs direct productivity.

    1. Rust lets us explicitly state our desires to the compiler

      This is the key. It follows that the same results, then, could be seen if we devised a way to communicate the same desires to the machine when we're dealing with JS. (My preferred thought experiment: imagine a docs/ directory in the repo where these sorts of things are documented for the benefit of other programmers—alongside any other rationale that you would naturally hope to communicate as well—and that the computer itself were made to be able to read and act upon the very same documentation to guide its behavior.) See http://cr.yp.to/qhasm/literature.html

  19. Oct 2022
    1. @route @twalpole as a community I think we're super grateful for your work on a CDP alternative to chromedriver/selenium, poltergeist etc. I do think collaboration could be very valuable though, although it would likely mean abandoning one of the projects and teaming up on the other, you both obviously have very deep knowledge of CDP and therefore would get a load more done than any of us "end users" trying to wade in there. The status for us on our Rails project is that Apparition fails with a ton of errors, they all seem related to handling timing events (accept_prompt doesn't work, opening new windows seems problematic etc etc etc) whereas Cuprite only rails with a cookie gem we're using (easy fixed) and doesn't support drag_to yet. So to me Cuprite seems more complete, but I don't know much about the internals.
    2. As both projects are written by 2 different people independently there's huge difference in the code. I don't think I have time or wish to merge them because it's huge amount of work. The common thing between them is only CDP that's all. Though Cuprite is already stable and supports all features that Capybara requires, we run tests and do many cools things with it in production.
    3. As a history mark, when back then I asked Thomas if he started to work on CDP, he said yes but never finished it, so I started this project from scratch which by now feels completed. After releasing it I only yesterday realized that he open-sourced his project and keeps working on it. I think it just feels hard to throw everything you have written to trash, but I wasn't proposed at the beginning to work together on common project and this is the reason Cuprite had began. Though since this project is completed I see no sense to work on something else especially for me, the only difference would be in Ruby implementation which is boring as you can do things in a different manner and CDP has issues too so the difference could be only how we workaround them.
    4. And yeah, you two should probably gang up :)
    5. what is the difference? and why do you write it from scratch?
    6. Haven't really looked through your code, so not sure what the difference is - I would guess not too much. I told you about my version when we were discussing the issues you were having on cuprite -- It was 70+ percent done so I released it and finished up most of the rest. I guess one difference is that you appear to be aiming at bleeding edge Chromium, whereas I'm more focused on things working on Chrome release since I think that's more important for people to test with (no customer is going to be running Chromium alpha).
    7. I also was surprised to see 2 "kind of similar" new drivers both targeting CDP I wonder if joining forces ultimately would be a good idea?
    1. @1:10:20

      With HTML you have, broadly speaking, an experience and you have content and CSS and a browser and a server and it all comes together at a particular moment in time, and the end user sitting at a desktop or holding their phone they get to see something. That includes dynamic content, or an ad was served, or whatever it is—it's an experience. PDF on the otherhand is a record. It persists, and I can share it with you. I can deliver it to you [...]

      NB: I agree with the distinction being made here, but I disagree that the former description is inherent to HTML. It's not inherent to anything, really, so much as it is emergent—the result of people acting as if they're dealing in live systems when they shouldn't.

    1. Breitenbach, H. P. “The Card Index for Teachers.” The School Review 20, no. 4 (1912): 271–72.


      Apparently in 1912, the card index was little known to teachers... this isn't the sort of use case I was expecting here...

      The general gist of this short note is an encouraging one to suggest that instead of traditional grade books, which are still used heavily in 2022, teachers should use rolodex like cards for keeping attendance and notes on a student's progress.

      Presumably this never caught on. While some elementary teachers still use older paper gradebooks, many others have transferred to digital LMS platforms.

    1. On January 27, 2010, at a special press event billed as "Come see our latest creation," Steve Jobs unveiled the iPad.

      Fuck. I forgot the iPad and I have the same goddamned birthday.

  20. Sep 2022