SkillsC, C++, Haskell, Erlang, F#, Python, Rust, Network and System Security
Joined devRant on 9/14/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Ranters in the US, do y'all want to try to organize a meetup? I'll be visiting the US in a while (hopefully, that is), so not anytime soon, but maybe we can at least form a group and discuss possible opportunities.15
Spent a few hours wrestling with AMD ROCm to get it working. Had to change my kernel a few times, install different versions of the rocm packages, and in one case selectively upgrade a package. I also need to run my programs with a few shady environment variable exports to work around some bugs. The whole thing looks shaky right now, nowhere near as simple as CUDA. Also, horrid names (seriously AMD, what's with the 3dgy names).
However once I got it working it works pretty well, happily training stuff via tensorflow-rocm, with decent performance. This is also probably a good project to contribute to, I'm nowhere close to AMD's engineers at this stuff but basic bug fixing and quality of life stuff are probably within reach.3
It's kinda cool how a $5 VPS (Linode Nanode) is able to run a vanilla Minecraft Spigot server for like 6-7 people and still can serve some basic stuff just fine. I get monitoring warnings about >90% CPU usage sometimes, but everything is more or less lagless.
Time to try hosting some other games: CS1.6, Doom Classic, and UT2004 up next.6
Overall, pretty good actually compared to the alternatives, which is why there's so much competition for dev jobs.
On the nastier end of things you have the outsourcing pools, companies which regularly try to outbid each other to get a contract from an external (usually foreign) company at the lowest price possible. These folks are underpaid and overworked with absolutely terrible work culture, but there are many, many worse things they could be doing in terms of effort vs monetary return (personal experience: equally experienced animator has more work and is paid less). And forget everything about focus on quality and personal development, these companies are here to make quick money by just somehow doing what the client wants, I'm guessing quite a few of you have experienced that :p
Startups are a mixed bag, like they are pretty much everywhere in the world. You have the income tax fronts which have zero work, the slave driver bossman ones, the dumpster fires; but also really good ones with secure funding, nice management, and cool work culture (and cool work, some of my friends work at robotics startups and they do some pretty heavy shit).
Government agencies are also a mixed bag, they're secure with low-ish pay but usually don't have much or very exciting work, and the stuff they turn out is usually sub-par because of bad management and no drive from higher-ups.
Big corporates are pretty cool, they pay very well, have meaningful(?) work, and good work culture, and they're better managed in general than the other categories. A lot of people aim for these because of the pay, stability, networking, and resume building. Some people also use them as stepping stones to apply for courses abroad.
Research work is pretty disappointing overall, the projects here usually lack some combination of funding, facilities, and ambition; but occasionally you come across people doing really cool stuff so eh.
There's a fair amount of competition for all of these categories, so students spend an inordinate amount of time on stuff like competitive programming which a lot of companies use for hiring because of the volume of candidates.
All this is from my experience and my friends', YMMV.1
How do you guys prefer to hide the API keys you use in your (native) Android apps?
I'm an Android noob and the app I'm building uses some NLP services which are accessed through a key. I searched around and found a few techniques (obfuscation, serverside storage, etc.), just wanted to know what you folks recommend.5
Is a used ThinkPad T440/440s (or T430) worth it right now? Assume that it's powerful enough to run whatever I need, and weight isn't really a concern because it's going to spend most of the time sitting on a desk or in the library where the extended battery will come in handy.
I'm eyeing it because build quality and keyboard, and because I can get one for a pretty good price (if I buy a new laptop at the same price I'll get a shitty celeron or low end i3 based thing)3
I think I may be ending my distro hopping here (for a while anyway). Linux Lite looks pretty good, seems stable, isn't bloated af, works good OOTB (finally, a distro other than Ubuntu in which WiFi works just fine), and is decently hackable. I've been using it on and off for a bit, finally replaced Manjaro with it.8
Anyone else excited about the Pinebook Pro? It looks exactly like what I've been wanting in a cheap laptop for carrying around - an ARM based Linux laptop that has decently usable specs (unlike the original Pinebook).2
Why the actual fuck would you #define function calls into value-like things?!
Found when exploring the example code for some Chinese company's display module.12
Opinions on the current gen iPad mini/air (apart from "reeeee Apple")? iPad 4 was a brilliant device, loved it, looking for a similar thing. Can't find any decent Android tablet and honestly, not sure if I want Android at all.
I basically want a companion device with superb battery life, a larger screen than my phone, and good and useful apps (used Garageband, Magellan, and Voice Synth quite a bit on the old iPad). Will be going to college in a few months so something useful for carrying around too that's more portable than my laptop.
Considered a Celeron laptop, but it's basically useless for anything but text editing and basic browsing.9
Unexpected downside to studying/having an interest in computer graphics - it's not that widespread a field so not many of the books have local editions. Which means I need to spend like $60+ for the good books (Real-time Rendering, Physically Based Rendering, etc.) (and sometimes international shipping too), which is a pretty large amount for a student here. It's sad because local editions of technical books rarely go above $20 (heck, above $15 is rare too).
Still worth it though, those books are easily good enough that the return on investment in knowledge/future prospects will be massive (highly recommend those two if you're into graphics btw, two of the best technical books I have).6
I play guitar so...
Sticker was given to me by @ceee, who seems to have an endless supply of them.9
Got a Radeon RX 570 to complete my light gaming and rendering setup. This is easily the most powerful GPU I have ever owned, super hyped to try out all my games on this now. Works great after it crashed under Linux a few times for god knows what reasons but hey, not disappointed at all so far.
All AMD setup here (Ryzen + Radeon), feels good to be back on AMD after a long Intel/Nvidia stint.10
So I gave i3 a try today via Manjaro i3 (don't have time to get a config of my own from scratch, would rather have a working setup which I can fiddle around with).
It's pretty...good actually. Doesn't work quite as well as I'd hoped because of my laptop's small screen, but still nice. Works well with my Blender and editing workflow too, so that's a plus.
After I'd spent an hour fixing audio and WiFi issues, of course, because Linux, but then that's just part of the fun amirite5
I'm working on a programming language with a "bytecode" interpreter and a compiler that translates source code to said bytecode and... it sort of actually works!
I want to recreate an Erlang-style environment, currently you can write functions, call C++ functions via wrappers, have immutable-only values, and it has no explicit control structure apart from statement sequencing and the if-expression because I want to make it as functional as possible. Next thing on the list is to add a green threads implementation and ability to spawn and send messages to processes.
Still a WIP and heck even design-in-progress.
Now for the rant:
I'm using CMake for building C++ (interpreter) and Stack for Haskell (compiler) and I've been trying to get them to talk to each other for hours because I want CMake to manage the Stack build too and shove all the executables into one place. CMake documentation is weird and Stack isn't too helpful either, so I guess I'll just spend another few hours trying to get Stack to fuckin reveal its build directory to CMake and/or build to a given directory. Ugh.9
That moment when you thought you've fortified yourself with enough RAM for the future (32GB) and Blender fails to work with a large project because...it runs out of memory (just in the loading phase, building them intermediate data structures pushes it over the edge I guess).
It was kind of fascinating to watch the memory usage indicator creep up though. Morbid fascination.3
I can't login ffs
I don't care that it shows an impossible number of characters honestly, but I don't get why that should prevent me from logging in to any of these servers
For that matter, why the fuck is number of characters a signed int?2
Trying to install Fedora to use some Linux stuff
- have to try booting up 3 times to boot into the live env successfully
- keyboard doesn't work, try booting up again
- installer crashes
Yeah fuck this back to Windows it is.13
This is the most impressive testing document I have ever read. Props to the SQLite devs for doing things so thoroughly.
Was going through old photos from university time and...I present to you the result of deadline + lack of sleep + boredom + shitty university project because somebody decided that CS folks needed to learn webdev in old ASP.NET.
Yes that is one query. I wrote the entire thing out as a string in my C# program in one go and tested it by running it from the program. Must've worked properly because I got them grades so eh. I recall I had one nested seven levels too (this is just 5) but I can't find a photo of it. These two queries did all the business logic. Yeah.
Apologies for the poor quality photo of the screen, I don't have the code so no screenshot, this is just from my photos archive5
Came across a player called Root in Overwatch today, would that be you, @Root, by any chance? It's not exactly a common name.6
Been going through the family stash of old Wild West type novels (you know, cowboys and cattle drives and six shooters and gunmen and rivalries and all), from authors like Louis L'Amour, JT Edson, and Oliver Strange. Because Texas appears so frequently in these books, in my mind's eye the protagonist often looks suspiciously like AleCx04's avatar with a hat and gun rig. And horse, of course. And speaks like McCree from Overwatch.
In competitive games in which team composition matters and you have different playable classes and/or roles (tank, area damage, point damage, various kinds of healing, buffs/debuffs, etc) what kind of character do you like to play?
I guess this would apply to stuff like MMOs, Overwatch, TF2, DOTA, Diablo/PoE, and so on.26
Been really bored with programming-as-a-hobby lately, so I decided to give that a break and switch to physics for a while.
Man I've forgotten so much, time to revisit the Feynman Lectures books.4
Eyyy @Elyz thanks for the ++ bomb. I'll return the favour when I'm not running face first into deadlines.2
If you're working on close to hardware things, make sure you run static analysis, and manually inspect the output of your compiler if you feel something's off - it may be doing something totally different from what you expect, because of optimization and what not. Also, optimizations don't always trigger as expected. Also, sometimes abstractions can cost a fair amount too (C++ std::string c/dtor, for example, dtors in general), more than you'd expect, and in those cases you might want to re-examine your need for them.
Having said all that, also know how to get the compiler to work for you, hand-optimization at the assembly level isn't usually ideal. I've often been surprised by just how well compilers figure out ways to speed up / compactify code, especially when given hints, and it's way better than having a blob of assembly that's totally unmaintainable.
Learnt this from programming MCUs and stuff for hobby/college team/venture, and from messing around with the Haskell compiler and LLVM optimization passes.4