Language Selection

English French German Italian Portuguese Spanish

Development

Qt 5.13 Released!

Filed under
Development

Today, we have released Qt 5.13 and I’m really proud of all the work that everyone has put into it. As always, our releases come with new features, updates, bug fixes, and improvements. For Qt 5.13, we have also been focused on our tooling that makes designing, developing and deploying software with Qt more efficient for designers and developers alike. Let’s take a look at some of the highlights of Qt 5.13 as well as some of the updates on the tooling side.

I will also be holding a webinar summarizing all the news around Qt 5.13 together with our Head of R&D Tuukka Turunen on July 2. Please sign up and ask us your questions.

Read more

Also: Qt 5.13 Released With glTF 2.0 Importing, Wayland Improvements, Lottie Animation Support

Python: Leading, Developing for Android and New RCs

Filed under
Development
  • Leading in the Python community

    Naomi began her career in the Classics; she earned a PhD in Latin and Ancient Greek with a minor in Indo-European Linguistics, as she says, "several decades ago." While teaching Latin at a private school, she began tinkering with computers, learning to code and to take machines apart to do upgrades and repairs. She started working with open source software in 1995 with Yggdrasil Linux and helped launch the Fort Wayne, Indiana, Linux User Group.

  • What’s the Best Language for Android App Developers: Java or Python?

    Few things can be so divisive among developers as their choice of programming languages. Developers will promote one over the other, often touting their chosen language’s purity, speed, elegance, efficiency, power, portability, compatibility or any number of other features.

    Android app developers are no exception, with many developers divided between using Java or Python to develop their applications. Let’s look at these two languages and see which is best for Android app developers.

  • Python 3.7.4rc1 and 3.6.9rc1 are now available

    Python 3.7.4rc1 and 3.6.9rc1 are now available. 3.7.4rc1 is the release preview of the next maintenance release of Python 3.7, the latest feature release of Python. 3.6.9rc1 is the release preview of the first security-fix release of Python 3.6. Assuming no critical problems are found prior to 2019-06-28, no code changes are planned between these release candidates and the final releases. These release candidates are intended to give you the opportunity to test the new security and bug fixes in 3.7.4 and security fixes in 3.6.9. We strongly encourage you to test your projects and report issues found to bugs.python.org as soon as possible. Please keep in mind that these are preview releases and, thus, their use is not recommended for production environments.

Programming/Development: C++, Go, Mozilla/Firefox and Python

Filed under
Development
  • Deliverable 1 : [✓]

    Seems okay, far better than the initial results. Although I should say, I deviated from what I thought I would need to write. First I assumed that I don’t have to write another boost::graph wrapper for KisPaintDevice, but I had to. That was one heck of an experience. In one of the last few posts, I ranted on Dmitry’s interpretation of the Graph, turns out we were on the same page but I understood his explanation the wrong way. I should put more attention to details from now on I guess.

    All the pixels are connected to each other, but they only have an edge between them if they are adjacent. If in center, the out degree would be 8, if in corners, 3 and if in edges, 5. There are some other cases too, but I will leave them for the moment.

    While writing the wrapper, I also got to know some of the cool features and techniques of C++, which I will be writing posts on as soon as I get some time, concepts, traits, avoiding virtual functions and what not. It is commendable that how boost approaches boost::astar_search, there is not a single virtual function, you don’t have to inherit anything (you can though for safety), just templates and traits, you are done.

  • Go Creeping In

    I’ve seen the inside of the Google and Amazon tech stacks. There are common threads that run through them and also, I bet, through most BigTechCos. Here and there down the stack is a lot of C++ and vestigial remnants from earlier days, Perl or PHP or whatever. Out in front of humans, of course, JS. But in between, there are oceans and oceans of Java; to a remarkable degree, it runs the Internet. Except for, here and there, you find a small but steadily increasing proportion of Go.

  • Stand by for FPR14 SPR1 chemspill

    Mozilla has shipped a fix for MFSA2019-18 in Firefox 67.0.3 and 60.7.1. This exploit has been detected in the wild, and while my analysis indicates it would require a PowerPC-specific attack to be exploitable in official TenFourFox builds (the Intel versions may be directly exploited, however), it could probably cause drive-by crashes and we should therefore ship an urgent fix as well. The chemspill is currently undergoing confidence tests and I'm shooting to release builds before the weekend. For builders, the only change in FPR14 SPR1 is the patch for bug 1544386, which I will be pushing to the repo just as soon as I have confirmed the fix causes no regressions.

  • PyPI Now Supports Two-Factor Login via WebAuthn
  • Understanding Python assignment
  • How to Publish Your Own Python Package to PyPI
  • PyCoder’s Weekly: Issue #373 (June 18, 2019)
  • EuroPython 2019: Community Discounts
  • EuroPython 2019: Inviting European Python Conference Organizers

Programming/Development: Libhandy, anytime, JetBrains and More

Filed under
Development

Programming: Apache's Kafka, LLVM's Clang and Google's Go

Filed under
Development
  • Building Apache Kafka Streams applications using Red Hat AMQ Streams: Part 2

    The Apache Kafka project includes a Streams Domain-Specific Language (DSL) built on top of the lower-level Stream Processor API. This DSL provides developers with simple abstractions for performing data processing operations. However, how one builds a stream processing pipeline in a containerized environment with Kafka isn’t clear. This second article in a two-part series uses the basics from the previous article to build an example application using Red Hat AMQ Streams.

    Now let’s create a multi-stage pipeline operating on real-world data and consume and visualize the data.

  • Clang "Interface Stubs" Merged For Offering Interface Libraries To ELF Shared Objects

    In addition to Clang-Scan-Deps being merged a few days ago, another new feature for LLVM's Clang is called the Clang Interface Stubs and brings a concept from Windows/macOS over to Linux/ELF systems.

    Clang Interface Stubs allows generating stub files/libraries containing the mininal information needed to build against that library. The Clang Interface Stubs can be used for limiting access to a library's internal systems or breaking up build dependencies thanks to the minimal approach.

  • Five Tech Companies Discuss Golang Advantages

    Since it first appeared at Google in 2009, thousands of developers (and entire businesses) have adopted the open-source coding language Go for key software-based products and services. Designed to mimic core features of C, Go’s authors sought to maximize brevity and simplicity. Today, the language’s clarity and lack of ambiguity around its syntax makes it a favorite with developers.

    We spoke with technologists at five tech companies about what they’ve built in Go, and why they chose it for those particular tools and services.

Programming/Development: Zato, Wing, Receiving Code Review, CoffeeScript and BASIC

Filed under
Development
  • Zato 3.1 Released - Open-Source Python-based API Integrations and Backend Application Server

    The newest version of Zato, the open-source Python-based enterprise API integrations platform and backend application server, is out with a lot of interesting features, changes and additions.

  • Extending Wing with Python (Part Two)

    To debug extension scripts written for Wing, you will need to set up a new project that is configured so that Wing can debug itself. The manual steps for doing this are documented in Debugging Extension Scripts. However, let's use an extension script to do this automatically.

  • Robbie Harwood: Receiving Code Review

    From a maintainer's perspective, that's the primary role of code review: to ensure project quality and continued maintainability. But there's an important secondary purpose as well: to help contributors (and potential contributors) learn and grow. In other words, receiving code review is a learning and growth opportunity, and should be approached as such.

    And so, first and foremost: code review is not a judgement on you. It's a second set of eyes, and both of you are trying to make sure the changes are good. If they didn't want the change in the project, they'd say so! Subtlety isn't what's happening here. And besides, if anyone were perfect, we would do code review.

    Which leads into: everyone needs code review. No change is too small for it, and no one is perfect. I've broken builds by changing only documentation, and flagged potential security issues from developers who have been coding almost as long as I've been alive. (And they've done the same to me!) That's normal. That's life. That's code review.

    And it's fine, because we don't need it to be perfect on the first try. Contributing to open source isn't a school exam where we get a single attempt and it's most of the grade. We're concerned only with improving our software, and if there's grading at all, it's externally imposed (e.g., by an employer).

  • Best Free Books to Learn about CoffeeScript

    CoffeeScript is a very succinct programming language that transcompiles into JavaScript, so there is no interpretation at runtime. The syntax is inspired by Ruby, Python and Haskell, and implements many features from these three languages.

    CoffeeScript is closely related to JavaScript without having its eccentricities. However, CoffeeScript offers more than fixing many of the oddities of JavaScript, as it has some useful features including array comprehensions, prototype aliases and classes. It allows developers to write less code to get more done.

  • 10 PRINT Memorial in New Hampshire marks the birthplace of BASIC

    After just over 55 years, the birthplace of BASIC has been honoured with a memorial marker in New Hampshire, USA.

    Thanks to a campaign by local paper columnist David Brooks, the New Hampshire Historical Highway Marker was installed earlier this month.

    Professor John Kemeny, Maths professor Thomas Kurtz, and a group undergraduate students at Dartmouth College (pics) created BASIC (Beginner's All-purpose Symbolic Instruction Code). The first program ran on 1 May 1964.

Qt 5.12.4

Filed under
Development
  • Qt 5.12.4 Released with support for OpenSSL 1.1.1

    The update to OpenSSL 1.1.1 is important to note for users leveraging OpenSSL in their applications. We wanted to update now as the earlier version of OpenSSL runs out of support at the end of the year and some platforms, such as Android, need the new one even sooner. Unfortunately OpenSSL 1.1 is binary incompatible with 1.0, so users need to switch to the new one and repackage their applications. One important functionality enabled by OpenSSL 1.1 is TLS 1.3 bringing significant cryptography and speed improvements. As part of the change, some old and insecure crypto algorithms have been removed and support for some new crypto algorithms added. For the users not leveraging OpenSSL in their applications, no actions are needed. OpenSSL is not included in a Qt application, unless explicitly so defined by the developer.

    Going forward, Qt 5.12 LTS will receive many more patch releases throughout the coming years and we recommend all active developed projects to migrate to Qt 5.12 LTS. Qt 5.9 LTS is currently in ‘Strict’ phase and receives only the selected important bug and security fixes, while Qt 5.12 LTS is currently receiving all the bug fixes. Qt 5.6 Support has ended in March 2019, so all active projects still using Qt 5.6 LTS should migrate to a later version of Qt.

  • Qt 5.12.4 Released with support for OpenSSL 1.1.1

    Qt developers have announced the new release of Qt 5.12.4 on 17th June, 2019.

    Qt 5.12.4, the fourth patch release of Qt 5.12 LTS.

    It provides a number of bug fixes, as well as performance and other improvements.

    Also, it provides binaries build with OpenSSL 1.1.1, including the new TLS 1.3 functionality.

    Qt 5.12.4 provides around 250 bug fixes compared with the previous release of Qt 5.12.3.

    OpenSSL 1.1.1 has beenn updated since the older version of OpenSSL runs out of support at the end of the year.

    And some platforms requires OpenSSL 1.1.1 sooner like Android, etc.,

Programming/Development Leftovers

Filed under
Development
  • Python Community Interview With Marlene Mhangami

    We are joined today by Marlene Mhangami. Marlene is a passionate Pythonista who is not only using tech to facilitate social change and empower Zimbabwean women but is also the chair of the very first PyCon Africa. Join me as we talk about her non-traditional start in tech, as well as her passion for using technology to create social change for good.

  • PyDev of the Week: Meredydd Luff

    This week we welcome Meredydd Luff (@meredydd) as our PyDev of the Week! Meredydd is the co-founder of Anvil and a core developer for the Skulpt package.

  • New Style Signal/Slot Connection

    Yes, I know. The last post on the assistants is rather boring. And yet these days I have been working on the snapshot docker, though it still seems a little (just a little, you see) unfinished as Dmitry is said to experience a relatively high delay when switching between snapshots. However this is not what I can reproduce on my older laptop, so I am really waiting for his test results in order to further investigate the problem.

    But there is something interesting happening just when I am randomly testing things. From Krita’s debug output, I saw QObject::connect() complaining about the arguments I passed, saying it is expecting parenthesis. “Okay,” I thought, “then there have to be something wrong with the code I wrote.” And that was quite confusing. I remember having used member function pointers in those places, got a compile-time error since KisSignalAutoConnectionsStore did not support the new syntax, then switched back to the SINGAL() and SLOT() macros. KisSignalAutoConnectionsStore is a helper class to quickly (dis)connect a group of connections. One can use the addConnection() method to add a connection, and use clear() to remove all connections made before.

    Well, everything good, apart from the fact that I missed the parenthesis, which I did not discover until I looked into the debug output. So I asked Dmitry why not add the new syntax to KisSignalAutoConnectionsStore, and he said we should.

  • Arm Developer Provides More Glibc Optimizations - Memem & Strstr

    Arm's Wilco Dijkstra landed some more optimizations this past week in the Glibc development code for the upcoming GNU C Library 2.30 release. 

    Memmem is now faster on AArch64 by up to 6.6x times thanks to implementing a modified Horspool algorithm. 

  • Learn PyQt: Gradient

    This custom PyQt5/PySide2-compatible widget provides a gradient designer providing a handy interface to design linear gradients in your applications. A new gradient can be created simply by creating an instance of the object.

    gradient = Gradient()
    The default gradient is black to white. The stop points are marked by a red box with a white line drawn vertically through it so they are visible on any gradient.

  • Building Apache Kafka Streams applications using Red Hat AMQ Streams: Part 1
  • What's your favorite "dead" language?
  • Which Is A Better Programming Language For Data Science? Python Or R
  • Introduction to OpenCV with Python
  • AI Paris 2019 in one picture
  • 5 transferable higher-education skills

    As a developer jumping head-first into technology after years of walking students through the process of navigating higher education, imposter syndrome has been a constant fear since moving into technology. However, I have been able to take heart in knowing my experience as an educator and an administrator has not gone in vain. If you are like me, be encouraged in knowing that these transferable skills, some of which fall into the soft-skills and other categories, will continue to benefit you as a developer and a professional.

R.T. Russell's Z80 BBC Basic is now open source

Filed under
Development
OSS

As part of the work I’ve been doing with cpmish I’ve been trying to track down the copyright holders of some of the more classic pieces of CP/M software and asking them to license it in a way that allows redistribution. One of the people I contacted was R.T. Russell, the author of the classic Z80 BBC BASIC, and he very kindly sent me the source and agreed to allow it to be distributed under the terms of the zlib license. So it’s now open source!

Read more

Programming/Development Leftovers

Filed under
Development
Syndicate content