News AggregatorIntermodular Analysis of C and C++ Projects in Detail (Part 1)Aggregated on: 2022-10-14 13:28:27 Starting from PVS-Studio 7.14, the C and C++ analyzer has supported intermodular analysis. In this two-part article, we'll describe how similar mechanisms are arranged in compilers and reveal some technical details of how we implemented intermodular analysis in our static analyzer. Preface Before we inspect intermodular analysis, let's remember how compilation works in the C and C++ world. This article focuses on various technical solutions for object module layout. We'll also see how well-known compilers use intermodular analysis and how it's related to Link Time Optimizations (LTO). View more...How to Configure Common Flows in Mule 4 to Reuse Common FunctionalitiesAggregated on: 2022-10-14 02:13:26 Reusing common functionalities is very important in any coding language to avoid redundancy. In MuleSoft, we will also come across situations where we will have to reuse common functionalities, for example, error handling. In this article, I will explain how to reuse common flows in your implementation flow. There are two ways of doing it: View more...How to Read Graph Database Benchmark (Part II)Aggregated on: 2022-10-13 22:58:26 This is the second part of the How to Read Graph Database Benchmark series and is dedicated to query results validation of three types of operations: K-hop Shortest-Path Graph Algorithms Let’s start with K-hop queries. First, let’s be clear about the definition of K-hop; there have been second types of K-hop: View more...1000 Node Cassandra Cluster on Amazon’s EKSAggregated on: 2022-10-13 22:28:26 Apache Cassandra is a distributed database that does a great job with geo-distributed workloads. K8ssandra, on the other hand, makes it possible to run it on Kubernetes, equipped with backups and dashboarding. In line with the series of takeaways from DoK Day EU 2022, Matt Overstreet, Field CTO at the DataStax, shares the limits and further mechanisms of running 1000 Cassandra nodes on Kubernetes. View more...How to Read Graph Database Benchmarks (Part I)Aggregated on: 2022-10-13 21:58:26 The main goal of this article is to introduce basic knowledge about graph databases, graph computing, and analytics, help readers interpret benchmark testing reports, and validate if the results are correct and sensible. Basic Knowledge There are two main types of data operations in any graph database: View more...How To Implement Face Recognition in Vue.JS With FaceIO?Aggregated on: 2022-10-13 21:43:26 Nowadays the Web has become a platform where you can run all kinds of applications from e-learning, financial services, booking websites, and anything you could imagine. Because of that authenticating users on the web is a must. Actually, there are many ways to authenticate users one of which is using traditional email and password authentication. Another way to do this is simply using a third-party authentication provider like Facebook for example. View more...Autoscale Azure Pipeline Agents With KEDAAggregated on: 2022-10-13 20:13:26 If you are using Kubernetes solution as a platform to host containerized applications in any of the public clouds, Billing is one of those things that will hunt you sooner or later. Kubernetes billing largely depends on the number of nodes, and node count is decided by the number of workloads a cluster has. We know that autoscaling is one of the favorite features of Kubernetes. Hence, it would be wiser to scale down some of the workloads when there is no work at all and reduce the cloud cost. When we talk about Kubernetes autoscaling features, Horizontal Pod Autoscaler (HPA) automatically comes to mind. By default, autoscaling can be achieved by HPA using basic metrics like CPU or RAM usage. However, in the event of complex and distributed applications which are integrating with different components outsides the Kubernetes cluster (Ex: Kafka topic lag, Redis Stream, Azure Pipeline Queue, Azure Service Bus, PubSub topic, etc.), HPA itself cannot scale the pods based on metrics from these components. View more...Use Apache Kafka SASL OAUTHBEARER With PythonAggregated on: 2022-10-13 15:43:26 This post will teach you how to use the Confluent Python client with Simple Authentication and Security Layer Mechanisms (SASL)/OAUTHBEARER security protocol to produce and consume messages to topics in Apache Kafka and use the service registry to manage the JSON schema. SASL/Oauthbearer is more secure than SASL/PLAIN where the username/password is configured in the client application. In case user credentials are leaked, the blast radius would be more significant as the user might have other access. In SASL/OAUTHBEARER, service accounts are preferred, which reduces the blast radius on leakage. It is recommended to have one service account per client application. With service accounts, resetting credentials can be quickly compared to user credentials. View more...Different Test Scopes in RustAggregated on: 2022-10-13 01:43:26 I'm still working on learning Rust. Beyond syntax, learning a language requires familiarizing oneself with its idioms and ecosystem. I'm at a point where I want to explore testing in Rust. The Initial Problem We have used Dependency Injection a lot - for ages on the JVM. Even if you're not using a framework, Dependency Injection helps decouple components. Here's a basic example: View more...Infrastructure as Code (IaC) for Java-Based Apps on AzureAggregated on: 2022-10-12 23:58:26 The Evolution of Java Over the past several years, the Java ecosystem landscape has evolved from monolith Java EE applications running on application servers and the Spring Framework to modern smaller-footprint Spring Boot, MicroProfile, and Jakarta EE microservices. Today, more Java developers are looking at how they can bring their existing Java applications to the cloud—or how to build new cloud-native applications. Many organizations have significant investments in the migration of mission-critical Java applications running on-premises to fully supported environments to run these apps in the cloud. In this article, let's take a closer look at Java at Microsoft and Azure to understand what Microsoft can offer to modernize existing Java-based apps or bring new ones with the well-known practice of Infrastructure as Code (IaC). View more...Build a WebAssembly Language for Fun and Profit: ParsingAggregated on: 2022-10-12 23:58:26 In the last post of this series on how to build a WebAssembly programming language, we constructed a lexer. In this post, we’ll cover the next phase of our compiler, parsing. Parsing is the portion of our compiler that takes the token stream generated by the lexer and converts it into an abstract syntax tree (AST). An AST is a tree-like data structure that organizes the tokens into a logical hierarchy that can more easily be translated into machine code. Thankfully, because wispy is an S-expression language, our code is essentially _already_ an AST. Take the following stream of tokens: View more...Serverless at ScaleAggregated on: 2022-10-12 16:28:26 This article is a part of a series that looks at serverless from diverse points of view and provides pragmatic guides that help in adopting serverless architecture, tackling practical challenges in serverless, and discussing how serverless enables reactive event-driven architectures. The articles stay clear of a Cloud provider serverless services, only referring to those in examples (AWS being a common reference). The articles in this series are published periodically and can be searched with the tag “openupserverless.” In this article, we discuss considerations of running serverless at scale. The article also talks about the architectures currently popular for achieving this Serverless Architecture for Scale use cases and how and when we can optimally use the Serverless architecture for scale with AWS Lambda and Dynamo DB exemplar scalable options. View more...Decision Guidance for Serverless AdoptionAggregated on: 2022-10-12 15:28:26 This article is a part of a series that looks at serverless from diverse points of view and provides pragmatic guides that help in adopting serverless architecture, tackling practical challenges in serverless, and discussing how serverless enables reactive event-driven architectures. The articles stay clear of a Cloud provider serverless services, only referring to those in examples (AWS being a common reference). The articles in this series are published periodically and can be searched with the tag “openupserverless”. Overview The Serverless compute model has reached the “Early Adopter” stage in the Hype Curve and moving very fast towards attending the “Early Majority” stage. While the evolution of Serverless has been rapid and phenomenal, enterprises are lacking in strategy in adopting Serverless and leveraging its advancement in technology and architecture for an efficient IT ecosystem. This article attempts to provide simplified decision guidance for Serverless Architecture Adoption while not prescribing specific detailed guidance on the decision matrix of specific FaaS, BaaS, and other serverless services provided by Cloud Service Providers (CSPs) e.g., Serverless Databases, API Gateways or Edge services. View more...Using A Windows Gaming PC as a (Linux) Docker HostAggregated on: 2022-10-12 13:58:25 Docker Desktop is a perfectly serviceable way to use Docker on either MacOS or Windows, but for non-trivial use cases, it leaves much to be desired. I recently happened upon one such use case that you might think would be relatively common: I develop on MacOS, but since my MacBook Pro only has 16GB of memory, I’d like to use another host – in this case, my personal Windows gaming computer, which has a whopping 32GB of memory – as a remote Docker host. How many of us hackers, nerds, and geeks out there work with our (usually) MacBook laptops during the day but then flip over to our custom-built Windows boxes after work to blast some aliens in the face? View more...Managing AWS IAM With Terraform: Part 1Aggregated on: 2022-10-12 00:58:25 In my previous article, AWS IAM Security Best Practices, we covered a bunch of theoretical best practices on AWS IAM. In this tutorial, we will cover the basics of managing AWS IAM using Terraform. Side note: this article assumes you already understand what Terraform is and know the basics of it. If not, start with a Terraform official tutorial. We'll see: View more...Managing AWS IAM With Terraform: Part 2Aggregated on: 2022-10-12 00:58:25 Part 1 connected to this article focuses on users, groups, and policy automation with Terraform. If you haven't read it yet, it's called Managing AWS IAM With Terraform: Part 1. Following the first part, in this tutorial, we will cover: View more...Automate Boring Tasks With HooksAggregated on: 2022-10-11 22:43:25 Most developers hate doing things that could be automated. As emphasized in this tweet, we often have to accept that we cannot do it. Fortunately, in the case of code reviews, a lot of things can indeed be automated. As my previous CTO told me once: View more...Using NCache as IdentityServer4 Cache and StoreAggregated on: 2022-10-11 22:13:25 Identity Server4 is an authentication provider. It is an open-source OpenID Connect and OAuth2.0 framework for ASP.NET Core. The main objective of OpenID Connect is to centralize the authentication process. This centralized authentication provider or Security token server (STS) is a great solution for the application working with more than 2 APIS/microservices where you don’t want to use a different authentication provider for each service. From IdentityServer4, you will get centralized access control to secure every API by the central Identity Server. Mainly the STS is responsible for issuing tokens and validating claims. Identity Server4 provides the flexibility to use external storage like a relational database, NoSQL, a file system, or in-memory data storage. NCache, being a distributed and scalable in-memory key-value data store, is a great fit for IdentityServer4. This article will teach you how to use NCache as external in-memory storage for identityServer4. You may get a question here, why is external in-memory storage required? Using external in-memory storage like NCache will improve the application performance and will give you a faster result. View more...Service Threat Engineering: Taking a Page From Site Reliability EngineeringAggregated on: 2022-10-11 22:13:25 Cloud-native computing extends well past Kubernetes-based infrastructure to roll up many modern best-practice approaches to building, running, and leveraging software assets at scale. The cloud-native approach then extends these practices beyond the cloud to the entire IT landscape. Included in this list of best practices are ones that fall into the category of site reliability engineering (SRE). At the core of the practice of SRE is a modern approach to managing the risks inherent in running complex, dynamic software deployments – risks like downtime, slowdowns, and the like. View more...Ways to Apply Custom User AuthenticationAggregated on: 2022-10-11 20:58:25 Applications that require server-side implementation often require the clients (mobile apps or web browsers) to authenticate themselves to the server. For instance, when someone uses Chrome to access Facebook after logging in before, they communicate specific information to the Facebook server proving their identity. Logging with social media is just one way of user authentication. But I should also mention the authentication through Gmail, with other services/integrations, that are related to the initial app, or generally with Operation System recognition. In both cases, the custom user authentication needs to be set up, so we are going to define the major ways for the developer. Ways To Build Custom User Authentication The software can implement bespoke user authentication in a variety of methods. Some of them require full custom coding, and others are easier to apply. View more...Geo-distributed API Layer With Kong GatewayAggregated on: 2022-10-11 19:28:25 Ahoy, Mateys! It’s been a while since I published my last article on my geo-distributed application development journey. A hot tech conference season put my development on hold, but now I’m back home and ready to share my experience in building a geo-distributed API layer with Kong Gateway. View more...The Rising Tide of Platform EngineeringAggregated on: 2022-10-11 18:28:25 Another year, another wave in how we build software. We now live in a post-software-eaten world, where software is like the water that fish aren’t even aware exists. And yet, we have struggled to pin down the mysterious aether that makes the best software systems delightful while the rest are clunky, decaying, hulking beasts struggling to stay afloat. The latest trend is Platform Engineering, the idea that a team in your company should take care of the common shared services that other development teams rely on to build their products and services. View more...Journey of HTTP Request in KubernetesAggregated on: 2022-10-11 18:28:25 In the previous article, we learned about the journey of deployment creation in Kubernetes. Which helped us understand almost every aspect of the core system components of Kubernetes, but it missed the following components: Cloud Control Manager Kube Proxy We will use the same technique as the previous article to understand the above components. We will take a Kubernetes feature and break its implementation to understand how it interacts with the Kubernetes system components. View more...AIOps: What, Why, and How?Aggregated on: 2022-10-11 13:43:25 Since Gartner coined the term AIOps in 2016, artificial intelligence has become a buzzword in the advanced technological world. The goal of AIOps is to automate complex IT systems resolution while simplifying their operations. Simply put, AIOps is the transformational approach that uses machine learning and AI technologies to run operations such as event correlation, monitoring, service management, observability, and automation. View more...How Can Enterprise IoT Solutions Accelerate Digital TransformationAggregated on: 2022-10-11 13:43:25 Digital transformation made so much noise at one time that the main question might have become blurred: why do I need it? It seems obvious that to stay competitive, businesses must become digital. Do you remember the last time you sent or received a fax at work? Thus, it is essential to keep a minimal digital standard. But the main question for businesses should be asked now very frankly: what benefits does digitalization bring directly to my company? How much can it grow through new technologies? The next major question that naturally arises is: How can your organization actualize the digital transformation? Let’s say your company has already identified the benefits of digitalization. Not everyone can do it seamlessly, considering the highly-structured nature and operations in difficult-to-reach areas, as well as increased safety requirements and little room for risk. Especially in industries like construction, mining, and agriculture, these challenges are quite commonplace. Fortunately, the technologies behind it are continuously evolving to offer you a “winning combination” of digital solutions for a successful digital transformation. Our engineers at PSA first encountered the digital revolution back in the early era of M2M connections, when we had the honor of helping clients as they struggled with the first known pitfalls. Today, we continue to improve business efficiency and effectiveness through our ongoing development of comprehensive EIoT solutions. In this article, we’ll reveal how companies can successfully start or continue their digitalization by discovering the main key – Enterprise IoT solutions. View more...Harnessing a New Java Web Dev Stack: Play 2.0, Akka, CometAggregated on: 2022-10-11 12:43:25 for people in hurry, here is the code and some steps to run few demo samples . disclaimer: i am still learning play 2.0, please point to me if something is incorrect. View more...High Availability with MySQL Fabric: Part IIAggregated on: 2022-10-11 12:43:25 Originally written by Fernando Ipar and Martin Arrieta This is the third post in our MySQL Fabric series. If you missed the previous two, we started with an overall introduction, and then a discussion of MySQL Fabric’s high-availability (HA) features. MySQL Fabric was RC when we started this series, but it went GA recently. You can read the press release here, and see this blog post from Oracle’s Mats Kindahl for more details. In our previous post, we showed a simple HA setup managed with MySQL Fabric, including some basic failure scenarios. Today, we’ll present a similar scenario from an application developer’s point of view, using the Python Connector for the examples. If you’re following the examples on these posts, you’ll notice that the UUID for servers will be changing. That’s because we rebuild the environment between runs. Symbolic names stay the same though. That said, here’s our usual 3 node setup: View more...Here’s how Bell was Hacked: SQL Injection Blow-by-BlowAggregated on: 2022-10-11 12:43:25 OWASP’s number one risk in the Top 10 has featured prominently in a high-profile attack this time resulting in the leak of over 40,000 records from Bell in Canada. It was pretty self-evident from the original info leaked by the attackers that SQL injection had played a prominent role in the breach, but now we have some pretty conclusive evidence of it as well: The usual fanfare quickly followed – announcements by the attackers, silence by the impacted company (at least for the first day), outrage by affected customers and the new normal for public breaches: I got the data loaded into Have I been pwned? and searchable as soon as I’d verified it. View more...How To Deploy An ERC-20 Smart Contract On Avalanche with InfuraAggregated on: 2022-10-11 12:28:25 Although Ethereum has firmly established itself as the leading blockchain platform capable of running smart contracts, it isn’t without its defects. It has solved some of its problems, such as enormous energy consumption by switching to a proof-of-stake consensus protocol. However, scaling issues continue to exist. Ethereum has a low transaction throughput (approximately 15 transactions per second), slow transaction finality (around 1 minute), and at times high gas fees when the network is under strain. Avalanche is an independent blockchain platform designed to overcome some of the barriers to scalability mentioned above. In this article, we will explore what Avalanche is and its benefits compared to other blockchain platforms. We will also create an ERC-20 smart contract on Avalanche from scratch using Infura. View more...Handling Big Data with HBase Part 5: Data Modeling (or, Life Without SQL)Aggregated on: 2022-10-11 11:43:25 [Editor's note: Be sure to check out part 1, part 2 and part 3 first.] This is the fifth of a series of blogs introducing Apache HBase. In the fourth part, we saw the basics of using the Java API to interact with HBase to create tables, retrieve data by row key, and do table scans. This part will discuss how to design schemas in HBase. View more...Google Cloud Messaging with PayloadAggregated on: 2022-10-11 11:43:25 google cloud messaging (or gcm) sends two types of messages: collapsible, “send-to-sync” messages, where new messages replace older ones in the sending queue. (i.e. the older messages are “collapsed”). non-collapsible messages with payload, where every single message is delivere d. each payload in non-collapsible messages is a unique content that has to be delivered and can’t be just replaced with a more recent message in the server sending queue. on the other hand, a collapsible message can be a simple ping from the server to ask its mobile clients to sync their data. View more...Geek Reading for the WeekendAggregated on: 2022-10-11 11:43:25 I have talked about human filters and my plan for digital curation. These items are the fruits of those ideas, the items I deemed worthy from my Google Reader feeds. These items are a combination of tech business news, development news and programming tools and techniques.Why You Make Less Money (job tips for geeks)Nate Silver Gets Real About Big Data (ReadWrite)Java StringBuilder myth debunked (Java Code Geeks)Dew Drop – March 29, 2013 (#1,517) (Alvin Ashcraft's Morning Dew)Generation Mooch? Why 20-somethings have a hard time paying for content (GigaOM)Double Shot #1096 (A Fresh Cup)Connecting Talking with Doing (Conversation Agent)Games Galore: Building Atari with CreateJS (noupe)Putting People in Boxes (Architects Zone – Architectural Design Patterns & Best Practices)Do Code Improvements Add Value? (Architects Zone – Architectural Design Patterns & Best Practices)Cassandra 1.1 – Reading and Writing from SSTable Perspective (Architects Zone – Architectural Design Patterns & Best Practices)Couchbase NoSQL at Tunewiki: A Billion Documents and Counting (Architects Zone – Architectural Design Patterns & Best Practices)The Daily Six Pack: March 29, 2013 (Dirk Strauss)Using Kanban for Scrum Backlog Grooming (Agile Zone – Software Methodologies for Development Managers)Humming (xkcd.com)Amazon Acquires Social Reading Site Goodreads, Which Gives The Company A Social Advantage Over Apple(TechCrunch)I hope you enjoy today’s items, and please participate in the discussions on those sites. View more...Geek Reading - Week of June 5, 2013Aggregated on: 2022-10-11 11:43:25 I have talked about human filters and my plan for digital curation. These items are the fruits of those ideas, the items I deemed worthy from my Google Reader feeds. These items are a combination of tech business news, development news and programming tools and techniques. Making Google’s CalDAV and CardDAV APIs available for everyone (Google Developers Blog) SAP to acquire Hybris to jumpstart its presence in e-commerce (VentureBeat) A Study on Solving Callbacks with JavaScript Generators (Hacker News) History of Lisp (Hacker News) A handy list of RSS readers with feature comparisons (Hacker News) Improving testing by using real traffic from production (Hacker News) Pandora launches new HTML5 site for TVs and gaming consoles, available now on PS3 and Xbox 360 (The Next Web) Dew Drop – June 5, 2013 (#1,561) (Alvin Ashcraft's Morning Dew) Why haven’t cash-strapped American schools embraced open source? (Hacker News) Simpler UI Testing with CasperJS (Architects Zone – Architectural Design Patterns & Best Practices) Using MongoDB as a cache store (Architects Zone – Architectural Design Patterns & Best Practices) Linux System Mining with Python (Javalobby – The heart of the Java developer community) Java EE 7 is Final. Thoughts, Insights and Further Pointers. (Javalobby – The heart of the Java developer community) Why Are Public Fields No Good, Again? (DaedTech) Email Reveals Google App Engine Search API About Ready For Preview Release, Charges Planned For Storage, Operations (TechCrunch) Learning Through Simulation (Javalobby – The heart of the Java developer community) The Daily Six Pack: June 5, 2013 (Dirk Strauss) Derby v0.5.0 – The first OT-powered realtime web app framework (Hacker News) These transparent solar cells provide 50% more battery life for your phone — and ‘infinite’ standby time (VentureBeat) Parse Launches Web Apps with the Express Web Framework (Hacker News) Google Analytics Becomes A Robust Testing Platform With Content Experiments API (Google Analytics Blog) Real-Time Garbage Collection Is Real (Hacker News) I hope you enjoy today’s items, and please participate in the discussions on those sites. View more...Geek Reading Link ListAggregated on: 2022-10-11 11:43:25 I have talked about human filters and my plan for digital curation. These items are the fruits of those ideas, the items I deemed worthy from my Google Reader feeds. These items are a combination of tech business news, development news and programming tools and techniques. Making accessible icon buttons (NCZOnline) Double Shot #1097 (A Fresh Cup) Life Beyond Rete – R.I.P Rete 2013 (Java Code Geeks) My Passover Project: Introducing Rattlesnake.CLR (Ayende @ Rahien) Super useful jQuery plugins for responsive web design (HTML5 Zone) Android Development – Your First Steps (Javalobby – The heart of the Java developer community) Never Ever Rewrite Your System (Javalobby – The heart of the Java developer community) Telecommuting, Hoteling, and Managing Product Development (Javalobby – The heart of the Java developer community) The Daily Six Pack: April 1, 2013 (Dirk Strauss) Optimizing Proto-Geeks for Business (DaedTech) Learning Bootstrap Part 2: Working with Buttons (debug mode……) Rumination on Time (Rob Williams' Blog) Unit-Testing Multi-Threaded Code Timers (Architects Zone – Architectural Design Patterns & Best Practices) Metrics for Agile (Javalobby – The heart of the Java developer community) Detecting Java Threads in Deadlock with Groovy and JMX (Inspired by Actual Events) Entrepreneurs: Stop participating in hackathons just to win them (VentureBeat) How to hack the recruitment process to find the best developers for your startup or agency (The Next Web) Hardware Hacks: MongoLab + Arduino (Architects Zone – Architectural Design Patterns & Best Practices) The Daily Six Pack: March 30, 2013 (Dirk Strauss) I hope you enjoy today’s items, and please participate in the discussions on those sites. View more...Geek Reading June 7, 2013Aggregated on: 2022-10-11 11:13:25 I have talked about human filters and my plan for digital curation. These items are the fruits of those ideas, the items I deemed worthy from my Google Reader feeds. These items are a combination of tech business news, development news and programming tools and techniques. Dew Drop – June 7, 2013 (#1,563) (Alvin Ashcraft's Morning Dew) On friction in software (Ayende @ Rahien) Caching, jQuery Ajax and Other IE Fun (HTML5 Zone) IndexedDB and Date Example (HTML5 Zone) DevOps Scares Me – Part 1 (Architects Zone – Architectural Design Patterns & Best Practices) Visualizing the News with Vivagraph.js (Architects Zone – Architectural Design Patterns & Best Practices) My First Clojure Workflow (Javalobby – The heart of the Java developer community) Helping an ISV Look at Their Cloud Options (Architects Zone – Architectural Design Patterns & Best Practices) Ignore Requirements to Gain Flexibility, Value, Insights! The Power of Why (Javalobby – The heart of the Java developer community) Estimating the Unknown: Dates or Budgets, Part 1 (Agile Zone – Software Methodologies for Development Managers) Team Decision Making Techniques – Fist to Five and others (Agile Zone – Software Methodologies for Development Managers) The Daily Six Pack: June 7, 2013 (Dirk Strauss) Pastime (xkcd.com) The Affect Heuristic (Mark Needham) Every great company has been built the same way: bit by bit (Hacker News) Under the Hood: The entities graph (Facebook Engineering's Facebook Notes) Entrepreneurship With a Family is for Crazy People (Stay N Alive) Thinking Together for Release Planning (Javalobby – The heart of the Java developer community) I hope you enjoy today’s items, and please participate in the discussions on those sites. View more...Geek Reading June 4, 2013Aggregated on: 2022-10-11 11:13:25 I have talked about human filters and my plan for digital curation. These items are the fruits of those ideas, the items I deemed worthy from my Google Reader feeds. These items are a combination of tech business news, development news and programming tools and techniques. Getting Visual: Your Secret Weapon For Storytelling & Persuasion (The Future Buzz) My Clojure Workflow, Reloaded (Hacker News) Replacing Clever Code with Unremarkable Code in Go (Hacker News) Unit Test like a Secret Agent with Sinon.js (Web Dev .NET) Bliki: EmbeddedDocument (Martin Fowler) How we use ZFS to back up 5TB of MySQL data every day (Royal Pingdom) IMB to acquire Softlayer for a rumored $2-2.5 billion (Hacker News) Cloud SQL API: YOU get a database! And YOU get a database! And YOU get a database! (Cloud Platform Blog) You Should Write Ugly Code (Hacker News) How many lights can you turn on? (The Endeavour) Python Big Picture — What's the "roadmap"? (S.Lott-Software Architect) Salesforce announces deal to buy digital marketing firm ExactTarget for $2.5 billion (The Next Web) Dew Drop – June 4, 2013 (#1,560) (Alvin Ashcraft's Morning Dew) New Technologies Change the Way we Engage with Culture (Conversation Agent) Free Python ebook: Bayesian Methods for Hackers (Hacker News) How Go uses Go to build itself (Hacker News) Sustainable Automated Testing (Javalobby – The heart of the Java developer community) Breaking Down IBM’s Definition of DevOps (Javalobby – The heart of the Java developer community) Big Data is More than Correlation and Causality (Javalobby – The heart of the Java developer community) So, What’s in a Story? (Agile Zone – Software Methodologies for Development Managers) The Real Lessons of Lego (for Software) (Agile Zone – Software Methodologies for Development Managers) The Daily Six Pack: June 4, 2013 (Dirk Strauss) Get your mobile application backed by the cloud with the Mobile Backend Starter (Cloud Platform Blog) Open for Big Data: When Mule Meets the Elephant (Javalobby – The heart of the Java developer community) I hope you enjoy today’s items, and please participate in the discussions on those sites. View more...Geek Reading - Cloud, SQL, NoSQL, HTML5Aggregated on: 2022-10-11 11:13:25 I have talked about human filters and my plan for digital curation. These items are the fruits of those ideas, the items I deemed worthy from my Google Reader feeds. These items are a combination of tech business news, development news and programming tools and techniques. Real-Time Ad Impression Bids Using DynamoDB (Amazon Web Services Blog) The mother of all M&A rumors: AT&T, Verizon to jointly buy Vodafone (GigaOM) Is this the future of memory? A Hybrid Memory Cube spec makes its debut. (GigaOM) Dew Drop – April 2, 2013 (#1,518) (Alvin Ashcraft's Morning Dew) Rosetta Stone acquires Livemocha for $8.5m to move its language learning platform into the cloud (The Next Web) Double Shot #1098 (A Fresh Cup) Extending git (Atlassian Blogs) A Thorough Introduction To Backbone.Marionette (Part 2) (Smashing Magazine Feed) 60 Problem Solving Strategies (Javalobby – The heart of the Java developer community) Why asm.js is a big deal for game developers (HTML5 Zone) Implementing DAL in Play 2.x (Scala), Slick, ScalaTest (Javalobby – The heart of the Java developer community) “It’s Open Source, So the Source is, You Know, Open.” (Javalobby – The heart of the Java developer community) How to Design a Good, Regular API (Javalobby – The heart of the Java developer community) Scalding: Finding K Nearest Neighbors for Fun and Profit (Javalobby – The heart of the Java developer community) The Daily Six Pack: April 2, 2013 (Dirk Strauss) Usually When Developers Are Mean, It Is About Power (Agile Zone – Software Methodologies for Development Managers) Do Predictive Modelers Need to Know Math? (Data Mining and Predictive Analytics) Heroku Forces Customer Upgrade To Fix Critical PostgreSQL Security Hole (TechCrunch) DYNAMO (Lambda the Ultimate – Programming Languages Weblog) FitNesse your ScalaTest with custom Scala DSL (Java Code Geeks) LinkBench: A database benchmark for the social graph (Facebook Engineering's Facebook Notes) Khan Academy Checkbook Scaling to 6 Million Users a Month on GAE (High Scalability) Famo.us, The Framework For Fast And Beautiful HTML5 Apps, Will Be Free Thanks To “Huge Hardware Vendor Interest” (TechCrunch) Why We Need Lambda Expressions in Java – Part 2 (Javalobby – The heart of the Java developer community) I hope you enjoy today’s items, and please participate in the discussions on those sites. View more...Feature Comparison of Java Job Schedulers – Plus OneAggregated on: 2022-10-11 11:13:25 Poor Oddjob, I thought as I read Craig Flichel’s Feature Comparison of Java Job Schedulers featuring Obsidian, Quartz, Cron4j and Spring. Yet again it hasn’t made the grade, it’s been passed over for the scheduling team. Never mind I say, you’re just a little bit different and misunderstood. Let’s have a kick about in the back yard and see what you can do… View more...Five Ways of Synchronising Multithreaded Integration TestsAggregated on: 2022-10-11 11:13:25 A few weeks ago I wrote a blog on synchronizing multithreaded integration tests, which was republished on DZone Javalobby from where it received a comment from Robert Saulnier who quite rightly pointed out that you can also use join() to synchronize a worker thread and its unit tests. This got me thinking, just how many ways can you synchronise multi-threaded integration tests? So, I started counting... and came up with: Using a random delay. Adding a CountDownLatch Thread.join() Acquiring a Semaphore With a Future and ExecutorService View more...Easily Find & Kill MongoDB Operations from MongoLab’s UIAggregated on: 2022-10-11 10:13:25 A few months ago, we wrote a blog post on finding and terminating long-running operations in MongoDB. To help make it even easier for MongoLab users* to quickly identify the cause behind database unresponsiveness, we’ve integrated the currentOp() and killOp() methods into our management portal. * currentOp and killOp functionality is not available on our free Sandbox databases because they run on multi-tenanted mongod processes. View more...Driving DevOpsAggregated on: 2022-10-11 09:43:25 There is a lot of talk in the devops community about the importance of sharing principles and values, and about silo busting: breaking down the “wall of confusion” between developers and operations to create agile, cross-functional teams. Radical improvement through fundamental organizational changes and building an entirely new culture. But it doesn’t have to be that hard. All it took us was 3 simple, but important, steps. View more...The Difference Between TokuMX Partitioning and ShardingAggregated on: 2022-10-11 09:43:25 In my last post, I described a new feature in TokuMX 1.5—partitioned collections—that’s aimed at making it easier and faster to work with time series data. Feedback from that post made me realize that some users may not immediately understand the differences between partitioning a collection and sharding a collection. In this post, I hope to clear that up. On the surface, partitioning a collection and sharding a collection seem similar. Both actions take a collection and break it into smaller pieces for some performance benefit. Also, the terms are sometimes used interchangeably when discussing other technologies. But for TokuMX, the two features are very different in purpose and implementation. In describing each feature’s purpose and implementation, I hope to clarify the differences between the two features. View more...Designing Search (part 3): Keeping on trackAggregated on: 2022-10-11 05:58:25 Part 1 In the previous post we looked at techniques to help us create and articulate more effective queries. From auto-complete for lookup tasks to auto-suggest for exploratory search, these simple techniques can often make the difference between success and failure. But occasionally things do go wrong. Sometimes our information journey is more complex than we’d anticipated, and we find ourselves straying off the ideal course. Worse still, in our determination to pursue our original goal, we may overlook other, more productive directions, leaving us endlessly finessing a flawed strategy. Sometimes we are in too deep to turn around and start again. View more...In Defense of Scala. Response to "I Don’t Like Scala"Aggregated on: 2022-10-11 05:58:25 There were several posts lately critical of Scala language, specifically this onehttps://dzone.com/articles/i-dont-scala. It is a well written, critical of Scala post by someone who clearly prefers other languages (i.e. Java) at this point. View more...Continuous Delivery Pipeline Pattern: Analysis StageAggregated on: 2022-10-11 05:28:25 Separate out analysis to preserve commit stage processing time The entry point of a Continuous Delivery pipeline is its Commit Stage, and as such manages the compilation, unit testing, analysis, and packaging of source code whenever a change is committed to version control. As the commit stage is responsible for identifying defective code it represents a vital feedback loop for developers, and for that reason Dave Farley and Jez Humble recommend a commit stage that is “ideally less than five minutes and no more than ten” – if the build process is too slow or non-deterministic, the pace of development can soon grind to a halt. View more...Continuous Delivery != DevOpsAggregated on: 2022-10-11 05:28:25 Continuous Delivery and DevOps are interdependent, not equivalent Since the publication of Dave Farley and Jez Humble’s seminal book on Continuous Delivery in 2010, its rise within the IT industry has been paralleled by the growth of the DevOps movement. While Continuous Delivery has an explicit goal of optimising for cycle time and an established set of principles and practices, DevOps is a more organic philosophy that is defined as “aligning development and operations roles and processes in the context of shared business objectives“, and gradually codifying into principles and practices. Continuous Delivery and DevOps possess a shared background in agile methods and Lean Thinking, and a shared desire to eliminate Waterscrumfall silos – but what is the nature of their relationship? View more...Android Cloud Apps with AzureAggregated on: 2022-10-11 05:28:25 a recent study by gartner predicts a very significant increase in cloud usage by consumers in a few years, due in great part to the ever growing use of smartphone cameras by the average household. in this context, it could be useful to have a smartphone application that is able to upload / download digital content from a cloud provider. in this article, we will construct a basic android prototype that will allow us to plug in the windows azure cloud provider, and use the windows azure toolkit for android ( available at github ) to do all of the basic cloud operations : upload content to cloud storage, browse the storage, download or delete files in cloud storage. once those operations are implemented, we will see how to enable our android application to receive server push notifications . View more...Building a Data Warehouse, Part 3: Location of Your Data WarehouseAggregated on: 2022-10-11 04:58:25 See also: Part I: When to build your data warehouse Part II: Building a new schema In Part I we looked at the advantages of building a data warehouse independent of cubes/a BI system and in Part II we looked at how to architect a data warehouse’s table schema. Today we are going to look at where to put your data warehouse tables. View more...Building a Data Warehouse, Part 5: Application Development OptionsAggregated on: 2022-10-11 04:58:25 see also: part i: when to build your data warehouse part ii: building a new schema part iii: location of your data warehouse part iv: extraction, transformation, and load in part i we looked at the advantages of building a data warehouse independent of cubes/a bi system and in part ii we looked at how to architect a data warehouse’s table schema. in part iii, we looked at where to put the data warehouse tables. in part iv, we are going to look at how to populate those tables and keep them in sync with your oltp system. today, our last part in this series, we will take a quick look at the benefits of building the data warehouse before we need it for cubes and bi by exploring our reporting and other options. View more...Build Continuous Delivery InAggregated on: 2022-10-11 04:58:25 Building Continuous Delivery into an organisation requires radical change While Continuous Delivery has a well-defined value proposition and a seminal bookon how to implement a deployment pipeline, there is a dearth of information on how to transform an organisation for Continuous Delivery. Despite its culture-focussed principles and an adoption process described by Jez Humble as ”organisational-architecture-process not tools-code-infrastructure“, many Continuous Delivery initiatives fail to emphasise an organisational model in which software is always releasable. This contravenes Lean Thinking and the Deming 95/5 Rule – that 95% of problems are attributable to system faults, while only 5% are due to special causes of variation. Building an automated deployment pipeline can eliminate the 5% of special causes of variation in our value stream (e.g. release failures), but it cannot address the remaining 95% of problems caused by our organisation structure (e.g. wait times between silos). From this we can infer that: View more... |
|
|