teleren/devto huggingface dataset:
GSoC — Mid Term Evaluation
Published: 2022-11-13 19:17:06

---
title: GSoC — Mid Term Evaluation
published: true
date: 2016-07-03 13:00:23 UTC
tags: 
canonical_url: https://venkat.eu/gsoc-mid-term-evaluation
---

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1668355846593/f7J6R0mUq.png)

So, all GSoCers were eagerly waiting for Mid-Term Evaluation results (27 June 19:00 UTC). Google gives one week (June 2027) for students and mentors to submit their evaluations. Students who clear evaluations will be rewarded and they can continue to code for next six weeks till the final evaluations!! Most of us cleared mid-term evaluation with flying colors and members activity in our FB group spiked as expected. We were posting our mentors feedback. It was fun and exciting to read others feedback too :D

Most of the students would have gone through code reviews & demos before mid-term. My mentors have been very busy and they couldnt conduct any demos or code reviews. I keep them posted on a weekly basis on the progress made through mailing list and they are very well aware of the features implemented so far.

Yesterday, my mentor was free and we had demo / discussion in hangouts for about one and half hours. My mentor was very happy with the outcome and he also thanked me for my contribution so far and asked to keep up the same pace and complete the project successfully. I felt so happy and humbled that my 6 weeks of hard work is definitely going to make a difference!! We also discussed in detail about the further road map. We are yet to have our code review.

#### Progress so far:

- ANTLR 4 grammar support for reading Load balancer specific configurations.
- **Algorithms:**

**a)** Round Robin  
**b)** Random  
**c)** Strict Client IP Hashing  
**d)** Least Response Time  
**e)** Weighted Round Robin  
**f)** Weighted Random

- **Session Persistence:**

**a)** Client IP Hashing  
**b)** Application Cookie  
**c)** LB Cookie

- **Health Checking & Redirection:**

**a)** Active  
**b)** Passive

#### Todo List:

- SSL SupportBoth SSL Offloading and End To End.
- Performance evaluation.
- Unit testing.

You can also find detailed list of my progress [here](https://github.com/Venkat2811/product-http-load-balancer) under Mid Term label of README.

Also find my previous post about writing a good GSoC proposal [here](https://venkat2811.blogspot.in/2016/06/writing-good-google-summer-of-code-gsoc.html).

Thanks for reading !!

_Originally published at_ [https://venkat.eu/gsoc-mid-term-evaluation](https://venkat.eu/gsoc-mid-term-evaluation) _on July 3, 2016._
GitHub Pages vs. GitLab Pages
Published: 2020-06-29 12:51:10

---
title: GitHub Pages vs. GitLab Pages
published: true
date: 2016-07-01 03:59:00 UTC
tags: 
canonical_url: https://mjswensen.com/blog/github-pages-vs-gitlab-pages/
---

I’ve been a longtime fan of [GitHub Pages](https://pages.github.com/). It is a wonderful option for hosting many types of sites. However, recent movements toward a more secure web and [GitHub’s lack of support for HTTPS on GitHub Pages with a custom domain](https://github.com/isaacs/github/issues/156) prompted me to start looking at other options, including [GitLab Pages](https://pages.gitlab.io/).

GitLab Pages has a lot of great features, many of which are similar to those of GitHub Pages (there’s no question that they are shooting for feature parity with the large incumbent). But there was one problem that was an absolute show-stopper for me: painfully slow build queues. For that reason primarily, I moved back over to GitHub Pages.

These are the primary differences I found between the two services:

|   | GitHub Pages | GitLab Pages |
| --- | --- | --- |
| Static site generator support | Jekyll only, no plugins | Completely customizable build, therefore any SSG is supported (including plugins) |
| Build configuration | Optional; Jekyll sites will be built automatically, and non-Jekyll sites are published directly. Tests can be set up easily through [travis-ci.org](https://travis-ci.org/) | Required; without a valid build definition GitLab Pages won’t know how to deploy your site. Setting up the build definition in `.gitlab-ci.yml` is easy and is very similar to setting up `.travis.yml` for GitHub Pages project |
| Build queue time | Almost always instantaneous, both on the GitHub Pages side and the Travis CI side | Excruciatingly slow; of the several builds I triggered on my site, the average wait time was a couple of hours |
| Support for HTTPS | [Partial](https://github.com/isaacs/github/issues/156) | [Yes](https://about.gitlab.com/2016/04/07/gitlab-pages-setup/#custom-domains) |
| CDN support | [Out-of-the-box](https://github.com/blog/1715-faster-more-awesome-github-pages) | Not provided by GitLab Pages but can be configured with free tiers of popular CDN providers |

GitLab Pages has a lot of great features. And the GitLab.com service is generally fantastic, especially given that it’s free. One of my favorite parts is that they offer free build instances (they call them “runners”) as part of the GitLab.com offering (and the CI is built right into the core product—another plus). The only issue is that since the runners are free, they are overworked and the build queues can be hours long (at the time of writing, at least). While it’s still a wonderful service, the delayed builds means a feedback loop that is too slow for feature development and a production deploy time that is too unpredictable.

That slowness and the need to configure CDN myself outweighed my desire to enable TLS on my site for now. And given GitHub’s track record, I also have a sneaking suspicion that TLS support on GitHub Pages is just around the corner. In which case I’ll be extra glad I stayed.
Periodic Table of DevOps
Published: 2022-05-26 21:04:34

---
title: Periodic Table of DevOps
published: true
date: 2016-06-30 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2016/periodic-table-devops/
---

The periodic table lists all the chemical elements and groups them together based on some key properties. Today I found an article about the [periodic table of DevOps](https://xebialabs.com/periodic-table-of-devops-tools/).

![](https://storageaccountblog9f5d.blob.core.windows.net/blazor/wp-content/uploads/2016/06/https-xebialabs.com-assets-files-infographics-periodic-table-of-devops-v2.png?resize=1024%2C572&ssl=1)

I am not going to discuss every element but I thought I might go through some that I have heard of or used.

- Github – The repository of lots of open source software. My Github can be found at [https://github.com/funkysi1701](https://github.com/funkysi1701)
- Amazon Web Services – The second most popular cloud computing provider (not sure why this isn’t number 3?)
- Git – The distributed source control system that everyone uses these days.
- Azure – The number one cloud provider, I have used this a lot, mostly with websites but also with some of their other features like Traffic Manager.
- Bitbucket – like Github but allows private repositories. I have used this extensively for work based projects that I don’t want to be public.
- Google Cloud Platform – don’t know much about this one, but no surprise that google wants a piece of the cloud computing pie.
- Selenium – This is a product I want to play about with as allows front end testing with a browser.
- Rackspace – Before we made the jump to Azure we made use of some Rackspace servers.
- Subversion – The first source control system that I used, but been using git so long now not sure I can remember how it worked.
- Visual Studio – The IDE from Microsoft that I use to write code. I am a big fan as it does everything I could want.
- TeamCity – The continuous integration software that I have been using to automate my deployments.
- MSBuild – This is used by Visual Studio to build your software and can also be used by your deployment scripts.
- Trello – A website that allows you to create a board of ideas or things to do.
- Slack – Brings all your communication together in one place. It’s real-time messaging, archiving and search for modern teams.
- New Relic – A software analytics tool suite used by developers, ops, and software companies to understand how your applications are performing. Useful but find myself favouring Application Insights (part of Azure) more now.
- Nagios – Yay nagios is on the list! My favourite server monitoring system.
- Splunk – This application can be used to search, monitor and analyse all your log files to find out what is happening. Don’t currently use it but I have tried it out in the past.
How to set proxy using npm config in NodeJs?
Tags: javascript, webdev, node, npm
Published: 2022-01-18 05:13:12

---
title: How to set proxy using npm config in NodeJs?
published: true
date: 2016-06-28 07:32:12 UTC
tags: Javascript,WebDev,node,npm
canonical_url: https://www.moreonfew.com/how-to-set-proxy-using-npm-config-in-nodejs/
---

While working with NodeJs you’ll notice that many times you might not be able to install or update while working behind a proxy network like the corporate web proxy of your office etc. Basically, you might notice that the commands like **npm install is not working**. However, this can be easily fixed by **setting the proxy of NodeJs using config command**. You would have to set the proxy for both http and https proxy.

In NodeJs the npm uses a configuration file that can be easily edited using the npm config edit command. You can use that to set the proxy values directly into the file. As an alternative, you can also use the `npm config set <key> <value> ` command to set the http-proxy value. Following is the code you would require to set the proxy using the npm config in NodeJs :

```powershell
npm config set proxy http://your-company-proxy.com:8080
npm config set https-proxy http://your-company-proxy.com:8080
```

If your network requires a username password then please pass it in like :

```powershell
npm config set https-proxy http://username:password@your-company-proxy.com:8080
```

## How to encode special characters in password in npm?

Also, remember to you might have to **url encode the proxy url if there are special character in it**. Especially if you have characters like “@” within your password, you might have to replace it with a relevant Hex value from the [ASCII code](https://www.ascii-code.com/ "ASCII Code and Hex value list") list.

For Example, if the password contained an ” @ ” symbol like “abc@xyz” then you’ll have to pass the password as “abc **%40** xyz”. You need to replace the special character with its equivalent HEX value that you can pick up from the following table of [ASCII Codes](https://www.ascii-code.com/ "List of ASCII codes and HEX values"). You need to prefix a percent sign ” % ” to the HEX value given in the table.

With special characters escaped, the config command might look like the following if your password was “abc **@** xyz”:

```powershell
npm config set https-proxy http://username:abc%40xyz@your-company-proxy.com:8080
```

Hope this article was helpful to you and you were able to set the proxy on nodeJs using npm. Let us know in the comments.

The post [How to set proxy using npm config in NodeJs?](https://www.moreonfew.com/how-to-set-proxy-using-npm-config-in-nodejs/) first appeared on [MoreOnFew](https://www.moreonfew.com).
Saying goodbye to Aegis
Tags: scm
Published: 2018-10-06 01:46:21

---
title: Saying goodbye to Aegis
published: true
tags: scm
canonical_url: http://www.hpcoders.com.au/blog/?p=92
---

After nearly 16 years, I am now saying a long farewell the the Aegis source code management system ([http://aegis.sf.net](http://aegis.sf.net)). Aegis was, in its day, years ahead of its time. But now, with Aegis’s author dead, and only a handful of stalwarts promoting and maintaining Aegis, it is time to look for a replacement. After now more than 18 months of using git and github in anger, I think I finally have have an SCM that is up to the job. On the plus side, Github’s enormous developer community, and fork/pull request model means that people are more likely to contribute. Whilst Aegis has something similar, the reality is very few people will bother to download and install Aegis, so you’re left implementing clunky workflows combining multiple SCMs. More than once, the heterogenous repositories lead to code regressions.

The biggest hurdle was how to handle continuous integration, a feature Aegis had from its inception. After a considerable learning curve, I found a solution in terms of TravisCI, which integrates quite nicely with Github. Then I needed something to replace the versioning workflow I had with Aegis. After studying Gitflow, I realised it was pretty close to what I was doing with Aegis, so I have implemented a versioning workflow using a script “makeRelease.sh” that uses the git tag feature to add version numbers, and added a dist target to the Makefile to create clean tarballs of a particular version.

I’m changing things slightly, though. Whereas Aegis branch numbers bear no relation to delta numbers, so branch ecolab.5.32 is actually incremental work on top of ecolab release 5.D29, with my new workflow, branches and deltas will be identical. Release 5.32.1 will be an incremental beta release on ecolab.5.32. Also to indicate that the new system is in place, Aegis’s delta numberings (D in final place) are gone, and versions will be purely numeric.

You can check out the new stuff in the github repositories, [https://github.com/highperformancecoder/minsky](https://github.com/highperformancecoder/minsky) and [https://github.com/highperformancecoder/ecolab](https://github.com/highperformancecoder/ecolab).
Automatic Git Tagging
Published: 2022-06-02 17:58:13

---
title: Automatic Git Tagging
published: true
date: 2016-06-16 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2016/automatic-git-tagging/
---

One of the features of git is the ability to tag a point in my change history with a tag. For a while now I have been manually tagging my code whenever I do a release, so I can easily work out what has changed by doing a diff between two tags.

Now that I am automating my release process with TeamCity I am thinking about how to manage my tags better.

TeamCity has a setting called VCS Labeling which comes in very handy. ![](https://storageaccountblog9f5d.blob.core.windows.net/blazor/wp-content/uploads/2016/06/Untitled.jpg?w=1595&ssl=1)

Configuring it is fairly simple as it only has three settings.

**VCS root to label** : This is obviously the url to your git repository **Labeling pattern** : This is the text of the label to be added. **Label successful builds only** : Do you really want to add a tag if the build failed?

A tag needs to have a unique name, so adding a tag just called **deployed** won’t work. When I used to add tags manually I used the naming convention of **deployedyyyymmdd**. While this naming convention is possible with TeamCity I use something a bit more complex to provide more information about what has been deployed.

TeamCity provides lots of parameters that can be used in your build steps and also in the Labeling pattern box. I started off using **deployed-build-%system.build.number%** as my tag which just marks git with the TeamCity build number.

When I run a TeamCity deployment I don’t always use the same configuration options, I deploy locally, to a test server or to production and sometimes I just deploy the frontend or the backend. How cool would it be to include this information in the tag text?

Well the next step was to change my Labeling pattern to **deployed-build-%system.build.number%-%ServerName%-%DatabaseName%-%FrontEndPath%** , this adds the backend database config settings and the path the frontend was deployed to. Now when looking at git you can see commits marked with multiple tags, one for each deployment that succeeded and the tag will indicate the settings used during that deployment.

Now I will never forget to add the tag after a release as the adding of a tag is part of the deployment process, if the deployment fails the tag won’t be added. I can test my deployment to test and git will show if this has been successful, and when I deploy live this will also show up.

How do you use tags? Do you mark successful builds with a tag? Why not let me know or leave a comment below.
I’m 100 blog posts old
Tags: softwaredevelopment, 100, blog, development
Published: 2021-01-19 22:48:10

---
title: I’m 100 blog posts old
published: true
date: 2016-06-02 07:00:35 UTC
tags: SoftwareDevelopment,100,blog,development
canonical_url: https://www.funkysi1701.com/2016/06/02/im-100-blog-posts-old/
---

That’s right this is the one hundredth post that I have written on this blog.

![100-posts-old-L-fwCF_f](https://i2.wp.com/www.funkysi1701.com/wp-content/uploads/2016/06/100-posts-old-L-fwCF_f-300x247.jpeg?resize=300%2C247)

**So what have I learned in the past 100 posts?**

1. It is easier to write a blog before you become a parent. More recently I am increasingly finding it difficult to find the time to blog. It used to be that I could write on an evening, but now James is around I often prefer to play with him, or more often stop him crawling where he shouldn’t.
2. I like my job. The inspiration for most of this site is my day job and as you can read, I do a wide variety of different things, but I have a lot more to learn as well.
3. Finding your niche is hard. 100 posts in and I am still not sure what my niche is. I started out with the broad niche of IT and what I do, I then considered something about IT and fatherhood but I don’t think that topic is really me. My current thinking is maybe DevOps especially as my role these days fits squarely between Development and Operations.
4. Its time for a refresh. I have been meaning to change the theme of this site for some time and I feel after 100 posts now is as good as time as any. I want to emphasise my skills and what I am learning and increase the emphasis on DevOps, which I think will be my niche.
5. Watching visitor numbers is addictive. Every day I look at how many people have looked at my blog, but I have yet to see a pattern between what I write and how many reads I get. Is my writing getting better? I don’t know. Are more people reading? Probably not. Will I keep going? Yes

**So what is next?**

Hopefully a refreshed look in the next few months. Hopefully regular posts. If there is something you want to see on here drop me a message via any of the social media links or put a comment below.

**What is my favourite post?**

Maybe [User Groups and F#](https://dev.to/funkysi1701/user-groups-and-f-h88-temp-slug-7422867) which proved very popular and got me to start going to user groups something I still enjoy today. I also like [Coding Myself Into A Corner](https://dev.to/funkysi1701/coding-myself-into-a-corner-iam-temp-slug-3867147) which got me to start thinking more if I was giving myself future problems. But there are many others I like such as [James and Becoming a father](https://dev.to/funkysi1701/baby-magic-and-becoming-a-father-2p8f-temp-slug-2736589)
The Python that Speaks Whale
Tags: python, docker
Published: 2019-07-05 03:07:36

---
title: The Python that Speaks Whale
published: true
tags: python, docker
canonical_url: https://tryexceptpass.org/article/the-python-that-can-speak-whale/
cover_image: https://tryexceptpass.org/images/python-speaks-whale.png
---

### Using docker-py to interact with containers

“You should really be looking at Vagrant” — he said while I struggled with the keyboard, as if pressing the keys harder was going to magically make it work.

I had recently completed a utility — you know, one of those things that slurp in data from some black hole in a distant corner of the universe, marries it with the structure of a different time-space continuum, and magically spawns a pretty visual representation for mere mortals to easily consume — and I was having the hardest time getting all the pieces together for a demo on a laptop running that OS (yes, that one).

My buddy was trying to point me to a system that helps provision virtual machines from a simple configuration file. A solution which was becoming common in application distribution and deployment, as well as a method to standardize development environments.

[Read on ...](https://tryexceptpass.org/article/the-python-that-can-speak-whale/)
A Python Ate My GUI
Tags: python, gui, webdev
Published: 2019-07-05 03:06:19

---
title: A Python Ate My GUI
published: true
tags: python, gui, web development
canonical_url: https://tryexceptpass.org/article/a-python-ate-my-gui/
cover_image: https://tryexceptpass.org/images/python-ate-my-gui.jpeg
---

### Thoughts on the future of Python and graphical interfaces

Staring at my coworkers, already knowing the inevitability of the situation, my eyes roll as the argument starts anew:

“I told you I can write that code twice as fast, in half as many lines and they’ll be cleaner and more readable than yours will ever be! Python is awesome!” — said the one guy.

“Whatever you say, you’ll never be able to make a UI that’s half as good as this. It won’t look pretty and no one will want to use it!” — replied the other — “Probably can’t even make it run on Windows” — he mumbled to himself while walking away.

Some years ago this was a regular exchange between coworkers, and while they were mostly messing around, there was still an element of truth to it. Regardless of its capabilities, Python was mostly known as a “scripting” language — not really for graphical interfaces — and the world was still looking for a native OS feel in their GUI applications, which was not really accessible from Python without a lot of work.

[Read on ...](https://tryexceptpass.org/article/a-python-ate-my-gui/)