HNHacker News
TopNewBestAskShowJobs

Profan

323 karma · joined February 27, 2014

Woop, woop.

http://about.prfn.se

[ my public key: https://keybase.io/profan; my proof: https://keybase.io/profan/sigs/TmCL7DYPrjZkxGaawgoyhm5XSb8rQdBojzfI5fkLTRM ]

submissionscomments
Profan··on John Carmack on QuakeWorld latency and business model (1996)
This isn't the same as client side prediction though, the entire game simulation in the aoe case practically runs on every client, where the only input to the simulation are commands that are passed between all players and executed in lockstep, where the simulation essentially stops if for a given turn no command for that turn has been received.

Gives you really low bandwidth reqs (and randomness is still possible assuming you just seed things the same on all machines).

But also means you might have to wait 50-200ms (or some arbitrary sliding window depending on network conditions) until your click actually registers ingame as a move as commands are scheduled to be processed far enough in the future (some number of command turns in the future) that you at that point would have received every other players commands for that given turn and thus be able to execute all commands for all players locally for that turn, which is not ideal if you're playing a twitchy shooter, but alright if it's an RTS.

Profan··on Classic Minecraft now free online
Others have expanded a bit, but it depends on what you're running it on, a tmpfs setup is your friend on linux and even for windows there are free alternatives :)

Of course you will probably want to incorporate something that copies the ramdisk contents to somewhere a little more permanent ever so often, set an interval you're comfortable with losing data within! (but given the huge improvement i'd say it is worth it!)

Profan··on Classic Minecraft now free online
If you can spare the RAM, i'd stick the world on a ramdisk (I did when hosting a MC server and it makes an appreciable difference versus the terribleness of disk IO)
Profan··on Loop invariants can give you coding superpowers
Yes!

Dafny puts this stuff front and center, it's all well and good to think about invariants, but if they're just expressed in a comment and not actually verified, they might as well be filler text!

If there's anything I hope the mainstream adopts at some point, it is some variation of what Dafny offers here.

Profan··on Most Americans don’t realize what companies can predict from their data
That went well for all the dutch jews in WW2 where the government also held detailed records about religious affiliation.. sometimes it is not about what is now, but what will or might be later.
Profan··on DConf 2019 in London
D is still miles ahead of C++ if you care about compile times, even in pathological cases (like using tons of templates and/or CTFE in your D code).
Profan··on You Don't Need to Quit Your Job to Make
You were saying "1 hour a day!" and then mentioned a guy who didn't work anything close to full time at a paying job for nearly 5 years to work 12 hours 7 days a week on something that _might_ pay on release..
Profan··on You Don't Need to Quit Your Job to Make
Stardew Valley is a weird example because the guy spent four and a half years working 12-hour days and did _everything_ themselves.. not sure that's the comparison you want here. (and their family/girlfriend supported them, they did work as a theatre usher occasionally apparently, but their "day job" was largely the game above even normal standards)
Profan··on Zig Is Great
Looks fairly broken for me too, paragraphs and a border which doesn't overlap the text would be nice.

I'd say reader mode makes it more bearable but the lack of even paragraphs still makes it kinda hard to read..

Profan··on Programming the Z3 SMT solver
On the list of "cool things also happen to employ Z3", definitely check out MS Dafny programming language: https://github.com/Microsoft/dafny
Profan··on Facebook Referred to Kids as Young as Five as “Whales” for Its Monetized Games
You read an article about predatory practices and somehow you now want to place the blame on the user?

How about we don't do corporate apologism eh

Profan··on Companies Manipulate Glassdoor by Inflating Rankings and Pressuring Employees
Consider that if they know when you wrote your review, they know which your review is, if you then change your review, that's a pretty blatant way of telling them exactly who you are, which might not go over well if they have any sway at all (or if they know someone who might be able to block your progress later).
Profan··on Students learn from people they love
You see, treating other people with decency is a conspiracy put together by Big Life
Profan··on After landing a lucrative job at a tech startup, I had made a terrible mistake
Even just a quick glance at the stuff visible is pretty uhh.. interesting, I'd think it was a parody site if I didn't know better
Profan··on Ko – A concurrent, immutable, functional language
Just as a sidenote, Rust's compiler was first implemented in OCaml after all, is Rust "academic and unusable"? ;)
Profan··on Fortnite dev launches Epic Games Store that takes 12% of revenue
Considering Tim Sweeney's pretty strong stance against walling in marketplaces too hard, I think it's.. relatively safe at least.
Profan··on Tea if by sea, cha if by land: Why the world only has two words for tea
This is an excellent map for the purpose of it, lifted from a bunch of research (shows the words in each individual language and also which language they originated from)

http://wals.info/feature/138A#2/25.5/143.6

Profan··on Why Am I So Lazy?
It does read a bit like what you would hear a "psychic" write in response to a short question, such a long response seems an unreasonably confident response without any more back and forth between the two.

I'm actually a bit surprised so many people here are quickly falling into conclusions about what was and wasn't said when it doesn't seem like it has been explored enough to have anything conclusive determined from it..

But then it's also just an essay meant to speak to certain people and not for everyone in a popular magazine, so eh.

Profan··on What is Hindley-Milner and why is it cool? (2008)
Hindley Milner is quite elegant, but as applied in languages it becomes a quite different beast (OCaml etc, yikes)

But also thanks to that detour, this article is a nice read on OCaml in particular: http://okmij.org/ftp/ML/generalization.html

Profan··on Why aren’t Google and Facebook enriching our lives more?
I think in common tongue this might be called a "party".
Profan··on An Introduction to Reflection in C++
A shame that D[1] wasn't mentioned under other alternatives as it has a comprehensive system for compile-time introspection built in!

[1] http://dlang.org/

Profan··on GDNative – A scripting language module for Godot
"if we used"?

Did it occur to you that many of these people might not want to do something else and would then actually not accomplish what they'll accomplish in an environment they actually enjoy?

People are not something "to be used".

Profan··on The Curse of Smart People (2014)
Tentative new title: "The Curse of Stifled People"

Well, maybe that sounds a bit mean, but the constant fear of saying something wrong about one's employer (past or present) is a bit sad sometimes.

Profan··on The Song ‘Oh Yeah’ from ‘Ferris Bueller’s Day Off’ is the Origin of a Fortune
.. Also Meier, not Meyer, to be even more precise!
Profan··on I’m joining the Go team at Google
... R-RIAA? You probably meant RAII right: http://www.riaa.com/

Resource management by litigation sounds innovative though

Profan··on Ruminations on D: An Interview with Walter Bright
They're working on getting precise GC in, he's been working on it quietly with a mentor and another two GC specialists in the D community for a while :)

https://github.com/dlang/druntime/pull/1603

Profan··on Ruminations on D: An Interview with Walter Bright
It's not a class, it's a struct (as a value type), it's fine if you disagree with the idea of OOP, but don't come in with an incorrect assumption of how the language is actually used in the wild.

But sure, I would agree that having a natively implemented variant type would be better, even if this one can serve many of the same purposes.

Class = reference type, supports polymorphism, inheritance

Struct = value type, does not support polymorphism, inheritance

The variant type based on a struct is implemented through the language's metaprogramming facilities.

Profan··on Ask HN: What are you using D (language) for?
Currently using it to write a small OpenGL wrapper which intends to remove the explicit binding (and remove redundant binds under the hood), as well as make data definitions declarative, this is part of my plan to make a XNA-like gamedev lib for D, so I can make games in my favourite language! (https://github.com/profan/gland/blob/feature/compute/example...)

It's still a bit awful and lacking most of what I want to support with it, but even in early days, it feels promising.

Was working on a small 2D game engine earlier, but got snagged on that working with OpenGL was so horrible generally that I figured I could utilize D's metaprogramming abilities to well, improve the experience. (got inspired by rust's glium)

Hopefully I'll actually complete it.

Profan··on Why poetry is good for the rational mind
IA? Inflammatory Arthritis?
Profan··on Racket v6.6
I think that was one of the purposes of Rackets typesystem, to fit idiomatic Racket code well enough that you wouldn't have to rewrite most of it to introduce static typing to a Racket program.
← PreviousPage 2 of 4Next →