Mano 禅マノ (@techmano) header
Mano 禅マノ (@techmano) profile picture

Dreamer by Day, Engineer by Night

Bangalore
Joined June 2010
Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)Photo by Mano 禅マノ (@techmano)
Mano 禅マノ retweeted
I have been heavily reported by gangs of Neo Nazi Aryan supremacists of Germany and Iran. My visibility has been heavily suppressed. Please RT if you can see my tweet.
183
11,746
65
14,236
341,709
Mano 禅マノ retweeted
What a big shame!Why are they using the money belonging to the farmers of Karnataka, paid by consumers who are kannadigas,to sponsor foreign teams?what value will it deliver? Pay poor farmers better. @siddaramaiah @DKShivakumar this is a waste for a largely Karnataka based co/op!
MC Exclusive: Karnataka's Nandini to sponsor Scotland and Ireland cricket teams for T20 World Cup @kmfnandinimilk Pc: @CricketScotland & @cricketireland moneycontrol.com/news/busine…
588
977
170
3,145
553,586
Congress even took donations from the Chinese govt. Now what quid pro quo was involved in this donation ?
105
1,036
31
1,587
42,096
Full Historical Decoding of Kashi Vishwanath Must Watch!👇🏻
62
2,981
44
9,958
277,803
No wonder we see so many farm experts posting shit...
I swear on Prabhu Shri Ram I am not making this up I have just got an offer to do pro-farmer protest tweets against the establishment for whopping ₹1L for two tweets. I won't be surprised if many creators will start doing it. Too much money is being peddled. It's very dangerous.
4
39
Mano 禅マノ retweeted
₹18 - International price of wheat ₹23 - MSP paid to farmer for wheat ₹35 - Price paid by end consumers ₹252 -MSP demanded by Protesters ₹350 - Likely retail prices of atta Support these protesting farmer demands only if you are willing to pay ₹350 for 1 kg Atta.
According to Rakesh Tikait, the Modi Govt should introduce an acquisition system where the price of 300 kg wheat should be fixed to 12gm Gold rates. Effectively putting the MSP price of wheat at Rs 252/kg which is 11 times more than what Govt is currently paying.
260
3,768
60
8,137
296,420
Mano 禅マノ retweeted
Some bugs are stupid mistakes, but others teach you lessons for the rest of your life. This bug taught me 7 lessons about logs. The problem: I was having a performance performance issue in production. We couldn't reproduce it in any other environment. So I have to use the ultimate resource, Logs. The problem was that the logs were useless: an INFO here, An ERROR there with no trace, even a DEBUG. The lessons: 1. Contextual Information matters Every log entry should include where it comes from and under what circumstances. These things will make your life easy: - user IDs - transaction IDs - or session IDs 2. Structured Logging is better Prefer structured logs (JSON) over plain text. Structured logs make it easier to filter and query logs based on specific attributes. It's nice when you can Query your logs. 3. You need Log Levels Levels will allow you to filter by severity. - Use DEBUG for detailed diagnostic information. (By default, Off in production, please) - INFO for general operational entries - WARN for unexpected occurrences that are not errors - ERROR for issues that affect operation but are not critical - FATAL for critical issues that might cause a system shutdown 4. What's your Retention Policy Yes, storage is not Free. Logs can grow quickly, consuming significant storage resources. Set a retention policy to archive old logs. You need the logging system to work fast and the logs manageable. 90 days is my sweet spot. 5. Log Performance Metrics: For performance issues, log relevant performance metrics: - response times - system load - memory usage This can help in identifying bottlenecks and trends over time. 6. Avoid Log-and-Throw Anti-Pattern When catching exceptions, choose between logging an error or throwing an exception with an error message. Logging an exception in every catch block makes tracking down exceptions a complete nightmare. The exception ends up getting logged many times in many layers. When engineers start tracking through the logs, the experience is suffocating, and they have no idea where to start and when to finish. 7. Write a Clear Message Anything above makes sense only if your logs explain what happened. Provide descriptive error messages and, if you can, unique error codes. It will help you identify issues without needing to dig through the source code. Having logs is not enough; you need Good logs.
16
107
4
465
47,155
|| Planning to visit Ayodhya? Please don't forget to explore these things apart from the Ram Mandir || 1. Hanuman Garhi - It is a must to visit Hanuman Garhi temple before visiting Shree Ram Mandir.
116
1,971
31
9,571
763,300
Mano 禅マノ retweeted
Explaining 9 types of API testing. 🔹 Smoke Testing This is done after API development is complete. Simply validate if the APIs are working and nothing breaks. 🔹 Functional Testing This creates a test plan based on the functional requirements and compares the results with the expected results. 🔹 Integration Testing This test combines several API calls to perform end-to-end tests. The intra-service communications and data transmissions are tested. 🔹 Regression Testing This test ensures that bug fixes or new features shouldn’t break the existing behaviors of APIs. 🔹 Load Testing This tests applications’ performance by simulating different loads. Then we can calculate the capacity of the application. 🔹 Stress Testing We deliberately create high loads to the APIs and test if the APIs are able to function normally. 🔹 Security Testing This tests the APIs against all possible external threats. 🔹 UI Testing This tests the UI interactions with the APIs to make sure the data can be displayed properly. 🔹 Fuzz Testing This injects invalid or unexpected input data into the API and tries to crash the API. In this way, it identifies the API vulnerabilities. -- Subscribe to our newsletter to download the 𝐡𝐢𝐠𝐡-𝐫𝐞𝐬𝐨𝐥𝐮𝐭𝐢𝐨𝐧 𝐜𝐡𝐞𝐚𝐭 𝐬𝐡𝐞𝐞𝐭. After signing up, find the download link on the success page: bytebytego.ck.page/da4d43d0e…
16
490
7
1,891
112,272
Mano 禅マノ retweeted
How To Release A Mobile App The mobile app release process differs from traditional methods. Here is a simplified guide to the key stages: 1. Registration & Development (iOS & Android): - Enroll as developer in Apple and Google programs to access tools and app stores - Use native languages for each OS - Swift/Objective-C for iOS and Java/Kotlin for Android - Or use cross-platform tools like React Native 2. Build & Test (iOS & Android): - Compile app binary and test extensively on both platforms to confirm functionality - Create a release candidate build for launch readiness 3. QA: - Dogfood internally to surface any issues - Enable beta access to collect user feedback - Regression test 4. Internal Approvals: - Get buy-in from stakeholders across business, technical and UX teams - Ensure compliance to all app store policies and industry regulations - Get security signoffs to safeguard user data 5. App Store Optimization (ASO): - Refine metadata like titles and keywords for discoverability - Prepare visually appealing screenshots and icons - Draft release notes to highlight new features and updates 6. Submission To Stores: - Submit iOS app through App Store Connect per Apple's process - Submit Android app via Google Play Console based on their policies - Address any changes requested pre-approval 7. Release: - Upon approval, coordinate launch on iOS and Android Over to you: Which stage of deployment did you find most complex? What helped overcome that? – Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/496keA7
9
168
1
593
31,949
On December 31, 1995, Bill Watterson published the final 'Calvin & Hobbes' comic strip. #CalvinandHobbes
38
620
53
2,867
217,657
Wow!
23
485
15
1,358
60,245
28
621
46
6,174
416,639
programmers writing comments
29
216
22
3,089
99,437
Mano 禅マノ retweeted
Describing System Architecture In the previous chapter we started discus how we wanna solve our problem. How we intend to structure our system. Now is the moment to drill down into the building blocks. The Building block view is a multilevel Black box - White box view showing how the component are structured with modules, interfaces and classes. You can go down to package structure, framework and libraries. The level of detail depends by the level of information you have at the moment of writing and it can always be enriched during the project/product lifetime. From the arc42 documentation: - Level 1 is the white box description of the overall system together with black box descriptions of all contained building blocks. - Level 2 zooms into some building blocks of level 1. Thus it contains the white box description of selected building blocks of level 1, together with black box descriptions of their internal building blocks. - Level 3 (not shown in the diagram above) zooms into details of selected building blocks of level 2, and so on. Each black box in a layer becomes the white box of the next one. Ensure clarity in your source code structure by employing abstraction, facilitating an understandable hierarchy. This approach enables abstract-level communication with stakeholders while keeping implementation details undisclosed. Utilize the building block view, consisting of a hierarchical arrangement of black boxes and white boxes (refer to the figure below), accompanied by their respective descriptions. A possible structure form an Overall system to a level 3 decomposition. Level 1: Whitebox Overall System 1. Overview Diagram: Present a visual representation for a comprehensive view. 2. Motivation for Decomposition: Clearly articulate the reasons behind the chosen decomposition. 3. Black Box Descriptions: Describe the building blocks contained within. Consider the following alternatives: - Utilize a single table for a succinct overview of all building blocks and their interfaces. - Opt for a list of black box descriptions using the provided template (see below). Depending on the tool, this list can be organized as sub-chapters (in text files), sub-pages (in a Wiki), or nested elements (in a modeling tool). 4. Optional: Important Interfaces: If pertinent interfaces are not covered in the black box templates but are crucial for understanding the white box, include them optionally. Level 2 In this section, outline the internal structure of selected building blocks starting from level 1, representing them as white boxes. Decide judiciously which building blocks merit a detailed description, prioritizing significance over comprehensiveness. Focus on specifying details for crucial, unexpected, risky, complex, or dynamic building blocks. Exclude details for ordinary, straightforward, unremarkable, or standardized components of your system. Level 3 Here you can specify the inner structure of (some) building blocks from level 2 as white boxes. When you need more detailed levels of your architecture please copy this part and create the needed additional layers. For each of the layer you can compile a table or a list for each component explaining the White Box view. You can mention the internals structure of your component with package structure, libraries and framework involved. This is one of the most important and possibly complex parts of the documentation. For some practical example you can find this list mentioned in the arc42 documentation: - Example Building Block View: HTML Sanity Checker(docs.arc42.org/examples/buil…) - Example Building Block View Level-1: Traffic Pursuit Unit(docs.arc42.org/examples/buil…) - Example Building Block View Level-2: Traffic Pursuit Unit(docs.arc42.org/examples/buil…) Bookmark and like this post if you found it useful. Follow me, If you are interested in more Software system architecture topic.
9
87
1
444
59,167
Mano 禅マノ retweeted
Why gRPC is Getting So Popular 🚀 gRPC has exploded in popularity for service-to-service communication. Here's why: - Speed - gRPC is built on HTTP/2 and Protobufs for maximum throughput and minimal latency. Much faster than JSON over HTTP. - Efficiency - The compact Protobuf binary format means smaller payloads than JSON. Less data sent = better performance. - Type Safety - Protobufs are strongly typed, eliminating many bugs. - Polyglot - Write services in many popular languages, the IDL works across them all. - Streaming - gRPC supports bidirectional streaming for real-time data transmission. - Great Ecosystem - Tons of tools exist for code gen, load balancing, monitoring, and more. Of course, gRPC has some drawbacks: - More Complex - Defining Protobuf schemas and setting up gRPC can have a learning curve. - Not Human Readable - Protobufs are binary, so not as easy to troubleshoot as JSON. Tools like grpcurl a little bit. - Limited Browser Support - gRPC works best for backend microservices, not front-end apps. For most backend use cases, gRPC delivers an efficient, robust and high-performance communication framework perfect for modern microservices. – Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): bit.ly/496keA7
10
187
3
894
121,248
Watch: 🇮🇳 There are some trimmed clips circulating showing PM Narendra Modi handed over the World Cup to Cummins and left, leaving everyone embarrassed. But here is the complete video showing PM @narendramodi properly handing over the Cup, standing for Photos, Congratulating, and Shaking Fists. He walked down to shake hands with the other players. Other players waited off the stage for him to get down and shake hands with the PM. There are some protocols which need to be followed once the PM of the Largest Democracy is on the Stage. I pity the understanding of those people feeling embarrassed on the trimmed clip. Join my channels to stay updated: - Telegram channel: t.me/NobleInsights - WhatsApp Channel: whatsapp.com/channel/0029VaB… #INDvsAUSfinal #INDvsAUS #CWC2023Final
150
2,193
110
7,157
915,621
🚨 Error message design tips ✅ Say what happened and why ✅ Provide reassurance ✅ Be empathetic ✅ Help them fix it See how the Wix team improved 7,643 error messages in their product 🤯 Link below 👇 by @jenninadler #uxdesign #copywriting #uxui
11
303
9
2,560
353,588
When Islamic invaders burnt Nalanda University, India not only lost 9 million priceless manuscripts, the act of destruction also erased 1,000 years of India's intellectual history.
67
2,597
61
5,756
152,920