Language Selection

English French German Italian Portuguese Spanish

Development

Programming: Developer Happiness, Rblpapi 0.3.8 and Python

Filed under
Development
  • Developer happiness: What you need to know

    A person needs the right tools for the job. There's nothing as frustrating as getting halfway through a car repair, for instance, only to discover you don't have the specialized tool you need to complete the job. The same concept applies to developers: you need the tools to do what you are best at, without disrupting your workflow with compliance and security needs, so you can produce code faster.

    Over half—51%, to be specific—of developers spend only one to four hours each day programming, according to ActiveState's recent Developer Survey 2018: Open Source Runtime Pains. In other words, the majority of developers spend less than half of their time coding. According to the survey, 50% of developers say security is one of their biggest concerns, but 67% of developers choose not to add a new language when coding because of the difficulties related to corporate policies.

  • Rblpapi 0.3.8: Keeping CRAN happy

    A minimal maintenance release of Rblpapi, now at version 0.3.9, arrived on CRAN earlier today. Rblpapi provides a direct interface between R and the Bloomberg Terminal via the C++ API provided by Bloomberg (but note that a valid Bloomberg license and installation is required).

    This is the ninth release since the package first appeared on CRAN in 2016. It accomodates a request by CRAN / R Core to cope with staged installs which will be a new feature of R 3.6.0. No other changes were made (besides updating a now-stale URL at Bloomberg in a few spots and other miniscule maintenance). However, a few other changes have been piling up at the GitHub repo so feel free to try that version too.

  • Episode #200: Escaping Excel Hell with Python and Pandas
  • Testing native ES modules using Mocha and esm.

GCC 8.3 Released and GCC 9 Plans

Filed under
Development
GNU
  • GCC 8.3 Released

    The GNU Compiler Collection version 8.3 has been released.

    GCC 8.3 is a bug-fix release from the GCC 8 branch
    containing important fixes for regressions and serious bugs in
    GCC 8.2 with more than 153 bugs fixed since the previous release.
    This release is available from the FTP servers listed at:

    http://www.gnu.org/order/ftp.html

    Please do not contact me directly regarding questions or comments
    about this release. Instead, use the resources available from
    http://gcc.gnu.org.

    As always, a vast number of people contributed to this GCC release
    -- far too many to thank them individually!

  • GCC 8.3 Released With 153 Bug Fixes

    While the GCC 9 stable compiler release is a few weeks away in the form of GCC 9.1, the GNU Compiler Collection is up to version 8.3.0 today as their newest point release to last year's GCC 8 series.

  • GCC 9 Compiler Picks Up Official Support For The Arm Neoverse N1 + E1

    Earlier this week Arm announced their next-generation Neoverse N1 and E1 platforms with big performance potential and power efficiency improvements over current generation Cortex-A72 processor cores. The GNU Compiler Collection (GCC) ahead of the upcoming GCC9 release has picked up support for the Neoverse N1/E1.

    This newly-added Neoverse N1 and E1 CPU support for GCC9 isn't all that surprising even with the very short time since announcement and GCC9 being nearly out the door... Arm developers had already been working on (and landed) the Arm "Ares" CPU support, which is the codename for what is now the Neoverse platform.

Python: Pyro Probabilistic Programming Language and More

Filed under
Development
  • Pyro Probabilistic Programming Language Becomes Newest LF Deep Learning Project

    The LF Deep Learning Foundation (LF DL), a Linux Foundation project that supports and sustains open source innovation in artificial intelligence (AI), machine learning (ML), and deep learning (DL), announces the Pyro project, started by Uber, as its newest incubation project. Built on top of the PyTorch framework, Pyro is a deep probabilistic programming framework that facilitates large-scale exploration of AI models, making deep learning model development and testing quicker and more seamless. This is the second project LF DL has voted in from Uber, following last December’s Horovod announcement.
    Pyro is used by large companies like Siemens, IBM, and Uber, and startups like Noodle.AI, in addition to Harvard University, MIT, Stanford University, University of Oxford, University of Cambridge, and The Broad Institute. At Uber, Pyro solves a range of problems including sensor fusion, time series forecasting, ad campaign optimization and data augmentation for deep image understanding.

  • Converting Python Scripts to Executable Files

    In this tutorial, we will explore the conversion of Python scripts to Windows executable files in four simple steps. Although there are many ways to do it, we'll be covering, according to popular opinion, the simplest one so far.

    This tutorial has been designed after reviewing many common errors that people face while performing this task, and hence contains detailed information to install and set up all the dependencies as well. Feel free to skip any step, if you already have those dependencies installed. Without any further ado, let's start.

  • Python Performance Optimization

    Resources are never sufficient to meet growing needs in most industries, and now especially in technology as it carves its way deeper into our lives. Technology makes life easier and more convenient and it is able to evolve and become better over time.

    This increased reliance on technology has come at the expense of the computing resources available. As a result, more powerful computers are being developed and the optimization of code has never been more crucial.

    Application performance requirements are rising more than our hardware can keep up with. To combat this, people have come up with many strategies to utilize resources more efficiently – Containerizing, Reactive (Asynchronous) Applications, etc.

  • Webinar Recording: “Demystifying Python’s async and await Keywords” with Michael Kennedy

    Yesterday we hosted a webinar with Michael Kennedy from Talk Python To Me podcasts and training presenting Demystifying Python’s async and await Keywords. Turned out to be the highest-rated webinar in 7 years of JetBrains’ webinars. Thanks Michael! The webinar recording is now available, as well as a repository with the Python code he showed and the slides he used.

  • Skipping tests depending on the Python version

    Sometimes we want to run certain tests only on a specific version of Python.

    Suppose you are migrating a large project from Python 2 to Python 3 and you know in advance that certain tests won't run under Python 3.

    Chances are that during the migration you are already using the six library. The six libraries have two boolean properties which are initialised to True depending on the Python version which is being used: PY2 when running under Python 2 and PY3 when running under Python 3.

A brief comparison of Java IDE’s: NetBeans Vs Eclipse

Filed under
Development

Thinking about entering the world of programming? What better way to enter than through Java and joining a community of over 10 million developers worldwide? Java is one of the most popular programming languages right now. It is an interpreted, object-oriented programming language which is directly supported by major operating systems like Apple, Linux, Windows, Sun etc. Java is a portable programming language meaning a program can be written on one platform and can run on all platforms. Java supports networking (you can use TCP and UDP sockets) and access remote data using a variety of protocols. It also provides the feature of multithreading, which can utilize multiple processors and one of the prime features of Java is garbage collection. In many languages, the programmer is responsible for deallocating memory and it can become a hassle resulting in errors and segmentation faults. Java, on the other hand, has a garbage collector which manages the memory and frees up the memory by destroying objects not in use.
To start coding in Java you need to have Java installed, the latest version of Java is 11 but Java 8 is still supported so having any one of these installed will be enough to get you started. Writing a program and compiling it would take some effort as you will have to write the code in a text file and then save it in .java and then have to compile it using terminal, or you can use an IDE and save yourself the time and effort used in this process and get a slew of interesting features.

An Integrated Development Environment or IDE for short, is a software application which helps the user to write and compile code easily by providing features like text editing, debugging plugins etc. while providing compilation by the click of one button. Java has many IDEs but two of the most popular ones are NetBeans and Eclipse.

Read more

Programming: Qt, Python and PHP

Filed under
Development

gitgeist: a git-based social network proof of concept

Filed under
Development
Web

Are you tired of not owning the data or the platform you use for social postings? I know I am.

It's hard to say when I "first" used a social network. I've been on email for about 30 years and one of the early ad-hoc forms of social networks were chain emails. Over the years I was asked to join all sorts of "social" things such as IRC, ICQ, Skype, MSN Messenger, etc. and eventually things like Orkut, MySpace, Facebook, etc. I'll readily admit that I'm not the type of person that happily jumps onto every new social bandwagon that appears on the Internet. I often prefer preserving the quietness of my own thoughts. That, though, hasn't stopped me from finding some meaningfulness participating in Twitter, Facebook, LinkedIn and more recently Google+. Twitter was in fact the first social network that I truly embraced. And it would've remained my primary social network had they not killed their own community by culling the swell of independently-developed Twitter clients that existed. That and their increased control of their API effectively made me look for something else. Right around that time Google+ was being introduced and many in the open source community started participating in that, in some ways to find a fresh place where techies can aggregate away from the noise and sometimes over-the-top nature of Facebook. Eventually I took to that too and started using G+ as my primary social network. That is, until Google recently decided to pull the plug on G+.

While Google+ might not have represented a success for Google, it had become a good place for sharing information among the technically-inclined. As such, I found it quite useful for learning and hearing about new things in my field. Soon-to-be-former users of G+ have gone in all sorts of directions. Some have adopted a "c'mon guys, get over it, Facebook is the spot" attitude, others have adopted things like Mastodon, others have fallen back to their existing IDs on Twitter, and yet others, like me, are still looking.

Read more

Programming Leftovers

Filed under
Development
  • Packaging PyQt5 apps with fbs

    fbs is a cross-platform PyQt5 packaging system which supports building desktop applications for Windows, Mac and Linux (Ubuntu, Fedora and Arch). Built on top of PyInstaller it wraps some of the rough edges and defines a standard project structure which allows the build process to be entirely automated. The included resource API is particularly useful, simplifying the handling of external data files, images or third-party libraries — a common pain point when bundling apps.

  • Infrastructure monitoring: Defense against surprise downtime

    There are a number of tools available that can build a viable and strong monitoring system. The only decision to make is which to use; your answer lies in what you want to achieve with monitoring as well as various financial and business factors you must consider.

    While some monitoring tools are proprietary, many open source tools, either unmanaged or community-managed software, will do the job even better than the closed source options.

    In this article, I will focus on open source tools and how to use them to create a strong monitoring architecture.

  • GSlice considerations and possible improvements

    The paper Mesh: Compacting Memory Management for C/C++ Applications is about moving memory allocations for compaction, even though the memory pointers are exposed. The idea is to merge allocation blocks from different pages that are not overlapping at page offsets, and then letting multiple virtual page pointers point to the same physical page. Some have asked about the applicability to the GSlice allocator.

  • plprofiler – Getting a Handy Tool for Profiling Your PL/pgSQL Code
  • Reading and Writing Files in Python (Guide)
  • Today is a Good Day to Learn Python

5 of the Best Linux Distros for Developers and Programmers

Filed under
Development
GNU
Linux

One of the reasons Linux is great is because of how flexible it is. For example, it can run on everything from servers to your old laptop to a Raspberry Pi. For this reason, it’s also a fantastic platform for developers.

Whether you’re a seasoned developer or just using Linux to learn to program, you still have to choose a distribution. You could just choose Ubuntu and run with it, but there are plenty of “other options available to you.”

Read more

Programming: OpenJDK, Python, PyGame and Pandas

Filed under
Development
  • OpenJDK

    OpenJDK is a free, open-source version of the Java Development Kit for the Java Platform, Standard Edition (Java SE). OpenJDK, which stands for Open Java Development Kit, originated from an effort initiated by Sun Microsystems in 2006 and is now sponsored and led by Oracle. The project is licensed under the GNU General Public License (GNU GPL) version 2 with a linking exception. Without the linking exception, components that linked to the Java class library would be subject to the terms of the GPL license.

    Since the release of Java SE version 7, OpenJDK has been the official reference implementation. A few notable components that fall under the OpenJDK project include the Java class library, the Java compiler, the Java Runtime Environment (JRE) and the Java virtual machine (JVM). Unlike other JDK release projects, which focused on releasing one feature at a time before terminating, OpenJDK is a long-term, ongoing project. OpenJDK follows a strict, time-based model that is split into development branches and will release new features every six months.

  • Pandas Tutorial in Python

    According to the Pandas homepage: pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

    One of the coolest things about Pandas is that it makes reading data from common data formats like CSV, SQL etc. very easy which makes it equally usable in production grade applications or just some demo applications.

  • New Course: Learn Data Cleaning with Python and Pandas
  • Adjust the boy sprite animation

    Hello, and welcome back, we are almost done coding the player animation mechanism after we have finished the player boundary detection mechanism in the last article but before we can go to the next stage we need to tidy up the player animation mechanism first by introducing the standstill image of the boy when the boy is not moving and that image will either face left or right or up or down based on the direction of the boy at the time he stops moving. In order to achieve this we only need to edit two files.

    The first file we need to edit is the main file where we will include the keyup event so we can set the x different or y different to zero when the boy who is moving in either x or y-direction suddenly stop moving.

Syndicate content