Coding tools news 2022

Here is a post where I post information on new and interesting coding tools on the comments.

766 Comments

  1. Tomi Engdahl says:

    https://etn.fi/index.php/13-news/14895-enaeae-ei-kannata-opiskella-koodariksi

    Vielä vuosi sitten olisi ollut järkevää suositella nuorille melkein mitä tahansa perustietotekniikkaa tai ohjelmistokehitystä opiskelualaksi. Enää näin ei ole. Devisioonan toimitusjohtaja Jouni Heikniemen (kuvassa) mukaan koodariksi ei enää kannata opiskella.

    Syykin selvisi Microsoftin tänään järjestämässä Developer x AI -verkkotapahtumassa. Ammattikoodinvääntäjille tarkoitettu tapahtuma kävi läpi sitä, mitä ohjelmistokehityksen alalla tapahtuu juuri tällä hetkellä tekoälyn näkökulmasta.

    Heikniemen esimerkit kuvaavat muutosta hyvin. Vaikkapa HSL:n reittioppaan API-kuvauksesta ChatGPT löytää nopeasti, miten paikannetaan jo tietty koordinaattipiste jollakin vyöhykkeellä. Lisäksi ChatGPT osaa luoda tästä tiedosta C#-kielisen asiakasohjelman eli clientin, joka tuottaa halutun tiedon.

    - Jos CHatGPT:lle annetaa juurtava tieto, se tuottaa lähes täydellisiä vastauksia. Siltä voi kysyä, mitä joku C-koodinpätkä tekee, ja ChatGPT osaa selittää tämän vaikka rivi riviltä, lause lausekkeelta. ChatGPT löytää myös koodit virheestä salamannopeasti, Heikniemi sanoo.

    Koodarin elämää tekoäly helpottaa merkittävästi. Heikniemi tosin kutsuu sitä mieluummin tukiälyksi. – Ei tekoäly tee kenenkään duunia, vaan tukee siinä.

    Muutos tulee olemaan nopeaa. Esimerkiksi GitHubiin on jo julkistettu Copilot X -tekniikka eli koodaria chatin muodossa auttava apuri.

    Reply
  2. Tomi Engdahl says:

    How Software-Development-as-a-Service (SDaaS) Can Save Your Next Development Project
    https://www.helmes.com/software-development-as-a-service/

    Software-as-a-service (SaaS) is one of the largest markets for modern technology, reaching $195 billion this year, demonstrating that this service-based business model has revenue potential for companies.

    SaaS has dominated as one of the main pillars of IT services, alongside IaaS (Infrastructure-as-a-service) and PaaS (Platform-as-a-service).

    However, another term recently appeared, ‘SDaaS,’ which stands for ‘Software Development-as-a-Service.’

    SDaaS is hiring software developers on-demand and utilising those services to create custom software applications to reach business revenue goals.

    What is Software Development as-a-Service?
    Most businesses and organisations have their own IT department or development teams, completing daily tasks and ensuring systems and platforms work as they should.

    However, this is primarily reactive and only maintains existing software architecture, which, whilst imperative, will not add additional business value as building new enterprise mobile apps would or creating new sustainable software that can meet a company’s sustainability goals.

    That is when software development-as-a-service or a dedicated software development team is better. SDaaS is more transparent and predictable in costing, so clients know what they pay for and what they can expect at the end of each development cycle.

    Reply
  3. Tomi Engdahl says:

    Learning to code isn’t enough
    Historically, learn-to-code efforts have provided opportunities for the few, but new efforts are aiming to be inclusive.
    https://www.iflscience.com/men-may-refuse-to-quit-meat-because-it-threatens-their-masculinity-suggests-study-68620

    Reply
  4. Tomi Engdahl says:

    Rust Foundation so sorry for scaring the C out of you with trademark crackdown talk
    Should have wrapped proposed rules on name and logo use in unsafe {} ?
    https://www.theregister.com/2023/04/17/rust_foundation_apologizes_trademark_policy/

    Reply
  5. Tomi Engdahl says:

    How ‘Intelligent Twins’ Are Redefining The Future Of Manufacturing
    The technology is unlocking efficient new approaches, from predictive maintenance to VR collaboration. So why isn’t it ubiquitous?
    https://www.wired.co.uk/bc/article/how-intelligent-twins-are-redefining-the-future-of-manufacturing-microsoft

    Reply
  6. Tomi Engdahl says:

    ChatGPT writes insecure code
    https://www.malwarebytes.com/blog/news/2023/04/chatgpt-creates-not-so-secure-code-study-finds
    Research by computer scientists associated with the Université du Québec in Canada has found that ChatGPT, OpenAI’s popular chatbot, is prone to generating insecure code. “How Secure is Code Generated by ChatGPT?” is the work of Raphaël Khoury, Anderson Avila, Jacob Brunelle, and Baba Mamadou Camara. The paper concludes that ChatGPT generates code that isn’t robust, despite claiming awareness of its vulnerabilities

    Reply
  7. Tomi Engdahl says:

    Bringing Memory Safety to sudo and su
    https://www.memorysafety.org/blog/sudo-and-su/
    Our Prossimo project has historically focused on creating safer software on network boundaries. Today however, we’re announcing work on another critical boundary – permissions. We’re pleased to announce that we’re reimplementing the ubiquitous sudo and su utilities in Rust. Sudo was first developed in the 1980s. Over the decades, it has become an essential tool for performing changes while minimizing risk to an operating system. But because it’s written in C, sudo has experienced many vulnerabilities related to memory safety issues

    Reply
  8. Tomi Engdahl says:

    ChatGPT writes insecure code
    https://www.malwarebytes.com/blog/news/2023/04/chatgpt-creates-not-so-secure-code-study-finds/
    Research by computer scientists associated with the Université du Québec in Canada has found that ChatGPT, OpenAI’s popular chatbot, is prone to generating insecure code. “How Secure is Code Generated by ChatGPT?” is the work of Raphaël Khoury, Anderson Avila, Jacob Brunelle, and Baba Mamadou Camara. The paper concludes that ChatGPT generates code that isn’t robust, despite claiming awareness of its vulnerabilities

    Reply
  9. Tomi Engdahl says:

    https://etn.fi/index.php/13-news/14930-pythonista-halutaan-nopeampi

    Python on viime vuosina noussut suosituimmaksi kieleksi kehittäjien keskuudessa. Tähän on monia syitä, kuten syntaksin yksinkertaisuus ja joustavuus. Mutta kieli on tunnetusti hidas: yksinkertaisissakin laskentaprojekteissa kymmeniä, jopa satoja kertoja C:tä hitaampaa. Tätä eroa halutaan nyt pienemmäksi.

    Pythonin kehittäjien työn alla on nyt versio 3.12. Siinä tärkeimmäksi hankkeeksi on noussut koodin suorittamisen nopeutuminen ja koodin virtaviivaistaminen. Python.org-sivuilla on nyt julkaistu tietoja siitä, miten uusi versio parantaa kieltä.

    Yksi Pythonin ongelmista ja syistä hitauteen on huono tuki moniydinsuorittamiseen. Kieli tukee monisäikeisyyttä, mutta säikeitä suoritetaan rinnakkain eri ytimillä. Ja koska jokaiselle ytimelle täytyy ladata runtime-ympäristö, prosessi hidastuu.

    Tätä halutaan nopeuttaa poistamalla käytöstä GIL eli Global Interpreter Lock. Sen tehtävä on synkronoida säikeiden väliset operaatiot. Poistamalla GIL Python-koodia voitaisiin ajaa ”aidosti monisäikeisenä”.

    Pythonin tuleviin muutoksiin voi tutustua täällä.

    https://docs.python.org/3.12/whatsnew/3.12.html

    Reply
  10. Tomi Engdahl says:

    Frederic Lardinois / TechCrunch:
    Google announces a competitor to Microsoft’s GitHub Copilot, a chat tool for asking questions about coding, and AI-assisted coding in its no-code AppSheet tool

    Google launches a GitHub Copilot competitor
    https://techcrunch.com/2023/05/10/google-launches-a-github-copilot-competitor/

    At its annual I/O developer conference, Google today announced the launch of a number of AI-centric coding tools, including its competitor to GitHub’s Copilot, a chat tool for asking questions about coding and Google Cloud services, as well as AI-assisted coding in Google’s no-code AppSheet product.

    At the core of virtually all of these new code completion and code generation tools is Codey. Based on Google’s PaLM 2 large language model, the company specifically trained Codey to handle coding-related prompts, but it also trained the model to handle queries related to Google Cloud in general (all of this, by the way, falls under Google’s Duet AI branding).

    Reply
  11. Tomi Engdahl says:

    From bit-slice to Basic (and symbolic tracing)
    Step by step from micro-coded Intel 8080 compatible CPU based on Am2901 slices to small system running Tiny Basic from the Disco Era.
    https://hackaday.io/project/190239-from-bit-slice-to-basic-and-symbolic-tracing

    Reply
  12. Tomi Engdahl says:

    Linux Fu: C On Jupyter
    https://hackaday.com/2023/05/11/linux-fu-c-on-jupyter/

    If you are a Pythonista or a data scientist, you’ve probably used Jupyter. If you haven’t, it is an interesting way to work with Python by placing it in a Markdown document in a web browser. Part spreadsheet, part web page, part Python program, you create notebooks that can contain data, programs, graphics, and widgets. You can run it locally and attach to it via a local port with a browser or, of course, run it in the cloud if you like. But you don’t have to use Python.

    You can, however, use things with Jupyter other than Python with varying degrees of success. If you are brave enough, you can use C. And if you look at this list, you’ll see you can use things ranging from Javascript, APL, Fortran, Bash, Rust, Smalltalk, and even MicroPython.

    https://github.com/brendan-rius/jupyter-c-kernel

    Reply
  13. Tomi Engdahl says:

    Is this the world’s oldest Linux peripheral?
    https://www.youtube.com/watch?v=35N5vKKGDy8

    Reply
  14. Tomi Engdahl says:

    Self-Driving Library For Python
    https://hackaday.com/2023/05/16/self-driving-library-for-python/

    Fully autonomous vehicles seem to perennially be just a few years away, sort of like the automotive equivalent of fusion power. But just because robotic vehicles haven’t made much progress on our roadways doesn’t mean we can’t play with the technology at the hobbyist level. You can embark on your own experimentation right now with this open source self-driving Python library.

    Granted, this is a library built for much smaller vehicles, but it’s still quite full-featured. Known as Donkey Car, it’s mostly intended for what would otherwise be remote-controlled cars or robotics platforms. The library is built to be as minimalist as possible with modularity as a design principle, and includes the ability to self-drive with computer vision using machine-learning algorithms. It is capable of logging sensor data and interfacing with various controllers as well, either physical devices or through something like a browser.

    An opensource DIY self driving platform for small scale cars.
    RC CAR + Raspberry Pi + Python (tornado, keras, tensorflow, opencv, ….)
    https://www.donkeycar.com/

    What can you do?

    Build your own toy car that can drive itself.
    Drive your car with your phone or laptop.
    Record images, steering angles & throttles.
    Train neural net pilots to drive your car on different tracks.
    Race your car in a DIY Robocars race.

    Reply
  15. Tomi Engdahl says:

    An Entire RISC-V Operating System In 2000 Lines
    https://hackaday.com/2023/05/18/an-entire-risc-v-operating-system-in-2000-lines/

    While Microsoft and Apple don’t release the source code for their operating systems, a good estimate is that it takes around 50 million lines of code to run these software behemoths. The Linux kernel alone holds around 30 million lines, with systemd containing over one million lines on its own, which doesn’t include estimates for the desktop environment or other parts of a standard installation. But millions of lines of code, or even hundreds of thousands, aren’t necessary for building a fully functioning operating system. This one sets up a complete OS in exactly 2000 lines of code.

    Called egos-2000, short for Earth and Grass Operating System, the diminutive operating system is written for RISC-V computers and while it does contain most of the tools we would recognize in an OS, it was built specifically for computer science students by PhD candidate Yunhao Zhang.

    Yunhao Zhang’s Egos-2000 Packs an Entire RISC-V Operating System Into Just 2,000 Lines of Code
    https://www.hackster.io/news/yunhao-zhang-s-egos-2000-packs-an-entire-risc-v-operating-system-into-just-2-000-lines-of-code-2ba9875524a7

    Designed to make it possible for students to learn about every aspect of OS development, egos-2000 is a miniature marvel.

    Reply
  16. Tomi Engdahl says:

    https://www.facebook.com/232700400127440/posts/pfbid04hRs3Pyg9kP2FtS7V7oRS2CVcDhGBbAtGvPPXWLoQavZjUge2qJ3NfW3jrccE2s1l/

    When you are running a software development team, you don’t want your team members to fall into cargo cult development – meaning quick fixes and unstable code. ✋

    How can team leaders build a cult-resilient working culture? Check out Petri’s three tips

    #softwaredevelopment #digitalengineers #nitorhq #cargocult #development #teamleader

    Minimise the risk of cargo cult development – three tips on how team leaders can build a cult-resilient environment
    https://nitor.com/en/articles/minimise-the-risk-of-cargo-cult-development-three-tips-on-how-team-leaders?fbclid=IwAR2bTFWONGATTtj6McTI0zclUin_Cp0DbCUn_G1lqwzzWVofgf1Vtgl9MeY_aem_th_AVNV9M2qCioc4tV14_jTq1IQjBGLKso26Dspd8-2WqvBTvZei3k068qaDul738VMdIS45II0yO8KLcjft1zSIdAa

    Reply
  17. Tomi Engdahl says:

    When ‘Clean Code’ Hampers Application Performance
    https://thenewstack.io/when-clean-code-hampers-application-performance/

    Seattle-based programmer Casey Muratori sparked a debate in the programming community over some long-held assumptions about best practices.

    Reply
  18. Tomi Engdahl says:

    Tuore kieli tuulettaa ohjelmointia – ”loistaa erityisesti palvelinkäytössä”
    Jyrki Oraskari26.5.202306:05OHJELMISTOKEHITYS
    Elixir on rakennettu erlang-virtuaalikoneen päälle, joka kehitettiin alun perin jo 1986 televiestintäalan käyttöön.
    https://www.tivi.fi/uutiset/tuore-kieli-tuulettaa-ohjelmointia-loistaa-erityisesti-palvelinkaytossa/a7f835fe-d9b0-49d3-b321-41867de5e50f

    Vuonna 2012 José Valim loi elixirin aikeenaan yhdistää rubyn, clojuren ja haskellin helppo lähestyttävyys erlangin vahvuuksiin. Kielen syntaksi

    Reply
  19. Tomi Engdahl says:

    https://www.reuters.com/technology/ai-means-everyone-can-now-be-programmer-nvidia-chief-says-2023-05-29/

    We’ve heard all of this before with CASE tools, low code systems etc. They never fully realise the stated benefits. The technology is great and useful, but they’re never a magic panacea.

    1986: CASE tools will eliminate the need for programmers. Business people will just input the requirements and the tools will kick the code out.

    Ya, we know how **that** turned out.

    Reply
  20. Tomi Engdahl says:

    Dear recruiters,

    if you are looking for:
    - Java, Python, PHP
    - React, Angular
    - PostgreSQL, Redis, MongoDB
    - AWS, S3, EC2, ECS, EKS
    - Linux system administration
    - Git and CI with TDD
    - Docker, Kubernetes

    That’s not a Full Stack Developer. That’s an entire IT department.

    Your truly

    Reply
  21. Tomi Engdahl says:

    Python and PyQt: Creating Menus, Toolbars, and Status Bars
    https://realpython.com/python-menus-toolbars/

    Reply
  22. Tomi Engdahl says:

    https://www.freecodecamp.org/news/code-google-docs-with-flutter/

    Creating a Google Docs clone will help you learn a lot of new concepts

    Reply
  23. Tomi Engdahl says:

    HexWalk
    HexWalk is an Hex editor, viewer, analyzer with binwalk extension and a nice GUI
    https://hackaday.io/project/191486-hexwalk

    https://github.com/gcarmix/HexWalk

    Reply
  24. Tomi Engdahl says:

    An introduction to Shader Art Coding
    https://www.youtube.com/watch?v=f4s1h2YETNY

    In this tutorial, I explore the fascinating realm of shader art coding and aim to offer helpful insights and guidance to assist you in beginning your own creative journey. I hope to share my passion with you along the way!

    Reply
  25. Tomi Engdahl says:

    An introduction to Shader Art Coding
    https://www.youtube.com/watch?v=f4s1h2YETNY

    Timestamps:
    0:00 Introduction
    0:52 What are shaders ?
    2:55 Shadertoy
    3:19 In/out parameters
    4:04 Display colors
    4:40 fragCoord
    5:26 iResolution & swizzling
    6:45 uv coordinates
    7:45 Center uvs
    8:49 length()
    9:42 Fix aspect ratio
    10:36 Signed Distance Functions
    11:43 step()
    12:13 smoothstep()
    12:50 sin() and iTime
    13:58 1/x
    15:07 Add colors
    17:22 fract()
    19:05 Iterations
    20:13 exp()
    21:31 pow()
    21:55 Conclusion

    Reply
  26. Tomi Engdahl says:

    AI Does Not Help Programmers
    https://cacm.acm.org/blogs/blog-cacm/273577-ai-does-not-help-programmers/fulltext

    A blog at Communications of the ACM on AI and programming.

    Reply
  27. Tomi Engdahl says:

    In Praise Of RPN (with Python Or C)
    https://hackaday.com/2023/06/21/in-praise-of-rpn-with-python-or-c/

    HP calculators, slide rules, and Forth all have something in common: reverse polish notation or RPN. Admittedly, slide rules don’t really have RPN, but you work problems on them the same way you do with an RPN calculator. For whatever reason, RPN didn’t really succeed in the general marketplace, and you might wonder why it was ever a thing. The biggest reason is that RPN is very easy to implement compared to working through proper algebraic, or infix, notation. In addition, in the early years of computers and calculators, you didn’t have much to work with, and people were used to using slide rules, so having something that didn’t take a lot of code that matched how users worked anyway was a win-win.

    With RPN, there is no ambiguity depending on secret rules or parentheses, nor is there any reason to remember things unnecessarily. For instance, to calculate our example you have to read all the way through once to figure out that you have to multiply first, then you need to remember that is pending and add the 5. With RPN, you go left to right, and every time you see an operator, you act on it and move on.

    How to Do Algebraic

    It is illustrative to see how complex it is to do algebraic expressions the “normal” way. The usual method is to use two stacks and a precedence table.

    Python RPN

    Processing RPN, on the other hand, is easy. If you see a number, push it on the value stack. If you see an operator, pop off enough stuff from the stack, do the operation, and put the result back on the stack. In Python, this is very simple

    Why Not?

    If you need to represent math in a program, you might consider RPN. It is fast to write and easy on resources. Of course, you can just as easily make the infix algorithm spit out RPN code instead of doing the work itself, but there isn’t much benefit to that unless you are writing a compiler. Going the other way is possible, too, but a little harder.

    Then again, if you don’t mind having a lot more power and you are using Python, you might think about using eval() for infix notation. However, since it can execute anything Python, that’s not the right answer for all programs, especially not those that process user input. Not to mention, that’s notoriously hard to do in compiled languages like C.

    Reply
  28. Tomi Engdahl says:

    How Cedar, the new programming language, uses automated reasoning and intensive testing work as a way to improve developer experience.

    The Cedar Programming Language: Authorization Simplified
    https://thenewstack.io/the-cedar-programming-language-authorization-simplified/?utm_source=Facebook&utm_medium=Paid+Social+Media&utm_campaign=Jun+Spon+Articles&utm_content=Cedar&fbclid=IwAR3RhAUs05OwXNzKCCLeIRTwte7d728gkuSZMz84oQEs8GS4dmVPZPhRavc_aem_th_AWTAVdFILySNOdvGD-39KsycsNopaeyI-DPDuDahqJTqHsapm3ikR26hZTVcxX1uPiG0D2HgABBiFoq6-kqzTwpl

    How Cedar, the new programming language, uses automated reasoning and intensive testing work as a way to improve developer experience.

    Amazon Web Services open sourced Cedar this Spring, a language for helping developers control access to resources such as data, compute nodes in a cluster, or workflow automation components.

    Open Sourcing AWS Cedar Is a Game Changer for IAM
    https://thenewstack.io/open-sourcing-aws-cedar-is-a-game-changer-for-iam/

    The launch of Cedar is a tectonic shift in the IAM space, making it clear that the problem of in-app permissions has grown too big to ignore.

    Reply
  29. Tomi Engdahl says:

    https://hackaday.com/2023/06/29/microsoft-basic-for-the-dragon-64-recovered/

    There are a great many pieces of software of yesteryear that are no longer readily accessible. It’s now possible to cross Microsoft BASIC for the Dragon 64 off that list, with the source code now posted for all to enjoy on GitHub.

    The repository concerns the Microsoft 16K BASIC Interpreter as built for the Motorola 6809, as used in the Dragon 64 computer. This is also known as BASIC-69 or Extended Color Basic.

    https://github.com/davidlinsley/DragonBasic

    Reply
  30. Tomi Engdahl says:

    GitLab All in on AI: CEO Predicts Increased Demand for Coders
    https://thenewstack.io/gitlab-all-in-on-ai-ceo-predicts-increased-demand-for-coders/

    GitLab will incorporate AI throughout its DevSecOps platform, said CEO Sid Sijbrandij, adding that AI will lead to more demand for developers.

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

*

*