« first day (1538 days earlier)      last day (3480 days later) » 

3:00 PM
I don't like linkedin, a colleague visited my profile and I instantly got notification about it, which now makes me think twice if I should look at someone's profile, and usually the decision is not to
 
@Lasse army of blind people. sounds bad what they do.
 
huh?
 
huh huh?
 
I didn't get what you mean
 
well. most people are driven to not look what other people do. so they are blind.
 
user92578
3:04 PM
aight, ill head to my band rehearsal, I wont dev tomorrow but might drop by at a break in school. Bye!
 
on linkedIn.
 
yeah, it kind of kills the point of linkedin when you drive people to be passive
 
I've gotten two jobs now through LinkedIn contacts.
 
I've got none
well, I guess that's because I haven't been using it much, I got an account but I'm not sure if I ever logged in after I created it
now I had to update it
 
my job interview has been canceled. i waited two weeks because they delayed it two times.
 
3:18 PM
I know the feel, even though I won in the end. I waited my current job for two months
 
We 'IT-people' are privileged though. There's a large shortage of IT people (at least in Europe)
 
I had a job interview lined up at Ready At Dawn. I was leaving our house in England for the last time, on my way to the airport. Had no job, was going to move in with wife's dad.
Phone rang literally as I was leaving
 
For example: the company I start at next month couldn't expand because they couldn't find enough qualified IT-people
 
they cancelled. Someone interviewed who said "hire me now or I don't take it"
 
They even use part timers who are still in school
 
3:21 PM
they hired him and cancelled my interview.
>:(
 
Balls
I have some respect for playing it like that though
If you feel you're wanted, you can aim that high
 
I don't respect an employer who would hire someone who would say that
 
Thats the other end of the story
 
how will they try to strongarm me in the future?
 
They let themselves get strongarmed
 
3:22 PM
"give me a raise or I leave today, and you know what that means for the code I'm working on"
so, in the end, I probably didn't want to work for them anyway
shame; would have been gameplay programmer on the PSP god of war game
 
Is that still Crytek?
 
crytek?
 
@RoyT. there might be lots of open IT jobs. But most of them are rather single-minded. Java and C# coders only and so on.
 
Oh wait Crytek is Rise, not god of war :P
 
@Vektorweg You just called my most awesome job single-minded :P
 
3:24 PM
@Vektorweg true, but still I had no problem finding almost exactly what I was looking for
 
@RoyT. Well i can't find a job as Haskell coder.
 
Thats because there is no such thing
 
you might not know it yet. But Haskell is better. ;)
 
I know a lot about Haskell actually
I started my thesis project with Haskell
and had some classes in it
(well a lot, is a bit of a hyperbole here)
I even got Haskell to work with SDL and draw some nice graphics :)
 
then you know that there aren't many jobs for Haskell coders.
 
3:29 PM
should there be?
 
definitely.
 
why?
 
because its a better tool and even the worst capitalism should work towards higher productivity.
 
I don't see it as a better tool
 
have you take a look at all those new features for your favorite language?
 
3:32 PM
yes, I can make games on unity engine with my favourite language
 
are you using C# ?
 
yes
 
Though I think some aspects of Functional programming are very useful. There are a lot of drawbacks to using a purely functional programming language
 
broken Mono C#, where every other C# coder got creeps?
 
@Vektorweg you're forgetting the cost of changing technologies.
there's a reason NTSC survived as the standard for TV broadcasting way, way longer than it should have.
 
3:34 PM
However having a functional language integrated into an OO language, to deal with datasets is very useful.
 
@Vektorweg I got the creeps too, but that's not the point. The point is that my language is useful, unlike haskell
 
That way you can use the best tool for the job. Without having to choose
 
@Almo actually, capitalism has forgotten what long-term planning is. Of course, it isn't easy to switch. But also no one does the first step.
 
Also comparing C# with capitalism isnt going to help any argument
 
I'm also developing my own game engine with C# on newest mono and .net features, which makes your point invalid
 
3:35 PM
And wont even allow us to take any other arguments seriously
 
@Vektorweg capitalism has not forgotten what long term planning is.
that's oversimplified; the issue is more complex than that
not enough long-term planning is certainly a symptom of how businesses tend to be run
but stating it that way is glossing over the complexity of the issue
 
sure. its just that there is an issue and i don't want to start a long talk about it. ;)
 
:D
 
@RoyT. i don't compare C# with capitalism. its just like that companies looking for ads instead of trying which tools are actually good.
 
@RoyT. This is one of the fundamental concepts of my programming language
 
3:42 PM
C#, PHP. Java and other has been well advertised over the years. I know its difficult to argument with programming languages. But people don't even try it.
 
" @vektorweg New troll hobby: tell everyone on #C# at @freenodeirc to use #Haskell."
XD
@MickLH you're creating a language? Awesome
Please add multiple return arguments using built in tuple syntax!!
 
because a friend of mine told me to do that. he's coding c#. ;)
 
like: (a, b) = Foo() { return (1, 2); }
 
@RoyT. Ok the way I handled that was with the built in array operator
(a, b) => return [1, 2];
 
@Vektorweg actually there was someone on #XNA on efnet IRC who was banned for doing the same thing for over a year. Guy made himself really unpopular :P
 
3:44 PM
@RoyT. not familiar with.
 
user4704
Was it Associator?
 
@Vektorweg YES
 
it achieves the same goal, because despite being strongly typed, one of the types is the "weak" type lol, and that's the default type whenever it's unspecified.
 
@MickLH I have a hard time parsing that without context. Does it mean a is 1 and b is 2 after that statement?
 
user4704
Associator got banned from from #gamedev on afternet and #reddit-gamedev on freenode for mindlessly championing F# over everything for all purposes, anywhere.
 
3:45 PM
Because that is exactly what I want. That way you can instantly use them named
 
user4704
It was awesome.
 
@JoshPetrie oh yeah it was F#, not haskell
 
@RoyT. what happened to XNA? the C# guys told me it has been canceled. And XNA was one of the cools things, C# people could work with.
 
oooh I parsed it wrong, I converted your assignment into a goes-to operation lol
 
@Vektorweg XNA is ded
@Vektorweg but MonoGame (which is Mono for XNA) seems to be going strong
 
3:46 PM
@RoyT. interesting.
 
@Vektorweg I still use XNA 4, works fine on PC and thats all I care about, since I never finish games :P
@Vektorweg though not being able to use .NET4.5 features, or DirectX10+ features is becoming a pain
 
Some of the coolest games lately used monogame, like Transistor and Bastion
 
I'll probably try SharpDx for my next project
 
@RoyT. i know that. i never get things done too.
 
@Lasse lately... those are ancient games :P
 
3:47 PM
oops, not xna, monogame
transistor is not yet that ancient :(
 
@Lasse oh the ports?
 
no, they actually used monogame
 
I'm 65% sure Bastion was normal XNA first
 
the devs even released chunk of modified monogame source that they used, and monogame has been pulling some of the code in
 
@RoyT. To achieve that you'd use the reference-respecting assignment operator... Which I haven't decided the symbol for but I use ~> right now just to make sure it works
 
3:49 PM
@Lasse make that 15% sure
 
[&a, &b] ~> DoStuff();
 
@MickLH what kind of language is it, got cool stuff to show?
 
user4704
Bastion used XNA at some point, yeah.
 
I think they ported to monogame before release
 
@RoyT. Not really any awesome application yet sorry... And I've been struggling to categorize it to a type for a while now
 
3:53 PM
most game developers overestimate the value of graphics. A game is made by its game mechanics.
Good Graphics only reduce the entry level. For that reason, i think, XNA is good enough. No one need fancy directX or broken opengl.
 
I think it's primarily an imperative language with some declarative features, Strongly typed but one of the types is the "weak" type. Dynamically typed I guess, although it's meant to be statically typed to let the compiler cut down the amount of runtime bullshit going on.
 
opengl is broken eh?
 
user4704
You are ignoring the benefits that modern D3D give you that are not related to "pretty graphics."
 
@Lasse sure. opengl is the worst api ever existed.
or, as far as i know. ;)=
 
user4704
Hardly.
 
3:56 PM
have you used PHP?
 
@Vektorweg Well that makes your experience level clear ;)
 
even php isn't that worse.
 
well, seriously, opengl is hardly broken
 
user4704
OpenGL is not a bad API, it's an old API.
 
@Vektorweg I think the code that communicates with the Graphics API is very complex and could constitute more than 15% of the code base. Using a more modern graphics API will certainly help in reducing/finding bugs and coding more efficient
 
3:57 PM
@Vektorweg php_uname tells you about the current OS. Unless PHP can’t tell what it’s running on; then it tells you about the OS it was built on. It doesn’t tell you if this has happened.
 
user4704
Which makes it look less-good when held up against modern APIs.
 
user4704
The interesting question will be how good of an API the new version turns out to be.
 
So yes, even when making crappy graphics a modern API is a godsend
@JoshPetrie I think if you just use the modern parts of OpenGL its OK
Though I definitely prefer DirectX10+
 
user4704
In particular, how much they let themselves be hamstrung by classical decisions such as the typeless handle system.
 
of course PHP is bad. but that bad? i don't know. its difficult. both is pure crap.
 
3:58 PM
But tbh I have worked little with both, just toy projects
 
also from php: "get_class($obj) returns the object’s class name. get_class() returns the name of the class the function is being called in. Setting aside that this one function does two radically different things: get_class(null)… acts like the latter. So you can’t trust it on an arbitrary value. Surprise!"
 
user4704
@RoyT. Yeah, modern GL is pretty decent, and if you wrap up the typeless integer handles you're left with only a handful of real problems.
 
what NeHe did well in the past is now the shadow of current opengl, some websites just should have some expiration date that makes the content disappear after certain date
 
user4704
Which is on par with modern D3D.
 
3:59 PM
php is pure evil.
I use php for simple projects. But I would not choose it for a large project if I could avoid it.
 
@Lasse one of my first posts on this websites was a link to NeHe's tutorials. I got instantly flamed for that :P
 
user4704
lol
 
user4704
Nehe.
 
lol I can imagine
 
I have a NeHe laser tube, I want to play with it now lol
 
user4704
 
This is a good resource for learning OpenGL anew using the modern way arcsynthesis.org/gltut
No more GlQuad(...) :(
Has much changed since 2012 in OpenGL country?
 
user4704
I can't make the correlation between 2012 and GL version.
 
user4704
But probably?
 
user4704
Looks like 4.3 was released in 2012.
 
user4704
So we're up to 4.5 now
 
4:03 PM
yeah, sparse texture support for example I guess, opengl supports it on all platforms while only DX11 (only on win8.1) supports it
 
user4704
Which gives you DSA, flush control, sparse and bindless textures, better shader variable layout, buffer placement, and debug hooks.
 
user4704
And probably some other stuff I can't recall, in between those two versions.
 
@RoyT. I think the best way I can sum up my ramblings earlier, and explain where the vision leads: Imagine a computer algebra tool, now replace the built-in language with javascript, then inject C style strong machine types, and finally build an Async high level API which works mostly on getters/setters and event callbacks.
 
@MickLH Like Matlab, but then javascript + strong types + some Asynic lib?
 
@Almo no, it isn't
 
4:07 PM
Probably, I rarely use Matlab, I mostly use Mathematica
 
asp.net is closer to taking that role
 
user4704
@MickLH Seen gamedev.net/… ?
 
(not that php is even close to it)
 
@JoshPetrie thanks, mostly new features then, not really API (style) wise
 
user4704
@RoyT. Correct. There's a pending API 'redesign' but no concrete information on it
 
user4704
4:08 PM
Bunch of journal posts from a guy I used to work with about building a language.
 
@JoshPetrie I heard about that, this time they would actually break compat, right?
 
user4704
Dunno. I haven't really followed it other than knowing it was announced.
 
@JoshPetrie it seems familiar but I can't open any of the threads :/
 
user4704
@MickLH Odd.
 
yeah, same here
 
user4704
4:09 PM
@RoyT. I hope so, but there was talk of doing that with 3 and they kinda... didn't.
 
all lead to the search page
 
user4704
lol wow
 
user4704
they do
 
user4704
there is the latest actual post
 
user4704
4:10 PM
GDNet has been pretty shit since they stopped using custom forum software for this COTS crap
 
It seems cool but it's going in a very different direction than I would like to go
 
what direction is that?
 
Well one of my top priorities is to reduce the total amount of typing, but without using any ridiculous acronyms
 
I think the total amount of typing with almost typeless C-ish code would be very minimal
 
@MickLH what is the language for, gamedev, scientific computing, ... ?
 
4:14 PM
@RoyT. Mostly those things since that's what I do
 
both? :P
 
generally the bottleneck is workarounds for type compatibility
and code reuse for same meaning but different data types
 
@MickLH you need to build something between prolog and haskell then.
 
@snake5 ok like one small example: cast(type, value) rubs me the wrong way, I went with type(value) after probably a month of deliberation
 
scripting languages achieve minimal amount of typing by not requiring to define types, statically typed languages can do that with optional types and implicit templates
 
4:17 PM
@Vektorweg the concept is that you use an imperative language to express a functional operation
 
@MickLH I'd prefix the type with some symbol to make a distinction between constructor/function and a cast, if there is one
 
@snake5 that's the "beauty" of it
Types are their constructor function
 
sounds like a scripting language
 
the int(x) function returns x casted to an int, and assigning to a weak type changes the type
 
@snake5 lol. That sounds like Haskell. Every constructor is uppercase and every function must be lowercase.
 
4:18 PM
@Vektorweg case restrictions are funny
and a different kind of animal
so to speak :D
 
a snake probably.
 
but assigning to a strong type causes an implicit cast, so for example you can do float x = int("12.3"); and end up with an x == 12.0
 
cool
but that seems like a bit of a minor detail in comparison to data structures
and interface building
 
That's the idea, I want it to feel trivial to accomplish things
 
is there a way to make an array class manually? or a template function?
 
4:21 PM
speaking of details is dreaming. it isn't helping, but it makes so much fun.
 
How about manual memory layouts
or garbage collection?
I'd love to see a data first language that is as easy to use as C#
 
You can actually use a function as a type without hassle, for example maybe you have a function PowerOfTwo(x) which returns the nearest power of two.. you can declare your variable PowerOfTwo x = 5; and it will give you the effect of calling x = PowerOfTwo(5);
 
a easily usable language without GC isn't existing.
 
user4704
"Easily usable" is subjective.
 
I went with GC sadly
You can manually delete objects though too
 
4:23 PM
@MickLH that is very sad
 
user4704
I think Objective-C is pretty easy to use, and it doesn't have a collector any longer.
 
But it's reference counted so you can't force it to delete unless it's safe
 
user4704
Other people disagree, for various reasons.
 
user4704
Some of which I find laughable, such as "typing [ and ] is hard."
 
@MickLH that kind of defies the point
with circular references any object would be "safe"
 
user4704
4:24 PM
@MickLH Are the reference counts somehow weakened then?
 
@Vektorweg I disagree
 
user4704
Seems like a questionable constraint to violate.
 
@JoshPetrie No it's literally equivalent to assigning null to the target
 
@RoyT. but at some point, you don't want to work on a memory level.
 
I'm still in deliberation on that issue
 
user4704
4:25 PM
So what happens to other outstanding references?
 
@JoshPetrie nothing
 
user4704
So they dangle?
 
@RoyT. you want to get things done. not having a GC is annoying.
 
@Vektorweg C is actually quite easy to use. Memory management isn't hard at all but you just have to be precise. Creating custom constructors allows you to not think about them much. Plus 90% of the variables can be allocated on the stack, which means they are removed automatically anyway :)
 
@Vektorweg you really have to, unless you're building a business app and can just throw RAM at your only server
 
4:26 PM
@JoshPetrie No the object's life is extended until those references let go too
 
user4704
So the delete doesn't happen? I'm confused.
 
Yeah, if it's still refcounted the delete is almost pointless
 
user4704
Ah I see. So it's more like a "please delete if you can?"
 
The only thing it does is flag it to be immediately deleted when refcount reaches zero
 
@Vektorweg I actually run into memory issues with C# often, but you cant do much about them. You just have to make polling data structures and such, which infects a lot of code. Cant solve those problems at memory level. Languages like Haskell are even worse at that.
 
4:27 PM
As opposed to being undefined when it will disappear
 
@MickLH that should happen always
 
It does, currently, but I'd like to change that because sometimes it's thrashing the cache to free a million small blocks of memory
 
refcount=0 means absolutely unnecessary
 
@Vektorweg though I'd have to say that in most business software C# is fine. And allocating with virtual memory is so cheap :D.
 
user4704
Well, I can see a case for not deleting immediately when refcount is zero.
 
4:28 PM
shouldn't be a need to additionally flag it to get there
 
user4704
I don't think I agree with it.
 
user4704
But I can see it.
 
@RoyT. language design isn't about computer performance. in worst case, haskell can work on a self defined space of memory too. but practically, its exhausting without an GC at hand.
 
@JoshPetrie what's the case?
 
And like I said, it's still malleable, I consider the delete operation broken still because I could remove it from the language and lose nothing.
 
user4704
4:29 PM
@snake5 Basically, sometimes deleting is "expensive" by some metric. Reference counting has the interesting side-effect of somewhat-less-than-ideal deletion determinism.
 
I can think of two (pooling and CPU-cache-friendliness) but both suck
 
user4704
That is, in some context you don't know if dropping your reference will invoke a delete, and consequently, the perf hit.
 
user4704
So deferring that delete until some other time can be useful.
 
oh, that
 
user4704
But.
 
4:29 PM
well, it's too easy to fix
 
user4704
That situtation comes up rarely, in practice, I find.
 
It started out more like a dangerous C++ delete, but I found it was of limited usefulness
 
yeah
 
@Vektorweg all language design that forgets its runs on a computer is flawed. You have to be able to address the weaknesses of the system in your language, you cant do it elsewhere. Dreaming up a language that works well on a system with infinite memory where everything you need is always in the L1 cache will cause problems in high performance scenarios.
 
it comes up rarely and it's easy to fix by just putting a reference somewhere else
on a timer perhaps
 
user4704
4:30 PM
And deferring the delete to some unknown time later doesn't actually help, it just moves the problem so some other context has to incur the delete cost.
 
My next idea for it is to force the refcount down by one, and then null the object so that you can account for circular references one by one
 
user4704
@MickLH Why not something like ARC?
 
@JoshPetrie +1
seems like a really good solution
 
@JoshPetrie What specifically do you mean?
 
user4704
ARC is (mostly) beautiful.
 
4:31 PM
haven't actually dealt with it but from what I read, seemed to make sense
 
@RoyT. actually, thats what haskell do. abstract as far as possible away from the machine layer to get pure functional code. its working good enough.
 
user4704
ARC uses static analysis of the code flow to basically insert manual hold/drop reference calls.
 
@RoyT. still. a language can be designed without consideration of machine details but can always afterwards define optimal structures for a certain machine when needed.
 
user4704
Memory protection doesn't have to be about "machine details."
 
4:34 PM
That's basically what the idea is right now, but the analysis is very weak and only really triggers when something goes fully out of scope
 
@Vektorweg but with Haskell scientific institutes write their own compiler so that it works good on their super computer. That's because these issues cannot be addressed in the actuall code
@Ve
 
it's well, people. haskell works well.
superman works good.
jesus works good.
haskell works well.
 
@Vektorweg that second statement you made, that would be ideal. If a compiler is good enough to define optimal structures without any help than we should indeed abstract as far away as possible
 
user4704
@IcyDefiance I English well.
 
These are interesting discussion topics btw. I had not seen this level of discussions here yet. (/me butchers the English language even more).
 
4:38 PM
@IcyDefiance wasn't the joke about "does"?
 
originally, yes, but I had to adapt the joke to the situation
 
@RoyT. sadly, we don't have SSC's yet. i mean, that someone could always write a lib that brings a abstraction of a machine and a language can provide a layer in which it seems nearly identical to the actual code to describe the problem. insofar, that the compiler and language supports such things.
 
@IcyDefiance I see
 
@Vektorweg SSC's? Semi Sentient Computers? That second thing you describe is basically what C# and Java do
 
@RoyT. sounds about right, considering the kind of beast that haskell is
 
4:40 PM
@RoyT. maybe the same. i mean sufficiently smart compiler.
 
iirc, ghc had a 1gb installation for windows
 
Haha actually we totally do have semi-sentient computers today
 
@Vektorweg haha, :P
 
But even the humans are not quite "sufficiently" smart compilers
 
our humans?
 
4:41 PM
@RoyT. Haskell do it too.
 
what is semi-sentient, exactly? wouldn't that just be...not sentient?
 
that's alien-speak
:D
 
@Vektorweg I thought Haskell compiled to C/C++?
 
hahaha oops did I go backwards with my edit?
 
@Vektorweg I didn't knew they used a sort of VM and Jitter
 
user4704
4:42 PM
LLVM is basically built around that concept of building intermediate representations that can be more efficiently adapted to machine code.
 
@MickLH possibly :D
 
@IcyDefiance Precisely... if you wanna be a precise jerk
 
0
Q: Move physics animation on timeline without resimulating?

AttackingHoboI have a complicated physics simulation done, but I want move the entire simulation on the timeline. I can't figure out how to do this without having to resimulate everything. I don't want to change how the baked physics look, just want to have it play the same animation at a different time.

 
anyway, I think I should write a BSP tree for triangles or something
 
@AttackingHobo hex editor
Get to work
 
4:44 PM
Big Sausage Pizza Tree
@MickLH whuh?
 
@snake5 usually yes :P
 
implementing food instead of coding for food. yay.
 
@snake5 invent this thing attackinghobo just described, organize triangles into a graph where some nodes can be justly referred to as sausages or pizzas, and that can be construed as big in some way
don't just ignore what you think you should do!
 
hahaha
 
wish I had time for that
writing a lightmap renderer that has to be fully finished at the end of this week
 
4:47 PM
those are fun
What method will you use?
 
so fun that no one seems to have written one and published with a nice license
@MickLH probably the most simple for now - direct lighting
 
Lol really?
 
that's the target now
if I have time, I can reconsider
 
I never released mine because I was never satisfied with the UV packer
 
I won't do UV packing at all
 
4:49 PM
I had to choose between wasting like 50% space, or having seams occasionally
 
it can be done in blender
I'm doing the simplest thing that works right now
 
@MickLH look into how blender does it's lightmap packing
 
one texture per mesh instance, with second texcoord set from mesh, manually created in blender
@AttackingHobo just not the "lightmap packing" but "smart uv packing" or something like that
the lightmap packer is actually awful because it splits up faces
not good for games, there's only one index array so that means vertex duplication
 
I came up with a system though that worked for patching seams, and it was efficient but required a super complex spatial process that I spent like 50 hours doing calculus for on Mathematica
but in the end I only ever formulated the post-process in voxels instead, which means it's either unusably low res, or unusably slow
 
Anyone ever encountered this in the Visual Studio debugger? It looks like this object has two types i6.minus.com/jrhIslT9cfrjY.PNG
I know it is of class BinaryExpressionSyntax, but what is the second value? (Because I would really like to know if something is a SimpleAssignment)
And SimpleAssignmentExpression doesn't seem to be a type. VS cant find it
 
user4704
4:53 PM
Looks like a possible result of a debugger visualizer for the type.
 
That is exactly it. As you might've noticed that is roslyn I'm using there
I wonder if I can mimick how it determines that it is a SimpleAssignment
 
user4704
BinaryExpressionSyntax is a type, the SimpleAssignmentExpression is a value of some enum, and the debugger visualizer is formatting it thusly.
 
user4704
Looks like GreenNode (way up in the inheritance chain) exposes the RawKind value.
 
Ah I see now
Thanks :D
 
user4704
4:56 PM
re: retina iMac, "I still would like to see benchmarks of some games"
 
user4704
...I don't think those people realize that no sane person would play a game in native (5k) resolution.
 
user4704
Because no sane developer authors shipping content at appropriate resolutions. It would look like ass.
 
God it hurts so much
The engine should be scaling down the original assets on the content-house side... on the fly to customers who's client requests it
Side effect of making piracy a horrible bitch
 

« first day (1538 days earlier)      last day (3480 days later) »