AI tools for programming are progressing fast


MIT Technology Review’s Will Douglas Heaven provides a comprehensive overview of the AI revolution in software development, showcasing the innovative startups driving this change.

They are monetizing a real need for programmers and businesses, who are already using these tools massively. A quarter of the code produced by Google today is generated by AI, according to Google CEO Sunday Pichai.

The key takeaway is that these programs are so good that the job of engineers is now to write prompts and review code written by machines.

The first step has been to train the models from billions of lines of code found online, offering a super-powerful autocorrect.

They are now using machine learning techniques to allow the model to “play” in a simulated environment iteratively, much like Google’s DeepMind did with AlphaGo, when it won against the world champion in 2017.

The goal of the game is to arrive at a model that understands the logic underlying any programming language.

Achieving that logical understanding would be to software development what the introduction of ATMs has been to banking.

The speed of development once this logical understanding is achieved will allow the machines to solve problems by programming on the fly, and this they say will be the true AGI.

GNoME: Unlocking the Future of Materials Discovery


The quest for novel materials has always been at the heart of technological advancement, driving innovations across countless industries. Now, a groundbreaking deep learning tool developed by Google AI, dubbed GNoME (Graph Networks for Materials Exploration), is poised to revolutionize this pursuit, ushering in an unprecedented era of discovery.

At its core, GNoME leverages the power of graph networks, a specialized form of artificial intelligence adept at learning from data structured as graphs. This makes it uniquely suited for the intricate world of materials science, where atomic structures and their interconnections can be naturally represented as graphical relationships.

GNoME operates by meticulously analyzing a vast database of existing materials. This comprehensive dataset encompasses crucial information such as crystal structures, chemical compositions, and energy states.

By discerning complex patterns and relationships within this known data, GNoME gains the ability to accurately predict the properties of entirely new, hypothetical materials.

The impact of GNoME’s initial explorations has been nothing short of astounding. The tool has already identified an astonishing 2.2 million new materials. Critically, a significant subset of these – approximately 380,000 – are predicted to be stable. This stability prediction is paramount, indicating that these materials are likely to exist in nature and possess the potential for real-world applications, paving the way for transformative technological breakthroughs.

The potential applications of GNoME’s discoveries span a wide and diverse range of industries:

  • Electronics: GNoME could unlock the secrets to next-generation electronic components, from high-performance superconductors to more efficient semiconductors, paving the way for faster and more powerful devices.
     
  • Energy: The tool holds immense promise for advancing clean energy solutions, facilitating the discovery of superior materials for highly efficient solar cells, longer-lasting batteries, and other crucial energy storage devices.
     
  • Medicine: In the realm of healthcare, GNoME could accelerate drug discovery by identifying novel materials for pharmaceutical applications and lead to the creation of more advanced and effective medical devices.

The implications for everyday life are equally profound. The new materials unearthed by GNoME could directly translate into a host of enhanced consumer products:

  • Smartphones and Laptops: Imagine smartphones with vastly extended battery life and more powerful processors, or laptops that are significantly lighter and more durable. GNoME’s materials could make these advancements a reality.
  • Electric Vehicles: The development of more efficient and affordable electric cars could be greatly accelerated by the discovery of new materials that enhance battery performance and vehicle construction.
  • Solar Panels and Batteries: Expect to see substantial improvements in the efficiency of solar panels and the longevity and power of batteries, contributing to a more sustainable and electrified future.

In essence, GNoME represents a monumental leap forward in materials science. By dramatically accelerating the pace of discovery, this innovative tool has the potential to unlock a future teeming with novel technologies and improved products, profoundly impacting our lives for the better. The era of targeted, intelligent materials discovery has truly arrived.

CAD-inspired style and Subdivision modelling

Look at the sofas that came up from the application of PU foam in the 60’s, it was almost as if the PU foam was asking to be modeled in this shape.
Look at the styles that came up from architects that were exploiting concrete to its limit: they came up with Brutalism.
Look at the peculiar style that emerged from blacksmiths in the 1800s. They had a limited number of operations to model metal rods, and that operations forged the style.

Look at the tools which are used now and you will have a spectrum of styles.

So, if there is a limited dialogue between the mesh based tools and CAD used to manufacture physical goods, you will have more expressions influenced by CAD.

Now we can manufacture potentially any shape with the available manufacturing technology, and a lot of shapes are still lofts and cut extrudes. This could be remembered as the golden age of CAD in Industrial design, producing many great products with this peculiar style guided by parametric functions.


Mercedes-AMG GT R Roadster entirely made in Blender by Nahid Mustafazade on Artstation

Polygonal modeling is the most widespread and versatile 3D modeling technique. The expressive potential and usability of this technique should be a must have for industrial designers. But we are far from using its full potential.

Meshes can describe any 3D shape, with a level of precision that depends on the number of polygons. Game assets are optimized to save computing resources. Based on Subdivision surfaces, while working on a few polygons, they describe complex and polished surfaces.
In this conceptually simple way, artists can create complex and amazing shapes, in an easy way. So why aren’t we seeing it everywhere on the industrial design 3d modeling pipeline?

The standard in industrial design is modeling with Parametric surfaces, which I call NURBS. It’s the surface-generating “language” on which Rhinoceros 3D is based, ideal for modeling automotive-style, aerodynamic shapes.
The precision and control you get with parametric surfaces are much higher, but I think that large organisations continue to use the same software that their employees already master (it is a legacy system) and resist change.

The problem

The shapes that come up quite easily with subdivision surfaces require much more effort to be made with paramedic surfaces. It’s not a lack of imagination, will or ability from designers. It’s as if the program decides what you can and cannot do, while outside the industrial design world, professionals continue to produce great models and renders at a impressive rate, thanks to software like Zbrush, Maya, Blender, Max, with the tools and user interface which are 20 years head start.

While prominent design firms keep using cut extrudes and lofts, with good looking rounded edges, game design is experiencing the equivalent of the renaissance in terms of style and new ideas.

How is it possible that the complexity of the shapes in products is so basic? Is it just because everyone follows Dieter Rams teachings? Why everything seems copied from Apple products? I’m saying that it’s not just fashion, it’s lack of tools.

T-splines tried to bridge this gap by offering a plugin for Rhino, recently integrated in Autodesk Fusion360, while Creo Parametric offers freestyle, a great way to import and edit a lo-poly mesh into a parametric software.
Until now, these programs had a limited number of functions, and it seems hard to catch up with the mesh modeling interface.

The picture above shows the underlying mesh of a simple shape, with Semi-Sharp Creases on the edges

I think industrial designers should integrate organic modeling features alongside the classic parametric tool. Not just to “explore” new shapes, as advertised by some software houses, even though that is a great step forward.

Subdivision surfaces and the advanced modeling interface you see in Zbrush and Blender should be merged seamlessly into the industrial design workflow, because the advantage to create gorgeous shapes is great, and most of all, it shouldn’t be painful.

Working for the toy industry in the last 4 years I sculpted meshes on Zbrush and imported the obj on my favorite parametric softwares. Could Rhino 7 solve the problem? It seems to deliver quite well, so far.

Leather bag modeled with Rhino 7 sub-d feature

Hiring a professional on Upwork

I needed an email alert to know when a new shopper would became available on the groceries website.

During the pandemic, Supermercato24 was my favorite food delivery service, it offers to bring the groceries at home, managing the shoppers that go to the supermarket.

Unfortunately, as everyone is forced to stay at home, shoppers remain available only for a few minutes before being all reserved. It’s hard to find the right spot if you want your food delivered in a few hours or even the next day.

I thought of hiring a programmer on Upwork, to create a web based script that would help me with this problem. The script needed to log on the website for me and send an alert via email when new shoppers would be available again. In that way I should be able to rush on the website and place an order.

“Upwork is a global freelancing platform where businesses and independent professionals connect and collaborate remotely” (wikipedia).


So I placed the title of the job posting, trying to be very specific, as the more precise you are, the least problems of understanding are going to show up later.

Than I set up the required skills, in my case a programmer able to do automation.


Finally I published the job posting. And that’s when the fun part started: in minutes I received a job application from Ait Doukali Z., a programmer from Morocco.

It’s been really a pleasure working with him, as he’s an expert programmer and quickly created a program in python on his computer, sending the first test emails. Later he placed it on a Google Cloud virtual machine. The next day it needed only some minor changes, and today I was receiving emails as expected.


So, I discovered that if you want the shopper available for the next few hours you need a bot like this to catch it, because new shoppers show up in a totally unpredictable way.

Now I can have a shopper in 3 hours at my door.


Final notes:

In 2015 I worked on Upwork as 3D model maker and industrial designer and it’s been a really intense and rewarding experience.

I felt empowered as my clients were piling up at a fast pace; I was plenty of good ratings from my clients. Corporate employees in need of an extra hand for a project, more often makers searching for a personalized service to realize their projects, sometimes startups with a new product, or inventors with an idea that needed to be designed, 3D modeled, prototyped to show it to potential clients.

The so called “gig economy” is one of those phenomena ignited by the internet where the tension between low prices for consumers and fair job conditions for the workers started to heat up a few years ago; now you can’t feel at ease without taking the side of the liberal economy OR the workers rights, but for now I wanted to focus on creating a cloud based script in two days. I posted a fixed price job at 30€ for the whole project, and I received an offer probably because the worker was at the beginning of its career on the website, he needed to build his reputation. Probably in the future, as the worked hours will be higher and the ratings too, he will only accept payments by the hour, realistically at 30€/hour. I placed a tip of 20€, feeling a bit guilty.

The online jobs marketplace is a great resource for freelancers. During my experience as a 3D model maker and designer in Italy I often struggled with a system where new contractors are found by word of mouth. Companies can’t trust a freelancer if it’s not recommended, or if they can’t count on trust built in years of collaboration. But in a marketplace you can trust the rating of a worker, in a similar way to the rating you trust for a product on Amazon.

I just suggested that people can be treated as goods, entering in the muddy waters of mercification of the workers, but I still see a jobs marketplace as powerful tool for a freelancer.

And I didn’t yet mentioned the unique possibility offered on Upwork, to have automatically enforced contracts and payments, something you can only dream of if you are a freelancer in Italy (think of 60 days payment terms, if only the company is still alive by that time).

The freelancers rating system is a central part of the trust that clients can put in a freelancer and indispensable to expect the desired outcome.

For a freelancer on a marketplace, rating is the most important presentation, even more important than the price they offer.

For small companies and private clients, this service can unlock the potential of a global market of really skilled workers that offer specialized services at a fraction of the price that a large studio can offer, unlocking the possibilities for great ideas to be realized.