Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • Frankenstein JVM with flavour - jlink your own JVM with OpenJDK 11

    While you can find a lot of information regarding the Java "Project Jigsaw", I could not really find a good example on "assembling" your own JVM. So I took a few minutes to figure that out. My usecase here is that someone would like to use Instana (non free tracing solution) which requires the java.instrument and jdk.attach module to be available. From an operations perspektive we do not want to ship the whole JDK in our production Docker Images, so we've to ship a modified JVM. Currently we base our images on the builds provided by AdoptOpenJDK.net, so my examples are based on those builds. You can just download and untar them to any directory to follow along.

  • KDE Craft Packager on macOS

    In Craft, to create a package, we can use craft --package after the compiling and the installing of a library or an application with given blueprint name.

    On macOS, MacDMGPackager is the packager used by Craft. The MacDylibBundleris used in MacDMGPackager to handle the dependencies.

    In this article, I’ll give a brief introduction of the two classes and the improvement which I’ve done for my GSoC project.

  • It is coming alive

    After digging for around a month and a half, I can finally do some selections with the Magnetic Lasso tool, which I wrote with utter laziness as I would say. Though it still demands a lot of work to be done, so it will be just polishing the existing code into perfection for the next one and half month.

  • Humble Book Bundle: Programmable Boards by Make Community

    If you are interested in learning more about programmable boards, such as Arduino, and are looking for a crash course, you can pick up much on the topic by not just reading about the topic but also doing some hands-on learning. You can do just that, along with paying very little to do so when you buy the Humble Book Bundle: Programmable Boards by Make Community. You’ll pay as little as $1 for books that explain getting started with IoT, Arduino projects, mBot, and more. You’ll get instruction and hands-on training in several areas. Buy the bundle and receive only the books you really need to learn more about programmable boards.

  • Building a computer - part 1

    Off-hand I think the most complex projects I've built have been complex in terms of software. For example I recently hooked up a 933Mhz radio-receiver to an ESP8266 device, then had to reverse engineer the protocol of the device I wanted to listen for. I recorded a radio-burst using an SDR dongle on my laptop, broke the transmission into 1 and 0 manually, worked out the payload and then ported that code to the ESP8266 device.

    Anyway I've decided I should do something more complex, I should build "a computer". Going old-school I'm going to stick to what I know best the Z80 microprocessor. I started programming as a child with a ZX Spectrum which is built around a Z80.

    Initially I started with BASIC, later I moved on to assembly language mostly because I wanted to hack games for infinite lives. I suspect the reason I don't play video-games so often these days is because I'm just not very good without cheating Wink

    Anyway the Z80 is a reasonably simple processor, available in a 40PIN DIP format. There are the obvious connectors for power, ground, and a clock-source to make the thing tick. After that there are pins for the address-bus, and pins for the data-bus. Wiring up a standalone Z80 seems to be pretty trivial.

  • Python Machine Learning Tutorial: Predicting Airbnb Prices
  • DevOps for introverted people
  • PSF GSoC students blogs: Week 5
  • PSF GSoC students blogs: Week 6
  • PSF GSoC students blogs: Coding week #6
  • Week 6 Check-In
  • Week 5 Check-In

    At the start of this week, I revisited the box-into-capsule test and re-implemented a different algorithm. Instead of representing the capsule as two hemispheres and a cylinder, my mentor suggested to see it as a line segment defined the by its two endpoints. So, the algorithm finds the closest point on the box to the line segment, and then tests for intersections accordingly.

  • `make -j5 kritaflake`

    At the end of June I finished copy-on-write vector layers. From the very beginning, I have been researching into possibilities to make kritaflake implicitly sharable. In that post I mentioned the way Sean Parent uses for Photoshop, and adapted it for the derived d-pointers in Flake.

  • Working With Dictionaries In Python

    Dictionaries in pythons are a collection of key value pairs. They are very similar to JSON data type in JavaScript. Dictionaries are indexed, they can be modified and they are no ordered. This makes it very flexible and useful. Since dictionary items can be accessed with keys instead of indexes, dictionaries are widely used in external data-driven programs and apps.

  • What is a golden image?

    If you’re in quality assurance, system administration, or (believe it or not) media production, you might have heard some variation of the term gold master, golden image, or master image, and so on. It’s a term that has made its way into the collective consciousness of anyone involved in creating one perfect model and then producing many duplicates from that mold. That’s what a gold master, or golden image, is: The virtual mold from which you cast your distributable models.

    In media production, the theory is that a crew works toward the gold master. This final product is one of a kind. It looks and sounds the best a movie or an album (or whatever it is) can possibly look and sound. Copies of this master image are made, compressed, and sent out to the eager public.

    In software, a similar idea is associated with the term. Once software has been compiled and tested and re-tested, the perfect build is declared gold. No further changes are allowed, and all distributable copies are generated from this master image (this used to actually mean something, back when software was distributed on CDs or DVDs).

More in Tux Machines

Audiocasts/Shows: This Week in Linux, Command Line Heroes, DevNation Live Introducing Kogito and Python Podcast

  • Episode 75 | This Week in Linux

    On this episode of This Week in Linux, we’ve got a lot of Distro News with the first stable release of EndeavourOS, and we’ve also got new releases from Proxmox, deepin and FerenOS. Dropbox has decided to revert their weird decision of blocking various Linux Filesystems so we’ll talk about that. We’ve got some App News with KDE Connect now being available for macOS and a new release for the Foliate, ebook reader. Later in the show, we’ll cover some Linux Security news regarding a recently found piece of malware targeting the Linux Desktop. Then we’ll round out the show with some Linux Gaming news from Epic Games, Valve, Google Stadia and a new Humble Bundle. All that and much more on Your Weekly Source for Linux GNews!

  • JavaScript's surprising rise from the ashes of the browser wars on Command Line Heroes

    The third season of the Command Line Heroes podcast continues its look at the history of the programming languages we depend on every day. Episode 3, released today, investigates the origin of JavaScript. Here's the unlikely story of how it happened.

  • DevNation Live: Introducing Kogito

    DevNation Live tech talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions and code and sample projects to help you get started. In this talk, you’ll learn about Quarkus, Kogito, and GraalVM from Red Hat’s Mario Fusco, Principal Software Engineer, and Burr Sutter, Chief Developer Evangelist. These days rule engines are often overlooked, possibly because people think that they are only useful inside heavyweight enterprise software products. However, this is not necessarily true. Simply put, a rule engine is just a piece of software that allows you to separate domain and business-specific constraints from the main application flow. Drools is the rule engine of Red Hat, and our goal is to make it ready to be used in serverless environments.

  • Protecting The Future Of Python By Hunting Black Swans

    The Python language has seen exponential growth in popularity and usage over the past decade. This has been driven by industry trends such as the rise of data science and the continued growth of complex web applications. It is easy to think that there is no threat to the continued health of Python, its ecosystem, and its community, but there are always outside factors that may pose a threat in the long term. In this episode Russell Keith-Magee reprises his keynote from PyCon US in 2019 and shares his thoughts on potential black swan events and what we can do as engineers and as a community to guard against them.

Community Snapcrafter on MicroK8s, summits and the evolving nature of snaps

In January 2018, Dan Llewellyn joined his first Snapcraft Summit in Seattle in his role as a community Snapcrafter. At that event, we discussed his views on everything snap related from most requested snaps, new feature requests and popular discussion topics. Since then, snaps has grown across every metric and seen numerous new high profile snaps enter the store including Microsoft Visual Studio Code, a suite from JetBrains, Opera and more. We took the opportunity at the most recent Snapcraft Summit in Montreal to get Dan’s insider perspective 18 months on. “Snaps are reaching ubiquity. People using or building snaps no longer think of themselves as early adopters, but more adhering to the status quo,” Dan observes. There has been a “natural progression” in the growth trajectory that snaps have experienced. Dan believes part of this is driven by developers seeing the likes of Microsoft, Amazon and Google publishing software in the Snap Store. Similarly, Dan has noticed an increase in commercial interest in the format compared to individual developers in the earlier days. Dan also suggests two additional factors for the increased adoption. Firstly, the availability in the Ubuntu store with desktop users being served snaps first over other formats. Secondly, the crossover with the Docker container story – users like the throwaway nature. They can do their work, delete and start again with the next build. Such trends are evident in the nature of the forum conversation as well with less discussion around how to build snaps and far more around the management of existing snaps. He has also seen less around the automatic update feature which he believes is due to the message resonating and it is now a given. “People are comfortable with the feature and expect automatic updates when originally they may have been sceptical if it would work on a desktop or IoT device,” Dan adds. Talking of IoT, Dan has seen an uplift in topics around the internet of things given the benefits snaps can bring to embedded devices. Read more

Android Leftovers

Spanish Air Force fights obsolescence and insecurity through open source

Keeping the ICT systems and infrastructures of the Spanish Air Force secure is like fighting a many-headed dragon. So Col. Fernando Acero Martin, Director of Cyber Defence at the Spanish Air Force, told his audience at the OpenExpo Europe conference last month in Madrid. The solution lies in using Linux and other open source software. Read more