Language Selection

English French German Italian Portuguese Spanish

Why I use Java

Filed under
Development

I believe I started using Java in 1997, not long after Java 1.1 saw the light of day. Since that time, by and large, I've really enjoyed programming in Java; although I confess these days, I'm as likely to be found writing Groovy scripts as "serious code" in Java.

Coming from a background in FORTRAN, PL/1, Pascal, and finally C, I found a lot of things to like about Java. Java was my first significant hands-on experience with object-oriented programming. By then, I had been programming for about 20 years, and it's probably safe to say I had some ideas about what mattered and what didn't.

Read more

More in Tux Machines

Games: Discover, Overland and DOSBox on Chromebooks

     
  • Another Discord voice chat overlay for Linux appears with 'Discover'

    Since the official Discord client doesn't currently support the Overlay on Linux, it's up to the community and another has been released named Discover. Not to be confused with the KDE application store, which is also named Discover. The Discover overlay for Discord was created by the same people as the last one we wrote about. This time, it's a little different. They're not relying on Discord's StreamKit and it instead interacts with the Discord client directly. This means it could expand to support other chat applications too in future perhaps, plus they said it should also be "lighter on system resources and less hack-and-slash included than discord-overlay".

  • Post-apocalyptic road-trip strategy Overland has a big 1.2 update with an all-dogs mode

    Possibly one of the most stylish turn-based strategy games around and one that's also rather difficult, Overland just had a big 1.2 update released with some funny new additions. A post-apocalyptic road-trip game all about making tough decisions. You thought XCOM 2 was difficult? Overland can be quite on the brutal side. Small maps that don't give you a lot of wiggle room, with one misstep it might all be over. Every noise you make only brings weird creatures closer and you've got to get moving across the United States. [...] Finding another dog and inviting them into my crew might be the sweetest thing I've seen in a turn-based strategy game, as they both give a little "woof" and wag their tails and suddenly I've got a two-dog crew driving across the USA during the end of the world. It's weirdly wholesome, until one of them dies that is — so sad.

  •  
  • Revisit childhood games with DOSBox on your Chromebook

    I’m back at it! I spent the better part of yesterday morning tinkering with virtual machines and the Linux container on my Chromebook to see was sort of shenanigans I could get myself into. Somewhere along the way, I decided to fiddle with MS-DOS. More on that later. Along the way, I discovered a nifty little app that I had never heard of until this week. Just to be clear, this application is not new. In fact, it’s been around for nearly two decades and its sole purpose is to emulate DOS in an x86 environment. [...] There you go. You’re all set. You can now launch DOSBox from the terminal by just typing or you can open it with the app icon that is now in your app launcher. I’m sure you’re now wondering what you can actually do with DOSBox. Don’t worry. We’ll get to that next. As I mentioned above, DOSBox has been reworked to bring countless older video games directly to the web by allowing users to play in the browser. Chances are decent that, if you are looking for one of your favorite childhood games, it’s available in a browser-based version. Sites such as playclassic.games use this very technology to run games like Oregon Trail, DOOM, and Civilization I&II. Anyway, you can use DOSBox to do the very same thing locally on your Chromebook. Here’s how to get your favorite MS-DOS games on Chrome OS using DOSBox. First, we will need a game to play. For many DOS games, you can download the .exe file and run the game directly from that file. Other games, like the example we’re using, has an installation file. That file will create the .exe file that will launch the game. In honor of all the Intel Gemini Lake Chromebooks out there, we will be installing the cult classic Commander Keen. If you have no clue what I’m talking about, most Chromebook code names and baseboards are named after video game or animated characters. The original Google Cr-48 is code-named Mario. More recent devices powered by Intel’s Gemini Lake processors are named after characters from ID Software’s Commander Keen series of video games.

Python Programming

  • Ternary Search Algorithm: Explained with example.
  • Robot Framework with Selenium and Python: All You Need to Know

    With 5000+ stars and 1500+ forks on GitHub, Robot framework has been a go-to-option for many organizations who are aiming for Agile and Test Driven Development (TDD) where developers should write functional code only when there is a test that has failed. Robot framework allows acceptance testing, behaviour driven testing, Robotic Process Automation (RPA), and Acceptance test-driven development (ATDD). It offers an extensible keyword driven approach to perform automation testing. The learning curve is simple as you don’t need to have a programming experience to get started with the Robot framework. Robot framework is written in Python, however, it is not restricted to that. You can implement keywords in Robot framework using Python, Java, JavaScript, Perl, .Net and PHP.

  • How and why I built a menu planning application: What's on the Menu?

    The application that I build can, of course, be used for searching recipes. Additionally, a list of persons could be maintained with their list of allergies, favourite ingredients and when the user decides to plan a meal or cook for them, then appropriate recipes would be suggested which fulfils the needs of the people being planned for. It also learns to suggest recipes based on previous selections.

  • PyCharm: Webinar Recording: “From The Docs: PyCharm Skills, Beginner to Advanced” with Alla Redko

    PyCharm has broad, useful, up-to-date documentation. How does it get made? Who works on it? What are some hidden gems? Last week we had a webinar covering this with Alla Redko, technical writer for PyCharm, and the recording is now available.

  • Mixing text and chemistry toolkits

    This is part of a series of essays about using chemfp to work with SD files at the record and simple text level. Chemfp has a text toolkit to read and write SDF and SMILES files as records, rather than molecules. It also has a chemistry toolkit I/O API to have a consistent way to handle structure input and output when working with the OEChem, RDKit, and Open Babel toolkits. In this essay I'll combine the two, so chemfp reads records from an SD file, which are then passed to a chemistry toolkit for further parsing, then chemfp adds a data item back to the original record instead of converting the toolkits molecule into a new SDF record.

  • Colin Watson: Porting Launchpad to Python 3: progress report

    Launchpad still requires Python 2, which in 2020 is a bit of a problem. Unlike a lot of the rest of 2020, though, there’s good reason to be optimistic about progress. I’ve been porting Python 2 code to Python 3 on and off for a long time, from back when I was on the Ubuntu Foundations team and maintaining things like the Ubiquity installer. When I moved to Launchpad in 2015 it was certainly on my mind that this was a large body of code still stuck on Python 2. One option would have been to just accept that and leave it as it is, maybe doing more backporting work over time as support for Python 2 fades away. I’ve long been of the opinion that this would doom Launchpad to being unmaintainable in the long run, and since I genuinely love working on Launchpad - I find it an incredibly rewarding project - this wasn’t something I was willing to accept. We’re already seeing some of our important dependencies dropping support for Python 2, which is perfectly reasonable on their terms but which is starting to become a genuine obstacle to delivering important features when we need new features from newer versions of those dependencies. It also looks as though it may be difficult for us to run on Ubuntu 20.04 LTS (we’re currently on 16.04, with an upgrade to 18.04 in progress) as long as we still require Python 2, since we have some system dependencies that 20.04 no longer provides. And then there are exciting new features like type hints and async/await that we’d like to be able to use.

Screencasts/Audiocasts/Shows: elementary OS, Zorin OS, Emacs, Vim and Artificial intelligence as Free Software

  • Early Look at elementary OS 6 New Desktop Features - Road to Odin
  • Zorin OS 15.3 Lite overview | Your old computer. New again.

    In this video, I am going to show an overview of Zorin OS 15.3 Lite and some of the applications pre-installed.

  • Boost Productivity With Emacs, Org Mode and Org Agenda

    Do you use "productivity apps"? If so, Emacs, Org Mode and Org Agenda lets you make todo lists, schedule tasks, manage projects and much more. I've never been a "todo list" or "appointment scheduling" kind of person but the more I play with Emacs and Org, the more I think that I should be doing these things.

  • The Untapped Magic Of The Vim Runtime Directories

    Prior to using plugin managers vim plugins were handled in a completely different way, you would make use of all these special run time directories and be required to move the files for each plugin into the specified directories, while they're not used as much anymore there's no reason why you can't make use of them in a modern vim configuration.

  • Artificial intelligence as Free Software with Vincent Lequertier

    For the seventh episode of our Software Freedom Podcast we talk with Vincent Lequertier about transparency, fairness, and accessibility as crucial criteria for artificial intelligence (AI) and why it is important for our society to release AI software under a Free Software license. Our guest for the seventh episode of the Software Freedom Podcast is Vincent Lequertier. Vincent is a member of the Free Software Foundation Europe and is researching AI in the health care sector. Together we discuss the use and development of artificial intelligence from a Free Software perspective. Vincent explains what AI actually is and why it is important for our society to release AI software under a Free Software license. We discuss why the criteria of transparency, fairness and accessibility are important when working with artificial intelligence and how they relate to Free Software. Finally, we also discover what challenges AI is facing in the future and whether we should be afraid of the increasing use of this technology in our daily lives.

NVIDIA GeForce vs. AMD Radeon Vulkan Neural Network Performance With NCNN

With having added Tencent's NCNN tests to the Phoronix Test Suite with Vulkan acceleration, here is a look at the real-world impact by using RealSR-NCNN for scaling up with RealSR. Various NVIDIA GeForce and AMD Radeon graphics cards were tested for this initial NCNN / RealSR-NCNN Vulkan comparison. This is our first time looking at how well Vulkan performs in this area with the current state of the Linux drivers. The GeForce hardware was tested with the latest 450 series proprietary driver while on the Radeon side it was with Linux 5.9 and Mesa 20.3-devel using the RADV Vulkan driver. One of the Tencent developers working on NCNN has commented as well that using RADV's ACO offers a big boost for the performance, which fortunately is the current default for the RADV Vulkan driver. Read more Also: Phoronix Test Suite / OpenBenchmarking.org Now Has 600 Different Tests/Benchmarks