After almost a year in development, Rant can finally match genders between names and pronouns.
As funny as it is to have female characters named Dick, Bob and Fitzwilliam with no way to stop it, this feature is very much needed. It's about fucking time I put it in.
[QUOTE=Berkin;46755823]After almost a year in development, Rant can finally match genders between names and pronouns.
As funny as it is to have female characters named Dick, Bob and Fitzwilliam with no way to stop it, this feature is very much needed. It's about fucking time I put it in.[/QUOTE]
Not all names are gender-specific though, not to mention that there are people with names from their opposite gender. Does Rant take that into consideration?
[QUOTE=G4MB!T;46755896]Not all names are gender-specific though, not to mention that there are people with names from their opposite gender. Does Rant take that into consideration?[/QUOTE]
The gender-matching ability is a side-effect of a new feature called the [I]associative carrier[/I], which, when applied to two or more queries, forces the selected words to share [B]exactly[/B] the same classes (male, female, etc.).
Example:
[code]<name:: @a> <verb.ed-transitive> <pron.poss:: @a> <noun>.[/code]
Outputs:
[quote]Baron bathed his tuna.
William seasoned his chin.
Helen stroked her tree.
Tiffany stimulated her apple.[/quote]
This becomes a problem with gender-neutral names, because they are marked as both genders in my dictionary. This requires the corresponding pronoun to either be queried first (which places its classes in the state object that handles associations), or for it to have both "male" and "female" classes. The reason this is an issue is because I would be forced to do one of two things: structure my pattern to place the pronoun first to ensure that the gender association succeeds, or use a gender-neutral pronoun (e.g. "they" instead of "he" or "she"). Neither of these are universal solutions.
So, to answer your question: "kind of." I'll have to add additional configuration options for the dictionary files in order to correct associative carrier behavior for these cases.
Could you do like a dual pass thing for your queries where you would do an initial pass to gather context then the second pass would use the context to decide if a gender neutral is male or female?
[editline]20th December 2014[/editline]
Also a quick question about the generated example you posted. While the examples are hilariously stupid, is it possible to generate phrases that actually make sense?
[QUOTE=G4MB!T;46756013]Could you do like a dual pass thing for your queries where you would do an initial pass to gather context then the second pass would use the context to decide if a gender neutral is male or female?[/QUOTE]
What I will most likely do is add a flag that allows classes to be made "optional" in the word association.
Currently, name entries look like this:
[code]> Alice
| class female
> Bob
| class male[/code]
With the new "optional classes," I might write up a gender-neutral name like this:
[code]> Sam
| class male? female?[/code]
Suppose I query a pronoun and I get the male entry. I then query a name and get the neutral entry above. Rant would check both entries for optional classes and remove them, leaving behind no classes to check, and satisfying the association. The name implicitly becomes male because of the selected pronoun.
The only downside to this idea is that you would need a match carrier to ensure you get the same gender of pronoun for each subsequent query.
[editline]20th December 2014[/editline]
[quote]Also a quick question about the generated example you posted. While the examples are hilariously stupid, is it possible to generate phrases that actually make sense?[/quote]
Yes, but you have to write the pattern with coherence specifically in mind. It's an art of sorts.
Well whatever works I suppose. Unfortunately I dont use Rant myself (I find the syntax a little... odd) and the implementation is well above my head but I think the concept is rather nice.
[QUOTE=G4MB!T;46756060]Well whatever works I suppose. Unfortunately I dont use Rant myself (I find the syntax a little... odd) and the implementation is well above my head but I think the concept is rather nice.[/QUOTE]
It's designed to be as concise as possible, which is why most people compare it to regex. I guess that's pretty fair. If it really is a problem for people who are genuinely interested in using it, it is possible to create a preprocessor that compiles a more readable grammar into normal Rant.
Once you get used to it, though, the weird syntax is quite nice! Very complicated behaviors can be achieved with a small amount of code.
rant really should have c or c++ bindings
[QUOTE=DarKSunrise;46756124]rant really should have c or c++ bindings[/QUOTE]
I'm all for it :D. I'd even offer to help if it was to go ahead.
[QUOTE=DarKSunrise;46756124]rant really should have c or c++ bindings[/QUOTE]
That can be done by invoking the .NET or Mono runtimes, but I think that's the only way to do it without writing a full-on port.
[QUOTE=Berkin;46756160]That can be done by invoking the .NET or Mono runtimes, but I think that's the only way to do it without writing a full-on port.[/QUOTE]
Isn't .NET Windows only though? Wouldn't you have to use WINE or something on Linux/Mac (Or Android [Hint hint])?
[QUOTE=G4MB!T;46756189]Isn't .NET Windows only though? Wouldn't you have to use WINE or something on Linux/Mac (Or Android [Hint hint])?[/QUOTE]
That is why I mentioned Mono. It is cross-platform.
[QUOTE=Trumple;46754071][IMG]https://dl.dropboxusercontent.com/u/10518681/Screenshots/2014-12-20_01-34-57.png[/IMG]
Was this written by a 5 year old?[/QUOTE]
Shit, you reminded me I need to clean those debugs out of my code before new programmers comes in.
Also I realized I have big problem, afte 6-7 years of coding I still write piece of shit code (it works but it is spaghetti code).. what should I do?
[QUOTE=Fourier;46756213]
Also I realized I have big problem, afte 6-7 years of coding I still write piece of shit code (it works but it is spaghetti code).. what should I do?[/QUOTE]
Well, being able to write spaghetti code while realizing later that you've written spaghetti code at least means you're capable of recognizing spaghetti as you're working. Just plan your classes ahead of time, think about interfaces between classes, look up common programming patterns, and try to abstract classes and functionality away as much as possible (or as much as it makes sense to do) by breaking them down into smaller, individual components (can also be done with individual functions)
[url]http://en.wikipedia.org/wiki/Coupling_(computer_programming)[/url]
[url]http://www.oodesign.com/[/url]
[QUOTE=DrDevil;46754058]Also dat font rendering[/QUOTE]
To be fair, the rendering was done inside gitlab, before cloning it.
[editline]20th December 2014[/editline]
[QUOTE=Map in a box;46754196]After much testing of something not working, you'll call something a fucking dumbass cunt that you'll kill the fucking family of if it doesn't fucking god damn worked after the FUCKING FIVE HUNDREDTH TIME AND IM ABOUT TO :smithicide:[/QUOTE]
Specially with this API, Javascript Flash is the API used to extend the flash pro ide, and it's frustating because most of the stuff is broken and you have to work arround it.
[QUOTE=Trumple;46756255]Well, being able to write spaghetti code while realizing later that you've written spaghetti code at least means you're capable of recognizing spaghetti as you're working. Just plan your classes ahead of time, think about interfaces between classes, look up common programming patterns, and try to abstract classes and functionality away as much as possible (or as much as it makes sense to do) by breaking them down into smaller, individual components (can also be done with individual functions)
[url]http://en.wikipedia.org/wiki/Coupling_(computer_programming)[/url]
[url]http://www.oodesign.com/[/url][/QUOTE]
Ok, next project I will design/plan everything before it comes to writing the code
I uploaded a video showing five scenes with 2D ragdoll physics and some other fun stuff that can be made using Box2D and my editor.
[media]http://www.youtube.com/watch?v=RCBEOd0Frp0[/media]
- skeleton flipping/scaling, joint limits
- custom gravity for maps, mouse joint
- skeleton animation to ragdoll transition
- player controlled vehicles (event-action)
- removing bodies and joints in realtime - railgun
- adding joints in realtime - stakegun
You can download it if you want. There are some rendering glitches, that luckily aren't appearing in the video. There are always some problems when I want to share something :(
[url]http://antonior-software.blogspot.com/2014/12/broken-mug-engine-2d-ragdoll-physics.html[/url]
[quote]
[img]http://i.imgur.com/cLO5ePT.jpg[/img]
[img]http://i.imgur.com/JB6PNPb.jpg[/img]
[/quote]
[QUOTE=Berkin;46754044]That indentation makes me physically uncomfortable.[/QUOTE]
[URL="https://bitbucket.org/Tamschi/modmerge/src/5f596a16c9fbcad16f263a6f36b239b0017087a8/MainWindow.xaml.cs?at=default"]4.5 years ago[/URL]
(I'm going to clean it up. Eventually.)
[QUOTE=Tamschi;46756805][URL="https://bitbucket.org/Tamschi/modmerge/src/5f596a16c9fbcad16f263a6f36b239b0017087a8/MainWindow.xaml.cs?at=default"]4.5 years ago[/URL]
(I'm going to clean it up. Eventually.)[/QUOTE]
[code]
mapListBox.ItemsSource = _modInfo.Where(x => DirectoryChecker.HasMap(x.Path.FullName)).Select(x =>
{
var r
=
new MapListBoxItem
(x);
r.
Radio
.
Checked
+=
(
sender,
e)
=>
{
_mapCounter
++;
UpdateCompileState
();
};
r.
Radio
.
Unchecked
+=
(
sender,
e)
=>
{
_mapCounter
--;
UpdateCompileState
();
};
return
r;
}).ToArray
[/code]
what the fuck dude
[QUOTE=Tamschi;46756805][URL="https://bitbucket.org/Tamschi/modmerge/src/5f596a16c9fbcad16f263a6f36b239b0017087a8/MainWindow.xaml.cs?at=default"]4.5 years ago[/URL]
(I'm going to clean it up. Eventually.)[/QUOTE]
How does this even happen?
Spaces and tabs?
Do you guys put forks on github into your own accounts, or do you have a fake organisation like "username-forks" that you put forks into to not fill up your github profile with irrelevant forks?
[QUOTE=Richy19;46756880]Do you guys put forks on github into your own accounts, or do you have a fake organisation like "username-forks" that you put forks into to not fill up your github profile with irrelevant forks?[/QUOTE]
Normally when I fork it's to make a PR, and in that case I will clone locally on my own machine (without forking on github) do the work, then fork, send PR. then once it's merged or declined. remove the fork to avoid clutter.
Both IDE's i've used can auto-format selected code. no excuse for weird-ass indentation.
[QUOTE=Darwin226;46756847]How does this even happen?
Spaces and tabs?[/QUOTE]
Autoformatting. Probably.
[editline]20th December 2014[/editline]
[QUOTE=alien_guy;46756990]Both IDE's i've used can auto-format selected code. no excuse for weird-ass indentation.[/QUOTE]
It's highly unlikely I'd have produced it with that consistency even back then.
I think I was trying some competitor of ReSharper at the time.
[QUOTE=Richy19;46756880]Do you guys put forks on github into your own accounts, or do you have a fake organisation like "username-forks" that you put forks into to not fill up your github profile with irrelevant forks?[/QUOTE]
If I find a project interresting, I star it. If I find it *really* interresting, and think I might also work on it sometime, I'll fork it. I've done so with things like fuccboiGDX, WhiteDB, luakit, and some other shit. Sometimes I do some work on it, sometimes I don't. But most important is that I fork to ensure survival of a project (in case the project creater/lead/host decides to scratch it and remove it).
[URL="https://bitbucket.org/Tamschi/meshview/src/"]I just released the source code for my first larger project (started in mid 2010).[/URL]
As it turns out it's not (outright) horrible.
It's probably my largest single project to date too.
I blame not reaching the same levels of both motivation and boredom at the same time since then :suicide:
(I actually do have quite a bit of more recent stuff that's a lot better/more impressive though (but it's mostly private).)
[editline]edit[/editline]
In case you're wondering what it does: [URL="http://www.titanquest.net/tq-forum/threads/35181-MeshView"]It's a mesh viewer/editor for Titan Quest.[/URL]
[img]https://dl.dropboxusercontent.com/u/5013896/Wuala/MeshViewWIPProgress.png[/img]
Not terribly complex (and missing proper support for a standard format), but it can display multiple meshes and textures at once and do low-level editing of (iirc) all data in the file.
It renders using WPF though so it's not terribly accurate and I can't add animation support without redoing the whole display system in a much more complicated way.
[QUOTE=Rocket;46758708]All of my old really shitty stuff is on my old laptop, but I offer [url=https://gist.github.com/cpancake/28b5450d11665b89cf05]this[/url] PHP flash game website from two or so years ago.[/QUOTE]
[quote=The entirety of footer.php][code] </div>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="/shgames/js/bootstrap.min.js"></script>
</body>
</html>[/code][/quote]
Interesting document composition aside it's fairly legible. Then again I don't speak PHP so I'm probably missing something.
I've been working a lot on planet rendering lately, I managed to get a planet with a radius of 6360000 meters running without a single precision artifacts. This is possible by combining some simple tricks. First of all, the transformation are done using double precision on the CPU and casted into float before being sent to the GPU. Then you need to transform the tiles quad in the camera frame to get smaller coordinate values. Finally I used [URL="http://outerra.blogspot.ca/2013/07/logarithmic-depth-buffer-optimizations.html"]Outerra Logarithmic depth buffer[/URL] to get rid of the far view artifacts. I also implemeted [URL="http://proland.inrialpes.fr/"]Proland[/URL]'s way to blend the tiles elevation to avoid popping artifacts on a quadtree system, this means that I'm probably going to drop dynamic tessellation altogether and be able to support lower version of opengl.
[img]http://i57.tinypic.com/2q8cy3d.jpg[/img]
[img]http://i59.tinypic.com/315xraw.jpg[/img]
[QUOTE=HiredK;46759008]stuff'n'things[/QUOTE]
A video would be cool, I want to see this in action :D
[QUOTE=Fourier;46756764]Ok, next project I will design/plan everything before it comes to writing the code[/QUOTE]
But that doesn't work either. You can easily end up planning [i]too much[/i], and when you start implementing it you realize that your design is impractical.
Good programming is about finding the right balance between careful planning and figuring out things as you go.
Sorry, you need to Log In to post a reply to this thread.