Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

Tech News - Programming

573 Articles
article-image-kotlin-native-0-8-recently-released-with-safer-concurrent-programming
Sugandha Lahoti
12 Jul 2018
2 min read
Save for later

Kotlin/Native 0.8 recently released with safer concurrent programming

Sugandha Lahoti
12 Jul 2018
2 min read
Jetbrains have released a new version of their Kotlin/Native technology. With Kotlin/Native, you can compile Kotlin to native binaries that run without any virtual machine. It can also be used when a developer needs to produce a reasonably-sized self-contained program not requiring an additional runtime. Kotlin/Native is now available in version 0.8 with the focus on safer concurrent programming, extending the stdlib functionality, and better iOS development support. The version also hosts numerous bug-fixes and performance optimizations. Let us take a look into each one in detail: Better concurrency support The version 0.8 improves concurrency support with the addition of shared immutable state and improved atomic values and references. Previously, Kotlin/Native applications kept the singleton object state local to a particular thread of execution. This helped in keeping the state of singleton objects on different threads non-synchronized. Now, the version 0.8 allows freezing on singleton objects. With this, developers now have a shared immutable state. A file will be read once per process execution, and is available to any thread or worker. Once published, the object is frozen, and cannot be modified anymore. Library improvements in Kotlin/Native Kotlin/Native has added performance improvements to the existing libraries. The standard library (kotlin.*) is standardized with other platforms using expect/actual mechanism and mostly matches other Kotlin flavors. The standard random number generator and collection shuffling functions are now available, eliminating the need of platform-specific APIs to obtain random numbers. Other JetBrains-provided libraries, like kotlinx.coroutines, kotlinx.serialization, and Ktor HTTP client will get experimental Kotlin/Native support. Developers can now write an iOS app and Android application sharing the same REST API-related logic. iOS support improvements The version 0.8 fixes bugs that prevent publishing iOS apps to AppStore and solves framework initialization problems. It also adds support for 32-bit ARM iOS, so that older devices can be used with Kotlin/Native as well. Binaries can be downloaded for macOS, Linux, and Windows. Visit the GitHub release page for additional information. Forget C and Java. Learn Kotlin: the next universal programming language Getting started with Kotlin programming 4 operator overloading techniques in Kotlin you need to know
Read more
  • 0
  • 0
  • 13872

article-image-racket-7-2-a-descendent-of-scheme-and-lisp-is-now-out
Bhagyashree R
01 Feb 2019
2 min read
Save for later

Racket 7.2, a descendent of Scheme and Lisp, is now out!

Bhagyashree R
01 Feb 2019
2 min read
On Wednesday, the team behind Racket released Racket 7.2. Racket is a general-purpose, multi-paradigm programming language based on Scheme and Lisp that emphasizes on functional programming. Racket’s core is built on a lot of C code, which affects its portability to different systems, maintenance, and performance. Hence, back in 2017, the team decided to make the Racket distribution run on Chez Scheme. Racket on Chez Scheme (Racket CS) implementation has reached the almost complete status with all functionalities in place. Sharing the status of Racket CS, the blog post reads, “DrRacket CS works fully, the main Racket CS distribution can build itself, and 99.95% of the core Racket test suite passes”. Though the code runs fine, still some work needs to be done to ensure end-to-end performance to make Racket CS the default implementation of Racket. The following updates apply to both the implementations of Racket: Contract system:  The contract system, which guards one part of a program from another, now supports collapsible contracts. This will prevent repeated wrappers in certain pathological situations. Quickscript: Quickscript is a tool for DrRacket which allows you to quickly and easily extend DrRacket features. This scripting tool now comes bundled with the standard distribution. Web server configuration: The built-in configuration used for serving static files is updated to recognize the “.mjs” extension for JavaScript modules. The data/enumerate library: The library now supports an additional form of subtraction via but-not/e. The racklog library: A number of improvements are done such as fixing the logic variable binding, logic variables containing predicates being applicable, and the introduction of an %andmap higher-order predicate. Read the official announcement at Racket’s website. Racket v7.0 is out with overhauled internals, updates to DrRacket, TypedRacket among others Pharo 7.0 released with 64-bit support, a new build process and more PayPal replaces Flow with TypeScript as their type checker for every new web app
Read more
  • 0
  • 0
  • 13852

article-image-microsoft-launches-a-free-version-of-its-teams-app-to-take-slack-head-on
Natasha Mathur
13 Jul 2018
3 min read
Save for later

Microsoft launches a free version of its Teams app to take Slack head on

Natasha Mathur
13 Jul 2018
3 min read
Yesterday, Microsoft announced a free version of the Microsoft Teams app posing heavy competition to its rival chat service Slack. The new Teams app comes loaded with key features such as unlimited free chat messages, app integrations, 300 user base limit, etc.  Whereas, Slack’s free version limits users to 10,000 searchable messages, making the Teams app a strong contender to Slack. Until now, Teams was only offered to clients that paid for Office 365 and its subscription. But, there is no need to be an Office 365 subscriber anymore to experience the power of the Teams app as stated by Lori Wright, General Manager of Microsoft 365 Teamwork. Let’s have a look at the features that the free version of the Teams app offers. Key Features The free version of Teams app is globally available in 40 different languages. It offers unlimited chat messages, app integrations, and search. It provides 10 GB team file storage as well as additional 2 GB per user. It has a built-in online office which includes Word, Excel, PowerPoint, OneNote along with SharePoint and OneDrive. There are native audio and video calling options for one on one meetings, small groups as well as for the full team. With over 140 business apps working with Teams, Microsoft will offer two additional features to the free version of Teams app, later this year. This includes background blurring and Inline message Translation in 36 languages. Background Blurring will intelligently blur out your screen’s background. So if you are conducting a video call from your kitchen table, there is no need to worry about the dirty dishes and the mess in the background as it won’t be visible.  Inline Message Translation allows people to chat in their native language and then translate their messages into English. But, there are still some key features that are available only in the paid version of the Teams app. With the paid version, all the video chats conducted within Team can be stored in the cloud. These are searchable and comes with automatic captioning. It also offers Email hosting through Exchange or Outlook. Microsoft is also planning on including facial recognition for the viewers to easily search what was said and who said it. Other than that, there will be a public preview of "live events” feature i.e. video broadcasts that can be transcribed, archived, and time coded which will be available shortly. Microsoft doesn't consider the free version of the Teams App as a lightweight version of the paid offering, which is the case with Slack. As mentioned earlier, Microsoft includes innumerable features that offer increased storage space, messaging search features along with letting users make group video and voice calls. Whereas, Slack's free version only allows calls between two people at a time. But, Slack is also working on improving its own in-app search, with automated suggestions. The main question is, whether the users who are already happy using Slack would want to switch to the Teams app or not. We can only wait to find out. Microsoft launches Surface Go tablet at just $399 Microsoft Azure IoT Edge is open source and generally available! Microsoft introduces ‘Immutable Blob Storage’, a highly protected object storage for Azure  
Read more
  • 0
  • 0
  • 13818

article-image-pycon-us-2018-highlights-quantum-computing-blockchains-and-serverless-rule
Richa Tripathi
17 May 2018
4 min read
Save for later

PyCon US 2018 Highlights: Quantum computing, blockchains and serverless rule!

Richa Tripathi
17 May 2018
4 min read
PyCon Conference 2018, held between May 9 -17 at Cleveland, United States, is one of the largest annual gatherings in the Python programming community. Every year features a range of important announcements and discussions, many of which could have a huge impact on the future of Python. This year featured discussions on everything from data science to cryptocurrencies. Let’s take a look at some of the highlights. Quantum Computing Quantum computers are turning into reality, 30 years after they were first theorized. Companies such as IBM, Google, Intel, and Microsoft have all jumped into the quantum computing pool by announcing their own quantum devices. Although Quantum computing is still at a very early stage, Python is slowly becoming a de facto language for programming quantum computers due to its vast ecosystem of libraries. Dr. Ravi Chityala, a Senior Engineer at Elekta Inc, gave an impressive talk on quantum computing while highlighting several caveats that distinguish a traditional and quantum computer. He also demonstrated how to program a quantum computer on stage with Python. Check out the complete presentation here. Blockchain and Cryptocurrencies Blockchain and cryptocurrencies are all the rage right now. Cryptocurrencies such as Bitcoin had attracted a lot of attention in the past one year, mostly from people who were trying to make a quick buck. But this trends seems to be settling down. People are shifting their focus to understanding the technology behind cryptocurrencies. This is where Blockchain comes into the picture. What’s important to developers and businesses is how Blockchain can be applied. The lack of knowledge about how Blockchain works is a barrier that stops many  people entering and exploring the blockchain and cryptocurrency world. The session “Getting Started with Blockchains and Cryptocurrencies in Python” at PyCon conducted by Amirali Sanatinia, aimed to solve this problem by helping them understand the nuts and bolts of Blockchain and embark their journey on this revolutionary technology. Django 2.0 Unchained Django is one of the most popular web development frameworks for Python. Last December the Django team released version 2 of the popular server-side framework. Since this was one of the major releases, it was no surprise that Django was a hot topic of discussion at PyCon 2018. Harry Percival, author of Test-Driven Development with Python, presented a couple of tutorials specifically for Python testers. His tutorial was an introduction to doing Test-Driven Development (TDD) with Django.He shed some light on how automated software testing has moved from being a niche interest to an important new way of thinking about how to optimise automation testing. Serverless Python Serverless is the latest phase in the evolution of cloud development; it has recently exploded in terms of popularity. Going serverless lets developers to focus on their core product instead of worrying about managing and operating servers or runtimes, either in the cloud or on-premises. This reduced overhead helps them to achieve the required scale without the overhead of running and managing the fleet of servers. Since Python is one of the few languages supported by AWS Lambda, developers can leverage it to build fast and cost-effective solutions. In PyCon 2018 we saw some exciting sessions which highlighted the latest developments in Serverless computing. James Saryerwinnie’s tutorial on Building serverless applications with AWS Chalice, sparked the interest of professional developers, while Michael Herman’s tutorial on Going Serverless with OpenFaaS, Kubernetes, and Python was explored how to build and deploy a full-stack application that uses Flask (client-facing app) along with OpenFaaS to handle background processes. While the list of sessions is long we can only cover so much. One of the most important reasons for the dominating success of Python’s popularity is it’s vibrant community and PyCon is a shining example of that. It truly symbolises how liked minded people come together and share the knowledge to make the software development world a better place to live. You can catch up on all the sessions, tutorials, and events at PyCon 2018 at their official website and their Youtube vlog. Should you move to Python 3? 7 Python experts’ opinions How to write high quality code in Python: 15+ tips for data scientists and researchers Why is Python so good for AI and Machine Learning? 5 Python Experts Explain    
Read more
  • 0
  • 0
  • 13817

article-image-jep-325-revamped-switch-statements-that-can-also-be-expressions-proposed-for-java-12
Prasad Ramesh
21 Aug 2018
3 min read
Save for later

JEP 325: Revamped switch statements that can also be expressions proposed for Java 12

Prasad Ramesh
21 Aug 2018
3 min read
Java is preparing to support pattern matching, part of which is revamping the switch statement. The changes are going to allow the switch statement to be used as both statements and as an expression. The changes to the switch statement will simplify everyday coding. It will also pave the way for the use of pattern matching in switch. The current Java switch statement is similar to the ones in languages such as C and C++. It supports fall-through semantics by default. This traditional control flow is often useful for writing low-level code but is error-prone in switch statements used in higher-level code. Brian Goetz, architect at Oracle has proposed to add a new simplified form, with new "case L ->" switch labels in addition to traditional switch blocks. On label match, only the statement or expression to the right of an arrow label is executed. For example, consider the following method: static void howMany(int k) {    switch (k) {        case 1 -> System.out.println("one");        case 2 -> System.out.println("two");        case 3 -> System.out.println("many");    } } On calling the function on these values: howMany(1); howMany(2); howMany(3); This is the output: one two many A new form of switch label, written "case L ->" is proposed to be added. This is an effort to imply that only the code to the right of the label is to be executed if the label is matched. Like a switch statement, a switch expression can also use a traditional switch block with "case L:" switch labels. Most switch expressions have only one expression to the right of the "case L ->" switch label. When a full block is needed, the break statement is extended to take an argument. The cases of a switch expression must contain a matching switch label for any possible value. In practice, this means that a default clause is required. An enum switch expression covers all known cases. In this case, a default clause can be inserted by the compiler indicating that the enum definition has changed between compile-time and runtime. This is done manually by developers today, but having the compiler insert is less intrusive. Also, a switch expression must execute normally with a value or throw an exception. This has a number of consequences like the compiler checking every switch label. Another consequence is that the control statements like break, return and continue, not being able to jump through a switch expression. For more information visit the official OpenJDK post. No more free Java SE 8 updates for commercial use after January 2019 Dagger 2.17, a dependency injection framework for Java and Android, is now out! Build Java EE containers using Docker [Tutorial]
Read more
  • 0
  • 0
  • 13798

article-image-state-of-go-february-2019-golang-developments-report-for-this-month-released
Prasad Ramesh
04 Feb 2019
2 min read
Save for later

State of Go February 2019 - Golang developments report for this month released

Prasad Ramesh
04 Feb 2019
2 min read
This Saturday, the Golang team released the State of Go February 2019 outlining the developments in the programming language and showing its current state. Since Golang 1.11, changes have been made to the standard library, tooling, and the community. Changes in the standard library html/template The behavior when an interface is typed to an implicit escaper function is changed. It was previously <nil> and is now ignored. Changes under bufio, NewReader The UnreadRune and UnreadByte methods from Reader will return an error if they are called after Peek. new ReplaceAll function There is a new ReplaceAll function where the value passed can be bytes or strings. Changes under builtin: maps printed sorted To print a map sorted by keys, developers can just print the map. However, note that iteration will be done randomly. TLS 1.3 Using TLS 1.3 in Go helps by causing one fewer round trip, securing only cipher suites, and provides support in all major browsers. Tooling changes The following commands now work: go run pkg go run dir Functions can now be run in the debugger. The godoc CLI is now deprecated. The go vet tool is deprecated in Go 1.12. It detects wrapped fmt.Printf errors. modules modules is an alternative to GOPATH. It has integrated versioning and package distribution. runtime/trace Now there are custom events to runtime traces. webassembly Go can now compile to WebAssembly (wasm files) Ports You need Go 1.11 and later for OpenBSD 6.4 arm64 runtime is now faster Windows/arm now has support for Raspberry Pi3 These were a select few important updates from the presentation, for more details you can view The State of Go: Feb 2019. The Golang team has started working on Go 2 proposals Golang just celebrated its ninth anniversary GoCity: Turn your Golang program into a 3D city
Read more
  • 0
  • 0
  • 13794
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-visual-studio-code-july-2018-release-version-1-26-is-out
Savia Lobo
14 Aug 2018
3 min read
Save for later

Visual Studio code July 2018 release, version 1.26 is out!

Savia Lobo
14 Aug 2018
3 min read
The July 2018 release of Visual Studio code 1.26 version is now available. This version includes new features for navigation, how to apply a quick fix to any problem, managing extensions and much more. What’s new in the Visual Studio code 1.26? Breadcrumbs The Visual studio editor now has a navigation bar above its contents called Breadcrumbs. It displays the current location and allows quick navigation between symbols and files. Breadcrumb navigation allows one to jump to symbols and files in their workspace. Quick Fixes from Problems panel Now one can apply Quick code fixes from the Problems panel while reviewing warning and errors. When a problem entry is hovered or selected, the respective Quick Fixes are shown via a light bulb indicator. Quick Fixes can be applied either by clicking on the light bulb or by opening the context menu for the problem entry. User setup on Windows The user setup package for Windows, announced in the previous release, is now available. This setup does not require Administrator privileges while installation. It also provides a smoother background update experience. Current users of the system-wide Windows setup will be prompted to switch to the user setup. New users will be directed towards using it by default via Visual Studio code Download page. Terminal column selection Column selection is now supported within the Integrated Terminal via Alt+click. Add all missing imports with a single quick fix The Add missing import Quick Fix can now be applied to all missing imports in a JavaScript/TypeScript file. This Quick Fix requires only a single action to add all missing imports in a JavaScript/TypeScript file. JSX tag completion Now one can work with JSX tags in JavaScript/TypeScript similar to that in HTML. The JSX tags are now closed automatically when you type ‘>’ in a JavaScript or TypeScript file. Auto closing of tags can be disabled by setting "javascript.autoClosingTags": false and "typescript.autoClosingTags": false. Better JS/TS error reporting The TypeScript team has done a lot of work to make JavaScript and TypeScript error messages smarter and clearer. Some error messages now include links to relevant locations in the source code. Improved extension search This release has added an IntelliSense autocompletion to the extension searchfield making it easier. This will help in refining extension searches to filter results based on things like category and install state; or sort results by name, rating, or install count. Extension Pack management Extension Pack management has been improved in this release. An Extension Pack is installed, uninstalled, enabled or disabled always as a single pack. One can now uninstall or disable an extension belonging to an Extension Pack without requiring to uninstall or disable the entire Extension Pack. One can easily manage Extension Packs as a single unit or by individual extension. There is also a new Extension Pack tab which displays which extensions are bundled in the Extension Pack. Preview: Settings editor This version includes a preview of GUI for editing settings. To try it out, one can go to Preferences: Open Settings (Preview) command. It contains rich settings description display, "Table of Contents" tracks scrolling, and much more. Read more about these features in detail on the Visual Studio Code July 2018 version 1.26 release notes. Microsoft releases the Python Language Server in Visual Studio Debugging Xamarin Application on Visual Studio [Tutorial] Visual Studio 2019: New features you should expect to see
Read more
  • 0
  • 0
  • 13791

article-image-announcing-async-std-beta-release-an-async-port-of-rusts-standard-library
Bhagyashree R
20 Aug 2019
3 min read
Save for later

Announcing ‘async-std’ beta release, an async port of Rust's standard library

Bhagyashree R
20 Aug 2019
3 min read
Last week, Stjepan Glavina, a Rust programmer at Ferrous Systems, announced that the ‘async-std’ library has now reached its beta phase. This library has the “looks and feels” of Rust’s standard library but replaces its components with their async counterparts. The current state of asynchronous programming in Rust Asynchronous code facilitates the execution of multiple tasks concurrently on the same OS thread. It can potentially make your application much faster while using fewer resources as compared to a corresponding threaded implementation. Speaking of Rust’s asynchronous ecosystem, we can say that it is still early days. The standard library’s Future trait was recently stabilized and the async/await feature will soon be landing in a future version. Why async-std is introduced Rust’s Future trait is often considered to be difficult to understand, not because it is complex but because it is something that people are not used to. Stating what makes Futures confusing, the book accompanying the ‘async-std’ library states, “Futures have three concepts at their base that seem to be a constant source of confusion: deferred computation, asynchronicity and independence of execution strategy.” The ‘async-std’ library, together with its supporting libraries, aims to make asynchronous programming easier in Rust. It is based on Future and supports a set of traits from the futures library. It is also designed to support the new async programming model that is slated to be stabilized in Rust 1.39. The async-std library serves as an interface to all important primitives including filesystem operations, network operations and concurrency basics like timers. In addition to the async variations of I/O primitives found in std, it comes with async versions of concurrency primitives like Mutex and RwLock. It also ships with a ‘tasks’ module that performs a single allocation per spawned task and awaits the result of the task without the need of an extra channel. Speaking about the learning curve of async-std, Glavina said, “By mimicking standard library's well-understood APIs as closely as possible, we hope users will have an easy time learning how to use async-std and switching from thread-based blocking APIs to asynchronous ones. If you're familiar with Rust's standard library, very little should come as a surprise.” The library received a mixed reaction from the community. A user said, “In fact, Rust does have a great solution for non-blocking code: just use threads! Threads work great, they are very fast on Linux, and solutions such as goroutines are just implementations of threads in userland anyway...People tell me that Rust services scale up to thousands of requests per second on Linux by just using 1:1 threads.” A Rust developer on Reddit commented, “Looks good. I'm hoping we can soon see this project, the futures crate, async WGs crates and Tokio converge to build unified async foundations, reduce duplicated efforts (and avoid seeing dependencies explode when using several crates using async together). It's unclear to me why apparently similar crates are popping up, but I hope this is just temporary explorations of async that will merge together.” Check out the official announcement to know more about the async-std library. Also, check out its book: Async programming in Rust with async-std. Rust 1.37.0 releases with support for profile-guided optimization, built-in cargo vendor, and more Introducing Abscissa, a security-oriented Rust application framework by iqlusion Introducing Ballista, a distributed compute platform based on Kubernetes and Rust  
Read more
  • 0
  • 0
  • 13786

article-image-racket-7-3-releases-with-improved-racket-on-chez-refactored-io-system-and-more
Bhagyashree R
17 May 2019
2 min read
Save for later

Racket 7.3 releases with improved Racket-on-Chez, refactored IO system, and more

Bhagyashree R
17 May 2019
2 min read
Earlier this week, the team behind Racket announced the release of Racket 7.3. This release comes with improved Racket-on-Chez, refactored IO system, a new shear function in the Pict library, and more. The Racket programming language is general-purpose, multi-paradigm, and is a dialect of Lisp and Scheme. Updates in Racket 7.3 Snapshot builds of Racket-on-Chez are now available Racket’s core was largely implemented in C, which affects its portability to different systems, maintenance, and performance. Hence, back in 2017, the team decided to make the Racket distribution run on Chez Scheme. With the last release (Racket 7.2), the team shared that the implementation of Racket on Chez Scheme (Racket CS) has reached almost complete status with all functionalities in place. With this release, the team has added more improvements to Racket-on-Chez and has made its snapshot builds available on Racket Snapshots. The team further shared that by next release we can expect Racket-on-Chez to be included as a download option. Other updates In addition to the improvements in Racket-on-Chez, the following updates are introduced: Racket’s IO system is refactored to provide better performance and a simplified internal design. The JSON reader is now dramatically faster. The Racket web library now comes with improved support for 307 redirects. The Plot library comes with color map support for renderers. The Plot library allows you to produce any kind of plot including scatter plots, line plots, contour plots, histograms, and 3D surfaces and isosurfaces. A ‘shear’ function is added to the Pict library, Racket’s one of the standard functional picture libraries. Read the full announcement on Racket’s official website. Racket 7.2, a descendant of Scheme and Lisp, is now out! Racket v7.0 is out with overhauled internals, updates to DrRacket, TypedRacket among others Swift is improving the UI of its generics model with the “reverse generics” system
Read more
  • 0
  • 0
  • 13783

article-image-nginx-hybrid-application-delivery-controller-platform-improves-api-management-manages-microservices-and-much-more
Melisha Dsouza
15 Oct 2018
3 min read
Save for later

NGINX Hybrid Application Delivery Controller Platform improves API management, manages microservices and much more!

Melisha Dsouza
15 Oct 2018
3 min read
“Technology is front and center in every business strategy, and enterprises of all sizes and in all industries must embrace digital to attract, retain, and enrich customers,” -Gus Robertson, CEO, NGINX At the NGINX Conf 2018, the NGINX team has announced enhancements to its Application Platform that will serve as a common framework across monolithic and microservices based applications. The upgrade comes with 3 new releases; NGINX Plus, NGINX Controller, and NGINX Unit, which have been engineered to provide a built-in service mesh for managing microservices and an integrated application programming interface (API) management platform. They also maintain the traditional load balancing capabilities and a web application firewall (WAF). An application delivery controller (ADC) is used to improve the performance of web applications. The ADC acts as a mediator between web and application servers and their clients. It transfers requests and responses between them while enhancing performance using processes like load balancing, caching, compression, and offloading of SSL processing. The main aim of re-architecting NGINX’s platform and launching new updates was to provide a more comprehensive approach to integrating load balancing, service mesh technologies, and API management. This was to be done leveraging the modular architecture of the NGINX controller. Here is a gist of the three new NGINX product releases: #1 NGINX Controller 2.0 This controller is an upgrade on the NGINX Controller 1.0 that was launched in June of 2018. It was introduced with centralized management, monitoring, and analytics for NGINX Plus load balancers. Now, NGINX Controller 2.0 brings advanced NGINX Plus configuration. This includes version control, diffing, reverting and many more features. It also includes an all-newAPI Management Module which manages the NGINX Plus as an API gateway. Besides this, the controller will also include a future Service Mesh Module. #2 NGINX Plus R16 The R16 comes with dynamic clustering. It has a clustered state sharing and key-value stores for global rate limiting and DDoS mitigation. It also comes with load balancing algorithms for Kubernetes and microservices, enhanced UDP for VoIP and VDI, and AWS PrivateLink integration. #3 NGINX Unit 1.4 This unit improves security and language support while providing support for TLS. It also adds JavaScript with Node.js to extend existing Go, Perl, PHP, Python, and Ruby language support. Enterprises can now use the NGINX Application Platform to function as a Dynamic Application Gateway and a Dynamic Application Infrastructure. NGINX Plus and NGINX are used by popular, high-traffic sites such as Dropbox, Netflix, and Zynga. More than 319 million websites worldwide rely on NGINX Plus and NGINX application delivery platforms. To know more about this announcement, head over to DevOps.com Kong 1.0 launches: the only open source API platform specifically built for microservices, cloud, and serverless OpenFaaS releases full support for stateless microservices in OpenFaaS 0.9.0 Getting started with F# for .Net Core application development [Tutorial]  
Read more
  • 0
  • 0
  • 13777
article-image-nim-1-0-releases-with-improved-library-backward-compatibility-and-more
Amrata Joshi
24 Sep 2019
2 min read
Save for later

Nim 1.0 releases with improved library, backward compatibility and more

Amrata Joshi
24 Sep 2019
2 min read
Yesterday, the team at Nim announced Nim version 1.0, a general-purpose, compiled programming language that focuses on efficiency, readability and flexibility. Major changes in Nim 1.0 Backwards compatibility The switch -d:nimBinaryStdFiles has been removed in this release and stdin/stdout/stderr are now the binary files again.  In this release, the language definition and compiler are now stricter about gensym'ed symbols in hygienic templates.  Changes made to library The team has removed unicode.Rune16 in this release as the name ‘Rune16 ’ was wrong. In Nim 1.0, encodings.getCurrentEncoding distinguishes between the OS's encoding and console's encoding.  In this release, json.parseJsonFragments iterator can speedup JSON processing. Oid usage has been enabled in hashtables. std/monotimes module has been added that implements monotonic timestamps. Compiler In Nim 1.0, the Nim compiler warns about unused module imports. Users can use a top-level {.used.} pragma in the module that can be importable without giving a warning. In this version, the Nim compiler nomore recompiles the Nim project via nim c -r if case no dependent Nim file is changed. Users seem to be excited about this news and are appreciating the efforts taken by the team. A user commented on HackerNews, “Great! I love this language, so simple and powerful, so fast executables!”  Another user commented, “I would have never thought to live long enough to see this happening! I started using Nim in 2014, but abandoned it after a few years, frustrated by the instability of the language and what I perceived as a lack of vision. (In 2014, release 1.0 was said to be "behind the corner".) This release makes me eager to try it again. I remember that the language impressed me a lot: easy to learn, well-thought, and very fast to compile. Congratulations to the team!” Other interesting news in programming How Quarkus brings Java into the modern world of enterprise tech LLVM 9 releases with official RISC-V target support, asm goto, Clang 9, and more Twitter announces to test ‘Hide Replies’ feature in the US and Japan, after testing it in Canada
Read more
  • 0
  • 0
  • 13759

article-image-it-is-supposedly-possible-to-increase-reproducibility-from-54-to-90-in-debian-buster
Melisha Dsouza
06 Mar 2019
2 min read
Save for later

It is supposedly possible to increase reproducibility from 54% to 90% in Debian Buster!

Melisha Dsouza
06 Mar 2019
2 min read
Yesterday, Holger Levsen, a member of the team maintaining reproducible.debian.net, started a discussion on reproducible builds, stating that “Debian Buster will only be 54% reproducible (while we could be at >90%)”. He started off by stating that tests indicate Debian Buster’s 26476 source packages (92.8%) out of 28523 source packages in total can be built reproducibly in buster/amd64. The 28523 source packages build 57448 binary packages. Next, by looking at binary packages that Debian actually distributes, he says that Vagrant came up with an idea to check buildinfo.debian.net for .deb files for which there exists 2 or more .buildinfo. Turning this into a Jenkins job, he checked the above idea for all 57448 binary packages (including downloading all those .deb files from ftp.d.o)  in amd64/buster/main. He obtained the following results: reproducible packages in buster/amd64: 30885: (53.7600%) unreproducible packages in buster/amd64: 26543: (46.2000%) and reproducible binNMUs in buster/amd64: 0: (0%) unreproducible binNMU in buster/amd64: 7423: (12.9200%) He suggests that binNMUs are unreproducible because of their design and his proposed solution to obtain reproducible nature is that 'binNMUs should be replaced by easy "no-change-except-debian/changelog-uploads'. This means a 12% increase in reproducibility from 54%. Next, he also discovered that 6804 source packages need a rebuild from December 2016. This is because these packages were built with an old dpkg not producing .buildinfo files. 6804 of 28523 accounts for 23.9%. Summing everything up- 54%+12%+24% equals 90% reproducibility. Refer to the entire discussion thread for more details on this news. Google Project Zero discovers a cache invalidation bug in Linux memory management, Ubuntu and Debian remain vulnerable User discovers bug in debian stable kernel upgrade; armmp package affected Debian 9.7 released with fix for RCE flaw
Read more
  • 0
  • 0
  • 13738

article-image-facebook-watch-is-now-available-world-wide-challenging-video-streaming-rivals-youtube-twitch-and-more
Bhagyashree R
30 Aug 2018
3 min read
Save for later

Facebook Watch is now available world-wide challenging video streaming rivals, YouTube, Twitch, and more

Bhagyashree R
30 Aug 2018
3 min read
Yesterday, Facebook made its video-streaming service named, Facebook Watch globally available. It was first launched in August 2017 for a limited group of people in the US. Facebook Watch's content is produced by its partners, who can earn 55% of advertising revenue while Facebook keeps 45%. How Facebook Watch is different from other streaming rivals like YouTube, Twitch and more? Facebook believes that Watch is unique as compared to its rivals, such as YouTube, Amazon’s Twitch, Netflix because it has an added advantage of how Watch helps viewers interact with each other. Fidji Simo, Facebook’s vice-president of video, told BBC: “It is built on the notion that watching video doesn’t have to be a passive experience. You can have a two-way conversation about the content with friends, other fans or even the creators themselves.” Facebook Watch comes with a feature called Watch Party that lets its users to coordinate themselves to watch a show together. Creators can boost engagement with the help of Interactivity Platform that allows them to run polls, challenges, and quizzes. How will it support its content creators? Facebook has laid out a plan to support their publishers and content creators in two main areas: Ad breaks to generate revenue from their videos Creator Studio to understand how their content is performing Ad breaks eligibility criteria and availability Ad breaks are launched across four markets and is only available to pages that publish videos in certain languages and countries right now. It will support more countries and languages by the end of the year and in 2019. Eligibility: Your videos should be 3-minute long Videos that have generated more than 30,000 1-minute views in total over the past two months Pages should have at least 10,000 Facebook followers Meet their Monetisation Eligibility standards Should be located in a country where ad breaks are available Availability: Currently, ad breaks are supported in the US, UK, Ireland, New Zealand and Australia. Over the next few months, availability will further expand to more countries and languages. Manage your video content with Creator Studio Creator Studio provide creators a central place for Pages to manage their entire content library and business. You can do the following: Manage content and interactions: Look through the insights, manage interactions across all owned Pages, respond to Facebook messages or comments on Facebook and Instagram. Streamline video publishing: Compose, schedule, and publish content across owned Pages and also do bulk uploads. Access ad breaks: Review monetisation insights and view payments. Along with this, you can access Rights Manager, use sound collection, and take advantage of new features and monetisation opportunities that they may be eligible for. To know more about the recent updates and your eligibility on Facebook Watch, check out their official announcement. A new conservative employee group within Facebook to protest Facebook’s “intolerant” liberal policies Facebook bans another quiz app and suspends 400 more due to concerns of data misuse Facebook is reportedly rating users on how trustworthy they are at flagging fake news
Read more
  • 0
  • 0
  • 13730
article-image-microsoft-announces-official-support-for-windows-10-to-build-64-bit-arm-apps
Prasad Ramesh
19 Nov 2018
2 min read
Save for later

Microsoft announces official support for Windows 10 to build 64-bit ARM apps

Prasad Ramesh
19 Nov 2018
2 min read
Last week Microsoft announced that developers using Visual Studio now have access to officially supported SDK and tools for creating 64-bit ARM (ARM64) apps. The Microsoft Store is now also accepting submissions for apps built for the ARM64 architecture. Lenovo and Samsung are coming up with new Windows 10 ARM devices featuring the Qualcomm Snapdragon 850 chip. An x86 emulation layer lets these devices run Windows applications. Developers can use Visual Studio 15.9 to recompile apps both on UWP and C++ Win32. These apps can run natively on ARM devices running Windows 10. Running natively allows the applications to take complete advantage of the processing power and capabilities of Windows 10. This results in the best possible experience for users. Instructions to enable Windows 10 64-bit ARM apps support You need to update your Visual Studio to version 15.9. Ensure that you have installed the individual component “Visual C++ compilers and libraries for ARM64” if you plan to build ARM64 C++ Win32 apps. ARM64 will be seen as an available build configuration after updating for new UWP projects. For existing projects and C++ Win32 projects, an ARM configuration needs to be added to the project. This can be done via the Configuration properties in Configuration Manager. Add a new Active solution platform and name it ARM64. Then copy the settings from ARM or x64 and check the box to Create new project platforms. Hitting build should ready the ARM binaries. You can use remote debugging to debug your app. This is fully supported on ARM64. You can alternatively create a package for sideloading or directly copy binaries to run the app. The Windows Store is now accepting ARM64 UWP apps, both on C++ and .NET Native. You can also use the Desktop Bridge to wrap ARM64 binaries into a package to submit to the Windows Store. You can also host dedicated ARM64 versions of Win32 apps on your own website or integrate ARM64 into existing multi-architecture installers. For more instructions, visit the Windows Blog. Another bug in Windows 10 October update that can cause data loss Microsoft announces .NET standard 2.1 Microsoft bring an open-source model of Component Firmware Update (CFU) for peripheral developers
Read more
  • 0
  • 0
  • 13699

article-image-haiku-open-source-beos-clone-to-release-in-beta-after-17-years-of-development
Melisha Dsouza
10 Sep 2018
4 min read
Save for later

Haiku, the open source BeOS clone, to release in beta after 17 years of development

Melisha Dsouza
10 Sep 2018
4 min read
The Haiku OS project initially launched in August 2001, then named as “OpenBeOS”, is nearing a beta release expected later this month. It's been over 17 years since the project launched, and more than 18 years since the last release of the operating system- BeOS that inspired it. BeOs launched in 1995 by Be Inc, almost became the operating system for Apple’s hardware. However, the negotiations between Be Inc and Apple turned into nothing and the iPhone giant decided in favour of NeXT. Used primarily in the area of multimedia by software developers and users, BeOS had an impressive user interface, pre-emptive multitasking, symmetric multiprocessing and a 64-bit journaling file system. Cloning BeOS, Haiku's boot performance is very good. The Haiku user interface is modeled entirely after BeOS, acquiring its signature variable-width title bars and spatial file management. Be Inc was shuttered in 2001. Although BeOS is dead- Haiku is very much alive, with around 50 people contributing to a patch every year. The biggest challenge that Haiku faces is the length of time between its releases. The most recent release, Haiku R1 Alpha 4.1, dates back to November 2012. In response to the considerable amount of time taken for this release, Haiku developer Adrien Destugues asserts that they needed to figure out various details regarding the project. From how to get the process back on track, to figuring out the buildbot setup, how to distribute the release to mirrors, where to get CDs pressed , and how to ship these to users who want to buy them. While the expected release date is somewhere towards the end of this month, Destugues is also open to delaying the release for another month or so in order to ship a quality product.  However, he confirms that, beginning with the first beta, there will be more frequent releases and continuous updates via the OS’s package manager. Why Should Haiku users stick around? Right after the first release of Haiku, the development team released a poll with a list of features, for which developers and users would vote to decide if they were ‘R1’ or ‘not R1’ Along with fixing a lot of bugs encountered in the previous version, users can now look forward to new features, including- Support for Wi-Fi A modern web browser with CSS and HTML5 support Improvements to the APIs which include support for system notifications, applications localisation, easier controls in the GUI, ‘stack and tile’ window management ‘Launch daemon’ in charge of starting and monitoring system services 64-bit CPU support, support for more than eight CPU cores USB3 and SATA support Support for more than 1GB of RAM Haiku now includes Package manager. All of these features will help the 200 odd users to run Haiku on a modern machine. The Haiku OS is famous among its users for its ease of use, responsiveness, and overall coherence. HaikuPorts and HaikuArchives currently include a range of software that can be used with the OS- including small 2D games, porting tools for embedded systems and the occasional Python library needed. Haiku has also made it possible to achieve porting Qt, LibreOffice, or other large applications over from the Linux world. While working with Haiku, developers often encounter system bugs in the process. This means if one is developing an application and is faced with resolving a bug, sooner or later they will be fixing the OS as well. Naturally, there are some viewers who are apprehensive of the timeline committed by Haiku, as they have waited long enough for the release. Source: Reddit After a span of 17 years, it would be interesting to see the number of Haiku users that have stuck around for the Beta release. Head over to computerworld for deeper insights on this project. Sugar operating system: A new OS to enhance GPU acceleration security in web apps cstar: Spotify’s Cassandra orchestration tool is now open source! Storj Labs’ Open Source Partner Program generates revenue opportunities for open source companies
Read more
  • 0
  • 0
  • 13678
Modal Close icon
Modal Close icon