Dan Murphy (@dmurph11) profile picture

Computer nerd at Synchrony. Tweets are my own

Stamford, CT
Joined April 2008
Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)Photo by Dan Murphy (@dmurph11)
Good explanation of where costs can run away.
Google Brain founder, Andrew Ng: "Prompting will die in 6 months. Loops and Graphs are what's replacing it." In 2 hours, he shows exactly what the best engineers already build instead, and how to start building it yourself. The missing piece most people skip: how to connect those loops into a graph that compounds every time it runs. Watch it, then read the full guide on loops and graphs below.
1
71
Alright, here it it after literally years of tinkering, months of research and weeks of writing, re-rewriting, editing, cutting and incorporating feedback, my piece on the Four “Real-World” Foundational Engineering Manager Archetypes is out! Link 👇
1
6
33
1,979
I've hit the age where sitting outside and listening to the birds is a highlight of my day. I absolutely love the @MerlinBirdID app
49
I had a very similar conversation this week with my team in India.
A conversation I have frequently about ACH speeds. Me: The most important factor to understand is Reg E and the broader constellation that makes banks liable for consumer accounts being drained. X: But other nations manage this without slowing down bank transfers. Me: Which one.
1
72
A conversation I have frequently about ACH speeds. Me: The most important factor to understand is Reg E and the broader constellation that makes banks liable for consumer accounts being drained. X: But other nations manage this without slowing down bank transfers. Me: Which one.
22
54
17
644
84,879
After careful consideration, I am honored to announce my commitment to the United States Naval Academy. I am thankful to Coach Newberry, Coach Volker, Coach Hall and Coach MacDonald for this amazing opportunity to serve my country and play the game I love. I also want to thank my parents, Coach Spagnolo and the Iona Prep family for all they have done to prepare me for this next step in my life. #committed #fearthegoat #GoNavy #BeatArmy @ionafootball @Joespags12 @CoachMoffitt @_CoachNew @D_WallCoach @JMacDonald_Navy @RivalsFriedman
12
30
3
171
29,557
This use case is is really big. Maintaining documentation is hard...it goes stale quick. This could generate new and help you detect what is wrong. So many possibilities
How to understand Github code repos with LLMs in 2 mins. Even after 10yrs of engineering, dissecting a large codebase is daunting. 1 Dump the code into one big file 2 Feed it to Gemini-1.5Pro (2M context) 3 Ask it anything. Here's, I dissect DeepFaceLab, a deepfake repo: 1/11
1
80
Dan Murphy retweeted
CHAMPION vs. CHAMPION ... The Awesome Truth vs. @UConnHuskies?! What say you, @dhurley15? #WWERaw
96
592
140
4,339
669,834
I'm a sucker for politicians who love where they live...and this is awesome
OK, the title is a little long but hear me out because @UConnWBB and @UConnMBB deserve the recognition. In honor of both @UConnHuskies basketball teams advancing to the NCAA Final Four, I am proclaiming this weekend in their honor. I urge everyone to support the Huskies! 🏀
1
83
This is Scott Wu. 10 days ago, he launched "Devin", the first-ever AI software engineer & it's insane. It took the tech world by surprise. Here are 7 most-shocking things Devin can do:
137
879
107
5,181
2,683,088
Top Dogs.
51
812
213
2,421
526,536
Guilty
BREAKING: Man decides to keep box of random cables he’s had since 2002 for another year.
60
Dan Murphy retweeted
Top Architectural Styles. The method to download the high-resolution image is available at the end. In software development, architecture plays a crucial role in shaping the structure and behavior of software systems. It provides a blueprint for system design, detailing how components interact with each other to deliver specific functionality. They also offer solutions to common problems, saving time and effort and leading to more robust and maintainable systems. However, with the vast array of architectural styles and patterns available, it can take time to discern which approach best suits a particular project or system. Aims to shed light on these concepts, helping you make informed decisions in your architectural endeavors. To help you navigate the vast landscape of architectural styles and patterns, there is a cheat sheet that encapsulates all. This cheat sheet is a handy reference guide that you can use to quickly recall the main characteristics of each architectural style and pattern. – Subscribe to our newsletter to download the 𝐡𝐢𝐠𝐡 𝐫𝐞𝐬𝐨𝐥𝐮𝐭𝐢𝐨𝐧 𝐢𝐦𝐚𝐠𝐞. After signing up, find the download link on the success page: bytebytego.ck.page/92bb16f8a…
10
620
5
2,491
204,625
This thread is amazing
You’re unable to view this Post because this account owner limits who can view their Posts. Learn more
1
68
These are great. My personal favorite is unblock yourself...so many ways to use that.
Ten Principles for Growth as an Engineer by Dan Heller: “These are the most important lessons that I wish I had learned ears earlier than I did; I sure wish someone had sent it to me when I was 22.” 1. Reason about business value: Reason like a CEO. Understand the value of your work to your company, and take responsibility for reasoning about quality, feature richness, and speed. Your job isn't just to write code; your job is to make good decisions and help your company succeed, and that requires understanding what really matters. 2. Unblock yourself: Learn to never, ever accept being blocked; find a way by persuasion, escalation, or technical creativity. Again, your job isn't just to write the code and wait for everything else to fall into place; your job is to figure out how to create value with your efforts. 3. Take initiative: The most common misconception in software is that there are grown-ups out there who are on top of things. Own your team's and company's mission. Don't wait to be told; think about what needs doing and do it or advocate for it. Managers depend on the creativity and intelligence of their engineers, not figuring it all out themselves. 4. Improve your writing: Crisp technical writing eases collaboration and greatly improves your ability to persuade, inform, and teach. Remember who your audience is and what they know, write clearly and concisely, and almost al-wavs include a tl;dr above the fold 5. Own your project management: Understand the dependency graph for your project, ensure key pieces have owners, write good summaries of plans and status, and proactively inform stakcholders of plans and progress. Practice running meetings! All this enables you to take on much bigger projects and is great preparation for leadership.
1
4
1,440
Dan Murphy retweeted
screenshot-to-code: upload a screenshot of any website, watch as AI progressively builds the html, iteratively improving the generated code by comparing it against the screenshot repeatedly.
146
657
215
5,106
2,114,332
𝗛𝗼𝘄 𝗮 𝗦𝗶𝗻𝗴𝗹𝗲 𝗟𝗶𝗻𝗲 𝗢𝗳 𝗖𝗼𝗱𝗲 𝗕𝗿𝗼𝘂𝗴𝗵𝘁 𝗗𝗼𝘄𝗻 𝗔 𝗕𝗶𝗹𝗹𝗶𝗼𝗻 𝗗𝗼𝗹𝗹𝗮𝗿 𝗥𝗼𝗰𝗸𝗲𝘁 On June 4, 1996, the European Space Agency (ESA) launched the Ariane 5 rocket for the first time, marking a significant moment in the history of space exploration. This mission was not without difficulty, though, as 𝗮 𝘀𝗶𝗻𝗴𝗹𝗲 𝗹𝗶𝗻𝗲 𝗼𝗳 𝗰𝗼𝗱𝗲 𝗿𝗲𝘀𝘂𝗹𝘁𝗲𝗱 𝗶𝗻 𝗮 𝗰𝗮𝘁𝗮𝘀𝘁𝗿𝗼𝗽𝗵𝗶𝗰 𝗳𝗮𝗶𝗹𝘂𝗿𝗲 and the loss of the entire cargo, which was worth almost half a billion euros. Two communication satellites were intended to be transported into geostationary transfer orbit by the Ariane 5. Up until the rocket deviated off track and burst 37 seconds into the flight, the launch was going smoothly. 𝗔 𝘀𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗳𝗹𝗮𝘄 𝗶𝗻 𝘁𝗵𝗲 𝗴𝘂𝗶𝗱𝗮𝗻𝗰𝗲 𝘀𝘆𝘀𝘁𝗲𝗺, which was in charge of regulating the rocket's course, was found to be the root of the disaster. The Ariane 5 launch is acknowledged as one of the most expensive software failures in history. The destruction of the scientific satellites delayed scientific research into the workings of the Earth's magnetosphere for almost 4 years. 𝗪𝗵𝗮𝘁 𝘄𝗮𝘀 𝘁𝗵𝗲 𝗰𝗮𝘂𝘀𝗲? A dead part of code from the last Ariane 4 mission, which began almost ten years prior, contained a simple and fixable programming error. The rocket used a method known as the 𝗵𝗼𝗿𝗶𝘇𝗼𝗻𝘁𝗮𝗹 𝗯𝗶𝗮𝘀, sometimes known as the BH value, to identify whether it was pointing up or down. This was represented using a 64-bit floating-point variable, which the guidance system used to convert to 16 16-bit signed integers. A 64-bit variable can represent billions of values, while a 16-bit can represent only 65,535 values. We know that integers are represented with the first bit used to store signs, and 16-bit integers can then be from -32,768 to 32,767. Yet, floating-point numbers are made to track a broader range of numbers, using the same numbers of bits between -1.8e+308 and -2.2e-308. If you try to store one into a 16-bit integer, it will be much out of the bound of a signed integer. So, what happened is a well-known 𝗶𝗻𝘁𝗲𝗴𝗲𝗿 𝗼𝘃𝗲𝗿𝗳𝗹𝗼𝘄. One more contributing factor to the disaster was user requirements that Ariane 5 use a much steeper trajectory than previous ones, which resulted in a more incredible vertical velocity. What are some takeaways from the disaster? 𝗮 𝗰𝗼𝗽𝘆-𝗽𝗮𝘀𝘁𝗶𝗻𝗴 𝗰𝗼𝗱𝗲 𝘄𝗶𝘁𝗵𝗼𝘂𝘁 𝘂𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱𝗶𝗻𝗴 𝗶𝘁 (Cargo-cult) is a significant issue. Another is the omission of proper exception handling, neglecting changed user requirements, and the absence of appropriate tests. #technology #softwareengineering #programming #techworldwithmilan #softwaredesign
6
28
2
127
36,744
Crazy this was 20 years ago. Today I'm taking my 3 kids up to Storrs for the first time to see the UConn women play at Gampel. They can't stop talking about Paige and Donovan. A lot has changed in 20 years but UConn basketball is still on top!
20 years ago today, the cover of Sports Illustrated. 🏀
1
4
556
𝗕𝘂𝗶𝗹𝗱𝗶𝗻𝗴 𝗥𝗲𝘀𝗶𝗹𝗶𝗲𝗻𝘁 𝗣𝗮𝘆𝗺𝗲𝗻𝘁 𝗦𝘆𝘀𝘁𝗲𝗺𝘀 The recent article by Shopify Engineering explained the top 10 most useful tips and tricks for building resilient payment systems. Here is the list: 𝟭. 𝗟𝗼𝘄𝗲𝗿 𝗬𝗼𝘂𝗿 𝗧𝗶𝗺𝗲𝗼𝘂𝘁𝘀: They suggests investigating and setting low timeouts everywhere possible. For instance, Ruby's built-in Net::HTTP client has a default timeout of 60 seconds to open a connection, write data, and read a response. This is too long for online applications where a user is waiting. The author suggests an open timeout of one second with a write and read or query timeout of five seconds as a starting point. 𝟮. 𝗜𝗻𝘀𝘁𝗮𝗹𝗹 𝗖𝗶𝗿𝗰𝘂𝗶𝘁 𝗕𝗿𝗲𝗮𝗸𝗲𝗿𝘀: Circuit breakers, like Shopify's Semian, protect services by raising an exception once a service is detected as being down. This saves resources by not waiting for another timeout. Semian protects Net::HTTP, MySQL, Redis, and gRPC services with a circuit breaker in Ruby. 𝟯. 𝗨𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱 𝗖𝗮𝗽𝗮𝗰𝗶𝘁𝘆: The author discusses Little's Law, which states that the average number of customers in a system equals their average arrival rate, multiplied by their average time. Understanding this relationship between queue size, throughput, and latency can help design systems that can handle load efficiently. 𝟰. 𝗔𝗱𝗱 𝗠𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴 𝗮𝗻𝗱 𝗔𝗹𝗲𝗿𝘁𝗶𝗻𝗴: Google's site reliability engineering (SRE) book lists four golden signals a user-facing system should be monitored for latency, traffic, errors, and saturation. Monitoring these metrics can help identify when a system is at risk of going down due to overload. 𝟱. 𝗜𝗺𝗽𝗹𝗲𝗺𝗲𝗻𝘁 𝗦𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝗱 𝗟𝗼𝗴𝗴𝗶𝗻𝗴: They recommends using structured logging in a machine-readable format, like key=value pairs or JSON, which allows log aggregation systems to parse and index the data. In distributed systems, passing along a correlation identifier to understand what happened inside a single web request or background job is useful. 𝟲. 𝗨𝘀𝗲 𝗜𝗱𝗲𝗺𝗽𝗼𝘁𝗲𝗻𝗰𝘆 𝗞𝗲𝘆𝘀: To ensure payment or refund happens exactly once, they recommends using Idempotency keys, which track attempts and provide only a single request is sent to financial partners. This can be achieved by sending a unique idempotency key for each shot. 𝟳. 𝗕𝗲 𝗖𝗼𝗻𝘀𝗶𝘀𝘁𝗲𝗻𝘁 𝗪𝗶𝘁𝗵 𝗥𝗲𝗰𝗼𝗻𝗰𝗶𝗹𝗶𝗮𝘁𝗶𝗼𝗻: Reconciliation ensures that records are consistent with those of financial partners. Any discrepancies are recorded and automatically remediated where possible. This process helps maintain accurate records for tax purposes and generate accurate reports for merchants. 𝟴. 𝗜𝗻𝗰𝗼𝗿𝗽𝗼𝗿𝗮𝘁𝗲 𝗟𝗼𝗮𝗱 𝗧𝗲𝘀𝘁𝗶𝗻𝗴: Regular load testing helps test systems' limits and protection mechanisms by simulating large-volume flash sales. Shopify uses scriptable load balancers to throttle the number of checkouts happening at any time. 𝟵. 𝗚𝗲𝘁 𝗼𝗻 𝗧𝗼𝗽 𝗼𝗳 𝗜𝗻𝗰𝗶𝗱𝗲𝗻𝘁 𝗠𝗮𝗻𝗮𝗴𝗲𝗺𝗲𝗻𝘁: Shopify uses a Slack bot to manage incidents, with roles for coordinating the incident, public communication, and restoring stability. This process starts when the on-call service owners get paged, either by an automatic alert based on monitoring or by hand, if someone notices a problem. 𝟭𝟬. 𝗢𝗿𝗴𝗮𝗻𝗶𝘇𝗲 𝗜𝗻𝗰𝗶𝗱𝗲𝗻𝘁 𝗥𝗲𝘁𝗿𝗼𝘀𝗽𝗲𝗰𝘁𝗶𝘃𝗲𝘀: Retrospective meetings are held within a week after an incident to understand what happened, correct incorrect assumptions, and prevent the same thing from happening again. This is a crucial step in learning from failures and improving system resilience. Check the full text in the comments. #technology #softwareengineering #programming #techworldwithmilan #distributedsystems
6
103
2
515
96,465