Language Selection

English French German Italian Portuguese Spanish

Development

Programming/Development Leftovers

Filed under
Development

  • PHP 8.0 Ready To Ship With Many New Features, Even Better Performance - Phoronix

    PHP 8.0 is scheduled for release tomorrow on the US Thanksgiving day. PHP 8.0 brings with it many new language features on top of the opt-in JIT compiler support. Here is a look at some of the PHP 8.0 changes along with a quick look at the near final performance of PHP 8.0 on an AMD EPYC Linux server.

    PHP 8.0 is a very worthy successor to last year's PHP 7.4. Besides the JIT compiler there is a ton of work incorporated into this big version bump. Among the PHP 8.0 highlights are:

    - PHP8 introduces the much anticipated Just In Time (JIT) compiler for further enhancing the speed of PHP scripts. More details on PHP's JIT compiler via this Wiki page.

  • Going from Android LinearLayout to CSS flexbox

    Are you an Android developer looking to learn web development? I find it easier to learn a new technology stack by comparing it to a stack I’m already familiar with. Android developers can layout views using the simple yet flexible LinearLayout class. The web platform has similar tools to layout elements using CSS, and some concepts are shared. Here’s some tips to learn web development using your Android knowledge.

  • Software Diagrams Aren’t Always Correct and That’s OK

    Concretely, software is just bits in electronic storage that control and/or are manipulated by processors. Abstractions are the building blocks that enable humans to design and build complex software systems out of bits. Abstractions are products of out minds—they allow us to assign meaning to clusters (some large, some small) of bits. They allow us to build software systems without thinking about billions of bits or how processors work.

    We manifest some useful and generally simple abstractions (instructions, statements, functions, classes, modules, etc.) as “code” using other abstractions we call “languages.” Languages give us a common vocabulary for us to communicate about those abstract building blocks and to produce the corresponding bits. There are many useful tools that can and should be created to help us understand the code-level operation of a system.

    But most systems we build today are too complex to be fully understood at the level of code. In designing them we must use higher-level abstractions to conceptualize, compose, and organize code. Abstract machines, frameworks, patterns, roles, stereotypes, heuristics, constraints, etc. are examples of such higher-level abstractions.

    The languages we commonly use provide few, if any, mechanisms for directly identifying such higher-level abstractions. These abstractions may manifest as naming or other coding conventions but recognizing them as such depends upon a pre-existing shared understanding between the writer and readers of the code.

  • How to Convert Integer into String in Python | Linuxize

    Python has several built-in data types. Sometimes, when writing Python code, you might need to convert one data type to another. For example, concatenate a string and integer, first, you’ll need to convert the integer into a string.

  • How To Install PyCharm on Debian 10

    In this tutorial, we will show you how to install PyCharm on Debian 10. For those of you who didn’t know, PyCharm is an intelligent and fully-featured IDE for Python developed by JetBrains. It also provides support for Javascript, Typescript, and CSS, etc. You can also extend PyCharm features by using plugins. By using PyCharm plugins you can also get support for frameworks like Django, Flask. We can also use PyCharm for other programming languages like HTML, SQL, Javascript, CSS, and more.

    This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step by step installation of PyCharm on a Debian 10 (Buster).

  • This Week in Rust 366

Programming: Qt and Perl

Filed under
Development
  • Qt 6.0 RC1 Takes Flight - Qt 6.0 Should Be Here By Mid-December - Phoronix

    The Qt Company has just announced Qt 6.0 Release Candidate 1 as what should be the second to the last test build ahead of the big Qt 6.0 toolkit release next month.

    Qt 6.0 Release Candidate 1 has the latest batch of bug/regression fixes to the Qt6 code-base. The very basic Qt 6.0 RC1 release announcement can be read on the Qt development list.

  • Porting from Qt 5 to Qt 6 using Qt5Compat library

    Porting from Qt 5 to Qt 6 has been intentionally kept easy. There has been a conscious effort throughout the development of Qt 6 to maintain as much source compatibility with Qt 5 as possible. Still, some effort is involved in porting. This short post summarizes some of the steps required when porting to Qt 6.

    In Qt 5 some of the classes already had existing replacements, and some classes got successors during the Qt 6 development phase. Therefore it might make sense to be able to compile your code with both the old and new Qt version. This can ensure that the amount of work where your code does not compile with either version is minimized, allowing your application or library to continue to work with Qt 5 and Qt 6. Another advantage could be that existing unit tests continue to work for most of the duration of porting, and regressions resulting from porting your code are easily distinguished from bugs introduced in Qt 6.

  • Perl Weekly Challenge 88: Array of Products and Spiral Matrices

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

  • The new rules for Perl governance

    The process of adopting a new governance model for the Perl project appears to be reaching an end; the new model is designed to look a lot like the one adopted by the Python project

Programming/Development Leftovers

Filed under
Development
  • 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.

LibreOffice 7.1 - Top New Features and Release Dates

Filed under
Development
Linux
News

The upcoming LibreOffice 7.1 is under development. LibreOffice 7.1 Beta 1 is released just a while back. Here we take a look at the LibreOffice 7.1 top new features and release dates.
Read more

Programming Leftovers

Filed under
Development
  • A beginner's guide to developing with React | Opensource.com

    React is a JavaScript user interface (UI) library that was built and is maintained by Facebook. React helps JavaScript developers think logically and functionally about how they want to build a UI.

  • DOM Recording For Web Application Demos

    To show off the power of our Pernosco debugger, we wanted many short demo videos of the application interface. Regular videos are relatively heavyweight and lossy; we wanted something more like Asciinema, but for our Web application, not just a terminal. So we created DOMRec, a DOM recorder.

  • The 20 Best Kotlin Books for Beginner and Expert Developers

    Here you will find the top Kotlin books that will make it very interesting and almost effortless for you to learn Kotlin.

    Kotlin is a statically composed, universally useful programming language with type deduction. It is also a cross-platform language. Kotlin is intended to engage completely with Java, and Kotlin’s standard library’s JVM variant relies upon the Java Class Library. However, Kotlin’s type of derivation permits its syntax to be more compact and precise. Therefore, it has become quite crucial to learn Kotlin these days. But to learn it in the shortest number of days, a perfect set of Kotlin books is indecipherably important.

    Whether or not to pick Kotlin or Java for new advancement has been coming up a ton in the Android people group since the Google I/O declaration. The short answer is that Kotlin code is more secure and more succinct than Java code and that Kotlin and Java records can coincide in Android applications, so Kotlin isn’t just valuable for new applications but also for growing existing Java applications as well.

  • What the Error Handling Project Group is Working On

    The Rust community takes its error handling seriously. There’s already a strong culture in place for emphasizing helpful error handling and reporting, with multiple libraries each offering their own take (see Jane Lusby’s thorough survey of Rust error handling/reporting libraries).

    But there’s still room for improvement. The main focus of the group is carrying on error handling-related work that was in progress before the group's formation. To that end, we're working on systematically addressing error handling-related issues, as well as eliminating blockers that are holding up stalled RFCs.

    Our first few meetings saw us setting a number of short- and long-term goals. These goals fall into one of three themes: making the Error trait more universally accessible, improving error handling ergonomics, and authoring additional learning resources.

  • How to collect Rust source-based code coverage

    Source-based code coverage was recently introduced in Rust. It is more precise than the gcov-based coverage, with fewer workarounds needed. Its only drawback is that it makes the profiled program slower than with gcov-based coverage.

    In this post, I will show you a simple example on how to set up source-based coverage on a Rust project, and how to generate a report using grcov (in a readable format or in a JSON format which can be parsed to generate custom reports or upload results to Coveralls/Codecov).

GTK: At the Heart of GNOME

Filed under
Development
GNOME

GTK is at the heart of the GNOME application and software development kit. GTK is used to create graphical user interfaces (GUIs) for desktop environments, applications, and window managers. Since the GTK 4 development process began in 2016, we have about 250 individual contributors, with more than 100 active this year.

Thanks to the funding received by the GNOME Foundation in 2020, the GTK development team was able to run hackfests, including one we were lucky enough to have at FOSDEM. This funding also supported Emmanuele Bassi, Core GTK Developer at the GNOME Foundation, working on GTK full-time. For most of 2020, Emmanuele worked on implementing a new accessibility interface for GTK 4, to ensure that more people can use GNOME applications, including those with disabilities. We are building a diverse and sustainable free software computing ecosystem where everyone can be empowered by technology they trust. Since Emmanuele works directly for the Foundation he’s uniquely able to focus on the needs of the community, project, and users to support these goals.

GTK is a project with a long history, and throughout that history, it has gone through multiple iterations. A new major release is on the horizon. After four years of development that included a complete overhaul of the internals of the toolkit, GTK 4 promises to be faster through hardware acceleration; more efficient, in terms of performance and power consumption; and more ergonomic, for both application developers, and end users. Over the past four years, the GTK team has continued work on the existing stable versions of GTK and put out multiple releases.

Read more

Also: GTK Planning More Improvements In 2021 From Better Accessibility To Animation Framework

Programming Leftovers

Filed under
Development
  • 6 predictions for JavaScript build tools | Opensource.com

    Code used in production is different from development code. In production, you need to build packages that run fast, manage dependencies, automate tasks, load external modules, and more. JavaScript tools that make it possible to turn development code into production code are called build tools.

  • The mysterious case of the SVt_PVIV | The Incredible Journey

    The other day I wanted to send my friend some silly emojis on LINE and so I updated my flaky old Unicode browser to the new-fangled Unicode with values above 0x10000, so that I could fetch the Emojis, which start around here. The thing also features a perl script which fetches values from Unicode::UCD using the charinfo function. I also updated to Perl 5.32 around the same time. Now the funny thing was that I started getting all kinds of errors about invalid JSON in the browser console. My Perl script was sending something of the form {... "script":Common ...} from my module JSON::Create, which is not valid JSON due to not having quotes around Common, and obviously my module was faulty.

  • JSON::Create now features indentation | The Incredible Journey

    In version 0.27 of JSON::Create I added a new indentation feature. This was added basically out of necessity. Originally the purpose of the module was sending short bits of JSON over the internet, but I've been using JSON more and more for processing data too. I've spent quite a long time working on a web site for recognition of Chinese, and I've been using JSON more and more extensively. The basic data file for the web site is a 168 megabyte JSON file. Not indenting this kind of file makes for "interesting" problems if one accidentally opens it in an editor or on a terminal screen, a million characters all on one line tends to confuse the best-written text reading utilities. So after years of suffering the relief is tremendous, and now I have tab-based indentation in JSON::Create.

  • Python Convert String to Int - Python Examples – TecAdmin

    Its a common uses of type conversion in any programming language. Python also provides inbuilt methods for type conversion. This tutorial will help to convert a string value to integer value with Python.

Programming Leftovers

Filed under
Development
  • Built to Last

    As the catastrophe unfolded, several state governments blamed it on aged, supposedly obsolete computer systems written in COBOL, a programming language that originated in the late 1950s. At least a dozen state unemployment systems still run on this sixty-one-year-old language, including ones that help administer funds of a billion dollars or more in California, Colorado, and New Jersey. When the deluge of unemployment claims hit, the havoc it seemed to wreak on COBOL systems was so widespread that many states apparently didn’t have enough programmers to repair the damage; the governor of New Jersey even publicly pleaded for the help of volunteers who knew the language.

    But then something strange happened. When scores of COBOL programmers rushed to offer their services, the state governments blaming COBOL didn’t accept the help. In fact, it turned out the states didn’t really need it to begin with. For many reasons, COBOL was an easy scapegoat in this crisis—but in reality what failed wasn’t the technology at all.

  • Reducing Streams in Java

    Java 8 introduced streams, among other things, and one of my favourite features is the reduce() method. It combines a stream into a single method.

  • Humility

    Humility helps you respect the people you’re working with and see what they bring. We can’t genuinely respect them if we’re feeling superior; if we think we have all the answers.

    If we have compassion for our teammates (and ourselves) we will desire to minimise their suffering.

    We will want to avoid inflicting difficult merges on anyone. We will want to avoid wasting their time, or forcing them to re-work; having been surprised by our changes. The practice of Continuous Integration can come from the desire to minimise suffering in this way.

    We will want those who come after us in the future to be able to understand our work—understand the important behaviour and decisions we made. We’ll want them to have the best safety net possible. Tests and living documentation such as ADRs can come from this desire.

    We’d desire the next person to have the easiest possible job to change or build upon what we’ve started, regardless of their skill and knowledge. Simplicity and YAGNI can come from this desire.

    Humility and compassion can drive us to be curious: what are the coding and working styles and preferences of our team mates? What’s the best way to collaborate to maximise my colleagues’ effectiveness?

    Without compassion we might write code that is easiest for ourselves to understand—using our preferred idioms and style without regard for how capable the rest of the team is to engage with it.

    Without humility our code might show off our cleverness.

  • Python Throw Exception – Linux Hint

    An exception appears during program execution and changes its normal flow due to an error. An exception arises on account of an error. The main cause of an exception is a logical error. Like many other programming languages, Python provides several built-in exceptions, i.e., ZeroDivisionError, ImportError, EOFError, etc.; for instance, the ZeroDivisionError exception is raised when a number is divided by zero. The Python exceptions are handled by the try statement. We define a try block and put the code vulnerable code inside this block, which can raise an exception. Next, after the try block, we define an except block to deal with the exception. Besides all these built-in exceptions, sometimes we need to raise or throw an exception when we encounter a specific situation. The Python developer can throw a user-defined exception easily. We use the raise keyword for raising or throwing an exception. This article explains the Python raise keyword usage for throwing the exception with examples.

  • How to use nftables from python

    One of the most interesting (and possibly unknown) features of the nftables framework is the native python interface, which allows python programs to access all nft features programmatically, from the source code.

    There is a high-level library, libnftables, which is responsible for translating the human-readable syntax from the nft binary into low-level expressions that the nf_tables kernel subsystem can run. The nft command line utility basically wraps this library, where all actual nftables logic lives. You can only imagine how powerful this library is. Originally written in C, ctypes is used to allow native wrapping of the shared lib object using pure python.

    To use nftables in your python script or program, first you have to install the libnftables library and the python bindings. In Debian systems, installing the python3-nftables package should be enough to have everything ready to go.

    To interact with libnftables you have 2 options, either use the standard nft syntax or the JSON format. The standard format allows you to send commands exactly like you would do using the nft binary. That format is intended for humans and it doesn’t make a lot of sense in a programmatic interaction. Whereas JSON is pretty convenient, specially in a python environment, where there are direct data structure equivalents.

  • Vue.js Change Style – Linux Hint

    Vue.js is used to build User Interfaces (UIs) and Single-Page Applications (SPAs). It is easy to learn how to use Vue.js and the framework of freedom and comfort that is available while developing applications in this program because it has the best-combined features of Angular and ReactJS. That is why it is known for its easy-to-use and clean coding.

    Vue.js provides style binding that you can use to change the style dynamically. You can bind a variable to the style attribute in any HTML tag and change the style when the bound variable is changed. In this article, we will have a look at how to use style binding and change the styling of variables using vue.js.

  • Vue.js Conditional Rendering – Linux Hint

    Vue.js is an easy to learn and approachable library that we can start building web applications in it with the basic knowledge of web development. In Vue.js, developers love to code and feel freedom while developing applications.

Programming: Rust, C++ and Compilers

Filed under
Development
GNU
Linux
  • The 10 Best Rust Programming Books: Experts' Recommendation

    Rust is a language that engages everybody to construct dependable and productive software. Rust is an open-source framework programming language. What Rust centers around is mobility and speed, memory security, and parallelism. A wide scope of new programming applications is being created by designers using Rust, such as game motors, program parts document frameworks, and reproduction motors for augmented reality. Therefore, to learn Rust programming with proper guidance, an exemplary set of Rust programming books is very important.

    [...]

    ‘Beginning Rust’ is a Rust programming book for the very beginners. Rust is a language for developers who are working with new applications, software, and virtual reality. This book would be a great option for those at their very early stage with learning rust programming. This book has been designed in such a way that any beginner will find the proper guidance accordingly.

    This book has a total of 23 chapters covering the topics from beginning to intermediary level. Some of the topics are, Doing the arithmetic, Naming object, Controlling executing flow, Defining functions, Data Implementation, etc. If a reader can follow the book accordingly, they will be able to start their work with rust programming very easily.

  • Giovanni Mascellani: Having fun with signal handlers

    As every C and C++ programmer knows far too well, if you dereference a pointer that points outside of the space mapped on your process' memory, you get a segmentation fault and your programs crashes. As far as the language itself is concerned, you don't have a second chance and you cannot know in advance whether that dereferencing operation is going to set a bomb off or not. In technical terms, you are invoking undefined behaviour, and you should never do that: you are responsible for knowing in advance if your pointers are valid, and if they are not you keep the pieces.

    However, turns out that most actual operating system give you a second chance, although with a lot of fine print attached. So I tried to implement a function that tries to dereference a pointer: if it can, it gives you the value; if it can't, it tells you it couldn't. Again, I stress this should never happen in a real program, except possibly for debugging (or for having fun).

  • Nibble Stew: Adding (very) preliminary support for C++ modules in Meson

    One of the most common questions people ask about Meson is why does it not yet have support for building C++ modules. Up until now the answer has been simple: no compiler really supports it yet. However Visual Studio has added sufficient functionality in their latest 2019 developer preview that an implementation in Meson has become feasible. The actual code can be found in this merge request for those brave enough to try it out.

    The basic problem with C++ modules is the same as with Fortran modules: you can no longer build source files in an arbitrary order. Instead you have to scan the contents of files, see what modules each source file generates and consumes and orchestrate the build so that all source files that produce modules are built before any source files that consume them. This requires dynamic dependency generation that has been added to Ninja only fairly recently.

  • How to Parse XML in C++ – Linux Hint

    In this article, we are going to discuss how to parse XML in C++ programming language. We will see several working examples to understand the XML parsing mechanism in C++.

  • Clang LTO Support For The Linux Kernel Spun Up A Seventh Time - Phoronix

    Google engineers have sent out their latest patches for allowing the mainline Linux kernel to be built with LLVM Clang link-time optimizations (LTO) for greater performance and possibly size benefits.

    Google's team has done a good job not only working on the mainline Clang support for the Linux kernel across the likes of AArch64 and x86_64, but also with other related features of interest to them like the Clang LTO abilities to which internally they already leverage extensively. This upstreaming work has been ongoing for many months.

  • Intel C for Metal Compiler 1.0.20 Released - Phoronix

    Within Intel's vast open-source software ecosystem and much of the attention being on oneAPI as their preferred programming model for developers these days and there being multiple different open-source Intel graphics compiler back-ends, one that is often forgotten about is the Intel C for Metal Compiler that on Friday saw a new release.

    The Intel C for Metal Compiler "cm-compiler" is for their C language dialect as a GPU kernel programming language for Intel graphics processors. C for Metal is their optimized GPU programming language on Windows and Linux. While it is promoted as a "general" GPU programming language, most notably it is used by Intel for their Media Codec SDK and other media processing. In fact, outside of their media stack it's difficult recalling the last time I heard it brought up. Those wanting to learn more about Intel's C for Metal language can find examples and more documentations via 01.org. There is also an overview from earlier this year at software.intel.com.

Hackers' Devices and Programming

Filed under
Development
Hardware
  • SiFive Pushes Open Source RISC-V Silicon Closer to Prime Time | Data Center Knowledge

    The open source RISC-V silicon specification flexes it's muscle with a new developers' board its maker, SiFive, is calling a PC.

  • Read RFID and NFC tokens with Raspberry Pi | HackSpace 37
  • Python OS module Common Methods – Linux Hint

    Python is a popular general-purpose programming language of recent times. It provides many built-in modules and functions to perform specific tasks. Python OS module allows performing the operating system related tasks. The OS module comes pre-installed in Python. The OS modules have many built-in functions to retrieve and interact with the file system. This article explains some functions of the OS module with examples.

  • Vue.js Click Events – Linux Hint

    Vue.js is a very powerful, easy to learn, and approachable library that with the knowledge of HTML, CSS, and Javascript, we can start building web applications in it. Vue.js is built by combining the best features from already existing Angular and react Frameworks. It is a progressive and reactive Javascript framework that is used to build UIs (User Interfaces) and SPAs (Single-page Applications), which is why the developers love to code and feel freedom and comfort while developing applications in Vue.js.If we take a look at the Event Listening and Handling in Vue.js., we will know that it provides a “v-on” directive to listen and handle events. We can use the “v-on” directive to listen to the DOM and perform the required tasks. It also provides many event handlers. However, in this article, we will only learn and keep our focus on the click events. So, let’s get started!

Syndicate content

More in Tux Machines

5 open source alternatives to GitHub

Git is a popular version-control system, primarily used for code but popular in other disciplines, too. It can run locally on your computer for personal use, it can run on a server for collaboration, and it can also run as a hosted service for widespread public participation. There are many hosted services out there, and one of the most popular brands is GitHub. GitHub is not open source. Pragmatically, this doesn't make much of a difference to most users. The vast majority of code put onto GitHub is, presumably, encouraged to be shared by everyone, so GitHub's primary function is a sort of public backup service. Should GitHub fold or drastically change its terms of service, recovering data would be relatively simple because it's expected that you have a local copy of the code you keep on GitHub. However, some organizations have come to rely on the non-Git parts of GitHub's service offerings, making migration away from GitHub difficult. That's an awkward place to be, so for many people and organizations, insurance against vendor lock-in is a worthwhile investment. Read more

5 Ways to Check Your Android Phone Hacked or Not

Do you suspect that your Android smartphone or tablet is infected with some malware or spyware? Well, there are several pointers that can indicate this is the case. For example, your device is unnecessarily slow and even freezes periodically, or displays popups. Experiencing these symptoms can mean that your device has been hacked but that is not always the case. Sometimes, devices act funny due to a handful of reasons including a security hack. In today’s article, we give you five tips on how to check whether your phone is infected with malicious software as well as how to ensure that it is safe/protected. Read more

Top Tips to Protect Your Linux System

Linux-based operating systems have a reputation for their high-security level. That's one of the reasons why the market share for Linux has been growing. The most commonly used operating systems such as Windows are often affected by targeted attacks in the form of ransomware infections, spyware, as well as worms, and malware. As a result, many personal, as well as enterprise users, are turning to Linux-based operating systems such as the Ubuntu-based Linux OS for security purposes. While Linux based systems are not targeted as frequently as other popular operating systems, they are not completely foolproof. There are plenty of risks and vulnerabilities for all types of Linux devices which put your privacy as well as your identity at risk. Read more

Kernel (Linux): Windows Assimilation, Wake-on-LAN, AMD and Intel

  • Tuxera First to Bring Network Bandwidth-Saving SMB Compression Feature to Linux Environments
  • Tuxera First to Bring Network Bandwidth-Saving SMB Compression Feature to Linux Environments

    Tuxera, a world-leader in quality-assured storage management and networking software, announced that the company's SMB server implementation, Fusion File Share by Tuxera, now offers transparent compression to platforms outside of Microsoft Windows. Compression is being rapidly and widely adopted in the storage industry as a feature in memory hardware, file system implementations, and also networking protocols such as Microsoft's server messaging block technology (SMB). The ability to compress files inline during transfer can significantly reduce bandwidth and transfer time. Microsoft released the transparent compression feature to their SMB protocol specification in early 2019. However, Tuxera is the first to implement SMB compression outside of Microsoft Windows, bringing this highly in-demand feature to Linux environments in enterprises around the world.

  • Wake-on-LAN

    With Wake-on-LAN (WoL) it can be slightly easier to manage machines in-house. You can fire up the workstation and start the day’s compile jobs (to catch up with overnight work by the KDE community, say) while drinking an espresso downstairs and doomscrolling. [...] If all the administrative bits are in place, then the simple way to wake up a machine is wake <hostname>. This requires root, since it sends specially-crafted (broadcast) Ethernet packets, which isn’t something that regular users can do.

  • AMD+SUSE Tackling Frequency Invariance For AMD EPYC 7002 CPUs - Phoronix

    Thanks to work by AMD and SUSE engineers, the Linux kernel could soon be seeing frequency invariance support for EPYC 7002 "Rome" processors for yielding greater performance and power efficiency. Over the past year we have seen a lot of Linux kernel work for dealing with frequency invariance but to now that on the x86 side has been focused on Intel Xeon processors. Now through the cooperation of AMD with patches led by SUSE, frequency invariance is being worked on for the EPYC 7002 "Rome" processors.

  • Intel Begins Landing Their Open-Source Vulkan Driver Ray-Tracing Support

    This week marked the release of Vulkan 1.2.162 with the ray-tracing extensions now finalized. As such Intel's stellar open-source team has begun landing their work around Vulkan ray-tracing ahead of the Xe HPG hardware availability that will support this functionality. Back in October I wrote about Intel preparing their open-source driver support for Vulkan ray-tracing ahead of Xe HPG and now with the updated Vulkan spec out there they are able to push more of their work.