I wanted to try creating a CI (continuous integration) pipeline using Jenkins at home for fun ūüôā I launched IntelliJ IDEA by jetbrains¬†and created an empty test project. Then I added this project to Git. In case you don’t know how, below is how you can create a Git repository for you project in IntelliJ IDEA (Community 2017.1.2). Once the Git repository has been successfully created you should see a .git folder as below (You may need to enable display of hidden folders). Now, launch Jenkins (by default it should launch on http://localhost:8080/). Now click on New Item, select “Freestyle project” and type a name for it, click OK.   Go to Source Code Management tab and select Git The[…]

asana for task management

Have you tried Asana? We did and we liked it… When you are just starting a new project you may not always have all the tools at your disposal. Sometimes it takes time to acquire them tools. Tools like JIRA. Especially if you are working for a big IT company where things may go slow due to some protocols that need to be followed and countless approval processes. Or, even if you have the tools, you might want to do some off the record R&D jobs in parallel and you may not wish to follow them along with the other project tasks inside JIRA (or TFS or whatever). This is where the ASANA comes in. With Asana, you can create[…]


In DOM (Document Object Model) each element is represented as a rectangular box. These boxes determine the properties like size, color etc. The position of these elements is also determined by these boxes which in turn forms the layout of your webpages. You must know the CSS box model as you know your name if you want to be able to set the layout of your webpages¬†and write your own CSS stylesheets. The CSS Box Model is the foundation of this layout. It defines 4 basic properties: – ¬†Content: Content area is defined using “width” and “height” properties – ¬†Padding: Represents the inner margin of a CSS box – ¬†Border: A¬†distinct layer, between the outer edge of the padding and[…]


What is a Java Bean? Is it just any java class? The answer is no! Many people think when they say “Java Bean” they are talking about just any java class, but this is not the case. A Bean is not just any java class. Java Beans are classes that need to abide by some certain rules/conventions. 3 conventions they should satisfy can be listed as below: 1- They need to have a no-argument public constructor 2- They need to have get/set methods for their properties named according to naming conventions (getProperty, setProperty) 3- They need to be serializable Hope this helps. Good Luck, Serdar

What is a URI? URI (Uniform Resource Identifier) is a series of characters to identify a resource. It has the following format: scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment] Here the “scheme” is mistaken for protocols. Schemes are not protocols. Many schemes have been designed to work with protocols, yes, bu it is not true for all schemes. Scheme part tells us how the read and interpret the rest of the identifier string. file://usr/share/doc The example above has the scheme “file”, and there is no “file” protocol as you know. File scheme is¬†typically used to retrieve files from within one’s own computer. Not all parts of the URI¬†format defined above are mandatory. Below are the optional parts of a URI: -User information -Port -Query -Fragment What[…]


I recently created a cloud server instance on GoDaddy and installed a Bitnami application (Discourse) on it for one of my domains. Then I realized this Bitnami banner on the lower right corner. After some research and trials, I was able to remove this banner from my Discourse forum site. Here is how you can remove Bitnami banner from your website or web application on GoDaddy. Click Manage next to Cloud Servers Click Actions and Manage Server Now click Console and click Connect If you can’t see the console load, click Console and click Reconnect Once connected go to /apps/your_app_name in this case /apps/discourse Type “ls” and hit enter. You will see the bnconfig daemon listed Now type the command[…]

how kerberos works

Kerberos is a computer network authentication protocol that was developed¬†by MIT. An open source, free implementation is available from MIT as well as commercial implementations from other vendors. Kerberos is the native authentication protocol in Active Directory. Here is how the protocol works: In Kerberos, there is no communication between the resource (server) and the KDC. Client¬†takes on the majority of the processing burden in Kerberos, which distributes the authentication workload across the network. 1- Client attempts to log on to the network Client constructs and authenticator. This includes day and time data, so the authenticators are valid for only a certain period of time. So, they can’t be captured and re-used by an attacker. Some¬†portion of the authenticator is[…]

django-int object has no attribute keys

Being new to Django, sometimes I face interesting problems. If it is very late and you are very tired, It may¬†not always be easy to see the problem looking at the displayed error message like this¬†int’ object has no attribute ‘keys’ error message I got in cursor.execute() method ūüôā This error was thrown on the line below: cursor.execute(“select col1,col2 from table_name¬†where col3¬†= %s”, integer_value) The reason I got this error was that I had provided the integer directly as an argument but according to the documentation¬†the second argument must be a sequence or mapping. Below solved the issue: cursor.execute(“select col1,col2 from table_name¬†where col3¬†= %s”, [integer_value]) Hope this helps. Good Luck, Serdar

Django NoReverseMatch Error

Django’s reverse method can be found under¬†django.core.urlresolvers (new versions: django.urls). To be able to use it you should import it like so:

reverse method is used to generate urls so that you can use them in your template files, model methods, view methods etc. Why do we use them? We use them not to hard code our urls to adhere to DRY (Don’t Repeat Yourself) principle. Why am I talking about reverse? Because reverse method is where I encountered this NoReverseMatch error. Error message was something like this: Reverse for ‘xx’ with arguments ‘()’ and keyword arguments ‘{‘xx’: ‘xx’}’ not found. 1 pattern(s) tried: [‘(?P<xx>[-\\w]+)/(?P<xx>[-\\w]+)/$’] I replaced the variable names with “xx” above. Let’s see the bits of code[…]

django related_name

related_name is an attribute you use while defining relations like many-to-one, many-to-many, one-to-one etc. The value of this attribute is used as the name of the reverse relation between models. Example:

Here we define a many-to-one relation using a Foreign Key. A Site can have many Pages. The relation from a Site to its pages can be expressed as such:

A reverse relation can be defined from the Site to Pages as you see above. It is important to understand the importance of related_name attribute. related_name can save you from many headaches by preventing clashes from ever happening in your applications. Different models having a Foreign Key relation to the same “X” model could have clashes for using[…]