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
Events
Videos
Audiobooks
Packt Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

Tech News

3711 Articles
article-image-apache-netbeans-9-available-with-java-9-10-support
Sugandha Lahoti
31 Jul 2018
3 min read
Save for later

Apache NetBeans 9.0 is now available with Java 9 & 10 support

Sugandha Lahoti
31 Jul 2018
3 min read
The Apache NetBeans team has announced the latest release of the Java IDE Apache NetBeans 9.0 (incubating). This release focuses on two main objectives, the IP clearance of the Oracle code donation and Java 9 and 10 Support. It also adds other new features, such as support for local variable type inference and the Jigsaw module system, a new Java Modular Application project type, and Java Shell support. The ASF Incubator is the official entry path for projects and codebases that want to become a part of the ASF. This is the process through which those projects are screened to make sure they comply with the ASF legal standards and their support communities adhere to the ASF's guiding principles. The primary focus of this release is IP clearance of the code Oracle donated to the ASF. Local Variable Type Inference support Apache NetBeans (incubating) 9.0 adds support for Java 10 with new hints, error handlers, and refactorings for transforming to the new JDK 10 var type. New hint to convert explicit variable type to var. New hint to Convert var type back to explicit type. Var is not supported in a compound variable declaration. This hint helps correct compilation error by splitting the declaration into separate statements. New Error Hint for var Array declaration. This hint helps correct compilation errors by converting to an explicit type by inferring the type of data in an array. Support for the Jigsaw model Apache NetBeans 9.0 adds support for the Java Platform Module System (JPMS) which a central component of Project Jigsaw. NetBeans 9 adds ModulePath as a paradigm to NetBeans in addition to Classpath. Project Jigsaw was established with the goal to improve the security and maintainability of Java SE Platform Implementations and the JDK. It was made with the purpose to make it easy for developers to construct and maintain libraries and large applications. Java Modular Application project type Apache Netbeans 9.0 also adds a new Java Modular project type, which enables the development of several JDK 9 modules in one NetBeans project. The advantage of this type over other Java SE projects is that dependencies are managed by declaring the appropriate exports and requires, and all modules and the project are compiled at the same time. Java Shell support Apache Netbeans 9.0 also adds an integrated console-like UI to the Java Shell to leverage NetBeans editor capabilities. Java Shell introduces REPL (read-eval-print-loop) capabilities to Java and is included in JDK9 and defined in JEP 222. NetBeans also extends the capabilities of the command line tool, allowing developers to execute the shell as an agent on the debugged or run application. The Snippets written in JShell can be redefined and tested, even against a running code. Apache NetBeans 9.0 is available for download from your closest Apache mirror. For this release no installers are provided, you need to just download the binaries and unzip them. Source: incubating-netbeans-java-9.0-source.zip ( PGP ASC, SHA-1) Binaries: incubating-netbeans-java-9.0-bin.zip ( PGP ASC, SHA-1) More information about this release is available on the Apache NetBeans blog post. Apache NetBeans 9.0 RC1 released! What can you expect from the upcoming Java 11 JDK? The NetBeans Developer’s Life Cycle
Read more
  • 0
  • 0
  • 14731

article-image-netspectre-attack-exploits-data-from-cpu-memory
Savia Lobo
31 Jul 2018
3 min read
Save for later

NetSpectre attack exploits data from CPU memory

Savia Lobo
31 Jul 2018
3 min read
After the recent SpectreRSB attack on Intel, AMD, and ARM CPUs, a group of security researchers have found a new Spectre variant in town codenamed NetSpectre. They have recorded this latest Spectre in their paper, “NetSpectre:Read arbitrary memory over Network” As per the researchers, the specialty of NetSpectre is, it can be launched over the network without requiring the attacker to host the code on a targeted machine. This new Spectre attack is a new remote side-channel attack, which is related to Spectre variant 1. https://twitter.com/misc0110/status/1022603751197163520 What does NetSpectre attack do? The new Spectre attack exploits speculative execution to perform bounds-check bypass and can be further used to destroy address-space layout randomization on the remote system. This issue further allows the attacker to write and execute malicious code that extracts data from the previously secured CPU memory. This memory could include sensitive information such as passwords, cryptographic keys, and much more. The researchers have demonstrated the NetSpectre attack using the AVX-based covert channel. This approach allowed them to capture data at a speed of 60 bits per hour from the target system. Researchers said, “Depending on the gadget location, the attacker has access to either the memory of the entire corresponding application or the entire kernel memory, typically including the entire system memory.” The remote attacker need to simply send a series of request packets to the target machine and measure the response time to leak a secret value from the machine’s memory. Researchers said, “We verified that our NetSpectre attacks work in local-area networks as well as between virtual machines in the Google cloud.” How to be safe? If one has updated their code and applications to mitigate previous Spectre exploits they do not have to worry about the ‘NetSpectre’ attack. Researchers have mentioned state-of-the-art and network-layer countermeasures for NetSpectre in their paper. However, they state, “as attackers can adapt and improve attacks, it is not safe to assume that noise levels and monitoring thresholds chosen now will still be valid in the near future.” Also recently, Intel paid $100,000 bug bounty to a team of researchers to find and report new processor vulnerabilities. These newfound Spectre variants were also related to Spectre variant 1. Following this, Intel has included information related to the NetSpectre attack in its updated white paper, ‘Analyzing potential bounds check bypass vulnerabilities’ Read more about the NetSpectre attack in the whitepaper. SpectreRSB targets CPU return stack buffer, found on Intel, AMD, and ARM chipsets Intel’s Spectre variant 4 patch impacts CPU performance  
Read more
  • 0
  • 0
  • 15548

article-image-aws-elastic-load-balancing-support-added-for-redirects-and-fixed-responses-in-application-load-balancer
Natasha Mathur
30 Jul 2018
2 min read
Save for later

AWS Elastic Load Balancing: support added for Redirects and Fixed Responses in Application Load Balancer

Natasha Mathur
30 Jul 2018
2 min read
AWS announced support for two new actions namely, redirect and fixed-response for elastic load balancing in Application Load Balancer last week. Elastic Load Balancing offers automatic distribution of the incoming application traffic. The traffic is distributed across targets, such as Amazon EC2 instances, IP addresses, and containers. One of the types of load balancers that Elastic load offers is Application Load Balancer. Application Load Balancer simplifies and improves the security of your application as it uses only the latest SSL/TLS ciphers and protocols. It is best suited for load balancing of HTTP and HTTPS traffic and operates at the request level which is layer 7. Redirect and Fixed response support simplifies the deployment process while leveraging the scale, availability, and reliability of Elastic Load Balancing. Let’s discuss how these latest features work. The new redirect action enables the load balancer to redirect the incoming requests from one URL to another URL. This involves redirecting HTTP requests to HTTPS requests, allowing more secure browsing, better search ranking and high SSL/TLS score for your site. Redirects also help redirect the users from an old version of an application to a new version. The fixed-response actions help control which client requests are served by your applications. This helps you respond to the incoming requests with HTTP error response codes as well as custom error messages from the load balancer. There is no need to forward the request to the application. If you use both redirect and fixed-response actions in your Application Load Balancer, then the customer experience and the security of your user requests are improved considerably. Redirect and fixed-response actions are now available for your Application Load Balancer in all AWS regions. For more details, check out the Elastic Load Balancing documentation page. Integrate applications with AWS services: Amazon DynamoDB & Amazon Kinesis [Tutorial] Build an IoT application with AWS IoT [Tutorial]
Read more
  • 0
  • 0
  • 17311

article-image-apache-kafka-2-0-0-has-just-been-released
Richard Gall
30 Jul 2018
3 min read
Save for later

Apache Kafka 2.0.0 has just been released

Richard Gall
30 Jul 2018
3 min read
Apache Kafka, the open source distributed data streaming software, has just hit version 2.0.0. With Kafka becoming a vital component in the (big) data architecture of many organizations, this new major stable release represents an important step in consolidating its importance for data architects and engineers. Quick recap: what is Apache Kafka? If you're not sure what Kafka is, let's just take a moment to revisit what it does before getting into the details of the 2.0.0 release. Essentially, Kafka is a tool that allows you to stream, store and publish data. It's a bit like a message queue system. It's used to either move data between different systems between applications (ie. build data pipelines) or develop applications that react in specific ways to streams of data. Kafka is an important tool because it can process data in real-time. Key to this is the fact it is distributed - things are scaled horizontally, across machines. It's not centralized. As the project website explains, Kafka is "run as a cluster on one or more servers that can span multiple datacenters." What's new in Apache Kafka 2.0.0? There's a huge range of changes and improvements that have gone live with Kafka 2.0.0. All of these are an attempt to give users more security, stability and reliability in their data architecture. It's Kafka doubling down on what it has always tried to do well. Here are a few of the key changes: Security improvements in Kafka 2.0.0 Simplified access control management for large deployments thanks to support for prefixed ACLs. "Bulk access to topics, consumer groups or transactional ids with a prefix can now be granted using a single rule. Access control for topic creation has also been improved to enable access to be granted to create specific topics or topics with a prefix." Encryption is easier to manage - "We now support Java 9, leading, among other things, to significantly faster TLS and CRC32C implementations. Over-the-wire encryption will be faster now, which will keep Kafka fast and compute costs low when encryption is enabled." Easier security configuration - SSL truststores can now be updated without broker restart and security for broker listeners in Zookeeper can be configured before starting brokers too. Reliability improvements in Kafka 2.0.0 Throttling notifications make it easier to distinguish between network errors and when quotas are maxed-out. Improvements to resiliency of brokers "by reducing the memory footprint of message down-conversions." Unit testing Kafka Streams will now be easier thanks to the kafka-streams-testutil artifact. You can read the details about the release here.
Read more
  • 0
  • 0
  • 18782

article-image-microsoft-launches-quantum-katas-to-learn-quantum-language
Sugandha Lahoti
30 Jul 2018
2 min read
Save for later

Microsoft launches Quantum Katas, a programming project to learn Q#, its Quantum programming language

Sugandha Lahoti
30 Jul 2018
2 min read
Microsoft has announced Quantum Katas, a new portal for learning the quantum programming language Q#. This project contains a self-paced set of programming tutorials to teach interested developers the basic elements of Quantum computers as well as their Quantum programming language. Microsoft has been one of the forerunners in the Quantum computing race. Last year, Microsoft announced Q#, as a domain-specific programming language used for expressing quantum algorithms. Quantum Katas, as the name implies, has been derived from the popular programming technique Code Katas, which means an exercise to develop your skills through practice and repetition. Per Microsoft, each kata offers a sequence of tasks on a certain quantum computing topic, progressing from simple to challenging. Each task is based on code-filling; they may vary from one line at the start to sizable code fragments as the tutorial progresses. Developers are also provided reference materials to solve the tasks, both on quantum computing and on Q#. A testing framework is provided to validate solutions, thereby providing real-time feedback. Each kata covers one topic. The current topics are: Basic quantum computing gates. These tasks focus on the main single-qubit and multi-qubit gates used in quantum computing. Superposition. In these tasks, you learn how to prepare a certain superposition state on one or multiple qubits. Measurements. These tasks teach you to distinguish quantum states using measurements. Deutsch–Jozsa algorithm. In these tasks, you learn how to write quantum oracles which implement classical functions, and the Bernstein–Vazirani, and Deutsch–Jozsa algorithms. To use these katas, you need to install the Quantum Development Kit for Windows 10, MacOS or Linux.  The kit includes all of the pieces a developer needs to get started including the Q# programming language and compiler, a Q# library, a local quantum computing simulator, a quantum trace simulator and a Visual Studio extension. Microsoft Quantum Katas was developed after the results of the Q# coding contest that took place earlier this month, challenging more than 650 developers to solve Quantum related questions. You can read more about Quantum Katas on GitHub. Quantum Computing is poised to take a quantum leap with industries and governments on its side Q# 101: Getting to know the basics of Microsoft’s new quantum computing language “The future is quantum” — Are you excited to write your first quantum computing code using Microsoft’s Q#?
Read more
  • 0
  • 0
  • 13829

article-image-atlassian-sells-hipchat-ip-to-slack
Richard Gall
30 Jul 2018
3 min read
Save for later

Atlassian sells Hipchat IP to Slack

Richard Gall
30 Jul 2018
3 min read
Before Slack was a thing, Atlassian's HipChat was one of a number of internal messaging tools trying to beat the competition in a nascent market place. However, with Slack today dominating the messaging app landscape, Atlassian has given in. The Australian company has announced it will be selling the HipChat IP to and discontinuing the service in February 2019. The financial details of the deal haven't been disclosed. However, Slack CEO Stewart Butterfield did reveal that Atlassian will be making a "small but symbolically important investment in Slack" in a tweet on Thursday July 26. https://twitter.com/stewart/status/1022574806623895553 The deal is being presented as a partnership rather than a straightforward acquisition. On the Atlassian blog, for example, Joff Redfern, VP of Product Management was keen to stress that this was a partnership: "We have always had a spirited yet friendly competition with Slack (and have even sent each other congratulatory cookies and cake!). Across our product portfolio, we have long shared many integrations, which hundreds of thousands of teams use every day. Through this new partnership, both companies will lean into building better integrations together and more sharply define the modern workplace experience for companies everywhere." As well as Hipchat, Slack is also purchasing the IP for Stride, another messaging app released in 2017 by Atlassian in September 2017. Stride was initially designed to succeed Hipchat, but Redfern explained that Slack's dominance of the current market meant this step simply made sense for Atlassian. "While we’ve made great early progress with Stride, we believe the best way forward for our customers and for Atlassian is to enter into a strategic partnership with Slack and no longer offer our own real-time communications products." Hipchat Server and Hipchat Datacenter will also be discontinued. Conscious that this could lead to some real migration challenges, Atlassian has put together a detailed migration guide. Who wins in the Slack and Atlassian deal? The truth is that both parties have struck a good deal here (financial details notwithstanding). Atlassian, as it acknowledges simply couldn't compete in a market where Slack seems to dominate. For Slack, too, the deal comes at a good time. Microsoft's Teams App is set to replace Skype for Business in Microsoft's Office 365 suite. A free version, released earlier this month which doesn't requite an Office 365 subscription could also be some cause for concern for Slack. The one group that loses: users Although the deal might work out well for both Slack and Atlassian, there was considerable anger on Atlassian's community forums. One asked "What the hell are on-premise customers supposed to do?! We just implemented and invested in this app! We're building apps in-house for our own purposes. We have zero ability to use Cloud services of ANY type. You are offering ZERO alternatives." One user outlined his frustrations with what it means for migration: "We needed a chat platform. We did research and after a long time landed on hipchat. We had to pull teeth to get users to move to it. We transitioned bots and automations over to hipchat."
Read more
  • 0
  • 0
  • 13959
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-racket-v7-0-is-out-with-overhauled-internals-updates-to-drracket-typedracket-among-others
Savia Lobo
30 Jul 2018
3 min read
Save for later

Racket v7.0 is out with overhauled internals, updates to DrRacket, TypedRacket among others

Savia Lobo
30 Jul 2018
3 min read
Racket programming language has a new version update, Racket 7.0. Users might not see huge differences between the previous version of Racket, v6.12 released in January 2018. However, v7.0 differs in the internals significantly. Racket or Racket lang is a multi-paradigm programming language--with an emphasis on functional programming--in the Lisp-Scheme family. Though not a popular one, Racket is considered as one of the easiest programming language. Languages such as Python, C#, Assembly, and so on are often talked about in the easy-categories; however, Racket lang is also a great choice as a starter language. What’s new in Racket 7.0? Updated Runtime This version includes a substantial change in its current runtime system and supports multiple runtime systems. New macro expander Version 7.0 replaces about ⅛ of the core v6.12 implementation with a new macro expander that bootstraps itself. The expander turns out to be about 40% of the new code needed to replace Racket’s core with Chez Scheme. Most of the other 60% is also implemented, but it is not included in this release. However, Racket-on-Chez will be ready for production use later in the v7.x series. Updates to DrRacket, the programming environment for Racket DrRacket’s “Create Executable” option for the teaching language (Beginner Student, etc.) uses --embed-dlls to create single-file, standalone ".exe"s on Windows. Improved supports within TypedRacket TypedRacket is Racket’s gradually-typed sister language which allows the incremental addition of statically-checked type annotations. TypedRacket’s support for prefab structs is significantly improved. This supports using prefab structs more polymorphically and fixes significant bugs in the current implementation. Programs which currently use predicates for prefab structs on unknown data may need to be revised since previous versions of Typed Racket allowed potentially buggy programs to type check. Check out Typed Racket RFC 1 and prefab Changes doc for more details on this change and on how to fix programs affected by it. Typed Racket also supports #:rest-star in the ->* type constructor, which allows function types to specify rest arguments with more complex patterns of types, such as the hash function. Other features in the Racket 7.0 include: The syntax (#') form supports new template subforms: ~@ for splicing and ~? for choosing between subtemplates based on whether pattern variables have “absent” value (from an ~optional pattern in syntax-parse, for example). The syntax/parse/experimental/templatelibrary, where these features originated, re-exports the new forms under old names for compatibility. On Windows, an --embed-dlls flag for raco exe creates a truly standalone, single-file ".exe" that embeds Racket’s DLLs. Interactive overlays can be added to plots produced by plot-snip. This allows constructing interactive plots or displaying additional information when the mouse hovers over the plot area. Examples of how to use this feature can be found on Alex Harsanyi’s blog racket/plot provides procedures for displaying candlestick charts for use in financial time series analysis. Added contract-equivalent?, a way to check whether two contracts are mutually stronger than each other without the exponential slowdown that two calls to contract-stronger? brings. Lazy Racket supports functions with keyword arguments. Read more about Racket 7.0 on the Racket official blog. What is the difference between functional and object-oriented programming? Putting the Function in Functional Programming Elixir Basics – Foundational Steps toward Functional Programming
Read more
  • 0
  • 0
  • 17444

article-image-ionic-framework-announces-ionic-4-beta
Sugandha Lahoti
30 Jul 2018
3 min read
Save for later

Ionic framework announces Ionic 4 Beta

Sugandha Lahoti
30 Jul 2018
3 min read
Ionic has been a popular UI library among web developers because of it being completely framework-agnostic. Now they have announced the much anticipated Ionic 4 Beta release with a focus on performance, build time improvements, theming and multi-framework capabilities, and more. Although the release is in beta, Ionic invites developers to try testing and migrate their existing ionic-angular apps. You need to install the latest version of the Ionic CLI (4.0.0) using: npm install -g ionic Since v4 is still in beta, creating projects with it requires a flag when starting a new Ionic app: ionic start myApp tabs --type=angular Your v4 beta app will be created using ng cli conventions and the new Ionic 4 components. Let’s talk about the features Ionic 4 comes packed with. Focus on Web standards Ionic 4 has been rebuilt using standard Web APIs, and each component is packaged as a standards-compliant Web Component. With this standardization, the framework will now rely solely on APIs browser's native support keeping the public API for each component stable. The Ionic team has also developed and open-sourced a Web Component compiler Stencil, to use Web Components for each component more easily. Ionic 4 completely embraces modern Web APIs such as Custom Elements, CSS Variables, and Shadow DOM. Updates for Angular This release also adopts new Angular tooling and features following Angular standards and conventions to make Ionic 4, Angular’s leading mobile solution. Angular developers can now use the Angular CLI directly for Ionic apps. ionic-app-scripts are now replaced with Angular CLI and Router. Changes to Documentation Ionic 4 comes with a completely redesigned Ionic Framework documentation. The documentation increases load and navigation performance, making it easier to update and maintain. There are more examples and previews along with more code snippets. The new docs are built with Stencil. Other improvements New Ionicons 4.0 with reduced sizes, and brand new icon forms reflecting the latest iOS and Material Design styles. Ionic Native 5.0 Beta has been upgraded to be framework independent. Check out the new Native API Docs CLI 4.0, is heavily refactored offering powerful Cordova integration with livereload, custom schematics for generators, and support for multiple projects. New CLI Docs, provide more information in a cleaner and easier to read layout. Shadow DOM, makes it easy to reduce the amount of client-side code by embracing native browser APIs and web-standards. Additionally, Shadow Dom helps in easily consuming Ionic components from any web app by encapsulating its styles. You can learn more about the Ionic 4 Beta release in the Ionic 4 beta docs. The Migration Guide and the Installation guide are also available. Ionic Components Creating Our First App with Ionic How to use SQLite with Ionic to store data?
Read more
  • 0
  • 0
  • 22311

article-image-blazor-0-5-0-is-now-available
Natasha Mathur
28 Jul 2018
3 min read
Save for later

Blazor 0.5.0 is now available!

Natasha Mathur
28 Jul 2018
3 min read
Blazor 0.5.0 is here. Blazor is an experimental .NET client-side web framework that uses c# and HTML. It runs on a browser using WebAssembly mechanism. Here component logic and DOM interactions occur in the same process. The latest release includes features such as server-side Blazor, a new startup model, and early support for in-browser debugging among other updates. Let’s discuss the highlights of Blazor 0.5.0 release. Server-side Blazor Blazor 0.5.0 release makes it possible to adopt the out-of-process model for Blazor by stretching it over a network connection so that you can run Blazor on the server with ease. With Blazor 0.5.0 it is possible to run your Blazor components server-side on .NET Core. UI updates, event handling, and JavaScript interop calls get handled over a SignalR connection. You can also use JavaScript interop libraries while using server-side Blazor. New Startup Model Blazor 0.5.0 projects now make use of a new startup model, similar to the startup model in ASP.NET Core. To configure the services for your Blazor app, each Blazor project consists of a Startup class with a ConfigureServices method. There’s also a Configure method for configuring the root components of the application. Calling .NET from JavaScript There’s a new feature added in Blazor 0.5.0 which lets you call .NET instance methods from JavaScript. You can do it by passing the .NET instance to JavaScript and wrapping it in a DotNetObjectRef instance. The .NET instance then gets passed by reference to JavaScript. This allows you to invoke .NET instance methods on the instance by using the invokeMethod or invokeMethodAsync functions. Adding Blazor to HTML file In earlier releases, the project build had modified index.html in order to replace the blazor-boot script tag with a real script tag.  This made it difficult to use Blazor in arbitrary HTML files. This mechanism has now been replaced in Blazor 0.5.0. You can add a script tag for client-side projects that references the _framework/blazor.webassembly.js script (which is generated as part of the build). You can add the script reference _framework/blazor.server.js. for server-side projects. Support for in-browser debugging Blazor 0.5.0 provides very basic debugging support in Chrome for client-side Blazor apps that run on WebAssembly. Despite the debugging support being limited and unpolished, it does show the basic debugging infrastructure. For more info on Blazor 0.5.0 updates, check out the official release notes. Masonite 2.0 released, a Python web development framework Node 10.0.0 released, packed with exciting new features  
Read more
  • 0
  • 1
  • 3390

article-image-delphi-community-edition-announced
Pavan Ramchandani
27 Jul 2018
2 min read
Save for later

Delphi Community Edition announced!

Pavan Ramchandani
27 Jul 2018
2 min read
Embarcadero has made a significant announcement of launching the community edition for its premium products Delphi, a cross-platform IDE and C++Builder, a powerful C++ IDE. With the community edition, the developers can start using both the products without any charge and access most of the features that are part of the Professional Edition. Apart from the developers, they have the free access to the organizations with less than $5,000 in annual revenue. This announcement is getting a big welcome in the community, considering the offerings for developers, startups, freelancers who have struggled to enter the Delphi ecosystem for years. Delphi has been unpopular among the native applications developers. This may be because of the entry point pricing. As such, this move seems to ease that barrier at least for the developers, using different IDEs. Delphi's community edition is said to provide access to all the features and components from the Professional edition. This will permit developing open source projects at no cost to the developers. Apart from the normal community edition offering, Delphi and C++Builder have free trial versions of the Pro, Enterprise, and Architect version of the products available. Embarcadero did not talk about RAD Studio, one of the 3 premium tools apart from Delphi and C++Builder in its lineup. RAD Studio is a platform to write, compile, and deploy cross-platform applications. You can download the starter edition for Delphi and C++Builder from the Embarcadero’s community website. In case you want to try other offerings, you can opt for a 30 days trial. Delphi: memory management techniques for parallel programming Implementing C++ libraries in Delphi for HPC [Tutorial] Delphi Cookbook
Read more
  • 0
  • 1
  • 5383
article-image-wanna-be-rockstar-developer
Aaron Lazar
27 Jul 2018
5 min read
Save for later

Hey hey, I wanna be a Rockstar (Developer)

Aaron Lazar
27 Jul 2018
5 min read
New programming languages keep popping up every now and then, but here’s something that’s out of the box - jukebox to be precise! If you’ve ever dressed up (or at least thought of it) in leather tights, a leather jacket, with an axe strung around your neck, belting out your favourite numbers, you’re probably going to love this! Somebody...no not Nickelback, created a language that is designed for creating computer programs using song lyrics! The language is called...hold your breath...Rockstar! Say, what?? Are you kidding me? Is this some kind of joke/’fake news’? No, it’s not. It’s as real as Kurt writing those songs she sang in Hole! ;) Rockstar is heavily influenced by the lyrical conventions of 1980’s hard rock and power ballads. And the somebody who created it is Dylan Beattie, a Microsoft MVP for Visual Studio and Development Technologies. Unsurprisingly, Dylan’s a musician himself. Rockstar is already growing in popularity! Will you take a look at the growth on Github and the discussions going on on Reddit? You ask why would Dylan do such a thing? Cos, as Van Halen would say, “Everybody Wants Some”! Well, he thought it would be cool to have such a language, where you can use your favourite lyrics to drive your computer and HR recruiters nuts! It’s mainly part of a movement to force recruiters from using the term, “Rockstar Programmers”. Did I say movement? Rockstar supports a unique feature known as poetic literals, which allow programmers to simultaneously initialize a variable and express their innermost angst. I’m sure Billie Joe Armstrong and Axl Rose will surely appreciate this! This is what sample Rockstar code looks like, solving the fizzbuzz problem: Let’s start with the minimalistic version: Modulus takes Number and Divisor While Number is as high as Divisor Put Number minus Divisor into Number (blank line ending While block) Give back Number (blank line ending function declaration) Limit is 100 Counter is 0 Fizz is 3 Buzz is 5 Until Counter is Limit Build Counter up If Modulus taking Counter, Fizz is 0 and Modulus taking Counter, Buzz is 0 Say "FizzBuzz!" Continue (blank line ending 'If' Block) If Modulus taking Counter and Fizz is 0 Say "Fizz!" Continue (blank line ending 'If' Block) If Modulus taking Counter and Buzz is 0 Say "Buzz!" Continue (blank line ending 'If' Block) Say Counter (EOL ending Until block) And now, the same thing in idiomatic Rockstar code: Midnight takes your heart and your soul While your heart is as high as your soul Put your heart without your soul into your heart Give back your heart Desire is a lovestruck ladykiller My world is nothing Fire is ice Hate is water Until my world is Desire, Build my world up If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing Shout "FizzBuzz!" Take it to the top If Midnight taking my world, Fire is nothing Shout "Fizz!" Take it to the top If Midnight taking my world, Hate is nothing Say "Buzz!" Take it to the top Whisper my world Oh yeah, did I mention that Rockstar doesn’t care two hoots about indentation. Also, it discourages the use of comments. Why? Cos this is Rock ‘n’ Roll, baby! Let whoever wants to know the meaning, discover it on their own! Now that’s hardcore! To declare a variable in Rockstar, you simply use a common word like "a, an, the, my or your" as a preface and any unique name (e.g. "Suzanne"). For types, you can use words like "mysterious", meaning no value is assigned, or "nothing/ nowhere/nobody", for null. You could name your variable “em” so to increment it, you’d use "build em up" and to decrement it, you’d use "knock em down". Now if that’s not cool, you tell me what is! Like in Ruby or Python, variables are dynamically typed and you don't need to declare them before use. That’s not all! For I/O, you’re at the liberty of using words like "listen to" or "shout," "whisper" or "scream". Someone actually happened to test out the error handling capabilities of Rockstar, a couple of days ago: If you accidentally typed “!love” as a property, it will return “you give !love a bad name”. I wonder what it would do, if we just typed in the lyrics to Sweet Child o’ Mine. Nevertheless, the Github (Shooting) Stars are growing like a weed (pun intended) ;) I suggest you Don’t Stop Believin’ in it and go check this language out! And don’t forget to tell us in the comments, about how it Rock(ed) You Like a Hurricane or better yet, Shook Me You All Night Long! ;) Will Rust Replace C++? Why Guido van Rossum quit as the Python chief (BDFL) Apollo 11 source code: A small step for a woman, and a huge leap for ‘software engineering’
Read more
  • 0
  • 0
  • 16435

article-image-jetbrains-announces-pycharm-2018-2
Savia Lobo
27 Jul 2018
4 min read
Save for later

JetBrains announces Pycharm 2018.2

Savia Lobo
27 Jul 2018
4 min read
JetBrains’ Pycharm is back with its Q2 release for this year, Pycharm 2018.2. The release of Pycharm 2018.1 in the month of March included several major features such as code shells and partial commits. SSH remote Python interpreters and a lot more features. This quarter’s release includes some new features such as pipenv config, pytest fixtures and much more! Pycharm’s motto is to help developers‘ Develop quickly, and with confidence’. Known as one of the popular Python IDEs for professional developers, Pycharm includes an integrated development environment for computer programming with support for all Python tools at one place. Pycharm is available in two editions, Pycharm Professional Edition, and Pycharm community edition Pycharm 2018.12 includes new features classified in five broad categories: Python improvements Pipenv support Pipenv makes an application's dependency management extremely simple. PyCharm 2018.2 will auto-create a pipenv when one open’s a project with a Pipfile, and will make it easy to create new projects with pipenvs. New and improved quick documentation PyCharm’s quick documentation is easier to read and appears right in the editor. Simply press Ctrl-Q (Ctrl-J on macOS) to see exactly the documentation required. pytest Fixtures and pytest-bdd PRO ONLY Pytest makes testing your code a cakewalk. The 2018.2 version includes an upgraded Pytest support with BDD and code intelligence for fixtures. Fixtures are available in both the community and the professional edition of PyCharm 2018.2. However, the BDD support is only available in the PyCharm Professional Edition. reST Preview and Attrs support With a PyCharm plugin, on can see how their Markdown document looks like. This and other functionalities are now available for reStructuredText. The attrs library, on the other hand, allows one to upgrade the project by including new Dataclasses in Python 3.7 Improvements in Code insight PyCharm’s aim is to help in writing better and faster Python code. Following this, the code insights have been improved. It now checks more type hints, and also if one’s correctly awaiting function calls in asynchronous code, and offers quick fixes. VCS (Version Control Support) improvements Support for multiple GitHub accounts This version of PyCharm makes switching between a whole bunch of GitHub accounts more convenient. Multiple tabs and diff preview using Logs tab The version 2018.2 allows segregating system’s history in multiple tabs to make it easier to learn from one’s project history. Browse the entire repository at a specific revision This improvement makes it easy to browse project repository at a specific revision. Database improvements Create query plan diagrams In order to keep the application performant, a regular check on the query plans is necessary. In PyCharm 2018.2 one can visually inspect where a query tweaking or adding an index is required. However, this feature is only available in the professional version of Pycharm. New icons PyCharm 2018.2 looks sleeker than ever before. The new design philosophy reduces the usage of color to where it is semantically important, making it easier to find what you need at a glance. Support for MacBook Pro Touch Bar PyCharm now provides context-sensitive touch bar contexts for running your code, debugging, VCS, and more on the MacBook Pro with a Touch Bar. Javascript improvements All the improvements here, are available only in the professional version of Pycharm. Code coverage for code running in the browser: find unused code Code maintenance is usually a non-favorite task for developers. Moreover, deleting unused code makes the job quicker and faster. PyCharm now helps in finding unused client-side JS code, resulting into a faster job completion. Faster indexing for Angular Indexing new Angular projects is now twice as fast in this new version. New intentions and refactorings, such as Extract React Component Now one can refactor JavaScript with confidence in PyCharm 2018.2 by Extracting React component, Implementing interface, Generating cases for a TypeScript switch statement over an enum, and a lot more. Code completion for Vue events and event modifiers Most Vue templates will have event code attached to them. PyCharm now makes it easier to hook up handlers to the correct event. Read more about the Pycharm 2018.2 on its official website. What is interactive machine learning? Cryptocurrency-based firm, Tron acquires BitTorrent Google Cloud Next: Fei-Fei Li reveals new AI tools for developers
Read more
  • 0
  • 0
  • 1766

article-image-announcing-cloud-build-googles-new-continuous-integration-and-delivery-ci-cd-platform
Vijin Boricha
27 Jul 2018
2 min read
Save for later

Announcing Cloud Build, Google’s new continuous integration and delivery (CI/CD) platform

Vijin Boricha
27 Jul 2018
2 min read
In today’s world no software developer is expected to wait for long release time and development cycles, all thanks to DevOps. Cloud which are popular for providing feasible infrastructure across different organizations can now offer better solutions with the help of DevOps. Applications can have bug fixes and updates almost everyday but this update cycles require a CI/CD framework. Google recently released its all new continuous integration/continuous delivery framework Cloud Build at Google Cloud Next ’18 in San Francisco. Cloud Build is a complete continuous integration and continuous delivery platform that helps you build software at scale across all languages. It gives developers complete control over a variety of environments such as VMs, serverless, Firebase or Kubernetes. Google’s Cloud Build supports Docker, giving developers the option of automating deployments to Google Kubernetes Engine or Kubernetes for continuous delivery. It also supports the use of triggers for application deployment which helps launch an update whenever certain conditions are met. Google also tried to eliminate the pain of managing build servers by providing a free version of Cloud Build with up to 120 build minutes per day including up to 10 concurrent builds. After the user has exhausted the first free 120 build minutes, additional build minutes will be charged at $0.0034 per minute. Another plus point of Cloud Build is that it automatically identifies package vulnerabilities before deployment along with allowing users to run builds on local machines and later deploy in the cloud. Incase of issues or problems, CloudBuild provides detailed insights letting you ease debugging via build errors and warnings. It also provides an option of filtering build results using tags or queries to identify time consuming tests or slow performing builds. Key features of Google Cloud Build Simpler and faster commit to deploy time Supports language agnostic builds Options to create pipelines to automate deployments Flexibility to define custom workflow Control build access with Google Cloud security Check out the Google Cloud Blog if you find want to learn more about how to start implementing Google's CI/CD offerings. Related Links Google Cloud Next: Fei-Fei Li reveals new AI tools for developers Google’s event-driven serverless platform, Cloud Function, is now generally available Google Cloud Launches Blockchain Toolkit to help developers build apps easily
Read more
  • 0
  • 0
  • 12450
article-image-elixir-1-7-language-for-erlang-virtual-machine-releases
Sugandha Lahoti
27 Jul 2018
3 min read
Save for later

Elixir 1.7, the programming language for Erlang virtual machine, releases

Sugandha Lahoti
27 Jul 2018
3 min read
Elixir 1.7 has been released. Elixir builds on top of Erlang designed for building scalable and maintainable applications. This release is focused on improving error handling, logger reporting, and documentation. It also brings improvements to ExUnit, Elixir’s testing library. ExUnit improvements ExUnit is Elixir’s unit testing library. ExUnit uses Elixir macros to provide error reports when a failure happens using the assert macro. The assert macro can look at the code, extract the current line, extract the operands and show a difference between the data structures alongside the stacktrace when the assertion fails. However, for certain ‘bare’ assertions, ExUnit usually re-runs the tests, debugging or printing the values. In Elixir 1.7, now, whenever a “bare” assertion will fail, it will print the value of each argument individually. E.g, For a simple example such as assert some_vars(1 + 2, 3 + 4), users will get this report: Their build tool Mix has also received new updates. There is a new --failed flag that runs all tests that failed the last time they ran. The coverage reports generated with mix test --cover includes a summary out of the box. Updates to the ExDoc tool ExDoc is a tool to generate documentation for user Elixir projects. It leverages metadata to provide better documentation for developers. These are the updates to ExDoc. Deprecated modules, functions, callbacks, and types now have a warning automatically attached to them. Functions, macros, callbacks, and types now include the version in which they were added. Future Elixir versions will include their own section for guards in the documentation and in the sidebar. They are currently exploring ways to generalize this feature in ExDoc itself. Erlang/OTP logger integration improvements Elixir 1.7 fully integrates with the new :logger module available in Erlang/OTP 21. The Logger.Translator mechanism has also been improved to export metadata, allowing custom Logger backends to leverage information such as: :crash_reason, a two-element tuple with the throw/error/exit reason as the first argument and the stacktrace as the second. :initial_call, the initial call that started the process. :registered_name, the process’ registered name as an atom. Updates to Logger configuration system From Elixir 1.7 the Logger macros such as debug, info, will evaluate their arguments only when the message is logged. The Logger configuration system also accepts a new option: compile_time_purge_matching that allows users to remove log calls with specific compile-time metadata. There are also certain developments in areas not directly related to the Elixir codebase. A new Development section has been added to the website, that outlines the Elixir team structure and goals. It also now has its own mini-documentary. Read the Elixir-lang blog for the full list of Elixir 1.7 updates. You can also check the Install section to get Elixir installed and read the Getting Started guide to learn more. Elixir Basics – Foundational Steps toward Functional Programming 5 Reasons to learn programming
Read more
  • 0
  • 0
  • 11041

article-image-the-lookingglass-for-holographic-display-is-here-for-all
Amarabha Banerjee
27 Jul 2018
3 min read
Save for later

The LookingGlass for HoloGraphic display is here for all

Amarabha Banerjee
27 Jul 2018
3 min read
Who doesn’t love to watch 3D movies in the theatre? The concept of 3D television is also a novel one. Irrespective of the 3D technology having a lot of takers, the one universally accepted fact is, that 3D glasses suck big time. The same issue of cumbersome headgear has plagued Virtual Reality development too. The broad consensus has been that there can be better ways of visualizing 3D and VR content. Although the 3D and VR development methodologies have improved quite a lot in recent times, the display systems have not. A latest innovation project by Kickstarter is trying to tackle this issue head-on, by introducing LookingGlass, a holographic display for 3D creators. Source: LookingGlass Project How does LookingGlass work? The traditional 3D systems create two stereoscopic images of the primary video which can be viewed by one person only - with the use of a glass. The LookingGlass comes with a different underlying tech. It generates 45 distinct views of a three-dimensional scene so that multiple people standing around a LookingGlass can see different parts of the scene in the real world. The feature of 45 distinct 3D space representations enable multiple people to view the 3D image simultaneously without the need to use glasses. LookingGlass functionality: Source - Kickstarter How to use it? The LookingGlass team has already released a free HoloPlay SDK that runs on Unity and helps developers to import their 3D designs and models into the LookingGlass easily. There’s also the option of using the Model Importer for 2D and 3D models. In the early beta release of the application, only gLTF, OBJ and glb file formats are accepted but more are to come soon. The Model Importer uses a special type of control to allow you to view your model from different perspectives in 3D. You can rotate around your model by left clicking and dragging. You can pan around the scene by right clicking and dragging, and you can zoom in by scrolling. Supported devices on LookingGlass All major 3D devices which need a headgear, can be displayed on the LookingGlass. It can be used as a Leap Motion Controller, Nintendo Joy Con controller and as an Ultrahaptic development kit. You can also seamlessly connect two Looking Glasses together for a bigger display size. Challenges An honest review by the VR industry reveals that LookingGlass has not lived upto the initial hype and faces disillusionment. The major reason seems to be the cumbersome headgears and the impracticality. The UX design is also not adaptive for the immersive nature of VR content. The animations turned out to be bloated and non-impressive. The reason being the absence of a display system that is truly immersive and 3D. The LookingGlass might prove to be the perfect launch pad for futuristic 3D apps, games and immersive mixed reality content. We are certainly looking forward to that. Top 7 modern Virtual Reality hardware systems Game developers say Virtual Reality is here to stay Why mobile VR sucks  
Read more
  • 0
  • 0
  • 3997
Modal Close icon
Modal Close icon