Language Selection

English French German Italian Portuguese Spanish

August 2019

Programming: Measuring Coverage, Anytime, Java and Perl

Filed under
Development
  • Don’t omit tests from coverage

    There’s a common idea out there that I want to refute. It’s this: when measuring coverage, you should omit your tests from measurement. Searching GitHub shows that lots of people do this.

    This is a bad idea. Your tests are real code, and the whole point of coverage is to give you information about your code. Why wouldn’t you want that information about your tests?

    You might say, “but all my tests run all their code, so it’s useless information.” Consider this scenario: you have three tests written, and you need a fourth, similar to the third. You copy/paste the third test, tweak the details, and now you have four tests. Except oops, you forgot to change the name of the test.

    Tests are weird: you have to name them, but the names don’t matter. Nothing calls the name directly. It’s really easy to end up with two same-named tests. Which means you only have one test, because the new one overwrites the old. Coverage would alert you to the problem.

  • anytime 0.3.6

    A fresh and very exciting release of the anytime package is arriving on CRAN right now. This is the seventeenth release, and it comes pretty much exactly one month after the preceding 0.3.5 release.

    anytime is a very focused package aiming to do just one thing really well: to convert anything in integer, numeric, character, factor, ordered, … format to either POSIXct or Date objects – and to do so without requiring a format string. See the anytime page, or the GitHub README.md for a few examples.

    This release updates a number of things (see below for details). For users, maybe the most important change is that we now also convert single-digit months, i.e. a not-quite ISO input like “2019-7-5” passes. This required adding %e as a month format; I had overlooked this detail in the (copious) Boost date_time documentation. Another nice change is that we now use standard S3 dispatching rather a manual approach as we probably should have for a long time Smile but better late than never. The code change was actually rather minimal and done in a few minutes. Another change is a further extended use of unit testing via the excellent tinytest package which remains a joy to use. We also expanded the introductory pdf vignette; the benchmark comparisons we included look pretty decent for anytime which still combines ease of use and versability with performance.

  • What is an Object in Java?

    In general, all Cartesian geometric objects, like circles, squares, triangles, lines, and points, have basic properties, like location and extension. Objects with zero extension, like points, usually don't have anything more than that. Objects like lines have more—e.g., the start and endpoint of a line segment or two points along a line (if it's a "true line"). Objects like squares or triangles have still more—the corner points, for example—whereas circles may have a center and radius.

    We can see there is a simple hierarchy at work here: The general geometric object can be extended into specific geometric objects, like points, lines, squares, etc. Each specific geometric object inherits the basic geometric properties of location and extension and adds its own properties.

    This is an example of single inheritance. Java's original object-oriented model allowed only single inheritance, where objects cannot belong to more than one inheritance hierarchy. This design decision comes out of the kinds of ambiguities programmers found themselves facing in complex multiple-inheritance scenarios, typically in cases where "interesting design decisions" led to several possible implementations of the function foo() as defined (and re-defined) in the hierarchy.

  • 20 Excellent Free Books to Learn Perl

    Programming is about solving problems and good communication. But before code is written, you need to know how to solve the problem. Breaking the problem into component parts assists in the process. And being able to model the problem so that it’s easy to implement and test also helps. Combine this with a solid understanding of the programming language itself – a good programming book contributes to all aspects of problem solving. Perl has the virtue it can solve a problems in a few lines of code. Perl programmers solve problems and get things done.

    The popularity of a book is influenced by personal feelings, tastes, and opinions. Programming books accord to this general rule. There is a wide range of Perl books. As Perl is an open source programming language, with an eclectic heritage written by Larry Wall with thousands of contributors, it is welcome some authors have released their Perl books under a freely distributable license.

New Linux Magazine Behind Its Old Paywall

Filed under
Linux

Canonical/Ubuntu: Ubuntu Podcast, Ubuntu 19.10 Daily Builds with Gnome 3.34 Beta, Bashing Deb/APT/Aptitude to Promote Snaps/Snapd, Ubuntu on Ibase

Filed under
Ubuntu
  • Ubuntu Podcast from the UK LoCo: S12E21 – Rebelstar Raiders

    This week we?ve been using Unity and learning about code of conduct incident response. We bring you a bumper crop of news and events from the Ubuntu community plus we round up some of our favourite stories from the tech world.

    It?s Season 12 Episode 21 of the Ubuntu Podcast! Alan Pope, Mark Johnson and Martin Wimpress are connected and speaking to your brain.

  • Ubuntu 19.10 Daily Builds with Gnome 3.34 Beta Run Through

    In this video, we are looking at Ubuntu 19.10 Daily Builds. as of 28 August, with Gnome 3.34 Beta For links and more, look here: https://www.linuxmadesimple.info/2019/08/ubuntu-1910-daily-builds.html Background Music: The Big Beat 80s by Kevin MacLeod, Syrinx Starr

  • A technical comparison between snaps and debs

    Snap installations are also different from debs. Since snaps are fully self-contained applications, during the installation, the snap package (SquashFS filesystem archive) is decompressed and mounted as a read-only loopback device, with a separate writable private area created in the user’s home directory. Because snaps contains all the elements required to run an application, their disk footprint is typically larger than an equivalent Deb package. This is partially mitigated by having snaps compressed, and in some cases they might actually have a smaller size on the disk.

    During the installation, a security profile will be created for the snap, which will determine what the snap can or cannot do once run. By default, snaps cannot access other snaps, or ever the underlying system. Specific overrides are required, which we will touch upon shortly. Furthermore, the isolated manner in which snaps are configured means that once the user removes a snap, all the assets are completely removed from the system.

    Snaps are cryptographically signed. Users can install snaps that originate outside the Snap Store by providing an explicit, manual override flag. This is common during development, allowing developers to test their snaps before uploading them to the store.

  • Compact embedded computer features Ryzen Embedded V1000

    Ibase’s compact, Ubuntu-ready “CMI300-988” embedded computer is based on its MI988 Mini-ITX board equipped with a quad-core AMD Ryzen Embedded V1807B. Highlights include up to 32GB DDR4, HDMI and DP, and 4x USB 3.1 ports.

    [...]

    The CMI300-988 runs Windows 10 or Ubuntu 18.04 with Linux Kernel 4.14.14 on AMD’s top-of-the-line V1807B model with 4x Zen cores and 8x threads clocked to 3.35/3.8GHz. The 35-54W TDP V1807B features the high-end, 11-compute-unit version of AMD’s impressive Vega GPU.

Mozilla's CEO Steps Down

Filed under
Moz/FF
  • My Next Chapter

    Earlier this morning I shared the news internally that – while I’ve been a Mozillian for 15 years so far, and plan to be for many more years – this will be my last year as CEO.

    When I returned to Mozilla just over five years ago, it was during a particularly tumultuous time in our history. Looking back it’s amazing to reflect on how far we’ve come, and I am so incredibly proud of all that our teams have accomplished over the years.

    Today our products, technology and policy efforts are stronger and more resonant in the market than ever, and we have built significant new organizational capabilities and financial strength to fuel our work. From our new privacy-forward product strategy to initiatives like the State of the Internet we’re ready to seize the tremendous opportunity and challenges ahead to ensure we’re doing even more to put people in control of their connected lives and shape the future of the internet for the public good.

    In short, Mozilla is an exceptionally better place today, and we have all the fundamentals in place for continued positive momentum for years to come.

    It’s with that backdrop that I made the decision that it’s time for me to take a step back and start my own next chapter. This is a good place to recruit our next CEO and for me to take a meaningful break and recharge before considering what’s next for me. It may be a cliché — but I’ll embrace it — as I’m also looking forward to spending more time with my family after a particularly intense but gratifying tour of duty.

  • Thank you, Chris

    Thank you, Chris.

    Chris Beard has been Mozilla Corporation’s CEO for 5 and a half years. Chris has announced 2019 will be his last year in this role. I want to thank Chris from the bottom of my heart for everything he has done for Mozilla. He has brought Mozilla enormous benefits — new ideas, new capabilities, new organizational approaches. As CEO Chris has put us on a new and better path. Chris’ tenure has seen the development of important organization capabilities and given us a much stronger foundation on which to build. This includes reinvigorating our flagship web browser Firefox to be once again a best-in-class product. It includes recharging our focus on meeting the online security and privacy needs facing people today. And it includes expanding our product offerings beyond the browser to include a suite of privacy and security-focused products and services from Facebook Container and Enhanced Tracking Protection to Firefox Monitor.

    Chris will remain an advisor to the board. We recognize some people may think these words are a formula and have no deep meaning. We think differently. Chris is a true “Mozillian.” He has been devoted to Mozilla for the last 15 years, and has brought this dedication to many different roles at Mozilla. When Chris left Mozilla to join Greylock as an “executive-in-residence” in 2013, he remained an advisor to Mozilla Corporation. That was an important relationship, and Chris and I were in contact when it started to become clear that Chris could be the right CEO for MoCo. So over the coming years I expect to work with Chris on mission-related topics. And I’ll consider myself lucky to do so.

Drauger OS Makes a Capable Linux Game Console Platform

Filed under
Reviews

This distro lacks an OS upgrade mechanism. So upgrading to the next release requires a fresh installation. However, system updates to the existing installation come from Ubuntu and are regularly updated by Drauger OS.

If you play around with the live session, the default user name is "user" or "default." The default password is "toor."

Complete instructions are found in the Readme.pdf file. Also, check out the Welcome screen. It provides access to help files and shows buttons that open links to the distribution's website, launch a tool for installing third-party drivers, and link to some online resources.

There is also a tutorial button on the Welcome screen that opens a series of pop-up messages about the desktop elements. The welcome window is pretty straightforward to use and navigate.

Read more

Is Perl 6 Being Renamed?

Filed under
Development

The issue suggested renaming Perl 6. While some may think that the name of the issue is trolling, or offensive, the actual issue was created by Elizabeth (Liz) Mattijsen, one of the core Perl 6 developers, a long-time Perl 5 developer, and with her spouse, Wendy, has long been an enthusiastic support of Perl 5/6. There is no trolling here. There is a lot of deep thought, careful discussion, and a genuine desire to find a way to bypass some deeply divisive issues in the Perl community.

[...]

So yeah, there's bitterness and the Perl community not only needs to heal, but we need to find a way forward for both languages. The suggestion to change the name of Perl 6 to 'raku' is effectively designed to make this happen. Perl 5 can figure out how to get beyond the branding issue that's been plaguing it and Perl 6 can do the same thing.

Read more

GNU Emacs 26.3 Released, How to Install it in Ubuntu 18.04

Filed under
GNU

GNU Emacs text editor 26.3 was released last night. Here’s how to install it in Ubuntu 18.04 and higher.

Read more

Games: A Short Hike, Rocket League Season, Knights And Bikes and More

Filed under
Gaming
  • A Short Hike is a very sweet and serene experience

    Taking a break to go on A Short Hike turned out to be a rather beautiful experience, one that has allowed me to sit back and appreciate the calmer side of life for a moment.

  • Rocket League Season 12 and the Rocket Pass 4 are live, with the new Weekly Challenge system

    Another Competitive Season ends and a fresh one begins, Rocket League Season 12 is now officially live and so is the new Rocket Pass 4 with a tweaked Weekly Challenge system.

    This season comes with some new stats for those who manage to pull of some fun tricks. You can now perform a High-Five by bumping into a team mate above the goal after scoring, a Low-Five by bumping into a team mate on the ground after scoring and a Swish Goal for the Hoops mode where you score by not touching the rim before the goal. Additionally, in the patch notes they did some audio work on the game to include "audio priority rebalancing, HDR audio, and object elevation".

  • Go on a wild Cornish adventure in Knights And Bikes, out with Linux support

    Knights And Bikes is a tale of two lost souls discovering friendship, going on an adventure inspired by Earthbound, Secret of Mana and The Goonies. Note: Key provided by Double Fine's PR team.

    Taking place on a fictional island called Penfurzy, off the coast of Cornwall in the UK. It's a co-op "coming-of-age story" although you don't have to play it with a partner as you are able to switch between the two, which is pretty handy and didn't cause any issues for me.

  • Bag a free copy of DiRT Rally during the Humble Store end of Summer sale, some deals on Steam too

    For 72 hours Humble Store are giving away DiRT Rally (has Linux support - ported by Feral Interactive) during their big end of Summer sale.

  • Tame monsters and explore the world in Monster Sanctuary, out in Early Access now

    Moi Rai Games and Team17 Digital Ltd have released Monster Sanctuary in Early Access with Linux support.

    Following a successful Kickstarter, Moi Rai Games have blended a few different experiences together in Monster Sanctuary. It has the exploration and adventuring found in metroidvania-like titles, with creature catching and combat that Pokemon made popular.

  • The Hunter & The Beast expansion announced for Total War: WARHAMMER II

    Arriving on Linux "shortly" after the Windows release, the next expansion for Total War: WARHAMMER II has been announced and it does sound quite enticing.

    We're not just getting a new DLC though, everyone will also get a free update to the base game which will include the Lizardmen Legendary Lord Gor-Rok, a campaign map region rework for Mortal Empires, Empire Fort Battles, a new starting position for Balthasar Gelt and an Old World update for the Empire with more info to come on other things coming.

  • Twin-stick exploration shooter Smith and Winston is out now, some thoughts

    Execution Unit have now officially released their fantastically styled exploration shooter Smith and Winston, with great Linux support.

Lars Knoll, CTO at Qt and Keynote Speaker at Akademy 2019

Filed under
Development
KDE
Interviews

Paul Brown: Hello Lars, how are you this morning? You seem very busy...

Lars Knoll: Hi Paul, I'm doing good. There's more than enough to do, but I had a good weekend.

Paul: Great! So tell me a bit about yourself. Looking over your résumé, you seem to have been in software production forever. Is this something you always wanted to do, since you were young?

Lars: No, not really. Of course I played around with computers a bit when I was young. I had a Commodore 64 back then, but I mostly used it for games.

I actually went and studied physics when I went to University, and had quite a few years where I did very little with computers.

Things started picking up again during my masters and PhD thesis time in Heidelberg. I needed to use computers a lot to analyze the data that we collected during our experiments. We used Linux computers and Unix machines at that time, and I had to do quite a bit of my programming in Fortran. I really didn't like that language, so I started teaching myself C and some C++ to have a better language to work with. That was around 1996, 1997, if I remember correctly.

At that time, I also read about KDE for the first time, as a project to create a Desktop for Linux. That was something that also triggered my interest, and I started looking into it a bit and started subsequently to use it, as it was way easier than FVWM which is what I was using before.

Read more

More in Tux Machines

LXer: Laptop Dual Boot Project Part 2

I know some of you are wondering why go through all of this when I could just install a Linux distro along side of windows and be done with it? One reason was I had to pay it off. A financed $550 laptop takes a little while to pay off. I didn't want to change the machine any while I owed money on it. And the idea of messing with a bone stock laptop using Linux sounded fun. The good thing now is that I have paid it off so it's all mine to do whatever I want with. So, for me it came down to PCLOS, Mint, SUSE or Ubuntu to install to my laptop. I tried them all 'live' from USB drives and a couple of them using VirtualBox. They are all good distros and there are many articles on why one or the other is good or better for you but for me, it came down to PCLinuxOS or Mint. Having come from Windows originally I am most comfortable with a "Windows like" environment. I think both PCLOS and Mint are two versions of that I like best. I like Mint mire but what has drawn me to PCLOS is that it is the only Linux I have tried in that the backlight on my keyboard works. It may sound dumb but it makes it easier for me being able to see the keys no matter the lighting situation I'm in. I tried to install PCLinuxOS onto my laptop and I got a "can't call method on first_usable_sector unblessed reference" error at the very beginning of the install process. I couldn't get around it and aborted the install. Time to do some research. Come to find out I have a AHCI-RAID problem. I got into the BIOS and changed the SATA configuration from RAID to AHCI but in rebooting, it wouldn't boot. So I went back into my BIOS and wrote down the configuration in the SATA settings. It says I am running the "Intel RST Premium with Intel Optane System Acceleration". I have been looking that up but haven't found much...much I understand that is. More Googling is required. I got back into the boot menu and changed the SATA config back to Intel's RAID setting and it re-booted just fine. It seems that for the moment I am able to run Linux from USB 'live' and under VirtualBox but I am unable to install it to the HD. For those who don't know the big difference AHCI and Raid , it is how they store the data to the hard drive. I'll use a sink with water filling it for the metaphor. RAID 1 offers redundancy through mirroring, i.e., data is written identically to two drives. Think of two sinks with the same water in them. RAID 0 offers no redundancy and instead uses striping, i.e., data is split across all the drives. think of two sinks with the water split between them. Half of the data goes into one drive and the other half into another drive. This means RAID 0 offers no fault tolerance; if the drives fails, the RAID unit fails. Read more

Help the FSF tech team maintain email services in freedom

The Free Software Foundation's (FSF) tech team is a small but dedicated team of three staff. With your support, and with the help of volunteers and interns, we run hundreds of services on a few dozen physical machines in four data centers. We are very excited about some of the initiatives we are working on, like deploying our upcoming forge site and other new systems, expanding our physical server deployments, and a further refresh of fsf.org. In parallel, the tech team is always working to better maintain, understand, and document our existing systems. Mastering those keeps vital systems running smoothly and lays the groundwork for future improvements. Email is a key service we provide. Besides it being one of the FSF campaigns and licensing teams' most important ways of communicating, we also support thousands of mailing lists for other free software projects, which send millions of emails per year. Free software is extremely capable in all aspects of email, and there continue to be innovative advancements in free software email programs that we are excited to explore and adopt. Read more

Android Leftovers

What Is OpenBSD? Everything You Need to Know

OpenBSD is no doubt one of the most secure operating systems on the internet. Here's what you need to know about it. Linux fans love to tout their system's security, but for one group of BSD developers, it doesn't go far enough. One version of BSD, OpenBSD, claims to be one of the most secure operating systems around. Does it live up to the hype? Let's find out. Read more