« first day (2015 days earlier)      last day (3012 days later) » 

9:00 PM
lol @Jon is it still of any use to you if I release the source for the solver?
 
Jon
In my experience, you don't have much control in your "job work"
 
I mean, is there any app store restrictions or anything
 
Jon
you are already done with it?
You can release the solver
 
Not really, it solves some cases but not all, I'm more asking because it decides whether or not I implement cursor keys and make it playable
 
Jon
it is a console app?
 
9:01 PM
yeah
 
Jon
quite frankly, i don't think people will play a text based picross game
 
lol me either, but I'd still submit it because there aren't very many text based games
 
Jon
it is most fun while on your phone, while taking a shit
 
which do come in handy when you're stuck on a terminal and need to appear to be working
 
Jon
that is the optimal picross experience
scientifically proven
 
9:02 PM
IM GONNABE YUR BIGGEST COMETIPTOR
 
Jon
@Almo do we wait for approval before submitting free version?\
 
We wait until I have time to mess with the free version
still have this Ikea nightmare to deal with
 
Jon
it is same code
i just change data file -- and graphic
 
right but I have to create the app in itunesconnect, upload screenshots, etc.
it's an hour or two of faffing about
 
Jon
same screenshots
but ok
 
9:05 PM
yeah same screenshots
 
Jon
let me know when you want to tackle that stuff
 
if you're not adding features, you can send me a link to how to do it any time, and I'll get to it as soon as I can
 
@Jon what do I do when there are multiple solutions?
 
Jon
bad puzzle
 
yay that makes life easy lol, then it's pretty much working
 
Jon
9:12 PM
in the true spirit of picross, a good puzzle can only be solved in 1 way
 
this is why picking good puzzles is so important to the quality of a picross game
 
Jon
Also, in order to determine, if a puzzle can only be completed one way...
you have to try every possibility
 
nonograms are NP-complete aren't tehy?
 
Jon
Yes
:)
first time i had to figure out a solution to a NP problem, was when I wrote my purolator package calculator
max package weight, 150lbs
we were shipping a lot of weight
if a customer orders like 20 parts at 456lbs
how do you package it to be the most efficient?
 
Knapsack problem?
 
Jon
9:18 PM
this problem gets exponentially more difficult for a computer to process, as the number of parts go up.
 
yeah it's a nasty one
 
Jon
It is only nasty, because to be deterministic here, the computer cannot make any assumptions
therefore, it has to check every single possibility
If you can figure out a way to eliminate without a doubt, the majority of the possibilities, you could change computing as we know it
Quantum computers.
To me, quantum computing effectively should be able to solve for NP v P no problem.
Based on their nature
Instead of checking every possibility, you just look at the outcome
Every possibility is already there
When I get older, all the kids are going to be coding on quantum computers... and I'll be on my x64 architecture, still hacking away on old tech
And I just won't get it.
 
9:42 PM
only if you refuse to learn it (I hope)
 
Jon refuses to learn anything
 
if I ever become incapable of learning something that important, I'll probably give up on living at that moment
 
@Jon I have a quantum computer
 
has it solved all of humanity's problems and created a utopia yet?
 
I'm not done working out the bugs yet
Plus creating a utopia wasn't on my todo list
 
9:47 PM
I tried to read "Utopia". Didn't get very far.
something got flagged?
 
I'm making the source open soon
 
I see some people here who aren't usually here.
 
The cpu is cooled with compressed liquid nitrogen
I needed the raw power so I used Java with COBOL bindings
 
Do you see dead people?
 
@iKlsR Don't be a pussy, bust out the Helium
 
9:49 PM
Nuu
Self funded..
If I were to say now.. have a small loan.....
 
Jon
someone flag something?
 
I don't see any
I have some sketches and old source here on my blog goo.gl/exfpHn
 
Jon
ah usually when blue mods appear, a flag was thrown
 
I'm not a mod
 
9:52 PM
coderanger dreamawake and rory are all people i've not seen here
and now david freitag
 
Thanks for the link, I'm actually doing some quaternion magics atm
 
wow nice link jon
 
Jon
he has some other good stuff too
 
lol i have a working gpu based voxel gen and a working cpu based mesh gen for those voxels and yet i'm asking the most basic questions because of unity's weird behavior
 
Jon
9:54 PM
yuck, video tutorial
such hard work put into those...
 
Jorge kills it, he has done some work on the Blender Game Engine
 
@Almo We'Re being invaded! To arms! To arms!
 
what do you guys make of this one ...
 
Jon
ah ok, if you can vouch then fine
 
@Wardy unity's werid behavior yeah
 
Jon
9:55 PM
I typically don't watch video tutorials, because they are usually a guy writing code
 
This dude is math
I hate tutorials, they bore me, I look at them more as lectures
 
@Almo i either just don't get how to put stuff in buffers or unity is bugged ... im inclined to think i'm being a total retard rather than assume unity is fundamentally is broken but this completely bonkers ...
 
Rolled a custom exporter the other day using some tips from here youtube.com/…
Well back to reviewing prs.. :zzz:
 
@Wardy I don't understand the stuff yuou're doing there or I'd take a look. sorry man :(
 
Jon
yeah slow down
@Wardy whats up?
 
9:57 PM
@jon forum.unity3d.com/threads/…
no idea
 
Jon
talk to me instaed... too much text
 
unity wierdness
 
Jon
i just have a hard time focussing
gf talking to me
 
it either doesn't put values in the buffer or doesn't give anything but unity compiled c++ the result of computed data on the gpu
 
Jon
with unity shaders, you have to do it the unity way
 
9:59 PM
#pragma kernel CSMain1D
RWStructuredBuffer<int> result1d;

[numthreads(2,1,1)]
void CSMain1D (int3 id : SV_DispatchThreadID)
{
     result1d[id.x] = 1;​
}
 
Jon
I haven't written a compute shader yet...
 
dead simple right?
 
@Jon nah - I was just semi-randomly browsing through. Nothing to worry about :-)
 
@RoryAlsop Worry? Is this slang for getting popcorn?
 
@Jon well i can't see how its crazy different to a pixel shader ... just you only run it once instead of every frame
 
Jon
10:01 PM
yeah, the main difference is you ahve to manually pass data back and forth
 
@Jon yeh
my cpu code for 1d buffer works a treat
 
Jon
but not only that... unity provides ShaderLab
 
but when i move in to 2d or 3d it behaves wrong
or i just don't know how to use it right lol
 
Jon
[numthreads(1,1,1)]
void FillWithRed (uint3 dtid : SV_DispatchThreadID)
{
    res[dtid.xy] = float4(1,0,0,1);
}
try uint
instead of int
 
yeh tried that :(
 
Jon
10:05 PM
also... try float4(1,1,1,1) instead of 1
 
in fact i actually suggested that as an answer on a question from someone else on here lol
 
Jon
which might explain the extra dimension problem.
 
im only populating an int buffer
not a vector4 buffer
 
Jon
RWTexture2D<int> result2d;
 
#pragma kernel CSMain1D
#pragma kernel CSMain2D
#pragma kernel CSMain3D

RWStructuredBuffer<int> result1d;
RWTexture2D<int> result2d;
RWTexture3D<int> result3d;

[numthreads(2,1,1)]
void CSMain1D (uint3 id : SV_DispatchThreadID)
{
	result1d[id.x] = 1;
}

[numthreads(2,2,1)]
void CSMain2Du (int3 id : SV_DispatchThreadID)
{
	result2d[id.xy] = 1;
}

[numthreads(2,2,2)]
void CSMain3D (uint3 id : SV_DispatchThreadID)
{
	result3d[id.xyz] = 1;
}
 
Jon
10:06 PM
ok
 
complete sample for 1d, 2d, and 3d
1d works
 
Jon
it crashes after first pass
 
the rest only set 1 on the first element for some reason
what crashes?
 
Jon
the shader
 
im not getting any exceptions
no idea how to get them either :(
 
Jon
10:08 PM
testBuffer.GetData(result);
 
if thats what's happening ...
 
Jon
where result = new int[2,2];
This is returning a single <int>
i think that is your problem
 
hmmm
yeh thats what i'm seeing
but why?
 
Jon
result2d[id.xy] = 1;​
 
does that per thread
 
Jon
10:10 PM
shouldn't this be something like result2d[id.x, id.y]
I am really not good with shader stuff, i'm just trying to help
 
These NASA travel ad posters are amazing: jpl.nasa.gov/visions-of-the-future
 
if i do that i get a shader error, it expects a "scalar vector with the right number of dimensions"
id.xy is like saying Vector2(x,y)
takes a vector2 component from the vector3
 
Jon
right
 
so in the case of a buffer in the format RWTexture2D<int> i'm expected to give a Vector2 position of where i want to put an int and then the value
buffer[xy] = int
in this case the xy comes from shader c style short hand id.xy from the id.xyz object i had passed in by the caller
 
@Lokkij do you know the licensing situation with these?
I'd kinda love to put those up on some walls in my game lol
 
10:16 PM
 
aww yeaa
 
:D
 
hey guys
slow night in here tonight?
 
there was a woman here earlier now we're all tired out
 
thats all it takes huh?
the mere sight of a womans chat
 
@Jon kalina had positive feedback after playing picross for the last hour or so
 
Jon
he didn't say anything to me.
 
ssorcip
 
Is there a clean (std::) way to transform a std::unique_ptr into a std::shared_ptr?
 
sounds like something you don't want to do, for some reason
I don't really know for sure though
 
10:44 PM
@AlexandreVaillancourt Does the pointee class have enable_shared_from_this?
 
Well, here is the use case: you have a factory that produces objects, you want to put your object in a smart ptr, what smart ptr do you use? the unique_ptr because that's the cleanest.. but your user needs to share it...
 
user4704
@AlexandreVaillancourt std::shared_ptr p(some_unique_ptr)
 
@MickLH I don't know?!
 
user4704
shared_ptr has a constructor that takes unique_ptr<T>&&
 
@JoshPetrie Does this automatically move the pointer out of the unique ptr?
 
user4704
10:46 PM
Yes, otherwise it would blow up.
 
Right, then that's definitely the "clean" way lol
 
class Test
{
public:
  Test() { std::cout << "Test()\n" << std::endl; }
  ~Test() { std::cout << "~Test()\n" << std::endl; }
  Test( const Test& other ) { std::cout << "Test( const Test& other )\n" << std::endl; }
  Test& operator=( const Test& other ) { std::cout << "Test& operator=( const Test& other )\n" << std::endl; }
  Test( Test&& o ) { std::cout << "Test( Test&& o )\n" << std::endl; }
  Test& operator=(Test&& other) { std::cout << "est& operator=(Test&& other)\n" << std::endl; }
};

int main( void )
Compiler complains :/
Hold on
 
This seems a little misguided
If you plan to make a shared_ptr out of it, you should make it a shared_ptr from the get-go
 
that's kind of what I was thinking
 
Yeah, I'd like not to use shared ptr at all, but we have a big fan here, so I'd like to limit his fun.. :/
 
10:51 PM
Fuck who's a fan of what, use the right tool for the job
 
And I don't see how/why a factory should assume the object will be shared.
I would.
 
I don't see how a factory is relevant... is the ownership shared or not?
 
It shouldn't. But the 'fan' does not really care ;)
 
Just use the right tool for the job, this is programming not some willy nilly bullshit
If they have a problem with doing things the right way, and they aren't fired for it, they can donate their own time to fucking up the codebase
 
Yeah, in this case, it should be a unique_ptr
@JoshPetrie Thanks:
  std::unique_ptr<Test> u = std::make_unique<Test>();
  std::shared_ptr<Test> s( std::move( u ) );
 
10:56 PM
I always fire people who mix religion with coding style
 
I'd be glad to have that kind of power ;)
 
If I can't fire them, I file all their code under "Reverse Engineering" and charge $300/hour to deal with their code
 
hahaha
 

« first day (2015 days earlier)      last day (3012 days later) »