Latest Comments by monnef
Guide a robot with simple programming in "Robo Instructus", out now
19 Jul 2019 at 5:08 am UTC
I strongly recommend to use a book (e.g. free LYHFGG [External Link]) or follow other form of structured learning, because (pure) FP is very different and many abstractions are built on top of previous ones, so you should learn them in order.
When selecting what project to do in Haskell, I would recommend picking something Haskell has good support for (take a look at State of the Haskell ecosystem [External Link]).
PS: I am sorry, I tend to conflate terms FP, pure FP and "Haskell FP" while technically there are differences.
19 Jul 2019 at 5:08 am UTC
Quoting: ScooptaI would agree with that. At least in the case of learning Haskell, in most cases it forces you to do it the FP/Haskell way, because other approaches are in Haskell usually more complex while the FP way is (usually) very short. I think knowing how FP works, what's are its advantages and downsides, getting the intuition where it would be beneficial to use it, is overall a useful knowledge. In many mainstream languages you can use FP approaches which usually results in great "testability" (pure functions are trivial to write tests for), less bugs and easy(ir) parallelization (no uncontrolled mutations from many places - immutable data structures).Quoting: monnefI've also heard than learning a functional language is really helpful and can make you a better programmer,Quoting: ScooptaReally cool projects you have there :wub:. Mine are nowhere near as catchy - few small TypeScript libraries adding FP stuff, tool for creating Scala skeleton files from class diagrams from Dia (editor), currently working on a gallery webapplication (in Haskell and Reason). My esoteric language is probably the most cool thing - it's loosly based on physics of a falling orb trigerring instructions (example [External Link]).Quoting: monnefI've avoided Haskell because it hurts my brain to look at. Not in the "I want to conquer it sort of way" but in the "run away in terror" sort of way. I'm really comfortable with imperative languages though so I usually do crazy things with them to challenge myself instead of trying to take on the beast that is functional programming. I write stuff like OpenGL game engines, amd64 kernels, lots of random Wayland utilities, a Java library that basically does what JNA does but without JNA because reasons. I wrote a semi-functional GObject Introspection parser for Java, the list of random things I work on is pretty open ended.Quoting: ScooptaI usually find working on my toy projects relaxing. It didn't really happen to me with other languages (I somewhat knew quite a lot different langs, e.g. C#, JavaScript, Java, Scala, bit of PHP) until I started learning Haskell. That was/is a roller coaster of frustration (what the hell is IO for? why is compiler inferring such weird types? how can I connect two monads? why multiple records can't have field with a same name? why compiler reports error in an end of a do block when the error was in the beginning of the do block? what this cryptic error from lens mean? why adding headers to an endpoint changes type of whole API?) and satisfaction (I finally chained monads with various operators correctly on a first try. this rewrite to monad transformers simplified this huge chunk of code a lot. after searching hoogle a bit I was able to simplify my code from several long lines to one short line making it elegant and beautiful). I really like Haskell, there is always next thing to learn, next challenge and when I conquer it, I am really happy and proud which doesn't happen to me (not in such big way) in any other mainstream language I write in for a living.Quoting: EikeI don't program for work so my deadlines are self imposed lol.Quoting: ScooptaProgramming is always relaxing:-D
... except you got a deadline.
Or a heisenbug.
Or...
To the topic of functional programming and Haskell, I strongly believe learning basics of Haskell is beneficial for all programmers. I would recommend it to all hobbyists, to all people interested in programming. To stress it: I mean learn basics, get a grasp of basics of FP, not start using Haskell for everything (that's not practical at all). I feel it is a common misconception to consider Haskell to be complex, it is entirely false. The base language (without extensions) is very simple, compared to Java, C# or JavaScript, Haskell is a micro language. Its power comes from being designed in a way that many features (much more than in mainstream languages) are composable and interact well together, the hard learning curve comes from non-C syntax, common use of symbol operators and mountains of available abstractions interacting together (which is not the same as a language, majority of basic abstractions [data types, operators, flow control] are in a standard library which user doesn't have to use, and of course myriad of libraries outside standard one). Good thing is, you don't need to learn many abstraction to start writing simple programs. Frankly, I believe most programmers encountered many of these abstractions already, they just don't know they have a name and are using them rather intuitively in other languages (e.g. string is a monoid; promise/future and list are monads and so on). It is also worth noting, that many functional features are being smuggled to mainstream languages at a steady pace, e.g. pattern matching, lambdas, algebraic data types, generics, maybe/option/optional monad, immutable datastructures, "do" notation.
In my case I love how Haskell is concise, how nicely most of the things in the language work together. To learn new concept in Haskell, truly fully understand it, the final "click" is for me more rewarding than solving any other puzzle.
You might be interested in looking closer at Rust [External Link]. I read about it just briefly, but IIRC it is a modern language which is closer to hw, has solid predictable performance, but also supports many functional features. Someone higher mentioned even this game is written in Rust. :D
Quoting: ScooptaI've made a few attempts here and there but usually never stick with it long enough to make anything but the most basic stuff. It sort of feels like I'm re-learning how to program which makes it a bit of a chore.Yeah, I fully understand what you mean :D. I have been starting learning Haskell so many times. It is definitely a lot different way of programming. Curious thing is, I read about a study and it suggests non-programmers are able to learn programming in FPL quite faster (I think ~1/3 faster) than in imperative language. But from testimonies of virtually every programmer learning Haskell, it is quite the opposite for imperative (usually OO) programmers trying to learn (pure) FP.
I strongly recommend to use a book (e.g. free LYHFGG [External Link]) or follow other form of structured learning, because (pure) FP is very different and many abstractions are built on top of previous ones, so you should learn them in order.
Quoting: ScooptaUnfortunately when I pick up new languages it's usually to write something at least somewhat useful and since pretty much all languages are extremely similar it's pretty easy to do. My big roadblock with FP is that I have to sit down to learn a language that won't immediately be useful and I need to find a way to stick with it anyway.Oh yes, it takes a strong determination. I remember my first toy projects in Haskell, it was very hard to continue working on them for hours, knowing I would have had it finished in other languages I know in 5-10 minutes.
When selecting what project to do in Haskell, I would recommend picking something Haskell has good support for (take a look at State of the Haskell ecosystem [External Link]).
PS: I am sorry, I tend to conflate terms FP, pure FP and "Haskell FP" while technically there are differences.
Guide a robot with simple programming in "Robo Instructus", out now
18 Jul 2019 at 1:34 pm UTC Likes: 2
To the topic of functional programming and Haskell, I strongly believe learning basics of Haskell is beneficial for all programmers. I would recommend it to all hobbyists, to all people interested in programming. To stress it: I mean learn basics, get a grasp of basics of FP, not start using Haskell for everything (that's not practical at all). I feel it is a common misconception to consider Haskell to be complex, it is entirely false. The base language (without extensions) is very simple, compared to Java, C# or JavaScript, Haskell is a micro language. Its power comes from being designed in a way that many features (much more than in mainstream languages) are composable and interact well together, the hard learning curve comes from non-C syntax, common use of symbol operators and mountains of available abstractions interacting together (which is not the same as a language, majority of basic abstractions [data types, operators, flow control] are in a standard library which user doesn't have to use, and of course myriad of libraries outside standard one). Good thing is, you don't need to learn many abstraction to start writing simple programs. Frankly, I believe most programmers encountered many of these abstractions already, they just don't know they have a name and are using them rather intuitively in other languages (e.g. string is a monoid; promise/future and list are monads and so on). It is also worth noting, that many functional features are being smuggled to mainstream languages at a steady pace, e.g. pattern matching, lambdas, algebraic data types, generics, maybe/option/optional monad, immutable datastructures, "do" notation.
In my case I love how Haskell is concise, how nicely most of the things in the language work together. To learn new concept in Haskell, truly fully understand it, the final "click" is for me more rewarding than solving any other puzzle.
You might be interested in looking closer at Rust [External Link]. I read about it just briefly, but IIRC it is a modern language which is closer to hw, has solid predictable performance, but also supports many functional features. Someone higher mentioned even this game is written in Rust. :D
18 Jul 2019 at 1:34 pm UTC Likes: 2
Quoting: ScooptaReally cool projects you have there :wub:. Mine are nowhere near as catchy - few small TypeScript libraries adding FP stuff, tool for creating Scala skeleton files from class diagrams from Dia (editor), currently working on a gallery webapplication (in Haskell and Reason). My esoteric language is probably the most cool thing - it's loosly based on physics of a falling orb trigerring instructions (example [External Link]).Quoting: monnefI've avoided Haskell because it hurts my brain to look at. Not in the "I want to conquer it sort of way" but in the "run away in terror" sort of way. I'm really comfortable with imperative languages though so I usually do crazy things with them to challenge myself instead of trying to take on the beast that is functional programming. I write stuff like OpenGL game engines, amd64 kernels, lots of random Wayland utilities, a Java library that basically does what JNA does but without JNA because reasons. I wrote a semi-functional GObject Introspection parser for Java, the list of random things I work on is pretty open ended.Quoting: ScooptaI usually find working on my toy projects relaxing. It didn't really happen to me with other languages (I somewhat knew quite a lot different langs, e.g. C#, JavaScript, Java, Scala, bit of PHP) until I started learning Haskell. That was/is a roller coaster of frustration (what the hell is IO for? why is compiler inferring such weird types? how can I connect two monads? why multiple records can't have field with a same name? why compiler reports error in an end of a do block when the error was in the beginning of the do block? what this cryptic error from lens mean? why adding headers to an endpoint changes type of whole API?) and satisfaction (I finally chained monads with various operators correctly on a first try. this rewrite to monad transformers simplified this huge chunk of code a lot. after searching hoogle a bit I was able to simplify my code from several long lines to one short line making it elegant and beautiful). I really like Haskell, there is always next thing to learn, next challenge and when I conquer it, I am really happy and proud which doesn't happen to me (not in such big way) in any other mainstream language I write in for a living.Quoting: EikeI don't program for work so my deadlines are self imposed lol.Quoting: ScooptaProgramming is always relaxing:-D
... except you got a deadline.
Or a heisenbug.
Or...
To the topic of functional programming and Haskell, I strongly believe learning basics of Haskell is beneficial for all programmers. I would recommend it to all hobbyists, to all people interested in programming. To stress it: I mean learn basics, get a grasp of basics of FP, not start using Haskell for everything (that's not practical at all). I feel it is a common misconception to consider Haskell to be complex, it is entirely false. The base language (without extensions) is very simple, compared to Java, C# or JavaScript, Haskell is a micro language. Its power comes from being designed in a way that many features (much more than in mainstream languages) are composable and interact well together, the hard learning curve comes from non-C syntax, common use of symbol operators and mountains of available abstractions interacting together (which is not the same as a language, majority of basic abstractions [data types, operators, flow control] are in a standard library which user doesn't have to use, and of course myriad of libraries outside standard one). Good thing is, you don't need to learn many abstraction to start writing simple programs. Frankly, I believe most programmers encountered many of these abstractions already, they just don't know they have a name and are using them rather intuitively in other languages (e.g. string is a monoid; promise/future and list are monads and so on). It is also worth noting, that many functional features are being smuggled to mainstream languages at a steady pace, e.g. pattern matching, lambdas, algebraic data types, generics, maybe/option/optional monad, immutable datastructures, "do" notation.
In my case I love how Haskell is concise, how nicely most of the things in the language work together. To learn new concept in Haskell, truly fully understand it, the final "click" is for me more rewarding than solving any other puzzle.
You might be interested in looking closer at Rust [External Link]. I read about it just briefly, but IIRC it is a modern language which is closer to hw, has solid predictable performance, but also supports many functional features. Someone higher mentioned even this game is written in Rust. :D
Guide a robot with simple programming in "Robo Instructus", out now
18 Jul 2019 at 5:00 am UTC
18 Jul 2019 at 5:00 am UTC
Quoting: ScooptaI usually find working on my toy projects relaxing. It didn't really happen to me with other languages (I somewhat knew quite a lot different langs, e.g. C#, JavaScript, Java, Scala, bit of PHP) until I started learning Haskell. That was/is a roller coaster of frustration (what the hell is IO for? why is compiler inferring such weird types? how can I connect two monads? why multiple records can't have field with a same name? why compiler reports error in an end of a do block when the error was in the beginning of the do block? what this cryptic error from lens mean? why adding headers to an endpoint changes type of whole API?) and satisfaction (I finally chained monads with various operators correctly on a first try. this rewrite to monad transformers simplified this huge chunk of code a lot. after searching hoogle a bit I was able to simplify my code from several long lines to one short line making it elegant and beautiful). I really like Haskell, there is always next thing to learn, next challenge and when I conquer it, I am really happy and proud which doesn't happen to me (not in such big way) in any other mainstream language I write in for a living.Quoting: EikeI don't program for work so my deadlines are self imposed lol.Quoting: ScooptaProgramming is always relaxing:-D
... except you got a deadline.
Or a heisenbug.
Or...
NVIDIA releases the GeForce RTX 2060 and 2070 "SUPER" GPUs, along with a new Linux driver
11 Jul 2019 at 10:15 am UTC Likes: 1
11 Jul 2019 at 10:15 am UTC Likes: 1
Quoting: x_wingYou can argue a reason if you want to buy a highest end.It is not "highest end", it is "high end". Nvidia has even more powerful cards like Titan or Quadro...
Quoting: x_wingBut still, I would go for a Radeon VII all the time instead of the RTX 2080 (radeon vii benchs [External Link] ).Yeah, for low and mid range I would too go with AMD. But on the high end of a performance spectrum there is no choice, there is no competitor for 2080ti or higher. (Also worth noting more performant AMD GPUs had issues with overheating and shutting down pc [without overclocking], not sure if it is fixed.) If you want performance, you don't care much, if at all, about fps/$ ratio. In my case I am planning to buy Index, so I am saving for high end GPU to be able to feed 144FPS (or at least 90) at >4k resolution with reasonable quality settings. And don't get me wrong, I would prefer an AMD card, but there is simply none in this specific (sub)market. I hope my next card will be AMD, that the next (or after next) gen AMD cards will start competing with high end Nvidia ones.
Anyway, not everyone has a budget for a 2080 Ti and RX 5700 has a way better performance per dollar ratio than their Nvidia counter parts. And as I already said, in the same way as in Windows, AMD GPUs gives you a better performance per dollar than Nvidia: https://www.phoronix.com/scan.php?page=article&item=linux-sub200-2019gpus&num=9 [External Link]
NVIDIA releases the GeForce RTX 2060 and 2070 "SUPER" GPUs, along with a new Linux driver
10 Jul 2019 at 11:28 am UTC Likes: 2
As a Linux user I see a clear reason why to buy Nvidia hardware.
10 Jul 2019 at 11:28 am UTC Likes: 2
Quoting: x_wing...Performance? Last time I checked, AMD is still lagging behind Nvidia. On userbenchamark 2080ti (flagship, not best Nvidia GPU) is more than 25% more powerful than 5700 XT (best AMD GPU). And that's raw power, I am pretty sure games and game engines are much better optimized for Nvidia than AMD, so the real gap in performance in games is probably much bigger.
As a Linux user I don't see any reason to buy Nvidia hardware...
As a Linux user I see a clear reason why to buy Nvidia hardware.
The former Paradox Interactive CEO thinks "platform holders" 30% cut is "outrageous"
3 Jul 2019 at 5:04 am UTC
Speaking about the entry fee, to be frank, I spent way much more adapting my free game with donations to meet Steams requirements. I work in IT, in not-poor not-rich EU country, getting I am guessing lower end of median wages for my job/place/experience. If I would use my rate from my real job, then adapting the game for Steam cost me over SIX TIMES more than the entry fee is, over $600. :S:
Moral of the story - if you are publishing your game with donation model and not really expecting any profit, don't bother with Steam, you are just throwing money and time away. Compared to e.g. itch.io, Steam's configuration is a horror, it seems to me like an overengineered mess filled with arbitrary delays and waiting periods for approval. It's probably ok if you are doing games for the money (it gives a lot of choice), but if you simply want to put your game for a download and make few tiers of donations (for which Steam configuration is not built for, even though they allow it), then it's a massive waste of your time and money.
3 Jul 2019 at 5:04 am UTC
Quoting: Purple Library GuyYes, that was what I meant. 30% cut if you are a small indie, but only 20% if you are a big publisher. Why? If there is any imbalance, shouldn't it be reversed - helping small indies to survive, not AAA games with predatory mtx?Quoting: BeamboomProbably monnef meant the recent policy shift where games (or maybe developers) that sell a little pay 30% while games that sell quite a bit pay 25% and games that sell big league numbers pay 20%.Quoting: monnefWhy indie games should be paying more, in relative numbers, than big publishers?If you talk about the fee on publishing the game, I dare say that $100 shouldn't be much for anyone. If you're semi-serious about putting your game out there on a an as massive market as Steam, I'd say it's pretty much nothing.
I think that particular part is a good idea, to keep the absolute worst out of the store.
Speaking about the entry fee, to be frank, I spent way much more adapting my free game with donations to meet Steams requirements. I work in IT, in not-poor not-rich EU country, getting I am guessing lower end of median wages for my job/place/experience. If I would use my rate from my real job, then adapting the game for Steam cost me over SIX TIMES more than the entry fee is, over $600. :S:
Moral of the story - if you are publishing your game with donation model and not really expecting any profit, don't bother with Steam, you are just throwing money and time away. Compared to e.g. itch.io, Steam's configuration is a horror, it seems to me like an overengineered mess filled with arbitrary delays and waiting periods for approval. It's probably ok if you are doing games for the money (it gives a lot of choice), but if you simply want to put your game for a download and make few tiers of donations (for which Steam configuration is not built for, even though they allow it), then it's a massive waste of your time and money.
The former Paradox Interactive CEO thinks "platform holders" 30% cut is "outrageous"
2 Jul 2019 at 8:56 pm UTC
2 Jul 2019 at 8:56 pm UTC
Gamer's perspective: Steam is great. I love reviews and ratings, curator system, forums, achievements, saves, easy to use client, linux support. That said, I dislike few things too, eg increasing trend of "good" manipulation of reviews and ratings, inconsistent censoring of games not based on any rules. Few cases of customers loosing their account, worth thousands of dollars, because disobeying rules on forums? Why not warning and then ban on a game's forum? I would consider these cases a theft, since I don't believe these customers were refunded. In this regard, I like the GoG's approach, but I fear games linked to account (unplayable after being banned or service dies) won't vanish.
Dev's perspective: The cut is too big. Why I should be paying (high cut) for services my game doesn't use or I don't want to use? Why indie games should be paying more, in relative numbers, than big publishers?
Networking infrastructure for multiplayer games is not free when you pay it in a cut. I am pretty sure I read from several developers that workshop is not covered in the cut and dev/publisher is paying monthly. And when speaking about starting (or hobbyist) indie studios, I am quite sure that all services for a single player game could be covered by the initial fee - 100$. How much can cost providing download of few hundred MB for a thousand players in a span of weeks? Sure, you get some promotion, but unless you are a pro or really lucky with algorithm, I don't think it's worth the high cut either. The less a game is sold/played, the less promotion it gets. So if it doesn't attract customers right from the start (days), you are getting no promotions = no help from Steam, and you will have to promote it only on your own.
Dev's perspective: The cut is too big. Why I should be paying (high cut) for services my game doesn't use or I don't want to use? Why indie games should be paying more, in relative numbers, than big publishers?
Networking infrastructure for multiplayer games is not free when you pay it in a cut. I am pretty sure I read from several developers that workshop is not covered in the cut and dev/publisher is paying monthly. And when speaking about starting (or hobbyist) indie studios, I am quite sure that all services for a single player game could be covered by the initial fee - 100$. How much can cost providing download of few hundred MB for a thousand players in a span of weeks? Sure, you get some promotion, but unless you are a pro or really lucky with algorithm, I don't think it's worth the high cut either. The less a game is sold/played, the less promotion it gets. So if it doesn't attract customers right from the start (days), you are getting no promotions = no help from Steam, and you will have to promote it only on your own.
Dota Underlords from Valve is already quite addictive and they're improving it quickly
16 Jun 2019 at 10:08 am UTC
16 Jun 2019 at 10:08 am UTC
I might give this game a try, if it has at least passable PvE mode(s) and not P2W MTX.
I, for one, am interested in their upcoming VR titles. I like how Valve is contributing to tech evolution. Even though Index is pricey, their hw and sw improvements will bubble down to cheap VRs. I also think they are not planning on locking their VR games to only their HW, that's in my opinion very positive for customers.
Just curious, why is it Dota and not DotA, doesn't it mean "Defense of the Ancients"?
I, for one, am interested in their upcoming VR titles. I like how Valve is contributing to tech evolution. Even though Index is pricey, their hw and sw improvements will bubble down to cheap VRs. I also think they are not planning on locking their VR games to only their HW, that's in my opinion very positive for customers.
Just curious, why is it Dota and not DotA, doesn't it mean "Defense of the Ancients"?
Remember the SMACH Z handheld? It's apparently going to be at E3 this year
5 Jun 2019 at 2:38 pm UTC
5 Jun 2019 at 2:38 pm UTC
Interesting device, for my taste way too pricey. For a while I was thinking about GDWin (or how it was called), but IIRC it didn't have official Linux support, so I stopped following it. I am saving for Index currently and since I don't go out much, Index will have much better value for me.
I am also pretty sure they said that even with some planned discount (Christmas?) they still won't be losing money on the device.
Quoting: Arehandoro...Switch, which partly is also being fund with software salesI don't believe this is true:
Nintendo CEO says company won't make loss by selling it; but also listening to what consumers expect from us when setting price.source: http://www.nintendolife.com/news/2016/10/nintendo_switch_wont_be_sold_at_a_loss_two_million_units_to_ship_in_time_for_march [External Link]
I am also pretty sure they said that even with some planned discount (Christmas?) they still won't be losing money on the device.
One Deck Dungeon celebrates a first anniversary with a sale, it's quite addictive
30 May 2019 at 8:41 am UTC
30 May 2019 at 8:41 am UTC
Am I seeing it right, classes are gender-locked and there are no men? That doesn't look very diverse... :huh:
- The "video game preservation service" Myrient is shutting down in March
- Discord delay global rollout of age verification to improve transparency and add more options
- Steam Next Fest - February 2026 is live with tons of demos
- Firefox 148.0 arrives with AI controls
- FINAL FANTASY VII arrives on GOG with a new edition live on Steam too
- > See more over 30 days here
- steam overlay performance monitor - issues
- Xpander - Nacon under financial troubles... no new WRC game (?)
- Xpander - Establishing root of ownership for Steam account
- Nonjuffo - Total Noob general questions about gaming and squeezing every oun…
- GustyGhost - Looking for Linux MMORPG sandbox players (Open Source–friendly …
- Jarmer - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck