Language Selection

English French German Italian Portuguese Spanish


Programming: IDEs, Clojure, Python, Cargo and MySQL

Filed under
  • The 30 Best Cloud IDE Tools and Services for Developer in 2020

    Cloud has become an integral part of any industry nowadays. As a result, cloud applications and services have become extremely popular. As the demand is excessively high, it is important to reduce the development time of a project to establish a place in the blue whale market. And developers must focus on improving the performance and quality of service at a constant pace. Cloud IDE allows people to contribute together in real-time, while team members can share thoughts and skills.

  • Excellent Free Tutorials to Learn Clojure

    Clojure is a dialect of the Lisp programming language. It’s a well-rounded language. It offers broad library support and runs on multiple operating systems.

    Clojure is a dynamic functional general purpose programming language that runs on the Java platform, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multi-threaded programming. Clojure features a rich set of immutable, persistent data structures, first-class functions and dynamic typing. Clojure programs are composed of expressions and written in terms of abstractions.

    By compiling into JVM bytecode, Clojure applications can be easily packaged and deployed to JVMs and application servers without added complexity. The language also provides macros which make it simple to use existing Java APIs. Clojure’s data structures all implement standard Java Interfaces, making it easy to run code implemented in Clojure from Java.

  • How to Implement a Python Stack

    Have you heard of stacks and wondered what they are? Do you have a general idea but are wondering how to implement a Python stack? You’ve come to the right place!

  • API? It’s not that scary!

    There are way too many services out there that provide a free API which waits to be adjusted into your favorite language.

    Also, API services could be generated from any visible data such as Facebook (which I’ve covered here), Twitter or any public databases. In this article, we’ll be focusing on Paypal API service.

    I assume you guys have minimal experience with some basic Python and basic web concepts.

  • Getting started with the Rust package manager, Cargo

    Rust is a modern programming language that provides performance, reliability, and productivity. It has consistently been voted as the most-loved language on StackOverflow surveys for a few years now.

    In addition to being a great programming language, Rust also features a build system and package manager called Cargo. Cargo handles a lot of tasks, like building code, downloading libraries or dependencies, and so on. The two are bundled together, so you get Cargo when you install Rust.

  • 5 MySQL features you need to know

    Recently, at a presentation I was giving on the newer features of MySQL 8.0, I noticed one person in the audience getting very upset. The more I talked about one feature, the more agitation I could see this one person getting. We're talking upset at a level where I was wondering if I was going to worry about my physical safety. The person in question finally snapped, "If I had known about that, it would have saved me four months of my life!"

    With the release of MySQL 8.0, in April 2018, the release cycle for new features was changed to four times a year. So, rather than waiting for two to three years for new features, the MySQL Engineering Teams can provide a steady stream of updates to our users. Part of this is customer demand for new facets to the most popular database on the web and part of an evolved software engineering process.

Programming and Development Leftovers

Filed under
  • February Recap / Brain Dump

    I outlined a dozen or so blog posts in last month's roadmap, and I ended up finishing seven of them.

    The last one was discussed on Hacker News three weeks ago. The discussion covered many of the remaining blog topics, like which features I've cut from Oil, and opportunities for a better interactive hsell.

    So rather than write five more posts, this post summarizes important comments in that thread.

    I also explain some recent progress in translation to C++, and summarize two releases I've made in the last month.

  • How open source is transforming retail

    Companies today need to know that they are entitled to transparency and collaboration from their software solutions. Vendor lock-in models, with expensive exit fees, are of another time and likely to hamper a forward-looking business aiming to future-proof its services. In contrast, best-of-breed enterprise solutions produced by the vibrant open source community ensure that companies can take control of the code they run their business on, to maintain freedom and flexibility as they innovate and grow. It’s for this very reason—along with cost savings—that Amazon backed the DENT open-source project.

    In the fast-changing world of e-commerce, companies taking advantage of open-source software can future-proof their sales channels, by securing lower costs and being in a position to get products to market more quickly. It can also help retailers differentiate their product offerings.

    There is immense value to be found in open source technology for retailers. By utilising public source code, brands can ensure their services are more powerful and more flexible than ever before.

  • Ask Lunduke - Mar 2, 2020 - The UNIX Wars

    Ask Lunduke is a weekly podcast where the community can ask any question they like… and I (attempt to) answer them. This episode of Ask Lunduke is available two ways: At Patreon to all Patrons of The Lunduke Journal. At LBRY, for a small cost in LBC. Topics on Ask Lunduke this week: What if AT&T didn’t go after the Berkeley and the BSD project in the late 80s?

  • 2020.09 A Quick One From Bubenreuth

    Yours truly is on the road to the 22nd German Perl/Raku Workshop 2020 in Erlangen, Germany. The program starts on Tuesday evening with a Pre-event Social. The program has the following presentations with Raku content:


  • Code a Zaxxon-style axonometric level | Wireframe #33



    Fly through the space fortress in this 3D retro forced scrolling arcade sample. Mark Vanstone has the details


Programming Leftovers

Filed under
  • Demonstrating PERL with Tic-Tac-Toe, Part 2

    The astute observer may have noticed that PERL is misspelled. In a March 1, 1999 interview with Linux Journal, Larry Wall explained that he originally intended to include the letter “A” from the word “And” in the title “Practical Extraction And Report Language” such that the acronym would correctly spell the word PEARL. However, before he released PERL, Larry heard that another programming language had already taken that name. To resolve the name collision, he dropped the “A”. The acronym is still valid because title case and acronyms allow articles, short prepositions and conjunctions to be omitted (compare for example the acronym LASER).

    Name collisions happen when distinct commands or variables with the same name are merged into a single namespace. Because Unix commands share a common namespace, two commands cannot have the same name.

    The same problem exists for the names of global variables and subroutines within programs written in languages like PERL. This is an especially significant problem when programmers try to collaborate on large software projects or otherwise incorporate code written by other programmers into their own code base.

    Starting with version 5, PERL supports packages. Packages allow PERL code to be modularized with unique namespaces so that the global variables and functions of the modularized code will not collide with the variables and functions of another script or module.

    Shortly after its release, PERL5 software developers all over the world began writing software modules to extend PERL’s core functionality. Because many of those developers (currently about 15,000) have made their work freely available on the Comprehensive Perl Archive Network (CPAN), you can easily extend the functionality of PERL on your PC so that you can perform very advanced and complex tasks with just a few commands.

  • OpenBLAS 0.3.9 Released With More AVX-512 Tuning, Arm Neoverse N1 Support

    OpenBLAS 0.3.8 was released shy of a month ago for this popular Basic Linear Algebra Subprograms implementation while now has been succeeded by OpenBLAS 0.3.9. 

    OpenBLAS 0.3.9 continues optimizing for x86_64 and other CPU architectures. On the x86_64 front there are a few long-standing error/bug fixes, fixed the CPU detection code for Goldmont+ and Ice Lake, fixed Skylake-X compilation on MinGW, and continued AVX work. The latest on the Advanced Vector Extensions front is improving the AVX-512 GEMM3M code, a AVX-512 kernel for STRMM, and improving the AVX2 GEMM kernel performance. 

  • Custom client-side window decorations in Qt 5.15

    This is just a quick update about a new feature in Qt 5.15 that I'm really excited

    Traditionally, window decorations have been a pretty boring thing. Title bar,
    border, minimize, maximize, resize and quit... and that's it.

    In recent times, however, applications more and more tend to include
    application specific UI and theming in their decorations. Just a couple of screenshots to
    explain what I'm talking about:

  • Blockchain jobs: Here are the top vacancies in Accenture, IBM and others [Ed: So now Microsoft alone is used to infer what  jobs are in demand? No other vacancies counted? Microsoft already (mis)uses GitHub to pretend all projects not controlled by Microsoft neither exist nor count. That is a major propaganda tool.]]

    A LinkedIn report titled...

  • Jussi Pakkanen: Meson manual sales numbers and a profitability estimate

    The Meson Manual has been available for purchase for about two months now. This is a sufficient amount of time to be able to estimate total sales amounts and the like. As one of the goals of the project was to see if this could be a reasonable way to compensate FOSS maintainers for their work, let's go through the numbers in detail.


    So was it worth it?

    It depends? As a personal endeavor writing, publishing and selling a full book is very satisfying and rewarding (even though writing it was at times incredibly tedious). But financially? No way. The break-even point seems to be about 10× the current sales. If 100× sales were possible, it might be sufficient amount for more people to take the risk and try to make a living this way. With these sales figures it's just not worth it.

Python Leftovers

Filed under
  • Why You Must Migrate to Python 3 Now

    Support for Python 2 should have stopped at the beginning of 2020. However, it has become clear that the last major 2.7.x release will be in April 2020. After that, all development will cease for Python 2. This means there will be no security updates.
    Many package maintainers have migrated to Python 3. Some still support Python 2, while others already dropped support. After April 2020, most packages will gradually stop supporting it.
    Python 3.0 was released on December 3, 2008. So yeah, we’ve all had plenty of time to migrate. If you still haven’t, you should make it a top priority right now. At the max, you should be running Python 3 before the end of 2020. Otherwise, you will be at risk of vulnerabilities, non-functioning software, etc.

  • Python Bindings: Calling C or C++ From Python

    Are you a Python developer with a C or C++ library you’d like to use from Python? If so, then Python bindings allow you to call functions and pass data from Python to C or C++, letting you take advantage of the strengths of both languages. Throughout this tutorial, you’ll see an overview of some of the tools you can use to create Python bindings.

  • True constants in Python - part 1
  • True constants in Python - part 2, and a challenge
  • Pycon March 2 Update on COVID-19

    The coronavirus (also known as COVID-19) is a new virus that causes respiratory illness in people and can spread from person-to-person. Since PyCon US 2020 is scheduled in April, we want to give our community an update on our status and more information about our policy for attendees pertaining to COVID-19.

    As of March 2, PyCon 2020 in Pittsburgh, PA is scheduled to happen.

    The staff and board directors are actively watching the situation closely, as it continues to change rapidly. We plan to reassess the situation weekly and more frequently as we get closer to the event. This includes checking in with our Pittsburgh team for updates including from vendors and local authorities.

Programming: OpenCV, EOF, Perl and Python

Filed under
  • OpenSource GUI Tool For OpenCV And DeepLearning

    AI and Deep Learning for computer vision projects has come to the masses. This can be attributed partly to the community projects that help ease the pain for newbies. [Abhishek] contributes one such project called Monk AI which comes with a GUI for transfer learning.

  • EOF is not a character

    I was reading Computer Systems: A Programmer’s Perspective the other day and in the chapter on Unix I/O the authors mention that there is no explicit “EOF character” at the end of a file.

  • KBOS signatures

    There are signatures in Raku, core Perl 5, Moose, Dios and lot of other modules. With KBOS I tried to find out how optimal signatures would look like to me. My objectives are: 3. easy to parse with the eye, 2. concise syntax and 1. delegates as much work as possible into the background so I have to write the least amount of code.

  • remake

    Hi. The current version of was made in 2013/2014 with AngularJS, it is hard to update and so I’m starting a remake of the site.

    Apart from an aesthetic makeover, it will be built with Vue.js/nuxt.js in order to allow the site to be indexed by all search engines. New features and ways of viewing the data may be added.

    It will still use Mojolicious, but will use PostgreSQL instead of (the current site’s) MySQL, DBIx::Class instead of Rose::DB::Object, plus also Minion, RxJS, and will be open-sourced.

  • What is python programming language?

    Python is the most popular programming language in the world, above Java and above C/C++/C#. We can use Python for free to develop web applications or desktop software and then sell that application or software in the marketplace. Just like Perl, Python source code is also available under the GNU General Public License (GPL) which guarantees end-users the freedom to run, study, share and modify the source code. Python is created by Guido van Rossum. In my opinion, Python programming language looks like the combination of Java, Javascript, and Perl programming language, therefore there is nothing new and nothing we have not seen before if we have already learned those programming languages above.

    Python is a high-level, interpreted (processed at runtime by the interpreter, no need to compile our program before executing it but it also can be compiled to byte-code for building large scale applications), interactive (Python has support for an interactive mode that allows interactive testing and debugging of snippets of code), object-oriented (a programming language model that organizes software design around data, or objects), functional (create a set of instruction within a function block) and structured programming (conditional programming) scripting language. Python provides very high-level dynamic data types (A dynamic type escapes type checking at compile-time; instead, it resolves type at run time) and supports dynamic type checking. It supports automatic garbage collection just like Java. Python can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java. Python’s bulk of the library is very portable and cross-platform compatible with UNIX, Windows, and Macintosh. Python can run on a wide variety of operating systems (Windows, Linux, and Mac) and has almost the same interface on all platforms. You can add low-level modules to the Python interpreter. These modules enable programmers to add to or customize their tools to be more efficient. Python provides interfaces to all major commercial databases. Python supports GUI applications that can be created using Tkinter.

  • PyDev of the Week: Doug Farrell

    This week we welcome Doug Farrell (@writeson) as our PyDev of the Week! Doug is working on Python book entitled The Well-Grounded Python Developer for Manning. He is also a contributor for Real Python. You can find out more about Doug on his website. Now let’s spend some time learning more about Doug!

  • PyCharm 2020.1 EAP 5

    We have a new Early Access Program (EAP) version of PyCharm that can be now downloaded from our website.

    We are getting closer every week to the 2020.1 release. We are pushing hard to get through all the new features we want to make it into it. There are some big ones to try out in this EAP.

  • PyBites: Productivity Mondays - What Can You Do Consistently This Week?

    Last week I learned about lagging and leading indicators and why it's important to focus on the latter.

Audiocasts/Shows: GNU World Order, Linux Action News, Open Source Security Podcast and Python Podcast

Filed under
  • GNU World Order 342

    Listener feedback from **beegrrl** about OOP, and **bc** from **ap**.

  • Linux Action News 147

    Bruce Schneier puts his name behind Solid, Firefox starts to roll out DNS over HTTPS as default, and Microsoft's Linux first device ships to customers.

    Plus a birthday gift to Raspberry Pi users, Collabora comes to mobile, and more.

  • Open Source Security Podcast: Episode 185 - Is it even possible to fix open source security?

    Josh and Kurt talk about the Linux Foundation Census 2. There is a lot of talk around how to fix open source security, but the reality is we can't fix it. We need to stop trying to fix what isn't broken and engineering around the system we have, not the system we want.

  • Podcast.__init__: The Advanced Python Task Scheduler

    Most long-running programs have a need for executing periodic tasks. APScheduler is a mature and open source library that provides all of the features that you need in a task scheduler. In this episode the author, Alex Grönholm, explains how it works, why he created it, and how you can use it in your own applications. He also digs into his plans for the next major release and the forces that are shaping the improved feature set. Spare yourself the pain of triggering events at just the right time and let APScheduler do it for you.

Python Programming Leftovers

Filed under
  • Plotting Epicycles

    At first I tried using Skyfield, the Python library which is supposed to replace PyEphem (written by the same author). But Skyfield, while it's probably more accurate, is much harder to use than PyEphem. It uses SPICE kernels (my blog post on SPICE, some SPICE examples and notes), which means there's no clear documentation or list of which kernels cover what. I tried the kernels mentioned in the Skyfield documentation, and after running for a while the program died with an error saying its model for Jupiter in the de421.bsp kernel wasn't good beyond 2471184.5 (October 9 2053).

    Rather than spend half a day searching for other SPICE kernels, I gave up on Skyfield and rewrote the program to use PyEphem, which worked beautifully and amazed me with how much faster it was: I had to rewrite my GTK code to use a timer just to slow it down to where I could see the orbits as they developed!

    It's fun to watch; maybe not quite as spacey as Galen's full-dome view in the planetarium, but a lot more convenient. You need Python 3, PyEphem and the usual GTK3 introspection modules; on Debian-based systems I think the python3-gi-cairo package will pull in most of them as dependencies.

  • How to read and write to files in Python

    Files are used to store any data permanently for future use. Reading from a file and writing to a file are common requirements for any programming language. Any file needs to open before reading or writing. Most of the programming languages use open() method to open a file for reading or writing using file object. Different types of file access mode can be used as an argument of open() method to mention the purpose of opening the file. This argument is optional. close() method is used after completing the file operation to release the resources occupied by the file object. Two types of files can be handled by Python programming. These are text file and a binary file. How to read and write text files in Python programming is described in this tutorial.

  • How to parse arguments on command-line in Python

    The command-line arguments are used to pass data in the program at the time of program execution. This feature is available on most of the popular programming languages. But the processing of command-line arguments is different for different languages. The arguments values are given with the program name at the time of running the program. Python language supports this feature. How command-line arguments are parsed in Python script is shown in this article.

  • How to add and remove items from a list in Python

    Array variable uses in most of the programming languages to store multiple data. Python has four data types to store multiple data. These are list, tuple, dictionary and set. The data can be ordered and changed in Python list. The square brackets ([]) are used in Python to declare list like array. The index of the list start from 0. List works like the reference variables. When a list variable assign to another variable then both variables will point to the same location. This tutorial shows the uses of different Python methods to add and remove data from the Python list.

  • Python 3.6.9 : My colab tutorials - part 001.

    Today I start this tutorials series for the Colab tool.
    To share my working with the Colab tool I created this GitHub project.

  • Python Qt5 - Create a spectrum equalizer.

    I haven't written much for a while on these issues about python and PyQt5.
    Today I will show a complex example of QtMultimedia and how to create a spectrum equalizer.
    First, the PyQt5 bindings come with this python module named QtMultimedia.
    The main reason was the lack of time and focus of my effort on more stringent elements of my life.
    Let's start with the few lines of source code that show us how can use this python module.

Programming: TCMalloc, Ballerina, Perl, Scala, Python

Filed under
  • TCMalloc, Google's Customized Memory Allocator for C and C++, Now Open Source

    To clear up any ambiguity, it is worth noting this is actually the second time Google open-sources its memory allocator. Indeed, Google had already provided its memory allocator as a part of Google Performance Tools in 2005 along with many other tools, including a memory profiler, a heap checker aimed to ensure heap consistency, and Perl-based ppro profile analyzer and visualizer. As it happens, though, the internal version in use at Google diverged with time from the external one, so Google is now open sourcing its current version of TCMalloc, which contains several improvements such as per-CPU caches, sized delete, fast/slow path improvements, and more.

  • Ballerina Improves IDE

    Sequence diagrams are central to Ballerina. The developers say rather than relying on code, every program is a sequence diagram that illustrates distributed and concurrent interactions automatically.

  • Monthly Report - February

    Looking back at my last month performance, I get mixed feelings. I feel bad that I only submitted 7 Pull Requests. It is not that I didn't try to up the number. I noticed some of my past Pull Request disappearing from GitHub. It is affecting my Pull Request Stats. I keep all contributions record under my GitHub profile. It gives me sense of accomplishments.

  • Narrowly destricted refs

    I really don’t feel like I have anything to add but I suppose it may not be obvious that the point of this exercise is to surgically limit the lifting of the refs stricture to just the desired symbolic dereference (without leaking it even as far as any other part of the expression) – in the most compact form possible.

    I also suppose I ought to expand on it by way of explanation for the less travelled in the dustier corners of Perl 5 syntax:

    The only even interesting part here is the little-realised fact that the curly braces in the traditional dereference syntax actually literally denote a block – complete with its own scope – much as curly braces do in general. Or in other words: every ${ ... } (or the like) is a do { ... } block. Just one that dereferences the value of the last expression in the block before returning it, instead of returning it verbatim (like a do { ... } block would).

  • Scala 2 community build is now complete

    The Scala 2 community build has been pronounced complete. We took a closer look at the general goals of the open source community build, what the latest version has in store, and what the Scala team has planned for the future of the general-purpose programming language.

  • Tryton News: Newsletter March 2020

    Tryton is a business software platform which comes with a set of modules that can be activated to make an ERP, MRP, CRM and other useful applications for organizations of any kind.
    This month most of the changes were made in order to improve default Tryton features and allow it to work better in international use cases.

  • How to pickle objects in Python

    Any data can be serialized and deserialized in Python by using JSON and Pickle module. Before storing any data in a file, Python objects are serialized using pickle module. Python objects are converted into character streams by using this module. When the user wants to retrieve the data of the file for using another python script then the data of the file is deserialized by pickle module. The features of pickle module and how this module can be used in python script for serialization and deserialization are described in this tutorial.

Programming: Build Systems, C, Perl and Python

Filed under
  • Meson or Bazel for the build system

    GNOME and many other free software projects have migrated to the Meson build system. However I’m not entirely satisfied by Meson, its DSL (Domain-specific language) has a fatal flaw: all variables are global, the concept of variable scope doesn’t exist (see this issue).

    Choosing a build system for a project as large as GNOME (which has between 150 and 200 modules) should not be done lightly. What happened is that a few modules migrated to Meson, then someone has created a GNOME Goal for it, and then almost everybody were migrating to Meson, without any deep thinking, without looking at alternatives and weighing the pros and cons.

    In that regard, the Debian project functions better, for example all the discussions about choosing the init system: at least there has been deep thinking before committing to a new technology that has a wide impact on the whole project.

  • Unity build test with Meson & LibreOffice

    In a previous blog post we managed to build a notable chunk of LibreOffice with Meson. This has since been updated so you can build all top level apps (Writer, Calc, Impress, Draw). The results do not actually run, so the conversion may seem pointless. That is not the case, though, because once you have this build setup you can start doing interesting experiments on a large real world C++ code base. One of these is unity builds.

  • C Programming loop examples

    Loop is a very essential part of any programming language to solve any problem. Three types of loops exist in most of the programming languages, just the declaration syntax is different for different languages. when we need to iteration some statements multiple times then a loop is used to do the tasks. Like other programming languages, C language contains for, while and do-while loops. This article shows the declaration and the uses of these three loops in C language using multiple examples to clarify the purpose of using loop in programming.

  • Perl Weekly Challenge 049: Smallest Multiple and LRU Cache
  • Erik Marsja: How to Convert a Python Dictionary to a Pandas DataFrame

    In this brief Python Pandas tutorial, we will go through the steps of creating a dataframe from a dictionary. Specifically, we will learn how to convert a dictionary to a Pandas dataframe in 3 simple steps. First, however, we will just look at the syntax. After we have had a quick look at the syntax on how to create a dataframe from a dictionary we will learn the easy steps and some extra things. In the end, there’s a YouTube Video and a link to the Jupyter Notebook containing all the example code from this post.

  • Test and Code: 103: Django - Lacey Williams Henschel

    Django is without a doubt one of the most used web frameworks for Python. Lacey Williams Henschel is a Django consultant and has joined me to talk about Django, the Django community, and so much more.

Programming Leftovers

Filed under
  • Semantic versioning and containers

    How does that translates to containers?

    Imagine the following scenario: a developer deploys a containerized application that requires a Redi database. The developer deploys the latest version of the redis container (eg: redis:4.0.5), ensures his application works fine and then moves to do other things.

    After some weeks a security issue/bug is found inside of Redis and a new patched release takes place. Suddenly the deployed container is outdated. How can the developer be aware a new v4 release of Redis is available? Wouldn’t be even better to have some automated tool taking care of this upgrade?

    After some more weeks a new minor release of Redis is released (eg: 4.1.0). Is it safe to automatically update to a new minor release of Redis, is the developer application going to work as expected?

    Some container images have special tags like v4 or v4.1 and the developer could just leverage them to kinda pinpoint the redis container to a more delimited set of versions. However using these tags reduces reproducibility and debuggability.

  • Keeping your fast code fast

    One of the projects I completed before the end of the cycle is a memory allocation tracker for Sysprof. It’s basically a modern port of the Memprof code from 20 years ago, but tied into Sysprof and using fancier techniques to move data quickly between processes. It uses an LD_PRELOAD to override many of the weak memory symbols in glibc such as malloc() and free(). When those functions are reached, a stack trace is captured directly into a mmap()‘d ring buffer shared by Sysprof. We create a new one of these per-thread so that no locking is necessary between threads. Sysprof will mux all the data together for us.

    Below is a quick example running gtk4-widget-factory. We show similar callgraphs as we do when doing CPU profiling, but ordered by the amount of memory allocated. This simple tool and less than 20 minutes of effort found many allocations we could completely avoid across both GTK and Clutter.

  • Convert Float to Time in JavaScript (Hours and Minutes)

    How to Convert a given float number to hours and minutes. What is the JavaScript function we should use to convert float to time in JavaScript? Here, we share the easiest solution to convert a given number to time (hours and minutes).
    In this tutorial, you will see how to convert float numbers to time (hours and minutes) in JavaScript. There are a number of ways to convert float to time. However, we use the Math.floor() and Math.round() function from the Javascript Math object.

  • Perl Weekly Challenge: Smallest Multiple and LRU Cache
  • Weekly Python StackOverflow Report: (ccxvii) stackoverflow python report
  • Double-checked locking with Django ORM

    This post is about how we can implement this pattern in Django, using the ORM and database level locking features. The pattern applies if you are not using Django, or indeed any ORM, but I have only checked it for Django, and in fact only really verified it works as expected using PostgreSQL.

  • Implicit multiplication in Python - part 1

    What if we could do something half-way between what Python currently allow and what mathematicians would write by transforming something that is currently a SyntaxError into valid Python code?

  • Zope May Sprint

    Earl Zope has settled down for a good while in Python 3 wonderland. He made friends with the inhabitants and other immigrants. He enjoys his new live.

    The sunset of his original homelands took place as predicted by the beginning of January 2020. As Earl Zope was well prepared this was no longer a frightening date for him.

    But even living in Python 3 wonderland is not only joy and relaxing. The Python 3 wonderland changes in a more rapid speed than the Python 2 land ever had before: Each year a new policy has to be fulfilled (aka new Python version release). Additionally it is time to drop the last connections to the old Python 2 land to ease the transformation in Python 3 wonderland to make developers and consumers happy.

Syndicate content

More in Tux Machines

LibreOffice 6.4.3 Release Candidate Version 1 Released Today!

LibreOffice 6.4.3 RC1 Released: LibreOffice is one of the best open-source text editors. LibreOffice comes as default application release of Linux OS. LibreOffice is developed by Team Document Foundation. Today they announced that the LibreOffice 6.4.3 RC1 version has been released. As per their calendar, LibreOffice 6.4.3 RC1 has been released exactly on today!. This RC1 version has many bugs fixes and tweaks in essential features. Read more

Unifont 13.0.01 Released

Unifont 13.0.01 is now available. This is a major release. Significant changes in this version include the addition of these new scripts in Unicode 13.0.0: U+10E80..U+10EBF: Yezidi, by Johnnie Weaver U+10FB0..U+10FDF: Chorasmian, by Johnnie Weaver U+11900..U+1195F: Dives Akuru, by David Corbett U+18B00..U+18CFF: Khitan Small Script, by Johnnie Weaver U+1FB00..U+1FBFF: Symbols for Legacy Computing, by Rebecca Bettencourt Read more

Programming: micro.sth, RProtoBuf, Perl and Python

  • Introducing micro.sth

    Many developers turn their noses up at PHP, but I have a soft spot for it. For me, it's the most approachable programming language by far. It feels intuitive in a way no other languages do, and it makes it possible to cobble together a working application with just a handful of lines of code. So whenever I can't find a tool for a specific job, I try to build one myself. The latest project of mine is a case in point. I was looking for a simple application for keeping a photographic diary, and I was sure that I'd be able to find an open-source tool for that. I searched high and low, but I came back empty-handed. Sure, there are plenty of static website generators, but I'd prefer something that doesn't require me to perform the write-generate-upload dance every time I want to post a quick update. And I need something that I can use not only to maintain a simple diary, but also store notes, manage tasks, and draft articles -- all this without getting bogged down by configuring templates, defining categories, and tweaking settings. And because I want most of my content to be private, I should be able to protect access to it with a password.

  • Dirk Eddelbuettel: RProtoBuf 0.4.17: Robustified

    A new release 0.4.17 of RProtoBuf is now on CRAN. RProtoBuf provides R with bindings for the Google Protocol Buffers (“ProtoBuf”) data encoding and serialization library used and released by Google, and deployed very widely in numerous projects as a language and operating-system agnostic protocol. This release contains small polishes related to the release 0.4.16 which added JSON support for messages, and switched to ByteSizeLong. This release now makes sure JSON functionality is only tested where available (on version 3 of the Protocol Buffers library), and that ByteSizeLong is only called where available (version 3.6.0 or later). Of course, older versions build as before and remain fully supported.

  • Perl Weekly Challenge 53: Rotate Matrix and Vowel Strings

    These are some answers to the Week 53 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

  • Weekly Python StackOverflow Report: (ccxxi) stackoverflow python report
  • Python: Is And ==

    In Python, == compares the value of two variables and returns True as long as the values are equal.

today's howtos