• What are you working on? v67 - March 2017
    3,527 replies, posted
Well besides all these boxes I have no use for, I actually wrote those attributes as a way of keeping track of all the functions and shit that totally need rewrites. Just happened to throw in a bit of my terrible humor, but they do actually serve a real purpose. [t]http://i.imgur.com/vURikM6.gif[/t] Would I recommend this to anyone else? Sure, just maybe not in the immature way I did it :v:
I didn't know taking screenshots required you to solve puzzles first.
Spent the morning cleaning up my [URL="https://en.wikipedia.org/wiki/SFlow"]sflow[/URL] setup at home, Now with added IPv6 support! Well, not actually, I made it support [URL="https://en.wikipedia.org/wiki/6to4"]IPv6in4[/URL] packets because my ISP does not support IPv6 yet, and for whatever reason while my router supports sflow, it can't send samples on v6 packets(?!) I moved the sampling to the broadband line, and now we have this! Giving it's sampling 1 in 10 packets, That is close enough [img]http://i.imgur.com/8tb9xvZ.png[/img] Another downside I need to fix, the database I am using to look up [URL="https://en.wikipedia.org/wiki/Autonomous_system_(Internet)"]AS Number[/URL] is quite out of date ( March ish ) so a lot of new servers in IPv6 don't resolve, and get piled under AS0, For example Youtube content servers :( [img]http://i.imgur.com/9JepJef.png[/img]
Added a color palette, I think it makes it much nicer to look at. [url=https://www.shadertoy.com/view/lssfD2]drl0014 (Reaction Diffusion)[/url] [vid]https://my.mixtape.moe/lzfxcw.webm[/vid] It also works pretty well in 1080p now: [t]https://my.mixtape.moe/qoidbi.png[/t] However, it much more quickly becomes asymmetric in 1080p: [t]https://my.mixtape.moe/ndhbbm.png[/t] Does anybody fancy recording a minute or two of it in 4k?
Can't stop thinking it's a ct scan
A little off topic... [rant] At work I suggested a feature that I think would really help our product, and that I'd even be willing to create a prototype in my free time. I have never had an idea shut down so immediately and without consideration before - especially one that addresses several key requirements that the project leads have been saying we 'need' for a very long time. I think they just like having something to complain about.. [/rant] How do you guys deal with that type of stuff? They've been asking for this sort of solution for months, and the second they get a viable proposal it's off the table without even being considered.
Overwatch is revamping highlights so they persist after you exit the game, and this feature is currently available on the PTR. Persisting highlights when you leave the game means they must be stored somewhere, and naturally I've set about reverse-engineering the format for my own amusement. Some progress: [t]http://kirk.by/s/raw/qnAcaUq.png[/t] (the absurd amount of Genji in there is down to it being a custom match)
I'm doing something somewhat presentable for once: [vid]https://cdn.discordapp.com/attachments/180458689759674377/328587926692691970/2017-06-25_19-18-11.mp4[/vid]
Currently working on generating population data for my game, which means generating family trees for a population of about three million. These people are represented by a set of numbers used to seed their persistent data. The system also figures out marriages by marrying random people together in each generation. Easy, right? Well, I got it to work and it was super fast, and immediately I was super suspicious because when things go [I]too[/I] well, something is usually not working the way it should. I looked back in my code and discovered that in the marriage code, I wasn't passing the partner data by reference. So I was marrying off the same woman to several hundred thousand different men. The rest remained single. Oops. Hoping I got all the incest edge cases out too... [editline]25th June 2017[/editline] Hey, the data somewhat works! [img]http://i.imgur.com/6cLhCHm.png[/img]
[QUOTE=Berkin;52400328]Well, I got it to work and it was super fast, and immediately I was super suspicious because when things go [I]too[/I] well, something is usually not working the way it should.[/QUOTE] This is true, but I also believe that settling for "good enough" and not just "quick" can lead you to completely missing mistakes in your code that actually prevent it from being as fast as it could be. One example I remember is, for benchmarking purposes, attempting to open the same exact file as a FileStream and reading from that thousands of times. I didn't catch it until I had already shaved off tons of time from the actual code I was benchmarking. Fixing that FileStream error made it work incredibly fast, even though the speeds were already decent enough for the amount of files being read. I could've left it at that and it would've been fine. Anyways, that's awesome what you're doing. Keep it up!
[QUOTE=Berkin;52400328] [editline]25th June 2017[/editline] Hey, the data somewhat works! [img][/QUOTE] Those are some crazy inter-generational relationships
[QUOTE=Sidneys1;52400734]Those are some crazy inter-generational relationships[/QUOTE] There are no intergenerational relationships. But there are some weird cases of incest where multiple siblings will marry into the same family, and sometimes the kids from the two marriages are matched together. But you'd have to comb through thousands of citizen data entries to notice that... right? ¯\_(ツ)_/¯
[URL="https://github.com/cocuh/intellij-background-chibichara"]jesus christ[/URL]
[QUOTE=JWki;52399456]Pooling by type and size sounds like a good idea. Way better than going in after the fact and trying to move resources around. Honestly though couldn't disagree more with the sentiment about allocators - I mean you're already writing as low level of graphics code as you can on PCs currently, writing allocators isn't really that insane. Writing your own general purpose allocator probably is but you should have very specific allocation needs anyways. As I said, for GPU resources pooling by memory type and size is probably good.[/QUOTE] Well, they weren't my words. I thought it made sense but there were those who thought it didn't make sense. Its hardly a waste when 1. the API doesn't give you any pre-existing tools to improve memory management / allocation and 2. when memory allocation and management can be such a huge performance bottleneck for GPUs I still need to test it - most likely as part of getting my voxel thingy working (I can't in good conscience call it an engine, lol) since that'll be relatively simple + I would otherwise be doing multiple allocations per terrain chunk (ew). I finished most of the implementation and tidied things up this weekend, but didn't do much coding because I was on a week-long hard burn at work to get finished with my software. Left me pretty exhausted on programming, and it was so hot+humid this weekend (and I have no AC) that I tried to avoid using my computer. Going to be printing things using my software this week though, which [I]totally[/I] isn't terrifying ha hahaha ha [sp]ohgod help we have more $ in printers than I've been paid in wages all year[/sp]
I got cortana to recognize names. Even some foreign ones. I compared the Levenshtein distance of what Cortana transcribed to the names in the actual database and then selected the one of the closest distance. What it transcribed -> correct name in the database: Laurine Boil -> Lauren Boyle Sidarta Ned derek -> Siddartha Nadaerk Tim bar -> Tim barr
[img]http://i.imgur.com/Eodc3tk.png[/img] :disgust:
[QUOTE=paindoc;52403357]Well, they weren't my words. I thought it made sense but there were those who thought it didn't make sense. Its hardly a waste when 1. the API doesn't give you any pre-existing tools to improve memory management / allocation and 2. when memory allocation and management can be such a huge performance bottleneck for GPUs I still need to test it - most likely as part of getting my voxel thingy working (I can't in good conscience call it an engine, lol) since that'll be relatively simple + I would otherwise be doing multiple allocations per terrain chunk (ew). I finished most of the implementation and tidied things up this weekend, but didn't do much coding because I was on a week-long hard burn at work to get finished with my software. Left me pretty exhausted on programming, and it was so hot+humid this weekend (and I have no AC) that I tried to avoid using my computer. Going to be printing things using my software this week though, which [I]totally[/I] isn't terrifying ha hahaha ha [sp]ohgod help we have more $ in printers than I've been paid in wages all year[/sp][/QUOTE] Felt similiar when I was doing stuff that would stream commands to printers haha basically they told me that it's pretty difficult to do something that'll damage the printer but that was ultimakers and small prints so IDK about your case.
[QUOTE=suXin;52402133][URL="https://github.com/cocuh/intellij-background-chibichara"]jesus christ[/URL][/QUOTE] I need this for atom
[QUOTE=elitehakor;52403666]I need this for atom[/QUOTE] [URL="https://atom.io/packages/editor-background"]go crazy[/URL]
Looks like I never got rid of that bug after all. [img]http://i.imgur.com/3vcooFN.png[/img]
[QUOTE=JWki;52403463]Felt similiar when I was doing stuff that would stream commands to printers haha basically they told me that it's pretty difficult to do something that'll damage the printer but that was ultimakers and small prints so IDK about your case.[/QUOTE] We've got one ultimaker, half a dozen makerbot clones (ew makerbot ew ew), two really nice FDM printers, and one car-sized printer (which has a custom flavor of gcode, good lord). I'm probably unduly nervous: I've checked the gcode in numerous visualizers and there's no travels or extrudes that look problematic/dangerous. I find it an interesting coincidence that we both have done / currently do Vulkan and 3D printer stuff - both relatively narrow fields. I didn't know you had worked on 3D printers at all, tbh.
It took most of today, but I finally have all I need to make simple scripts: [img]https://cdn.discordapp.com/attachments/180458689759674377/328998532184801291/unknown.png[/img] There's no runtime yet.
[QUOTE=Berkin;52404096]Looks like I never got rid of that bug after all. [img]http://i.imgur.com/3vcooFN.png[/img][/QUOTE] Why don't you leave it in since it's something that happens in the real world anyway?
[QUOTE=helifreak;52404130]Why don't you leave it in since it's something that happens in the real world anyway?[/QUOTE] That is true. Given how rare it is in the data (that I can see), maybe I'll find a use for it later.
[QUOTE=Berkin;52404166]That is true. Given how rare it is in the data (that I can see), maybe I'll find a use for it later.[/QUOTE] That's what I always say, you never know when you'll need an extra chromosome.
[QUOTE=paindoc;52404111]We've got one ultimaker, half a dozen makerbot clones (ew makerbot ew ew), two really nice FDM printers, and one car-sized printer (which has a custom flavor of gcode, good lord). I'm probably unduly nervous: I've checked the gcode in numerous visualizers and there's no travels or extrudes that look problematic/dangerous. I find it an interesting coincidence that we both have done / currently do Vulkan and 3D printer stuff - both relatively narrow fields. I didn't know you had worked on 3D printers at all, tbh.[/QUOTE] I don't think I ever mentioned it here. My thesis was a webtool to debug and visualize gcode - tbf I don't really care about 3D printing that much and wanted to do something with rendering but this was the closest I could get. The researcher doing rendering stuff at the chair I did the thesis at left the semester before unfortunately, so visualization was the next best thing. Streaming gcode to printers was another part of it, it's all not really done however and I haven't found the time to go back to it and improve it - don't know if I want to tbh. Oh and Vulkan isn't that narrow of a field I think - my primary field in engine dev used to be graphics and I want to keep that option open for employment so it's pretty mandatory to get familiar with the "next gen" APIs. I've done about as much D3D12 as I've done Vulkan as well, both of which isn't actually that much because I haven't really gotten at it lately.
[QUOTE=JWki;52405702]I don't think I ever mentioned it here. My thesis was a webtool to debug and visualize gcode - tbf I don't really care about 3D printing that much and wanted to do something with rendering but this was the closest I could get. The researcher doing rendering stuff at the chair I did the thesis at left the semester before unfortunately, so visualization was the next best thing. Streaming gcode to printers was another part of it, it's all not really done however and I haven't found the time to go back to it and improve it - don't know if I want to tbh. Oh and Vulkan isn't that narrow of a field I think - my primary field in engine dev used to be graphics and I want to keep that option open for employment so it's pretty mandatory to get familiar with the "next gen" APIs. I've done about as much D3D12 as I've done Vulkan as well, both of which isn't actually that much because I haven't really gotten at it lately.[/QUOTE] That's pretty neat though, I haven't tried to tackle rendering gcode yet but it's coming shortly. How were you streaming the gcode? Did you get to do anything fancy with rendering the stuff? Most visualizes are pretty spare and bland, and don't offer many useful features imo. My application is just a clone of Cura/Slic3r/Makerware's gcode generator. Lots of discrete geometry, which I can't even pretend to understand. The primary reason we wrote this custom slicer is that we need custom infill generation. My project is part of our contract to create 3D printed recyclable packaging for the ISS, so our packaging has to attenuate gforces from launch along with general vibration and sound pressure. So far, our method actually attenuates better than what NASA currently uses - and our material isn't trash. The other half of the contract is a hardware rack enroute to the ISS in 1/2018 (if the launch window holds). This hardware will take our packaging and recycle it into raw 3D printer filament. It's expanded a bit more into sub contracts for things like utensils and medical devices, which NASA is eyeing for their eventual Mars missions (the story of utensils on the ISS now is a bemusing one, lol). A few robotic assembly offshoots too - our division has a vision and the groundwork for what will, in my opinion, become the building blocks of orbital shipyards and long term habitation in space. I'm a bit worried and self-conscious, as I feel my app has gone way out of scope. Knowing what I know now about C++, I could have kludged what we need into a pre-existing slicer. I earnestly believe that less of my code is cancerous... But it's less code, overall. I don't have as many useful features as more developed slicers, and developing this alone is scary aw fuck because I'm entirely responsible for everything from features to bugs to testing. And there's few features, more than a few bugs, and hardly enough testing :v I'm hoping this at least looks kinda OK on a resume, but I feel like a sham regardless. So I busy my mind by doing graphics programming to avoid confronting wtf I do at work. I don't even want to consider how much this has cost to develop, in cash or man (literally singular) hours [editline]27th June 2017[/editline] Also as cool/impressive as parts of that may sound, I got my job [I]literally[/I] because I emailed my now-boss a week after sending my resume to make sure it was received. She was too busy to read resumes, thought me and one other intern who emailed seemed interested, so she offered us positions hardly an hour later :v:
[QUOTE=paindoc;52405986]That's pretty neat though, I haven't tried to tackle rendering gcode yet but it's coming shortly. How were you streaming the gcode? Did you get to do anything fancy with rendering the stuff? Most visualizes are pretty spare and bland, and don't offer many useful features imo. My application is just a clone of Cura/Slic3r/Makerware's gcode generator. Lots of discrete geometry, which I can't even pretend to understand. The primary reason we wrote this custom slicer is that we need custom infill generation. My project is part of our contract to create 3D printed recyclable packaging for the ISS, so our packaging has to attenuate gforces from launch along with general vibration and sound pressure. So far, our method actually attenuates better than what NASA currently uses - and our material isn't trash. The other half of the contract is a hardware rack enroute to the ISS in 1/2018 (if the launch window holds). This hardware will take our packaging and recycle it into raw 3D printer filament. It's expanded a bit more into sub contracts for things like utensils and medical devices, which NASA is eyeing for their eventual Mars missions (the story of utensils on the ISS now is a bemusing one, lol). A few robotic assembly offshoots too - our division has a vision and the groundwork for what will, in my opinion, become the building blocks of orbital shipyards and long term habitation in space. I'm a bit worried and self-conscious, as I feel my app has gone way out of scope. Knowing what I know now about C++, I could have kludged what we need into a pre-existing slicer. I earnestly believe that less of my code is cancerous... But it's less code, overall. I don't have as many useful features as more developed slicers, and developing this alone is scary aw fuck because I'm entirely responsible for everything from features to bugs to testing. And there's few features, more than a few bugs, and hardly enough testing :v I'm hoping this at least looks kinda OK on a resume, but I feel like a sham regardless. So I busy my mind by doing graphics programming to avoid confronting wtf I do at work. I don't even want to consider how much this has cost to develop, in cash or man (literally singular) hours [editline]27th June 2017[/editline] Also as cool/impressive as parts of that may sound, I got my job [I]literally[/I] because I emailed my now-boss a week after sending my resume to make sure it was received. She was too busy to read resumes, thought me and one other intern who emailed seemed interested, so she offered us positions hardly an hour later :v:[/QUOTE] Yeah my visualization wasn't too interesting either, basically just parsing the input for move commands and building a line mesh out of it. I was kinda proud of how I handled display filtering - as in, letting the user choose to just display infill, or just display top/bottom solid layer, inner/outer perimeter etc, as this was done completely on the GPU. Instead of having a mesh per line group I actually had each vertex contain the information of what group they were in and then passed a list of groups to display to the fragment shader - the group ID would get passed from the vertex to the fragment shader and then I'd discard fragments if they didn't belong to the groups selected to be displayed. This is extensible as well in theory to support user defined groups but I didn't implement that. Besides from that, it's pretty standard - you can look at individual layers and ranges of layers, nothing special really. Command streaming was a bit more frustrating eh I mean interesting - it was a bit of messing around with serial ports until I finally had a reliable way of streaming each command, guaranteeing that they were being interpreted by the printer correctly, etc. Lots of fiddling involved. In the end it came down to opening serial ports that printers connect to for read/write, and writing each command individually as ascii text, while async waiting for confirm messages to come in and then continue sending. In theory you can also interleave status poll commands and then parse the replies to display information like bed / head temperatures and stuff. It was all made a bit more interesting by the fact that it was implemented as a webtool - the backend ran on whatever machine was connected to the printer, in native C++, with a tiny web server on the side that hosted a WebGL app handling all the user interactions and rendering. So essentially you can just open it up in any browser that has WebGL support on a PC in the local network, and you're ready to upload gcode, look at it and print it directly from the tool. I wrote the frontend in C++ as well, using Emscripten to transpile it to JavaScript so I could share a lot of code between frontend and backend, but in hindsight it wouldn't have been the worst idea to just write it in TypeScript. In practice of course it's not as shiny as it sounds because it's very picky about the flavour of gcode it supports (mainly Slic3r output, with some hacks to make it work for at least one of the flavours Cura supports) and has tons of tiny issues. What you're doing sounds way more impressive tbh and I feel like you're suffering some sort of impostor syndrome which is completely normal. Give yourself some credit, from what you're posting it seems like you're doing a fine job and you're pulling off some impressive stuff in your personal project as well so don't beat yourself up too much.
[QUOTE=Sidneys1;52400218]A little off topic... [rant] At work I suggested a feature that I think would really help our product, and that I'd even be willing to create a prototype in my free time. I have never had an idea shut down so immediately and without consideration before - especially one that addresses several key requirements that the project leads have been saying we 'need' for a very long time. I think they just like having something to complain about.. [/rant] How do you guys deal with that type of stuff? They've been asking for this sort of solution for months, and the second they get a viable proposal it's off the table without even being considered.[/QUOTE] I tend to avoid suggesting ideas personally, but I'd say just get on with it and don't say I told you so when they're wrong - they'll probably decide to go with a variation on the idea in a few months time.
Presented without comment. [img]http://i.imgur.com/A9npnc4.png[/img]
Sorry, you need to Log In to post a reply to this thread.