Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "clause"
-
🎶 He's making a list
He's testing it twice
SELECT * FROM users WHERE behavior="nice"
SQL-clause is coming
To town. 🎶16 -
Worst dev I've interviewed?
"Archie" ran his own consulting business for almost 20 years. Prior to his interview, Archie sent HR (to send to us) his company's website, where he had samples of code for us to review (which was not bad, this guy did know his stuff).
What I found odd was Archie was the lone wolf at his company, but everything I found about him (the about page, his bio, etc), Archie was referred to as 'Mr. Archie Brown'.
Ex. 'Mr. Archie Brown began his humble career and 'Mr. Archie Brown is active in his church and volunteers his time in many charities ...'
Odd to refer to yourself in the third person on your own site, but OK, I like putting hot sauce on my mac & cheese (no judgement here).
Then the interview..standard stuff, then..
Me: "Given your experience, this is an entry level developer position. Do you feel the work would be challenging enough for you?"
Archie: "Yes, Mr. Archie Brown would have no problem starting at bottom. You see ..."
Almost any time he would reference himself, instead of 'me' or 'I', he would say 'Mr. Archie Brown'. As the interview continued, the ego and self-importance grew and grew.
My interview partner wanted to be done by using the escape clause, "PaperTrail, I'm good, do you have any questions?"
Yes, yes I do. I was having too much fun listening to this guy ramble on about himself. I made the interview go the full hour with the majority of time 'Archie' telling us how great he is.
The icing on the cake was my partner caught his gold cuff-links and tie-pin where his initials and how he kept raising his hands and playing with his tie to show us (which I totally missed, then was like "oh yea, that was weird")
After the interview, talking with HR:
HR-Jake: "How did it go?"
John: "Terrible. One of the worst. We would have been done in 10 minutes if PaperTrail didn't keep asking questions."
Me: "Are you kidding!? I had the best time ever. I wish I could have stayed longer."
HR-Jake: "Really? This guy was so full of himself I wasn't sure to even schedule with you guys. With his experience, I thought it deserved at least a round with you two. You think we should give him a chance?"
Me: "Hell no. Never in a million years, no. I never in my whole life met anyone with such a big ego. I mean, he kept referring to himself in the third person. Who does that?"
HR-Jake: "Whew!...yea, he did that in the phone interview too. It was a red flag for us as well."
Couple of weeks later I ran into HR-Jake in the break room.
HR-Jake: "Remember Mr. Archie Brown?"
Me: "To my dying day, I will never forget Mr. Archie Brown."
HR-Jake: "I called him later that day to tell him the good news and he accused me of being a racist. If we didn't give him the job, he was getting a lawyer and sue us for discrimination."
Me: "What the frack!"
HR-Jake: "Yep, and guess what? Got a letter from his lawyer today. I don't think a case will come in front of a judge, but if you have any notes from the interview, I'll need them."
Me: "What are we going to do?"
HR-Jake: "Play the waiting game between lawyers. We're pretty sure he'll run out of money before we do."
After about 6 months, and a theft conviction (that story made the local paper), Mr. Archie Brooks dropped his case (or his lawyers did).23 -
84 hours. Took alot of coffee and adderall. Had 5 projects with reasonable deadlines until mother fucking hurricane Katrina decided it wanted to be the best cocksucking blowing bitch around and knocked power out for two weeks. I managed to get 3 projects finished before i passed out for a day but two clients got pissed off cause their projects were late. They were pissed off even more when i had to pull the Forced Majeure clause cause they wanted to be bitches and didn't want to pay for my work
TL;DR: Hurricane didn't kill me so deadlines tried6 -
So sick of my colleague who keeps writing:
if (something) {
doWork();
} else {
}
He insists that it is the best code style to include the empty else clause. WRONG YOU #!*&@!14 -
He's making a list
He's testing it twice
SELECT * FROM users WHERE behavior="nice"
SQL-clause is coming
To town.
Credit to @leeflower on Twitter2 -
So today my middle company put a meeting with the new HR.
Meeting subject: you can't poach inside the company.
Context: I resigned, and I'll be taking with me 3 profiles.
HR: If you do take them, we'll take you to court.
Me: Why?
HR: It's poaching and by contract, you can't.
Me: You can show which clause?
HR: That's not the problem.
Me: Also in France, you need to notify the employee as you are denying his right to get a job. And pay him for that.
HR: What? That's none sense! Stop talking and listen.
Me: Ok
HR: We'll sue you and crush you. You'll have so much legal problem that you...
Me: I'll just start recording on my phone, so you say that you accept it and continue your intimidation rant.
HR: What? No!! Stop that.
Me: *stop it* Would you rather have my lawyer with us? Because we'll need to reschedule the meeting.
HR: If you continue that way, we'll tarnish your name and no company will hire you.
Me: You really aren't familiar with IT, right? Because I could delete ALL production. No system work. The BCP will kick in. You will lose one or two days. Then make an article of it, showing what kind of process or security should have been implemented. And I will still get a high pay job!!
HR: You know what? Get out! If you want to go to war, your problem.
Me: Ok, so you'll be getting news from my lawyer by mail.
HR: what?
Me: Yeah, that harassment. And my lawyer will get in touch. And I might also post on LinkedIn. And talk about it in the next events I'm invited.
HR: that's, that's...
Me: freedom of speech. Don't worry I'll write it so it's only viewed as my opinion. Have a nice day.
Two hours later my friend, lawyer, send them a mail and email.
Three hours later the COO calls me. Saying that HR was out of line and that it'll no occur again. It was an error and I should be forgiving.
So now all discussion with HR must be held with my attorney :). And middle company pay for it.6 -
Never in my life I was scared as today.
I recently left a big company to work for a small one as the first internal developer.
Had a small issue in the production server. The fix was easy, just remove a single table entry. And... *drum roll*... I forgot to add a where clause. All orders were lost.
No idea if we had backups or anything, I quickly called the one other IT dude in the company.
He had no clue where are the backups and how to find them.
Having some experience with Nmap, I quickly scanned our network and found a Nas device.
There was a backup, whole VHD backup. 300GB of it, the download speed is around 512kb/s. No way I can fix it before management finds out, but then an idea came to mind. Old glorious 7zip. Managed to extract only the database files, sent them to the server and quickly swapped them. Everything was fine... The manager connected 5 minutes later. Scariest 45 minutes of my life...20 -
For some idiotic reason, I ran
UPDATE users
SET email="myname@mycompany.com"; in production.
No where clause. Oh drat.21 -
Two people I know just got fired from their jobs because they were working on a project on their free time. One of them got a 10000$ fine aswell.
Apparently there was a small hidden clause in their contract that stated that any side projects, even on your free time, was strictly forbidden. Because it could be seen as competition.
Now that was, imo, a bit fucked up.20 -
Oh boy.. this is going to be so much fun when the intern deletes something and realizes he / she forgot to put the where clause 😂joke/meme backup your fucking data please backup your data kids backup your data backups are important8
-
The moment when you realize you just ran a SQL update with a ';' before the WHERE clause............fml10
-
--- NVIDIA announces PhysX SDK 4.0, open-sources 3.4 under modified BSD license ---
NVIDIA has announced a new version, 4.0, of PhysX, their physics simulation engine.
Its new features include:
- A "Temporal Gauss-Seidel Solver (TGS)", an algorithm used in this SDK to make things such as robots, character arms, etc. more robust to move around. NVIDIA demonstrates this in the video by making their old version of PhysX, 3.4, seem like an unpredictable mess, the robot demonstrating that version smashing a game of chess.
- New filtering rules for supposedly easier scalability in scenes containing lots of both moving and static objects.
- Faster queries in scenes with actors that have a lot of shapes attached to them, improving performance.
- PhysX can now be more easily used with Cmake-based projects.
In essence, better control over scenes and actors as well as performance improvements are what's new.
Furthermore, NVIDIA has released PhysX version 3.4 under the 3-Clause-BSD-license, except for game console platforms.
As NVIDIA will release the new version on December 20th, it will also be released under the same modified BSD license as PhysX 3.4 is now.
What are your thoughts on NVIDIA making a big move towards the open-source community by releasing PhysX under the BSD license? Feel free to let us know in the comments!
Sources:
https://news.developer.nvidia.com/a...
https://developer.nvidia.com/physx-...
https://github.com/NVIDIAGameWorks/...4 -
New "dev" at our company. One of his first questions. "Could an if clause have two conditions?"... /me *facepalm* ... where did my boss find this Person and what did he told him?4
-
me: oh you can add a where clause to filter xxx out with your group by.
arrogant junior: whuuut? you can use where clause with group by ? No u can't!
me: err... yes you can...
arrogant junior: NO!!!! No it doesn't work that way!
me : okay okay... fine ...
**30 mins later**
i see a where clause in the sql statement lol...I don't know why this person is always so pissed and fierce lol6 -
Ran update query on 1m+ record without where clause. Thank god I missed the commit command or else today would have been my last day.13
-
He’s making a database
He’s sorting it twice
SELECT * from contacts WHERE behaviour = ‘nice’
SQL clause is coming to town1 -
One Thursday noon,
operation manager: (looking at mobile)what the.....something is wrong i am getting bunch of emails about orders getting confirmed.
Colleague dev: (checks the main email where it gets all email sent/received) holy shit all of our clients getting confirmation email for orders which were already cancelled/incomplete.
Me: imediately contacting bluehost support, asking them to down the server so just that we can stopp it, 600+ emails were already sent and people keep getting it.
*calls head of IT* telling the situation because he's not in the office atm.
CEO: wtf is happening with my business, is it a hacker?
*so we have a intrusion somebody messed the site with a script or something*
All of us(dev) sits on the code finding the vulnerabilities , trying to track the issue that how somebody was able to do that.
*After an hour*
So we have gone through almost easch function written in the code which could possibly cause that but unable to find anything which could break it.
Head asking op when did you started getting it actually?
Op: right after 12 pm.
*an other hour passes*
Head: (checking the logs) so right after the last commit, site got updated too?. And....and.....wtf what da hell who wrote this shit in last commit?
* this fuckin query is missing damn where clause* 🤬
Me: me 😰
*long pause, everyone looking at me and i couldn't look at anyone*
The shame and me that how can i do that.
Head: so its you not any intrudor 😡
Further investigating, what the holy mother of #_/&;=568 why cronjob doesn't check how old the order is. Why why why.
(So basically this happened, because of that query all cancelled/incomplete orders got updated damage done already, helping it the cronjob running on all of them sending clients email and with that function some other values got updated too, inshort the whole db is fucked up.)
and now they know who did it as well.
*Head after some time cooling down, asked me the solution for the mess i create*
Me: i took backup just couple of days before i can restore that with a script and can do manual stuff for the recent 2 days. ( operation manager was already calling people and apologising from our side )
Head: okay do it now.
Me: *in panic* wrote a script to restore the records ( checking what i wrote 100000000 times now ), ran...tested...all working...restored the data.
after that wrote an apology email, because of me staff had to work alot and it becomes so hectic just because of me.
* at the end of the day CEO, head, staff accepted apology and asked me to be careful next time, so it actually teached me a lesson and i always always try to be more careful now especially with quries. People are really good here so that's how it goes* 🙂2 -
Once on my old job I had several ssh sessions and I was running some tests where I frequently restarted the application... Until I entered the restart command in the terminal of the production system and shutdown the whole application. - Still gives me the creeps today, was just lucky the customer was in a break and we could remotely restart it, so probably nobody even noticed.
Now today I run a "rm -rf *" on a folder that is supposed to be local, but after some time I get suspicious because it is taking too long.. Only to discover that the mount point of the remote resource points to my "local copy". Shit.
What is next? The "delete from ...;" without where clause? Fuck, aren't you supposed to get more experienced and cautious?4 -
Every year my team runs an award ceremony during which people win “awards” for mistakes throughout the year. This years was quite good.
The integration partner award- one of our sysAdmins was talking with a partner from another company over Skype and was having some issues with azure. He intended to send me a small rant but instead sent “fucking azure can go fuck itself, won’t let me update to managed disks from a vhd built on unmanaged” to our jv partner.
Sysadmin wannabe award (mine)- ran “Sudo chmod -R 700 /“ on one of our dev systems then had to spend the next day trying to fix it 😓
The ain’t no sanity clause award - someone ran a massive update query on a prod database without a where clause
The dba wannabe award - one of our support guys was clearing out a prod dB server to make some disk space and accidentally deleted one of the databases devices bringing it down.
The open source community award - one of the devs had been messing about with an apache proxy on a prod web server and it ended up as part of a botnet
There were others but I can’t remember them all4 -
MySQL should have a recycle bin. I just deleted whole "user" table by mistake... Forgot to add where clause properly... Had to restore 2 days old backup copy. I just hope no accounts were created or someone changed their password in last 2 days....7
-
Fixing someone else's code who left the job.
Production suddenly not working, cannot debug locally, cannot deploy to a test environment because it does not exists anymore.
There should be a contract clause that developer need to support his project for 2 years after he leaves his job.9 -
"Google Removes 'Don't Be Evil' Clause From Its Code of Conduct"
welp
src: https://m.slashdot.org/story/3411244 -
Python is such a elegant language, but why can't I have an if-clause on a simple for-statement when I can have it in a list comprehension??22
-
!dev
TLDR; younger brother is an unreliable fuck. Learning to be a pathetic trickster. Penny teller cheap ass jester.
Hello folks. Time for a little family story.
This started around mid June.
I was a little tight on money the past few months. I had a broken laptop, that my brother wanted to buy. So I told him that he can have it for 100 bucks. It was a 1k gaming laptop 2 years ago, (i7, gtx 960m, 16gb ddr4). But I didn't know how much it would cost to repair. So I was happy with the price and so was him.
He told me he would pay by the end of June.
Hi didn't pay. He repaired the laptop for free by asking his boss, that used to be my friend (I'll probably tell you guys about that in another rant, best friend, got in a fight, stopped talking, next day my brother asked him for a job).
A month later, mid July, I told him I needed the money.
He literally said:
"I don't care for what you need. I'll pay you when I think it is a relevant expense, now I have money only for buying tools and investing in my career".
He was buying 15 usd pens (not only 1), because he wants to have expensive crap.
That was a bit disgusting, but not shocking. (I'm used to his little brat attitude, he's 26 btw).
I thought to myself. Ok, you want to be a bitch?. Then pay more.
I told him that he appreciated a good that wasn't his and that he should either pay now or agree to a new price. He didn't like that idea, but eventually we agreed to make it 300usd.
And one of the clauses was.
"I shouldn't ask him to pay." 🙄
He would pay when he could. (entitled brat attitude again). Ok. Fine.
It's been a month from that. He teased that he would pay 3 weeks ago. And he didn't. I asked him how was the "not asking for payment clause", because he did the teasing and I wanted to know if that kind of shitty mind games was part of the deal.
So that's the background story for the laptop.
Now time for a dinner story.
We share dinner once or twice a week. And when any one is short in money we keep a tally on who's been paying.
When I have money I just let the tally go in my favor, an buy him dinner whenever he says his short on money.
Note: Here, fries and soda are not part of the price, so the one that is short on money pays the fries and soda.
Today it was not one of those days. (Dinner here is about 15 USD for 2, with fries, and soda, nothing fancy, nor healthy, but an exuse to hang out with my only brother that would not eat a salad even if it was free).
I owed him 10 bucks, and he owed me 1 dinner. I asked him if he's buying dinner today. He said that the tally is even because last meal I didn't pay the chips. 🧐. (That was settled because I didn't pay once, but made up for it later)
Again with his entitled ass shitty attitude.
I just said. I don't want to hear your excuses. Here's your money. I want my laptop tomorrow, I'll sell first thing Monday. And tell me how much did you spend on repairs and parts and I'll pay you.
And now I'm sad. 🙃
Mainly, because is just so fucking boring to deal with a person that counts every penny. I fed him for 10 year while he was having problems, (alcohol and depression), And now he comes with this shitty ass counting pennies attitude, wtf?
I literally felt poorer just by counting the cents that made part of this story. (Really, who the fucks keeps track of chips and soda??? What are we 15yo??)))
It's one thing to be trapped in a 3rd world country where everyone is trying to fuck you. You learn to deal with that shit. And it's ok.
But seeing that your little brother is learning the same cheap trickery is just sad. The same cheap approach to life. The same easy and pathetic mind games is just fucking sad.
I don't even mind the money anymore. I was short on cash 2 months ago, I'm gladly better now. But finding out that he's becoming a little scammer is a bummer.
I just needed to vent. I think I should stop enabling him. And maybe keep some distance, it is fucking depressing to be counting cents to settle an argument. By dealing with that fucktard I end up counting cents just to figure out who's right.10 -
I messed up carelessly in production. Learnt how SQL queries bite you in the ass when it knows you are under pressure.
Was hosting an online quiz kinda thing during my college techfest. Tens of thousands of people participating.
Using MySQL as database and thousands of queries were being executed. Everyone were pretty excited as the event just opened up.
None of the teams could solve one particular level. Turns out the solution was wrong and was asked by the organisers to change the solution for that particular level. Usual stuff, right?
Was too lazy to open up the web UI for the back office and so, straight ahead logged in to the MySQL server and ran the UPDATE query on the table consisting of the solutions.
It had been a couple of hours and the organisers came to me with a weird problem. There were no changes in the scoreboard for the last two hours. Everyone were stuck wherever they were. Weird, right?
I then realized.
Fk.
In that dreaded query, I had only run
UPDATE 'qa' SET answer = 'something'
leaving out the where clause, specifying the question to update, like
WHERE qno=13
As a result, solutions to all the questions were updated to the same answer. After hastily fixing everything back, I had the dreaded conversation.
Org: What was the problem?
Me: It was the cache.
Org: Damn thing. Always messes up.
Me: *sheepishly* yeah
Probably the most embarrassing moment in my life, wrt coding 😑4 -
Starting from this week my boss started to be pain in my ass. He wants me to do sales more then developer work. I told him on Monday that I can’t do sales because my interest is in coding. My boss said that I have to do whatever he tells me to do because in my contract there is a clause that’s “Any other work that may be assigned by your boss”.
I’ am fucked!16 -
I have been working 9 months as consultant for a company thru a vendor. The contract will finish in two weeks, the company want to continue working with me, I can't be hired directly, should be thru a vendor. The problem is that today I confirmed that this vendor bill the company the double and want me to sign again with them for the same rate, I can't switch to another vendor because there is a non-compete clause. What would you do in my case? I feel like that squirrel12
-
Mystery of the day: why some developers can't decide on a code style. Let's count:
- two types of brace placements
- three types of assignment spacing (with, without spaces, and aligned with extra space)
- two types of clause spacing
- mixed case in the first char of a variable for no apparent reason(?)
- bonus: unneeded parentheses
At least in ONE thing the person was consistent: no space between parameters!
WHY GOD.13 -
Have a couple I want to air today.
First was at my first gig as a dev, 4-5 months out of school. I was the only dev at a startup where the owner was a computer illiterate psycopath with serious temper tantrums. We're talking slamming doors, shouting at you while you are on the phone with customers, the works...
Anyways, what happened was that we needed to do an update in our database to correct some data on a few order lines regarding a specific product. Guess who forgot the fucking where-clause... Did I mention this boss was a cheap ass, dollar stupid, penny wise asshole that refused to have anything but the cheapest hosting? No backups, no test/dev/staging environment, no local copies... Yeah, live devving in prod, fucking all customers with a missing semi-colon (or where clause).
Amazingly, his sheer incompetance saved my ass, because even if I explained it, he didn't get it, and just wanted it fixed as best we could.
The second time was at a different company where we were delivering managed network services for a few municipalities. I was working netops at that time, mostly Cisco branded stuff, from Voice-over-IP and wifi to switches and some routing.
One day I was rolling out a new wireless network, and had to add the VLAN to the core switch on the correct port. VLAN's, for those who don't know, are virtual networks you can use to run several separated networks on the same cable.
To add a VLAN on a Cisco switch one uses the command:
switchport access vlan add XYZ
My mistake was omitting the 'add', which Cisco switches happily accept without warning. That command however can be quite disruptive as it replaces all of the excisting VLAN's with the new one.
Not a big deal on a distribution switch supplying an office floor or something, but on a fucking core switch in the datacenter this meant 20K user had no internet, no access to the applications in the DS, no access to Active Directory etc. Oh and my remote access to that switch also went down the drain...
Luckily a colleague of mine was on site with a console cable and access to config backups. Shit was over within 15 minutes. My boss at that time was thankfully a pragmatic guy who just responded "Well, at least you won't make that mistake again" when we debriefed him after the dust settled. -
Working for this startup as a remote dev for last 6 months.
This month they delayed my payment by saying that they are still waiting for crowdfunding payment to be processed.
After 3 days my teamlead who recruited me quitted with 2 more people saying that its 'personal issues'
1 week later (today) I received a letter of termination saying that my contract ceases its effect after 30 days and I will receive my payment after 45 days as all service providers.
I reminded those fuckers that in contract there is a clause saying that they are supposed to pay me within 24 hours of invoice receipt (because this is not my first time with startups). Then fuckers responded that I will get paid as soon as they receive the money.
Contacted CTO today and he told me the truth. Turns out that venture capital that supposedly raised funding of around 10 million usd last year actually didnt raise shit. In the end startup did not receive this funding because VC convinced investors that this project is shit and not worth investing.
VC's plan is to starve out the startup by giving it bridge payment injections. At some point they want to buy out the startup and resell it for profit.
And here I am fucked in the ass. But for some reason im not mad at that VC because shit happens. Im mad ar startup managers who kept us in the dark for 2 weeks and dropped us like shit :)
I am really tired of broke startups and their bullshittery.5 -
That moment of chills down your spine when you delete a few records in a huge production db and thinks "strange, this is taking longer than it should?" and suddenly realise that you forgot to include the "where"-clause in the statement...3
-
I'm in the process of changing jobs and at the point where I need to sign the contract with the new company.
The concern I have is that of work life balance. There is a clause that obviously speaks to overtime and renumeration thereof, etc. But, there is also a clause that mentions that their office hours extend to Saturday mornings.
Speak to my wife about it and all I get is "That's how it is in your industry. I know of my other programmer friends who work late and long hours, so the fact that you don't currently work overtime seems very rare."
I don't think it's rare nor should it be the normal to have to constantly work extra hours. This is not a thing of being lazy or not dedicated to your job, but rather that you put in the time that is required and that alone should be enough to show your "dedication" to the job. Personally I feel that if you're fucking there everyday, giving your best, and you leave at the end of the day, no questions asked, that it is good enough!3 -
New contract termination clause to be included in all future project contracts: "Contracting client agrees that uttering the phrase 'Your job is whatever I say it is,' or any semanticaly equivalent variant thereof is grounds for immediate contract termination. All work product and IP rights will transfer and assign to contracting client ONLY upon payment in full of contracted payment amount prorated to contract termination date."
-
This was not exactly the worst work culture because the employees, it was because the upper level of the organization chart on the IT department.
I'm not quite sure how to translate the exact positions of that chart, but lets say that there is a General Manager, a couple of Area Managers (Infrastructure, Development), some Area Supervisors (2 or 3, by each area), and the grunts (that were us). Anyway, anything on the "Manager" was the source of all the toxicity on the department.
First and foremost, there was a lack of training for almost any employee. We were expected to know everything since day-1. Yes, the new employees had a (very) brief explanation about the technologies/languages were used, but they were expected to perform as a senior employee almost since the moment they cross the door. And forget about having some KT (Knowledge Transfer) sessions, they were none existent and if they existed, were only to solve a very immediate issue (now imagine what happened when someone quit*).
The general culture that they have to always say "yes" to the client/customer to almost anything without consulting to the development teams if that what was being asked to do was doable, or even feasible. And forget about doing a proper documentation about that change/development, as "that was needed yesterday and it needs to be done to be implemented tomorrow" (you know what I mean). This contributes to the previous point, as we didn't have enough time to train someone new because we had this absurd deadlines.
And because they cannot/wanted to say "NO", there were days when they came with an amount of new requirements that needed to be done and it didn't matter that we had other things to do. And the worst was that, until a couple of years (more or less), there was almost impossible to gather the correct requirements from the client/user, as they (managers) "had already" that requirement, and as they "know better" what the user wants, it was their vision what was being described on the requirements, not the users'...
And all that caused that, in a common basis, didn't have enough time to do all this stuff (mainly because the User Support) causing that we needed to do overtime, which almost always went unpaid (because a very ambiguous clause of the contract, and that we were "non-union workers"**). And this is my favorite point of this list, because, almost any overtime went unpaid, so basically we were expected to be working for free after the end of the work day (lets say, after the 17:00). Leaving "early" was almost a sin for the managers, as they always expected that we give more time to work that the indicated on the contract, and if not, they could raise a report to HR because the ambiguous clause allowed them to do it (among other childish things that they do).
Finally, the jewel of the crown, is that they never, but never acknowledge that they made a mistake. Never. That was impossible! If something failed on the things/systems/applications that they had assigned*** it was always our fault.
- "A report for the Finance Department is giving wrong information? It's the DBA's fault**** because although he manages that report, he couldn't imagine that I have an undocumented service (that runs before the creation the report) crashed because I modified a hidden and undocumented temporal table and forgot to update that service."
But, well, at least that's on the past. And although those aren't all the things that made that workplace so toxic, for me those were the most prominent ones.
-
* Well, here we I live it's very common to don't say anything about leaving the company until the very last day. Yes, I know that there are people that leave their "2-days notice", but it's not common (IMHO, of course). And yes, there are some of us that give a 1 or 2-weeks notice, but still it's not a common practice.
** I don't know how to translate this... We have a concept called "trusted employee", which is mainly used to describe any administrative employee, and that commonly is expected to give the 110% of what the contract says (unpaid overtimes, extra stuff to do, etc) and sadly it's an accepted condition (for whatever reasons). I chose "non-union workers" because in comparison with an union worker, we have less protections (besides the legal ways) regarding what I've described before. Curiously, there are also "operative workers", that doesn't belong to an union, but they have (sometimes) better protections that the administrative ones.
*** Yes, they were in charge of several systems, because they didn't trust us to handle/maintain them. And I'm sure that they still don't trust in their developers.
**** One of the managers, and the DBA are the only ones that handle some stuff (specially the one that involves "money"). The thing that allows to use the DBA as scapegoat is that such manager have more privileges and permissions than the DBA, as he was the previous DBA2 -
I goofed up and forgot the WHERE clause in my UPDATE query. Accidentally all of production possibly updated because we don't do test databases. I think it didn't actually go through because I cancelled it but now I need to restore a backup and compare data. Which means explaining this to the co-owner who can help me with a restore. I'm mortified, more so because it was a stupid thing to do to begin with.4
-
Last week I forgot to add the break; clause to a bunch of case statements and literally spent a whole evening busting my head 'cause my code wasn't working.
So this week's answer: ME. I'M THE WORST.2 -
!dev && rant
Can we talk about banks? Those fuckers! Suposed to keep our money save and be competent... They today gave me the biggest scare of my live and I've run one an update query on a prod db without a where clause! (Okay I knew we had a backup but still pretty scarry moment!)
As a few know, besides being a dev I help to organize a small openair music festival here in Switzerland. The openair was this weekend. Every thing wen't well, until I checked our ebanking account today. There was only 2/3 of the money that should be there. A quick call to the bank and they told me, nope they never received it. As we've thrown it in a secure locker during the night, we didn't receive any receipt or something like that. It took those fuckers 3.5 hours to actually go and check the looker, just to find the remaining money in the corner of it. What the fuck people, can't you open your fucking eyes and not give me a fucking heartatack? I thought you guys are professionals!
Note locker: we get a key to open it from the outside, place our payment during the night, as soon as we close it, it falls inside a vault, so there it's a pay in only system, for lack of a better word, I called it locker.
My heart is still beating like mad, because of them.4 -
Sent a fully constructed sql statement to someone expecting at least 4 rows however received reply "the result is empty" with a screenshot of empty result set from sql-developer. I kept cross-checking the where clause thinking I mixed something up.
After a few back and forth emails suddenly noticed the screenshot I received initially and I see all of the strings in where clause are lowercase. I reference my version and it is correct. When I asked her why are the strings in sql lowercase and that if she has tried the exact sql I sent in the email, the response "I didn't think it mattered what case the sql was in".
I am lost for words. The worse part is, this is someone who is supposed to go on site as part of their job and help clients setup, explain and train how the software works. This includes explaining how software intreacts with database tables 🤐8 -
First rant from my new job.
I got a position as backend-dev in a startup and for now i'm learning angular. Yes, you read that correctly, because the frontend-team is short-staffed i decided to switch teams. We are 3 people and neither one has sufficient angular-experience (the framework was a management decision).
First of all i got confused because we use slack and trello but the frontend-lead decided to do some stuff via google-spreadsheet too. Then we didn't have any code in our repository until yesterday. I tried to check out the repository after that, did an npm-install but when running ng serve i got an error "css-file not found". It turns out you had to download some files from the official website and put them in the unversioned node_modules directory. It was the teamlead's decision to do so and me and my coworker got really annoyed when we tried to set up everything on our end. But that's not all, yesterday the other dev's merged their first versions of the project. But not via git, that is way to mainstream. The coworker had to upload his code into the cloud and the teamlead copied the files into the project folder.
Aside from that the code already isn't the best, some things should be done differently imo and we have credentials in the code (not in some separate files, but in an if-else-clause that checks node.env.production).
We'll have a discussion about this tomorrow, let's hope things can be straightened out.3 -
GDPR is about to happen.
Has anyone read the provisions?
It's like they put some flat earther anti-vaxers in a room and made them scribble up a law.
For those who don't know - it's a new, EU-wide "data privacy" law that's about to take effect on May 25th.
The gist of it is that if you fuck up even a little bit, you get to personally pay a fine of up to 10 Million Euros (for companies there's a separate clause, this is for employees only), or/and 2-3 years in jail if that fuck-up has caused material damages.
That little fuck-up can be as simple as losing a tiny amount of data between back-ups, or entrusting a third party with full access to some data (which is not prohibited) without controlling 100% what he can do with that data (which IS prohibited).
I shit you not, these are the explicit articles of that law.
If it is enforced in this way, it is the swift death of European economy. Just because some retards didn't read the privacy policy before agreeing to it, and then made a shit storm, everyone has to suffer.50 -
Does anyone have experience with alternatives like Preact in industry?
Asking because Facebook has mind numbing license clause which means they can infringe any patent they please, because as soon as we sue, they withdraw our license.
Such a lovely way of supporting startups.3 -
I’m fucking lost.
So, situation. I have a SQL table with about 3M rows (not a lot).
I have indexes. Indexes are used. BUT when I add where clause (On indexed column), it’s super slow. Around 10 seconds.
If I do select * (ALL 3M rows) and THEN I filter then on webserver side, it takes 0.5 seconds.
HOW my manual filtering is faster than DB filtering with indexes? I even tried bubble sort. Bubble sort is faster than SQL ‘where’. HOW ?!
I do not understand….
And if I add group by….. WELL, 25 seconds SQL time. 2 Seconds if I do select all and group by in code manually.
Does not make ANY sense to me.
What am I missing ?21 -
Wouldn't say our teamwork failed we just sucked that day.
I had a ticket to fix a SQL sp and then correct some data afterwards. As this was the typical "urgent fix need now" we went through a different process for fixing it.
Me: Just sent you some scripts can you check them over before we apply it to uat?
Boss: let's go through it together.
5 mins later
Boss: looks fine I'll apply the scripts.
2 minutes later
Me: did you apply the scripts to uat?
Boss: No I applied them to live.
Me: oh ... oh no.
At this point I realized I was missing a critical where clause so yup my update was applied against all of the data.
Boss: oh
Yup he just spotted my error.
Helpdesk phones start ringing
Boss: you pick it up it's your code
Me: hey you applied its your problem now.
One db restore and several incident meetings later we fixed it. Twas a fun day.1 -
The split second feeling of EXECUTE an UPDATE and SET value without putting WHERE clause.
I froze for a moment with cold sweat that I don't know what to do. My mind went blank.
Thank God it is just the entire list of customer details that is not relate to money issue.
Anyone can suggest the best practice for this type of accident UPDATE / DELETE?
Does using BEGIN TRANS ROLLBACK is safer way to execute?5 -
I almost fired off an update query without a where clause on the live db. I stopped at the last second. I'm now having survivors guilt. Why me? Why was I saved when so many before me didn't make it? 😁4
-
!rant
So, I don't have any idea about copyright law. I've heard, that React is bad, as it has a `if you sue or in any way "compete" against us, we revoke your licence` clause.
So how bad is this? Is this really a thing, unless you either sue FB, or they try to buy you (which are both not very probable for small companies). Could someone who knows their shit give me a tl;dr summary (or feel free to debate)
What I've found so far: https://github.com/facebook/react/... which seams to be kind of ok.
This would be the patent: https://github.com/facebook/react/...7 -
That moment you see a new "blocker" issue in the bugtracker with the content "this is not a defect but a question".
I'm looking through our SLAs if some clause forbids killing our users.
May I host hunger games with these users as participants? Hmmm... -
So last time, when HR asked for a meeting I thought they knew who'll be leaving with me. But there is only rumors saying "CTO is poaching inside his team".
And I also learned from the a paralegal, who talk too much, that they just want to fuck with me.
So new course of action: how can I fuck with them? All week end thinking about it. And today, a big competitor, offered me the VP Engineering!!!
So I'll try to make them use their Non-Competition clause.
In France you can set a couple of main competitors and the employee can't work for them for a couple of years. And you have to pay the employee the full salary he could earn during that time (two years of salary). As the employee, you have to disclose this information (you want to sign with the competitor) with your current company and they have a couple of week to decide if they want to use the clause.
So I'm starting to see how I can scare them enough to make them use this clause.
I know it's not cool, but I enjoy so much fucking with them!!!10 -
Wrote my first programs on my Commodore C64.
First program was a number guessing game where you needed to guess a number between 1 and 100. Shit had 300+ lines because I only new the if clause and the equals comparison.
I was 9.
Later a friend showed me Modula 2 and I was instantly in love with that language.
Real programming then in school (C, C++, µC assembler). -
Today I had my first ever prod db fuckup due to too wide where clause in delete query. Spent 8 hours restoring service. It's 02.09 now and I'm finally home, going to bed.
Interestingly enough I've enjoyed this experience... -
Mind blow of the week: JavaScript has no "else if".
It's always two tokens. Not one. It's NOT like python's "elif".
It's ALWAYS chaining an additional and DISTINCT if statement in the else clause of the first. It is NOT creating multiple comparison paths in the same if statement as it would seem.
For example:
if(a) console.log(a);
else if(b) console.log(b);
else console.log(c);
Simply needs more proper indentation to show which "if" the "else" actually belongs to:
if(a) console.log(a);
else
if(b) console.log(b);
else console.log (c);9 -
How do you deal with anti-competitive clauses in contracts with your employer?
I have found them to be unavoidable here in the field of IT/CS related fields, and I don't want that to affect my future career as much.
My current strategy is to gain more of other skills than just in software development, so I can fall back on those skills for a different field (e.g. DevOps, sysadmin, ...) instead of being unemployed for a year because I didn't like my workplace anymore.
The only other way I can think of would be to open my own company, but I'm not going to be ready to do that right after school.
Any other thoughts?3 -
Something I discovered at work today:
A sub procedure that takes three arguments:
A table name
Column list
Where clause
It concatenates all of those values together and executed the dynamically generated query.
Why??????????6 -
We are gating release of each sprint.
Today before 10:00AM I identified a major performance problem and asked devs to fix it (single if() will be enough as a hotfix). We're blocked until we have the fix deployed.
It's 5pm and we're still waiting for that 1 `if` clause to be added and deployed :)
A long day it was. Full of hopes and expectations, waiting for things to happen -
I forgot the fricking ON clause for a important database query. While it didn't crash MY program or greatly effect the performance, I feel sorry for the API that had to deal with the idiotic results of this.
Especially that one request I just spotted, where I just got the answer "the query took too long". That one was like querying the table "females" for males.
Soo fricking sorry 😭😭😭3 -
Even seniors make mistakes. In case you were ever doubting yourself - just remember that.
I just had a very senior level programmer on my staff add a function to a production system that issues an SQL UPDATE query without a WHERE clause. Fortunately, only the 1st entry succeeded and the rest failed due to "duplicate record" errors. Clearly he had intended to do a SELECT to check if an entry was present. If it was present, do an UPDATE, otherwise do an INSERT (think UPSERT - but done manually). However instead in the insert part they were both UPDATE's. The first update was normal looking but the second UPDATE was just this weird malformed-looking thing where he tried to do an UPDATE but to every field including the key fields. Clearly he was thinking about an insert but actually writing it as an update. Every now and then I need to remind myself that these things happen. The guy's not dumb - just made a mistake.
I'm just happy it "failed unsuccessfully".4 -
I updated all the records about 1000+ because I forgot to write the where clause with the update query and it updated every fucking single row with same values.
~God bless backups :)2 -
Like I know most like to hate on recruiters, and I guess that’s cause may, maybe even most, are just a pain and don’t really understand development nearly well enough to actually target relevant candidates.
I’ve dealt with a few over the years when looking, this is the first time however one has sent a contract that includes a 3 month default clause.
Not sure about other countries but in mine there is a legal 3 month probation period, which really is there in part to allow either party the ability to terminate the agreement at basically a moments notice.
Maybe I don’t like the company or how they work, maybe I lied my arse off during the interview and copied an assessment off the web, or hek they just don’t like me…
It’s a legal period in which pretty much and any reason is a valid reason.
Yet for this recruiter, no matter the reason, if the employment ends during those 3 month, I would then be liable to pay her 10% of my annual gross.
Like NAF…3 -
I'll be asking the HR of my next company to include a "fuck off" clause in the contract if they want to hire me.
Under that clause, I would have the right to tell anyone, and everyone, to fuck off. It includes all 24 hours of the day, not just the working hours.10 -
This happened about a month ago with my realtor while she was reading a clause from the lawyer that she needed to put on the offer.
Realtor: hey you're in tech *points at her phone and then on the paper*, can you copy and put it here. -
I "failed" a SQL question once because I didn't use GROUP BY; I informed the interviewer that it wasn't needed because all the fields in the SELECT were aggregates and based on the WHERE clause I knew exactly what was being aggregated so there was no reason to echo the data value back. I continued that if there was a business or design reason for the echo then yes, the GROUP BY would be required.
-
So this is what I got from Santa Clause... Or actually from my buddy - wanna do some data bases in Delphi?2
-
copying field data from one table to another,
wondering why the execution takes so long,
since your copying only data from three rows,
realising you forgot the WHERE clause in the SQL while working on a live database and overwriting all data with the last statement 😨6 -
Stole this from Quora from someone who stole from someone at work, who probably stole it from someone else. Now i have no idea who to attribute.2
-
So I just released my first official app which was a mobile charity solution and platform for all ethical and morally sound non profits appearing on Google via its search and map API to receive funds via PayPal. We integrated paypals android sdk and launched but not even a day in Google Kansas and removes the app saying that we were not compliant with their payment policy even though the 503 exempt IDs were represented in that they stated that in that building needs to be used and Android pay. We attempted to use Braintree payments and they made up some mother excuse now the donation Clause recently was updated to cut 30% from each payment making us by far the most expensive Channel 2 donate. Does anyone know of a work around or solution I could use ? Popmoney ? Maybe...I been reading up on their service and its seems feasible...7
-
What's the point of the "finally" block? Isn't it functionally equivalent to everything after the try { } clause?5
-
So... I was working in a dead end job where nobody cared about programmers, they were happy everything looked ok.. no standards, no interest in whatsoever about programming.... I was just about to start searching for another job, a better one. I started updating my linkedin and other profiles (ejobs, bestjoba, and so on...) and a few days later, even without applying I got a call for some company asking me for an interview...so I go there...and I was really confused, at the address was just a house, a regular house...anyway,I called them and someone gets out and invites me in, gave me a test with like 50 questions and problems to solve. Did the test and they made me wait for like an hour or so... then two guys in black suits comes to me and start asking me al kind of trick question (like why php 6.1 is better than 5.6) I answered them and then they are like "we want you here, but you have to start tomorrow... and by the way, the contract you will sign... you will can not tell anyone where you will actually work, and can not tell anyone anything about our project and after you will quit or you'll be fired you won't be able to work in programming for the next 2 years or we will sue you... but this is just as a precaution so you won't steal our ideas, code or anything else"... and now is about an year from when I started here, and I have to admit... I get it now, i get why they have all those clause and stuff in the contract...
Sorry for my english, I know it is not really good... and sorry for the long post8 -
Let me run something by all of you. Let's say you once started freelancing as a "Plan B" in case your full-time gig dropped you. Over 12 years you've managed to build a long-standing personal brand around that occasional freelancing. You have several clients who adore you and the work you do and they tell you they would be lost without your talent and have nowhere else to go and nobody else they trust. You know, because in the past you tried to send them elsewhere (for various reasons) and they just kept coming back.
You get laid off from the full-time gig and ACME Company calls and interviews you as a top candidate they're really interested in for that same type of work for a full-time job they're offering.
Here's the catch...if hired, you have two months to basically erase your personal brand and agree never to do any freelancing work as before, even on your own time on evenings and weekends. ACME wants your full focus and attention. Additionally, you find out that the person you'd be replacing is being let go because they weren't sufficiently tech-skilled for the job. And, with a little digging, you find out that person _also_ had several freelancing gigs going on the side. Probably for the same "Plan B" reason. Which is probably why ACME is demanding exclusivity.
Your client base is small. ACME says "we don't care". The work you do is 90% automated and easily achievable in just minutes a day on a weekend or evening. ACME says "doesn't matter". You already had full-time work to begin with so you weren't doing a ton on the side. ACME couldn't be less interested in this "excuse". And you're not keen on the idea of burning down your brand, especially with no guarantees of any kind in the present IT industry hiring/firing/layoffs climate. ACME says this issue is make or break for them.
If you get to the offer stage do you:
a) Flip the bird to your brand and clients you've built up for over a decade and memory-hole it?
b) Negotiate a non-compete clause with ACME, agreeing not to take on any new clients while working full time for them?
c) Flip the bird to ACME and look for something else?
Asking for a friend. ;)16 -
I personally don't have a funny dev sin story (not that I didn't commit any).
My internship colleague should update a value of a row in production. So he wrote a SQL command and forgot the where clause. This was the first time the company tested there rollback mechanism and it didn't work. For the next 2 weeks my colleague was busy updating 2000ish rows to make it work again -
Hot Take:
It's our own double standard because of which companies have to enforce a "Don't discuss your salary" clause in the employee handbook.
For example let's say you are a 4 years experienced dev making $50K annually. You hear about a new joiner who has 2 years experience drawing $65K from the company. You will be outraged knowing that, wouldn't you?
The double standard kicks in when the coin is flipped. Now let's say you are 2 years experienced dev making $60K annually. You hear about a new joiner who has 6 years experience drawing a $45K annual salary.
You're not gonna fight with your employer for them to get more salary, are you? If anything, you will be happy to hear that.
When everyone knows how much everyone else is making, it fills them with resentment towards each other. This is why companies make a rule for their employees to never reveal their salaries, because of our own double standard.17 -
First year on the job. Was already good at writing software, but bad at practices and administration. One such software was being tested live, while still in development. I was developing on the production database... .
Yeah.
I was working on an edit feature of sales records, in a table that already contained hundreds of subsidized sales of very expensive products. Based on that, the supplier had to compensate the shops with half the price of every item.
I forgot to add a where clause to the update. Lost all sales data. On production.
Asked the admin if there are backups and he says yes, checks to discover that the backup script failed for the last week (since it became live)
Whole thing was incredibly stupid. I made a ton of stupid mistakes, and so did the other people involved. The loss was around 1 year of my income. Luckily the client decided to brush it off as losses and claim some tax benefits and it all ended well.1 -
Not a fight per se, but I once had a debate with a tech lead who thought you could set a variable in the ‘then’ clause of a Javascript promise and just use said variable after the promise declaration and assume it would be populated.
“no.... thats not how asynchronous code works.”1 -
TFW you realize it's Monday, and you forgot the where clause in your SQL Statement
(22 row(s) affected)2 -
My company was about to spend $15,000 per month to have a mobile presence engineered and maintained from a third party. The contract was for three years, so naturally, we wanted an exit clause. When they refused, we dropped the pen and decided to roll our own mobile. Those folks are morons...I don't make $15K for month...hell, I'll do it and give you an exit clause! It's amazing how much money corporations have to throw around.
-
Found myself uttering profanities before the SQL update finished. I had just assumed I left out the where clause... but I didn't !
-
Stupidly tested some sql on development to return results for an admin (see the whole results) and stupidly didn't test the where clause for generic users (only see a subset of data)
To find out on production the where clause was being run because it wasn't a where, it was an 'and' and 'where' was not being used before so made the whole users get the entire results.
My own fault for not testing all use cases. Horrible though.2 -
I really love how quick it is to get data from SQL with Djangos ORM. But heaven forbid I want to do a WHERE EXISTS clause. Comparing against two tables should not be that hard....1
-
I wonder if it's possible to negotiate amendments that forbid your employer to make you work with specific technologies.
"You're a modern dev shop aren't you? What's the harm in adding a clause to the contract that explicitly states I, the employee, will not be made to work with php5?"1 -
Seen a great rant, where someone wrote a code for the song Santa clause is comig to town, the cores that goes: He's making a list, checking it twice, gonna find out who's naughty and nice...
Can someone share it in comments? Tnx :)1 -
Was feeling over-confident one day, wrote a delete query and pushed to production without double checking it.
Turns out the where clause always returned true and deleted all rows in the production table.
Mind you, from that day onwards I'm using update queries instead of delete.. -
ContractNotCompleteException.
Just found this on a contract.
19.1 Within this clause *Error! Reference source not found.* the following words shall have the following meanings: -
just forgot to put string quotation(" ")
on query field with where clause and this small mistake wasted my 2 hours. -
The biggest mistake my colleague done is -
update query for admin_reports table without where clause in mysql in production db. Right after that no admin reports. More than 1000 rows affected.
Glad we luckily we have some data in staging machine.. I don't know Why TF our devops team not taking backup. Hope they will from now.
Nom I'm using python to dump the data from staging and save it local file and then export to production.
#HisLifeSucks
#HeartBeatsFast -
So for the past two days I had to deal with a problem where I have to do a nested query with sequelize, pretty straight forward reading the documentation, or that was I think. I implemented everything according to the docs but the query stills fails, why ? I had no idea, I double check my implementation, I googled the error, no luck, after a day searching like crazy I talked with the backend lead about this and he help me to realize that the naming convention was changing because sequelize is creating a nested (SELECT * FROM) because one of the relations has a one-to-many realtion with the root model and I'm why the heck is doing that? But we both didn't know, and the problem was solved by just modifying the names, so we let it through, and sent it to QA. The next day I see the task rejected by QA and the reason was after the changes were merged another part of the app was broken, ok np, I'll fix it right away, and oh God I found the error was caused by another query that was including the first query we fix yesterday ! It was a nested query with 3 lvls! And the names became even more complex ( like `model1->model2.colum1`), goddamit, ok, I spent most of the day searching again, nothing, read the specification of the findAll function, nope, tried to put that name in the ON clause as the docs suggested, still an error, shit, then the lead helps me again and creates a literal which can hold that name and voila! Everything is happiness, at least for that moment, but I was still curious about this behavior, so I keep digging on it and I've just found an issue where a great guy posted an option to the findAll method that is not documented in any version of sequelize ! WTF ! And this option was "subQuery" which if you set it to false it won't create that additional (SELECT * FROM) from before, FUUUCK! I can't believe it, I know that all the effort works in my favor because I learn more about sequelize, but FFS I'm still angry because this shit shouldn't happen, you need to update the god damn docs, it's just adding a row and telling the people what it does. Well to end this, after putting that in the query and replacing all the workarounds with the expected syntaxis everything works like charm.1
-
Don't know if it's the worst, but one that's a bit pants is SOQL, Salesforce's bastardised version of SQL. Can't alias columns in a SELECT clause, can't even compare two fields to each other in a WHERE clause.
-
The UML specification book satisfies OCD quite well I'd say.
Page 59, the actual content hasn't started yet, but I'm happy: "Within each clause, there is first a brief informal description of the concepts described in that clause. The clause is then
split into sub clauses, each describing a coherent set of concepts that constitute a portion of the formalism specified by
the clause. Each sub clause is then split into Abstract Syntax, Semantics, Notation, and Examples.
" -
Some people were lazy so they added throws Exception to all the methods up till main. No catch clause....1
-
I know it a strange thing to ask but I need help with English grammar ( I am not a English native)
I am doing an assignment on context free grammar program.
What the program need to do it "Produce a grammar tree based on the rule"
For example a sentence "Jame sat.", It will need to produce a grammar tree like this.
S
_____|___
NP VP
| |
N V
| |
holmes sat
The only thing I need to do it give a grammar rule to the program like this
S -> NP VP
NP -> N | Det N
VP -> V | NP
What the above rule said is that the sentence is composed of Noun Phrase and Verb Phrase and Noun Phrase is either is a Noun or a determiner and Noun.
Now here is the meat of the question.
I am having trouble parsing a grammar tree for this sentence "She never said a word until we were at the door here"
I have provided my grammar rule below. I think I forget to add some grammar rule or some of my grammar rule are incorrect. I am not a native English speaker so I am having trouble on it.
The search engine have fail me (I have look up various grammar tree) so I am asking for help on devrant. Grammar nazi are warmly welcome :)
S -> NP VP | S Conj VP | S Conj S
NP -> N | Det NP | N PP | Adj N | Det Adj N | Det N
PP | Det NOM | Det N PP
VP -> V | V NP | V NP PP | V PP | V NP PP Adv
VP -> Adv V NP | VP PP | VP AVP | V PP PP | V
ADJP
PP -> P NP
AVP -> Adv | Adv Adj | Adv AVP
NOM -> Adj Adj N | Adj N | Adj NP
ADJP -> Adj | Adj PP
**I am not sure about these two clause below**
VP -> V | Adv
NP -> Adj Adj N22