177 Matching Annotations
  1. Jun 2024
    1. The challenge with previous generations of tech—and the engineers who built them—is that they got stuck in the rigidity of systems.
  2. May 2024
    1. you may never change it back just as we 00:34:52 may not change back genetic manipulation we might do in in the germline which is a reason we should be very cautious about doing it

      for - progress trap - genetic engineering - Denis Noble

    1. We have always done geo-engineering, from the prairies of Native Americans to European forests, from Indian to Chinese rice fields. Now that we can no longer deny our impact and the responsibility it entails, it’s time to open our eyes and consciously do geo-engineering.

      This is odd. 'we have alway done geo-engineering in the sense that we had large scale negative impacts on the globe' unintentionally, so let's do it more and with more focused intention. The leap here is not in geo-engineering David, the leap is in thinking you are capable of seeing it through without externalisation. With a guy that says you can engineer yourself out of complex issues....

  3. Apr 2024
    1. Getting hooked on computers is easy—almost anybody can make a program work, just as almost anybody can nail two pieces of wood together in a few tries. The trouble is that the market for two pieces of wood nailed together—inexpertly—is fairly small outside of the "proud grandfather" segment, and getting from there to a decent set of chairs or fitted cupboards takes talent, practice, and education.

      This is a great analogy

    2. the Peter Principle, the idea that in an organization where promotion is based on achievement, success, and merit, that organization's members will eventually be promoted beyond their level of ability

      Applying the principle to software, you will find that you need three different versions of the make program, a macroprocessor, an assembler, and many other interesting packages. At the bottom of the food chain, so to speak, is libtool, which tries to hide the fact that there is no standardized way to build a shared library in Unix. Instead of standardizing how to do that across all Unixen the Peter Principle was applied and made it libtool's job instead.

    1. This is not a discrete project but an ongoing process and should always be competing for focus in strategic decision making.

      Absolutely agreed. One limitation of the Iron Triangle concept is that it often seems to be used to make decisions based on a snapshot in time (i.e. which two are we choosing now), when some choices have longer half-lives than others.

  4. Mar 2024
    1. whoever came up with Apple's property list format didn't really understand how XML and/or SGML-like tags actually worked. Does it make sense to you that p-lists have stuff like <key>WebResourceData</key> instead of simply just <WebResourceData> ? It's like they were confused
    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.

  5. Feb 2024
    1. 3:00 "and its long..." -- yeah, i have a 3MB obfuscated webapp at boxy-svg.com/app<br /> 3:05 "what would you do?" -- semi-automatic dynamic analysis. rename symbols. eval function calls. interact with the webapp (hence "semi" automatic). trace data in the debugger.<br /> but im still looking for a tool to do that for me... : P<br /> most tools fail on large files, or ESM (import, export) ...<br /> my current favorite is https://github.com/j4k0xb/webcrack and https://github.com/pionxzh/wakaru -- at least it works with ESM

    2. 3:15 My technique would be to copy it, paste it on stackoverflow and ask if someone knows what it does.

      in south america, they would find the original author, drug him with scopolamine, and make him give out the original source code : D aka social engineering<br /> they use this method to steal crypto from wealthy smart asses, who believe their money is "safe"

      similar to the $5 wrench in the "security" xkcd https://xkcd.com/538/

      see also<br /> https://www.youtube.com/watch?v=XJwU8Hiq4HM<br /> Careful with the New Crime Wave of Latin America

      1:42<br /> Scopolamine is a drug<br /> that basically makes you into a little slave, into a little servant,<br /> and you'll do whatever the attacker wants.

  6. Dec 2023
    1. “Let me know if you have any more questions,”

      Here's one: "But why?" In other words, "What problem does this solve?"

    1. The most important takeaway from exposing these myths is that productivity cannot be reduced to a single dimension (or metric!). The prevalence of these myths and the need to bust them motivated our work to develop a practical multidimensional framework, because only by examining a constellation of metrics in tension can we understand and influence developer productivity. This framework, called SPACE, captures the most important dimensions of developer productivity: satisfaction and well-being; performance; activity; communication and collaboration; and efficiency and flow

      A good thing about this framework is that while it's intended to measure productivity in a more objective manner, it doesn't eschew subjective dimensions like satisfaction and well-being, which are largely personal and self-reported

  7. Nov 2023
  8. Oct 2023
  9. Sep 2023
    1. 1: Why Do We Need Something Different? Doi: https://doi.org/10.7551/mitpress/8179.003.0004 Open the PDF Link PDF for 1: Why Do We Need Something Different? in another window 2: Questioning the Foundations of Traditional Safety Engineering Doi: https://doi.org/10.7551/mitpress/8179.003.0005 Open the PDF Link PDF for 2: Questioning the Foundations of Traditional Safety Engineering in another window 3: Systems Theory and Its Relationship to Safety Doi: https://doi.org/10.7551/mitpress/8179.003.0006 Open the PDF Link PDF for 3: Systems Theory and Its Relationship to Safety in another window II: STAMP: An Accident Model Based On Systems Theory [ Opening ] Doi: https://doi.org/10.7551/mitpress/8179.003.0029 Open the PDF Link PDF for [ Opening ] in another window 4: A Systems-Theoretic View of Causality Doi: https://doi.org/10.7551/mitpress/8179.003.0008 Open the PDF Link PDF for 4: A Systems-Theoretic View of Causality in another window 5: A Friendly Fire Accident Doi: https://doi.org/10.7551/mitpress/8179.003.0009 Open the PDF Link PDF for 5: A Friendly Fire Accident in another window III: Using STAMP [ Opening ] Doi: https://doi.org/10.7551/mitpress/8179.003.0030 Open the PDF Link PDF for [ Opening ] in another window 6: Engineering and Operating Safer Systems Using STAMP Doi: https://doi.org/10.7551/mitpress/8179.003.0011 Open the PDF Link PDF for 6: Engineering and Operating Safer Systems Using STAMP in another window 7: Fundamentals Doi: https://doi.org/10.7551/mitpress/8179.003.0012 Open the PDF Link PDF for 7: Fundamentals in another window 8: STPA: A New Hazard Analysis Technique Doi: https://doi.org/10.7551/mitpress/8179.003.0013 Open the PDF Link PDF for 8: STPA: A New Hazard Analysis Technique in another window 9: Safety-Guided Design Doi: https://doi.org/10.7551/mitpress/8179.003.0014 Open the PDF Link PDF for 9: Safety-Guided Design in another window 10: Integrating Safety into System Engineering Doi: https://doi.org/10.7551/mitpress/8179.003.0015 Open the PDF Link PDF for 10: Integrating Safety into System Engineering in another window 11: Analyzing Accidents and Incidents (CAST) Doi: https://doi.org/10.7551/mitpress/8179.003.0016 Open the PDF Link PDF for 11: Analyzing Accidents and Incidents (CAST) in another window 12: Controlling Safety during Operations Doi: https://doi.org/10.7551/mitpress/8179.003.0017 Open the PDF Link PDF for 12: Controlling Safety during Operations in another window 13: Managing Safety and the Safety Culture Doi: https://doi.org/10.7551/mitpress/8179.003.0018 Open the PDF Link PDF for 13: Managing Safety and the Safety Culture in another window 14: SUBSAFE: An Example of a Successful Safety Program Doi: https://doi.org/10.7551/mitpress/8179.003.0019 Open the PDF Link PDF for 14: SUBSAFE: An Example of a Successful Safety Program in another window Epilogue Doi: https://doi.org/10.7551/mitpress/8179.003.0020 Open the PDF Link PDF for Epilogue in another window Appendixes A: Definitions Doi: https://doi.org/10.7551/mitpress/8179.003.0022 Open the PDF Link PDF for A: Definitions in another window B: The Loss of a Satellite Doi: https://doi.org/10.7551/mitpress/8179.003.0023 Open the PDF Link PDF for B: The Loss of a Satellite in another window C: A Bacterial Contamination of a Public Water Supply Doi: https://doi.org/10.7551/mitpress/8179.003.0024 Open the PDF Link PDF for C: A Bacterial Contamination of a Public Water Supply in another window D: A Brief Introduction to System Dynamics Modeling Doi: https://doi.org/10.7551/mitpress/8179.003.0025 Open the PDF Link PDF for D: A Brief Introduction to System Dynamics Modeling in another window References Doi: https://doi.org/10.7551/mitpress/8179.003.0026 Open the PDF Link PDF for References in another window Index Doi: https://doi.org/10.7551/mitpress/8179.003.0027 Open the PDF Link PDF

      Great resources here

    1. synthetic bioengineering provides a really astronomically large option space for new bodies and new minds that don't have 00:04:28 standard evolutionary backstories
      • for: cultural evolution, cumulative cultural evolution, CCE, bioengineering, novel life form, culturally evolved life, bioethics, progress trap, progress trap - bioengineering, progress trap - genetic engineering
      • comment
        • cultural evolution, which itself emerges from biological evolution is acting upon itself to create new life forms that have no evolutionary backstory
        • this is tantamount to playing God
        • progress traps often emerge out of the large speed mismatch between cultural and biological/genetic evolution.
        • Nowhere is this more profound than in bioengineering of new forms of life with no evolutionary history
        • This presents profound ethical challenges
    1. For example, productivity and satisfaction are correlated, and it is possible that satisfaction could serve as a leading indicator for productivity; a decline in satisfaction and engagement could signal upcoming burnout and reduced productivity.

      Certainly not necessarily true - the correlation is mostly heuristic. I can be highly productive but dissatisfied that the productive work doesn't have value.

    2. • Design and coding. Volume or count of design documents and specs, work items, pull requests, commits, and code reviews. • Continuous integration and deployment. Count of build, test, deployment/release, and infrastructure utilization. • Operational activity. Count or volume of incidents/issues and distribution based on their severities, on-call participation, and incident mitigation.

      Honestly, a well-oiled team with strong collaboration completely outweighs any measured outputs like this. I would never want my engineers faced with performance observability like this.

    3. The SPACE framework provides a way to logically and systematically think about productivity in a much bigger space and to carefully choose balanced metrics linked to goals—and how they may be limited if used alone or in the wrong context.

      Not sure I would classify this as logical but systematic makes sense - definitely trying to put heuristic dimensions on typically unquantifiable and varied human behaviors. Clearly, this is biased to process experts and program managerial personality types that like trying to frame things into organized buckets.

  10. Aug 2023
    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. engineering blogs focus on problems where the solution is a necessary but not sufficient part of what they do. And, ideally, they focus on problems that are complementary to scale that only the publisher of that post has.

      Core reason why companies have their engineering blogs

  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.
  12. May 2023
  13. Mar 2023
    1. But the researchers quickly realized that a model’s complexity wasn’t the only driving factor. Some unexpected abilities could be coaxed out of smaller models with fewer parameters — or trained on smaller data sets — if the data was of sufficiently high quality. In addition, how a query was worded influenced the accuracy of the model’s response.

      Influence of data quality and better prompts

      Models with fewer parameters show better abilities when they trained with better data and had a quality prompt. Improvements to the prompt, including "chain-of-the-thought reasoning" where the model can explain how it reached an answer, improved the results of BIG-bench testing.

    1. Civil engineers are responsible for developing and creating infrastructure such as roads, bridges, buildings, and water supply systems, as well as resolving environmental and sustainability challenges.
    1. prompt engineer. His role involves creating and refining the text prompts people type into the AI in hopes of coaxing from it the optimal result. Unlike traditional coders, prompt engineers program in prose, sending commands written in plain text to the AI systems, which then do the actual work.

      Summary of prompt engineer work

  14. Feb 2023
    1. Before deciding to get a bachelor’s or master’s degree in engineering, it is wise to become acquainted with the curriculum. These programs may put you on the path to a prosperous profession and payoff in more ways than one.
    1. Aptera is trying to "disrupt" conventional automotive engineering. We need that. Sincerest good luck to them. They're also clearly left-leaning, progressive, and not bound by conventional economics. Could pass this around to my classes.

    2. In my most recent field (software), the engineer is placated with the delusion that the purpose is to give the customer what ey wants, whether that solves the customer’s problem or not. This is a lazy sort of self-imposed servitude that entirely avoids the actual purpose of engineering.

      One reason why software engineering isn't "real" engineering: no ethical obligation to "the public good".

    1. Including a prompt prefix in the chain-of-thought style encourages the model to generatefollow-on sequences in the same style, which isto say comprising a series of explicit reasoningsteps that lead to the final answer. This abilityto learn a general pattern from a few examples ina prompt prefix, and to complete sequences in away that conforms to that pattern, is sometimescalled in-context learning or few-shot prompt-ing. Chain-of-thought prompting showcases thisemergent property of large language model at itsmost striking.

      Emulating deductive reasoning with prompt engineering

      I think "emulating deductive reasoning" is the correct shorthand here.

    2. Dialogue is just one application of LLMs thatcan be facilitated by the judicious use of promptprefixes. In a similar way, LLMs can be adaptedto perform numerous tasks without further train-ing (Brown et al., 2020). This has led to a wholenew category of AI research, namely prompt en-gineering, which will remain relevant until wehave better models of the relationship betweenwhat we say and what we want.

      Prompt engineering

    3. In the background, the LLM is invisiblyprompted with a prefix along the following lines.

      Pre-work to make the LLM conversational

  15. Jan 2023
    1. In the near future, we will be in possession of genetic engineering technology which allows us to move genes precisely and massively from one species to another. Careless or commercially driven use of this technology could make the concept of species meaningless, mixing up populations and mating systems so that much of the individuality of species would be lost. Cultural evolution gave us the power to do this. To preserve our wildlife as nature evolved it, the machinery of biological evolution must be protected from the homogenizing effects of cultural evolution.

      !- Progress trap : genetic engineering - careless use of genetic engineering will interfere with biological evolution

    2. In the near future, we will be in possession of genetic engineering technology which allows us to move genes precisely and massively from one species to another. Careless or commercially driven use of this technology could make the concept of species meaningless, mixing up populations and mating systems so that much of the individuality of species would be lost. Cultural evolution gave us the power to do this. To preserve our wildlife as nature evolved it, the machinery of biological evolution must be protected from the homogenizing effects of cultural evolution.

      !- genetic engineering : risk - cultural evolution via genetic engineering could make the concept of species meaningless - it is a significant b potential progress traps

    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. I always allocate a year: six months to get up to speed on the internal culture, tools, and processes; another six months to get your first performance review as a “ramped-up” engineer.
  16. Dec 2022
    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. L’ingénierie est un processus structuré et méthodique qui permet de passer de besoins opérationnels à la mise en œuvre d’une solution.

      Ingénierie: - Méthode, structure, processus - Pas des besoins à une solution

      C'est cela que je n'ai pas saisi en discutant avec les universités françaises

    2. Cela correspondrait à ne pas faire le travail d’ingénierie, car il n’y aurait pas eu d’analyse.

      L'ingénierie nécessite une analyse avant de poser des solutions

  17. Nov 2022
    1. One example could be putting all files into an Amazon S3 bucket. It’s versatile, cheap and integrates with many technologies. If you are using Redshift for your data warehouse, it has great integration with that too.

      Essentially the raw data needs to be vaguely homogenised and put into a single place

    1. It took me a while to grok where dbt comes in the stack but now that I (think) I have it, it makes a lot of sense. I can also see why, with my background, I had trouble doing so. Just as Apache Kafka isn’t easily explained as simply another database, another message queue, etc, dbt isn’t just another Informatica, another Oracle Data Integrator. It’s not about ETL or ELT - it’s about T alone. With that understood, things slot into place. This isn’t just my take on it either - dbt themselves call it out on their blog:

      Also - just because their "pricing" page caught me off guard and their website isn't that clear (until you click through to the technical docs) - I thought it's worth calling out that DBT appears to be an open-core platform. They have a SaaS offering and also an open source python command-line tool - it seems that these articles are about the latter

    2. Working with the raw data has lots of benefits, since at the point of ingest you don’t know all of the possible uses for the data. If you rationalise that data down to just the set of fields and/or aggregate it up to fit just a specific use case then you lose the fidelity of the data that could be useful elsewhere. This is one of the premises and benefits of a data lake done well.

      absolutely right - there's also a data provenance angle here - it is useful to be able to point to a data point that is 5 or 6 transformations from the raw input and be able to say "yes I know exactly where this came from, here are all the steps that came before"

    1. Continuous remote monitoring of COPD patients—justificationand explanation of the requirements and a surveyof the available technologies

      Continuous remote monitoring of COPD patients—justification and explanation of the requirements and a survey of the available technologies

    Tags

    Annotators

    1. it was clear that the European and US competitors werebenefiting from these changes to the curriculum in advances in commerce, inindustry, and even on the battlefield.

      Compulsory education and changes in curriculum in the United States and some of it's competitors in the late 19th century clearly benefitted advances in commerce, industry, and became a factor in national security.

  18. Sep 2022
    1. There has been much discussion about “atomic notes”, which represents the key ideas from a person’s research on some topic or source (sources one and two). These are not the kind of thing I am interested in creating/collecting, or at least not what I have been doing. A far more typical thing for me is something I did at work today. I was trying to figure out how to convert the output of a program into another format. I did some searching, installed a tool, found a script, played with the script in the tool, figured out how to use it, then wrote down a summary of my steps and added links to what I found in my search. Since I am not doing research for a book or for writing academic papers, the idea of an atomic note does not fit into my information world. However, capturing the steps of a discovery or how I worked out a problem. is very real and concrete to me. I used to know a fellow engineer who wrote “technical notes” to capture work he was doing (like a journal entry). Maybe that is how I should consider this type of knowledge creation. 

      Andy Sylvester says his engineering type of notes don't fit with the concept of atomic note. A 'how to solve x' type of note would fit my working def of 'atomic' as being a self-contained whole, focused on a single thing (here how to solve x). If the summary can be its title I'd say it's pretty atomic. Interestingly in [[Technik des wissenschaflichen Arbeitens by Johannes Erich Heyde]] 1970, Heyde on p18 explicitly mentions ZK being useful for engineers, not just to process new scientific insights from e.g. articles, but to index specific experiences, experiments and results. And on p19 suggests using 1 ZK system for all of your material of various types. Luhmann's might have been geared to writing articles, but it can be something else. Solving problems is also output. I have these types of notes in my 'ZK' if not in the conceptual section of it.

      Vgl [[Ambachtelijke engineering 20190715143342]] artisanal engineering, Lovelock Novacene 2019, plays a role here too. Keeping a know-how notes collection in an environment where also your intuition can play a creative role is useful. I've done this for coding things, as I saw experienced coders do it, just as Andy describes, and it helped me create most of my personal IndieWeb scripts, because they were integrated in the rest of my stuff about my work and notions. Vgl [[Vastklik notes als ratchet zonder terugval 20220302102702]]

  19. Aug 2022
    1. A good layperson's overview of one effort to increase cloud albedo to counteract climate change. I think that lowering insolation is somehow missing the point of combatting climate change, but it's a legitimate approach that still needs a lot of research.

      What's particularly good about this article is how it manages to demonstrate how complex the problem is without smothering the reader in technobabble.

  20. Jul 2022
    1. The major benefit of foreign keys is that they guarantee referential integrity. For example, say you have customers in one table that may refer to a number of invoices in another. Without foreign keys, you could delete a customer, but forget to remove its invoices, thereby leaving a bunch of orphaned invoices that reference an customer that’s gone.

      Note that GH doesn't use FK (at least back in 2016) https://github.com/github/gh-ost/issues/331#issuecomment-266027731 due to: * MySQL doesn't support it on partitioned tables * Performance impact. * FKs don't work well with online schema migrations

      From Postgres has foreign keys to be fully compatible with partitioned tables since 12. But still it's not that commonly used for larger DBs.

    2. If an operator ever queries the database directly they’re even more likely to forget deleted_at because normally the ORM does the work for them.

      This happens relatively often, especially for 1) engineers that run SQL queries directly against the DB for analysis or triaging production issues, and 2) data scientists that do not use the same programming language as the enginners

    1. At the same time, like Harold, I’ve realised that it is important to do things, to keep blogging and writing in this space. Not because of its sheer brilliance, but because most of it will be crap, and brilliance will only occur once in a while. You need to produce lots of stuff to increase the likelihood of hitting on something worthwile. Of course that very much feeds the imposter cycle, but it’s the only way. Getting back into a more intensive blogging habit 18 months ago, has helped me explore more and better. Because most of what I blog here isn’t very meaningful, but needs to be gotten out of the way, or helps build towards, scaffolding towards something with more meaning.

      Many people treat their blogging practice as an experimental thought space. They try out new ideas, explore a small space, attempt to come to understanding, connect new ideas to their existing ideas.


      Ton Zylstra coins/uses the phrase "metablogging" to think about his blogging practice as an evolving thought space.


      How can we better distill down these sorts of longer ideas and use them to create more collisions between ideas to create new an innovative ideas? What forms might this take?

      The personal zettelkasten is a more concentrated form of this and blogging is certainly within the space as are the somewhat more nascent digital gardens. What would some intermediary "idea crucible" between these forms look like in public that has a simple but compelling interface. How much storytelling and contextualization is needed or not needed to make such points?

      Is there a better space for progressive summarization here so that an idea can be more fully laid out and explored? Then once the actual structure is built, the scaffolding can be pulled down and only the idea remains.

      Reminiscences of scaffolding can be helpful for creating context.

      Consider the pyramids of Giza and the need to reverse engineer how they were built. Once the scaffolding has been taken down and history forgets the methods, it's not always obvious what the original context for objects were, how they were made, what they were used for. Progressive summarization may potentially fall prey to these effects as well.

      How might we create a "contextual medium" which is more permanently attached to ideas or objects to help prevent context collapse?

      How would this be applied in reverse to better understand sites like Stonehenge or the hundreds of other stone circles, wood circles, and standing stones we see throughout history.

  21. Jun 2022
  22. May 2022
    1. Robert Fenton, Electrical and Computer Engineering Professor Emeritus, pioneered the technology for the first wave of self-driving cars.

      I had Fenton for a class once and during a lecture he asked a question of the class. A student raised his hand and answered. Professor Fenton listened and asked the class "Does anyone else agree that his answer is correct?"

      About 85% of the students in the large lecture hall raised their hands.

      He paused, shook his head, and said "Well, then I'm afraid you're all going to fail." Then he turned around and went back to writing on the chalkboard.

  23. Apr 2022
    1. Much of this sort of information was later reverse-engineered, and cross-browser support for basic operations is actually quite good. (Browsers still vary widely on the details.)
    2. Reverse-engineering and standardizing contentEditable
    1. three steps required to solve the all-importantcorrespondence problem. Step one, according to Shenkar: specify one’s ownproblem and identify an analogous problem that has been solved successfully.Step two: rigorously analyze why the solution is successful. Jobs and hisengineers at Apple’s headquarters in Cupertino, California, immediately got towork deconstructing the marvels they’d seen at the Xerox facility. Soon theywere on to the third and most challenging step: identify how one’s owncircumstances differ, then figure out how to adapt the original solution to thenew setting.

      Oded Shenkar's three step process for effective problem solving using imitation: - Step 1. Specify your problem and identify an analogous problem that has been successfully solved. - Step 2. Analyze why the solution was successful. - Step 3. Identify how your problem and circumstances differ from the example problem and figure out how to best and most appropriately adapt the original solution to the new context.

      The last step may be the most difficult.


      The IndieWeb broadly uses the idea of imitation to work on and solve a variety of different web design problems. By focusing on imitation they dramatically decrease the work and effort involved in building a website. The work involved in creating new innovative solutions even in their space has been much harder, but there, they imitate others in breaking the problems down into the smallest constituent parts and getting things working there.


      Link this to the idea of "leading by example".

      Link to "reinventing the wheel" -- the difficulty of innovation can be more clearly seen in the process of people reinventing the wheel for themselves when they might have simply imitated a more refined idea. Searching the state space of potential solutions can be an arduous task.

      Link to "paving cow paths", which is a part of formalizing or crystalizing pre-tested solutions.

    1. innovation can result in trade-offs that undermine both progress on mitigation and 12 progress towards other sustainable development goals

      Broader impacts of engineering. Requires full scope considersation.

  24. Feb 2022
    1. https://www.scientificamerican.com/article/an-ancient-greek-astronomical-calculation-machine-reveals-new-secrets/

      Overview and history of the Antikythera mechanism and the current state of research surrounding it.

      Antikythera mechanism found in diving expedition in 1900 by Elias Stadiatis. It was later dated between 60 and 70 BCE, but evidence suggests it may have been made around 205 BCE.

      Functions

      One of the primary purposes of the device was to predict the positions of the planets along the ecliptic, the plane of the solar system.

      The device was also used to track the positions of the sun and moon. This included the moon's phase, position and age (the number of days from a new moon). It also included the predictions of eclipses.

      Used to track the motions of the 5 known planets including 289 synodic cycles in 462 years for Venus and 427 synodic cycles in 442 years for Saturn.

      Risings and settings of stars indexed to a zodiac dial

      Definitions

      metonic cycle, a 19-year period over which 235 moon phases recur; named after Greek astronomer Meton, but discovered much earlier by the Babylonians. The Greeks refined it to a 76 year period.

      saros cycle, the 223 month lunar cycle which was used by the Babylonians to predict eclipses. A dial on the Antikythera mechanism was used to predict the dates of the solar and lunar eclipses using this cycle.

      synodic events: conjunctions with the sun and its stationary points

      People

      Archimedes - potentially the designer of an early version of the Antikythera mechanism

      Elias Stadiatis - diver who discovered the Antikythera mechanism

      Albert Rehm - German philologist who the numbers 19, 76 and 223 inscribed on fragments of the device in the early 1900s

      Derek J. de Solla Price, published Gears from the Greeks in 1974. Identified the gear train and developed a complete model of the gearing.

      Michael Wright - 3D x-ray study in 1990 using linear tomography; identified tooth counts of the gears and understood the upper dial on the back of the device

      Tony Freeth - author of article and researcher whose made recent discoveries.

    2. It was not until the 14th century that scientists created the first sophisticated astronomical clocks.
    3. the first precision-geared mechanism known is a relatively simple—yet impressive for the time—geared sundial and calendar of Byzantine origin dating to about C.E. 600.

      The first known precision-geared mechanism is a sundial and calendar of Byzantine origin dating to circa 600 C.E.

  25. Jan 2022
    1. In comparison, the average household energy use for gas heating in Belgium – which has a moderate climate – is 20,000 kWh per year. Assuming that the average Belgian heating system is used for six months per year, daily energy use corresponds to 109.6 kWh per day. This energy could heat roughly 900 water bottles per day – enough to keep the whole neighbourhood comfortable.

      Nice calculations about energy consumption at a personal level (110kWh/day).

    1. Graham Allison and Niall Ferguson have called for an “applied history” movement, to better draw lessons from history and apply them to real-world problems, including through the advising of political leaders.

      What about applied anthropology as well?

      Knowledge of progress doesn't mean that it will be applied properly (at all) as the result of politics. This is one of the areas where applied anthropology would be interesting. Its also where a larger group determination of progress is important.

    1. When a product manager trusts that the engineers on the team have the interest of the product at heart, they also trust the engineer’s judgment when adding technical tasks to the backlog and prioritizing them. This enables the balanced mix of feature and technical work that we’re aiming for.

      Why is it so common for engineering teams to be mistrusted by other parts of the business?

      Part of that is definitely on engineers: chasing the new shiny, over-engineering, etc.

      That seems unlikely to account for all of it, though.

  26. Nov 2021
    1. Applying Systems Engineering to Policy

      The model to the right lacks references to a democatised control of this expert-driven decision making process, which does not reflect the increased complexity in decentralized demographics in a 'system of systems' (see p. 12).

  27. Oct 2021
    1. I didn't have to think too much of what’s good for the company - I usually assumed that whatever I’m doing is what the business needs.

      It may even be a sign that management is doing well.

  28. Sep 2021
    1. The Beloit-based billionaire has publicly pushed for tax breaks and said she wants to stop the U.S. from becoming “a socialistic ideological nation.”

      I LOVE the dysfunctional thought process of this statement. This is Social Engineering 101. An educated public not drinking the cool-aid of Neoliberalism, aristocracy or silver-spoon wealth would realize the deception of that statement simply by the fact that the US is already a socialistic ideological nation in the same way the US is already a democracy or that the US is already a capitalist ideological nation. Point being: The US is like a "mutt", meaning it's not a pure bred anything and will never be a pure anything.

      The original United States through the early 1970's represented the true American experiment and dream. The US (America) created opportunity and limited support for impoverished citizens and understood the strength and meaning of leadership (taking care of it's own). Having a somewhat balanced (more perceived) societal ideology for the US allowed America's unique nature to shine strong. Modern America (early 1980's to current) is not and should not be compared to what I call the Original America. Modern America is a nation corrupted by wealth and power. Modern America does not shine brightly anymore, the experiment is over and old school European aristocracy (wealth, status, power) rules the land. The problem is the public does not realize the extent of damage done to America and will completely forget within 2 generations.

      The baby-boomer generation is the last representation of original America and makes up the largest demographic in our nations history. Boomers hold the true America in their hearts and minds. The real Patriotism and ideology derived from the original America has become the weapon of choice for those wishing to exploit the the concept of America past. Meaningless rhetoric tied to patriotic ideals is behind the controlled social engineering of today.

      The statement above is a great example of meaningless rhetorical pandering with ambiguous words and phrases from a morally corrupt 1 to 2% of the new aristocracy grabbing power in America.

  29. Aug 2021
    1. An interesting directory of personal blogs on software and security.

      While it aggregates from various sources and allows people to submit directly to it, it also calculates a quality score/metric by using a total number of Hacker News points earned by the raw URL

      Apparently uses a query like: https://news.ycombinator.com/from?site=example.com to view all posts from HN.

  30. Jun 2021
    1. That's going to be extremely ugly. Nothing about this makes sense. Your JSON schema should just have one object that has {"is_enabled":true}, or something like this {"name":"change","is_enable":true}.
  31. May 2021
    1. My advice is if you are looking for a quick and accurate answer ask to have the trouble ticket elevated immediately and to speak with an engineer that will recognize your knowledge and speak with you on your level.
    2. I typically request to speak with an engineer when I find myself detecting an inexperienced support person.
    3. In one of my internship, I got to befriend a level 2 tech support, so learned a couple thing of how it worked (in that company). Level 1 was out-sourced, and they had a script to go from, regularly updated. From statistics, this took care of 90% of issues. Level 2 was a double handful of tech people, they had basic troubleshooting tools and knowledge and would solve 90% of the remaining issues. Level 3 was the engineering department (where I was), and as a result of level 1 and 2 efficiency less than 1% of issues ever got escalated. The process worked!
    1. Which brings us back, once again, to the question with which we began: why does it matter who gets to be seen as a prominent “tech critic”? The answer is that it matters because such individuals get to set the bounds for the discussion.

      The ability to set the bounds of the discussion or the problem is a classical example of "power-over" instead of power-with or power-to.

  32. Apr 2021
    1. Coordination: More environments require more coordination. Teams need to track which feature is deployed to which environment. Bugs need to be associated with environments. Every environment represents a particular ‘state’ of the codebase, and this has to be tracked somewhere to make sure that customers & stakeholders are seeing the right things;

      Try to remember the last time you heard one of the following phrases:

      • "Oh, I deployed it in the X environment"
      • "It was working in the stage environment"
  33. Mar 2021
    1. Sorry you’re surprised. Issues are filed at about a rate of 1 per day against GLib. Merge requests at a rate of about 1 per 2 days. Each issue or merge request takes a minimum of about 30 minutes (across at least 2 people) to analyse, put together a fix, test it, review it, fix it, review it and merge it. I’d estimate the average is closer to 3 hours than 30 minutes. Even at the fastest rate, it would take 3 working months to clear the backlog of ~1000 issues. I get a small proportion of my working time to spend on GLib (not full time).
    1. System architects: equivalents to architecture and planning for a world of knowledge and data Both government and business need new skills to do this work well. At present the capabilities described in this paper are divided up. Parts sit within data teams; others in knowledge management, product development, research, policy analysis or strategy teams, or in the various professions dotted around government, from economists to statisticians. In governments, for example, the main emphasis of digital teams in recent years has been very much on service design and delivery, not intelligence. This may be one reason why some aspects of government intelligence appear to have declined in recent years – notably the organisation of memory.57 What we need is a skill set analogous to architects. Good architects learn to think in multiple ways – combining engineering, aesthetics, attention to place and politics. Their work necessitates linking awareness of building materials, planning contexts, psychology and design. Architecture sits alongside urban planning which was also created as an integrative discipline, combining awareness of physical design with finance, strategy and law. So we have two very well-developed integrative skills for the material world. But there is very little comparable for the intangibles of data, knowledge and intelligence. What’s needed now is a profession with skills straddling engineering, data and social science – who are adept at understanding, designing and improving intelligent systems that are transparent and self-aware58. Some should also specialise in processes that engage stakeholders in the task of systems mapping and design, and make the most of collective intelligence. As with architecture and urban planning supply and demand need to evolve in tandem, with governments and other funders seeking to recruit ‘systems architects’ or ‘intelligence architects’ while universities put in place new courses to develop them.
  34. Feb 2021
    1. The Quality Engineering team is focused on creating a culture of testing, increasing test coverage, and helping the company ship high-quality features faster. We encourage all our developers to write and own end-to-end (E2E) tests. In turn, Quality Engineering (QE) is responsible for the frameworks used and provides best practices for writing reusable, scalable, and maintainable tests.

      I like this idea of "creating a culture of x", and think it helps lead to more autonomy within teams

    1. “Functional programming language” is not a clearly defined term. From the various properties that are typically associated with functional programming I only want to focus on one: “Immutability” and referential transparency.

      I mean not clearly defined seems wrong, there are common accepted characteristics that make a language functional.

  35. Dec 2020
  36. Nov 2020
  37. Oct 2020
    1. I'm okay with an overall design that allows people to plugin the parts they need in order to be able to generically support a compile-to-javascript language, but to bake in support for one singular solution because its popular is simply bad engineering.
    2. 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.
    1. Linux Memory Management at Scale

      "we had to build a complete and compliant operating system in order to perform resource control reliably"

      epic real-talk. the only people on the planet who seemed to have tamed linux for workloads. controlling memory. taming io. being on the bleeding edge, it turns out, is almost entirely about forward-progress. what can we reclaim?

      • oomd for memory protection
      • fbtax2
      • psi monitoring for io regulation
      • cgroups v2

      https://facebookmicrosites.github.io/cgroup2/docs/fbtax-results.html

  38. Aug 2020
    1. The timescales on which a system’s processes run have critical consequences for its ability to predict and adapt to the future.

      A layer of architecture that is too slow to change: technical debt. (Pace layering)

    2. We also know that if individuals are bad at collecting good information – if they misinterpret data due to their own biases or are overconfident in their assessments – an aggregation mechanism can compensate.

      "wisdom of crowds"

    3. market engineers introduced what’s called a ‘circuit breaker’ – a rule for pausing trading when signs of a massive drop are detected.

      Discord's slowmode or other various 'lockdowns' of communication in forums also come to mind

    1. Glasgow, A., Glasgow, J., Limonta, D., Solomon, P., Lui, I., Zhang, Y., Nix, M. A., Rettko, N. J., Lim, S. A., Zha, S., Yamin, R., Kao, K., Rosenberg, O. S., Ravetch, J. V., Wiita, A. P., Leung, K. K., Zhou, X. X., Hobman, T. C., Kortemme, T., & Wells, J. A. (2020). Engineered ACE2 receptor traps potently neutralize SARS-CoV-2. BioRxiv, 2020.07.31.231746. https://doi.org/10.1101/2020.07.31.231746

  39. Jul 2020
    1. Elon Reeve Musk FRS (/ˈiːlɒn/; born June 28, 1971) is an engineer

      There is a lot of controversy around whether or not Elon is an engineer. It has come up several times in discussion on the talk page. Personally, I wouldn't qualify him as an engineer. I think that he lacks the training and most other qualifications.

  40. Jun 2020
    1. An Idiom is a low-level pattern specific to a programming language. An idiom describes how to implement particular aspects of components or the relationships between them using the features of the given language.
    2. A Design Pattern provides a scheme for refining the subsystems or components of a software system, or the relationships between them. It describes a commonly recurring structure of communicating components that solves a general design problem within a particular context.
    3. Building blocks are what you use: patterns can tell you how you use them, when, why, and what trade-offs you have to make in doing so.
    4. patterns are considered to be a way of putting building blocks into context
    5. A "pattern" has been defined as: "an idea that has been useful in one practical context and will probably be useful in others"
  41. May 2020
    1. Fifth, the engineer is not selfish and thinks for the good of the product and the team. If you can’t work in a team, you have a harder chance to succeed nowadays.

      Setuju, selain itu menambah sudut pandang juga akan meningkatkan empati, dan jangan lupa, empati adalah sesuatu yang bisa dilatih

    2. Second, the engineer is able to apply the right amount of solution to the problem. Start with the simplest approach that solves the problem
    3. Third, the engineer has a high sense of ownership to the problem he’s solving. This way, the engineer will pay attention to the big picture as well as the details of the problem.
    4. Fourth, the engineer is able to understand how his teammates think. Let’s face it, engineering is a team sport

      Masih belum yakin, kalau team sport adalah analogi yang bagus untuk menggambarkan tim pengembang perangkat lunak

  42. Mar 2020
    1. propelled by a “water plasma” engine. Solar panels generate electrical power, which the vehicle then uses to generate microwaves, which superheat the water up to Sun-surface temperatures. That produces a plasma that shoots out a nozzle, propelling Vigoride forward.
  43. Feb 2020
    1. which they estimate to be $230,000 per year.

      There is some good discussion on HN about the realistic nature of this estimated expense and how it is not likely out-of-line with what it should be and may actually be quite reasonable.

      https://news.ycombinator.com/item?id=22317244

  44. Jan 2020
    1. You do not process your projects through an Institutional Review Board, nor you are equipped to deal with persons who express trauma to you.

      This is a valid concern that needs to be addressed. While some engineers certainly do use IRB for their projects, it is not nearly as common as it should be.

    1. ericb 12 days ago | unvote [-] * Better googling. Time-restricted, url restricted, site restricted searches. Search with the variant parts of error messages removed.* Read the source of upstream dependencies. Fix or fork them if needed.* They're better at finding forks with solutions and gleaning hints from semi-related issues.* Formulate more creative hypothesis when obvious lines of investigation run out. The best don't give up.* Dig in to problems with more angles of investigation.* Have more tools in their toolbelt for debugging like adding logging, monkey-patching, swapping parts out, crippling areas to rule things out, binary search of affected code areas.* Consider the business.* Consider user-behavior.* Assume hostile users (security-wise).* Understand that the UI is not a security layer. Anything you can do with PostMan your backend should handle.* Whitelist style-security over blacklist style.* See eventual problems implied by various solutions.* "The Math."

      What do top engineers do that others don't?

      • Better googling. Time-restricted, url restricted, site restricted searches. Search with the variant parts of error messages removed.
      • Read the source of upstream dependencies. Fix or fork them if needed.
      • They're better at finding forks with solutions and gleaning hints from semi-related issues.
      • Formulate more creative hypothesis when obvious lines of investigation run out. The best don't give up.
      • Dig in to problems with more angles of investigation.
      • Have more tools in their toolbelt for debugging like adding logging, monkey-patching, swapping parts out, crippling areas to rule things out, binary search of affected code areas.
      • Consider the business.
      • Consider user-behavior.
      • Assume hostile users (security-wise).
      • Understand that the UI is not a security layer. Anything you can do with PostMan your backend should handle.
      • Whitelist style-security over blacklist style.
      • See eventual problems implied by various solutions.
      • "The Math."
  45. Dec 2019
  46. twitter.com twitter.com