Code it
5.1K views | +0 today
Follow
Code it
This is a curated resource for programmers and software architects. It is regularly updated with Articles, Hacks, How Tos, Examples and Code.
Curated by nrip
Your new post is loading...
Your new post is loading...
Scooped by nrip
April 15, 2021 4:37 PM
Scoop.it!

SSD: Single Shot MultiBox Detector

SSD: Single Shot MultiBox Detector | Code it | Scoop.it

This paper introduces SSD, a fast single-shot object detector for multiple categories

 

The SSD approach is based on a feed-forward convolutional network that produces a fixed-size collection of bounding boxes and scores for the presence of object class instances in those boxes, followed by a non-maximum suppression step to produce the final detections.

 

SSD discretizes the output space of bounding boxes into a set of default boxes over different aspect ratios and scales per feature map location. At prediction time, the network generates scores for the presence of each object category in each default box and produces adjustments to the box to better match the object shape.

 

 

Additionally, the network combines predictions from multiple feature maps with different resolutions to naturally handle objects of various sizes. The SSD model is simple relative to methods that require object proposals because it completely eliminates proposal generation and subsequent pixel or feature resampling stage and encapsulates all computation in a single network. This makes SSD easy to train and straightforward to integrate into systems that require a detection component. Experimental results on the PASCAL VOC, MS COCO, and ILSVRC datasets confirm that SSD has comparable accuracy to methods that utilize an additional object proposal step and is much faster, while providing a unified framework for both training and inference. Compared to other single stage methods, SSD has much better accuracy, even with a smaller input image size.

 

Code is available at  https://github.com/weiliu89/caffe/tree/ssd .

 

read the paper at https://arxiv.org/pdf/1512.02325.pdf

 

No comment yet.
Scooped by nrip
April 11, 2021 8:24 AM
Scoop.it!

Report: TypeScript Pays Well, Projected for Huge Growth (C#, Not So Much)

Report: TypeScript Pays Well, Projected for Huge Growth (C#, Not So Much) | Code it | Scoop.it
Technical careers specialist Dice dove into job posting data to chart the salaries associated with popular programming languages, finding that Microsoft's TypeScript fares well in both accounts.

 

The job data comes from Burning Glass, which provides real-time job market analytics.

 

Dice combed through the data to determine which programming languages are

most in-demand and

how much they pay

 

Those are two vital questions as technologists and developers everywhere decide which skills to learn next.

 

See the attached photograph. TypeScript pays fairly well (fifth), but really shines in projected 10-year growth, where an astounding predicted rate of 60 percent dwarfs all other languages.

 

Dice opined more about TypeScript specifically. "It's worth calling out TypeScript here. Technically, it's a superset of the ultra-popular and well-established JavaScript, which means that whatever you code in it is transpiled to JavaScript. That being said, many programming-language rankings (such as RedMonk) treat it as a full programming language. However you define it, it's clear that the language is on a strong growth trajectory, paired with a solid median salary. If you're looking for a new programming language to learn, keep an eye on it."

 

read the whole report here: https://visualstudiomagazine.com/articles/2021/04/01/typescript-csharp.aspx

 

For a quickstart to Typescript for tjose of you know who know javascript look here --> https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html

 

nrip's insight:

its wonderful to see that the 3 languages showing growth here in this list are the 2 languages and 1 framework I back at Plus91 i.e. Python, Javascript and Typescript :)

No comment yet.
Scooped by nrip
April 10, 2021 1:16 AM
Scoop.it!

The Healing Power of JavaScript

The Healing Power of JavaScript | Code it | Scoop.it

For some of us—isolates, happy in the dark—code is therapy, an escape and a path to hope in a troubled world

 

A little over a year ago, as the Covid-19 lockdowns were beginning to fan out across the globe, most folks grasped for toilet paper and canned food. The thing I reached for: a search function.

 

Reductively, programming consists of little puzzles to be solved. Not just inert jigsaws on living room tables, but puzzles that breathe with an uncanny life force. Puzzles that make things happen, that get things done, that automate tedium or allow for the publishing of words across the world.

 

Break the problem into pieces. Put them into a to-do app (I use and love Things). This is how a creative universe is made. Each day, I’d brush aside the general collapse of society that seemed to be happening outside of the frame of my life, and dive into search work, picking off a to-do. Covid was large; my to-do list was reasonable.

 

The real joy of this project wasn’t just in getting the search working but the refinement, the polish, the edge bits. Getting lost for hours in a world of my own construction. Even though I couldn’t control the looming pandemic, I could control this tiny cluster of bits.

 

The whole process was an escape, but an escape with forward momentum. Getting the keyboard navigation styled just right, shifting the moment the search payload was delivered, finding a balance of index size and search usefulness. And most important, keeping it all light, delightfully light. And then writing it up, making it a tiny “gist” on GitHub, sharing with the community. It’s like an alley-oop to others: Go ahead, now you use it on your website. Super fast, keyboard-optimized, client side Hugo search.

 

It's not perfect, but it’s darn good enough.

 

read the original story at https://www.wired.com/story/healing-power-javascript-code-programming/

 

 

No comment yet.
Scooped by nrip
March 31, 2021 12:56 AM
Scoop.it!

Algorithms drive technology forward

Algorithms drive technology forward | Code it | Scoop.it

Moore's law enables great progress, but often it's the underlying algorithms that drive computer science forward.

 

Everybody loves to talk about Moore’s law—which states that transistor counts on a microprocessor double about every two years—when talking about speed and productivity improvements in computing. But the gains that come from new algorithms may exceed ones from hardware improvements.

 

Algorithmic improvements make more efficient use of existing resources and allow computers to do a task faster, cheaper, or both.

 

Think of how easy the smaller MP3 format made music storage and transfer. That compression was because of an algorithm. The study cites Google’s PageRank, Uber’s routing algorithm, and Netflix video compression as examples.

 

Many of these algorithms come from publicly available sources—research papers and other publications.

This “algorithmic commons”—like the digital commons of open source software and publicly available information—helps all programmers produce better software.

 

 

read the entire unedited article at https://stackoverflow.blog/2021/03/24/forget-moores-law-algorithms-drive-technology-forward/

 

nrip's insight:

Algorithms make programs come to life. They make code think and applications feel.

 

Compression algorithms made digital speech possible years ago. I remember the days when we had all of 16KB to work and we were fitting an RTOS, real time operating system with a vocoder and we would fighting over optimizing bytes over execution time.

No comment yet.
Scooped by nrip
March 17, 2021 3:21 PM
Scoop.it!

The inevitable result of focusing only on shipping features

The inevitable result of focusing only on shipping features | Code it | Scoop.it

If we confuse shipping features for building a product, we will eventually see all forward progress cease.

 

If we are continually adding new features, the overall complexity of the software will steadily increase, and the surface area that we need to maintain will grow to an unsustainable state. I’m not suggesting that adding new features is bad, but we need to add them with the long-term product in mind. We need to see a continuous focus on restructuring/improving the product as part of our job, not a tax that takes us away from adding new features.

 

A common pattern in large software systems is that they grow in scope over time, leading to a state where they can no longer move quickly or keep up with the regular ongoing work needed.

 

Eventually they die out or someone must rebuild them from the ground up. The business or the engineering team makes this decision because it seems like the easiest path forward. This doesn’t have to be the case, but to avoid it requires a mindset change. 

 

A focus on reducing complexity and sustainable growth.

 

A preference for enhancing our core functionality instead of adding new capabilities.

 

There are definite reasons for new features, they can be critical to the product, but we must build them with an awareness of their cost.

 

We also need to be aware of what we are celebrating and creating incentives around. Is work done to improve maintainability, efficiency and existing functionality given equal weight to shipping something new and shiny? I suspect that if it were, we would have more stable and reliable software that could avoid the eventual demise of so many projects.

 

read the complete version of this beautifully written, brilliant article at https://www.duncanmackenzie.net/blog/inevitable-cost-of-focusing-on-only-features/

 

nrip's insight:

I believe that any products' market growth comes first from from the regular consistent improvement of its core capabilities/features of and then from the new bells and whistles that are added to it as offerings to its customers. This lovely articles articulates this so well.

 

I  am extracting this example from within the article out here so its easily visible and available to read for all those lazy guys who dont click on the link to the article and read it.

 

Imagine you have a construction company that designs and builds skyscrapers. They can create one new skyscraper a year. Assuming nothing else changes, they should be able to keep that pace up for the long-term. Now, after each new building project finishes, have that same team take over as the maintenance and operators of that building. It’s a small amount of work, relative to the full construction, but it takes a part of their capacity away, so the next building takes 13 months to finish. Now they take over the maintenance of that building as well. They are smart, so there are some efficiencies gained, but still, the next building takes 14 months to complete. Eventually, there are so few team members left to focus on the next project, that all progress stops.

 

 

No comment yet.
Scooped by nrip
March 8, 2021 11:58 PM
Scoop.it!

Beginner's Guide to React Redux

Beginner's Guide to React Redux | Code it | Scoop.it

There are several states in a JavaScript web app that keep on changing on the basis of user behavior, time, and other reasons. For example, creating a new to-do item in a ‘To Do list’ app will eventually change the current state of the application to the new state with the to-do item involved.

 

Since the state of the application is changed, the view through which the current state is presented with changes, and it eventually allows users to see the new to-do item in their view. However, if the state of an application doesn’t behave as expected, then it’s possibly the right time to debug the app.

 

Redux framework is a way to manage the  complete state of a JavaScript application through a centralized interface. In Redux each component of a web app can directly access the application’s state without sending down the props to child components.

 

Redux is a conventional state container for JavaScript applications. This state management tool is frequently used with the React JavaScript library, and it helps build web applications that can easily operate in different environments and behave consistently. 

 

Redux has a large ecosystem of add-ons that ultimately makes it suitable to be used together with React website templates as well as other view libraries. On top of all that, React Redux can easily provide a great and dynamic developer experience, along with many amazing benefits. 

 

Read the tutorial at :

 

https://www.wrappixel.com/beginners-guide-to-react-redux-heres-how-to-get-started/

 

to learn about

 

  1. How does the Redux framework work?
  2. Basics of React Redux
  3. Action(s)
  4. Reducer(s)
  5. Action Type
  6. Redux Store
  7. Simple Styling for React Redux Components
  8. Integrating React Redux within a User interface
  9. Why do developers prefer React Redux?
  10. Why should you use Redux?
  11. The way forward: The best online tutorials to master Redux from scratch.

 

 

No comment yet.
Scooped by nrip
March 4, 2021 1:14 AM
Scoop.it!

What I wish I had known about single page applications

What I wish I had known about single page applications | Code it | Scoop.it

 

Single page apps are all the rage today, but they don't always operate the same as traditional web pages.


Lets look at the how a single-page application(SPA) is different from a traditional web application

 

Web browsers work using a traditional client-server model. A web browser (the client) sends a request for some page to a web host (the server). The server sends back some HTML to the web browser. That HTML includes structured text along with links to other files such as images, CSS, JavaScript, etc. The combination of the HTML, along with these other files, allows the web browser to render a meaningful web page for the user.

 

And thus the world turns. You click a link, your web browser sends the request to the server, and the server sends back some HTML. Every response back from the server is the full HTML document required to render a web page.

 

A single-page app breaks this paradigm. The web browser sends the initial request and still gets back some HTML. But the response from the server is just a bare bones HTML document with no real content. On its own, this HTML is generic and doesn’t represent anything specific about the web site.

 

Instead, it contains a handful of placeholder elements, along with some links to JavaScript files. These JavaScript files are the heart and soul of the single-page app. Once loaded, they send back requests to the server to fetch content, and then dynamically update the HTML in the web browser to create a meaningful web page.

 

By all outward appearances, the application behaves like a traditional web site. The user sees HTML with images and buttons and interacts the exact same way. But under the hood things are very much different.

 

Read more at https://stackoverflow.blog/2021/02/24/what-i-wish-i-had-known-about-single-page-applications/

 

nrip's insight:

Single page applications have caught the fancy of the developers and architects alike. And I believe they are an excellent choice for a wide variety of applications. But using the right tools and thinking of scale is so very critical when designing any project, including SPAs. There are a ton of large scalable use cases where the SPA model is difficult to scale too.

 

Before developing, or for that matter before saying "yes we can do this", do spend some time building out a system level block diagram of the solution you intend to build. Identify which paradigm works best for the system, and always always use technologies which you understand well when building a solution which has to be scaled. 

 

Dont fall to the curse that is technology envy.  Improving skills is important and imperative, but dont see every shiny thing that someone talks about as a reason to doubt your knowledge. It’s easy to get envious of what others do, without realizing the skills you already have are valuable too.

No comment yet.
Scooped by nrip
January 8, 2021 3:55 AM
Scoop.it!

The Great Software Stagnation

Software is eating the world. But progress in software technology itself largely stalled around 1996.

 

Here’s what we had then, in chronological order:

LISP, Algol, Basic, APL, Unix, C, SQL, Oracle, Smalltalk, Windows, C++, LabView, HyperCard, Mathematica, Haskell, WWW, Python, Mosaic, Java, JavaScript, Ruby, Flash, Postgress.

 

Since 1996 we’ve gotten:

IntelliJ, Eclipse, ASP, Spring, Rails, Scala, AWS, Clojure, Heroku, V8, Go, Rust, React, Docker, Kubernetes, Wasm.

 

All of these latter technologies are useful incremental improvements on top of the foundational technologies that came before.

 

For example Rails was a great improvement in web application productivity, achieved by gluing together a bunch of existing technologies in a nicely structured way. But it didn’t invent anything fundamentally new. Likewise V8 made new applications possible by speeding up JavaScript, extending techniques invented in Smalltalk and Java.

 

But Since 1996 almost everything has been cleverly repackaging and re-engineering prior inventions. Or adding leaky layers to partially paper over problems below.

 

Nothing is obsoleted, and the teetering stack grows ever higher. Yes, there has been progress, but it is localized and tame. We seem to have lost the nerve to upset the status quo.

 

more at https://alarmingdevelopment.org/?p=1475

 

No comment yet.
Scooped by nrip
December 7, 2020 11:18 PM
Scoop.it!

Whats new in PHP8 ?

Whats new in PHP8 ? | Code it | Scoop.it

PHP 8 , released on November 26, 2020 is a new major version. It introduces some breaking changes, as well as lots of new features and performance improvements.

Because of the breaking changes, there's a higher chance you'll need to make some changes in your code to get it running on PHP 8. If you've kept up to date with the latest releases though, the upgrade shouldn't be too hard, since most breaking changes were deprecated before in the 7.* versions.

Besides breaking changes, PHP 8 also brings a nice set of new features such as the JIT compiler, union types, attributes, and more.

The JIT Complier :) It is the first time that PHP version has a compiler – JIT – that caches a version of your already interpreted code and generates a machine code as an output (machine code is on with 0’s and 1’s only). The “just in time” compiler promises speed improvements for complex tasks and algorithms and opens new opportunities for the PHP language to broaden its reach and applications. 

read more at https://stitcher.io/blog/new-in-php-8

ready to upgrade -> https://stitcher.io/blog/php-8-upgrade-mac

 

No comment yet.
Scooped by nrip
October 19, 2018 6:50 AM
Scoop.it!

How to build your own Neural Network from scratch in Python

Most introductory texts to Neural Networks brings up brain analogies when describing them. Without delving into brain analogies, I find it easier to simply describe Neural Networks as a mathematical function that maps a given input to a desired output.

Neural Networks consist of the following components

 

  • An input layerx
  • An arbitrary amount of hidden layers
  • An output layerŷ
  • A set of weights and biases between each layer, W and b
  • A choice of activation function for each hidden layer, σ. In this tutorial, we’ll use a Sigmoid activation function.

 

The diagram above shows the architecture of a 2-layer Neural Network (note that the input layer is typically excluded when counting the number of layers in a Neural Network)

 

read the rest of this article with code examples at https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6

 

No comment yet.
Scooped by nrip
October 18, 2018 8:35 PM
Scoop.it!

GitHub launches Actions, its workflow automation tool –

GitHub launches Actions, its workflow automation tool – | Code it | Scoop.it

For the longest time, GitHub was all about storing source code and sharing it either with the rest of the world or your colleagues. Today, the company, which is in the process of being acquired by Microsoft, is taking a step in a different but related direction by launching GitHub Actions. 

 

Actions allow developers to not just host code on the platform but also run it.  Something akin to a very flexible IFTTT for developers who want to automate their development workflows, whether that is sending notifications or building a full continuous integration and delivery pipeline.

 

read the rest of the article at https://techcrunch.com/2018/10/16/github-launches-actions-its-workflow-automation-tool/

 

No comment yet.
Scooped by nrip
October 17, 2018 5:58 PM
Scoop.it!

Migrating your Development Environment from PHP 5+ to PHP 7

Migrating your Development Environment from PHP 5+ to PHP 7 | Code it | Scoop.it

Many PHP applications are still running on PHP 5.x, not ready to take full advantage of the awesome features that PHP 7 offers.

 

A lot of developers have not made the switch because of certain fears of compatibility issues, migration challenges and the strange awkward feeling that migrating will take away a big chunk of their time.

 

In this tutorial, you'll learn how to upgrade your PHP 5 application to PHP 7 starting from upgrading your development environment.

 

Mac OS X

If you are a fan of Homebrew, you can install PHP 7.0 via homebrew like so:

brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/homebrew-php brew unlink php56 brew install php70

If you were using PHP 5.6, then you should unlink the old PHP by running brew unlink php56 else unlink whatever version is present before you go ahead to install PHP 7.0.

Another option is to install it via curl on your terminal like so:

curl -s https://php-osx.liip.ch/install.sh | bash -s 7.0

Windows

If you are fan of WAMP or XAMPP, then you can just download the latest versions of the software. It comes packaged with PHP 7.0.

Download and install the last/latest version

Another option is to download the PHP 7.0 distribution for windows from http://windows.php.net/download#php-7.0.

Ubuntu

If you are running Ubuntu on your machine, especially around v14 and 15, you can install PHP 7.0 by running these commands:

sudo apt-get update sudo add-apt-repository ppa:ondrej/php sudo apt-get install -y php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-intl php7.0-mysql

Note: You can check out how to install PHP 7 and Nginx here, and manually build memcached module for PHP 7.

 

 

read the steps for the other OS's as well as other details in the original article at https://auth0.com/blog/migrating-a-php5-app-to-php7-part-one/

 

No comment yet.
Scooped by nrip
October 15, 2018 1:07 AM
Scoop.it!

The highly popular PHP 5.x branch will stop receiving security updates at the end of the year.

The highly popular PHP 5.x branch will stop receiving security updates at the end of the year. | Code it | Scoop.it

According to statistics from W3Techs, roughly 78.9 percent of all Internet sites today run on PHP.

 

But on December 31, 2018, security support for PHP 5.6.x will officially cease, marking the end of all support for any version of the ancient PHP 5.x branch.

 

This means that starting with next year, around 62 percent of all Internet sites still running a PHP 5.x version will stop receiving security updates for their server and website's underlying technology, exposing hundreds of millions of websites, if not more, to serious security risks.

 

If a hacker finds a vulnerability in PHP after the New Year, lots of sites and users would be at risk.

 

"This is a huge problem for the PHP ecosystem, While many feel that they can 'get away with' running PHP 5 in 2019, the simplest way to describe this choice is: Negligent."

 

"To be totally fair: It's likely that any major, mass-exploitable flaw in PHP 5.6 would also affect the newer versions of PHP," Arciszewski added.

 

"PHP 7.2 will get a patch from the PHP team, for free, in a timely manner; PHP 5.6 will only get one if you're paying for ongoing support from your OS vendor.

 

"If anyone finds themselves running PHP 5 after the end of the year, ask yourself: Do you feel lucky? Because I sure wouldn't."

 

more at https://www.zdnet.com/article/around-62-of-all-internet-sites-will-run-an-unsupported-php-version-in-10-weeks/

 

 

 
No comment yet.
Scooped by nrip
April 15, 2021 11:07 AM
Scoop.it!

TensorFlow 2 on Raspberry Pi

TensorFlow 2 on Raspberry Pi | Code it | Scoop.it

Can the Raspberry Pi 400 board be used for Machine Learning? The answer is, yes!


TensorFlow Lite on Raspberry Pi 4 can achieve performance comparable to NVIDIA’s Jetson Nano at a fraction of the cost.

 

Method #3: Build from Source

Packaging a code-base is a great way to learn more about it (especially when things do not go as planned). I highly recommend this option! Building TensorFlow has taught me more about the framework’s complex internals than any other ML exercise.

 

The TensorFlow team recommends cross-compiling a Python wheel (a type of binary Python package) for Raspberry Pi [1]. For example, you can build a TensorFlow wheel for a 32-bit or 64-bit ARM processor on a computer running an x86 CPU instruction set.

Before you get started, install the following prerequisites on your build machine:

  1. Docker
  2. bazelisk (bazel version manager, like nvm for Node.js or rvm for Ruby)

Next, pull down TensorFlow’s source code from git.

$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow

Check out the branch you want to build using git, then run the following to build a wheel for a Raspberry Pi 4 running a 32-bit OS and Python3.7:

$ git checkout v2.4.0-rc2
$ tensorflow/tools/ci_build/ci_build.sh PI-PYTHON37 \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

For 64-bit support, add AARCH64 as an argument to the build_raspberry_pi.sh script.

$ tensorflow/tools/ci_build/ci_build.sh PI-PYTHON37 \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh AARCH64

The official documentation can be found at tensorflow.org/install/source_rpi.

Grab a snack and water while you wait for the build to finish! On my Threadripper 3990X (64 cores, 128 threads), compilation takes roughly 20 minutes.

 

read the whole article with the other methods to achieve this at https://towardsdatascience.com/3-ways-to-install-tensorflow-2-on-raspberry-pi-fe1fa2da9104

 

No comment yet.
Scooped by nrip
April 11, 2021 8:12 AM
Scoop.it!

What Exactly Is Your Brain Doing When Reading Code?

What Exactly Is Your Brain Doing When Reading Code? | Code it | Scoop.it

Coding is becoming an increasingly vital skill. As more people learn how to code, neuroscientists are beginning to unlock the mystery behind what happens in people’s brains when they “think in code.”

 

“Computer programming is not an old skill, so we don’t have an innate module in the brain that does the processing for us,” says Anna Ivanova, a graduate student at MIT’s Department of Brain and Cognitive Sciences. “That means we have to use some of our existing neural systems to process code.”

 

Ivanova and her colleagues studied two brain systems that might be good candidates for processing code: The multiple demand system—which tends to be engaged in cognitively challenging tasks such as solving math problems or logical reasoning—and the language system. Despite the structural similarities between programming languages and natural languages, the researchers found that the brain does not engage the language system—it activates the multiple demand system.

 

Mulling over a computer program is not like thinking in everyday language—but it's not pure logic either

 

 read this very interesting article on IEEE Spectrum https://spectrum.ieee.org/tech-talk/computing/software/what-does-your-brain-do-when-you-read-code

 

No comment yet.
Scooped by nrip
April 5, 2021 4:33 PM
Scoop.it!

Humans are leading AI systems astray because we can't agree on labeling

Humans are leading AI systems astray because we can't agree on labeling | Code it | Scoop.it

Is it a bird? Is it a plane? Asking for a friend's machine-learning code

 

Top datasets used to train AI models and benchmark how the technology has progressed over time are riddled with labeling errors, a study shows.

 

Data is a vital resource in teaching machines how to complete specific tasks, whether that's identifying different species of plants or automatically generating captions. Most neural networks are spoon-fed lots and lots of annotated samples before they can learn common patterns in data.

 

But these labels aren’t always correct; training machines using error-prone datasets can decrease their performance or accuracy. In the aforementioned study, led by MIT, analysts combed through ten popular datasets that have been cited more than 100,000 times in academic papers and found that on average 3.4 per cent of the samples are wrongly labelled.

 

The datasets they looked at range from photographs in ImageNet, to sounds in AudioSet, reviews scraped from Amazon, to sketches in QuickDraw.

 

Examples of some of the mistakes compiled by the researchers show that in some cases, it’s a clear blunder, such as a drawing of a light bulb tagged as a crocodile, in others, however, it’s not always obvious. Should a picture of a bucket of baseballs be labeled as ‘baseballs’ or ‘bucket’?

 

What would happen if a self-driving car is trained on a dataset with frequent label errors that mislabel a three-way intersection as a four-way intersection?

 

read more at https://www.theregister.com/2021/04/01/mit_ai_accuracy/

 

 

No comment yet.
Scooped by nrip
March 23, 2021 2:02 AM
Scoop.it!

What if software could be built using voice

What if software could be built using voice | Code it | Scoop.it

Increasingly, we’re interacting with our gadgets by talking to them. Old friends like Alexa and Siri are now being joined by automotive assistants like Apple CarPlay and Android Auto, and even apps sensitive to voice biometrics and commands.

 

But what if the technology itself could be built using voice?

 

That’s the premise behind voice coding, an approach to developing software using voice instead of a keyboard and mouse to write code. Through voice-coding platforms, programmers utter commands to manipulate code and create custom commands that cater to and automate their workflows.

 

Voice coding isn’t as simple as it seems, with layers of complex technology behind it.

 

From Voice to Code: Two of the leading programming-by-speech platforms today offer different approaches to the problem of reciting code to a computer.

 

One, Serenade, acts a little like a digital assistant—allowing you to describe the commands you’re encoding, without mandating that you necessarily dictate each instruction word-for-word.

 

Another, Talon, provides more granular control over each line, which also necessitates a slightly more detail-oriented grasp of each task being programmed into the machine. A simple example, below, is a step-by-step guide—in Serenade and in Talon—to generating the Python code needed to print the word “hello” onscreen.

 

Voice coding is still in its infancy, and its potential to gain widespread adoption depends on how tied software engineers are to the traditional keyboard-and-mouse model of writing code.

 

But voice coding opens up possibilities, maybe even a future where brain-computer interfaces directly transform what you’re thinking into code—or software itself.

 

read the original unedited article at https://spectrum.ieee.org/computing/software/programming-by-voice-may-be-the-next-frontier-in-software-development

 

 

No comment yet.
Scooped by nrip
March 17, 2021 3:02 PM
Scoop.it!

Poor quality software cost companies more in 2020 than in previous years

Poor quality software cost companies more in 2020 than in previous years | Code it | Scoop.it

Software developers found themselves working very hard throughout 2020 as many businesses were forced to switch to entirely digital operations in a very short period of time.

 

But according to a new report from the Consortium for Information and Software Security (CISQ), this haste came at a cost: something to the tune of $2.1 trillion, to be precise, and billions in waste

 

CISQ's 2020 report, The Cost of Poor Software Quality in the US, looked at the financial impact of software projects that went awry or otherwise ended up leaving companies with a larger bill by creating additional headaches for them.

 

According to the report,

  • unsuccessful IT projects alone cost US companies $260bn in 2020,
  • while software problems in legacy systems cost businesses $520bn
  • and software failures in operational systems left a dent of $1.56 trillion

 

Now, why poor quality software cost companies more in 2020 than in previous years

 

As any Software Specialist and IT Architect will tell you,  when it comes to software development, speed is a trade-off for quality and security.

 

And, time was a luxury that many businesses couldn't afford in 2020, with the pandemic forcing offices to shut and prompting rapid digitization. As companies brought forward their digital transformation plans software development projects expanded rapidly.

 

Also, the attitudes of most business leaders towards digital innovation are archaic, particularly when it comes to software.

 

"Software quality lags behind other objectives in most organizations. That lack of primary attention to quality comes at a steep cost.  While organizations can monetize the business value of speed, they rarely measure the offsetting cost of poor quality."

 

It just takes one major outage or security breach to eliminate the value gained by speed to market. Disciplined software engineering matters when the potential losses are in trillions.

 

As software is being developed and used the world over more  than ever before, the cost of poor software quality is rising, and mostly still hidden. Organizations spend way too much time finding and fixing defects in new software and dealing with legacy software that cannot be easily evolved and modified.

 

Read the original , unedited article at https://www.techrepublic.com/index.php/category/10250/4/index.php/article/developers-these-botched-software-rollouts-are-costing-businesses-billions/

 

nrip's insight:

Why poor quality software cost companies more in 2020 than in previous years

 

When planning a software development plan, one has to pick 2 of 3 parameters which you can specify, Price and Cost , Security and Quality, Time to develop.

And Price and Cost is always picked. In 2020, time was a premium so it was expected for projects to be developed in as short a time as possible, So its obvious that security and quality was sacrificed.

  

Also, the attitudes of most business leaders towards digital innovation are archaic, particularly when it comes to software. Software quality lags behind other objectives in most organizations.  While organizations can monetize the business value of speed, they rarely measure the offsetting cost of poor quality."

 

It just takes one major outage or security breach to eliminate the value gained by speed to market. Disciplined software engineering matters when the potential losses are in trillions.

 

As software is being developed and used the world over more  than ever before, the cost of poor software quality is rising, and mostly still hidden. Organizations spend way too much time finding and fixing defects in new software and dealing with legacy software that cannot be easily evolved and modified.

No comment yet.
Scooped by nrip
March 5, 2021 4:54 PM
Scoop.it!

Multi-region web app with private connectivity to database - Azure Example Scenarios

Multi-region web app with private connectivity to database - Azure Example Scenarios | Code it | Scoop.it

This example scenario discusses a highly available solution for a web app with private connectivity to a SQL database. A single-region architecture already exists for a web app with private database connectivity. This solution extends that base architecture by making it highly available.

 

To offer high availability, this solution:

  • Deploys a secondary instance of the solution in another Azure region.
  • Uses auto-failover groups for geo-replication and high availability of the database.

 

You can achieve high availability with a complete region failover.

 

However, this solution uses a partial region failover. With this approach, only components with issues fail over:

  • If the primary database fails over, the web app in the primary region connects to the newly activated secondary database while maintaining private connectivity.
  • If the app goes down in the primary region, the instance in the secondary region takes over. That instance connects to the primary database, which is still active.

Potential use cases

With private connectivity to a SQL database and high availability, this solution has applications in many areas. Examples include the financial, healthcare, and defense industries.

 

No comment yet.
Scooped by nrip
January 8, 2021 4:17 AM
Scoop.it!

New Quantum Algorithms Finally Crack Nonlinear Equations

New Quantum Algorithms Finally Crack Nonlinear Equations | Code it | Scoop.it

Simple phenomena, such as how sap flows down a tree trunk, are straightforward and can be captured in a few lines of code using what mathematicians call linear differential equations.

 

But in nonlinear systems, interactions can affect themselves: When air streams past a jet’s wings, the air flow alters molecular interactions, which alter the air flow, and so on. This feedback loop breeds chaos, where small changes in initial conditions lead to wildly different behavior later, making predictions nearly impossible — no matter how powerful the computer.

 

“This is part of why it’s difficult to predict the weather or understand complicated fluid flow,” said Andrew Childs, a quantum information researcher at the University of Maryland. “There are hard computational problems that you could solve, if you could [figure out] these nonlinear dynamics.”

 

That may soon be possible. In separate studies posted in November, two teams — one led by Childs, the other based at the Massachusetts Institute of Technology — described powerful tools that would allow quantum computers to better model nonlinear dynamics.

 
Quantum computers take advantage of quantum phenomena to perform certain calculations more efficiently than their classical counterparts. Thanks to these abilities, they can already topple complex linear differential equations exponentially faster than classical machines. Researchers have long hoped they could similarly tame nonlinear problems with clever quantum algorithms.
 
 
No comment yet.
Scooped by nrip
January 8, 2021 3:47 AM
Scoop.it!

Microsoft feature and application retirement dates to remember in 2021

Microsoft feature and application retirement dates to remember in 2021 | Code it | Scoop.it

With Microsoft's commitment to a continuously updated Windows 10 operating system and Microsoft 365 productivity suite, old features and applications are removed almost as fast as new features are introduced.

 

The year 2021 will see a number of important Microsoft applications reach a state of deprecation and retirement.

 

2021 Microsoft feature retirement dates

  • TLS 1.0 and TLS 1.1—Jan. 11, 2021
  • Skype for Business Online Connector—Feb. 15, 2021
  • Microsoft Edge Legacy—March 9, 2021
  • Microsoft 365 support for IE 11 – Aug. 17, 2021
  • Visio Web Access—Sept. 30, 2021

 

No comment yet.
Scooped by nrip
December 7, 2020 9:55 AM
Scoop.it!

Why are scientists turning to Rust ?

Why are scientists turning to Rust ? | Code it | Scoop.it

Despite having a steep learning curve, the programming language offers speed and safety.

 

First created in 2006 by Graydon Hoare as a side project while working at browser-developer Mozilla, headquartered in Mountain View, California, Rust blends the performance of languages such as C++ with friendlier syntax, a focus on code safety and a well-engineered set of tools that simplify development.

 

Portions of Mozilla’s Firefox browser are written in Rust, and developers at Microsoft are reportedly using it to recode parts of the Windows operating system.

 

The annual Stack Overflow Developer Survey, which this year polled nearly 65,000 programmers, has ranked Rust as the “most loved” programming language for 5 years running. The code-sharing site GitHub says Rust was the second-fastest-growing language on the platform in 2019, up 235% from the previous year.

 

 

 

read more at https://www.nature.com/articles/d41586-020-03382-2

 

 

nrip's insight:

I love Rust! Its fast and allows me to do the large scale number crunching I need to analyze clinical datasets against. But it takes time to learn and after a couple years of using it I still find myself not smooth at it.

 

Its a compiler driven language like C/C++

But it has a stricter, protective set of rules like interpreter driven languages aka python, JavaScript to ensure crashes are avoided by not letting problematic code compile.

No comment yet.
Scooped by nrip
October 18, 2018 11:08 PM
Scoop.it!

12 Things Every Junior Developer Should Learn

12 Things Every Junior Developer Should Learn | Code it | Scoop.it
  • learn how a relational database works (this is always useful)
  • learn how HTTP works in general
  • learn how to debug code in one language (it's pretty much the same in others, you can recycle most of the knowledge)
  • be familiar with the command line
  • know how to find code (either using your IDE or grep on the command line)
  • knowing the basics of regular expressions will get you far (also to find code in the previous point)
  • know how to find solutions using a search engine
  • know how to operate git (I would say any source control but git is the de facto standard so you might as well start with that)
  • ask questions, especially if you think they're not worth being asked
  • learn how timezones work (not kidding, lots of devs are still fuzzy on these)
  • learn how unicode and utf-8 work (same reason for timezones)
  • have a general idea of how caching (CPU, in memory, disk, HTTP) works as a concept

 

more at https://dev.to/ben/12-things-every-junior-developer-should-learn-lco

 

No comment yet.
Scooped by nrip
October 18, 2018 6:59 AM
Scoop.it!

What makes PHP 7 so special ? 5 New Features in #PHP7

What makes PHP 7 so special ? 5 New Features in #PHP7 | Code it | Scoop.it

1. SPEED!

The developers worked very hard to refactor the PHP codebase in order to reduce memory consumption and increase performance. And they certainly succeeded.

Benchmarks for PHP 7 consistently show speeds twice as fast as PHP 5.6 and many times even faster! 

2. Type Declarations

Type declarations simply means specifying which type of variable is being set instead of allowing PHP to set this automatically. PHP is considered to be a weak typed language. In essence, this means that PHP does not require you to declare data types. 

3. Error Handling

The next feature we going to cover are the changes to Error Handling. Handling fatal errors in the past has been next to impossible in PHP. A fatal error would not invoke the error handler and would simply stop your script. On a production server, this usually means showing a blank white screen, which confuses the user and causes your credibility to drop. It can also cause issues with resources that were never closed properly and are still in use or even locked.

 

In PHP 7, an exception will be thrown when a fatal and recoverable error occurs, rather than just stopping the script. Fatal errors still exist for certain conditions, such as running out of memory, and still behave as before by immediately stopping the script. An uncaught exception will also continue to be a fatal error in PHP 7. This means if an exception thrown from an error that was fatal in PHP 5 goes uncaught, it will still be a fatal error in PHP 7.

 

4. New Operators

Spaceship Operator

PHP 7 also brings us some new operators. The first one we’re going to explore is the spaceship operator. With a name like that, who doesn’t want to use it? The spaceship operator, or Combined Comparison Operator, is a nice addition to the language, complementing the greater-than and less-than operators.

Null Coalesce Operator

Another new operator, the Null Coalesce Operator, is effectively the fabled if-set-or. It will return the left operand if it is not NULL, otherwise it will return the right. The important thing is that it will not raise a notice if the left operand is a non-existent variable.

5. Easy User-land CSPRNG

What is Easy User-land CSPRNG?

User-land refers to an application space that is external to the kernel and is protected by privilege separation, API for an easy to use and reliable Cryptographically Secure PseudoRandom NumberGenerator in PHP.

Essentially secure way of generating random data. 

 

read the original article at https://blog.teamtreehouse.com/5-new-features-php-7

 

No comment yet.
Scooped by nrip
October 15, 2018 7:16 PM
Scoop.it!

Upgrade WordPress to PHP 7: How to Do It Safely

Upgrade WordPress to PHP 7: How to Do It Safely | Code it | Scoop.it

To upgrade WordPress to PHP 7, the process itself is easy.

 

In this article, we'll teach you how to make the switch and upgrade WordPress to PHP 7 the right way.

 

If you have full privileges on your server, you can upgrade WordPress to PHP 7 using your command line. On the other hand, if you’re on shared or managed hosting, you’ll probably have to ask your provider’s support team to upgrade your site manually.

 

In either case, the actual process is straightforward. The problem is that if you don’t take any precautionary measures, you run the risk of breaking elements of your site that don’t play nicely with PHP 7. That’s why we’re partial to a different approach that enables you to eliminate most of the risk involved.

 

Step #1: Back up your website

Step #2: Create a local staging copy of your site

There are plenty of ways to create a staging copy of your website, Try Local by Flywheel because it’s easy to set up. Plus, you don’t need to be a Flywheel customer to get the app. Just go to the website, fill out a short form, and download the tool.

Step #3: Test your staging site

Step #4: Upgrade your live site to PHP 7

There are two ways to approach it, depending on your host:

 

  1. If you use a Virtual Private Server (VPS) or any other hosting option that gives you full control, you can upgrade WordPress to PHP 7 from the command line.
  2. If your host doesn’t give you this level of access, you can ask them to upgrade you to the latest version through their support system.

 

When you’re done, be sure to test your site’s performance again (just to be safe). 

 

references:  

 

https://themeisle.com/blog/upgrade-wordpress-to-php-7/

 

https://wpengine.com/resources/upgrading-to-php-7/

 

 

 

 

nrip's insight:
You must upgrade your Wordpress sites to run on PHP7.
 
As mentioned earlier, security updates to PHP5+ branches will end on December 31, 2018.
 
Ask/Urge/Force your website developers, web managers, website hosts to move your sites to run on PHP7+ 
 
 

 

 
No comment yet.