Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

JavaScript — A First-Class Language At Last

Categories

Tags javascript

Tom Goldenberg nice article pointing out why JavaScript deserves respect. JavaScript the most widely used computing language.

However, JavaScript still doesn’t command the same respect that other languages do. JavaScript is increasingly being used in aspects of software development other than stylistic effects — for example, backend tasks, web servers, and data processing. JavaScript “is the result of evolution, not design…”

Author analyses growing ecosystem, job opportunities for JavaScript engineers in US and also considers criticisms of JavaScript. JavaScript has come a long way in the past 5 years. In the last 2 years, the technology for sending JavaScript code to the browser has improved dramatically (see: webpack).

Although JavaScript may have started as the language of the browser, it is becoming more ubiquitous in all aspects of computer science — the web, mobile, IoT, and back-end services… Good reading.

[Read More]

Build a simple Twitter Bot with Node.js in just 38 lines of code

Categories

Tags nodejs bots javascript

Brandon Morellinot complicated tutorial aiming to build a simple Twitter favorite bot with Node.js in just 38 lines of code.

You will learn how to create a Node.js application that interacts with the Twitter API. In this application, the API will allow us to search for tweets, and favorite the tweets that our application finds. It will guide you how to register your app with Twitter.

It will also teach you how to create project and package.json in Node.js. The workflow of the bot app is very simple" first, you search for Tweets, then you select one and favorite it.

The full app.js file is provided on GitHub. And there is also second article in the series which will show you how to do a lot more with Twitter API.

[Read More]

How to Improve a Legacy Codebase

Categories

Tags programming agile code-refactoring

Jacques Mattheij has written neat article on topic of improving legacy code. It happens to everybody - you get handed legacy code, quite often without proper documentation or hopelessly out of sync with what is presently keeping the company afloat. However it can be a lucrative business to be able to take such a code and to turn them into healthy maintainable projects.

Author suggests the most sensible approach is to work incrementally. Article pays attentions to importance of:

  • Backups, especially configuration data
  • Having build process and that it actually produces what runs in production
  • Writing the tests
  • Instrumentations and logging
  • Changing only one thing at the time
  • Using proxies between end-user and the old system
  • and more

In a situation like that author prefers total control and an iron clad process. Can not agree more.

[Read More]

7 Best Practices for JSON Web Tokens

Categories

Tags json infosec web-development

Neil Madden has written about best practices for JSON Web Tokens (JWTs, pronounced “jots”). JWTs are popular as a way to securely transmit small packets of information, such as session tokens, proof of identity, and network protocol messages.

You will find best practices to ensure that your information stays secure. Taking some time to learn about the security properties and how the underlying cryptographic primitives provide them will pay dividends in the long run.

Authors considers also the fact that JWT libraries provide a lot of confusing options. These options can be bewildering at first, and you need to pick carefully to get the security properties you desire. The weakest part of any system’s security is often the key management - Neil will point you in right direction how to manage them properly.

The JWT specs contain Security Considerations sections that detail common threats and advice on how to avoid them; you will find links to them in article and you should read all of these and make sure you understand them before deploying a JWT-based solution. Links to common criticisms of JWT-based solutions are also included.

Recommended reading!

[Read More]

A Roadmap to the Programmable World

Categories

Tags iot programming software-architecture

Antero Taivalsaari and Tommi Mikkonen posted an article about emergence of millions of remotely programmable devices in our surroundings will pose significant challenges for software developers.

The emergence of IoT means our everyday things—light bulbs, door knobs, toothbrushes, etc. will become connected and programmable dynamically.

Article describes, or mentions in length:

  • The emerging common end-to-end IoT architecture
  • What makes IoT development different
  • Implications and challenges for software development
  • Fallacies of distributed computing
  • Inadequate languages and tools
  • The dynamic nature of iot systems
  • Security

Authors believe the IoT’s future lies in the ability to orchestrate and program large, complex topologies of IoT devices remotely. The Academy of Finland (project 295913), Mozilla, and Nokia Technologies have supported this research.

[Read More]

Rearchitecting Airbnb's Frontend

Categories

Tags big-data frontend

Adam Neary’s neat article about rethought the architecture for the JavaScript side of the codebase at Airbnb. This post looks at the product drivers that precipitated the change, the steps we took to move away from their legacy stack and some of the key pillars of the new stack.

Airbnb sees more than 75M searches each day, which makes the search page their highest traffic page. To enhance their search experience they needed to break free of the legacy (Rails) page-by-page approach. The process of transition from legacy to new stack is described in detail with lessons Airbnb learnt in the process.

They use Hypernova to server-render React. They also use an AsyncComponent as a way to load sections of the component hierarchy after mount.

Interesting read with React code examples.

[Read More]

A Short Guide to Mastering Strings in Golang

Categories

Tags golang programming

Chris Tomich post aiming to explain Go strings and their relationship to runes and bytes in a compact way.

He tries to point out two really important fundamentals of strings that need to be understood to mastering strings in Go.

  • the components of a string
  • the slice behaviour of a string

The first important rule of strings is that strings are made of up runes (not bytes). It’s important to understand that runes represent a single character and that different languages have different definitions of what constitutes a “character”. Also ranging over a string with a for loop returns runes.

We recommend to read whole article. Code example provided in the text.

[Read More]

Developing a Spring boot app on Docker: the AtSea demo app

Categories

Tags docker microservices

Sophia Parafina short blog post - the first of a series of blog posts that demonstrates using Docker to develop a typical web application and deploying it in production.

Post describes how to build a demo application that would demonstrate the flexibility of using Docker in development as well as showcase the features of Docker in a production environment.

A hybrid architecture chosen - typical Java n-tier architecture. It uses Spring Boot’s web MVC framework for the REST API and Spring Data to manage database operations. They chose PostgreSQL for the database.

All code available from github. If you new to docker this is worth reading.

[Read More]

Crash course to Amiga assembly programming

Categories

Tags programming

Tuomas Järvensivu article bringing back memories on Amiga. Amiga as an environment is much simpler than (for instance) modern PCs. This makes learning low-level programming on it faster than on more complex environments.

You will need at least one at least one Kickstart ROM image and one Workbench floppy disk image. How exciting!

Also in article detailed description of:

  • how to use emulator
  • how to compile code
  • how to debug
  • how to start your application

Amazing. Good reading.

[Read More]

Testing Machine Learning Algorithms with K-Fold Cross Validation

Categories

Tags machine-learning big-data

Norbert Krupa wrote blog post on choosing a machine learning algorithm, then using a validation technique. He uses Talend Studio without hand coding.

Taking the example of predicting a user’s activity based on mobile phone accelerometer data, we must be able to classify a category for the data (resting, walking, or running).

This classification exercise presents common algorithms such as Logistic Regression, Decision Tree, Random Forest, and Naïve Bayes. In K-Fold Cross Validation, the training dataset is partitioned into two pieces: training and test, where K represents the number of folds or observations to take place.

Interesting article, with how to steps and loads of screenshots.

[Read More]