i really need to switch from nuget to vcpkg at some point.. nuget is a nightmare because nobody is maintaining the packages so you end up having to maintain them yourself, and every time there is a new visual studio version released, you'll have to recompile every single package for that version
Thanks Jetbrains Rider for converting this in to LINQ for me, much better.
var min = (from collider in colliders where ignoreUid == null || collider.UID != ignoreUid.Value let t1 = (collider.AABB.Left - origin.X) * dirfrac.X let t2 = (collider.AABB.Right - origin.X) * dirfrac.X let t3 = (collider.AABB.Bottom - origin.Y) * dirfrac.Y let t4 = (collider.AABB.Top - origin.Y) * dirfrac.Y let tmin = Math.Max(Math.Min(t1, t2), Math.Min(t3, t4)) let tmax = Math.Min(Math.Max(t1, t2), Math.Max(t3, t4)) where !(tmax < 0) where !(tmin > tmax) select tmin).Concat(new[] {float.MaxValue}).Min();
var min = float.MaxValue;
foreach (var collider in colliders)
{
if(ignoreUid!=null && collider.UID == ignoreUid.Value) continue;
var t1 = (collider.AABB.Left - origin.X)*dirfrac.X;
var t2 = (collider.AABB.Right - origin.X)*dirfrac.X;
var t3 = (collider.AABB.Bottom - origin.Y)*dirfrac.Y;
var t4 = (collider.AABB.Top - origin.Y)*dirfrac.Y;
var tmin = Math.Max(Math.Min(t1, t2), Math.Min(t3, t4));
var tmax = Math.Min(Math.Max(t1, t2), Math.Max(t3, t4));
// if tmax < 0, ray (line) is intersecting AABB, but the whole AABB is behind us
if (tmax < 0)
continue;
// if tmin > tmax, ray doesn't intersect AABB
if (tmin > tmax)
continue;
if (min > tmin) min = tmin;
}
Not sure what the code looks like, but right before flipping sides, the top right most pixel is aligned with the bottom center pixel, one frame later the top left most pixel is aligned with the bottom center pixel.
finally getting somewhere with optimizing the renderer in my engine. moving from plain glDrawElements calls to glMultiDrawElements. abstracted that into a "render_list" class that allows me to render a bunch of meshes at once, and set per-object draw parameters for them. it could still be optimized further by mapping and orphaning buffers on GL 3.3 (just using plain glBufferSubData for now) and using persistently mapped coherent buffers on GL 4.4, but I'm not sure if that's where the bottleneck is right now
this took a lot of groundwork as i had to move from a VBO & EBO per mesh to a global VBO & EBO, and a UBO per material to a global UBO. abstracted that into a "buffer_range" class that allows me to allocate subranges in these global buffers
before:
https://files.facepunch.com/forum/upload/145623/b173108b-79ed-4c20-85b6-e6c8f6739555/image.png
after:
https://files.facepunch.com/forum/upload/145623/65773430-54e3-499b-84aa-2bb4f5c387cc/image.png
I can't work on anything until my company makes a decision about multitenancy
I've come to realize that the biggest annoyance in my life right now is when I go to work and have nothing to do. There's no easier way to Ruin my day
Do you still get paid while you do nothing? Can you do personal projects while there?
This is the most draining thing in life, when you're forced to go to a place to do literally nothing.
I can't even work on personal projects because then my company owns it. We have an open floor plan so everyone (including the CEO) can look over my shoulder and see I'm just fucking around on Reddit all day
Yeah I just either look at interesting and relevant tutorials or work on something that can perhaps benefit the company but definitely benefit me. It isn't really our fault that there's nothing to do
what's the new programming king?
Child molester.
Cookie seems to have become the new Winner/Programming King. Good Idea also a solid option.
why not diamond?
Rate me diamond and you'll know why ;)
Okay, after a session with my therapist (unrelated), more progress:
https://files.facepunch.com/forum/upload/133270/037908f1-8039-485b-ba2d-619d2d014f2d/2018-03-30_19-25-46.mp4
FreeBASIC is so Syntactically pleasing to work with and look at:
#include "Wall.bi"
#include "point.bi"
#include "Intersection.bi"
Constructor Wall()
Print "Hello";
End Constructor
Constructor Wall(_P1 As Coord, _P2 As Coord)
This.P1 = _P1
This.P2 = _P2
This.CalculatePointSlope()
End Constructor
Sub Wall.Draw
Line (This.P1.X, This.P1.Y) - (This.P2.X, This.P2.Y), 2
End Sub
Sub Wall.CalculatePointSlope
This.Slope = (This.P2.Y - This.P1.Y)/(This.P2.X - This.P1.X)
This.Intercept = -(This.Slope * This.P2.X - This.P2.Y)
End Sub
Function Wall.GetIntersection(Second As Wall) As Intersection
Dim ThisIsVertical As Boolean = False
Dim SecondIsVertical As Boolean = False
If This.P1.X = This.P2.X Then
ThisIsVertical = True
End If
If Second.P1.X = Second.P2.X Then
SecondIsVertical = True
End If
If ThisIsVertical AND SecondIsVertical Then
Return Intersection(0,0, false)
ElseIf ThisIsVertical Then
Dim IntersectionVertCoord As Coord = Coord(This.P1.X, Second.Slope * This.P1.X + Second.Intercept)
Return Intersection(IntersectionVertCoord.X, IntersectionVertCoord.Y, This.IsInBounds(IntersectionVertCoord) AND Second.IsInBounds(IntersectionVertCoord))
ElseIf SecondIsVertical Then
Dim IntersectionVertCoord As Coord = Coord(Second.P1.X, This.Slope * Second.P1.X + This.Intercept)
Return Intersection(IntersectionVertCoord.X, IntersectionVertCoord.Y, This.IsInBounds(IntersectionVertCoord) AND Second.IsInBounds(IntersectionVertCoord))
End If
Dim _Slope As Double = This.Slope - Second.Slope
Dim _Intercept As Double = Second.Intercept - This.Intercept
Dim Multiplier As Double = _Intercept/_Slope
Dim _Y As Double = Multiplier * This.Slope + This.Intercept
Dim IntersectionCoord As Coord = Coord(Multiplier, _Y)
Dim Intersects As Boolean = This.IsInBounds(IntersectionCoord) AND Second.IsInBounds(IntersectionCoord)
return Intersection(Multiplier, _Y, Intersects)
End Function
Function Wall.IsInBounds(_Point As Coord) As Boolean
Dim MinX As Double = Math.Min(This.P1.X, This.P2.X)
Dim MinY As Double = Math.Min(This.P1.Y, This.P2.Y)
Dim MaxX As Double = Math.Max(This.P1.X, This.P2.X)
Dim MaxY As Double = Math.Max(This.P1.Y, This.P2.Y)
If(MinX <= _Point.X AND MinY <= _Point.Y AND MaxX >= _Point.X AND MaxY >= _Point.Y) Then
Return True
End If
Return False
End Function
I swear it's nicer with syntax highlighting
Fucking fight me haters
Too verbose
Includes suck
I prefer keywords to be lowercase
Print "Hello";
Why is this the only place requiring a semicolon ?
The entire language is case-insensitve, so the Uppercase is my own choosing. I used to do it in ALL CAPS LIKE
DIM X AS INTEGER = 1
also semicolons are not required. In fact I think most of the time they error out. This is probably a syntax error cause I'm 5.5 into a 6 pack
I love FreeBASIC for several reasons but syntax is certainly not one of them.
Maybe you should ask kybalt about a reference to that therapist
If you really like that syntax, you should check out Visual Basic .NET, it's the only basic with a somewhat sane syntax.
Hey guys, can you tell me how my resume looks? All feedback is welcome. I blacked out some personal info, it's also using Canadian spelling (hence the Honours/Labouring/etc.), and the top/bottom is grayed out because they're in Microsoft Word headers/footers so it won't be grayed out after printing.
https://i.gyazo.com/6b022a70c32757b65602a72a286eb26e.png
Crossed out Fall 2015 looks a bit weird.
Your interests are partially things you like unrelated to work and partially work related requests which has a bit of a weird vibe to it. Feels like a list of demands.
Your objective feels a bit off kilter, part of it is your past which is sort of unrelated to development. I personally don't have an objective so I don't really know what to put there. It just feels a little generic.
Make more use of the whitespace at the bottom, maybe just center it vertically.
Add some side projects or programming experience you have. Since you don't have much work related experience this will get your foot in the door.
Technologies section could be collapsed a little, feels like you're just filling space with things you don't know very much. I only list about 5 languages that I know I can perform very well in and anything else is just something mentioned in an interview or never discussed.
Make your name stand out a little more. I assume the crossed out line is contact info, make sure it's super easy to access. Maybe a github link?
Overall it's a decent resume but I feel like it doesn't stand out enough right now. Maybe some use of colour could help. Otherwise put some more emphasis on your actual programming related experience with the use of side projects.
For work experience I usually use bullet points to emphasize what I did an how that directly relates to what job I am applying to. This might mean cutting down a little on the farm work. It also feels weird that your current job's description is to look at a lower description. Maybe write in each box or somehow merge those two together?
If you don't have enough space cut out your high school diploma, and possibly add a more broad summary of qualifications that states what things you are good at not related to programming. Soft skills and other things that make you look good. This can be a substitute to your work related interests.
Woah, thanks for all the feedback! I really appreciate it.
The reason I've got the Fall 2015 crossed out is to avoid any confusion and to draw more attention to the asterisk (*). I didn't want anyone to think that I did actually get that honour, but instead to describe how I was close to getting it in case someone were to think that I messed up during my 3rd term or something. Do you think I should...
1. Uncross it and leave the rest as it is
2. Remove it and keep that note in the footer (without the asterisk of course)
3. Remove it + the description then mention it during any interviews if anyone asks about it
The rest of what you said is very good feedback, I'll try and adjust my resume accordingly.
I don't think its a bad idea to mention your academic successes, especially since you don't have all that much work experience to fill the resume with at this point. You'll probably remove it over time because you'll need more space for work experience. I think the best option is to either remove it or keep it in, remove the asterisk in both cases and don't cross it out, and if the interviewer mentions your education/deans honours you can say something like "Actually I lied a little. My fall GPA was just .01 points short" sort of just play it off and also explain how close you were. If you don't feel comfortable doing this then maybe just remove it and bring it up if they do, basically the same line just say you didn't include it because of the .01. I don't think anyone will fault you on "lying" about it since it's such a small discrepancy, but it really depends on your rapport with the interviewer and just kinda how you are as an individual so the choice is yours.
Sounds good, thanks again!
* Take out your skill ratings. It's a really common thing people do that doesn't provide much value to recruiters and hiring managers.
* Elaborate on your experiences more. You have some great ones, tell me about them.
* You show programming languages in your skill set; where did you use them?
* Remove interests.
* Remove "References available upon request." This is implied in all industries.
I have a current resume that I'm getting rid of, but this format did me okay for about 7-8 years. People here, friends, and family elsewhere have copied my layout with much success in their job search efforts, but I think there's a lot for me to improve on, too. I used to regularly work with all sorts of recruiters across every channel of opportunity I could reach out to, but I've since narrowed down to a few trusted people who help me connect with clients. I think there are much better resumes out there, but at least mine has had a lot of professional scrutiny from various people involved in the hiring process. I'm always interested in this sorts of posts, because I love learning more about what clients want to see. Looking for a new job? If so, good luck on your search!
I have some feedback as well, forgive me if any of it overlaps with WTF Nuke's feedback. Also forgive me if it is a bit curt and to the point, I'm kind of a no frills resume reviewer. No offense intended, just well-meaning advice based off experiences being on both sides of a resume.
Objective:
Your objective is pretty ineffective I'd say, the first sentence isn't an objective at all, it is a fact about yourself that you already have covered in the experience section. The second part kind of goes without saying. You need to put some actual substance there or I would just remove it.
Technologies:
Good that you list specific technologies. However your rating system is meaningless, Excellent relative to what? Someone who has been writing Java for 30 years? Relative to a recent college graduate? Relative to your self? You get my point. You should sort them by comfort level for sure, but the stars and the "Excellent", "Very Good", etc are just taking up space and don't provide a potential employer any additional info. In fact they could be seen as presumptuous, or bite you in the ass when it turns out your definition of excellent and there's are very different.
I'd cut this list down a bit and perhaps provide specific projects or examples that demonstrate your experience with those technologies. You'll have more room for this if you take into account some of my other suggestions
Skills:
This part seems perfect, succinct and to the point, each bullet is specific and unique. Never hurts to provide examples if possible, especially since your work experience doesn't directly corroborate some of these skills.
Experience:
I would cut this down, starting with merging the 3 separate entries about working for your father's farm. In fact you may want to leave out the fact that the company is owned by a family member. Feel free to mention it in an interview, but it might diminish your accomplishments there. Another reason to condense those 3 entries is that they don't really have anything to do with development or even computers, and its half your experience section right now. The other entries are more relevant, and are getting drowned out by the farm work. When you write the summarized description of your farm work, focus on the skills that are most relevant to development (transactional work, documentation) and cut way back on the calf specific info (no offense).
It is always good to provide specific examples in your experience section. How many programmers did you coordinate? What did your features for the schema accomplish? How many customers? That sort of thing.
Education:
No issues here, could include your overall GPA since it was pretty good but there's lots of differing opinions on that.
Honours & Awards:
Please, please remove the crossed out Fall 2015, the *, and the foot note completely. Someone looking at your resume can assume that if you didn't put Fall 2015, you didn't get it that semester. Currently you're using a ton of space, words, and weirdness like strikethrough to explain something you DIDN'T accomplish. And that is not how resumes should work.
Interests:
Hate to say it but most of this section is irrelevant. I would cut out anything that is not directly related to the field you're trying to get into. I'd also remove the ! at the end of the second entry it is unprofessional, and perhaps replace it with "Learning new Technologies" or something a bit less vague. Get rid of the (preferred), you're not really in a position to be making demands on a resume.
Honestly I would completely remove this section and replace it with something more like a "Personal Projects". In it I would talk more specifically about what you've done in your free time to learn the technologies and skills you put on your resume. Demonstrate how you've applied those skills with specific descriptions of your programming projects. This will give an interviewer solid things to ask you about and show that you're serious about getting into this field.
I hope that helps. Remember a resume needs to make you stand out from a crowd of similarly skilled people. You want to really play up the details that show you're serious and passionate about this. The resume gets you the interview, everything else tends to hinge on how the interview(s) go down. Good luck!
Collision resolution via the "go back one you fuck" method.
https://files.facepunch.com/forum/upload/133270/d0f08ff4-09fb-4fb7-8b21-f18470dcab1c/2018-04-01_08-55-16.mp4
Sorry, you need to Log In to post a reply to this thread.