[QUOTE=Alice3173;50362259]Is there any free and easy to use/setup version of this sort of thing that focuses on local storage rather than pushing all your changes to a server?[/QUOTE]
Why offline? One of the greatest features of version control is that it also backs up your data at the same time. That way you don't loose all of your project when you lose your computer for whatever reason.
[QUOTE=DrDevil;50364102]Why offline? One of the greatest features of version control is that it also backs up your data at the same time. That way you don't loose all of your project when you lose your computer for whatever reason.[/QUOTE]
My interest in version control isn't really so much backing things up as it is the ability to revert changes when I inevitably screw something up in a project badly enough that I can't figure out how to fix it. If I were to worry about backups I'd rather just back it up to one of my other drives, my external, or my own server rather than somewhere like Github.
Decided to give Mercurial a try though. It seems straight forward enough with TortoiseHg, it'll just take some getting used to.
[QUOTE=Alice3173;50364193]My interest in version control isn't really so much backing things up as it is the ability to revert changes when I inevitably screw something up in a project badly enough that I can't figure out how to fix it. If I were to worry about backups I'd rather just back it up to one of my other drives, my external, or my own server rather than somewhere like Github.
Decided to give Mercury a try though. It seems straight forward enough with TortoiseHg, it'll just take some getting used to.[/QUOTE]
Make sure you select [I]Display[/I](?) -> [I]Show Console[/I] (or press [I]Ctrl+L[/I]): It shows you all command lines and the results as the GUI executes them (or at least it pretends to do that. Hg doesn't actually go through the system command line since it has a Python API that can be called directly).
Also enable the [I]evolve[/I] extension in the options, since that makes it a little more difficult to lose any changes locally. It turns almost all destructive history editing into non-destructive commands that only hide revisions.
[editline]21st May 2016[/editline]
Check your start menu. As it turns out, Hg comes with a command reference and a book in pdf form in case you need them. (It's probably a good idea to read them eventually, but it's pretty difficult to screw up anything.)
Got StackPanel and ScrollPanel implemented! Still as fast as you could want.
[vid]https://zippy.gfycat.com/SoupyYoungBufflehead.webm[/vid]
[t]http://i.imgur.com/TbHXrt3.png[/t]
[QUOTE=Alice3173;50364193]My interest in version control isn't really so much backing things up as it is the ability to revert changes when I inevitably screw something up in a project badly enough that I can't figure out how to fix it. If I were to worry about backups I'd rather just back it up to one of my other drives, my external, or my own server rather than somewhere like Github.
Decided to give Mercurial a try though. It seems straight forward enough with TortoiseHg, it'll just take some getting used to.[/QUOTE]
Hosting your own git is easy though. There even is software to host your own github-like page if that's what you desire.
Also, can you tell me why you don't like github? I think it's one of the most awesome sites for hosting your projects.
TortoiseHg also ships with hggit which, while not perfect, lets you use Git remotes.
(Mercurial's branch information is more detailed than Git's, but I think that information is stored in the commit message (which semantically actually makes sense, since in Hg the associated branch is a fixed revision property). If you pull a normal Git repo you'll only end up with a [I]default[/I] branch though.)
I just cloned the [URL="https://github.com/dotnet/corefx"]corefx[/URL] repo without issue that way ([I]hg clone git://github.com/dotnet/corefx.git[/I]) and noticed there's a very recent revision tagged release/1.0.0 now. Then again that's a Git branch so it's not as fixed as Hg bookmarks usually are.
[QUOTE=DrDevil;50364102]Why offline? One of the greatest features of version control is that it also backs up your data at the same time. That way you don't loose all of your project when you lose your computer for whatever reason.[/QUOTE]
This is really just a side effect of wanting a central location for distribution of source code. A proper backup solution would yield backups as well, and things like [url]https://www.backblaze.com/[/url] provide unlimited sized backups.
Git also doesn't protect against partly being corrupted or against power loss during commits or merges.
In any way, I suggest using a proper backup solution for keeping backups. That's not what git or hg is for, they're for version control.
They do make creating (proper) backups very easy, though.
[QUOTE=DrTaxi;50365147]They do make creating (proper) backups very easy, though.[/QUOTE]
Proper backups are automated. You don't create them manually. They just happen, so you don't have to worry about anything ever.
Question for you guys: I've about to start on some VR development, but my setup is sort of awkward; I have my main VR/gaming PC setup in the living room where I have space for roomscale VR but my main workspace with my desk & monitors is in my office.
It's really awkward to do dev work in the living room so I'd like to create builds (probably Unity at this point) and push them to my VR box for testing. Is there a good tool/workflow to set this up?
[img]http://carp.tk/$/1463851342.png[/img]
Accidental saw shape generator! I have like no idea how to properly smooth the resulting convex shape into a energy-shield-like shape.
[QUOTE=ChristopherB;50365290]Question for you guys: I've about to start on some VR development, but my setup is sort of awkward; I have my main VR/gaming PC setup in the living room where I have space for roomscale VR but my main workspace with my desk & monitors is in my office.
It's really awkward to do dev work in the living room so I'd like to create builds (probably Unity at this point) and push them to my VR box for testing. Is there a good tool/workflow to set this up?[/QUOTE]
Personally I'd probably use either a network drive or desktop remote control :v:
Working on simple animation program to make further development easier.
[vid]http://files.catbox.moe/5k13r3.webm [/vid]
It's a bird or a drowning headless person.
[media]https://www.youtube.com/watch?v=kvyIMBz5v7U[/media]
Working with Unity and the Vive is quite fun.
I wish I had a Vive.
[QUOTE=Robotboy655;50367342]I wish I had a Vive.[/QUOTE]
While we're wishing, I wish I had a HoloLens
[QUOTE=DrDevil;50364529]Also, can you tell me why you don't like github? I think it's one of the most awesome sites for hosting your projects.[/QUOTE]
This is what I get for posting while sleep deprived, lol. It's not really that I dislike Github. It's just that my main focus is simply the version control portion of the software. Backups aren't really a concern for me (at least currently) but if they were I'd prefer to host them myself since I'd have full control over every facet of them.
Made a bunch more architectural changes (read: rewriting about 60% of my code mostly from the ground up) surrounding rendering and how to get the right data to the gfx and optimise. I've basically rewritten all my OpenGL abstraction/automation at this point, as well as coming up with a new way of automating vertex list construction.
From the application developer's point of view, the engine is much more "shader-ey" now - an Entity requires a Shader component to be renderable, which contains a bunch of data about the shader's attribute layout and uniform requirements. The app dev's job is to configure shader programs on load, and set these up on the Game object itself for retrieval and use later on.
I'm not sure if this will work long-term or if it's even a good idea, but developers can now create their own shaders without having to worry about any kind of rendering logic, by way of a list of pre-determined variable names for use in shader attributes/uniforms to "request" certain entity component property values. Example (note the shaderName properties):
[code]
//transform component
var Transform2D = function(position, dimensions, velocity) {
this.position = {
value: position,
shaderName: "center"
};
this.angle = {
value: 0,
shaderName: "angle"
};
this.scale = {
value: new Vec2(1, 1),
shaderName: "scale"
};
this.transform = {
value: new Mat3(),
shaderName: "transform"
};
};
Transform2D.prototype.name = "transform2D";
[shader]
//a simple vertex shader
VERTSHADERS2D["new-transform-colored"] = function() {
return {
src: 'precision mediump float;' +
'attribute vec2 pos;' +
'attribute vec4 col;' + //maps to <entity>.components.flatColor.color [Vec4]
'uniform mat3 transform;' +
'uniform mat3 projection;' +
'uniform mat3 view;' +
'varying vec4 Col;' +
'void main() {' +
' Col = col;' +
' gl_Position = vec4((view * projection * transform * vec3(pos, 1)).xy, 1.0, 1.0);' +
'}',
attributes: {
pos: 2,
col: 4
},
dataPerVert: 6, //could automate this
globalUniforms: {
//do not change per render call - provide values
projection: {
type: "mat3",
value: GAME.renderer.projectionMatrix2D.values
},
view: {
type: "mat3",
value: GAME.renderer.viewMatrix2D.values
},
},
instanceUniforms: {
//will be matched to <entity>.components.transform2D.transform by the "shaderName" property
transform: "mat3"
}
};
};
[/code]
(The only exception is "pos" - that'll be taken as each vertex's position during processing)
At render time, the Entity Manager will group renderables by their Shader component, using the information about the attributes and uniforms to configure the Renderer state and build vertex lists, pass uniform values etc before finally actually rendering.
It retrieves the attribute values by finding the entity component values whose shaderName matches each attribute key.
It definitely works - I have a bunch more planned changes to make so it might become inconvenient (either way it definitely has some incoming changes), but it'll help me push forward towards a much more capable engine.
So, Some people change their SSH port on their servers so that it is slightly harder to find for bots.
Issue is that people say that this is [URL="https://www.adayinthelifeof.nl/2012/03/12/why-putting-ssh-on-another-port-than-22-is-bad-idea/"]security[/URL] [URL="https://lonesysadmin.net/2012/10/19/on-using-alternate-ports-for-ssh/"]by obscurity[/URL] ( to be fair, there are other posts that say the other way, but for this silly thing, I am just going to say that people universally hate that idea )
Well! I give you a whole new level of security by obscurity!
[URL="https://en.wikipedia.org/wiki/One-time_password#Time-synchronized"]TOTP[/URL] generated SSH port fluxing!
[vid]https://cache.benjojo.co.uk/DataStore/tmp/screencast-2016.05.22-17.24.45.webm[/vid]
Only issue is that TOTP codes are normally 6 digits, So I have to truncate the last one.
[QUOTE=bootv2;50371183]I use Perforce at work. It's very much possible to check out the same file with multiple users. Yes, users can lock checked out files so others can't check out those files but this doesn't happen automatically.[/QUOTE]
I see, thanks for the clarification. That was based off an experience with a school project and with Unreal's beta perforce support a couple years back, perhaps we were doing something wrong.
[QUOTE=Socram;50371995]I see, thanks for the clarification. That was based off an experience with a school project and with Unreal's beta perforce support a couple years back, perhaps we were doing something wrong.[/QUOTE]
perforce has the concept of "exclusive checkout" which is usually applied to binary files (like in ue4's case that would be uasset and umap files). text files usually won't have this as perforce handles merging pretty well.
[QUOTE=benjojo;50371148]
Well! I give you a whole new level of security by obscurity!
[URL="https://en.wikipedia.org/wiki/One-time_password#Time-synchronized"]TOTP[/URL] generated SSH port fluxing![/QUOTE]
Lol, but does this affect the session if it changes ports while you're connected?
[url]http://makerfaire.com/national/call-for-makers/[/url]
I want to enter something but these things generally attract novelties. Any ideas?
[QUOTE=LordOfGears2;50372167]Lol, but does this affect the session if it changes ports while you're connected?[/QUOTE]
I don't know the details, but for SSH itself it likely won't. Any changes made to a running SSH session won't go through until those sessions have been dropped. Simply restarting SSH will likely do this, though.
I've made a (really) quick and dirty proof-of-concept AI/bot for the Messenger basketball game
[vid]http://files.milje.me/screenshots/2016-05/2016-05-22_21-51-52_cbaf52.webm[/vid]
If you can even call that an artificial "intelligence" by the way it plays sometimes :v:
It managed 20 points this one time I tested it, with some luck and divine intervention.
[QUOTE=LordOfGears2;50372167]Lol, but does this affect the session if it changes ports while you're connected?[/QUOTE]
Nope, Thanks to PREROUTING in linux once the connection is opened, the connection will stick because it's in the connection table
Getting back into C#
[vid]https://my.mixtape.moe/qevxzw.mp4[/vid]
trippy
[QUOTE=benjojo;50371148]So, Some people change their SSH port on their servers so that it is slightly harder to find for bots.
Issue is that people say that this is [URL="https://www.adayinthelifeof.nl/2012/03/12/why-putting-ssh-on-another-port-than-22-is-bad-idea/"]security[/URL] [URL="https://lonesysadmin.net/2012/10/19/on-using-alternate-ports-for-ssh/"]by obscurity[/URL] ( to be fair, there are other posts that say the other way, but for this silly thing, I am just going to say that people universally hate that idea )
Well! I give you a whole new level of security by obscurity!
[URL="https://en.wikipedia.org/wiki/One-time_password#Time-synchronized"]TOTP[/URL] generated SSH port fluxing!
[vid]https://cache.benjojo.co.uk/DataStore/tmp/screencast-2016.05.22-17.24.45.webm[/vid]
Only issue is that TOTP codes are normally 6 digits, So I have to truncate the last one.[/QUOTE]
That's actually pretty cool. Could you explain how you set that up?
[QUOTE=Perl;50372997]That's actually pretty cool. Could you explain how you set that up?[/QUOTE]
I actually [URL="https://twitter.com/Benjojo12/status/734428139854651392"]tweeted[/URL] this and it went a little nuts, I made a [URL="https://github.com/benjojo/totp-ssh-fluxer"]github repo[/URL] + [URL="https://blog.benjojo.co.uk/post/ssh-port-fluxing-with-totp"]blog post[/URL] on how it works
After thinking I could come up with a better way of calculating normal map transformations in 2D I finally caved in and went with the good old tangent + bitangent approach. Turns out this was simple and also very efficient. Now I've [B]finally[/B] got 100% working tangent space normal maps, taking into account rotation, negative scaling and all that. Extra important for when I finally create normal maps for the first player character. For now though here's a shot of tangents/bitangents of a rigged Spine skeleton mesh visualized:
[img]http://www.dslengine.se/wp-content/uploads/2016/05/08_Character_Tangents-766x604.jpg[/img]
I also created a blog to track progress and posted a pretty in-depth post on how I went about implementing the normal map stuff, if that's of any interest to anyone: [url]http://www.dslengine.se/rendering/normal-mapping-in-2d//[/url]
Sorry, you need to Log In to post a reply to this thread.