Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • The 20 Best PHP Frameworks for Modern Developers in 2020

    Programming languages encompass the tech world, and we, living in the 21st century, are seeing a historical change. As we all know, these languages are widely used for developing various apps, mobile phone system, etc. and thereby, the demand for these is increasing rapidly over time among developers. Among the different scripting dialects, the language which has secured practically 80% of the site market and tech world is PHP. PHP is utilized to fabricate sites and web applications. The use of PHP frameworks improves the intricate procedure of development by giving a stage where the engineers can work without much of a stretch form PHP applications in the briefest time conceivable.

  • A new hash algorithm for Git

    The Git source-code management system is famously built on the SHA‑1 hashing algorithm, which has become an increasingly weak foundation over the years. SHA‑1 is now considered to be broken and, despite the fact that it does not yet seem to be so broken that it could be used to compromise Git repositories, users are increasingly worried about its security. The good news is that work on moving Git past SHA‑1 has been underway for some time, and is slowly coming to fruition; there is a version of the code that can be looked at now.

  • Git commit reordering

    While I was working for a presentation for kid’s school at Magnetic field, Aurora, Lunar Phases and Rockets, I added 4 big videos to the presentation (as I was going to use them offline while presenting).

    I know what git is not the place for big binary files, and even Github proposed to use the LFS backend for that, but as it was just temporary, I went ahead.

    After that commit, I also wrote two more articles, the one on Lego Speed Champions and the one on Galleria.io and PhotoSwipe, so it became a problem to have big files in between, when my plan was to remove them in the end.

  • Qt World Summit 2019 talk videos are online

    Were you there, but you couldn’t attend that talk or two that you really wanted to see because the conference was so, so packed with awesome content?

    Fear no more! We are glad to announce that the talks at the past Qt World Summit 2019 in Berlin (or QtWS19, for the friends) have been video recorded and are now available online! You can now catch up with the latest news, improvements and best practices around Qt and its ecosystem, all from the comfort of your sofa office chair.

    We have gathered all the talks given by KDAB engineers on this summary page, where you can find also more information about the contents of each talk and download the slides.

  • OpenBLAS 0.3.8 Brings More AVX2/AVX512 Kernels, Other Optimizations

    For those using OpenBLAS as your BLAS (Basic Linear Algebra Subprograms) implementation, OpenBLAS 0.3.8 was released this weekend and coming with it are more AVX2/AVX-512 kernels and other optimizations.

    OpenBLAS continues striving to compete with Intel's MKL and other optimized BLAS implementations and with more AVX2 and AVX-512 should help with the performance on the latest Intel and AMD CPUs. There is now an AVX-512 DGEMM kernel, the AVX-512 SGEMM kernel was "significantly" improved, and new AVX-512 optimized kernels for CGEMM and ZGEMM. On the AVX2 front the kernels for STRMM, SGEMM, and CGEMM are said to have been significantly sped-up along with new kernels for CGEMM3M and ZGEMM3M.

  • Egad not more PAWs posts Sad

    Well back on my PAWS run again. This one might be a rather short series as I am really just looking at one Action in the Kinesis API 'SubscribeToShard'. There is an open bug for this one up on github https://github.com/pplu/aws-sdk-perl/issues/371 and one I think I can fix up fairly eaisy.

    First things first, a little word on Kinesis. Well in short it touted as a very scalable real time data-stream thingy that sings dances and basically makes you line much better. Myself I do not havea use for it but it is part of the system and there is a bug so in I go.

    I first had to set things up on the AWS server side with some permission etc the usualal srtuff I also had to run a number of command top build up my Kineses system to a point where I can actually use the 'SubscribeToShard'

  • Important Changes in YAML::PP v0.019

    During the SUSE Hackweek 19 I found time to fix some bugs and make important changes in YAML::PP.

    Some of these changes might break code, but I expect this will be rare.

    As I see more and more CPAN modules using YAML::PP, I decided to make these changes as soon as possible.

    I will explain all changes and the reasons.

  • Introducing KBOS

    Starting even before Moose, we (in the Perl 5 world) have a plethora of Modules extending the syntax of the language with Perl 6 and more in mind. The following article sums up not only my 2 and a half cents on the subject but also an attempt to implement it. It should be of interest to anybody thinking about programming in general.

    As many here know, Kephra is the project closest to my heart and during the latest iteration, I decided to extend the language itself to get a more expressive, less repetitive code base. I want a fast, extendable type system with helpful error messages, real private attributes, real private methods, signatures with typed, positional, named and optional arguments, relaxed professional error handling, I want to know all instances of a class, reuse by delegation and incorporate any foreign objects. Last not least should the system support me in marshalling all attributes, so I can fully restore a program state after restart or switch into a remote session / other window.

    The Kephra Base Object System (KBOS - read: ok boss) is designed to deliver on all that and I just want to discuss here my decisions. Some seem to be strange, like no inheritance (a feature), class types (not even Raku has them) or 4 different method scopes. But hej its my pile of garbage, stay away. I want this to become the optimal object system for Kephra's needs. It is not clear to me if I will release it or parts as a separate distribution in future.

  • Postponing some feature removals in Python 3.9

    Python 2 was officially "retired" on the last day of 2019, so no bugs will be fixed or changes made in that version of the language, at least by the core developers—distributions and others will continue for some time to come. But there are lots of Python projects that still support Python 2.7 and may not be ready for an immediate clean break. Some changes that were made for the upcoming Python 3.9 release (which is currently scheduled for October) are causing headaches because support for long-deprecated 2.7-compatibility features is being dropped. That led to a discussion on the python-dev mailing list about postponing those changes to give a bit more time to projects that want to drop Python 2.7 support soon, but not immediately.

    There will actually be one final release of Python 2, Python 2.7.18, in April. It is something of a celebratory release that will be made in conjunction with PyCon. There were some fixes that accumulated in the branch between the 2.7.17 release in October and the end of the year, so those fixes will be flushed and the branch retired. Other than the release itself, no other changes will be allowed for that branch in 2020.

  • SUSE Hack Week Spotlight: Guerrilla AI Team

    SUSE Hack Week is a week-long sprint permitting developers time off from their day jobs to work on something entirely of their own design or wishes. This week we will be showcasing some of the amazing projects coming out of SUSE Hack Week and the brilliant minds behind them. Stay tuned all week long for more features.

More in Tux Machines

Programming/Development Leftovers

  • Get started with Fossil, an alternative to Git

    As any programmer knows, there are many reasons it's vital to keep track of code changes. Sometimes you just want a history of how your project started and evolved, as a matter of curiosity or education. Other times, you want to enable other coders to contribute to your project, and you need a reliable way to merge disparate parts. And more critically, sometimes an adjustment you make to fix one problem breaks something else that was working.

  • Booting from a vinyl record

    Most PCs tend to boot from a primary media storage, be it a hard disk drive, or a solid-state drive, perhaps from a network, or – if all else fails – the USB stick or the boot DVD comes to the rescue… Fun, eh? Boring! Why don’t we try to boot from a record player for a change?

  • Python Namedtuple – Linux Hint

    Python comes up with many built-in data structures like lists, dictionaries, and tuples to store and manage the data efficiently. The namedtuple is the dictionary-like container available in the “collections” module. Similar to the dictionaries, the namedtuple also contains the keys that are mapped to values. However, the namedtuple allows accessing the values through keys and as well as through indexes. As compared to the Python dictionaries, accessing the values through indexes is the additional functionality in namedtuple. This article explains the Python namedtuple in detail with examples.

  • Python OrderedDict – Linux Hint

    Data structures are the essential components of any programming language that store and manage the data efficiently. Python provides many built-in data structures, i.e., lists, tuples, and dictionaries, that help the programmers to create efficient applications. The Python dictionaries store the data in key-value pairs. The OrderedDict is the subclass of the dict class and maintains the order of the keys in which were inserted in. This is the one and the only difference between the dict and OrderDict. The dict does not maintain the key’s order. The OrderedDict keeps the order of keys insertion, and when we iterate through the OrderedDict, then it returns the keys in the same order. On the other hand, when the iteration is performed on dict, the keys are returned in random order. However, the dictionaries are now ordered in Python 3.6 and above versions and return the values in the same order as they are inserted. The OrderedDict class exists in the collections module. Therefore, to use the OrderedDict class, first, import the collections module. This article explains the Python OrderedDict in detail with examples.

  • Python Yield – Linux Hint

    Yield is a Python built-in keyword that returns the value(s) from a function. The execution of the function is not terminated. Rather, it returns the value to the caller and maintains the execution state of the function. The execution of the function is resumed from the last yield statement. The yield allows us to produce a sequence of values rather than one value. It is used inside a function body. The function that contains a yield statement is known as the generator function. There are several advantages to yield keyword. For instance, it controls the memory allocation and saves the local variable state. However, it increases the complexity of the code.

  • Python defaultdict – Linux Hint

    Python offers many built-in data structures, such as lists, tuples, and dictionaries, to save and manage data efficiently. Dictionaries provide an easy way to save data as key-value pairs. A key acts as an index and is used to retrieve data. Keys should be unique and immutable throughout the dictionary. Keys are mostly strings and integers, though the value of a key could be of any type, such as an integer, string, floating-point number, or complex number. Meanwhile, a dictionary can contain a collection, such as a list, tuple, or some other type of dictionary. A dictionary in Python is created using a pair of curly brackets, in which each key-value pair is separated by a comma. What if you try to access or modify a specific key in a dictionary that does not exist? Well, in this case, the Python interpreter will raise the “KeyError” error and terminate the execution of the program.

  • How to Add Command Line Arguments to a Python Script – Linux Hint

    If you have developed a Python script or application meant to be primarily run in terminal emulators or even GUI apps, adding command line arguments can improve its useability, code readability, application structure and overall user friendliness of the application for the end users. These command line arguments are also called “options” or “switches” and work similarly to arguments you usually see in bash scripts and other C / C++ based programs. To add arguments to Python scripts, you will have to use a built-in module named “argparse”. As the name suggests, it parses command line arguments used while launching a Python script or application. These parsed arguments are also checked by the “argparse” module to ensure that they are of proper “type”. Errors are raised if there are invalid values in arguments. Usage of the argparse module can be best understood through examples. Below are some code samples that will get you started with the argparse module.

  • How to stack columns
  • What is Vue.js, and Why is it Cool? – Linux Hint

    Vue.js is a progressive JavaScript framework, which is used to build UIs (User Interfaces) and SPAs (Single-page Applications). This framework is famous for its fast-paced learning curve. It is such an easy to learn and approachable library that with the knowledge of HTML, CSS, and JavaScript, we can start building web applications in Vue.js. The fast learning curve is kind of a signature of this framework. It is a versatile framework for our need as a library or a full-fledged framework for building huge web apps. Evan You have created this framework. The idea of Evan You behind this framework is to build the best framework by combining the best features from already existing Angular and react Frameworks. Before building Vue.js, Evan You was working at Google. Inc and worked on Angular based projects. So, he came up with the idea of building his own framework. He picked the best parts of Angular, like template syntax, easy to use, and picked the best parts of React as well, like two-way data binding, the concept of props, component-based approach, and combined them to make a new framework Vue.js better than both of them.

Security Leftovers

  • This Bluetooth Attack Can Steal a Tesla Model X in Minutes

    Lennert Wouters, a security researcher at Belgian university KU Leuven, today revealed a collection of security vulnerabilities he found in both Tesla Model X cars and their keyless entry fobs. He discovered that those combined vulnerabilities could be exploited by any car thief who manages to read a car's vehicle identification number—usually visible on a car's dashboard through the windshield—and also come within roughly 15 feet of the victim's key fob. The hardware kit necessary to pull off the heist cost Wouters around $300, fits inside a backpack, and is controlled from the thief's phone. In just 90 seconds, the hardware can extract a radio code that unlocks the owner's Model X. Once the car thief is inside, a second, distinct vulnerability Wouters found would allow the thief to pair their own key fob with the victim's vehicle after a minute's work and drive the car away.

  • Ransomware gangs likely to start monetising stolen data: researcher

    Ransomware gangs have shown themselves to be an innovative lot, incorporating more and more tactics as they look to extort money from their victims and this trend will continue into the new year, a veteran researcher of this brand of malware says.

  • Victory! Court Protects Anonymity of Security Researchers Who Reported Apparent Communications Between Russian Bank and Trump Organization

    Security researchers who reported observing Internet communications between the Russian financial firm Alfa Bank and the Trump Organization in 2016 can remain anonymous, an Indiana trial court ruled last week.

    The ruling protects the First Amendment anonymous speech rights of the researchers, whose analysis prompted significant media attention and debate in 2016 about the meaning of digital records that reportedly showed computer servers linked to the Moscow-based bank and the Trump Organization in communication.

    Imagine walking down the street, looking for a good cup of coffee. In the distance, a storefront glows in green through your smart glasses, indicating a well-reviewed cafe with a sterling public health score. You follow the holographic arrows to the crosswalk, as your wearables silently signal the self-driving cars...

    Despite widespread complaints about its effects on human rights, the Brazilian Senate has fast-tracked the approval of “PLS 2630/2020”, the so-called “Fake News” bill. The bill lacked the necessarily broad and intense social participation that characterized the development of the 2014 Brazilian Civil Rights...

  • Every system is a privileged system: Incorporating Unix/Linux in your privilege management strategy

    Despite their importance, Unix/Linux local and privileged accounts often don’t get sufficient oversight in a centralized PAM strategy. True, the Unix/Linux userbase is typically more technically savvy and has a greater understanding of security than your typical user. In some ways, Unix/Linux actually led the move toward PAM decades ago. The problem is, not much has changed in decades. They still heavily rely on their own methods for privileged management, such as Sudo controls, and are still using Sudo with few differences from when it was first introduced. No matter how savvy the user, Unix/Linux privileged accounts are time-consuming and tedious to manage, so they often don’t get sufficient oversight. In addition, when it comes time for an audit, it’s extremely difficult to piece together all of the privileged account activities and security controls. You might have one report for Windows and Mac and a separate one or many for Unix/Linux. You can’t get a consolidated view of risk to use for decision-making or show progress to your auditors.

  • Strange case of the art dealer, the tech billionaire, his email and Picasso’s lover

    The only problem, a judge said yesterday, is that Allen may not have written the email. In fact, Mr Justice Trower said, evidence pointed to the email having been fabricated “for the purpose of misleading the court”.

Android Leftovers

Compact embedded system runs Linux on i.MX8M

MiTac’s fanless “ME1-108T” embedded computer runs Linux on an up to quad-core i.MX8M with up to 4GB LPDDR4, up to 32GB eMMC, 2x GbE, 3x USB, and HDMI, DP, serial, mini-PCIe, and 40-pin RPi GPIO. ICP Germany announced the launch of MiTac’s compact ME1-108T embedded system. Although we have reported on dozens of compute modules and SBCs that run Linux on NXP’s dual- or quad-core, Cortex-A53 i.MX8M, the ME1-108T appears to be only the second embedded system using the SoC after Axiomtek’s Agent336. Read more