185 Matching Annotations
  1. Nov 2022
    1. The paradox of information systems[edit] Drummond suggests in her paper in 2008 that computer-based information systems can undermine or even destroy the organisation that they were meant to support, and it is precisely what makes them useful that makes them destructive – a phenomenon encapsulated by the Icarus Paradox.[9] For examples, a defence communication system is designed to improve efficiency by eliminating the need for meetings between military commanders who can now simply use the system to brief one another or answer to a higher authority. However, this new system becomes destructive precisely because the commanders no longer need to meet face-to-face, which consequently weakened mutual trust, thus undermining the organisation.[10] Ultimately, computer-based systems are reliable and efficient only to a point. For more complex tasks, it is recommended for organisations to focus on developing their workforce. A reason for the paradox is that rationality assumes that more is better, but intensification may be counter-productive.[11]

      From Wikipedia page on Icarus Paradox. Example of architectural design/technical debt leading to an "interest rate" that eventually collapsed the organization. How can one "pay down the principle" and not just the "compound interest"? What does that look like for this scenario? More invest in workforce retraining?

      Humans are complex, adaptive systems. Machines have a long history of being complicated, efficient (but not robust) systems. Is there a way to bridge this gap? What does an antifragile system of machines look like? Supervised learning? How do we ensure we don't fall prey to the oracle problem?

      Baskerville, R.L.; Land, F. (2004). "Socially Self-destructing Systems". The Social Study of Information and Communication Technology: Innovation, actors, contexts. Oxford: Oxford University Press. pp. 263–285

    1. @stephen@social.stephenfry.com

      This is where it starts getting ridiculous.

      First, rather than social.stephenfry.com, stephenfry.com should be sufficient. Look at email. I can set my MX records to point wherever I want. I don't actually have to have a server with A records to field the email traffic.

      Secondly, the @stephen part is superfluous, too! This is something where Mastodon et al had years (decades!) of hindsight to take care of this, and they still messed it up.

  2. Oct 2022
  3. Sep 2022
    1. Such schemas cannot easily be refactored without removing the benefits of sharing. Refactoring would require forking a local copy, which for schemas intended to be treated as an opaque validation interface with internal details that may change, eliminates the benefit of referencing a separately maintained schema in the first place.
    1. The LISP part, though, is not going well. Porting clever 1970s Stanford AI Lab macros written on the original SAIL machine to modern Common LISP is hard. Anybody with a knowledge of MACLISP want to help?
  4. Aug 2022
  5. Jun 2022
    1. Want to animate navigations between pages? You can’t (yet). Want to avoid the flash of white? You can’t, until Chrome fixes it (and it’s not perfect yet). Want to avoid re-rendering the whole page, when there’s only a small subset that actually needs to change? You can’t; it’s a “full page refresh.”

      an impedance mismatch, between what the Web is (infrastructure for building information services that follow the reference desk model—request a document, and the librarian will come back with it) versus what many Web developers want to be (traditional app developers—specifically, self-styled product designers with near 100% autonomy and creative control over the "experience")—and therefore what they want the Web browser to be (the vehicle that makes that possible, with as little effort as possible on the end of the designer–developer)

    1. Technical specs have immense benefits to everyone involved in a project: the engineers who write them, the teams that use them, even the projects that are designed off of them

      Benefits: 1. as developer, easy to solve problem 2. as team, easy to do team work 3. as Project manager, easy postmortems

  6. May 2022
    1. Because we didn’t have real marketing people, we updated the product to became more and more interesting to us, the developers, and less interesting to potential buyers.
    1. an acknowledgement of network effects: LP is unlikely to ever catch on enough to be the majority, so there needs to be a way for a random programmer using their preferred IDE/editor to edit a "literate" program

      This is part of the reason why I advocate for language skins for comparatively esoteric languages like Ada.

  7. Apr 2022
  8. Mar 2022
    1. You should link abundantly to other content. Wikipedia articles provide some of the best examples of “every page is page one” style.
  9. Jan 2022
    1. The nature of technical writing is explained in "The nature of technical writing". Technical communication is something we do every day without even noticing. Having strong communication skills is beneficial in all areas of one's life, from personal to professional. From a business standpoint, communication is key to every transaction. Communicating effectively allows others and yourself to understand information at a faster and more accurate rate. A lack of communication skills leads to frequent misunderstandings and frustration.

    2. Technical communication/writing is something that has been around for a very long time. The earliest examples belong to Aristotle and his dictionary of "philosophical terms" and his summary of the "Doctrines of Pythagoras". World War I is considered the "Golden Age" of technical writing due to advances in medicine and aerospace.

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

  10. Nov 2021
  11. dictionary.cambridge.org dictionary.cambridge.org
    1. an example of a product, especially a computer program or piece of recorded music, given or shown to someone to try to make them buy or support it: a software demo

      I prefer this to the Merriam-Webster definition.

  12. Oct 2021
    1. user n. When referring to the reader, use "you" instead of "user." For example, "The user must..." is incorrect. Use "You must..." instead. If referring to more than one user, calling the collection "users" is acceptable, such as "Other users may want to access your database."
  13. Sep 2021
    1. Do not use articles in front of product names. For example, do not write "the JBoss Enterprise Application Platform was..."
    1. Vice versa, many researchers and practitioners who are mainly interested in human-centered social constructs choose to ignore the to them often alienating world of technical systems design.
    2. human-centered aspects that predominate in community informatics, like ethics, legitimacy, empowerment, and socio-technical design
    3. socio-technical
  14. Aug 2021
    1. "Whether those slashes were forward slashes or back slashes didn't affect how the Web worked," he says, "but it does affect how other developers react to it
  15. Jun 2021
  16. May 2021
    1. Hey, I'm a PhD in [field] and do [whatever] professionally. Before calling you, I've narrowed down the problem to [something on their end], so that's what needs to be addressed. If I could speak to an engineer about [specific problem], that'd be great; but if we've gotta walk through the script, let's just knock it out quickly. If they end up requiring the script, then the best way to use your expertise is to run through it quickly. Keep the chit-chat to a minimum and just do the stuff efficiently. If they start describing how to perform some step, you might interrupt them with, "Got it, just a sec.", then let them know once you're ready for the next step.
    2. So what can you do to demonstrate your technical knowledge? Well, you are doing the right thing by using the correct technical terms. That will give an indication to the person handling the ticket. Explicitly explaining your role as the administrator or developer should also help.
    3. From experience I can say that professionals will be more forgiving if you go through things at a basic level than amateurs who have no idea what you're talking about, so people will probably err on the side of caution and not assume the customer has a high level of expertise.
  17. Apr 2021
    1. (Yes, I realize from a technical, end-user perspective this really doesn't matter.)

      The word "technical" in this sentence doesn't seem to belong or to clarify anything. I think it would be clearer without it.

      But I think I understand what he's saying, which is that technical details don't matter to the end user. They only know/see/care if it works or not.

    1. If you want to run a full fletched linux OS on the ipad an option is to jailbreak the ipad and try to install linux. This is hard because Apple does not want you to and a failed installation might render the ipad useless. Also you will not be able to run any iOS apps anymore obviously.

      new tag?: jailbreaking a device

  18. Mar 2021
    1. I consider systemd/user as a good alternative for dex's autostart functionality and switched to it recently. In particular, systemd solves the issue of dex losing control over the started processes which causes processes to live longer than the X session which could cause additional annoyances like reboots taking a lot of time because the system is waiting for the processes to terminate.
    1. Refactoring is a means of addressing the problem of software rot. It is described as the process of rewriting existing code to improve its structure without affecting its external behaviour.
  19. Feb 2021
    1. The Subprocess macro will go through all outputs of the nested activity, query their semantics and search for tracks with the same semantic.
    1. Fewer screenshots means less maintenance work. If the product changes, the screenshots must change too, to remain helpful and prevent confusion. Lots of screenshots plus frequent product changes can cost a lot of time: keeping the docs in sync with the product can become unmanageable. A middle-ground approach is using text descriptions of UI elements, like “Click the START button”, as it’s easier to keep text descriptions matching the UI. And well-designed user interfaces and UI microcopy often mean that users don’t need screenshots to find their way through the product.
  20. Jan 2021
    1. JSONP is a relic of the past and shouldn’t be used due to numerous limitations (e.g., being able to send GET requests only) and many security concerns (e.g., the server can respond with whatever JavaScript code it wants — not necessarily the one we expect — which then has access to everything in the context of the window, including localStorage and cookies).
    1. The debate about whether a button or link should be used to download a file is a bit silly, as the whole purpose of a link has always been to download content. HTML is a file, and like all other files, it needs to be retrieved from a server and downloaded before it can be presented to a user. The difference between a Photoshop file, HTML, and other understood media files, is that a browser automatically displays the latter two. If one were to link to a Photoshop .psd file, the browser would initiate a document change to render the file, likely be all like, “lol wut?” and then just initiate the OS download prompt. The confusion seems to come from developers getting super literal with the “links go places, buttons perform actions.” Yes, that is true, but links don’t actually go anywhere. They retrieve information and download it. Buttons perform actions, but they don’t inherently “get” documents. While they can be used to get data, it’s often to change state of a current document, not to retrieve and render a new one. They can get data, in regards to the functionality of forms, but it continues to be within the context of updating a web document, not downloading an individual file. Long story short, the download attribute is unique to anchor links for a reason. download augments the inherent functionality of the link retrieving data. It side steps the attempt to render the file in the browser and instead says, “You know what? I’m just going to save this for later…”
  21. Dec 2020
  22. Nov 2020
    1. this is treated as debt work for of us and that's usually tackled during the first week in the milestone (roughly the first week in the month)
  23. Oct 2020
    1. Look at their Readme:

      Well we have had a great time adding field validations, but there are validations that are tied up to the whole record we are editing than to a given field, for instance let's face this scenario:
      
      - You are not allowed to transfer more than 1000 € to Switzerland using this form (for instance: you have to go through another form where some additional documentation is required).
      
      - The best place to fire this validation is at record level.
      
      - Record validation functions accept as input parameter that whole form record info, and return the result of the validation (it accepts both flavours sync and promise based), let's check the code for this validator:
      
      ...
      
    1. And if they are a technical debt - how do measure up how much you can borrow so you can afford the repayments?
    2. debt ... which is not a straight bad thing but something that could provide some "short term financing" get us to survive the project (how many of us could afford to buy a house without taking out the mortgage?).
    3. But recently I started to think about default values as some sort of a technical debt ... which is not a straight bad thing but something that could provide some "short term financing" get us to survive the project
  24. Sep 2020
    1. Customers care more about the value our application adds to their lives than the programming language or framework the application is built with. Visible Technical Debt such as bugs and missing features and poor performance takes precedence over Hidden Technical Debt such as poor test code coverage, modularity or removing dead code
    2. In the real world — the time to pay off technical debt is scarce — in most of the time fueled by the fear of the unknown. The management loves to milk the cow but not to change the litter. The developers on another hand avoid modernizing legacy code — to avoid trouble in case anything breaks.
    3. You are in crossroad to make a big decision: keep increasing the tech debt or start the migration before it is too late.
  25. Aug 2020
  26. Jun 2020
  27. May 2020
    1. This task disables two-factor authentication (2FA) for all users that have it enabled. This can be useful if GitLab’s config/secrets.yml file has been lost and users are unable to log in, for example.
    1. AppCache was standardized in the Offline Web applications section of the HTML specification. The standard is formally referred to as application caches. New Web applications should be built around Service Workers. Existing applications that use AppCache should migrate to Service Workers. AppCache access was removed from insecure origins in M70. This intent addresses AppCache usage in secure origins.

      First and foremost, AppCache is a deprecated standard with serious architectural concerns. Second, Chrome's AppCache implementation is a security and stability liability. AppCache is documented as deprecated and under removal in MDN and in the WHATWG standard, and marked as obsolete in W3C’s HTML 5.1. It is incompatible with CORS, making it unfriendly for usage with CDNs. Overall, AppCache was changed in over 400 Chromium CLs in 2018-2019. It has imposed a tax on all of Chrome’s significant architectural efforts: Mojofication, Onion Souping, and the Network Service. The security benefits of the removal are covered under Security Risks.

    1. Though GDPR is primarily a legal challenge, a technological response was also necessary to meet the transparency and control requirements that arise as a result of GDPR implementation.
    1. 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.

    1. It would be best to offer an official way to allow installing local, unsigned extensions, and make the option configurable only by root, while also showing appropiate warnings about the potential risks of installing unsigned extensions.
    2. I know, you don't trust Mozilla but do you also not trust the developer? I absolutely do! That is the whole point of this discussion. Mozilla doesn't trust S3.Translator or jeremiahlee but I do. They blocked page-translator for pedantic reasons. Which is why I want the option to override their decision to specifically install few extensions that I'm okay with.
    3. As I see it, we've got 3 solutions in front of us currently to have in-line translation:
    4. I appreciate the vigilance, but it would be even better to actually publish a technical reasoning for why do you folks believe Firefox is above the device owner, and the root user, and why there should be no possibility through any means and configuration protections to enable users to run their own code in the release version of Firefox.
    5. It should be possible to implement the functionality of page-translator via a more popular extension that is designed to inject arbitrary data into websites, including remote code, e.g. https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ .
    6. I appreciate the vigilance, but it would be even better to actually publish a technical reasoning for why do you folks believe Firefox is above the device owner, and the root user, and why there should be no possibility through any means and configuration protections to enable users to run their own code in the release version of Firefox.
    7. We must consider introducing sensible default options in Firefox, while also educating users and allowing them to override certain features, instead of placing marginal security benefits above user liberties and free choice.
    1. To load one temporarily go to about:debugging, "This Firefox" and click "Load temporary add-on from file". More permanently: many (most?) Linux distributions allow unsigned extensions to be placed in /usr/lib/firefox/browser/extensions/ and they will automatically be loaded, provided they have valid names (e.g. dodgy@unsignedextension.com.xpi).
  28. Apr 2020
    1. Running the same code in the browser and on the server in order to avoid code duplication is a very different problem. It is simply a matter of good development practices to avoid code duplication. This however is not limited to isomorphic applications. A utility library such as Lodash is “universal”, but has nothing to do with isomorphism. Sharing code between environments does not give you an isomorphic application. What we’re referring to with Universal JavaScript is simply the fact that it is JavaScript code which is environment agnostic. It can run anywhere. In fact most JavaScript code will run fine on any JavaScript platform.
    2. Having the server render the HTML on first page load is the functional part, the thing that provides for a better user experience. The technical part is where we use the same code in both environments, which no user ever asked for, but makes a developer’s life easier (at least in theory).
    1. The result, all too often, is that we decide (often unconsciously) that the sweeping change just isn't worth it, and leave the undesirable pattern untouched for future versions of ourselves and others to grumble about, while the pattern grows more and more endemic to the code base.
  29. Mar 2020
    1. Points to Keep in Mind When You Hire Software Project Manager

      These days entrepreneurs are looking to hire a technical project manager who can manage the technical flow of their business. And we all know that project managers are a critical part of any business process. As they manage the whole flow and keep the team in a line.

  30. Feb 2020
    1. Hire Remote Technical Project Manager

      Our CTO and other Tech advisors have hands-on full-stack technologies to create seamless web and mobile applications for their clients. Get consulting over the right technology stack and development timeline for your software development needs.

  31. Jan 2020
  32. Dec 2019
    1. Do the technical administrators have to be the same people doing the social organizing? I think the answer as of June 2019 is, sadly, yes. If you have 2 people with root access to the server and 2 people managing the community aspects, you'll end up with imbalances in that group of 4. You will end up with technical administrators who feel like code monkeys who never get the gratitude that the community organizers get, or you'll end up with community organizers who feel like glorified babysitters while the techies have all the real power. You might even end up with a situation where both are true. I think that if you're dedicated to this sort of project though, you could start with something like that 2 and 2, and then the techies could teach the organizers the technical skills, and the organizers could teach the techies the organizing skills.
  33. Sep 2019
  34. Aug 2019
  35. Feb 2019
  36. Jan 2019
  37. static1.squarespace.com static1.squarespace.com
    1. Kind of the technical philosophy is everything that happens in the market is captured in the data and so any headline moves will be captured pretty much instantaneously or in a few minutes in the charts.