Language Selection

English French German Italian Portuguese Spanish

Programming: Perl, Python, Java and JS

Filed under
Development
  • Designing an event-driven process at scale: Part 2

    In the first article in this series, Designing an event-driven business process at scale: A health management example, Part 1, we began by defining the business use case and data model for a concrete example from the health management industry. We then began implementing the example in jBPM (an open source business automation suite) by creating our trigger process.

  • My first date with Raku

    Ever since I started the Perl Weekly challenge i.e. 25th March 2019, I have been planning to take part in the weekly challenge. Because of lack of time, I couldn’t take part in the past. In the Week #046, I finally took the plunge and contributed Perl solutions to the Perl Weekly Challenge - 046.

  • Possibly the best k-means clustering ... in the world!

    Short post this time because I got nerd-sniped looking at the data. The fun part is that you quickly move from thinking about how to get your results to trying to work out what they mean.

    Forget why I started down this road. Right now, we are seeking the answer to Lewis Carol's famous question, How is a Porsche 914-2 like a Volvo 142E? (well, that's what it was in the first draft) A quick summary for those who have just joined us.

  • Personalize your python prompt

    The >>> we see when the Python interactive shell starts, is called the Prompt String. Usually, the prompt string suggests that the interactive shell is now ready to take new commands.

  • Don't like loops? Try Java Streams

    In this article, I will explain how to not write loops anymore.

    What? Whaddaya mean, no more loops?

    Yep, that's my 2020 resolution—no more loops in Java. Understand that it's not that loops have failed me, nor have they led me astray (well, at least, I can argue that point). Really, it is that I, a Java programmer of modest abilities since 1997 or so, must finally learn about all this new Streams stuff, saying "what" I want to do and not "how" I want to do it, maybe being able to parallelize some of my computations, and all that other good stuff.

    I'm guessing that there are other Java programmers out there who also have been programming in Java for a decent amount of time and are in the same boat. Therefore, I'm offering my experiences as a guide to "how to not write loops in Java anymore."

  • Live video streaming with open source Video.js

    Last year, I wrote about creating a video streaming server with Linux. That project uses the Real-Time Messaging Protocol (RMTP), Nginx web server, Open Broadcast Studio (OBS), and VLC media player.

    I used VLC to play our video stream, which may be fine for a small local deployment but isn't very practical on a large scale. First, your viewers have to use VLC, and RTMP streams can provide inconsistent playback. This is where Video.js comes into play! Video.js is an open source JavaScript framework for creating custom HTML5 video players. Video.js is incredibly powerful, and it's used by a host of very popular websites—largely due to its open nature and how easy it is to get up and running.

More in Tux Machines

Android Leftovers

Not-actually Linux distro review: FreeBSD 12.1-RELEASE

Desktop layer aside, the entire FreeBSD operating system doesn't seem to get as much developer love and attention as the typical mainstream Linux distribution. It doesn't take much use before you discover minor errors and paper cuts that really shouldn't exist—like pkg search not returning metapackages, or the disk partitioner not accepting its own example arguments as valid. My personal biggest frustration with FreeBSD—and the major reason I switched from it to Linux in 2008—is the lack of automatic security upgrades. FreeBSD does have tools to discover vulnerabilities in packages and update them, but they aren't designed to run in the background. They demand either interactive operation by an active and knowledgeable admin or significant tooling that the FreeBSD operating system itself does not provide. Worse yet, FreeBSD has at least two and often three entirely separate package systems to maintain. The source-based ports tree, the binary package system, and the base FreeBSD operating system itself—each uses entirely different tools for maintenance. If that's not bad enough, ports and packages actually conflict with one another, requiring even more care to make sure neither gets clobbered during upgrades. Digital Ocean has an excellent overview of basic FreeBSD maintenance, which we would strongly advise any new FreeBSD admin to read and understand thoroughly. Read more

Android Leftovers

How to set up a remote school environment for kids with Linux

COVID-19 has suddenly thrown all of us into a new and challenging situation. Many of us are now working full-time from home, and for a lot of us (especially people who aren't used to working remotely), this is taking some getting used to. Another group that is similarly challenged is our kids. They can't go to school or participate in their regular after-school activities. My daughter's elementary school closed its classrooms and is teaching through an online, web-based learning portal instead. And one of her favorite extracurricular activities—a coding school where she has been learning Scratch and just recently "graduated" to WoofJS–has also gone to an online-only format. We are fortunate that so many of our children's activities can be done online now, as this is the only way they will be able to learn, share, and socialize for at least the next several months. Read more