News for hackers. Stuff that matters.

suavesito

I would say it reversed. Technology is _just one_ form of culture.
I think that most people that are "scientific" are unable (because of our education) to _try_ to think about the validity of this way of _understanding_.

I like to think that societies in Latin America (and, importantly, all around the world) survived thousands of years not because of luck, but because the cultures (language, traditions) they developed had ingrained the "scientific knowledge" necessary to survive in the conditions that lived in. An important part of it was that they did not see only as rulers and owners of the world, but only as one part of it. That is one of the basis of what people call magical thinking, but it is sound once you stop disqualifying it just because the word "magical" is in it.

And, I mean, literally, only those who could adapt and understand their world to survive, survived. The knowledge maybe was not as fast evolving as the scientific methods allows to be, but it is, ultimately, the same method. Try, fail, and repeat. Those who were successful survived.

The knowledge ingrained in the culture, traditions and understanding accompanying it was, and _is_, a fundamental part of the solutions that allowed them not to only survive, but to thrive in their environments.

The first comment in this post says that you do not need the culture to carry out the solutions. That may be true, but it does miss that our culture is the strongest (after "basic necessities") incentives we have to choose some things over others. Or understanding of the world is our culture, and our understanding of the world is what makes us take some actions instead of others. You might be able to mimic technical solutions, but to fully understand them, you need the culture that developed them, as it is _literally_ the understanding of the world that allowed the solutions to exist.

Re:Veloren – voxel action-adventure role-playing in Rust on Saturday March 29, 2025 @08:30PM (#43520011)
Yes, just that server and client are very much tied, and we have a release cadence of one new version per week. So, you would need to track the release of each week and compile it, to be able to connect to the official server.
Re:Veloren – voxel action-adventure role-playing in Rust on Saturday March 29, 2025 @06:43PM (#43519391)
The project started, as you stated, as a clone of Cube World (the name CloneWorld was thrown a few times, did not stick). But it was rapidly decided that the direction we wanted was different. Veloren is a look-similar (and I would argue that not that much) of Cube Wolrd, but it is headed in a completely independent direction.
Re:Veloren – voxel action-adventure role-playing in Rust on Saturday March 29, 2025 @05:08PM (#43518753)
Not a coincidence, it was derived from the word!
Re:Veloren – voxel action-adventure role-playing in Rust on Saturday March 29, 2025 @05:07PM (#43518742)
The launcher was there to make it easier to pull the latest build without needing to check if a new version was available. A couple of years back the updates were irregular (sometimes a few days, other more than a week). We regularized the new builds once a week, but, still, the launcher now serves as a way to explore different unofficial or experimental servers that are being available (via registering in the GitLab project).
Re:The Logic of Stupid Poor People (2013) on Wednesday March 26, 2025 @09:34PM (#43489538)
Don't you think this is too short an argument to dismiss an as complex topic as this is?

What, aside from this argument (which I'd like to found an study providing evidence of what you wrote, and one providing evidence of exactly the contrary), you think explains _better_ the observations than their arguments?

You need not to use something expensive, only things that you think _looks_ expensive. But, what looks expensive, if not, obviously, the things that are expensive.

Re:Netflix to invest $1B in Mexico over next 4 years on Thursday February 20, 2025 @08:18PM (#43122918)
Which is a lot, at least in terms or how much you can buy. Mexico is really cheap, compared to USA.
Re:Disney's Mickey Mouse enter public domain on Monday January 01, 2024 @10:08AM (#38832248)
In Mexico you cannot have that, as the constitution says that no right that you had can be taken from you retroactively.

The problem is the Mexico is the most strict country (by law) in copyright terms, which is dead of last author plus 150 years and there is no fair use.

Re:Show HN: Inshellisense – IDE style shell autocomplete on Monday November 06, 2023 @07:06PM (#38171169)
It doesn't work on Windows either... at least by a comment in the issue. I don't have Windows.
Re:Why are you so slow? on Sunday October 29, 2023 @05:36AM (#38057004)
It can explain it. Better training and better equipment are (at least) two variables that improve people timings. Maybe a century ago there was an Usain Bolt, just didn't had neither the proper training, nor equipment, and those low factors avoided better timings.
It works great with wine too.
I've never used it, but (from what I've seen) is a great tool for modeling Voxels.

Shameless plug: The format (and the tool) has been used with great success in Veloren, an Open Source Voxel MMORPG written in rust (https://www.veloren.net/). The artist team has made great assets for the game and landscapes for the release parties.

Your should check out the project, it is really cool.

(Disclaimer: I'm part of the mod team.)

Thus is a great tool, although not FOSS. But I've seen great things made with this, as it is used for Veloren (www.veloren.net), an Open Source (and open assets) voxel MMORPG written in rust. The community has created amazing things for release parties and assets with this. You should check out the project.

(Disclaimer: I'm part of the mod team.)

Re:Wealth Shown to a Pixel Scale on Friday October 20, 2023 @11:20AM (#37957363)
Survivor bias, if you like.
And exactly that is one of the things Julia was designed for, you don't need two languages to get the performance. This allows to have even more flexibility, you can write allocation free, copy free, SIMD code from top to bottom, because it is a single language. That is not possible on other languages, because you have the high-low level language/library distinction. And if you do (JAX?), then you have made what Julia already is, a runtime compiled language, but with its own set of problems.
Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @05:43PM (#37450587)
Thanks for the link! Then I guess there is not a lot more that can be said currently, except that maybe Mojo still needs more compiler work. Still, I prefer how readable is the Julia code. :)
Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @05:24PM (#37450431)
About the show startup times, they have been worked massively in the latest version of Julia. Mainly in version 1.9, which is the first version of Julia that saves native compiled code. You can RAAF more about that in the released blog [1].

On garbage collection and real-time applications, there is this [2] talk where ASML (the manufacturer of photolithography machines for TSMC) uses Julia for it. Basically it preallocates all memory needed before hand and turns off the garbage collector.

On the same more about real-time, if your call stack is all type stable [3], the you can be sure that after the first call (and subsequent compilation), the JAOT compiler won't be triggered.

About static compilation, there are two different approaches * PackageCompiler.jl [4], which is rally stable and used in production today. It has he downside of generating huge executables, but you can do work to trim them. There is still work to do on the size of them. * StaticCompiler.jl [5], which is still in the experimental phase. But it is far from being completely brittle. It does puts several restrictions on the chide you can write and compile with it, basically turning Julia in a static type language. But it had been successfully used to compile linkable libraries and executables.

Some of the concerns you have about usability in your third paragraph have been worked on with the 1.9 and 1.10 (coming) releases. The LSP usage is better thanks to native code caching, maybe you can try it again (of you have time). The debugging experience I honestly think is top notch if you're using Debugger.jl+Revise.jl [6] [7], still I know there are some caveats in it. About stack traces, there is also a more of work done to make them better and more readable, you can read the with done in these PR's [8] [9] [10] [11, for state of Julia talk].

Still, I can understand that Julia might not be able (yet) to cover all the usecases or workflows of different people.

[1]: https://julialang.org/blog/2023/04/julia-1.9-highlights/#cac... [2]: https://www.youtube.com/watch?v=EafTuyy7apY [3]: https://docs.julialang.org/en/v1/manual/performance-tips/#Wr... [4]: https://julialang.github.io/PackageCompiler.jl [5]: https://github.com/tshort/StaticCompiler.jl [6]: https://github.com/JuliaDebug/Debugger.jl [7]: https://timholy.github.io/Revise.jl/stable/ [8]: https://github.com/JuliaLang/julia/pull/49117 [9]: https://github.com/JuliaLang/julia/pull/49959 [10]: https://github.com/JuliaLang/julia/pull/45069 [11]: https://www.youtube.com/watch?v=2D8oRtDJEeg&t=2487

Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @01:18PM (#37447727)
While the second part is true, it is a fundamental restriction because Julia compiles a method until it is actually hit and types are defined for the call stack. In equivalent manner, for StaticCompiler.jl you need a declarations of the methods/symbols you need to export. So, while it is true you need to do an extra step compared with other languages, it is not a fundamental problem with respect to PackageCompiler.jl, but rather a design restriction given how Julia works.
Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @01:02PM (#37447526)
> Beats the fastest Mojo implementation of Mandelbrot by x260 *on the GPU*.

Important detail that it runs on GPU.

Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @12:55PM (#37447439)
I cannot edit my comment, but you're completely right about it being optimised. I will say that I'm not familiar with what idioms might the Mojo compiler be able to optimise better (a problem arising with the Mojo compiler still being closed source, in comparison with the open source nature of Julia), and, in this sense, I don't know if there is more "compiler friendly" code with the same semantics for Mojo that might allow it to get nearer to Julia results.
Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @12:44PM (#37447327)
All the other answers are true. But there is one thing I didn't see people saying. Thanks to the existence of macros, you can create->compile code in runtime. This allows for faster solving of some problems which are too dynamic, thanks to the fast compile times of Julia.

This might sound counterintuitive given that latency is a normal problem mentioned everywhere else about Julia. But, if you think about it, Julia compiled to native code a plot library from scratch in 15- seconds every time you imported it (before Julia 1.9 where native caching of code was introduced, and latency was cut down significantly).

This makes that problems where you would like to (for example) generate polynomials in runtime and evaluate then a billion times each, Julia can generate efficient code for ever polynomial, compile it and run it fast those billion times. C/C++/Fortran would have needed to write a (really fast) genetic function to evaluate polynomials, but this would have always (TM) been less efficient than code generated and optimised for them.

Edit: typos and added some remarks lacking originally

Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @12:28PM (#37447155)
There is a package for Julia that does this, it's called InteractiveViz.jl [1]. It is rally neat and used GPU rendering underneath with (GL)Make.jl [2].

[1] https://github.com/org-arl/InteractiveViz.jl [2] https://github.com/MakieOrg/Makie.jl

Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @10:08AM (#37445630)
Edit: I see your point now. Still, I don't know if there is some specific idiom that the current version of the compiler may optimise better. :)
Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @06:45AM (#37443928)
The example Mojo code does not run the computations with numpy. It uses the extensions of Mojo to do it, testing the capabilities of this extensions, which are the ones who promises the speed up. I must admit otherwise that not a lot of work has been done to optimise it as the optimised Julia version.
Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @06:36AM (#37443895)
Well, it is as simple as that... using PackageCompiler.jl [1] (PkgC.jl). It does create huge executable (you can easily trim them), but those are relocatable and portable between machines as they include most (if not all) of the dependencies needed to run them. They are already used in production in several places. I don't have the link at hand right now, but maybe someone else might jump to give the link to talks given by Chris Rackaukas on this.

From my personal experience. I've done graphical apps in GTK3 in Julia with PkgC.jl cross-compiling from Linux to Windows. And they worked. :)

[1] https://julialang.github.io/PackageCompiler.jl/stable/

Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @06:25AM (#37443850)
I think the commenter refers to the fact that in Julia, code is data, even if it is not represented as lists. This allows the existence of macros, which are syntactic sugar to functions modifying code. Also that most (all?) lisps have multiple dispatch as a fundamental part of the language, and Julia does too.
Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @06:16AM (#37443815)
I think you might not be familiar with the package used to benchmark Julia [1].

It does not fix processes to CPU's, or set kernel governor to performance, and there are fluctuations from usage of the computer. But it does run the function for several seconds and returns the distribution of the runs (the little graphics underneath the benchmarks). It calculates standard deviation and if some runs are too small (sub-nano seconds) it emits warnings saying the results might be caused by inlining and constant propagation.

The differences in runtimes you refer to are from use of different machines or different routines, which is completely expected. They also argue they need to run the Mojo code in the same machine as the Julia code to be able to give meaningful results and comparisons.

While to someone outsider it might be seen as done without care, I can asure you that this people are used to take extreme care on how they do benchmarks. Again, it might just be that you're not familiar with the tooling developed to do it.

I do think there is more benchmarks needed to be done, as the Mojo code hasn't be optimised yet and none in that thread was able to run both the Julia code and Mojo code in the same machine (outside of the OP). But I'm sure this will be done (I guess rather sooner than later). :)

[1] Documentation of the package used for benchmark https://juliaci.github.io/BenchmarkTools.jl/stable/ Here you can find all the information you have said in your comment, and more, about reproducibility of benchmarks in different environments. White paper about the strategies used by the package https://arxiv.org/abs/1608.04295

Re:Julia and Mojo (Modular) Mandelbrot Benchmark on Saturday September 09, 2023 @05:54AM (#37443717)
I think this is a little bit unfair. The comment refers to the Mojo specific use of [], not to regular Python. It also starts saying

> I know I shouldn’t say so but I can’t help...

Remarking that the comment should not be taken too seriously, as it might be inappropriate.

Finally, saying the whole community is condescending given 1 in 32 comments is... a little rounding up from the statistics there.

Re:What’s New in Thunderbird 115 on Monday July 10, 2023 @09:40AM (#36666271)
I think you're thinking of UI. Functionality I categorize it as UX and looking good as UI.

Older »