Thinking Performance in Programming


python programming scaling performaceAs a programmer we have written codes that ideally solves a problem, but do we take note of the performance when it comes to solving a problem, or do we just feel comfortable with “My code works?"

Dynatrace incorporates Hackerone’s bug bounty program into its security playbook


We’ve recently joined forces with Hackerone , the industry leader in external bug bounty programs. Wait, what is a bug bounty program? They can then browse for all public bug bounty programs to participate in. What’s the long-term plan for the program?

HackPPL: a universal probabilistic programming language

The Morning Paper

HackPPL: a universal probabilistic programming language Ai et al., The Hack programming language, as the authors proudly tell us, is “ a dominant web development language across large technology firms with over 100 million lines of production code.”

The True Hardest Programming Problem Is Tight vs. Weak Coupling


A few months ago, I claimed that naming is the hardest programming problem. The true hardest problem is one that impacts every developer at every skill level, across all programming languages, regardless of experience. It is equally applicable across all programming disciplines. The hardest problem in programming is this: performance tight coupling weak couplingI was wrong.

Object-Oriented Programming Simplifies Digital Twins

ScaleOut Software

Digital twin models for stateful stream-processing have evolved from concepts largely unrelated to object-oriented programming, in particular, product life-cycle management and industrial IoT (where they are often called device twins ).

Bootstrapping a Usability Testing Program


When we kicked off our user research program, our goal was to generate objective data to guide our UX decisions. While designing this program, our limited set of users was something we had to consider. To build momentum, we kicked off the program using internal stakeholders as our test subjects. The post Bootstrapping a Usability Testing Program appeared first on Tasktop Blog.

The future of cloud-native programming

O'Reilly Software

Tamar Eilam offers an overview of cloud-native programming and outlines a path toward the unification of the cloud programming model. Continue reading The future of cloud-native programming

Parallel programming in Python: multiprocessing (part 1)


Parallel programming solves big numerical problems by dividing them into smaller sub-tasks, and hence reduces the overall computational time on multi-processor and/or multi-core machines. In a previous post we have discussed the scaling of parallel programs.

User Experience in Programming Languages

Professor Beekums

These things are also good to have in the tools we use to build software, especially programming languages. When we talk about UX, we often refer to the UX of the products we build and use. We want our products to be easy to use. Interactions should be quick.

Parallel programming in Python: mpi4py (part 1)


In previous posts we have introduced the multiprocessing module which makes it possible to parallelize Python programs on shared memory systems. This module provides an object-oriented interface that resembles the message passing interface (MPI) , and hence allows Python programs to exploit multiple processors on multiple compute nodes. Now we can write our first Python program with mpi4py.

Programming Has Changed My Life

Professor Beekums

Sometimes I look back on my life and wonder what it would have been like if I had never started programming. Obviously my career would be different, but I believe that programming has fundamentally changed how I think.

Timing Methodology for MPI Programs

John McCalpin

While working on the implementation of the MPI version of the STREAM benchmark, I realized that there were some subtleties in timing that could easily lead to inaccurate and/or misleading results. This post is a transcription of my notes as I looked at the issues… Primary requirement: I want a measure of wall clock time that is guaranteed to start before any rank does work and to end after all ranks have finished their work.

Parallel programming in Python: multiprocessing (part 2)


In the previous post we introduced the Pool class of the multiprocessing module. In this post we continue on and introduce the Process class , which makes it possible to have direct control over individual processes. A process can be created by providing a target function and its input arguments to the Process constructor. The process can then be started with the start method and ended using the join method. Below is a very simple example that prints the square of a number.

Your First C Program

Sutter's Mill

As a tribute in honor of Dennis Ritchie’s passing , I’d like to invite you to share your thoughts in this post’s comments about your first C program – either the code if you remember it approximately, or a story about when you wrote it.

Optimizing UX: How to set up your own Usability Testing Program in-house  


To address this problem, we devised a Usability Testing Program — which, as a smaller company — presented us with some interesting challenges. Challenge 1: Not enough dedicated resources available to run the Usability Testing Program.

PostgreSQL Trends: Most Popular Cloud Providers, Languages, VACUUM, Query Management Strategies & Deployment Types in Enterprise


The supported programming languages for PostgreSQL include.Net, C, C++, Delphi, Java, JavaScript (Node.js), Perl, PHP, Python and Tcl, but PostgreSQL can support many server-side procedural languages through its available extensions. We found that Java is the most popular programming language for PostgreSQL, being leveraged by 31.1% Python was the second most popular programming language used with PostgreSQL, coming in close at an average of 28.9%

Cloud 132

TCP: Out of Memory — Consider Tuning TCP_Mem


performance api memory cpu java (programming lang. What happens when you're out of memory? You may also like: Java Out of Memory Heap Analysis. Recently we experienced an interesting production problem. This application was running on multiple AWS EC2 instances behind Elastic Load Balancer.

Tuning 193

PyMongo Tutorial: Testing MongoDB Failover in Your Python App


Python is a powerful and flexible programming language used by millions of developers around the world to build their applications. It comes as no surprise that Python developers commonly leverage MongoDB hosting , the most popular NoSQL database , for their deployments due to its flexible nature and lack of schema requirements. So, what’s the best way to use MongoDB with Python?

Python at Netflix

The Netflix TechBlog

Python has long been a popular programming language in the networking space because it’s an intuitive language that allows engineers to quickly solve networking problems. programming python netflixoss data-science netflix

Write Maintainable Integration Tests with Docker


tutorial performance integration docker java (programming lang The popularity of microservices and the use of third-party services for non-business critical features have drastically increased the number of integrations that make up the modern application.

Troubleshooting the Performance of Vert.x Applications, Part I - The Event Loop Model


Programming with Vert.x performance java programming vert.x This article is the first in a series of three articles which share my experience with troubleshooting the performance of Vert.x applications. The first article provides an overview of the Vert.x

Back-to-Basics Weekend Reading - The Working Set Model for Program Behavior

All Things Distributed

The Working Set Model for Program Behavior , Peter J. This weekend we go back in time all the way to the beginning of operating systems research. In the first SOSP conference in 1967 there were several papers that laid the foundation for the development of structured operating systems.

Understanding real-world concurrency bugs in Go

The Morning Paper

The design of a programming (or data) model not only makes certain problems easier (or harder) to solve, but also makes certain classes of bugs easier (or harder) to create, detect, and subsequently fix. Go makes concurrent programming easier and less error-prone.

C++ 114

Re-Architecting the Video Gatekeeper

The Netflix TechBlog

caching software-architecture programming open-source software-engineeringBy Drew Koszewnik This is the story about how the Content Setup Engineering team used Hollow, a Netflix OSS technology, to re-architect and simplify an essential component in our content pipeline?—?delivering

CMake: The Case When the Project's Quality Is Unforgivable


The first release of the program took place in 2000. devops performance programming code quality cpp static code analysis cmake static code analyzerCMake is a cross-platform system for automating project builds.

Code 130

Digital Twins and Real-Time Digital Twins: What’s the Difference?

ScaleOut Software

Architecture Cloud Featured Features Performance Products Programming Techniques digital twin real-time analytics real-time digital twin scalability stream processing streaming service

Tool up your API integration testing with OpenAPI

TechBeacon Testing

App Dev & Testing, Testing, Open Source, Integration Testing, Application Programming Interface (API APIs have become the adhesive that holds the modern web together, reflecting the changing nature of web apps.

How to handle API rate limits: Do your integrations work at scale?

TechBeacon Testing

App Dev & Testing, Testing, Application Programming Interface (API Have you ever gone to a public swimming pool and noticed a sign stating the maximum occupancy limit? Those limits were put in place to ensure public safety.

Digital Twins Enable Seamless Use of Edge Computing in IoT

ScaleOut Software

Architecture Cloud Featured Performance Programming Techniques Technology digital twin in-memory computing in-memory data grid object-oriented programming real-time analytics scalable speedup ScaleOut StreamServer stream processing

IoT 56

The Benefits of Software Architecture: Hierarchical Digital Twins

ScaleOut Software

In many ways, the digital twin model is just an application of the principle of encapsulation from object-oriented programming to the data sources and higher-level controllers within a real-time, stream-processing system. By Dr. William L.

Use Parallel Analysis – Not Parallel Query – for Fast Data Access and Scalable Computing Power

ScaleOut Software

Architecture Featured Performance Programming Techniques Solutions Technology data-parallel computing distributed caching high availability in-memory computing in-memory data grid object-oriented programming scalability ScaleOut ComputeServer

Making Windows Slower Part 2: Process Creation

Randon ASCII

App Verifier causes your program to run more slowly, both because allocations are now more expensive and because the page-aligned allocations mean that your CPU’s cache is mostly neutered. Code Reliability Investigative Reporting Performance Programming Application Verifier crashing pageheap

Compiler bug? Linker bug? Windows Kernel bug.

Randon ASCII

The next step was a custom C++ program that opened the just-linked exe and called FlushFileBuffers on it. It’s a Control Flow Guard violation, meaning that the OS thinks that your program is being exploited by bad people to do an illegal indirect function call.

A Day with Kotlin

Software Architecture

Null Safety One of the most common pitfalls of many programming languages including Java, is that accessing a null reference would result in a null reference exception. software-development kotlin android java programmingWhat Kotlin has that Java does not.

Lambda 130

A Not-Called Function Can Cause a 5X Slowdown

Randon ASCII

When I investigated the initial bug I wrote a program ( ProcessCreateTests ) that created 1,000 processes and then killed them all in parallel. This reproduced the hang, and when Microsoft fixed the bug I used test program to validate the fix – a video showing how can be found here.

Zombie Processes are Eating your Memory

Randon ASCII

GB of page/non-paged pool, few processes running, and no process using anywhere near enough to explain where the memory had gone: My machine has 96 GB of RAM – lucky me – and when I don’t have any programs running I think it’s reasonable to hope that I’d have at least half of it available.

Analyzing Software Failure on the NASA Mars Climate Orbiter


The purpose of this probe was to study the Mars climate, atmosphere, and surface changes and to act as the communications relay in the Mars Surveyor '98 program for Mars Polar Lander. Space Software Development Programming Software Architecture

When Your Profiler Lies

Randon ASCII

Investigative Reporting Performance Programming uiforetw xperf GDI process shutdown UserCritLast week I wrote about the performance consequences of inadvertently loading gdi32.dll into processes that are created and destroyed at very high rates.

The Digital Twin: A Foundational Concept for Stateful Stream Processing

ScaleOut Software

Beyond providing a powerful semantic model for stateful stream processing, digital twins also offer advantages for software engineering because they can take advantage of well understood object-oriented programming techniques.

Making Windows Slower Part 1: File Access

Randon ASCII

Investigative Reporting Performance Programming xperf FileSystemWatcher notifications WindowsWindows has long had a reputation for slow file operations and slow process creation. Have you ever wanted to make these operations even slower?

Delete an inline function, save 794 kB

Randon ASCII

Performance Programming Visual Studio inline linking VC In the previous episode of “ Simple Changes to Shrink Chrome ” I discussed how deleting ‘const’ from a few key locations could lead to dramatic size savings, due to a VC++ compiler quirk.

C++ 67

Java Or Scala Performance – Which One Is Better?

Alex Podelko

When trying to develop a new piece of software or an app, one of the first things a developer has to do is pick a programming language. For years, the debate has raged on regarding which programming language is better, Java or Scala. Functional Programming Capabilities.

Java 130

Aarhus Engineering Internship: Building Aggregation Support for YQL, Uber’s Graph Query Language for Grail

Uber Engineering

Internship Programming Language State Aggregation Uber Aarhus Uber Engineering Uber Intern Uber Internship YQLLau Skorstengaard is a Ph.D. student at Aarhus University who pursued a 2018 internship with Uber Engineering’s Aarhus, Denmark office.