Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "nlp"
Toilets and race conditions!
A co-worker asked me what issues multi-threading and shared memory can have. So I explained him that stuff with the lock. He wasn't quite sure whether he got it.
Me: imagine you go to the toilet. You check whether there's enough toilet paper in the stall, and it is. BUT now someone else comes in, does business and uses up all paper. CPUs can do shit very fast, can't they? Yeah and now you're sitting on the bowl, and BAMM out of paper. This wouldn't have happened if you had locked the stall, right?
Him: yeah. And with a single thread?
Me: well if you're alone at home in your appartment, there's no reason to lock the door because there's nobody to interfere.
Him: ah, I see. And if I have two threads, but no shared memory, then it is as if my wife and me are at home with each a toilet of our own, then we don't need to lock either.
When I finished my studies, I was looking for a job and had an interview at a smallish company.
Boss: can you do C?
Me: yes, I have already done some stuff in C.
Boss: I mean, are you really good in C?
Me, growing suspicious: well yes I already have been using it - but anyway, there's also the project documentation for looking up, right?
Boss: uhm, the code IS the documentation.
I envisioned myself being drowned in undocumented spaghetti code and wasn't really keen on that job anymore, but my following question pretty much ended the interview:
Me: oh, I see. Do you have any roadmap for getting your development to a more professional base?
His looks, priceless! He was just shocked when he realised that he had failed my interview, and that I was a fresher made it even harder to digest for him.30
Last year, my company sent me to India to coordinate stuff.
Me, to my wife: "They've chosen me because they trust my social skills."
Her: "OMG, what is the rest of the company like?!"
* Finishing up my English NLP for my App *
Me: Finally it’s ready. Now my app can understand everything that the users say.
* I get my first millennial user *
My App: Hello there! Would you like to ask me a question?
My App: * crashes *8
I want to stop charging my e-scooter at around 85% because this will increase the battery life. To avoid always having to pull the plug at the right level, I made a stop circuit that goes between charging brick and e-scooter.
There's no processor involved, just a CMOS 555 used as inverting Schmitt Trigger which controls a power mosfet. Also two status LEDs and a start switch. The poti adjusts the cut-off level. Worked on first try, with only manual voltage and tolerance calculations beforehand!30
Math: the imaginary unit is i.
Electrical engineering: no, it's j.
C hacker: hands off my loop variables!14
Million dollar app/service idea.
Automatically reply to all LinkedIn inmail’s with “I don’t have any experience with that on my profile”.
Even without any NLP I estimate over a 90% success rate.12
So I have implemented all the features required for the current release. Carefully reviewed my code several times, but no testing.
Tester: everything passed green. Not sure whether you're a good dev or I'm a bad tester.
Me: let's call it a draw.11
Me, in the zone, staring at the code. Co-worker enters.
Co: hey, can you...
Me (not really listening): no.
Co: it's just...
Trying to concentrate. Co-worker from another room standing there, BLA BLA BLA, and she's fucking LOUD. But she hates coldness, and it's below 0 °C outside.
So I open two windows, and guess who instantly leaves! Now it's cold, but SILENT. HAR HAR!6
Me: You're looking rested - the vacation does you good, it seems.
Co-worker: I didn't have vacation?!
Me: but our PM does.
Fuck those useless calls!
PM: customer X wants a call in an hour.
Me: they didn't send emails before. No questions, no prep, no call.
PM: yeah but they want to talk.
Me: these unprepared calls are pointless. I'll be sitting there, noting down the questions and telling them I'll have to look up the details.
PM: shall I tell them that you don't want to talk to them?
Me: I don't care, it's your call, do whatever you want.
PM: that's not professional.
Me: oh you're calling it professional to sit there with a pencil, writing down crap or what?
PM: what's the problem?!
Me: I've had this shit for the last two fucking calls, and they were so unprepared that they wasted half of the call just reading up, and I'm fed up with this shit!
PM: but they are the customers, and they aren't that happy.
Me: yeah, and do you know why? Because our schedule is completely fucked up and our management has been ignoring ANY warning from engineering for WEEKS! That's why they are unhappy and not because I'm not holding their fucking hands!
PM: hey, but you can't tell me what I have to do!
Me: and you can't tell me either! [he's my PM, but technically not my superior.]
PM: so no call or what?
Me: you're free to have your call. I'll sort out the shit that they're concerned about, putting that down in a proper email, and then we have at least some basis for discussion!
PM: (left for his call)
Btw., my cursing was the same in the live conversation with him.9
I am traveling 550 Km (9hrs) just to give my first interview for the position of Jr. Natural Language Processing Engineer.
Wish me luck...10
Attack is the best defence! I read my emails in the morning and figure out whether there's some action for me. When I go and get my second coffee, I drop by the PM's office and have a short chat with him.
Where I am in the projects, whether there's stuff from other tasks or unexpected actions, how long that might take, whether schedules are still OK, whether I need him to take care of some customer communication, these things. Usually less than 5 minutes.
The kicker is that he mostly doesn't interrupt me because I instead interrupt him - unless he is highly busy, in which case he just says "sorry, later", same as I would do.
It's a win-win because I can schedule the interruptions while he enjoys that he doesn't have to ask around.5
Protip: appending ", dammit" to your Google searches tells their NLP algorithms that you need more relevant results6
Meeting with American customers in Germany. One of them fetched a bottle of water with crown cap, but the opener was missing. She asked whether someone had an opener, so I got out a lighter and opened the bottle. Surprised looks.
My (Indian) PM: "That's a German thing, opening bottles with everything except bottle openers. Even with other bottles."
Customers were like, WTF?!15
Just landed a new job as a developer for a company called NeuraLegion! They use Crystal on their stack, so guess what language I'll be using! But that's not even the best part. They hired me in part because they are using one of my open source Crystal libraries (a NLP library called Cadmium) and like the way I do things. So I am going to be getting paid to work on my FOSS libraries, whist sitting at home in my undies!
Holy shit I'm excited 😂😁8
Code review, here the simplified version. What the fuck has to be wrong with someone who seriously codes the first variant in production code?!19
Friday, I got a mail from my PM shortly before I wanted to leave. Basically it was, hey can you check out whether this issue [which I hadn't even heard about] is somehow related to our system? Meeting is in one hour.
My answer: I guess not, otherwise I'd have been in the loop much earlier than one hour before the meeting.
I shut down the PC like a boss and went into weekend.8
Have you always been missing ads in CLI applications? Have you been wondering how to bring such modern browsing experience to CLI? NPM has solved this problem, it has CLI ads now!
However, the are already people who spoil this great new experience with CLI ad blockers:
Office prank time! It was some years ago when the horror movie "The Grudge" came out, with that creepy Japanese dead girl who made that horrible "aaahhhhhh" sound. A coworker, who was just as shocked by the movie as I was, would occasionally send me emails with sceenshots from that movie.
One day, I upped it. I knew he was the first in the office in the morning, so I arrived even before him. It was still dark. I put a walkie-talkie under his desk, set it to "no beep", switched off the lights again and hid two rooms away.
Sure enough, he arrived. I waited for about 10 minutes to be sure he was sitting at his desk. Then I used my walkie-talkie and "aahhhhh".
WOAH, his scream was loud even two rooms away!3
Stupid shitheads among the web designers, fucking listen up. Your fucking design is not the point of websites - the content is. You are not supposed to shove the content away to have your moron design shine in its purest debility.
Yeah I know, white space minimalism yadda yadda, clean interface - and you dumbasses just remove functionality to simulate a clean interface, to the point of using hamburger fuckups on desktop. Pull your heads out of your asses, that's not how to design an interface! Not to mention that you idiots still guzzle through the megabytes and dozens of domain lookups for your chickenshit minimalism.
While we're at it, not everyone is 20 years old like you youngsters - you won't believe it, but there is life beyond 40, and while such age is unthinkable to you because you are so dumb that you will hardly reach that age anyway, others on this planet have managed to get there. No 20/20 laser sight, you know.
Fuck you with your light grey thin fonts on white background because it looks "clean", it just SUCKS you wankers. Fuck you with your stupid ghost buttons that don't even look like a button. You know how to operate the shit you made, but reality check here, users spend most of their time on fucking other websites than on the abomination you have designed!
Get that into the shit bubble that you call your brain and read WCAG 2.1! That's not only for disabled people, but everyone will be able to use that shit better!8
How do you make a job offer so that only real 1337 haxx0rs will apply? Well https://automattic.com/ has found a way I guess.4
Holy shit, I'm really impressed with the high tech park my dentist has. She takes pictures of a tooth, a computer makes a 3D model out of that, then she grinds down the tooth as necessary and takes pictures again.
From the difference, the computer generates the data for the tooth crown, including warning spots where it could be too thin so that a bit more grinding is needed.
Then she corrects some spots manually and sends it over to the CNC machine in the next room that cuts the thing from a ceramics block with correct colour. Some heat treatment later, and the tooth crown fits perfectly.
Gone are the days with dental imprints, provisional crown and not quite fitting final crown.2
WTF - I discovered that wasps listen to me!
Earlier when one came in, I tried to catch it with a glass and release it, or kill it if that wasn't feasible. This year, I tried pointing to the window and ordering "get out!" just because I was too lazy to take action. Of course, I didn't expect it to work, but it did. I thought it was only a coincidence, so I kept trying it. It works every single time!
For a while now I've been working on a personal project called Cadmium which is a NLP library for the Crystal programming language. Over the past several months the star count on GitHub has been rising and I'm happy to say I'm almost to 100 stars!
Just wanted to share my excitement with the community. If you want to check out the project you can find it at https://github.com/watzon/cadmium20
Fuck you idiots at medium.com for your sheer impudence. Not only that you track me, which I havn't agreed to, you think it's a good idea to nag around and gather even more data!
You stinking farts label your stalking as "let's make things official"! Who shit in your head?
I've seen other places way more often, and guess what, no coffee bar has ever had the idea to ask for my ID card just because I bought my second or third coffee there.
But just because it's the internet you think it's OK to be intrusive wankers, yeah?! Fuck off.4
Me at QA, talking about a nasty bug I found in legacy code.
QA: what was the root cause?
Me: pos code.
Me: piece o' shit.
I'm now typing clean code. 
And it shows - the code really looks better. 
 I cleaned my keyboard by removing every single key and wiping it with alcohol.
 After I bought a new monitor, that is.
Damn, credit cards are so fucking secure these days that you hardly can BUY shit with them!
I need some special electronics that I only can get from a vendor in the US, which is overseas. Click click, buy, done. Well no, credit card refused. WTF? Click retry link. No, still refused. FUCK.
Called up the 24/7 hotline of my CC company. Oh yeah, that got blocked by the security system, somehow. We disable that for 20 minutes, just retry. Clicked retry link at the vendor. No failure mail. Hmmm, too good to be true?! Called up the electronics vendor. Yeah should work, stuff is in the warehouse stage. 40 minutes later: credit card declined. FUCK.
Called up the CC company again. Ok, disable blocker for one hour. Nice advice from them, tell the vendor it's only 45 minutes so that there's some buffer. Clicked retry link at the vendor and called them up to make sure that they retry before the time runs out.
LO AND BEHOLD, I could finally pay the shit!!8
I'm doing code review. Unsure about the deadline, I ask my co-worker:
Me: "Guess I'm half through, when do I have to be done?"
Co-worker: "Well if you're half through, you are already half done."
Me: "No shit, Sherlock."
Apple you drove of delusional suckers! When will your retarded fashion devices finally support WEBP?!
A gallery page with images, and thanks to WEBP, it's 408 kB. Because Google made WEBP and handed out a well documented CLI FOSS compression tool that even can convert the source PNGs to lossy WEBP with bloody transparency. Well done, Google!
Except that Apple's shitty management can't take it that Google actually made something nice, so no WEBP. Instead, JPEG-2000 that enjoys nearly no fucking tool support. The free tools that even can deal with that mostly don't support transparency, and the encoder sucks donkeys so that JPEG still fucks JPEG-2000 big time.
So it's JPEG with matching background for iOS. Fine, but since JPEG's blocky artifacts are much more visible, the compression can't be that high, and it's 769 kB. That's 88% more image data for Shittari than for non-retarded browsers and even Edge! EDGE!!
Oh and if the user changes light/dark system mode according to surrounding light conditions, guess what happens? Yep, since JPEG doesn't support transparency, now it's different JPEGs with dark background via the media query in the "picture" element, and it's another 754 kB download. Bloody 1523 kB instead of 408 kB, that's a factor of 3.7!
Fuck your ass Crapple, with an electric eel!19
At a festival where I was with my GF from back then, I asked her whether it was OK if I drank some more, which she was fine with, but she didn't get the implication.
Later in the tent, when I was totally drunken, she turned me around and wanted some action. The sudden movement didn't go well, I was just able to open the tent, vomited out of the tent, and turned around to continue sleeping.6
Ah well, it's double out of fashion because smoking is on the black list of the health maniacs, and nobody smokes pipes anyway. BUT! filling a pipe and smoking it for easily half an hour is quite some pleasure!74
On an afternoon the day before delivery, we discovered a crashing bug. At around 2 AM, we had found the cause and fixed it. A short sleep at home, then back to office at 8 AM because the delivery was 200 devices containing that software, and they had to be updated manually because production had put in the old image.
We seized all available computers, even those from marketing who were... surprised. Half-way in the update, we calculated that we wouldn't have enough time until the freight service would show up.
So we asked the secretary that she should be a bit flirty to the parcel guy, invite him to a coffee and chat around to buy us more time. We closed the last parcel just when he figured that he had to continue with his tour.5
* !rant *
So I've been working since the summer on an app that uses NLP to record audio (I was thinking of using it for school classes), transcribe it and summarize it automatically
I've been using it at school and it WORKS
I've actually put an app that I made to make my homework and sum classes up and IT WORKS9
Interesting bug hunt!
Got called in because a co-team had a strange bug and couldn't make sense of it. After a compiler update, things had stopped working.
They had already hunted down the bug to something equivalent to the screenshot and put a breakpoint on the if-statement. The memory window showed the memory content, and it was indeed 42. However, the debugger would still jump over do_stuff(), both in single step and when setting a breakpoint on the function call. Very unusual, but the rest worked.
Looking closer, I noticed that the pointer's content was an odd number, but was supposed to be of type uint32_t *. So I dug out the controller's manual and looked up the instruction set what it would do with a 32 bit load from an unaligned address: the most braindead thing possible, it would just ignore the lowest two address bits. So the actual load happened from a different address, that's why the comparison failed.
I think the debugger fetched the memory content bytewise because that would work for any kind of data structure with only one code path, that's how it bypassed the alignment issue. Nice pitfall!
Investigating further why the pointer was off, it turned out that it pointed into an underlying array of type char. The offset into the array was correctly divisible by 4, but the beginning had no alignment, and a char array doesn't need one. I checked the mapfiles and indeed, the old compiler had put the array to a 4 byte boundary and the new one didn't.
Sure enough, after giving the array a 4 byte alignment directive, the code worked as intended.8
Fellow devranters, tech buzzwords work as pickup lines.
I can't yet post proof pic but gosh it happened.16
This morning in the office:
- bumblebee grounded
- diagnosed low fuel level
- refueled bumblebee with sugar water
- system check pass, airworthiness restored
- bumblebee asked tower for take-off
- tower opened flight window
- super-clean take-off
- bumblebee left control area
Google: hey website owner, use link rel preload for images loaded by CSS to reduce roundtrip delays. Chrome supports that, Safari also, and even Edge does.
Mozilla: we had some bug with preload back in FF 57 and our solution since has just been to disable preload per default. Done. Who would care about loading speed?
Also Mozilla: we have no idea why our market share has been plunging. Google is evil.9
It's truly amazing how much a single line of perl can do. Such a time saver.
I only wish that I could understand what it does two days later.1
I did it - I went outside! Felt strange, like Y2K and Maya doomsday would have been together. Of course I went out only during daylight because THEY hide in the dark. Infrastructure was mostly still intact, I've even seen some houses. Occasionally, survivors scrambling the area.
GPS didn't work so I used my magnetic compass. OK, it was because I forgot my mobile at home, but anyway. Should I take petrol with me so that I could burn my clothing upon return? Or would this attract THEM? Occasional gunfire in the distance. Might also be some pneumatic hammer, that's what the media would try to tell me.
The local supermarket had still trolleys outside. I took note because I might need them to bar the stairwell, along with the land mines that I still have left over from New Year's Eve.
Deserted cars standing around. Looked like neatly parked, but that doesn't mean anything. When Germans turn into zombies, their last human action is to park their cars. That's so genetically hardwired that no virus can override it.
Dusk set in. I better returned home.18
The best part about home office isn't that you can fart without co-workers getting annoyed. It's that you can even use a lighter on the fart to see whether it will burn.4
Funniest meeting ever!
Some years ago, there was the regular department meeting where useless news from upper management were handed down. The team I was in was also there: team lead, co-worker and me. The team lead had a new girl and was daydreaming of their nights, my co-worker wasn't quite back from the football match on the weekend, and I was playing chess on my mobile.
Department lead was blah blah blah and when can we do this on your rig? We looked at each other and instantly realised that none had been paying attention.
My co-worker was the fastest to recover and straight-facedly turned to me: "Well Fast-Nop, that's your domain."
I picked the ball up before team lead could say something: "Sure, but schedule appointment is for our lead."
Our lead couldn't contradict us and then had to negotiate a schedule while trying to find out what it was about. *LOL*2
Talk with a co-worker who has a bit of a motivational problem.
Him: if I had more fun, I would be more productive.
Me: you're not here for fun, that's why they pay us.
Him: how are you motivated?
Me: by money.
A bit later.
Him: do you plan for retirement some day?
Me: no. By then, there won't be retirement anymore. We will eat fried rats in the street.
He starts understanding why I'm wearing black metal shirts.10
Last October, I was feeling really lost as a student. I posted a rant here (https://devrant.com/rants/1812123/...) as I had no one to talk to. I got a little support, but the advice I got really meant a lot to me.
I buckled up, did some learning and a small project, and today I am the NLP intern at an Organization that has really reputed clients.
Thank you devrant. Thanks everyone.
Uh-oh shit went wrong with umpteen thousand jobs in a pointer heavy, multi-threaded application in raw C. Fuck, some pointer gone wild?!
30 minutes later, after trying to find out how many jobs it takes to start failing. Noticed that it's about the default settings. Wait what? That's where the realloc'ing should kick in, check that.
Aahhhh. Maybe I shouldn't zero the whole buffer after realloc, just the new part. D'uh!
In my master equivalent thesis, I was supposed to build upon a year of work from my predecessors. However, I argued that it had no actual foundation and would never work properly, so I threw it away and started from scratch.
The prof was astonished and commented "well it's your thesis", insinuating that the risk was on me. Turned out I had been right.2
Just been browsing Awwwards about websites: https://www.awwwards.com/websites/
All of that is unusable crap and achieves "clean" design mostly by not having functionality. The trick seems to be a useless fat image and tucking away functionality as small as possible. This is design wankery.6
The seventh fishcake.
Usually, I buy six fishcakes in the weekly shopping. Today, the seller accidentally put on seven, wanted to put back the seventh, but it fell into the egg salad. She took the fishcake and was about to throw it away because no customer would buy a fish cake with egg salad sauce on it. I intervened in time and bought it to avoid throwing food away.
Afterwards, I thought about how sick and decadent it actually is that it would have been perfectly normal to throw food away just because food was sticking on the food.13
So I've kicked off the motorcycle season for this year! Scanned some nice roads for speed control traps or road dirt, then the same route with more WABROOOOOO.
That machine is whopping 19 years old, and I still like it as much as on the first day when I bought it as new. Plus that it doesn't have software nonsense, not even injection. Means, it fucking works.8
Today in the office, a co-worker and me had a synchronised rant. Both sitting at each our desks, and independently of each other, he suddenly cursed "I hate text fields" while I burst out "network, piece of shit!"
when youre in the middle of a project then you suddenly get the urge to write a neural network that can do nlp to find suitable puns.
I had a delivery deadline on the same day when an urgent support request came in. My boss was a stupid sucker who was afraid of taking responsibility, and that's a vice I absolutely hate with bosses.
We had quite a heated argument where he just wanted me to give priority to both things, which I declined because I had no idea how much time the support research would take me.
Finally, he decided that I should work on the support item immediately, but only for up to one hour. He was totally surprised when I accepted that without further argument. I told him that all I had wanted from him had been a priority decision, and that was one.
Felt like explaining to my boss what his fucking job was.4
Bit rot under scientific research: using a very high-end microscope, I was able to take a picture of bit rot in action. It's microtrolls eating the bits!2
*LOL* The animal rights organisation PETA criticises the use of donkeys in the traditional Passion play in Oberammergau, Bavaria, Germany. PETA claims that Jesus would ride into Jerusalem on an e-scooter.
I'm starting to like the crisis. Not only that I have home office, I'm also in for reduced working time. 3.5 days per week from next month on, and the state will fund 60% of the pay loss. Yeah!17
So I'm writing some multithreaded shit in C that is supposed to work cross-platform. MingW has Posix threads for Windows, so that saved already half of the platform dependency. The other half was that these threads need to run external programs.
Well, there's system(), right? Uhm yes, but it sucks. It's incredibly slow on Windows, and it looks like you can have only one system() call ongoing at the same time. Which kinda defeats the multithreaded driver. Ok, but there's CreateProcessA(), and that doesn't suck.
Fine, now for Linux. The fork/exec hack is quite ugly, but it works and is even fast. Just never use fork() without immediate exec(). First try under Cygwin... crap I fork bombed my system! What is this shit? Ah I fucked up the path names so that the external executable couldn't be run.
Lesson learnt: put an exit() right after the exec() in the path for child process. Should never be reached, but if it goes there, the exit() at least prevents a fork bomb.
Well yeah, sort of works under Cygwin, but only with up to 3 threads. Beyond that, it seems like fork() at some point gives two processes the same PID, and then shit hangs.
Even slapping a mutex around the fork and releasing it only in the parent process didn't help. Fork in Cygwin is like a fork in the ass. posix_spawn() should work better because it can be mapped more easily to the Windows model, but still no dice.
OK, testing under real Linux. Yeah, no issues with that one! But instead, I get some obscure "free(): invalid size" abort. What the fuck would that even mean?! Checking my free() calls: all fine.
Time to fire up GDB in the terminal! Put a catch on the abort signal, mh got just hex data. Shit I forgot to compile with -O0 and -g. Next try. Backtrace shows the full call trace, back to the originating line in my program - which is fclose() on a file.
Ahhh I remember! Under Linux, fclosing a file that is already closed makes the program crash. So probably I was closing it twice. Checking back.. yeah that's where it was.
Shit runs fast on several cores now!8
Not CS degree, but EE, and totally worth the effort. Not only that without degree, I wouldn't get jobs in many companies, but I actually learnt a lot. Laplace and Fourier will be as valid in a 100 years as they were 200 years ago.
Yeah, it was fucking hard. Math was rather OK, only 50% of the students failed the first exam. EE was harder, 90% failed at the first try. That wasn't regarded as problem - on the contrary, the exams were designed to weed out. After two semesters, we already had 50% student loss.
I remember what the EE prof told us in the first semester: we would learn a lot of things, but most importantly, to think like an engineer. Didn't make sense right away, but 5 years later, I knew what he had been talking about.3
Code fuckup day or what?! After two weeks where I wasn't on my project and a co-worker handled it, I came back to my project and reviewed what he had done so far.
Me: "I don't understand how this new code part here can work?"
Him: "Uhm, actually, it doesn't, somehow."
Then he had checked in his stuff with spaces while the whole project is with tabs. And variables that were used in a different way, but still under the old name, now completely misleading. Bypassing existing infrastructure and defines with "just for this case" hacks. But the best was tracking higher level state by peeking into lower level data buffers, even pulling out their data definitions into global header files - instead of using proper states in the higher layer itself.
NOT! IN! MY! FUCKING! PROJECT!!!
So I spent the day cleaning up the shit to fight off software rot right in the beginning.4
Arrrrrry new year, you bloody pirates!
For those few of us still running fully static sites: remember to update the year constant, re-compile and upload.4
I'm starting to hate 2020. Back pain because of muscle strain, ongoing middle ear inflammation, and now a tooth crown has broken off. Fuck this shit.11
My wife was done with exercises on her electronic 88 keys piano.
Me: I also know something nice.
Her: oh so?
Me: (repeatedly typing key #3)
Her: C hacking?!5
Dialogue when I entered the room of a co-worker, and it wasn't an individual office.
Me: YO MAMA her son bitching 'bout compiler licence?
Him: Kiss my ass!
Me: Could cram a wet roll of toilet paper down your pants.
Him: Yeah that'd come pretty close.
Other co-workers: WTF?12
Meeting with a co-worker who is supposed to do a code analysis on a large legacy project. Actually, HER project - she inherited it already years ago, and the original devs aren't in the company anymore.
Her: customer is asking this and that analysis.
Me: easily two weeks.
Her: but who will do that?
Me: you of course.
Her: but I don't know most of the code.
Me: me neither.
Her: and I don't know the protocols.
Me: google them. I'd have to do the same.
Really, I told her to google shit, which I consider as quite a slap for a co-worker. Basically, she tried to offload a complex analysis because she just wants the low effort parts of the job.
Won't happen. DO YOUR FUCKING JOB!14
- booting Linux
- starting Clonezilla
- kernel panic after some time
- WTF, this used to work
- look at sensor values
- CPU is really hot
- CPU fan doesn't work
- BIOS warning disabled because the lowest regular fan level is 0 RPM
Luckily, I still had some cheap 120mm fan which is a bit louder, but works. What's astonishing is that in normal operation, i.e. without full load, the case fans alone provided enough air stream for the CPU cooler.13
I haven't hated on a thing here for a while, but in my desire to learn more about things such as NLP, ML and other buzzwords, I've had to learn a lot and the internet is the best resource for this. However, there are a million fucking Medium posts about them all with no real in-depth analysis of what is happing, just code snippets and vague instructions.
So my rant is thus: Medium posts and other shitty blog platforms make it so much harder to find legitimate resources for learning since anyone can put up a post and let it rise in search rankings. I want citations, links to documentation and some explanation of why you are doing a thing. Not fucking copy-paste code snippets that vaguely work.
All I want is to be able to go through a short tutorial, get some basic information and have a "For a more in-depth analysis, go here..." at the end. Is that so hard?
No more bullshit "tutorials" or blog posts. Keep your shitty fucking useless posts to yourself until you can flesh them out yourself!9
So there is a WP plugin for GDPR conformity. True to form of the shitty WP plugin ecosystem, it has a major security hole that allows taking over the WP installation:
Yeaaahhh that moment when the program flawlessly crunches through ten thousands of files, only limited by the slowish HDD! :-)
In full multi-threading, tons of dynamic buffer resizing, pointer shit left and right, also two star programming, and everything written in raw C!14
What you are expected to learn in 3 years:
digital signal processing,
signal and control system,
NLP, data algorithm,
Java, C++, Python,
ASP.NET web development,
computer security ,
Android app development,
IOS app development,
3D game development,
introduction to DevOps,
how-to -fix- computer,
Project of being entrepreneur,
and 24 random unrelated subjects of your choices
This is a major called "computer engineering"4
Shaving with an old-style safety razor just rocks - that metal thing consisting of three pieces where a slotted, double edged razor blade fits in. With the good Russian Astra Platinum blades at 10 cent per piece where a hundred piece pack lasts for years. The whole thing can be fully dismantled and cleaned.
I can't understand why people use this modern overpriced Gillette shit at 2 EUR per piece that you can't even clean, with debris stuck in-between that starts to rot if you use the blade block more than once. Must be brainwashing by ads. Even worse for women who pay 50% extra for the pink version of that unhygienic shit.
Oh, and real shaving soap with a real shaving brush and not the canned aerosol garbage that doesn't really work anyway.8
LOL that's why I love C!
The function pointer cast for strcmp because qsort expects a compare function with two const void * pointers instead of two const char * pointers, that's just beautiful.
Not to mention the hack to abuse strcmp on a struct - which just works because the first struct member is a string and the rest just gets swapped with memcpy as opaque data.
I guess that wouldn't pass a code review at work. :-)9
How lawyers fuck up technology!
I rented a car today, given that I don't want to go by train currently. That was some VW Golf, and it had a lane assist which can't decide whether to be helpful or obnoxious:
Either I kept the steering wheel and still steered myself, in which case the lane assist's actions made the steering feel somewhat wobbly. Initially, I suspected a worn out control arm bearing, but that's a long term damage in aging cars, not in new ones.
Or I just rested my hands on my upper legs, as I usually do (palms facing upwards and holding the wheel lightly), then the lane assist worked by itself. It was even smart enough to deactivate itself upon blinking before changing lanes.
However, it complained after about 15 seconds that I didn't steer. I said, shut up and do your job. The warning intensified, and I said, fuck you. Then it initiated some stutter braking to wake me up. Annoying like a reincarnation of Clippy.
I ended up giving the steering wheel a slight tip to the right every 15, 20 seconds just to let the lane assist know I was still there, relying on the lane assist to correct it again. On a long trip, I would have had to deactivate that crap.
Obviously, the VW engineers did their job, but the legal department feared law suits should anything go wrong and ruined the feature!
What was also annoying is that there is no real hand brake anymore in many modern cars. Sucks when pulling off against a hill. Plus that at red traffic lights, I usually put the gear out (manual transmission) and pull the hand brake instead of keeping my foot on the clutch. That's not the same with this pseudo hand brake!
(In case you wonder why anyone would do that:
it's an anachronism that avoids lengthening the clutch wires, decades after cars switched to hydraulics.)15
SPDX. Actually a cool idea, you slap one line of comment in your source files that gives the licence. Easy to understand at a glance, and grep friendly. Also no more "huh what exactly does this licence here say, is that MIT, BSD with or without shit or what".
But once you have something simple, you can bet some design committee tries to "improve" it and cover everything imaginable.
The result looks like this (see also screenshot): https://wiki.spdx.org/view/...
Holy shit. What was that about? Simplifying crap? Yeah sure that's totally what it looks like.3
So, Terminator : Dark Fate was in the cinema. Not as good as I had expected, and Hollywood's contemporary in-your-face leftist propaganda made it even weaker.15
My setup: AMD Phenom-2 1100T with fat cooler for silent PC, 16 GB ECC RAM, AMD Radeon HD-6850 passively cooled, WD Blue 1 TB HDD. One 22 inch monitor with 1650 x 1050.
The mouse is a bit broken because the click switch under the mouse wheel doesn't work anymore. The empty bottle in front of the PC is necessary for lying on the room light switch, or else it won't work. And the black/yellow tape is a fix for the worn out seat cover.
But the best, under the monitor, is the little green troll that serves as rubber duck.
Oldie but goldie.. after my studies, I was looking for my first job and did interviews. In one of the companies, they asked me whether I knew C. Well yes, I had been programming in C. Ah no, that wasn't enough - they asked whether I was really good in C. I got suspicious and argued that there was the project documentation anyway, right? Turned out, no. The code was the documentation, as I had suspected.
Then my question - as freshman, mind you: "Do you have any plans to get to a more professional way of developing?"
The interview was pretty much over at that point, the boss got actually angry. Well, interviews work both ways, and he had failed. I surely dodged a bullet.2
I came around the corner in the corridor where a senior PM talked with an engineer.
PM: ... and that's why a good team is so important and we also need sensitive people.
Me: do we have some here?
PM: oh yes, I'm highly sensitive.
Me: one learns something new every day. :-)1
AI while recruiting
"Hey we see you are a full stack dev on your profile, but why are you here exactly ?"1
NOT saving the world in 2019. I already did that in 2012 when the Maya calendar ended and wasn't being thanked - on the contrary, people said "haha look, nothing happened".2
Today, my PM dropped by in the morning and mentioned she had some customer feedback on some item in a project where I'm the holiday replacement for someone else. I already had work to do, so that kind of interruption wasn't welcome.
"Well yeah, just forward it to me, I'll see what I can do", I told her. She agreed. Half an hour later, still no email from her. Hey, that looked promising!
For the rest of the day, I didn't talk to her, avoided speaking at all when she was near and even sneaked by her room (open doors) in silent mode lest I drew her attention and she might have remembered the email.
Until afternoon when I went home, still no email. Success! :-)5
Deciding to have a nap in the afternoon/early evening so you can stay up later programming.
This is the life I've always wanted.
I may also have discovered/started learning all of the ML modules in Python and want to use them. That's the real reason I want to work through the night.3
So that's where the W3C ivory tower clique ended up this year, as rubberstamping secretary for the WHATWG: https://w3.org/blog/2019/...
Well at least, the W3C got the grounding they clearly were lacking over many years!
Recap: the W3C went totally out of touch with reality and wanted an HTML incompatible successor that neither browser vendors nor web authors were interested in. They wasted years on XHTML and drafted specs into the void.
15 years ago, Mozilla and Opera said "fuck this shit" and founded the WHATWG which would work on HTML5. Apple and Google joined in later.
And now the W3C does ground-breaking work like providing the recommendation texts in different formatting, LOL!10
Fuck you Mozilla. You have killed the major unique selling point of FF, that being the add-ons, and replaced them with web extensions that will never even come close. Not enough with that, now you're killing the add-on servers to also kick FF forks into their balls. You stupid bunch of wankers have a history of pretending to know better what your users want, and your plummeting market share shows how much you suck at it.
Everyone: Parcel delivery sucks because the couriers often don't even ring and just claim nobody was there.
Me: Can't confirm - giving these (poorly paid!) people 2 EUR tips works like a charm because they do remember that.8
There's an interesting species out there, the skiplings. They are small, furry beasts, and usually go unseen because they live underground. When there's trembling action however, they leave their burrows to check out what's going on, typically while sitting up.
The rarest breed has the distinct habit of appearing quickly, and once things are observed to be calm, slowly return underground. They are mildly social in that several of them can inhabitate an area, but each has its own little den for sleeping.
Unfortunately, skiplings are a rare species so that they are protected under WCAG 2.1 section 2.4.1 at maximum criticality level A.3
PCs are a clusterfuck these days. Microsoft has abandoned the niceness of Win-7 and opted for Win-10 - with spyware, untested forced updates and forced online licence checks to make sure you have to get the shit. Macs are total crap, and Apple doesn't care because they instead prefer to milk customers with overpriced iShit. Linux sucks and looks like a Soviet tractor, but at least, it doesn't fuck up itself just by switching it on.
I had Linux as only OS from 2001 to 2010, and while I obviously can deal with it, I finally hated it enough to switch over to Win-7. From 2020 on, it looks like I will be back because Microsoft has managed to fuck up Windows even worse (and then these suckers wonder why Github users don't trust them). Maybe I'll buy a Tux when I install Linux so that I can punch it in the face.
Progress was yesterday - today it's about damage control. Welcome to a world where the brightest CS guys are thinking about how not only to shove up even more ads into peoples' asses, but how to also transmit lab data of the poo.7
Everyone wants faster programs, so doing more optimisations with GCC at -O3 instead of -O2 makes the program quite a bit larger, but... SLOWER. Makes sense, right? Why do you even have -O3 if it generates larger AND slower binaries than -O2?
Ah IC, it's because you use that level only on individual hot functions, not on the full program. How do I do that? Function attribute for optimisation. Cool. Uhm, what is the exact syntax? The fucking GCC documentation doesn't say that. When will devs finally learn to give bloody EXAMPLES?!
Googling around. Ah, with quotes, but without the leading hyphen it seems. Copy/paste. Compile again, tadaa: it's only a little bit but still FUCKING SLOWER than -O2!
GCC's -O3 is like that stupid kid at McD that ate like a damn horse, had to vomit afterwards and was even more hungry than before!13
The tons of undefined behaviour in C that ought to have been implementation defined instead, and increasingly sadistic compiler writers on the other side.
Like signed integer overflow that should just do what the underlying machine does, i.e. in practice, wrap around two's complement.
But the wierdest UB is when a C source code line has a non-matching ' or ". WTF, this should have been a compile time error!4
Uh-oh I fucked up.
Not at work, but with my website where I had an email forwarder to an external address. The forwarding was everything so that I could do the spam filtering and occasional check in one place. Unfortunately, that triggered the spam detection at the external address (after some years!), and my provider ended up on a blacklist.
That got me a pretty angry mail from my hosting provider who had already disabled the forwarding and wanted to make sure that I understood the issue and would not put it in again.
I thought about whether they had fucked up because it was even possible to do that, or whether I had fucked up because I should have known. Hm yeah I opted for the latter and apologised.
The support guy seemed happy that I didn't try to argue (possibly like other customers...), and advised that I just should add another account in my email client. Sure, at least that will prevent this shit from happening again.
He also mentioned that every single blacklist issue they had experienced in this year was accidental due to external forwarding issues and that they would consider just disabling it altogether.
Which is probably a smart move, just as hint for these ranters here who work at hosting companies. Or at least only enable external forwarding if spam assassin or so is in place.3
Fuck my life! I have been given a task to extract text (with proper formatting) from Docx files.
They look good on the outside but it is absolute hell parsing these files, add to these shitty XML human error and you get a dev's worst nightmare.
I wrote a simple function to extract text written in 'heading(0-9)' paragraph style and got all sorts of shit.
One guy used a table with borders colored white to write text so that he didn't have to use tabs. It is absolute bullshit.2
A server application pulled off some sort of listings as table. Problem was, it crashed with some thousand data files after one and a half hours. I looked into that, and couldn't stop WTFing.
A stupid server side script fetched the data in XML (WTF!) and then inserted shit node-wise (WTF!!), which was O(n^2) - in PHP and on XML! Then it converted the whole shebang into HTML for browser display although users would finally copy/paste the result into Excel anyway.
The original developer even had written a note on the application page that pulling the data "could take long". Yeah because it's so fucking STUPID that Clippy is an Einstein in comparison, that's why!
So I pulled the raw data via batch file without XML wrapping and wrote a little C program for merging the dumped stuff client-side in O(n), spitting out a final CSV for Excel import.
Instead of fucking the server for 1.5 hours and then crashing, shit is done after 7 seconds, out of which the actual data processing takes 40 bloody milliseconds!4
Friday afternoon, the week's work is finished, and I'm ahead of schedule.
An email arrives for another project.. "URGENT yaddayadda". The dickheads where it came from have taken weeks to react, and now it's urgent. Yeah, fuck you assholes, ideally with a smoothing iron.
On the upside, I'm not addressed directly, and that project isn't my task. But boss could make it mine in no time, and I think he would.
I don't even open the email, nobody has seen it anyway yet, AND I GO HOME! :-)3
Testing had some issues with system integration. I asked them what their setup was.
Answer: "Almost similar to the real hardware."
Google: we want to crack down on adblockers in Chrome and remove APIs. If we threw out Chrome store extensions that use the old ad blocking APIs, Chromium forks would be hit as well, haha!
Vivaldi: we've integrated DuckDuckGo based ad and tracker blocking right into our Chromium based browser. Also for Android now, haha!9
I finished a 30-minute lecture today with the conclusion "so it turns out that throwing way more data and resources at this Machine Learning problem gives much better results."
Who could have possibly predicted that?!2
Why is fucking Chrome still not able to auto-hyphenate on Windows desktop?! Yeah I know the dictionaries, OS integration yadda yadda, BUT:
1) TeX did this 40 years ago, this is a solved problem in CS!
2) Firefox is a 3rd party application in Windows, just like Chrome, and can auto-hyphenate!2
Just to help out folks who find this week's group rant topic just as confusing as I did:
Today, I got some crap on my desk with possible bug reports from the field. They have been lingering somewhere for fucking MONTHS, and suddenly, an immediate answer was due. I was the unlucky one who was the least clueless about the product involved. SHIT.
OK, sifted through the reports. Some of them were duplicate, others obviously not our problem. No idea where to even start for the rest. FUCK, it's Friday!
But here comes "senior dev secret knowledge"(tm). Instead of saying WTF-IDK, I proposed an "action plan"(tm) (that BS term alone...) detailing the steps that we would need to take, and since I had no idea how long we would need, I just added enough steps in the "action plan"(tm) to make two weeks of investigation believable.
PM was very happy and just took that as direct customer reply. Now it's weekend anyway. :-)
What a coincidence. JQuery gets an update to 3.4.0 - and I removed the JQuery dependency that a mid-sized widget (15 kB minified) needed.
Rewriting the selector, css and trim stuff was easy. Each, children, append, empty, remove and extend were not too hard. Animations gave me more headache, but in the end, JS triggered CSS transitions worked nicely.
I was able to shave off the usual 30 kB over the wire for JQuery, and the whole thing seems snappier. Finally, I'm at vanilla everything!
Of course, it's largely due to JQuery's merits that vanilla JS is where it is today. So, thank you JQuery, and farewell.3
Free dev eBooks on various stuff, today's is nlp. Different one each day, you can see previous day's books). In case you're interested:
Got some new coffee, Trung Nguyên from Vietnam. Now that's some in-your-face coffee! Strong and interesting taste, slight cocoa aftertaste. Only recommended for hardcore devs.6
Started new course called "Introduction to natural language processing" in uni. I am super bad at doing regular expressions and don't understand anything about them.
Saw the first weeks homework. Have to do i.e. some text cleanup with regex... I was sad. But now after reading the course material and trying some of the exercises I'm super excited since I'm actually doing something "real" with it.
Do you guys just love it when teaching material is well written? I do.3
Yeah so I quickly hacked stuff together. Why make it beautiful before I know whether it will actually do? Hack now, refactor later!
Yeah and then that moment in refactoring where main() gets under 700 lines and I don't know whether what I'm feeling is joy or despair. Gaaaahhhh!
At least I have also written automatic tests so that I can see when something breaks.4
I've made a NLP tokenizer which is 30 times faster than clearNlp and standford tokenizer, last year. It is rich and require very less space(don't load any model). Should i make it open source?9
MarSecOps: "Marketing Security Operations, the idea is that security is not just the realm of website developers or the IT department anymore, but rather the marketing department has an equal if not greater interest in, and even responsibility to security."
WHAT THE FUCKING FUCK? The marketing dimwits responsible for security? Whose IT competence ends at Powerpoint drivel?!
I LOLed so hard that I could have shat a cactus!8
What's wrong with Mozilla?!
Savvy webdevs use link preloading to break up dependency chains for late discovered resources, and users like the faster loading as result. Firefox 56 started supporting that two and a half years ago. Turned out they had screwed up and it didn't work with non-cacheable resources. So Mozilla "fixed" that by disabling the feature altogether behind some config flag.
And they left it at that - still not supported. They even had patches, but decided not to merge them and instead try something different, some day.
Is Firefox becoming the new IE or what?6
1. Study C and Python
2. Learn NLP and ML
3. Participate again in one hackathon and kick their ass after winning it
4. Get one awesome internship
5. Master algorithms and DS
Here is a personal project I've been working on lately. It's not public, but just wanted to share. It's a custom chatbot I created using a LAMP stack. Its built on top of a framework called Program-O to handle the knowledgebase storage and processing along with some basic NLP. I added the web speech api functionality myself so it supports recognition as well as speech synthesis. Anyways, pretty proud of this one.7
This February, I posted a !rant here ( https://devrant.com/rants/1999689/... ) about getting a NLP internship with the help of the community.
In the past few months, I have gone up, and now I have a job offer from a small organisation (StrataVAR) as their Python dev.
I received the offer letter today. Since I am in the third year of graduation, then want me to work parallel to the university classes, they pay way above Indian freshers' average, and they have put me in a team that works on things I like.
It would not have been this way without the help and support of the communities I'm a part of, such as DevRant and StackOverflow (obviously). I just wanted to thank all who cared and helped. It means a lot.8
Just been watching some police soap on YT with "real police officers in action". Haha, yeah.
Huh, what's that outside, flashing blue light? Oh, a police car. No, two. Three. Actually, four. All of the guys rush into the neighbour house, WTF. Real police officers in action.
Somehow, a continue instead of break in a switch-case looks weird. Although it makes perfectly sense with regard to the outer for loop.8
Yeah, my new e-scooter arrived today! I just have to get the insurance sticker that is legally required here; I'll do that on Monday.3
I specified a requirement where certain bits in a certain message shall be evaluated for certain items. The tester came up to me and talked some BS about how to guesstimate these bits by totally different bits. I said, look up the interface definition, the bits are there. Got an email, same BS. Tester was just too lazy to look it up. So I answered that message ID X has bits 60-63 for the four relevant items.
However, I carefully avoided telling him which bit was for which item so that he knew what it was, but I still forced him to look up the inter fucking face definition.
The tale of mouse and clock
Once upon a time, there was a mouse that wanted to know what time it was. So it asked the first best man, but unfortunately, it didn't understand Suaheli. Anyway, the man just mumbled "gotta kick the cat in the ass".
So the mouse went on and nearly would have got it when another mouse came into play that had been sewed onto an elephant's ear for 27 years - but it had forgotten the exact time it had gotten sewed on.
So the searching mouse came up with doing something about the sun, but since it was just a dumb mouse, it looked into the sun and was blinded for a time.
Somewhat desperately, it staggered through the gutter where there was quite some garbage. Just by chance, it fell over a dumped wristwatch and broke its nose.
Moral of the story: even a blind mouse sometimes can find a broken clock.2
I made a bash script for my website that anonymises the visitor IPs in the Awstats logs by replacing the last octet with 0. It can either process all logfiles except the one of the current month, or only the one of the previous month. The latter mode is how I put it in a cron job to be called on the first day of each month.
Everything worked flawlessly with test data, but on the server, some visitor IPs were not anonymised. I noticed that all of them were from the last day of the previous month. Looking at the time stamp of the logfile, it was indeed from the first of the current month, but not from 00:21 where my cron job runs - instead, it was modified around 14:30.
Then I realised that the Awstats engine seems to be configured to batch add the log entries once per day at 14:30 so that when my cron job ran, the visitor data from between 14:30 and 00:00 were not yet in the file!
Solution: batch process all previous logfiles once to clean them up, and schedule the cron job on the 2nd of each month at 00:21.2
Gna gna gna Chrome you stupid sucker!
I have some objects that I animate using JS triggered CSS translate with a transition duration. Why on earth would Chrome think it's a good idea to apply that duration also after the animation when I zoom the whole page?!
OK, slap a transition end handler on the object and reset the transition duration when the animation is done. But FF doesn't have that problem in the first place, and even IE works as intended!5
But the best was the debug mode: the characters would be printed, but a yellow duck would appear from the left and eat them in Pacman style.1
Some time ago at work, I verified a system design by running the whole thing in my head, bombarding it with various fault conditions in all phases in order to check whether I had forgotten anything. I had my eyes closed, and my PC was not even switched on. Right in that moment, the boss of my department came in.
He: what are you doing?
Me, without opening the eyes: thinking.
He: don't you want to code?
Me, eyes still closed: no.
Just imagine sicknesses spreading through internet.
I mean real human sicknesses. Of course your laptop can’t generate aids, but hey, did you ever have a song stuck in your head, repeated infinitely? Memes, viral videos, modern pop music, it looks just like perfect delivery mechanisms.
Human brain is flawed and buggy, vulnerable to countless things like optical illusions, uncanny valley, nlp and others. It’s obvious that there is some audiovisual input sequence that may have arbitrary side effects.
We are towards invention of some precisely formed pieces of information that’ll damage your brain forever, maybe drive you insane so there’ll be no way back. Delivered via viral media straight to your brain, destroying it irreversibly.
Be ready to face the future.2
I had six items that I wanted to centre horizontally via CSS. Problem was that depending on the viewport width, the items could either take one, two, three or six lines. But the items broke to the next line like text so that e.g. the top line had five items and the second only one. What I wanted was three items each in this case.
Finally, I came up with a hack of media queries to make the parent container just so wide that six, three, two or one item would fit horizontally, and then centre the parent container with margin left/right auto.1
To all the Python devs on here, I have a question!
So I'm building a Chatbot, I've set up a basic NLP backend and I'm looking for the best method to have the actual "app" interact with the backend.
I'm thinking, have the actual bit as a Django app (because I'd like to integrate it into Django sites later on) and then run the actual NLP bit on a Flask app then just use it as an API.
Can you think if any obvious downsides to this besides the bit of network latency?9
"We are applying deep learning, NLP, machine learning, Big Data frameworks and other technologies to produce outstanding fintech products in areas of robo advisors, stocks and cryptocurrencies analysis, digital assistants, prediction of customer behavior, deep learning analysis of alternative data (satellite images) and other areas."
(disclaimer: this might sound like a 13 year old guy just coming out from a theater after watching matrix but in some ways, its not )
Why the fuck should i feel discouraged from getting into ml/ai by all these smart ass people continuously taunting that "yeah, you might get into ml/ai but you won't get successful if you have a bad maths"
Ok, 1) i totally agree with these guys. Checked some pages and everywhere itse regression ,linear something, nlp's and neural networks, which even by the name sounds full of maths. BUT here is a thing:
1) All i can think of this as an ocean: just like web development is so vast, android is so vast, i can assume this to be so vast too.
BUT I WANT TO APPLY IT, NOT MAKE IT! why? Because that's what a beginner would do. It's data "sciences" and ppl who are deep into it will be called data "scientist" , a fuckin doctorate profession!
And toda i see it at so manypaces : from alexa playing song to google searches , youtube recommendation, hell even coffe machines are getting smarter!
I like these things and want to apply them as a developer to my apps and websites. But tell me, do everyone making a scanner or search engines learns regression algorithms and lambda calculas?
I love automation. So much that if given a chance, i would make robot to fuckin suck me off! From smart searches , self driving cars, map routes to latest apps with awesome pattern recognitions, i love them all. What i want to do is to look at some codes, tweak them for my usage and make something extraordinary and automated machine learning from ussr's interaction. I don't think my interest to learn applications of a technology and not the technology itself should be considered wrong because both are a carreer in their own! Learning ml/ai vs learning their applications is like a learning physics vs learning furniture designing: one being a part of other but completely existential on its own .
Thus the question comes what should i do? I got attracted by ML's achievements and fireworks but every ml course wants me to be the cracker maker! I want to get into data sciences bcz of its achievements ; and i want to replicate them again nd again until get termed as a professional nd if i feel the urge, maybe re visit my collage books and read maths and get into nlp designing (or whatever)
Where to get knowledge of this "life automation technologies" / data sciences (if they both are rea equal) and knowledge of such "ml toolkits" , if its really possible to be into ml without maths?8
PC-Lint is such a useless piece of shit! Tons of warnings with no actual benefit. The obvious motivation behind this crap was to throw as many warnings as this cheap sucker can even generate with no effort to minimise false positives. Typical snakeoil shit, reminds me of ZoneAlarm back then which reported every ping as "attack" just to fool the clueless into buying. Meanwhile, the actual bugs that sophisticated tools can find pass unnoticed through PC-Lint.
There was a big hairy ball of SW mud from another project that a poor coworker had to "reuse". Only that it was impossible because there was no documentation, shit was partly auto-generated with mysterious Excel tables, and the actual code was just as bad. No APIs and nothing, just hacking shit into globals, several nested state machines that were overriding each other's states, and with global side effects. WTF.
Two devs took a look at it - minimum 8 weeks. Schedule was some days, and PM insisted that it was "already working". But the worst thing was that the dev in charge had been looking for another job anyway and quit, so the whole clusterfuck suddenly was on my desk.
The code was so awful that I could only bear it with both eyes closed, so I instead read the spec of this project closely. Turned out that it didn't actually demand this feature, only a small subset of what the ball of mud was supposed to achieve - which I was able to implement from scratch within a day, plus another one for documentation. Phew.
Got an invitation for a telecon this afternoon. Just "some quick questions"(tm).
You stupid smurf dick, write them fucking down so that I can fucking prepare useful answers and probably eliminate the whole dumb telecon at all.
I declined the telecon, problem solved. No fucking questions means no fucking telecon. I won't burn through the project budget for ventilating your dick, you can hire a hooker for that one on your own cost centre.
Ah I love that movie.. Hero, from 2002. I've seen it in the cinema three times. It's a real marvel, especially the scene where the forest turns red right after Snow killed Moon.
I also like how the quotes are adaptable:
Martial arts and programming are quite different, but they are based on the same principle: striving for highest perfection.
The essence of programming reveals itself through study and meditation.
(The latter one is also one of my favourite lines at work when being asked how come I know some esoteric stuff: it revealed itself through study and meditation.)5
When you are trying to reverse engineering context free grammar rules from given sentences......
Not possible. Worst assignment yet.2
I've just used https://gtmetrix.com to see how devRant fares. Pretty well actually, with one major gotcha that should be easy to fix. There are a lot of static resources without browser cache expiration date.
A little image optimisation could also be done, see the PageSpeed tab. And scaling down images in CSS could also be replaced by proper scaling of the image itself.
The YSlow tab shows that a little JS minification is missing, and maybe 4 external scripts could be combined into one.1
The WordPress Gutenberg editor is now starting to hit unsuspecting users who havn't been following up with the preview phase. They mostly hate it, and the arrogance from the WP pricks is stunning.
My favourite quote from WP.org admin Otto: "This is the future editor in WordPress. It is happening. There's no stopping that train now. People thinking that they can somehow stop the train are people who are standing in front of a train. That never really ends well."
Yeah you little dipshit, do you know what did end FUCKING well? Not having put myself on your bloody track in the first place so that I can sit back and enjoy my popcorn! :-)13
My project back in university, where I used bash and NLP and Python to create a utility thay would execute sentences written in English. Much like typing "change my wallpaper to abc.jpg"
Even though the tokenizer took almost five minutes to tokenize a sentence ( longer than five words ), and the parser took even longer, I still love it, for it was my first dive into ML !
Yeah Statler and Waldorf are my new role models. A code review in S&W style should be quite a killer, haha.
- I've never seen anything like this before.
- And I hope I'll never see anything like this again!8
Fuck, the gas spring in my ergo knee stool at home has given up. Now it's in the lowest position, not that ergo anymore, which also tore the rubber gaiter on the spring piston. On top of that, the seat cover is so worn out that I had to duct tape it so that the filling doesn't crumble out too much.
That thing is 20 years old, and the manufacturer discontinued the product years ago. Buy a new one? Noooo. Modern quality would be worse. So I ordered a generic gas spring, let's see whether I can install it, plus a moped fork gaiter. And then hire some professional upholsterer to finally get a luxury leather cover.
That will likely still be cheaper than buying the closest modern product that is even in a similar class.3
That moment of satisfaction when you finally complete a report on Natural Language processing by reffering 6 IEEE paper and 7 presentation document within a night before submission.
WHAT THE FUCKING FUCK?!5
I'm really excited with the 2018 World Championship, and I guess I'll leave work earlier to watch the games live.
What do you think, who will win? Carlsen or Caruana?2
I took this freelance job from an undergrad student, her *final project* in her final year.
It's a cool idea with NLP and I was excited. Did three webpages as a show of my prowess and discussed an amount with her after she was satisfied... she seemed okay with the pricing.
Fast forward, three weeks pass and I don't hear from her (we had agreed that I would have to carry her along, so she could defend it). After alot of unanswered msgs, I stop working, assuming she's changed her mind.
Present Day. I stumble into her and I ask what the hell happened?
She: "I thought you were working on it!"
Me: "Jesus Christ! What about my messages?!"
"But, we kinda have only till the 28th of the month before final defense..."
F***, now I'll spend my birthday month rush coding and fixing bugs that I could have done at my own pace!
Mozilla you stinking kangaroo pouches!
When you set an object's CSS translation via JS like so:
and then read it back, every browser including FF until 66 gives this, with additional space:
However, bloody FF 67 returns "translate(0px)". Because it's always a good idea to just introduce external changes nilly-willy, right?
That screwed up my crappy string slicing because it relied on the presence of the comma. It was a quick and dirty solution, but with additional future proof if/else logic, it wouldn't even be quick anymore.
Besides, the whole string slicing looked like yo-yo code anyway so that I instead added shadow integer variables to the objects. That solution not only works, but is even faster.13
Not quite sure what to rant about, but it sucks:
- Why the FUCK is Windows taking bloody TWO MINUTES to delete Android NDK?
- Why the FUCK does it take ANOTHER two braindead minutes to delete that from the waste bin?
- Why the FUCK is Android NDK so bloated to begin with?
- Why the FUCK have I still not come around to equip my 8 year old PC with an SSD?1
I've to solve a real time issue in my site. I've set of devices returning Machine parameters but some different key names.
i.e. Eng_speed = Engine Speed
Engine Sp = Engine Speed
Both devices giving data with different labelling. I'd like to predict the correct word using NLP and Machine learning. Since I'm new to NLP stuff. I'd like to hear your thoughts on how you solve it.
Thanks for your help12
i feel its a great time to be a developer we have so many toys to play with
machine learning, scientific python, nodejs, frontend js frameworks, nosql, NLP, elasticsearch, mongodb, open source .net, big data with java, arduino..., VR, 3d printing
what toys are you playing with?
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
Side project update.
Made simple nlp library in python and published it’s first version to open source.
Now I can feed it with parsed pdf text.
See rant https://devrant.com/rants/2192388/...
Cause during reading book about nltk I couldn’t find simple extendible way to provide support for polish language and I wanted to abstract stemming, word normalization, tokenizer etc. so I can provide ex. different conditions for separate text files and don’t write much code what is an asset when you work solo.
It’s about 12GB of pdf public accessible law data I am trying to handle ( at first ) which is about 35000 files from last 90 years.
So far I automated downloading web pages and pdf documents from them. Extracting data from web pages and saving it to database. Extracting text from pdf files. I have about 5-6 projects to do all of it above maybe at the end I will put it to some workflow manager like Luigi or just run it by cronjob.
First thing for website version 1.0 part is find correlation between all documents inside law text using nlp library by building custom conditions. Then just generate directory structure and html files with links between documents.
Website version 2.0 is already in my mind but it will be creepy to make it and will take at least 1-2 months and I want to publish fast.
I have some pdfs with only images instead of text and tesseract worked quite good with them so maybe I will try to process them when everything go live.
Learned a lot about pdf as now I know that font in pdf is not always providing unicode characters ( stupid form of obfuscation) so when you extract text you need to build glyph vector to text map for every font.
Pdf is full vector representation - just like svg - what is logic if you think a bit and know that some printers are running using postscript.
Let’s hope next update will be about flutter mobile app which started all of shit above. It’s almost ready ( except getting data from api I am trying to do and logo for release version ). It’s last piece of puzzle.3
I'm currently a java developer. I've dabbled in python too. Mostly worked on API development and some data processing. I want to learn something new, that'll keep me engaged. It can be something within java (like image processing or NLP) or some other language (Go, scala, js). What do you all suggest?6
A medical equipment that you can attach to employees and excruciatingly kill them as soon as they say things like (please note that the list is not limited and we should use a speech to text API to provide NLP states for the meaning - I want to catch all false negatives!! Kill them all!!!!):
- It works on my machine
- I tested it before!
- Haskell is a terrible language
- Big data and actionable insights
- why do you need unit tests here?
- I am a recruiter
- Anything that comes with the following construction as well: "I don't have anything against X, but..."
Any other suggestions of phrases?2
Got another interview, this time it was a research assistant position, a java dev job, with one of our lecturers. It sounds really interesting, but it deals with NLP and it's not something I took courses in.
She asked if I can study a 3 months' worth of material in one month for this job and I said that I can do my best to cover at least most of the topics, but she'll likely end up taking someone who had already taken these courses.
Also the pay is kinda crap - it's a small grant and not really worth the 2 days per week (although it's work from home) - but it may be good for the resume.3
What's the best way for a beginner to learn Natural Language processing? Don't want to do a coursera or udacity course. Just a simple tutorial would help. Any suggestions?7
Hello guys, started learning NLP a week ago. With the book
Do you have any ideas for mini projects? (Something more simple than a chatbot)8
I thought it would be a great course, learn some of the stuff that I always read about but couldn't understand jackshit, and maybe profit form it somehow.
I'm in my last assignment, they want us to pick some SNLI paper and implement, ok, so I find this one with the least amount of params because I thought hey this seems promising.
And boy what a ride it was, I implemented it using PyTorch, the results are way off, I read the paper again and rewrite some parts, still nothing, I get 79%, it's supposed to be 85%, and no matter how I try, nothing.
10 GitHub repos later, 40 hours of complete meltdown,
20 throwaway Google accounts using colab because we don't have GPUs in our uni and using AWS is not feasible.
Same shit, I'm at loss, the world is a lie, and I fell for it...
Welp guys I'm taking my GRE tomorrow and I'm still nervous even though I've studied well for about 2 months. Never been good with competetive exams but just hoping to do my best. I don't know why I'm scared. Have given enough mock tests and always averaged above 316
Anyways I am planning to apply for masters in general CS/ NLP-AI. Wanted to tell abt it here because of the awesome people here! Any tips you guys got for me?2
Does anyone know of some good research papers around NLP AI capable of situational awareness? General conversational awareness... i remember trying cleverbot a few years back and it left much to be desired. Even Google is sub-par when it comes to asking follow-up questions.