Language Selection

English French German Italian Portuguese Spanish

Development

Programming Leftovers

Filed under
Development
  • Getting Started with Rust: Working with Files and Doing File I/O

    This article demonstrates how to perform basic file and file I/O operations in Rust, and also introduces Rust's ownership concept and the Cargo tool. If you are seeing Rust code for the first time, this article should provide a pretty good idea of how Rust deals with files and file I/O, and if you've used Rust before, you still will appreciate the code examples in this article.

  • PyCharm 2019.2 EAP 4

    This week’s Early Access Program (EAP) version of PyCharm can now be downloaded from our website.

  • The First Step in Contributing to Open Source Projects

    I've been "programming" in Python for a while now, enough to be dangerous as they say. I've learned enough to be able to help others from time to time, but new enough that I still get distracted by the next shiny package I hear about on a podcast.

    I recently decided that, to help progress me further and to give back a little, I would help contribute to a package. I've heard the call to arms a few times, "Update the documentation, fix the bugs, build new features!". It's the Emerald City of the open source world. Being able to give back to the community that gives me something I enjoy so much was something that couldn't be ignored.

    But where to start? PyPI has over 100,000 packages, how does one just randomly pick one? Do I pick a well known product? Surely they can always use the help, but the large packages are so refined. With dozens of contributors already helping how could I possibly add something of value? Is it better to go for a smaller package? Find one that still needs work?

  • Python Pandas : Drop columns from Dataframe
  • What's the difference between PyQt5 and PySide2?
  • #135 macOS deprecates Python 2, will stop shipping it (eventually)
  • For Loop – Python Programming
  • EuroPython 2019: Beginners’ Day Workshop
  • GNU Guile: GNU Guile 2.2.5 released

    We are pleased to announce GNU Guile 2.2.5, the fifth bug-fix release in the new 2.2 stable release series. This release represents 100 commits by 11 people since version 2.2.4. It fixes bugs that had accumulated over the last few months, notably in the SRFI-19 date and time library and in the (web uri) module. This release also greatly improves performance of bidirectional pipes, and introduces the new get-bytevector-some! binary input primitive that made it possible.

Programming/Development Leftovers

Filed under
Development
  • ‘I code in my dreams too’, say developers in Jetbrains State of Developer Ecosystem 2019 Survey

    Last week, Jetbrains published its annual survey results known as The State of Developer Ecosystem 2019. More than 19,000 people participated in this developer ecosystem survey. But responses from only 7000 developers from 17 countries were included in the report. The survey had over 150 questions and key results from the survey are published, complete results along with the raw data will be shared later. Jetbrains prepared an infographics based on the survey answers they received. Let us take a look at their key takeaways:

  • Python and "dead" batteries

    Python is, famously, a "batteries included" language; it comes with a rich standard library right out of the box, which makes for a highly useful starting point for everyone. But that does have some downsides as well. The standard library modules are largely maintained by the CPython core developers, which adds to their duties; the modules themselves are subject to the CPython release schedule, which may be suboptimal. For those reasons and others, there have been thoughts about retiring some of the older modules; it is a topic that has come up several times over the last year or so.

    It probably had been discussed even earlier, but a session at the 2018 Python Language Summit (PLS) is the starting point this time around. At that time, Christian Heimes listed a few modules that he thought should be considered for removal; he said he was working on a PEP to that end. PEP 594 ("Removing dead batteries from the standard library") surfaced in May with a much longer list of potentially dead batteries. There was also a session at this year's PLS, where Amber Brown advocated moving toward a much smaller standard library, arguing that including modules in the standard library stifles their growth. Some at PLS seemed to be receptive to Brown's ideas, at least to some extent, though Guido van Rossum was apparently not pleased with her presentation and "stormed from the room".

  • When and How to Win With New Programming Languages
  • Understanding Data Ops and it's impact on Application Quality

Programming: Firefox Binaries, Python, GCC, Kotlin, C++ and Rust

Filed under
Development
  • Stack Write Traffic In Firefox Binaries

    I became interested in how much CPU memory write traffic corresponds to "stack writes". For x86-64 this roughly corresponds to writes that use RSP or RBP as a base register (including implicitly via PUSH/CALL). I thought I had pretty good intuitions about x86 machine code, but the results surprised me.

  • Louis-Philippe Véronneau: membernator -- validate membership cards

    I currently work part-time for student unions in Montreal and they often have large general assemblies (more than 2000 people). As you can likely figure out by yourself, running through paper lists to validate people's identity is a real PITA and takes quite a long time.

    For example, even if you have 4 people checking names, if validating someone's identity takes 5 seconds on average (that's pretty fast), it takes around 40 minutes to go through 2000 people.

    Introducing membernator, a python program written using pygame that validates membership cards against a CSV database! The idea is to use barcode scanners to scan people's school ID cards and see if they are in our digital lists. Hopefull, it will make our GA process easier for everyone.

  • Developer Toolset 8.1 and GCC 8.3 now available for Red Hat Enterprise Linux 7

    Red Hat Developer Toolset delivers GCC, GDB, and a set of complementary development tools for Red Hat Enterprise Linux via two release trains per year. We are pleased to share that Developer Toolset 8.1 with GCC 8.3 is now available and supported on Red Hat Enterprise Linux 7.

    The Red Hat Developer Toolset 8.1 release includes many enhancements and changes, but here are a few of the highlights...

  • Finished converting all the buildfiles to groovy and downgraded to gradle 4.4.1; week 3+ update

    During the third week I mainly spent my time converting all the buildfiles in the "dist" task graph to groovy from kotlin-dsl.

    I finished converting all the build files from kotlin-dsl to groovy. I then proceeded to build the entire project with only the subprojects required for the dist task so that we can avoid converting all the uneeded subproject buildfiles to groovy. Ran tests on the binary obtained from the newly onverted project and compared it to the test result on an original unconverted project. Since the new project only contains the needed subprojects this new project is unable to run all the needed tests. So inorder to overcome this we copy the binaries built by our new project and run the tests using the original unaltered projects. The compiler test task we need is "compilerTest"; this is the only aplicalbe test for out build binary from the "dist" task. I have run "distTest" for the unaltered project and uploaded it here; "distTest" task encompasses compilerTest task within it. Here is the log of the "compilerTest" run on the geenrated binaries.

  • Intel Developing "Data Parallel C++" As Part Of OneAPI Initiative

    Intel announced an interesting development in their oneAPI initiative: they are developing a new programming language/dialect.

    Intel originally began talking about oneAPI last December for optimizing code across CPUs / GPUs / FPGAs and as part of "no transistor left behind." Early details sounded similar to HSA while with time more bits have become known while the big reveal isn't expected until Q4'2019 when it will enter beta.

    We've known OpenCL will take a big role and their LLVM upstreaming effort around their SYCL compiler back-end. The SYCL single-source C++ programming standard from The Khronos Group we've expected Intel to use as their basis for oneAPI while now it seems they are going a bit beyond just targeting SYCL.

  • You can't buy DevOps [Ed: Poor article about mere buzzwords]
  • This Week in Rust 291

Programming: Lucid Vision Labs, Librem 5, Instana, Python and GNU

Filed under
Development
  • Time-of-Flight camera is powered by Jetson TX2

    Lucid Vision Labs unveiled a MIPI-CSI2 equipped “Helios Embedded” version of its new Helios Time of Flight 3D camera that combines a Jetson TX2 with a Sony DepthSense IMX556PLR ToF sensor with under-5mm accuracy at 0.3 to 1.5 meters.

    Time-of-Flight (ToF) technology spans a range of infrared laser scanners from 3D imaging and navigation systems found on autonomous robots and self-driving cars to the camera flash mechanism inside the Huawei Honor View 20 phone. Most ToF cameras are controlled from a Windows or Linux PCs, such as the Basler ToF Camera, the Terabee 3Dcam 80×60, or Lucid Vision Labs’ Helios ToF Camera, which was announced last October and is due to ship later this month. Now Lucid has announced a similar Helios Embedded version of the Helios ToF due in Q4 2019 that can operate autonomously thanks to its Jetson TX2 module.

  • Librem 5 June Software Update

    Hi everyone! The Librem 5 team has been hard at work, and we want to update you all on our software progress.

    Conferences

    A couple of blog posts back, we mentioned that our hardware engineer gave a talk at KiCon—and it is available for watching now!

    Also, recently Tobias Bernard attended the Libre Graphics Meeting, where he had lots of conversation around the future photo viewing application for the Librem 5 phone.

  • Instana Releases Red Hat OpenShift Kubernetes Operator Built on Quarkus

    Red Hat OpenShift introduced Kubernetes (K8s) Operator support with version 3.11. Since that time, the number of Operators created by the OpenShift community has been steadily growing. Instana introduced our Red Hat OpenShift Kubernetes Operator at Red Hat Summit 2019, and will be demonstrating our K8s capabilities at KubeCon Barcelona this week.

  • Book Contest: Creating GUI Applications with wxPython
  • How to Use Python lambda Functions
  • Event - GNU Hackers Meeting (Madrid, Spain)

    Twelve years after its first edition in Orense, the GNU Hackers Meeting (2019-09-04–06) will help in Spain again. This is an opportunity to meet, hack, and learn with other free software enthusiasts.

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.

Syndicate content