News AggregatorHow to Set Up Jenkins on KubernetesAggregated on: This guide will walk you through the process of setting up Jenkins on Kubernetes. Jenkins is a widely-used open source CI server that provides hundreds of plugins to support building, deploying and automating your projects. In the next sections, you will: View more...Data-Driven Software Engineering: How to Avoid Common ProblemsAggregated on: In today's digital world, data is constantly being generated, evaluated, and updated. It also plays an important role in the work of software engineers by providing accurate, actionable feedback that helps engineers understand where and how to make improvements to a product or process. Data also helps IT leaders visualize how work is being done, the quality and quantity of output, and how they can improve the lives of staff. And it's a vital part of any digital transformation. View more...Dockerizing a Spring Boot ApplicationAggregated on: We are in the world of developing applications using multiple languages, frameworks, architectures for each life cycle stage which creates enormous complexity. There is an urge to do container-based deployment. Spring Boot and Docker together is a great combo to develop a RESTful web service application. In this article, I will try to explain: Docker and its benefits. Creating a Spring Boot Application. Hosting the Spring Boot Application in Docker. Docker: View more...Time to Step up Your MicroservicesAggregated on: Despite the hype around microservices, there are high chances you have not adopted it. We know the benefits. But the barriers to getting started are just too high. The fact is, architecting applications for scale is difficult. You have to choose the right database, the right frameworks, and in many cases, the right programming language. View more...Java 11 HTTP Client API to Consume Restful Web Service Created Using Spring BootAggregated on: One of the features added in Java 11 is the standardized Http Client API. This article describes how to use Java 11 Http Client API to send HTTP GET/POST/PUT/DELETE requests. This new API supports HTTP / 1.1 as well as HTTP 2. The newer version of the HTTP protocol is designed to improve the overall performance of sending requests by a client and receiving responses from the server. This is achieved by introducing several changes such as stream multiplexing, header compression and push promises. View more...Cloud-Native Development - Common Architectural ElementsAggregated on: The introduction to a blueprint for cloud-native development laid out groundwork for a deeper exploration of it's logical diagram. In this article we continue with a look at the common architectural elements. A description is provided to guide you with aligning what we've presented here with the landscape your organization works with every day. View more...DevOps Your Skill: Integration TestsAggregated on: Integration tests ensure that the components of an application is running properly at a level that includes the auxiliary infrastructure of the application, such as the voice user interface, the backend, and the integration with external systems. Integration tests evaluate the components of an application at a higher level than unit tests. Unit tests are used to test isolated software components, such as individual class methods. Integration tests check that two or more components of an application work together, and they generate an expected result, possibly including all the components necessary to fully process a request. View more...When and How to Use Dispose and Finalize in C#Aggregated on: Although the .NET framework frees managed memory and resources transparently, it's not as adept at freeing unmanaged resources; you have to help it out by implementing the Dispose and Finalize patterns in your code. When the .NET framework instantiates an object, it allocates memory for that object on the managed heap. The object remains on the heap until it's no longer referenced by any active code, at which point the memory it's using is "garbage," ready for memory deallocation by the .NET Garbage Collector (GC). Before the GC deallocates the memory, the framework calls the object's Finalize() method, but developers are responsible for calling the Dispose() method. The two methods are not equivalent. Even though both methods perform object clean-up, there are distinct differences between them. To design efficient .NET applications, it's essential that you have a proper understanding of both how the .NET framework cleans up objects and when and how to use the Finalize and Dispose methods. This article discusses both methods and provides code examples and tips on how and when to use them. View more...The Case for Serving Multiple HTTPS (SSL) Certificates RegionallyAggregated on: Context In this new world of cloud computing, more and more companies are going global. Regardless of whether a company is built solely in the cloud or hosting their application in their own data centers, we see (and predict) a surge of applications deployed to multiple regions for reasons such as to decrease latency, cater to a targeted audience, compliance requirements, and so on. View more...Secure Your Method Using AOPAggregated on: In this article we learn how to secure our methods the easy way! We basically use the Before Advice of aspect-oriented programming (AOP) to achieve our goal. The article even illustrates how easy it is to use AOP to implement a crosscutting concern such as security. Let's get started View more...Free E-Book: The Art of Assembly Language ProgrammingAggregated on: Nearly the entire text of The Art of Assembly Language Programming has been posted online for the Processing Systems and Structures course at Washington University. The book begins with machine organization and then works through basic to advanced assembly language. A while back we asked whether all programmers should learn assembly language. Most of you thought either all or most programmers should learn assembly. Read more at ReadWriteWeb Hack View more...Jump the Vendor Track and Steer Enterprise Platforms to the CloudAggregated on: We all know where this train is going. Enterprise IT is making an inexorable departure toward a cloud-based future, while many of their core systems like Oracle and SAP are still sitting on the platform. Over the last 20 years, businesses constantly replaced on-premises application suites and desktop tools with on-demand SaaS and cloud-based services. Companies naturally prefer procuring software flexibly on a pay-as-you-go basis, rather than a license-per-seat or per-datacenter basis. View more...7 of the Best Free Graphical User Interfaces for RAggregated on: R is an open source programming language and software environment for statistical computing and graphics. It consists of a language together with a run-time environment with a debugger, graphics, access to system functions, and scripting. Many statisticians use R with the command line. However, the command line can be quite daunting to a beginner of R. Fortunately, there are many different graphical user interfaces available for R which help to flatten the learning curve. Read more on LinuxLinks.com View more...Vincer-Dom and Modern XML/DOM ManipulationAggregated on: Writing or editing DOM-XML in Java (or another language) has never been natural or straightforward. The code structure diverges inexorably from the underlying tree structure it manipulates, obscuring the original intentions. Vincer-Dom fixes this issue by using Parent-Chaining Pattern to offer a powerful fresh new style API. View more...Hitch: Git Author Attribution Helper for Pair ProgrammersAggregated on: Hitch is a tool that enables pair programmers to attribute code to multiple authors in Git commits. "Just like Maverick and Goose, one dev flies, and one is pretty much the Radar Intercept Officer, having a more dedicated view of threats including syntax errors and stray whitespace," writes Wynn Netherland at The Changelog. "But just like there are two names on those Top Gun plaques, there are two devs in a pair, so there shouldn't there be two names on the Git commit?" Read more at ReadWriteWeb Hack View more...Micro Frontends - A Simple DemoAggregated on: There are many articles in DZone and videos on the internet on Micro Frontends. So I'll skip the details and jump to the article. This article is about demonstrating the development of Micro Frontends using vanilla web components. I consider two Micro Frontends that are deployed independently of each other to two sub-domains and using different code repositories. These frontends are then assembled as one SPA. I'll then discuss the communication between the frontends and then present a working online demo of this SPA. The SPA - The Desired Result The screenshot of the SPA for this demo is: View more...Clutter 1.6 & GTK+ 2.24 Tool-Kits ReleasedAggregated on: There's good news in the land of GNOME tool-kits this week. In preparation for the release of GNOME 3.0, GTK+ 2.24 as well as Clutter 1.6.0 have been officially released... Read more at Phoronix View more...Critical Overview of Software Thought LeadershipAggregated on: Software is a formal discipline (it has numerous links to logic and foundations of mathematics) and yet the industry is saturated with cargo cult practices. Most companies are not Google, Amazon, Twitter, Facebook, Netflix, etc. and they never will be but a lot of programmers uncritically internalize and advocate for practices developed at those companies. I'd like to critically analyze some of the thought leadership and technology that has come out of those companies and how their uncritical adoptions has been a net negative for the software industry. Netflix - Chaos Engineering Netflix is famous for seemingly bucking the trend when it comes to engineering practices and theories. If you search for "netflix engineering/work culture" you will find slide decks outlining their work culture and how they famously don't put up with "low" performing team members. View more...Android Will be Using Ext4 Starting with GingerbreadAggregated on: I received a trackback from Tim Bray’s Saving Data Safely post on the Android Developer’s blog to my Don’t fear the fsync! blog entry, so I guess the cat’s out of the bag. Starting with Gingerbread, newer Android phones (starting with the Nexus S) will be using the ext4 file system. Very cool! Read more at Linux Developer Network View more...Firebase Errors for Humans - aka Best Error EverAggregated on: I'm working on a system for positive behavioral recognition and metrics using Firebase and React. This is a hobby/side project that I work on usually on nights and weekends. This weekend I had an issue with Firestore (the newer of the two data solutions inside the Firebase product). I was querying on multiple data attributes in a collection. This is not allowed in Firestore, unless you have created an index that includes those two attributes. View more...A Programmer’s Discussion: Procedural vs. OOAggregated on: So I have been writing code of one sort or another for over 15 years (mostly Perl) and there is still one thing I don’t get ... what is the advantage of object oriented programming (OOP) over procedural programming (PP)? Read more at Linux Journal View more...DevOps Your Skill: SubmitAggregated on: This is the last step of our pipeline. Previously we have run a lot of different tests and if everything is ok, it is time to submit our Alexa Skill to certification. It means, we have concluded the Continuous integration part, it is time to Continuous Deployment. These step are automated in the continuous integration system (CircleCI) and are executed in each new version of the software. View more...Cultured Perl: Perl and the Amazon cloudAggregated on: This five-part series walks you through building a simple photo-sharing Web site using Perl and Apache to access Amazon's Simple Storage Service (S3) and SimpleDB. In this installment, get a feel for the benefits and drawbacks of S3 and SimpleDB by taking a tour of their architectures and starting to design your photo-sharing site. Read the rest on IBM developerWorks... View more...Designing Hardware With Software: Hardware Description LanguagesAggregated on: Here's an idea: Use your software development skills to learn how to define a digital circuit in a hardware description language. You can program your design into a field-programmable gate array, resulting in a fully functional, high-performance custom digital device. Low-cost FPGA prototyping boards contain sufficient logic elements to implement complex modern processor designs such as RISC-V, along with any customized extensions you dream up. Hardware description languages are not the exclusive province of digital designers at semiconductor companies; even hobbyists can make full use of these powerful, free tools. This article introduces the VHDL language, used widely in the development of FPGA circuit designs. View more...5 Python Pluses for the EnterpriseAggregated on: By now, you should at least be passingly familiar with Python. One of the fastest-growing languages, Python has been gaining popularity for years and has reached a level of maturity that makes it a top choice for enterprise development. Companies from Microsoft to Google have embraced Python and are not only supporting its use, but also investing in its development. Google uses it to power some of the world's most scalable applications. Developers pick it up quickly and easily. Read more at LinuxInsider View more...API Security Weekly: Issue #85Aggregated on: Vulnerability: Google Cloud Deployment Manager Google Cloud Deployment Manager is an infrastructure management service that makes it simple to create, deploy, and manage Google Cloud Platform resources. Ezequiel Pereira found an API vulnerability in Google Cloud Deployment Manager and collected his $31K prize from Google as result. Pereira found a way to make it invoke Google internal APIs that he was not supposed to invoke: View more...Guido on the history of PythonAggregated on: Python creator Guido van Rossum has been writing a series on the history of the language; the latest installment is titled From List Comprehensions to Generator Expressions". "Why the differences, and why the changes to a more restrictive list comprehension in Python 3? The factors affecting the design were backwards compatibility, avoiding ambiguity, the desire for equivalence, and evolution of the language. Originally, Python (before it even had a version :-) only had the explicit for-loop. There is no ambiguity here for the part that comes after 'in': it is always followed by a colon. Therefore, I figured that if you wanted to loop over a bunch of known values, you shouldn't be bothered with having to put parentheses around them." Read more at LWN View more...IT Strategy Approach For Digital EnterpriseAggregated on: Introduction Today, more than ever before, and often without noticing it, technology touches every part of our lives. The adoption of next-generation technologies, automated tools, Agile and DevOps methodologies by an organization made the role of IT as a crucial factor for the business transformation. The ability to harness these powerful technical capabilities and use them to support the business is both challenging and rewarding. Achieving synergy between people, processes, and technology is not an easy task by any measure. The CIOs of organizations have to formulate a modern IT strategy that is in line with the new realities. The IT strategy is also called a technology strategy. It guides how IT helps businesses to win in their chosen business context. In the first place, the business needs of IT to be successful are: View more...Next3: Ext3 with SnapshotsAggregated on: The Next3 filesystem offers lightweight snapshots and is compatible with Ext3 Read more at The H View more...Deepmind’s Gaming Streak: The Rise of AI DominanceAggregated on: Why Play Games? Humans have played board games at least since the ancient Egyptian game of Senet, with game pieces found in burials dating back to 3500 BC (although the precursors of Backgammon may be older). Playing in general is an essential part of learning for animals, including humans. Deepmind has proven games are also a fertile substrate for developing machine learning and artificial intelligence. Games, especially classic board games like chess and Go (Go is generally capitalized in English to differentiate from the verb) make good candidates for developing machine game players thanks to a few shared characteristics. Games where self-play is possible are especially ripe candidates for developing capable agents as an agent experiences an environment with an adaptive difficulty provided by an improving opponent. View more...Tales from a Cloud Software FirmAggregated on: Following on from a discussion about how people are using the cloud, the Simple-Talk Editorial Team sat down with the CTO of 10th Magnitude to talk about how they deliver Cloud software and services for their clients using agile methodology, and Azure. View more...Using EC2 Image BuilderAggregated on: Modern CI/CD cycles force cloud infrastructure to be as agile as other components of the development and deployment process. After integrating security into the CI/CD cycle and adopting Infrastructure as Code, automation becomes the next thing to leverage. Automation in cloud infrastructure, however, can be limited in its application. With image management, for instance, automation can only be done through scripts designed to create snapshots and maintain images. View more...Cloud Services for the DBAAggregated on: A critical part of any DBA's role is implementing the systems that will improve in the long term their organization's guardianship, use and understanding of its data. Too often, however, this gets lost in the fog of immediate and urgent tasks. Gareth Marlow explains why he believes Cloud services will play an increasingly prominent role in helping DBAs achieve their strategic goals. View more...Native vs. Hybrid vs. Cross-Platform: How and What to Choose?Aggregated on: After coming up with an online business idea, many people get confused between the app development approaches. It is crucial for them to decide the right approach from the Native, Hybrid, and Cross-platform mobile app. Having the reason that each type of app has its specification, pros, and cons, this confusion is reasonable. Finding out, what type of app building approach will connect the audience with the brand faster is a real hassle. You must know choosing the right harvesting ground is essential for successful outcomes. Hence, it is no brainer that choosing the right platform for mobile app development is paramount, and it depends entirely on the nature of your business. View more...An Introduction to Windows Azure Table StorageAggregated on: Windows Azure Tables are intended for the storage of large amounts of schemaless data. Tables are just containers of rows of data. Mike Wood describes the practicalities of getting started with using the system. View more...10 Tips to Become a Better Software EngineerAggregated on: 1. Write It Out Before You Code Keep a habit of scribbling out the algorithm/pseudo-code before you actually convert the solution into code. Writing by hand can also help you plan your code before you move it to the computer. You can save a lot of time if you write out which functions and classes you will need, as well as how they will interact. Although more time consuming, this restriction will mold you into a more fundamentally sound developer. 2. Keep a Checklist of Tasks When you are implementing a feature, its always good to split the bigger tasks into smaller and clearer tasks which are individual logical units and can be tested individually. Keep a list of such small achievable tasks and keep ticking against them once you complete it. This will give you a boost and motivate you to keep ticking more boxes. The checklist can be either in a book or in any software (like Google Keep). View more...Windows Azure Management CertificatesAggregated on: Although Windows Azure can be used from the portal, it comes into its own once provisioning, deployments and maintenance can be automated or undertaken with specialized tools. To reach this stage, you need to understand Windows Azure Management Certificates. Mike Wood brings all this information into one article and guides you through the process. View more...5 Mobile App Testing Trends to Surface in 2020Aggregated on: The role of mobile apps in the currently thriving modernized setup has acquired an imperative stature. It is primarily to enhance the scale of convenience both at the consumer and enterprise-level that mobile apps have grown to become a major hit! For the success of any software or application, there are different stages of testing. App quality is the foremost factor that predicts the success of a particular mobile application. Over the years, mobile app testing trends have shown serious variations. The sole reason for this shift can be attributed to the rising count of mobile devices. View more...A Look into Windows Azure Media ServicesAggregated on: Windows Azure Media Services provides a fully-featured media management platform for Video-On-Demand solutions. Anton Staykov provides a first look at the benefits of this platform, some of the terms you should be familiar with, and how to get started. View more...3 Common Redux Bugs (and How to Fix Them)Aggregated on: Web developers hate bugs because they lead to malfunctioning applications. Bugs make an application to behave in undesirable ways, something which affects the experience of users. Redux developers hate bugs, too. Because the JavaScript library is mainly used to manage state in applications, any occurrence of bugs often leads to inconsistencies and unnecessary breakages. View more...Backup to the Cloud: The Silver LiningAggregated on: Offsite backups are vital to data integrity, allowing for preservation and backup of data in catastrophic circumstances. Cloud backups have been around for a while, but are now really coming into their own. Tony Davis looks at how to get set up with cloud backups for restores and disaster recovery. View more...4 Common Bugs in Angular (and How to Fix Them)Aggregated on: Angular developers often encounter bugs in their applications, which make them curse the framework and lament at some cryptic red lines on their consoles. However, because Angular is versatile, fast, and optimized for various platforms, it should not be frustrating when using it to build dynamic single page applications. View more...The Operating Systems of Windows AzureAggregated on: It is wrong to assume that moving to a managed cloud platform means never having to be concerned with upgrades to the operating system: It is important to be aware of how these updates are applied, and how they can affect the availability and maintainability of your cloud-based applications View more...Free Software vs Open Source vs Freeware: What's the Difference?Aggregated on: In the software development industry, technical terms are often dropped here and there. While some people unknowingly use them interchangeably, some confuse their meanings altogether. Free software, open source, freeware, and shareware are some of the most commonly confused software terms in the industry. View more...Data Science Laboratory System - Key/Value Pair SystemsAggregated on: Though the Key/Value pair paradigm is common to almost every computer language, there is no clear agreement yet for the definition of a Key/Value Pair database. However, Key/Value pair databases are valuable for special applications where speed of writing data is more important than searching and general versatility. It is certainly worth experimenting with in a data science lab. View more...Bridge the Gap of Zip OperationAggregated on: Despite Java not providing a zip operation, you don't need either 30 additional lines to implement it, nor a third party library. Simply compose a zipline through the existing Stream API. Abstract Java, from its 8th version onward, provides an easy way to query sequences of elements through its Stream Interface, which provides several operations out of the box. This set of operations is quite versatile but, as can be expected, it does not cover all the operations a programmer may require. One such operation is zip, as we can observe in one of the most visited posts about Java Streams in Stackoverfow: Zipping streams using JDK8 with lambda (java.util.stream.Streams.zip). Even 7 years later, we are now on Java 14 release and there is no zip operation for Streams yet. View more...An Introduction to Windows Azure BLOB StorageAggregated on: Azure BLOB storage is persistent Cloud data storage that serves a variety of purposes. Mike Wood shows the basics of how to use it, from start through to snapshots and metadata; both from .NET, and by using the free tool, Cerebrata Azure Explorer. View more...How to Attach an AWS EBS Storage Volume to Your Docker ContainerAggregated on: In an ideal world, Docker containers should be ephemeral without any reliance on external storage. In the microservice world, this is achievable when services are connecting to external databases, queues, and other services. Sometimes though, we need persistent storage, when we're running services such as Jenkins, Prometheus, or Postgres. Fortunately, there's a straightforward way to set this up now for our ECS Clusters using Docker volume drivers. In this article, you'll learn how to attach EBS volumes to your ECS Tasks, which detach and reattach automatically when your ECS Task gets restarted. View more...Data Science Laboratory System - Relational Database Management SystemsAggregated on: There is no better way of understanding new data processing, retrieval, analysis or visualising techniques than actually trying things out in a lab system. Buck Woody continues his series by explaining why an RDBMS is essential for a lab, what that is, and how to install SQL Server into the lab. View more...Phizzle Breaks Through the 40-watt Challenge of Edge ComputingAggregated on: Over the last few years, edge computing has gained traction in response to the ubiquity of IoT and the ever-expanding quantity of sensor data being collected. Cities are becoming connected through smart city initiatives focused on traffic patterns, weather, and the functionality of public utilities, such as lighting, parking meters, smart traffic lights, buildings, transport, and waste collection. These initiatives involve the deployment of high-bandwidth and latency-sensitive apps that draw information from multiple sources. The generated data cannot be useful when stored in a remote, centralized data center. It must be closer to the point of interaction; something edge computing can enable. View more... |
|
|