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 - "simple exercise"
-
Hello everyone, found this place recently, decided to bore you with one (or many) Navy story... tech Navy story. I'll start from the end.
Little backstory: I've deployed a simple domain setup on the ship I served, nothing fancy, a server, a switch, 10 computers, all Windows (details on that at another rant). I enter the ship Monday morning, and the XO tells me that he can't access his online folders.
OK, I say, I'll get to it. I fire up my laptop, try to RDP to the server (I know, I know, burn me at the stake later) no connection. WTF? Is the service down? I try pinging. No luck. I tried pinging the switch. OK. Looking at the switch admin panel, I see the server's port is dead. "OK, probably the cable." (we have old ethernet cables)
So, I drag my ass over to the server (same room with ship comms) with the cable tester to confirm that. What do I see?
The IMBECILES had pulled the plug from the server so that they could charge their mobile phones. I literally slammed my head against the door (calming exercise in case of spontaneous murder impulses - the things you learn at the Academy). My CO was nearby, and lucky for the guys, he heard me yell at them, while throwing mobiles and chargers around.
"But we thought it was OK, we just wanted to charge our-"
I kid you not, I reached for the firefighter's axe.
My CO grabbed me by the collar and dragged me to his room. I explained to him (between two cigarettes) that we MUST get a UPS and a server cabinet (budget constraints in the military are something that will give you people nightmares, trust me). I carefully explained to him that unless we got those, nothing would prevent the next moron from destroying confidential data and me from murdering him.
I plugged in and booted the server, after installing a multi socket extension. Two days after, surprise surprise, the server was off again. That was the first time I opened the door to the CO's room with a low kick. I must have looked like a psycho on drugs, he gave approval for the purchase in twenty seconds flat.
After that, I installed the UPS and the cabinet. Everything went inside, from the UPS to the very plugs. Just a locked box with cables coming out.
One of the guys came to my room, and asked if I could unlock the cabinet so that they could plug a "device" they needed.
I actually reached for my folding knife.
Disclaimer: The story above is TRUE. Even the almost violent parts.22 -
One day I developed a simple website for a goldsmith who I already new for a year or so.
We discussed everything and agreed on a feature set, price and a deadline when it should be ready. Based on this we signed a contract and I started my work.
Unfortunately at the same time I lost most of my childhood friends. I moved to a new city and started to study computer science, which was awesome on the contrary.
This is where the horror began.
I was totally occupied by the studying, my partner, myself and by the shit of life.
It knocked on my door. The horror decided to pay me a visit.
"Had a look at your calendar recently? Just saying..."
Shit! The deadline came closer and closer everyday and the pile of work undone grew with it. At that point I had to do something. I don't know what it was or how I did it, but somehow I managed to finish the project just in time. I was totally not proud of it, but it featured what was required.
The day before I contacted my client, the horror knocked on my door again. He said:
"You really should have a look at your hard drive."
"Why? everything seems allright."
"Well, then look closer."
"Fuck."
"Right."
Well, there are backups at least, I thought to myself. I'll just recover the last state. That was an annoying thought, but nothing serious. That's just one or two days of w... - Wait, what? Where are my backups? What the actual fuck? Why is the zip file broken? Why doesn't the flash drive work anymore? FUUUCK!!
I was lost. It was a complete nightmare.
Each time my telephone rang the following days, my heart skipped a beat. Finally my client's name appeared on the display. I answered the call, my hands shaking.
"Hey there! I'm calling to discuss the website project with you."
"Well, about that..."
"Yeah, I know you put a huge amount of efford in it so I'm really sorry to say that I on the other hand can't effort the money. Actually I'd like to simply forget about this whole idea."
Seriously? What the fuck just happend? I suddenly noticed a sticky note infront of me reading:
"It was really fun to see you suffer, but I have to go! See ya
- The Horror"
"Hello, are you still there? Do you hear me?", yelled a voice through my phone.
"Uh, yeah. You know, that project was a lot of work and... but you know what? It was actually a pretty fun exercise and I'm doing well over here, so because it's you I'd agree."
I heared a reliefed sigh from the other end of the line.
"Really good! I owe you something! Bye!"
What. The. Fuck.14 -
How can a candidate have 10+ years or experience with C++ and let alone struggle with the most simple exercise!?
Thoughts from the inner me during an actual interview:
FOR FUCK SAKE, DUDE, PUT THAT "std::" IN FRONT OF YOUR "vector" AND IT WILL COMPILE!
USE ITERATORS GODDAMMIT INSTEAD OF THOSE FUCKING INDEXES. YOUR CODE IS FULL OF DAMN OVERFLOW ERRORS!
HAVE YOU EVER REALIZED THAT ARRAYS CAN BE EMPTY SOMETIMES?5 -
I’m going through the book automate the boring stuff and I’m working on the chapter with web scraping right.
Well I wanted to just count all of the comic links that are in the xkcd archive as a small exercise to help me get used to and better learn web scraping.
I go through hell trying to do this but after more than a few hours later I finally have done it I returned every link of ONLY the comics, so it was time to start counting them.
I implemented the counting. The total number as of today is 2279 and it my code counted 2278, and I started to lose it.
So I go through this motherfucker manually to see where my loops count and the count on the tags start to differ. I found it, whoever made it went from 403 to 405. The euphoria I felt for this incredibly small task was incredible. (Still haven’t pieced it together yet)
I found the email of the guy who I assume owns the site and I started writing an email that basically said “hey the count of your comics is off by one and you made me rethink existence trying to figure out why, you skipped number 404-”
I look at the gap between 403 and 405 Then the words “Error 404 Not Found” popped into my head. I proceeded to scream for a second and stopped writing the email and now I’m trying to come to terms with this.
TL:DR the guy who runs xkcd comics trolled me with a simple error 404 joke4 -
Whelp. I started making a very simple website with a single-page design, which I intended to use for managing my own personal knowledge on a particular subject matter, with some basic categorization features and a simple rich text editor for entering data. Partly as an exercise in web development, and partly due to not being happy with existing options out there. All was going well...
...and then feature creep happened. Now I have implemented support for multiple users with different access levels; user profiles; encrypted login system (and encrypted cookies that contain no sensitive data lol) and session handling according to (perceived) best practices; secure password recovery; user-management interface for admins; public, private and group-based sections with multiple categories and posts in each category that can be sorted by sort order value or drag and drop; custom user-created groups where they can give other users access to their sections; notifications; context menus for everything; post & user flagging system, moderation queue and support system; post revisions with comparison between different revisions; support for mobile devices and touch/swipe gestures to open/close menus or navigate between posts; easily extendible css themes with two different dark themes and one ugly as heck light theme; lazy loading of images in posts that won't load until you actually open them; auto-saving of posts in case of browser crash or accidental navigation away from page; plus various other small stuff like syntax highlighting for code, internal post linking, favouriting of posts, free-text filter, no-javascript mode, invitation system, secure (yeah right) image uploading, post-locking...
On my TODO-list: Comment and/or upvote system, spoiler tag, GDPR compliance (if I ever launch it haha), data-limits, a simple user action log for admins/moderators, overall improved security measures, refactor various controllers, clean up the code...
It STILL uses a single-page design, and the amount of feature requests (and bugs) added to my Trello board increases exponentially with every passing week. No other living person has seen the website yet, and at the pace I'm going, humanity will have gone through at least one major extinction event before I consider it "done" enough to show anyone.
help4 -
Ok now I'm gonna tell you about my "Databases 2" exam. This is gonna be long.
I'd like to know if DB designers actually have this workflow. I'm gonna "challenge" the reader, but I'm not playing smartass. The mistakes I point out here are MY mistakes.
So, in my uni there's this course, "Databases 2" ("Databases 1" is relational algebra and theoretical stuff), which consist in one exercise: design a SQL database.
We get the description of a system. Almost a two pages pdf. Of course it could be anything. Here I'm going to pretend the project is a YouTube clone (it's one of the practice exercises).
We start designing a ER diagram that describes the system. It must be fucking accurate: e.g. if we describe a "view" as a relationship between the entities User and Video, it MUST have at least another attribute, e.g. the datetime, even if the description doesn't say it. The official reason?
"The ER relationship describes a set of couples. You can not have two elements equal, thus if you don't put any attribute, it means that any user could watch a video only once. So you must put at least something else."
Do you get my point? In this phase we're not even talking about a "database", this is an analysis phase.
Then we describe the type dictionary. So far so good, we just have to specify the type of any attribute.
And now... Constraints.
Oh my god the constraints. We have to describe every fucking constraint of our system. In FIRST ORDER LOGIC. Every entity is a set, and Entity(e) means that an element e belongs to the set Entity. "A user must leave a feedback after he saw a video" becomes like
For all u,v,dv,df,f ( User(u) and Video(v) and View(u, v, dv) and feedback(u, v, f) ) ---> dv < df
provided that dv and df are the datetimes of the view and the feedback creation (it is clear in the exercise, here seems kinda cryptic)
Of course only some of the constraints are explicitly described. This one, for example, was not in the text. If you fail to mention any "hidden" constraint, you lose a lot of points. Same thing if you not describe it correctly.
Now it's time for use cases.
You start with the usual stickman diagram. So far so good.
Then you have to describe their main functions.
In first order logic. Yes.
So, if you got the point, you may think that the following is correct to get "the average amount of feedback values on a single video" (1 to 5, like the old YT).
(let's say that feedback is a relationship with attribute between User and Video
getAv(Video v): int
Let be F = { va | feedback(v, u, va) } for any User u
Let av = (sum forall f in F) / | F |
return av
But nope, there's an error here. Can you spot it (I didn't)?
F is a set. Sets do not have duplicates! So, the F set will lose some feedback values! I can not define that as a simple set!
It has to be a set of couples, like (v, u), where v is the value and u the user; this way we can have duplicate feedback values in our set.
This concludes the analysis phase. Now, the design.
Well we just refactor everything we have done until now. Is-a relations become relationships, many-to-many relationships get an "association entity" between them, nothing new.
We write down on paper every SQL statement to build any table, entity or not. We write down every possible primary key or foreign key. The constraint that are not natively satisfied by SQL and/or foreign keys become triggers, and so on.
This exam is considered the true nightmare at our department. I just love it.
Now my question is, do actually DB designers follow this workflow? Or is this just a bloody hard training in Pai Mei style?6 -
Are there any fellow devranters who have shitty working memory and have trouble focusing? Basically people who have ADHD/ADD? I got into programming because I love solving problems and am able to hyperfocus for weeks on projects, but outside of work life seems to be a mess :/ Can't even remember simple facts if they don't interest me (don't have that much dopamine).
Could you share some advices on how you managed to treat ADHD/ADD or basically improve your memory?
I mean there is the obvious: sleep, exercise, good nutrition (cutting out dairy, sugar, caffeine, alcohol, smoking).
But maybe there are other ways to do this without using drugs such as ritalin/concerta?13 -
!Rant
To Coders suffering from back pain, try this.
Worked for me so i'm sharing it. The demonstration starts at 3:25.
https://youtube.com/watch/...1 -
During my bootcamp now I kept staring at and fiddling with a simple if statement exercise in JavaScript for good 5 minutes just to realize, that I was using Python syntax -_-"
-
Damn, since my last rant where I was complaining about me having big troubles coding stuff when asked by an exercise or given instructions, I feel like I've made huge progress now, by sticking a bit to my "at least 5 exercises a day" routine, now as soon as I code, it comes to me more and more naturally.
I'm so glad I can see the practice really paying off, even thanks to a simple function working great at the first compile makes me feel warm inside even tho it ain't gonna last long.2 -
A dedicated team has built an "infrastructure" for creating UI for c++ developers in the company. What looks like a poor attempt at recreating what Microsoft did with XAML at first glance, it actually is a horrible exercise in force feeding people the stinking pile of shit that their code is.
The idea is to make it easy to create UI for developers who aren't used to front end development. They should just need to declare the layout. Very noble.
But.
If you want to do anything more than show a checkbox or a radio button, if you dare to define relationships between the UI controls or worse, if you get ambitious with creating a simple UI that uses a lot of similar controls and similar relationships with dynamic content... be prepared to eat your own barf from eating too much of their shit.
Not only do you now need to write front end code (including JS among others), you need to do it with limited or poor support and you have to make sure that it sits well with the house of moist, crumbly cards the team proudly created. Or resort to some very stupid and performance costing "bypasses" that further cripple your application code. Usually you have to do both of these things.
To think that scores of other teams have welcomed this amazing enhancement with full support without any resistance. It's sickening.
I waste too much of energy (and good jokes!) with these people.rant poor infra complicated as fuck punch holed abstractions we do what we want brain farts materialized in code no brains needed4 -
Exercise do the pyramid of * and I looked up how to do it but so many people are able to do it without looking it up I dont know why shit to do with nested for loops makes me feel so dumb.
I know it's not a big deal to not know how to do every single thing but I'm always even stuck on the smallest exercises that apparently more people can do than not. Like how am I supposed to have thought about that or figured that out. How am I supposed to learn all this shit. Like for example just look up a list of basic exercises and I cant do any of them. I'm not good at this and its stressing me out because how will I get better or hell even a job if I cant solve these simple problems? How am I supposed to get better at solving these simple problems? I cant just keep looking at the fucking solution because that wont stick or teach me anything
Most stupid thing to rant about by far4 -
My coolest bug fix was fixing XSS and CSRF vulnerabilities. It was the starting of my IT career and when I hear these big names, I used to think that it takes a big brain to fix them. But the solutions were rather simple. My architect told me how to solve them and I made my version of the solution and sent it for his review. He just rejected it and told some enhancements to it. The to and fro of these reviews happened for a week.
At some point I felt, why don't he f*****g do it himself. It would take him about 5 minutes.
Finally my code was approved.
Now when I turn back and think about it, I feel I learned a lot from that exercise. -
First semester tutorials are fun (spoiler they can be frustrating).
Today my University held an entry level tutorial for LaTeX, which I had already visited a year ago and offered to help and boy ohh boy was that painful. For your information all of these students want to study computer science.
From around 50 people there was only one person who used Linux and I thought "Well at least one".
I was even more impressed as the other tutors asked me to help her because she used Manjaro (also the distribution I use).
As i helped her installing texstudio (the software presented) I needed her to enter the root (?) password and she answered "Which password, it's the laptop of my sister, I thought the laptop had windows installed".
Everything worked out fine but this was only the beginning.
After an hour came the first exercise in which the students had to build a simple document and for everyone who doesn't know LaTeX, it's a markdown language which heavily relies on \ and {}.
And there laid the other most common problem, some Mac users didn't even know how to write a \ or {}.
At least I had some fun helping them but if you want to study computer science you should be able to know how to write some of the most common symbols in programming languages. -
I been teaching someone python for a few day with 2-3 hour each day. It has been very pleasant to teach him programming since he have a goal in mind. He already know what kind of program we wanted to build.
He is a novice and not familiar with programming. It have been a good chance to see how the novice look at the python. I been given a chance to ask the answer like
"Why do we throw exception?" ,
"Why do we put define function at the top of the file and not at __main__?"
"Why do I need to use constructor?" ,
"Why should I call parent constructor in the child constructor?"
Here is the main question.
I have been wondering "should I teach him multi inheritance and the diamond problem?" I haven't been using multi inheritance for a while other than the exercise I done when I started programming and cannot think of the situation to use multi inheritance. I know in other language we use multi inheritance (kind of) regularly by extending multiple interface. I wanted to ask if multi inheritance is common in python.
Another question I have is how should I introduce him to gui programming in a simple manner? I am thinking of introduction him to the gui framework which haved WYSIWYG editor like "Remi"10 -
We have a C++ for embedded systems training at work this week.
References are a good thing but after looking for the reason why one object has no reference to the other for half of an hour just to realise that my member wasn't a reference so that i got an copy gave me the urge to use pointers instead. But unfortunately we'd to use a reference in this simple exercise which cost me a lot of time because that damn reference.2 -
Sophomore year starting soon so I'm looking for new project (s) to complete in parallel with the studies.
Some are more design-y and some more backend-y but I recently started getting better at designing so :)
1) Learn some fragment shader stuff. I've always been messing around with graphics and have a game on steam, so I think that's a good idea to be paired with signal processing.
2) Reactive web services. Preferably with spring-boot or vert.x but
3) I would also like to dive into golang (and make some reactive thing with it)
4) WebAssembly seems nice... But I got some concerns
5) exercise making wireframes -> CSS (with some js)
6) I've never really done any real backed work with nodejs, except serving and aot compiling js, or doing gulp tasks
7) Implementing a whole project, or a fraction of it as serverless on aws
* I'm definitely going to use a couple very simple services to make a docker swarm with load balancing, etc, just because I know how everything works but got no practical knowledge
8) Design an esports jersey for the university department I'm in (shouldn't take long)
So what do you guys think? Recommendations are welcome :)
P.S. last year in review:
> A webapp running on a raspberry pi powering a reflex testing game on gpio (java/spring-boot , codename: buttonmasher)
> small Elastic search cluster to monitor some random university servers through kibana dashboards
> laser tracking on wall of *any* colour and variable light conditions via a webcam (opencv) , controlling the mouse pointer, whether you run it against a projector or any wall
> jstrain.herokuapp.com => a small JavaScript powered tool with a DSL to help you train more efficiently without a coach
> Various random Photoshop stuff