Jump to content

smjpl

Member
  • Posts

    1,583
  • Joined

  • Last visited

Reputation Activity

  1. Like
    smjpl got a reaction from NaLu in computer on desk   
    Is this what you mean by the way your desk is set up? There are no supports sitting on the floor. The supports are just drilled into the wall.
     
    If so then you are basically face with the law of the level situation. Torque = force x  perpendicular distance.
     
    To reduce the torque you need to minimise the distance since the force (weight of PC) is constant. Putting your PC as close to the wall as possible will minimise the perpendicular distance.
     

  2. Like
    smjpl got a reaction from dalekphalm in T-Mobile going after data 'thieves' who abuse unlimited data   
    This is about tethered data, not mobile data.
     
    So should you be allowed to tether your home router to your phone and use it as unlimited home broadband? This is the issue they are talking about. Not people using 2TB of data on their mobile device.
  3. Like
    smjpl got a reaction from EChondo in T-Mobile going after data 'thieves' who abuse unlimited data   
    This is about tethered data, not mobile data.
     
    So should you be allowed to tether your home router to your phone and use it as unlimited home broadband? This is the issue they are talking about. Not people using 2TB of data on their mobile device.
  4. Like
    smjpl got a reaction from iStartedTheWar in T-Mobile going after data 'thieves' who abuse unlimited data   
    This is about tethered data, not mobile data.
     
    So should you be allowed to tether your home router to your phone and use it as unlimited home broadband? This is the issue they are talking about. Not people using 2TB of data on their mobile device.
  5. Like
    smjpl reacted to ShadowCaptain in Is it time to upgrade my i7 2600K to i5 6600K ?   
    Sure I understand where you are coming from, the CPU might be 42% faster, but you are not getting 42% faster framerates
     
    The fact is the 2600k has lasted this long and can still do a decent  (far from perfect job) in gaming at 1080p, heck if you can get 85fps in BF4 at 1080p is perfectly sufficent for most gamers
     
    If they are on a 60hz 1080p monitor, the upgrade will not really net the very much performance improvement, providing it can power games above 60fps in 1080p
     
    that is why the 2600k is revered, and why its hard to say you MUST upgrade from, it is still capable of doing the job, 
     
    Its not sacred to me, I dont care about wether its a 2600k or a 4770k or an AMD whatever /.... fact is, if the current CPU runs above 60fps in all the games you play, then there is no real need to upgrade
     
    If you need extra performance for rendering, and want some future proofing, perhpas looking at new games like Witcher 3, etc - sure there might be something there
     
    I DO think he needs a new CPU and GPU - but if its still doing the job, I would hold on, save up and get something even better!
  6. Like
    smjpl reacted to SaperPL in How hard is an electrical engineering degree?   
    If you're not targeting a job that requires grades in general like being a lawyer or a doctor then you shouldn't really be running in the rat race. Engineering is all about solving problems and studying gives you the knowledge where to find solutions for those problems rather than knowing them on the spot especially in the era of internet.
     
    Employers in such industries look for candidates with a degree but at least at my country they don't especially look at the grades. So unless you need them for scholarship to support yourself you don't need to hide yourself all day in the books.
     
    Save some time on hard studying of theory and develop a hobby close to the industry or get a on site practice/training in a company. Don't go to your father's company first, try to look somewhere else. Don't waste your time on student organisations, join some technical club.
     
    As for the course - I can't say for sure how hard is that since it depends on the country and I've studied applied it that had partially unified course with electrical engineering, electronics and automatics at my school but mostly the hard stuff overlapped.
     
    Math and physics from school are quite on a different level than at engineering. There's a lot of hard stuff you won't ever use and there's a lot of stuff you need to learn yourself to even understand what the professors are talking about to you. Hardest thing is figuring out what is worth studying and what's not and that's true not only for math and physics.
  7. Like
    smjpl got a reaction from SaperPL in How hard is an electrical engineering degree?   
    You should do what you want to do. That is the first piece of advice. I say this because any subject instantly becomes 10 times harder if you don't enjoy learning about it.
     
    Do you know exactly what is involved with electrical engineering, and also what exactly your fathers company is involved with? BTW, when I say exactly, I mean that you aren't confusing electrical engineering with something similar like electronic engineering.
     
    If you are anyway unsure on the type of engineering you like, I would advise you to try get in on a open engineering course so that you can choose a specific branch of engineering after one year.
  8. Like
    smjpl reacted to LAwLz in New Windows 7/8/8.1 updates spy on you just like Windows 10   
    Good thing Windows 7 users have full control over which updates gets installed on their computers. If you have accidentally installed this spyware then you can easily uninstall it from the control panel.
     
     
    Everyone don't care about privacy as long as "it doesn't go too far". The thing is that everyone has different opinions of what "too far" is.
     
    The last part of your post is just stupid though.
    First you insult people who are fighting for your rights and protection, and then you go "they will hate me". Of course they will hate you if you call them stupid names first. Don't get surprised if you get hated if you throw the first rock.
     
     
    "The only thing necessary for the triumph of evil is for good men to do nothing."
     
     
    That's a stupid argument and you know it. If you got nothing to hide then give me all your passwords right now.
     
     
    Just because one company does something bad doesn't mean everyone else should be free to do that bad thing too.
    A lot of clothing companies have children working for them in sweat shops. That doesn't mean we should turn a blind eye to all but the biggest company who does it.
     
     
    So you think it is good that Microsoft are making their older products worse? Why? Why do you want people to enjoy Windows 10 but you don't want them to enjoy Windows 7?
    This won't make people enjoy Windows 10 more. It will just make people enjoy Windows 7, and Microsoft in general, less.
  9. Like
  10. Like
    smjpl got a reaction from Embattled in "Anonymous" DDOS attacked largest internet provider of the Netherlands!   
    Maybe but 2 million households without internet is still a significant amount of damage. Especially if it becomes a recurring issue.
     
    And for some people, changing the DNS settings on their modem maybe about as feasible as changing the engine in their car. Unless they have someone on the phone with them telling them what to do, step by step (which would cost a shit load for 2 million people), it ain't going to happen.
  11. Like
    smjpl got a reaction from zMeul in "Anonymous" DDOS attacked largest internet provider of the Netherlands!   
    Maybe but 2 million households without internet is still a significant amount of damage. Especially if it becomes a recurring issue.
     
    And for some people, changing the DNS settings on their modem maybe about as feasible as changing the engine in their car. Unless they have someone on the phone with them telling them what to do, step by step (which would cost a shit load for 2 million people), it ain't going to happen.
  12. Like
    smjpl got a reaction from ChineseChef in [UPDATE] The Ashley Madison hackers just released all of their stolen data   
    I've done no fact checking but I thought you could sign up without a credit card. The big deal was that if you wanted to remove your profile, you had to use your credit card.
  13. Like
    smjpl reacted to AlwaysFSX in Is there any hobby that doesn't cost money?   
    I'll claim my 48 pet rocks as dependents! *evil laugh*
     
     
    Electricity.
  14. Like
    smjpl reacted to AlwaysFSX in Is there any hobby that doesn't cost money?   
    Let's see who can cheat on their taxes the longest.
  15. Like
  16. Like
    smjpl got a reaction from SImoHayha in Research lab accidentally creates longer lasting Li-Ion battery   
    Great minds think alike!
  17. Like
  18. Like
    smjpl reacted to Nineshadow in Data Structures [WIP]   
    WORK IN PROGRESS
     
    A data structure is a particular technique used to organize and store information in a computer with efficiency in mind. They can store both primitive and abstract data types and they are quite varied.I will be using C++ to demonstrate most examples , as that is my language of choice, and I will also be implementing some data structures myself. While most programming languages have them built-in, it's always good to know how everything works.
     
    Arrays

    <data_type> <array_name>[<size>]; int arr[10]; <data_type> <name>[<size1>][<size2>] int m[10][10] template<typename T>class Stack {public :Stack(); // constructor~Stack(); // destructorint size() const; // returns number of elements in stackbool isEmpty() const; // pretty obvious...const T& top() const; // returns a constant reference to the top objectvoid push(const T& obj); // adds an object to the topvoid pop(); // removes the object from top} private :struct Element {T data;Element *below;};Element *top;int count; template<typename T>class Stack{public :    Stack();    ~Stack();    int size() const;    bool isEmpty() const;    const T& top() const;    void push(const T& obj);    void pop();private :    struct Element    {        T data;        Element *below;    };    Element *top;    int count;}; template<typename T> Stack::Stack(){top = NULL; // initializng the stack implies the top being nullcount = 0; // also count must be 0} template<typename T> bool Stack<T>::isEmpty() const{    return top == NULL;}Returning the number of elements is pretty easy :template<typename T> int Stack<T>::size() const{return count;} template<typename T> void Stack<T>::push(const T& ob){if(isEmpty()){top = new Element;top->data = ob;top->below = nullptr;count = 1;}else{Element * newElement = new Element;newElement->data = ob;newElement->below = top;top = p;++count;}} template<typename T> void Stack<T>::pop(){if(isEmpty()) throw "Error. Empty stack.";Element * oldTop = top;top = top->below;delete oldTop;--count;} template<typename T> const T& Stack<T>::top() const{if(isEmpty()) throw "Error. Empty stack.";return top->data;}Deconstructor :template<typename T> Stack<T>::~Stack(){while(top != nullptr){Element *oldTop = top;top = top->below;delete q;}} template<typename T>class Stack{public :Stack();~Stack();int size() const;bool isEmpty() const;const T& top() const;void push(const T& obj);void pop();private :struct Element{T data;Element *below;};Element *top;int count;};template<typename T> Stack::Stack(){top = NULL;count = 0;}template<typename T> bool Stack<T>::isEmpty() const{return top == NULL;}template<typename T> int Stack<T>::size() const{return count;}template<typename T> void Stack<T>::push(const T& ob){if(isEmpty()){top = new Element;top->data = ob;top->below = nullptr;count = 1;}else{Element * newElement = new Element;newElement->data = ob;newElement->below = top;top = p;++count;}}template<typename T> void Stack<T>::pop(){if(isEmpty()) throw "Error. Empty stack.";Element * oldTop = top;top = top->below;delete oldTop;--count;}template<typename T> const T& Stack<T>::top() const{if(isEmpty()) throw "Error. Empty stack.";return top->data;}template<typename T> Stack<T>::~Stack(){while(top != nullptr){Element *oldTop = top;top = top->below;delete oldTop;}} Stack< <data_type> > <variable_name>; Stack<int> stack; template<typename T>class Queue{public: Queue(); // Constructor ~Queue(); // Destructor void enqueue(const T& obj); // add an element in back void dequeue(); // remove element from front const T& front() const; // return reference to front const T& back() const; // return reference to back int size() const; // return number of elements bool isEmpty() const;private: struct Element { T data; Element *next; }; Element * front; Element * back; int count;}; template<typename T> Queue<T>::Queue(){ front = back = NULL; count = 0;} template<typename T> bool Queue<T>::isEmpty() const{ return front == NULL;} template<typename T> int Queue<T>::size() const{ return count;} template<typename T> void Queue<T>::enqueue(const T& ob){ if(isEmpty()) { front = new Element; front->data = ob; front->next = nullptr; back = front; count = 1; } else { Element * p = new Element; p->data = ob; p->next = back; back = p; ++count; }} template<typename T> void Queue<T>::dequeue(){ if(isEmpty()) throw "Error. Empty Queue."; Element * q = front; front = front->next; delete q; --count;} template<typename T> const T& Queue<T>::front() const{ if(isEmpty()) throw "Error. Empty Queue."; return front->data;} template<typename T> const T& Queue<T>::back() const{ if(isEmpty()) throw "Error. Empty Queue."; return back->data;} template<typename T> Queue<T>::~Queue(){ while(front != NULL) { Element * q = front; front = front->next; delete q; }} template<typename T>class Queue{public: Queue(); ~Queue(); void enqueue(const T& obj); void dequeue(); const T& front() const; const T& back() const; int size() const; bool isEmpty() const;private: struct Element { T data; Element * next; }; Element *front; Element *back; int count;};template<typename T> Queue<T>::Queue(){ front = back = NULL; count = 0;}template<typename T> bool Queue<T>::isEmpty() const{ return front == NULL;}template<typename T> int Queue<T>::size() const{ return count;}template<typename T> void Queue<T>::enqueue(const T& ob){ if(isEmpty()) { front = new Element; front->data = ob; front->next = nullptr; back = front; count = 1; } else { Element * p = new Element; p->data = ob; p->next = NULL; back->next = p; back = p; ++count; }}template<typename T> void Queue<T>::dequeue(){ if(isEmpty()) throw "Error. Empty Queue."; Element * q = front; front = front->next; delete q; --count;}template<typename T> const T& Queue<T>::front() const{ if(isEmpty()) throw "Error. Empty Queue."; return front->data;}template<typename T> const T& Queue<T>::back() const{ if(isEmpty()) throw "Error. Empty Queue."; return back->data;}template<typename T> Queue<T>::~Queue(){ while(front != NULL) { Element * q = front; front = front->next; delete q; }} class Lista{public : struct Iterator; Lista() { head = tail = NULL; } ~Lista() { if(!isEmpty()) clear(); } void push_back(int elem); void push_front(int elem); void insert_before(int elem, Iterator nod); void insert_after(int elem, Iterator nod); void pop_front(); void pop_back(); void remove(Iterator nod); bool isEmpty() const { return head == NULL; } void clear(); Iterator front() const { return Iterator(head); } Iterator end() const { return Iterator(NULL); } Iterator search(int value) const;private : struct Nod { int data; Nod *next; }; Nod *head; Nod *tail;public : struct Iterator { friend class Lista; Iterator() { list = NULL; } Iterator(Nod *ls) { list = ls; } int& operator*() { if(list != NULL) return list->data; else throw "Null iterator!"; } //postfix Iterator operator++(int) { Iterator temp = *this; ++(*this); return temp; } //prefix Iterator& operator++() { list = list->next; return *this; } bool operator==(const Iterator& it) const { if(it.list == this->list) return true; else return false; } bool operator!=(const Iterator& it) const { if(!(it==*this)) return true; else return false; } private : Nod *list; };};void Lista::push_front(int elem){ if(isEmpty()) { head = new Nod; head -> data = elem; head -> next = NULL; tail = head; } else { Nod *nod = new Nod; nod->data=elem; nod->next=head; head=nod; }}void Lista::push_back(int elem){ if(isEmpty()) { head = new Nod; head -> data = elem; head -> next = NULL; tail = head; } else { Nod *nod = new Nod; nod->data=elem; nod->next=NULL; tail->next = nod; tail = nod; }}void Lista::insert_after(int elem, Iterator nod){ Nod *newNod = new Nod; newNod -> data = elem; newNod -> next = nod.list->next; nod.list->next = newNod; if(nod.list == tail) tail = newNod;}void Lista::insert_before(int elem, Iterator nod){ Nod *newNod = new Nod; newNod -> data = nod.list->data; nod.list->data=elem; newNod -> next = nod.list->next; nod.list->next = newNod; if(nod.list == tail) tail = newNod;}Lista::Iterator Lista::search(int value) const{ for(Nod* it = head; it != NULL; it = it->next) { if(it->data == value) return Iterator(it); } return end();}void Lista::pop_front(){ if(isEmpty()) throw "Empty List"; if(head==tail) delete head; head = tail = NULL; Nod *temp = head; head = head->next; delete temp;}void Lista::pop_back(){ if(isEmpty()) throw "Empty List"; if(head==tail) delete head; head = tail = NULL; Nod *pred; for(pred = head; pred->next->next != NULL; pred = pred->next); pred->next = NULL; delete tail; tail = pred;}void Lista::clear(){ Nod *it = head, *temp; while(it!=NULL) { temp = it; it = it->next; delete temp; } head = tail = NULL;} class ListD{private : struct Node { int data; Node *next; Node *prev; }; Node *tail; Node *head;public : struct Iterator { private: Node * list; public: friend class List; Iterator() { list == NULL; } Iterator(Node *ls) { list = ls; } int& operator*() const { if(list!=NULL) return list->data; else throw "Null Iterator"; } Iterator& operator++() { list = list->next; return *this; } Iterator operator++(int) { Iterator temp = *this; ++(*this); return temp; } bool operator==(const Iterator& it) const { if(it.list == this->list) return true; else return false; } bool operator!=(const Iterator& it) const { if(!(it==*this)) return true; else return false; } }; bool isEmpty() { return head == NULL; } List() { head=tail=NULL; } ~List() { if(!isEmpty())clear(); } Iterator end() const { return Iterator(NULL); } Iterator front() const { return Iterator(head); } Iterator search(int value) const { for(Node *i = head; i !=NULL; i=i->next) if(value==i->data) return Iterator(i); } void pop_back() { if(isEmpty()) throw "Empty List"; else if(head==tail) delete head; else { Node *temp = tail->prev; delete tail; temp->next = NULL; tail = temp; } } void pop_front() { if(isEmpty()) throw "Empty List"; else if(head==tail) delete head; else { Node *temp = head->next; delete head; temp->prev = NULL; head = temp; } } void remove(Iterator node) { if(isEmpty()) throw "Empty List"; else if(head==tail) { delete head; head=tail=NULL; return; } else if(node==this->end()) { pop_back(); } else if(node==this->front()) { pop_front(); } else { node.list->prev->next= node.list->next; node.list->next->prev = node.list->prev; } } void insert_after(int value, Iterator node) { Node *newNode = new Node; newNode->data=value; newNode->prev=node.list; newNode->next=node.list->next; node.list->next->prev=newNode; node.list->prev->next=newNode; } void insert_before(int value, Iterator node) { Node *newNode = new Node; newNode->data=value; newNode->next=node.list; newNode->prev=node.list->prev; node.list->prev->next=newNode; node.list->next->prev=newNode; } void push_back(int value) { if(isEmpty()) { head = new Node; head->data=value; head->next=NULL; head->prev=NULL; tail=head; } else { Node *newNode = new Node; newNode->data=value; newNode->next=NULL; newNode->prev=tail; tail->next=newNode; tail=newNode; } } void push_front(int value) { if(isEmpty()) { Node newNode; head = tail = &newNode; newNode.data = value; newNode.prev = NULL; newNode.next = NULL; } else { Node newNode; newNode.data = value; newNode.prev=NULL; newNode.next = head; head->prev = &newNode; head = &newNode; } } void clear() { Node *i = head, *temp; while(i!=NULL) { temp=i; i=i->next; delete temp; } head=tail=NULL; } void print() { for(List::Iterator it = this->front(); it!=this->end(); it++)std::cout << *it << ' '; std::cout<<"\n"; } void swap(Iterator node1, Iterator node2){ int temp = node1.list->data; node1.list->data = node2.list->data; node2.list->data=temp; } void sort(){ bool is_sorted; do { is_sorted = true; for(Iterator it = this->front(); Iterator(it.list->next)!=this->end(); it++) if(it.list->data > it.list->next->data) { is_sorted = false; swap(it.list,it.list->next); } } while(!is_sorted); }}; template <class T>class List{ struct Node { T data; Node *prev; Node *next; }; Node *head; Node *tail;public: struct Iterator { private: Node *node; public: friend class List; Iterator() { node = NULL; } Iterator(Node *n) { node = n; } T& operator*() const { if(node!=NULL) return node->data; else throw "Null operator"; } Iterator& operator++() { if(node->next==NULL)node=NULL; //throw "Iterator out of bounds"; else { node=node->next; return *this; } } Iterator operator++(int) { if(node->next==NULL)node=NULL ;//throw "Iterator out of bounds"; else { Iterator temp = *this; ++(*this); return temp; } } Iterator& operator--() { if(node->prev==NULL)node=NULL ;//throw "Iterator out of bounds"; else { node = node->prev; return *this; } } Iterator operator--(int) { if(node->prev==NULL)node=NULL ;//throw "Iterator out of bounds"; else { Iterator temp = *this; --(*this); return temp; } } bool operator==(const Iterator& it) const { if(it.node == this->node)return true; else return false; } bool operator!=(const Iterator& it) const { if(!(it==*this)) return true; else return false; } }; bool isEmpty() { return head ==NULL; } List() { head=tail=NULL; } ~List() { if(!isEmpty()) clear(); } void clear() { Node *i = head, *temp; while(i!=NULL) { temp = i; i=i->next; delete temp; } head=tail=NULL; } Iterator end() const { return Iterator(tail); } Iterator front() const { return Iterator(head); } void pop_back() { if(isEmpty()) throw "Empty List"; else if(head==tail) delete head; else { Node *temp = tail->prev; delete tail; temp->next = NULL; tail=temp; } } void pop_front() { if(isEmpty()) throw "Empty List"; else if(head==tail) delete head; else { Node *temp = head->next; delete head; temp->prev = NULL; head=temp; } } void remove(Iterator it) { if(isEmpty()) throw "Empty List"; else if(head==tail) { delete head; head = tail = NULL; return; } else if(it==this->end()) pop_back(); else if(it==this->front()) pop_front(); else { it.node->prev->next = it.node->next; it.node->next->prev = it.node->prev; delete it.node; } } void push_back(T value) { if(isEmpty()) { head = new Node; head->data = value; head->next=NULL; head->prev=NULL; tail=head; } else { Node *newNode = new Node; newNode->data = value; newNode->next=NULL; newNode->prev=tail; tail->next=newNode; tail=newNode; } } void push_front(T value) { if(isEmpty()) { head = new Node; head->data = value; head->next=NULL; head->prev=NULL; tail=head; } else { Node *newNode = new Node; newNode->data = value; newNode->prev=NULL; newNode->next=head; head->prev=newNode; head=newNode; } } void swap(Iterator node1, Iterator node2) { T temp = node1.node->data; node1.node->data = node2.node->data; node2.node->data=temp; } void insert_before(T value, Iterator it) { Node *newNode = new Node; newNode->data = value; it.node->prev->next = newNode; newNode->prev=it.node->prev; it.node->prev=newNode; newNode->next=it.node; } void insert_after(T value, Iterator it) { Node *newNode = new Node; newNode->Data = value; newNode->prev=it.node; newNode->next=it.node->next; it.node->next->prev=newNode; it.node->next=newNode; }};
  19. Like
    smjpl got a reaction from LAwLz in [UPDATE] The Ashley Madison hackers just released all of their stolen data   
    I've done no fact checking but I thought you could sign up without a credit card. The big deal was that if you wanted to remove your profile, you had to use your credit card.
  20. Like
    smjpl reacted to samcool55 in Dennis (Tibor)   
    Dennis has some sick rap skills man!

    edit: also, look at the date it was uploaded, :3
  21. Like
    smjpl reacted to The Pizza Thief in Dennis (Tibor)   
    but but, he finished building the chair first.. 
  22. Like
    smjpl reacted to samcool55 in Dennis (Tibor)   
    Daran,
  23. Like
    smjpl reacted to minibois in Is there any hobby that doesn't cost money?   
    You know what I should do with your comments?
     

     
    It's all good dude.
  24. Like
    smjpl got a reaction from minibois in Is there any hobby that doesn't cost money?   
    Okay? I wasn't judging. It was a joke. As in "ha ha ha"... It is okay to have fun?
     
     
    I know I've probably offended you again with this comment but fuck it, I'm on a role! B)
     
    (Please don't take me seriously, again I'm taking the piss)
  25. Like
    smjpl got a reaction from W-L in Is there any hobby that doesn't cost money?   
    Wow!
     
    You all need to get out more. At least @W-L's hobby involves going outside... I hope.
     
    The only other legitimate hobbies apart from the one I gave were doing maths and writing short stories. Not my cup of tea as hobbies but at least its something. I was more of a run around outside kid I guess.
×