News for hackers. Stuff that matters.

sysrpl

Re:Yes, you can create a lot with Pascal Today on Thursday October 22, 2026 @10:43AM (#50196107)
Hello everyone, this is sysrpl, the maintainer of www.getlazarus.org. I have released several major updates for Free Pascal over the past week, including some games, and thought you might be interested in taking a look at what is happening with the compielr and what Pascal can today today,

First, as an example here is a small game I wrote using my Pascal toolkit that has been in the works for many years. It mixes 2D and 3D, features a fairly complete, skinnable vector UI widget set, runs on Windows, Linux, macOS, and Raspberry Pi, and can even run on a bare bones system without a display manager. It is essentially a free demo of a simple project featuring rich text interspersed with animation, sounds, and effects.

https://www.getlazarus.org/codebot/cardgame/

We have been working of finally supporting of dynamic packages for FPC and Lazarus and released our first public version earlier in the week. You can read about dynamic packages here:

https://www.getlazarus.org/dynamic/

My personal Tiny.Sim game engine has been greatly enhanced and incorporated into a single library called the Codebot Library. It includes many features of interest to game developers. The 2D physics system is bug free and quite complete. It supports all kinds of audio files and formats and includes my vector UI toolkit. Several demos are available when you install the IDE. The library supports both a mix of LCL controls and pure SDL game development. You can read about it here, along with a huge reference system to help you learn:

https://www.getlazarus.org/codebot

My personal game Obliterate was written in Pascal using this library:

https://cache.getlazarus.org/videos/game-demo.mp4

Other features of interest include a unified theming system for the Lazarus IDE and your desktop applications on both Windows and Linux:

https://www.getlazarus.org/forums/topic/5/

There are also new shell controls for Windows users. I first published this library in 2007, but it has been greatly enhanced with new COM interfaces for Windows.

https://www.getlazarus.org/codebot/reference/?page=codebot_w...

Other features include modern web browser controls for Windows, Linux, and macOS, networking utilities, additional graphics features, JSON and XML support, cryptography, and string handling libraries.

Everything is free and open source. Very soon we will be releasing version 6.0 of the IDE, so keep a look out for that in a few weeks and thank you for reading.

Re:Free Pascal compiler now supports dynamic packages on Monday October 19, 2026 @07:14AM (#50150952)
My website has been hosting downloads with alternate versions of the compiler and ide for nearly 15 years now. I also have published JsonTools, BareGame, TinySim, the original Shell Controls, and lots of other packages for the Lazarus community. The install scripts at https://www.getlazarus.org/setup simply download a seed compiler, the sources, and builds, while making certain it does not interfere with user's existing setups by restricting configuration settings to your chosen install folder. In other words, you can run my version and your existing version at the same time without any problems, and if you don't like my version the uninstall process is to delete a folder, and perhaps a shortcut if you copied it anywhere.
Re:Free Pascal compiler now supports dynamic packages on Sunday October 18, 2026 @04:56PM (#50145404)
That feature you mentioned was added by the Delphi team in support of closures. They way they developed it was jankey IMO, as it creates an interface behind the scenes and populate with information about the local stack.

Though I do very much appreciate C#, with its lambda functions, expression trees, and especially the tooling, Free Pascal and Lazarus exist as a happy compromise between those things and native code integration, where working with C libraries like libcairo, libxml2, libssl, libsdl, and opengl are much easier and a pleasure to work with when using Free Pascal, and conversely are more difficult to wrangle when using C# or Java.

Re:Free Pascal compiler now supports dynamic packages on Sunday October 18, 2026 @04:28PM (#50145164)
I have been running the website getlazarus.org for 13 years to support add features to both FPC and Lazarus that jump ahead of the normal releases. We have been working of dynamic packages for a long time, and there will be a period between now, and when it is sent as a MR back into the mainline. When enough time has passed and feedback given these features are typically rolled into the main release, and at getlazarus I move on towards developing the next features.
Re:Free Pascal compiler now supports dynamic packages on Sunday October 18, 2026 @03:27PM (#50144429)
Thank you. This has been a long time coming, perhaps 20 years in the making. I realize people are moving on to newer languages and frameworks, but there is just something special about older versions of Delphi and now Lazarus that makes it so much easier to write desktop software than most other frameworks. You can just drop components on a form designer, press run, and in a second's time you have a program. Of course there is more to it than that, but with dynamic package support, users can make or use components even faster as they no longer need to rebuild the IDE to install or uninstall native code.
Re:Free Pascal compiler now supports dynamic packages on Sunday October 18, 2026 @02:48PM (#50144067)
I am pleased to announce the first release of full dynamic package support for the Free Pascal Compiler and the Lazarus IDE. This feature has been a long time coming for the FPC ecosystem and has taken more than 20 years to realize through the work of many FOSS individuals.

Dynamic packages allow programmers to create and install components, controls, and Lazarus extensions in seconds without rebuilding the entire Lazarus IDE. They can also be used in by Free Pascal programmers to develop and deploy plugins that expose native Pascal classes and types through dynamic package libraries. To support this functionality, I have made numerous improvements to the compiler, its runtime, and the Lazarus IDE. I have also created additional IDE extensions to improve the experience of working with Lazarus packages. Read more at the link above.

Re:Design for 3D-Printing on Sunday May 04, 2025 @05:09PM (#43889611)
It's super easy to design using OnShape. Hit me up with private message and I will show you everything you need to model 3D printable parts in under 5 minutes.
Re:What is the list of websites you like? on Sunday March 10, 2024 @01:59AM (#39657256)
The website zombo.com is actually quite relaxing. I spend a few hours each day visiting it.
Re:jQuery 4.0 99% Complete on Sunday October 29, 2023 @02:58PM (#38061514)
Is it that hard to:

    document.querySelectorAll("#some-form input").forEach(e => e.classList.add("error"));
Re:Did ChatGPT just form a thought? on Tuesday January 10, 2023 @04:18PM (#34331651)
That is common at the moment. Their servers are overloaded due to the wild popularity of ChatGpt and often the session will just "break", erasing any context or learning it had acquired in your session. You must then start over.
Re:A Guided Introduction to the Free Pascal Language on Wednesday December 28, 2022 @07:30AM (#34160359)
Free Pascal was originally derived from Object Pascal and later Delphi, both of which added more object oriented programming features to Pascal. Additionally, it supports some of the more advanced features introduced to Pascal with later releases of Delphi including managed types, interface types, operator overloading, generics, implicit and explicit conversions, extension properties and methods, as well and user defined initializers and finalizers for your custom types, and more.

I could write an article about each of these features, but in summary they each are powerful and help users write more useful programming code when leveraged correctly.

Re:Released Today: C#11 and Dotnet 7 on Tuesday November 08, 2022 @11:19AM (#33520677)
Today Microsoft released the next version of dotnet, known as dotnet 7. It includes many enhancements including new language features to C#, which they are calling C# 11.

You can download the release of dotnet 7 here:

https://dotnet.microsoft.com/en-us/download/dotnet

Is an unknown MDM Certificate on a used iPhone a security risk?

Recently I bought a used iPhone for my daughter. After a factory reset, I went into its settings and noticed it still has an MDM certificate installed from the previous owner. For whatever reason, I am having difficulty removing this certificate and I would like to know if leaving this certificate on this iPhone would pose any danger, such as a remote takeover or leaking any of my daughter's...

( Read More... | 1 comment | on HN )
Re:Future Pinball – A Real Time Pinball Development System on Wednesday October 19, 2022 @07:33AM (#33260612)
Do you guys plan on out of the box support Linux with VPE?
Re:Future Pinball – A Real Time Pinball Development System on Wednesday October 19, 2022 @07:31AM (#33260587)
Why is this on hackernews right now? It's an old program, closed source, hasn't been updated in ages, and the author abandoned it long ago because he doesn't like people using it to recreate tables. This seems like a shameless plug indeed.
Re:Rendering my (billiard) balls in a fragment shader on Sunday September 11, 2022 @04:13AM (#32797765)
I've always though about that fact myself. Can somone find the answer to why didn't the GLSL designers / video card driver people make PI built into their language?
Re:Rendering my (billiard) balls in a fragment shader on Sunday September 11, 2022 @04:11AM (#32797756)
It can be incorporated into a 3D scene as long as you can make a square billboard . You may have problems with clipping that' you need to address manually, but it might be worth it as you can get better visuals, assuming you are trying to render spheres.

As far as I know there shouldn't be any distortion issues. A sphere will always look like a circle from any perspective. Well that is unless it's really really big or your are really really tiny and you give the size difference you are relatively close to its surface. At that perspective it just look like a flat plane.

Re:Rendering my (billiard) balls in a fragment shader on Sunday September 11, 2022 @04:03AM (#32797720)
With a good phong it's all about the dot products and specular highlight (if you using highlights). Make sure you clamp the dot products and give yourself a minimum ambient light value of around 0.15 to 0.2.
Re:Rendering my (billiard) balls in a fragment shader on Sunday September 11, 2022 @03:59AM (#32797693)
That's very interesting. Thank you for the link. From what I read and see in the images, I gather he's done the same thing I have, as you guessed as well. Obviously he's going much further. The author is using a subtle bump map (simulating balls scratches and imperfections), a reflection map with a gradient and indecent angle, what looks to be a faux sub surface scattering effect.

Also he is placing his balls in a 3D environment with nice shadows that really help to sell the illusion.

That's a good find and an interesting read. Thank you.

Re:Rendering my (billiard) balls in a fragment shader on Sunday September 11, 2022 @03:24AM (#32797536)
I was around and writing OpenGL when we started getting the first programmable cards. Nvidia shot out first with their Cg language, but I held back and waited for the "Orange Book" to come up. I bought it right away and learned from it and by looking at other peoples shaders.

https://duckduckgo.com/?q=opengl+orange+book

Also the quick reference card helps

https://duckduckgo.com/?q=glsl+quick+reference&t=h_&ia=web

Re:Rendering my (billiard) balls in a fragment shader on Sunday September 11, 2022 @03:05AM (#32797464)
Well first of you get infinite smoothness and better lighting (and reflections if you add them) because there is no underlying geometry. It's just math. It's also much faster, as you're only giving the GPU four vertices defining the square. This can even be sped up further by using point sprites which consume only one vertex.
Re:Rendering my (billiard) balls in a fragment shader on Sunday September 11, 2022 @02:48AM (#32797394)
Lol, wow what a find. You notice the details. I corrected it. Thank you.

Older »