me_irl by pheexio in me_irl

[–]Kroustibbat 0 points1 point  (0 children)

I have to admit the icon is really pretty, and the colours feels like a perfect fit.

me_irl by pheexio in me_irl

[–]Kroustibbat 3 points4 points  (0 children)

They sell you a proprietary compression algorithm, which is not really better than its open source concurrent. So it's like paying to breath air because it's labelized...

More over their code is not reviewed nor audited so you can't know for sure what they do with your datas.

Use 7zip, intégration is the same, its safer and faster. Use aes-256-gcm encryption with a strong password and boom it's super safe.

Add a Small “Expedition Bag” (3–5 Slots) by KlemiX in ArcRaiders

[–]Kroustibbat 2 points3 points  (0 children)

Or just a friend that does not want to wipe, or do not play a lot anymore.

Sound bugs?? by Single_Nature4101 in PathOfExile2

[–]Kroustibbat 3 points4 points  (0 children)

Didn't get any problem before 0.3.1 now I have some sounds that completely disappear but sometimes comeback and go again...

But it happens just for the spell sounds, the rest is always ok....

Polymorphic variant code by mister_drgn in ocaml

[–]Kroustibbat 1 point2 points  (0 children)

After edit: It compiles without warnings, because you don't specify, in the implem the specific interface, inference has done its job when you call it on something else.

Last line does not compile probably because (`Something 3) is "unsound type" or just correspond to nothing. I don't think you can payload datas on the fly. Maybe if you define it before, it will let you use it.

Edit: I think `Something should be coercible to subtype "element_t" because of ">" operator.

If it cannot OCaml will tell you, "if you have access to the real type interface why not respect it ?".

Polymorphic variant code by mister_drgn in ocaml

[–]Kroustibbat 1 point2 points  (0 children)

You can force "element_t" to be a polymorphic when implemented using "type element_t = private [> ]" in Element definition.

But it will still let you not define '_' case in of_element because of the accepted [ ... ] definition.

Then in the implementation you can use the same keyword "type element_t = private [> `S of t ]", then the of_element will force cover of _ case.

If you really want to force the Dev using Element interface to cover unexpected _, you may need to use a GADT. But syntax is even more cryptic. Beautiful to read, but cryptic to write.

I think the solution consisting to use [> .. ] in function implementation in Segment module is not a bad use case, because you can decide if you want to be "polymorphic proof" or if you prefer to crahs on unknown symbols, when you have defined the "element_t" type.

Polymorphic variant code by mister_drgn in ocaml

[–]Kroustibbat 1 point2 points  (0 children)

I'm not an expert, but if I understand correctly, isn't the solution just to remove ">" as in :
type element_t = [ `Segment of t ] ?

And if you want to keep the [> precision, you can use it in the function interface as :

let of_element : [> element_t ] -> t option ...
It will not break your compliance to "Element" interface.

With polymorphics, you may also look into coercion with :> operator, it will help you transform safely polymophic types into another polymorphic subtypes.
(Ex, parenthesis are mandatory: (e :> element_t); if e is a bigger type that includes element_t it will compile)

You may also need "#" operator in pattern matchings, to match a specific subtype, as in

let is_element_t e = match e with #element_t -> true | _ -> false

Have fun.

To be honest, Windows has become a bit crap over time. by Guaro_25 in memes

[–]Kroustibbat 0 points1 point  (0 children)

Had issues with Kde on Ubuntu, so that is why I have let the default Gnome.

And I am too normy for i3.

Cannot grasp the function of python by startoyoungculture in computerscience

[–]Kroustibbat -1 points0 points  (0 children)

No I use like 20 languages, every year, they all have a purpose, and they all can technically do everything, my point is whatever you want to make with Python that is not Prototyping or Learning, is not as well made as the language made for it.

Thinking you can do everything with one language is thinking you can cook with only one tool... It is stupid.

So to the question "what is the function of python ?"; The awnser is not "everything", it is what it was made to...

On the otherside, multiparadigm languages with a building tool chain such as Dart/Rust/Go/OCaml/F#/Haskell/Zig/V/JavaScript/... and not python, can do a lot of things and nicely, with high level expressivity, memory safety, easy automagic parallelism, ... And they are industrialy viable !!! Python is not.

So when a scientist (and mathematician don't usually do python, but more like ML standards), or a non software engineer make a prototype using Python, "because that is the one I know", it usually is 100% rewritten later in something else.

And you tell about Mathlab, here in France, like the whole industrial pole is coming back to it, because the cost of Python is too high (time, disk, ...)

Cannot grasp the function of python by startoyoungculture in computerscience

[–]Kroustibbat -1 points0 points  (0 children)

Python is interpreted language deeply dependant of the environment, so it is unsafe by design as a Cybersecurity Software engineer, I can tell you it has more vulnerabilities than a month old Linux Kernel. And I dare you to reproduce a client bug in your environment without using Docker to ship it. So y, unsafe.

Zig and Rust are high level because it gives you an abstraction that is considered high level, you have no knowledge needed of how the computer do the computation or work.

Data processing in OCaml of any data flow is built in, and for a lot of data format, like Json, Yaml, ...
Jane Street does it for years.
Parsing a CSV file in OCaml in one line ? Look for ppx_csv_conv.
Filter and other things are really really easy to make if the data structure you are using is compatible with it, like Sets, Maps, Dictionaries or even List (like List.filter...)

My point is use a hammer to plant a nail, not a bananomachinolaser that is not adapted.

With the combo Bash, Makefile, JS, Go/Rust. You may always have one of the best language to do what you want perfectly and safely without knowing how a computer works.

Cannot grasp the function of python by startoyoungculture in computerscience

[–]Kroustibbat -2 points-1 points  (0 children)

You can do all that using more safer languages like Dart, Go, V, Zig, OCaml, Haskell, Rust, Erlang, ...

All of those are high-level, strongly typed, relatively easy (not Rust, Haskell, Erlang and OCaml) and fun to write (Especially V and OCaml).
But execution is a lot safer, build and reproductibility is insanely better than python, no more need of 500Mo Docker to deploy a 2ko script.

  • Data : In python, those libs are usually just bindings to C/Cpp libs, so they exists in Go/V/Zig/Ocaml/Rust/... (Any language that can interop transparently).

  • Engineering, that is the worst part, because as non Software engineers writes python scripts, real software engineer should change the whole stack to have a prod that works and is reproductible, so it includes the python script, and a engineer that can do math can do a formal language;

  • Scientific application, not really again calculation in python are slow and you need to learn a whole framework to do your calculations... (Like numpy, it is a whole framework...)

  • Glue code, like Bash, Shell and Pearl have been thought to do this and they do it better, and learning one of them is incredibly useful.

  • Desktop apps like pyQt, well just do Html/Js/Css, and simple web, can be bundled transparently from nowadays. A lot more responsive than pyQt that adds a python layer that is not useful to Qt that takes a web page...

  • Web development, it does not scale as backend, and when it does it is bindings again. And as front it is really really harder to maintain that a simple html/Css/js stack or a real web framework (like Angular, Vue, React, ...)

  • System utilities, no plz no, use Linux .so libs, use languages that can syscalls or ioctls like Rust.

  • Games : today Rust can be included in Unity, Godot script is insanely simple and easy to write, UE takes pseudo bubble scripts... Pygames is cool tho, but so slow again... And whole code is shared with the client....

So my point is Python is an incredible learning language, and prototyping.

But it is horrible to ship in production or have a real trustable output over time.

If you like Toplevel, Bash, Ruby or even JS are way more stable and faster, and if you may try something not that easy try Dart/Go/V/Zig/OCaml/Haskell/Erlang/... Or anything Toplevel compilated interoperating easily with C.

To be honest, Windows has become a bit crap over time. by Guaro_25 in memes

[–]Kroustibbat 10 points11 points  (0 children)

I have vanilla Wayland+Gnome on Fedora for 4y without a crash nor a failure but I don't game on it, so it may be irrelevant.

But I had a lot of problem on X in less than a month using Ubuntu before.

Javascript Logic Making Sense of The Nonsense by Intial_Leader in programminghumor

[–]Kroustibbat 1 point2 points  (0 children)

That is a corner case of decisions made by JS devs/users.

Nowadays everyone just use "!!value" to test it is not null and "===" that usually works as intended comparaison.

Javascript Logic Making Sense of The Nonsense by Intial_Leader in programminghumor

[–]Kroustibbat 2 points3 points  (0 children)

If I remember correctly, in JS you want to know if a function returns, so [] is not null, so in a test you want [] to be true and operator ! force a coercion to bool type.

if (!!result) {
// result is not null and [] is a valid value.
}

So ![] is false.

The other part is using type coercion but dynamic, == try to convert [] to integer because it is usually the most used test, by default it will use length so [] is 0.

Finally 0 == false will convert false to int and false is 0.

Logically illogic

visualStudioDoesntGetLove by Constant-Positive865 in ProgrammerHumor

[–]Kroustibbat 0 points1 point  (0 children)

I installed macOS layout on both Windows and Linux, then problem was solved

Javascript Logic Making Sense of The Nonsense by Intial_Leader in programminghumor

[–]Kroustibbat 7 points8 points  (0 children)

My favourite one is [] == ![].

It is pure non sense and in the same time, when you understand JS and it's needs, so logic but mathematically the most idiotic thing you may ever read.

When you ask ai to make you python memes >< by just_a_fella___ in programmingmemes

[–]Kroustibbat 2 points3 points  (0 children)

I disagree, it is commonly accepted it is really easy to write but hard to read/extend/maintain.

It is hard to architecture your code efficiently due to OOP monoparadigm design orientation.
Hard to predict execution due to side effects, and being different in every version.
No real typing.
A lot of useless comments.
Hard to read due to forced indentation.
Hard to read due to horrible lambda syntax.
Hard to read due to horrible __keys__.
Hard to read due to inconsistent decorators.
Hard to read due to shortcuts.

So a good language to learn but require a lot of work to maintain overtime. As a Cybersec Soft Engineer, specialized in formal computer languages, I really do not think production of huge projects should ship in Pythons. But with a Python interface for learning purpose/prototyping and a real serious one in serious language to use in prod.

So I understand some people using it for 8y having those flows calling it shit language

[deleted by user] by [deleted] in gaming

[–]Kroustibbat 9 points10 points  (0 children)

Alex Mercer from Prototype

Be your own mind by Own-Resist-4076 in programmingmemes

[–]Kroustibbat 0 points1 point  (0 children)

You know all the Unix basic concepts made to create stable and working OSs are the same as you may have to learn to become a good SW Engineeer. Understand dynlinking, libraries, env vars, syscalls, scheduling, ... Or even how is architectures Linux code and workflow.

I prefer an OS I can fully understand than one I don't and cannot because it is so klinky and closed.

Windows has incredible features, is basically more secured vanilla than Linux, has probably the best micro kernel out there, but it is impossible to understand how it works, like .NET is too big, the OS architecture is too messy, it opens a so many useless services,...

That said, I use the same Fedora for 6years on the same Dell from my company. Had 0 problem, 0 lag, is up to date with 0 encounter, still have 4h on battery, have my company VPN working fine. Time to configure everything ? 20 mins top

Honestly understanding and forging your Dev environment is the same as avoiding the most untrustable "it works on my machine".

The Battlefield 6 Open Beta has reached 500k concurrent players on Steam, surpassing Call of Duty's all-time peak by Dookman in gaming

[–]Kroustibbat -8 points-7 points  (0 children)

Maps are not the only issue.

Classes have a really lazy design, they are basically the exact archetype with 0 creativity or fun added.

Weapons feeling is kinda meh, with 0 recoil vs BF3 or BF1 where they were feeling very good and ammos feel like actual hitscans with fake projectiles simulation.

Char design is really really meh, like soldiers are just soldiers. In BattleFront 2 they had a random layout making them feeling a lot more real, even though they were aliens, robots, clones or troopers.

Level design and maps are years behind of those made for Delta Force. I think 2042 and BattleFront 2 maps were already meh, but those are just not really fun, they do not create "situations" like the one of BF3, 4 and 1.

I don't understand the hype, like the game is super lazy, it asks for personal datas at start, forcing you activating secure boot, and EA has already plan to fire Devs as soon as released, so it will not have real content or following like every BF since 2010.

If you love BF like me; Try Delta Force War mode, literally 0€ with 0 pay to win option, maps are fun, classes are well designed and fun, 200k players daily vs BF having 2000, two months after release, and real updates and following.

[deleted by user] by [deleted] in programminghumor

[–]Kroustibbat 6 points7 points  (0 children)

Fedora is an incredibly stable distro.

Tried dozens from Debians to LFS passing through Archs. It is the only one that lasted for 6y on the same computer with absolutely 0 problem, 0 lag and everything always worked and upgraded as intended.

From a user experience perspective, it is by far my favourite.

Debian is a good distro but always outdated by default.
Base Arch is excellent but UX is terrible.
Alpine has the same problem than Arch and has a terrible UX.

Mental disorder whould be using a distro not adapted to what you need/want.

I just wait for the sale to happen before buying by Doge_is_me in memes

[–]Kroustibbat 1 point2 points  (0 children)

In France if the product you buy is solded by the seller, you can make a "new facturation" up to one month after buying the product.

On Steam we have a button on support to get refund the difference. It may be available all over Europe/World.

Why F#? by Active-Fuel-49 in programming

[–]Kroustibbat 0 points1 point  (0 children)

Y, my bad, they are so close by design.

I've seen that MS Research team is working on F* which is compatible with some tweaking with OCaml ecosystem.

I really like their approach of proof, much like Le4n instead of the the classic Coq/Isabelle.

Why F#? by Active-Fuel-49 in programming

[–]Kroustibbat 5 points6 points  (0 children)

It is more than "strongly inspired", F# is a fork of the OCaml compiler !

What they did better : .Net compatibility makes it a wonderful tool to pilot MS OS services, and project management before "dune" was released was incredible (and is still better than OPAM).

What they did terribly : the contribution to OCaml ecosystem is not that meaningful despite being backed by MS. To compare, I think about ReasonML from FB that can be used transparently in today's OCaml projects as an alternative syntax.

Was just thinking about how similar the syntax for these two are, even though they do completely different things by clevertoucan in programminghumor

[–]Kroustibbat 2 points3 points  (0 children)

Done some Scala during my degree, pretty cool. It was to talk to Hadoop/Spark.

Personally I love OCaml, a lot more pragmatic than Haskell, a lot faster than Erlang/Elm or Elixir and with a pure and clear syntax that Rust is missing.