GraphQL is a query language that is rapidly gaining wide adoption across the community.

It combines type validation with a query and filtering syntax that makes it easy to get up-and-running with a powerful web API in almost no time.

Features like running parallel queries or update-all become much easier because they are first-class citizens of GraphQL. Add to that a vibrant community that keeps creating excellent tooling and documentation, it’s clear why GraphQL has become so popular with developers

Every abstraction has a cost, and GraphQL is no exception. The added complexity and a new schema format to parse and execute mean new performance bottlenecks. In addition to performance issues, the wrong use of GraphQL can lead to architectural bottlenecks.

Instead of viewing this as a problem, NearForm took this as a challenge.

More details:

Caleb Curry has everything you need to know to get started as a C++ Programming Software developer / Software engineer — starting off with the super basics and then to intermediate topics.

Time indexes are below the video so you can jump to the section you want.

1:09 – Intro
9:31 – Installing g++
15:37 – C++ Concepts
22:31 – More C++ Concepts
30:48 – Using Directive and Declaration
37:33 – Variable Declaration and Initialization
40:40 – Using Variables with cout
44:46 – User Input with cin
47:57 – Conventions and Style Guides
56:23 – Intro to Functions
1:01:28 – Intro to Creating Custom Functions
1:09:05 – Pow Function
1:13:13 – Creating Custom Functions
1:22:20 – Creating Void Functions
1:29:11 – Intro to C++ Data Types
1:37:17 – Integral Data Types and Signed vs Unsigned
1:44:38 – Integral Data Types, sizeof, limit
1:49:35 – char Data Type
2:02:21 – bool Data Type
2:06:54 – Floating Point Numbers
2:15:00 – Constant const, macro, and enum
2:21:00 – Numeric Functions
2:28:37 – String Class and C Strings
2:37:47 – get line for Strings
2:40:52 – String Modifier Methods
2:47:56 – String Operation Methods
2:54:36 – Literals
2:59:42 – Hex and Octal
3:04:06 – Operator Precedence and Associativity
3:11:53 – Reviewing Key Concepts
3:17:54 – Control Flow
3:27:32 – If Statement Practice
3:32:33 – Logical and Comparison Operators
3:42:27 – Switch Statement and Enum
3:51:00 – Intro to Loops
3:58:01 – For Loops (How to Calculate Factorial)
4:05:06 – While Loop and Factorial Calculator
4:12:29 – Do While Loop
4:20:04 – Break and Continue
4:25:14 – Conditional Operator
4:29:04 – Intro to Our App
4:33:00 – Creating a Menu
4:38:11 – Creating a Guessing Game
4:45:27 – Intro to Arrays and Vectors
4:54:15 – Working with Arrays
5:04:21 – Passing Arrays to Functions
5:11:11 – Fill Array from Input
5:20:42 – Using and Array to Keep Track of Guessing
5:25:55 – Intro to Vectors
5:33:00 – Creating a Vector
5:36:39 – Passing Vectors to Functions
5:39:55 – Refactor Guessing Game to Use Vectors
5:43:47 – STL Array
5:47:47 – STL Arrays in Practice
5:51:45 – Refactor Guessing Game to Use Templatized Array
5:55:13 – Array vs Vector vs STL Array
5:01:49 – Range Based for Loop
6:07:03 – Intro to IO Streams
6:15:45 – Writing to Files with ofstream
6:24:43 – Readings from Files with ifstream
6:31:13 – Saving High Scores to File
6:39:46 – Functions and Constructors
6:47:53 – Refactoring IO to Function Call and Testing
6:54:31 – Multidimensional Arrays and Nested Vectors
6:59:29 – Const Modifier
7:04:33 – Pass by Reference and Pass By Value
7:11:41 – Swap Function with Pass by Reference
7:14:27 – Intro to Function Overloading
7:19:35 – Function Overloading Examples
7:26:22 – Default Arguments
7:33:24 – Intro to Multifile Compilation
7:40:56 – Multifile Compilation
7:48:15 – Makefiles
7:54:44 – Creating a Simple Makefile
8:01:30 – Intro to Namespaces
8:05:33 – Creating a Namespace
8:10:24 – Intro to Function Templates
8:15:24 – Creating a Function Template
8:18:40 – Overloading Function Templates
8:23:18 – Intro to Object Oriented Programming
8:30:39 – Intro to Structs
8:35:59 – Creating a Struct
8:41:48 – Classes and Object
8:49:58 – Creating a Class
8:52:45 – Working with Objects
9:00:11 – Intro to Constructors
9:05:18 – Constructors and Destructors
9:09:53 – Encapsulation
9:15:40 – Getters and Setters
9:22:47 – Static Data Members
9:29:59 – Intro to Operator Overloading
9:34:07 – Operator Overloading == and +
9:41:13 – Overloading Insert and Extraction Operators
9:49:07 – Friend Functions and Operator Overloading
9:56:14 – Class Across Files
10:03:31 – Inheritance and Polymorphism
10:08:49 – Base Classes and Subclasses Inheritance
10:16:54 – Polymorphism
10:23:15 – Conclusion

Malte Pietsch delivers this keynote on “Transfer Learning – Entering a new era in NLP” at PyData Warsaw 2019

Transfer learning has been changing the NLP landscape tremendously since the release of BERT one year ago. Transformers of all kinds have emerged, dominate most research leaderboards and have made their way into industrial applications. In this talk we will dissect the paradigm of transfer learning and its effects on pipelines, modelling and the engineers mindset.

The Science Elf explores the rise of and fall of Flash, a technology that enabled rich interactivity on the internet since the late 90s.

It became ubiquitous on the web and met its doom at the hands of the Steve Jobs, no really.

I do take issue with the statement in the video that Flash was a “flash in the pan” technology. It was prevalent for the better part of dozen years. Flash had staying power and it was only the pull of the iPhone that killed it.

Siraj Raval  interviews Vinod Khosla in the latest edition of his podcast.

Vinod Khosla is an Entrepreneur, Venture Capitalist, and Philanthropist. It was an honor to have a conversation with the Silicon Valley legend that I’ve admired for many years. Vinod co-founded Sun Microsystems over 30 years ago, a company that grew to over 36,000 employees and invented so much foundational software technology like the Java programming language, NFS, and they pretty much mainstreamed the ‘idea’ of open source. After a successful exit, he’s been using his billionaire status to invest in ambitious technologists trying to improve human life. He’s got the coolest investment portfolio I’ve seen yet, and in this hour long interview we discuss everything from AI to education to startup culture. I know that my microphone volume should be higher in this one, I’ll fix that the next podcast. Enjoy!

Show Notes:

Time markers of our discussion topics below:

2:55 The Future of Education
4:36 Vinod’s Dream of an AI Tutor
5:50 Vinod Offers Siraj a Job
6:35 Choose your Teacher with DeepFakes
8:04 Mathematical Models
9:10 Books Vinod Loves
11:00 What is Learning?
14:00 The Flaws of Liberal Arts Degrees
16:10 Indian Culture
21:11 A Day in the Life of Vinod Khosla
23:50 Valuing Brutal Honesty
24:30 Distributed File Storage
30:30 Where are we Headed?
33:32 Vinod on Nick Bostrom
38:00 Vinod’s Rockstar Recruiting Ability
43:00 The Next Industries to Disrupt
49:00 Vinod Offers Siraj Funding for an AI Tutor
51:48 Virtual Reality
52:00 Contrarian Beliefs
54:00 Vinod’s Love of Learning
55:30 USA vs China

Vinod’s ‘Awesome’ Video:

Khosla Ventures Blog posts:

Books we discussed:

Scale by Geoffrey West:

Factfulness by Hans Roesling:

Mindset by Carol Dwicke:

36 Dramatic Situations by Mike Figgis:

Sapiens by Yuval Noah Harari:

21 Lessons for the 21st Century by Yuval Noah Harari:
The Third Pillar by Raghuram R:

Zero to One by Peter Thiel:

Siraj Raval explores generative modeling technology.

This innovation is changing the face of the Internet as you read this. It’s now possible to design automated systems that can write novels, act as talking heads in videos, and compose music.

In this episode, Siraj explains how generative modeling works by demoing 3 examples that you can try yourself in your web browser. 

In this era of “Internet of Code”, data and metadata around open source projects are abundantly available.

Here’s an interesting talk by Microsoft Research on AI developing software itself.

While research in program synthesis is not new, deep learning systems that take advantage of large scale code as data is starting to show new promise in improving developer productivity. The availability of GPU machines and cloud-based distributed systems help build deeper networks and scale them to production systems. In addition to passive input from open repos, crowdsourcing software expertise and integrating this with software systems has shown positive results. AI promises assistance and automation in every aspect of software development from edit and build stage to test and deploy stage. What traditional compiler and run time systems did with rules and analyzers can be replaced with AI-driven algorithmic systems. The concept of Software 2.0 is being discussed where code appears as data and where traditional software development processes give way to AI-based systems. In this panel, we explore opportunities for research and technology to improve productivity in software engineering and how AI plays a role in it.