Hire me! I'm good at generating ideas, solving problems and achieving goals.
Below is my sample idea:
Most software acts silly proposing a user to update the software upon its startup.
For example, Firefox Browser. When a user starts it (often, by clicking a file), the user wants to look up something, without lags and delay. Instead, the software starts looking up for updates, connecting to an internet server carrying out all the implied latencies. Then instead of showing the user what...
Hire me! I'm good at generating ideas, solving problems and achieving goals.
Below is my sample idea:
Most software acts silly proposing a user to update the software upon its startup.
For example, Firefox Browser. When a user starts it (often, by clicking a file), the user wants to look up something, without lags and delay. Instead, the software starts looking up for updates, connecting to an internet server carrying out all the implied latencies. Then instead of showing the user what he/she wanted to see, the software prompts with a dialog box asking whether the user wants to update, often providing an option "remind me later", which is also silly. The user anxiously understands, "remind me later" means that next time he/she wants to look up something, the software will prompt for update instead again! Then software starts downloading, installing, patching, registering, etc... Then it asks to restart (fortunate, if not the whole computer).
Personally I get extremely irritated and frustrated by such a silly action. I lose lots of my time waiting for "its majesty software" to finish whatever it wants to do and finally condescend to the worthless needs of the user.
Is it so difficult for those "mature" software architects and business analysts to come up with an idea to update upon software quit? Of course, when the quit is not due to system shutdown or restart! Fortunately, OS API-s provide means to determine whether the system is in progress of shutting down.
The fact that user quits a program normally means that the user doesn't want anything more from the program for the moment. The user doesn't mind if the software keeps doing something (updates) in background (but without adversely affecting computer performance!). And the software doesn't need to ask for restart in this case.
And below are my technical skills (sure, this list can be extended to whatever you need):
C/C++, C#, VB.NET, Assembler, Java, Javascript, MATLAB.
.NET, Win32 API, UNIX API, STL, TCP/IP, HTTP, FTP, Low-level programming.
ASP.NET, Web Programming, (D)HTML, XML, SOAP.
Online Analytical Processing (OLAP), MDX, RDBMS, SQL.
Multithreading, Distributed computing, Networking, Interprocess communication, Multiplatform applications programming, Real-time applications.
Data mining, Natural language processing, Machine learning, Pattern recognition, Knowledge representation, Multiagent systems, Genetic algorithms, Neural networks, Bayesian learning, Artificial Intelligence.
Performance optimization, Algorithms & data structures.