Clean coding means that in the first place you write code for your later self and for your co-workers and not for the machine.
I bought an application a few years ago and I have always been able to login without any issues, however with this particular application I didn’t use a password manager to save the string needed in order to get back in. It is a paid application and the “forgot password” functionality didn’t work.
I could have contacted the original creators of the application, however being that my version was behind it would probably have taken days to get me back on line so I went ahead and did what most developers would do. Open the application and figure out the encryption function, cryptographic hash function, login signature in order to create a new password that then could be added to the database, at this moment the only thing I had was the encrypted password and the salt value.
Here is the end of the function that would encrypt the password to compare to what is in the database:
return $salt . substr(sha1($salt . $password), 0, -$this->salt_length);
With this information I was able to remove the salt valuable temporarily in order to access the application and update the password directly in the database. After accessing the application the password could be updated directly within the system.
Are you locked out of your application? Look at the database and find the login methods to figure out how you can update your database directly and maybe be able to get back in.
As always since you are dealing with the system directly ensure you have a back up of your data in the event that you need to revert the application completely.
One of the reasons why you will not see me connecting my Twitter, Facebook, LinkedIn, (enter any other social network) with another application is because in exchange for that specific connection you may be giving away something of value.
We all know that there is a price on being part of a social network, networks provide their service in exchange for your data and the more they convince you to give your personal data the better. That’s why they encourage you often to set reminders, check in, like something, provide your DOB, city, state, and more.
Where I feel networks go beyond harvesting your personal data is when networks harvest data from my friends or family.
If you connect to the Service using credentials from a Third Party Application (as defined in the Terms and Conditions of Use) (e.g., Facebook), you authorise us to collect your authentication information, such as your username and encrypted access credentials. We may also collect other information available on or through your Third Party Application account, including, for example, your name, profile picture, country, hometown, email address, date of birth, gender, friends’ names and profile pictures, and networks.
That may not be scary for you but take a look at what else they can do with your data:
the transfer of your information outside of the country where you live;
the public availability of your information and the controls over such information as described in Sharing information.
There you have it, short and simple. Does that mean that I will stop using Spotify? Personally I won’t stop using the service, I just won’t connect my other social networks.
I received an email fro Adobe and after following the link provided I was welcomed with a pre-populated form (as the one below)
At this point I would press submit and download the marketing material, after taking a closer look I noticed the “Show/hide pre-populated information” link.
I personally do not like pre-populated forms, I believe that if the form is going to try to fetch my information at that point that can be a tracking even on the database even if I do not download the information offered.
I am working with our team to have AEM (Adobe Enterprise Manager) and their Dispatcher (AEM caching and/or load balancing tool) running along with Apache running on our local installations. AEM is rather easy to “install” but here are some of the commands that help me during the installation.
#display Apache version installed on your system along with other useful details
$ apachectl -V
Server version: Apache/2.4.9 (Unix) Server built: Sep 9 2014 14:48:20 Server's Module Magic Number: 20120211:31 Server loaded: APR 1.4.8, APR-UTIL 1.5.2 Compiled using: APR 1.4.8, APR-UTIL 1.5.2 Architecture: 64-bit Server MPM: prefork threaded: no forked: yes (variable process count)
#test your configuration settings
$ sudo /usr/sbin/apachectl configtest
You will get information about the modules installed and also if there any syntax errors in your httpd.conf
AH00526: Syntax error on line 606 of /private/etc/apache2/httpd.conf:
If your httppd.conf file is error free you will only get an OK.
Better introductions for websites and features with a step-by-step guide for your projects.
Something that can be hard to code has been made so simple with this plugin.
Editor functionality temporarily limited.
Instead of using the editor to type the code that is causing the crash type the code on a different software, copy, and paste it to the right location.
When you us the linkTrackVars make sure that when you provide multiple parameters they are only separated by a comma and that there is spaces between each of the elements.
s.linkTrackVars=’prop1, prop2, events’;
For some odd reason Adobe has made this implementation part of their best practices but they haven’t highlighted the importance of having it all without spaces between each element.
“npm ERR! error rolling back email@example.com”
remove ~/.node-gyp and clean npm cache by
npm cache clean, then try again.
It takes a while for people to adapt to change and many resist to change due to the adaptation and complexity in integrating these changes may bring to our workflow, ClojureWerkz team posted three questions you should ask when writing a change log:
A useful project change log answers three questions:
Whether it is critical to update
Whether the release is backwards compatible
What has changed and why
A change log that covers these three points will help your users adopt new versions faster, even in some of the most conservative corporate environments. It will also make the ops people respect your project more.