Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
  • 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, 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

Graphics: DXVK, Nouveau

  • DXVK 1.4 Released With Updates Against Direct3D 11.4, Other Improvements

    In time for any weekend gaming is the release of DXVK 1.4 as the latest big update to this Direct3D 11 over Vulkan implementation to boost the D3D11 Windows gaming performance with the likes of Wine and Valve's Steam Play (Proton). With DXVK 1.4 the Direct3D interfaces have been updated against D3D11.4, the latest D3D11 revision shipped by Windows 10 Build 1903. This update brings new API features but DXVK isn't yet supporting some of the optional features like tiled resources and conservative rasterization.

  • Nouveau Finally Lands SPIR-V Support As Part Of OpenCL Push

    Going back to December 2017 we've been tracking the Red Hat led effort on improving Nouveau's OpenCL compute support that involves adding NIR/SPIR-V support and improvements to the Clover Gallium3D state tracker. To much surprise, this morning the SPIR-V support for this open-source NVIDIA driver was merged for Mesa 19.3.

Noctua NH-L9a-AM4: A Very Low-Profile AMD Ryzen Cooler

At just 37mm tall, the Noctua NH-L9a-AM4 is one of the shortest yet quite capable CPU heatsink fans we have seen yet for AMD Ryzen processors. When looking for a heatsink with a small stature for an AMD APU mini PC build for HTPC / file storage use-cases (more on that build in the next day or two), the Noctua NH-L9a-AM4 fit the criteria and so I went with that given the success with the many Noctua heatsinks we have used over the years. For those potentially interested in the NH-L9a-AM4 for an AMD APU like the new Ryzen 5 3400G or for lower-end Ryzen CPUs, I ran some benchmarks with this cooler. Read more

Programming Leftovers

  • Codementor: Can We Do Machine Learning without python, absolutely No... Read this...

    Python has become, go programming language Around the World. From many Software companies to Consumer-based Companies.

  • Code it, ship it, own it with full-service ownership

    Software teams seeking to provide better products and services must focus on faster release cycles. But running reliable systems at ever-increasing speeds presents a big challenge. Software teams can have both quality and speed by adjusting their policies around ongoing service ownership. While on-call plays a large part in this model, advancement in knowledge, more resilient code, increased collaboration, and better practices mean engineers don't have to wake up to a nightmare. This four-part series will delve into the concepts of full-service ownership, psychological safety in transformation, the ethics of accountability, and the impact of ownership on the customer experience.

  • ML with Python: Part-1

    Now, We are comfortable with Python and ready to get started with Machine Learning (ML) projects. But, Where to go next? Can we directly dive into coding ML projects? Please follow along to know the answer.....

  • Simple rules of good programming

    Hi guys, I work as a programmer for more than 15 years and was using many different languages, paradigms, frameworks and other shit. And I want to share with you my rules of writing good code. [...] Code review can be as good as it can be bad. You can organize code review only if you have a developer who understand 95% of the code and who can monitor all updates without wasting to much time. In another situation, it will be just time consuming and everyone will hate this. On this part got too many questions so describe this more deeply. Many people think that code review it’s a good way of teaching new guys, or teammates who work on a different part of code. But the main target of code review it’s maintaining code quality, and not teaching. Let’s imagine that your team making code for controlling a cooling system for nuclear reactor, or space rocket engine. And you made huge mistake in very hard logic, and then you are giving this for code review to the new guy. How do you think what would be the risk of an accident? — On my practice more than 70%. A good team is where each person has own role and responsibility for the exact piece of work. If someone wants to understand another piece of code then he goes to a person responsible for it and asks her. Impossible to know everything and better excellent understand a small piece of code than all but on 30%.

  • Hone advanced Bash skills by building Minesweeper

    I am no expert on teaching programming, but when I want to get better at something, I try to find a way to have fun with it. For example, when I wanted to get better at shell scripting, I decided to practice by programming a version of the Minesweeper game in Bash. If you are an experienced Bash programmer and want to hone your skills while having fun, follow along to write your own version of Minesweeper in the terminal. The complete source code is found in this GitHub repository.

  • Java 13 Delivers Features That Improve Productivity, Efficiency

    At its CodeOne conference, Oracle explains how the rapid release cycle for Java has yielded innovation, as Java SE 13 is officially launched.

  • A Novel About Java & Open Source – Meet The Author Of “Emmy In The Key Of Code”

    “Emmy in the Key of Code” is novel written by Aimee Lucido, a software engineer who works at Uber. It’s about Java and music. Oracle invited Lucido to speak at the Oracle OpenWorld/Code One event. We sat down with her to talk about her book and what inspired her to write it.

  • Intellectual property Law and Coding

    In the world of software, good code is a necessity, and great code can make the difference between a startup succeeding and failing. But how do you protect coding innovations that may be novel or unique? Intellectual property law, or IP law, is the main legalistic framework that can answer many of those questions and more. Any business, and perhaps more crucially, any individual coder, should be aware of their options when it comes to maintaining the rights to their work. Here, we delve into some of the most important things to know about IP law and coding.

LLVM 9.0.0 released

It's my great pleasure to announce that LLVM 9 is now available. Get it here: This release is the result of the LLVM community's work over the past six months (up to trunk r366426 plus commits on the branch). Some highlights include: - Support for asm goto, enabling for example the mainline Linux kernel for x86_64 to build with Clang - The RISCV-V target is no longer experimental, but built by default - Experimental support for C++ for OpenCL as well as many bug fixes, optimizations, and diagnostics improvements. Read more