teleren/devto huggingface dataset:
Why Code Snobs Are Invaluable
Published: 2020-06-29 12:49:04

---
title: Why Code Snobs Are Invaluable
published: true
date: 2015-01-30 20:50:44 UTC
tags: 
canonical_url: https://mjswensen.com/blog/why-code-snobs-are-invaluable/
---

Some argue that “code snobs” waste time on trivia. While I am sure this can be the case, I submit that their ideas and comments offer more benefit than cost in the long run.

I recently pushed a change at work that involved refactoring a few of our JavaScript classes and adding a couple of new ones. Nothing too out of the ordinary. Our development workflow requires a different engineer to code review any commits before they go on to the master branch (and eventually out to production). I felt good about the solution that I had come up with for the particular task I was working on.

The engineer that I had requested for the code review—who had recently reworked our [Selenium](http://www.seleniumhq.org/) testing framework and is an active proponent of code quality for our team—left a comment on our pull request system for a particular area of the code I was submitting. He suggested a slight change, merely that some of the classes I had implemented were not using the singleton pattern, while some of their analogous counterparts were, and that I should adjust them to better mirror that structure.

I was halfway through replying to the comment with reasons to just move forward and approve my pull request anyway when I realized that he was right. The classes really _would_ be more semantic if they were singletons. I decided to take the additional 15 minutes to make the change.

I realize that whether or not my two small JavaScript classes were implemented as singletons probably has no real bearing on the reliability and performance of our large codebase. **But small decisions like that add up, especially when they are made every day.** Imagine how different your codebase would be if every programmer on your team pushed out the best quality code they could, every single commit, with unfaltering snobbery! Over the course of even a year, the difference would be significant.

**Perhaps a “code snob” is simply the term lazy programmers use to describe their more disciplined peers.** If that’s the case, I want to be one.
Podcasts
Published: 2022-03-31 18:51:13

---
title: Podcasts
published: true
date: 2015-01-27 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2015/podcasts/
---

For a while now I have been listening to podcasts. For those that don’t know a podcast is an audio file that you can download and listen to, usually about a topic you are interested in. The topics that interest me are obviously Star Trek, Science and Technology and IT stuff. I mainly listen to them in the car when I am driving, but sometimes it will be at home when doing jobs around the house.

I think the first podcast I listened to was [Trekmate](http://www.trekmate.org.uk/). Trekmate as the name suggests is about Star Trek, it’s a few guys talking about Star Trek. It’s very similar to those conversations you have in the pub with your mates. Trekmate do lots of podcasts, one for almost every flavour of Star Trek out there, I don’t keep up with all of them, but the ones I listen to I really enjoy.

My favourite podcast that is work related is [RunAs Radio](http://www.runasradio.com/). If you are a SysAdmin or have an interest in servers or IT you should listen to this. The host Richard Campbell interviews IT experts about a particular piece of technology, one week it will be Exchange, the next Security, and then SQL Server. Often I will learn something that I will want to try out, some weeks I won’t learn something specific but will give be an insight into which way IT for businesses is going. I think it was probably only after listening to RunAs Radio that are started having more of a long term plan for my IT infrastructure at work.

As I have blogged about before I am learning Development so obviously I listen to [.NET Rocks](http://www.dotnetrocks.com/). This is hosted by Carl Franklin and Richard Campbell (yes the same guy that does RunAs Radio) who talk to developers about code, learning and IT from a more Developer point of view. This is released 3 times a week so is a bit hit and miss sometimes, but most weeks there will be something relevant to me or worth listening to.

A few days ago I am did something for the first time, I was a guest on one of the Trekmate pods, TenForward. I reviewed 5 Star Trek episodes. This was a bit of a leap for me as an introvert I don’t like to be the center of attention and I certainly don’t like how my voice sounds recorded. Hopefully when released people will like it and I will do lots more of these in the future. Once it has been released I will put a link up here so you can all have a listen.
Why do you need to validate your site on W3C?
Tags: w3c, validation
Published: 2020-10-05 10:45:57

---
title: Why do you need to validate your site on W3C?
published: true
date: 2015-01-26 00:00:00 UTC
tags: W3C,Validation
canonical_url: "https://www.loginradius.com/engineering/blog/need-validate-site-w3c"
---

Learn how to validate your web page for W3C standards and know about the benefits of W3C Validation

   
[Read On](https://www.loginradius.com/engineering/blog/need-validate-site-w3c/)
Pair Programming
Published: 2022-03-27 19:25:32

---
title: Pair Programming
published: true
date: 2015-01-19 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2015/pair-programming/
---

So I have been working through the challenges on the [freecodecamp](http://www.freecodecamp.com/) website and one of the unique things that this site does is give you the chance to program with another person.

I am an introvert and if you were to ask me to pick up the phone and ring someone I will procrastinate a lot before doing it (if I do it at all), I also am not good at speaking with strangers but I have been enjoying the pair programming I have done so far.

I have only pair programmed a couple of times so far, so I am no expert. The first time was with someone from North America, it was weird to begin with talking to your computer and hearing an american voice respond, but you soon forget that as you concentrate on the problems you are working on.

The second time was with someone from the Netherlands. This time we tackled some trickier problems. Both times I took more of a back seat but I think contributed useful stuff and I certainly learnt a lot from the other person.

I think that is the key thing about pair programming, you learn so much about how to look at a problem from another angle, or learn about a function you haven’t heard of before. If you are reading this and it was you that I pair programmed with a big thank you for spending the time with me, I learnt a lot.

I was trying to pair program again tonight but technical problems prevented me. One problem I have found is finding a partner, was hoping to do some yesterday but no one else was around to partner with.

I would be interested to learn what companies use pair programming. I imagine a pointy haired boss would say why pay two people to do one job, when you could get them working on different things. However if you want to build up your team and give them loads more skills then pair programming would be great. I also think there are probably some problems that are crying out for pair programming.
Javascript progress
Published: 2022-03-27 09:21:34

---
title: Javascript progress
published: true
date: 2015-01-16 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2015/javascript-progress/
---

I got excited earlier this week as I started playing around with the javascript I have been learning.

I thought I would try and create useful javascript that could be applied to an online filestore. Somewhere that you could upload, delete, edit files and folders and various options to do with your files would popup via javascript or jquery code.

So far I have created a static HTML page which lists a few dummy files. I have added a button which adds a new row into my table and I have used jquery to highlight any selected files and also when the mouse passes over.

If you want to follow my progress I have put my files on [github](https://github.com/funkysi1701/CodeSamples/tree/master/clouds-js). It’s very basic stuff and I have already got a few lines I would like to refactor but not bad for an evenings work. I have lots of feature ideas to add to this page which should help me learn the basics.

The trouble with learning all this javascript is that I am starting to get all my programming languages confused. Earlier this week I started writing a for loop in javascript, only problem was I was working on an MS Access ADP (Don’t ask!) which requires the code in VBA. That is never going to work. Oh well.

If anyone knows good ways to stop myself getting my programming languages all confused do let me know.
Python Debugger
Tags: tech, python, pdb
Published: 2023-02-01 02:39:07

---
title: Python Debugger
published: true
date: 2015-01-13 09:02:00 UTC
tags: Tech,python,pdb
canonical_url: https://tyrel.dev/blog/2015/01/python-debugger.html
---

When I worked at Propel Marketing, my dev team used to have presentations on things they loved. I love the Python debugger. It’s very useful and I believe a proper understanding of how to use a debugger, will make you a better programmer. Here is a presentation on the debugger I made for my team. [https://prezi.com/cdc4uyn4ghih/python-debugger/](https://prezi.com/cdc4uyn4ghih/python-debugger/)
How to handle GPG encrypted files with VIM
Tags: gnupg, privacy, vim
Published: 2018-10-14 12:54:32

---
title: How to handle GPG encrypted files with VIM
published: true
tags: gnupg,privacy,vim
canonical_url: https://mnlwldr.com/gpg-and-vim/
---

I like to write small notes in simple files with [vim](http://www.vim.org/). Sometimes I want to encrypt these files, so that not everyone can everything read in there. I was looking for a solution and found [this](https://wiki.debianforum.de/Vim_mit_gnupg).

```
augroup aencrypted
	au!
	" First make sure nothing is written to ~/.viminfo while editing
	" an encrypted file.
	autocmd BufReadPre,FileReadPre *.asc set viminfo=
	" We don't want a swap file, as it writes unencrypted data to disk
	autocmd BufReadPre,FileReadPre *.asc set noswapfile
	" Switch to binary mode to read the encrypted file
	autocmd BufReadPre,FileReadPre *.asc set bin
	autocmd BufReadPre,FileReadPre *.asc let ch_save = &ch|set ch=2
	autocmd BufReadPost,FileReadPost *.asc '[,']!sh -c "gpg --decrypt 2> /dev/null"
	" Switch to normal mode for editing
	autocmd BufReadPost,FileReadPost *.asc set nobin
	autocmd BufReadPost,FileReadPost *.asc let &ch = ch_save|unlet ch_save
	autocmd BufReadPost,FileReadPost *.asc execute ":doautocmd BufReadPost " . expand("%:r")
	" Convert all text to encrypted text before writing
	autocmd BufWritePre,FileWritePre *.asc '[,']!sh -c "gpg --default-recipient-self -ae 2>/dev/null"
	" Undo the encryption so we are back in the normal text, directly
	" after the file has been written.
	autocmd BufWritePost,FileWritePost *.asc u
augroup END

augroup bencrypted
	au!
	" First make sure nothing is written to ~/.viminfo while editing
	" an encrypted file.
	autocmd BufReadPre,FileReadPre *.gpg set viminfo=
	" We don't want a swap file, as it writes unencrypted data to disk
	autocmd BufReadPre,FileReadPre *.gpg set noswapfile
	" Switch to binary mode to read the encrypted file
	autocmd BufReadPre,FileReadPre *.gpg set bin
	autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2
	autocmd BufReadPost,FileReadPost *.gpg '[,']!sh -c "gpg --decrypt 2> /dev/null"
	" Switch to normal mode for editing
	autocmd BufReadPost,FileReadPost *.gpg set nobin
	autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save
	autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r")
	" Convert all text to encrypted text before writing
	autocmd BufWritePre,FileWritePre *.gpg '[,']!sh -c "gpg --default-recipient-self --armor -ev 2>/dev/null"
	" Undo the encryption so we are back in the normal text, directly
	" after the file has been written.
	autocmd BufWritePost,FileWritePost *.gpg u
augroup END
```

Then you can create a new file with `vim YOURNOTE.gpg`. This will be encrypted when saving and decrypt when opened.
Hello World!
Tags: languages, sourcecode
Published: 2022-03-07 22:55:36

---
title: Hello World!
published: true
date: 2015-01-10 20:00:45 UTC
tags: Languages,SourceCode
canonical_url: https://www.funkysi1701.com/posts/2015/hello-world-2/
---

The first program anyone writes in a new language is often really simple and just displays the text “Hello World!”, below are a few examples from languages I have knowledge of.

```
Console.WriteLine("Hello, world!");


<html>
<head></head>
<body>
<p>Hello, world!</p>
</body>
</html>


php echo 'Hello, world!'; ?>


MsgBox("Hello, World!")


SELECT 'Hello, world!'

```

Or maybe

```
SELECT * FROM table WHERE name = 'Hello World!'


'Hello, world!'


console.log('Hello, world!');


PRINT "Hello, world!"

```

Turns out I know quite a few programming languages. And yes there have been times where I need to stop and think about which language I am writing in.
My Year of Code
Published: 2022-03-24 22:18:37

---
title: My Year of Code
published: true
date: 2015-01-09 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2015/my-year-of-code/
---

There is no escaping the fact that we are in 2015 now. My new years resolution is to do more coding.

Over Christmas I thought I would have a go at [http://www.codecademy.com](http://www.codecademy.com) I completed the javascript course and I was just wondering what I should try next when I saw a tweet about [http://www.freecodecamp.com](http://www.freecodecamp.com)

Since then I have been addicted to doing the exercises that they have, almost everyday I have made a bit of progress.

But this site is not just about teaching you how to code, it has an active forum where you can ask questions and understand more about what it takes to become a developer.

Before I started these exercises I didn’t know much javascript or jquery but I am starting to learn quite a few commands that hopefully I can put into use at some point. Whatever development I end up doing I am sure I am going to need javascript at some point.

One of the tips I have learnt is that you need to practise daily. Did you ever use flash cards to help pass exams? Well there is an electronic version of them now called Anki. Just add a question/answer pair to your deck of cards and review them each day, the ones you find difficult you review more often than the ones you have learnt.

Hopefully I can keep this up and later in the year I will be well on way to writing lots of useful code.
SSH Agent on “boot”
Tags: tech, linux, ssh
Published: 2023-02-01 02:39:14

---
title: SSH Agent on “boot”
published: true
date: 2015-01-09 09:03:00 UTC
tags: Tech,linux,ssh
canonical_url: https://tyrel.dev/blog/2015/01/ssh-agent-on-boot.html
---

I had a friend complain that he had to keep adding his ssh key to his ssh-agent every time he rebooted. I have a really easy bit of shell code you can put into your .bashrc or your .zshrc file:

```bash
SSHKEYFILE=/path/to/your/ssh/key/file
ssh-add -l | grep -q $SSHKEYFILE
RC=$?
if [$RC -eq 1]
then
    ssh-add -t 86400 $SSHKEYFILE
echo "Added key internal to keychain."
fi
```

This will check every time your bash or zsh rc file is sourced for your key in the currently added keys, and if it’s not, it will add it.

This has the benefit of not requiring you to put in your password every time you connect to a remote machine if you password your ssh keys (which you should).
A Simple Popup Tutorial
Tags: html, css, ui
Published: 2020-10-05 10:45:31

---
title: A Simple Popup Tutorial
published: true
date: 2015-01-05 00:00:00 UTC
tags: HTML,CSS,UI
canonical_url: 
---

Creating a popup is a very simple addition to any webpage. In this tutorial, I will show you how to create a popup using basic Html, javascript and CSS. The first thing we want to think about is what we want to do to trigger a popup. You can trigger an event on almost anything…

   
[Read On](https://www.loginradius.com/engineering/blog/simple-popup-tutorial/)
New DNS provider
Tags: dnsimple, hosting
Published: 2018-08-27 20:57:17

---
title: New DNS provider
published: true
tags: dnsimple,hosting
canonical_url: https://kritner.blogspot.com/2014/11/new-dns-provider.html
---

Oh yeah... updated my DNS provider to [DNSimple](https://dnsimple.com/).  Was extremely easy to set up and would highly recommend if you're just looking to point a URL to an IP address.
[年末記事]2014年は家電と芸術の年！？　2014年をまとめます！
Tags: review
Published: 2018-05-16 20:31:27

---
title: [年末記事]2014年は家電と芸術の年！？　2014年をまとめます！
published: true
tags: review
canonical_url: http://connect.coron.tech/archives/51881893.html
---

[![IMG_0317](http://livedoor.blogimg.jp/cv_k/imgs/a/5/a58ee011-s.jpg)](http://livedoor.blogimg.jp/cv_k/imgs/a/5/a58ee011.jpg "IMG\_0317")  

初売りで幕開けした2014年振り返り  

  
来年も初売りに参戦したいと思います。2014年を写真で振り返って見ました。思えば家電と芸術の年だったのかもしれない・・・。  
  
続きは以下からどうぞ。  
[続きを読む](http://connect.coron.tech/archives/51881893.html) ![](http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=2732114&name=cv_k&pid=51881893)
Happy Christmas
Published: 2022-03-24 22:18:11

---
title: Happy Christmas
published: true
date: 2014-12-24 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2014/happy-christmas/
---

I saw this tweet on twitter.

```
He’s making a database,
He’s filtering twice
SELECT * FROM customers WHERE behaviour = Nice
Santa Clause is Coming to town.

```

This started me thinking surely in a normalized database structure behaviour wouldn’t be stored in the customer table, so I propose the following change.

```
He’s making a database,
He’s filtering twice
SELECT * FROM customers WHERE EXISTS (select * from behaviour where behaviour.CustomerId = customers.Id and behaviour.Type = Nice)
Santa Clause is Coming to town.

```

Happy Christmas everyone, hope you all have restful holidays.
Disable iptables
Tags: ubuntu, iptables
Published: 2014-12-08 11:41:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Disable iptables
slug: disable-iptables
date: 2014-12-08 11:41
tags:
 - ubuntu
 - iptables
---
Rather than disabling iptables in Ubuntu 14.04, you can allow everything.

    iptables -F
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT

It's bad, but it works.
DateRanges in C#
Tags: net, csharp, daterange, git
Published: 2018-08-27 20:56:56

---
title: DateRanges in C#
published: true
tags: .net,csharp,DateRange,git
canonical_url: https://kritner.blogspot.com/2014/11/dateranges-in-c.html
---

Been playing around a bit with GitHub to try to get the feel for Git terminology, branching/merging, etc.  My repo(s) can be found at: [https://github.com/Kritner/](https://github.com/Kritner/)  
  
Was kind of surprised to find out there is no DateRange class within .net.  I attempted to create the starts of one here: [https://github.com/Kritner/Common/](https://github.com/Kritner/Common/)  Currently only includes DateRange - could contain more stuff at some point.   
  
Getting my Surface Pro 3 tomorrow hopefully I'll have more of a chance to randomly type in a compiler while watching TV once it's here! :3
If you had £5000 to spend on technology what would you get?
Published: 2022-03-21 20:39:47

---
title: If you had £5000 to spend on technology what would you get?
published: true
date: 2014-10-26 20:00:45 UTC
tags: 
canonical_url: https://www.funkysi1701.com/posts/2014/if-you-had-5000-to-spend-on-technology-what-would-you-get/
---

I listen to the dot net rocks podcast and they ask this question every show. (If you don’t listen then you should!)

I don’t know what my answer would be as there are so many gadgets and cool things that I like the sound of.

I might get a surface pro 3, it’s a tablet with attachable keyboard that’s more powerful than my current laptop. But at £600 it’s expensive so maybe not. Maybe instead I would install a SSD into my existing laptop to increase disk performance.

I’d like a new car with lots of gadgets built-in. A friend gave me a ride in his new BMW and it’s nice. Bluetooth so I don’t have to have an audio cable to listen to podcasts. Parking sensors so no chance the wife will prang it. Built in satnav etc

![](https://storageaccountblog9f5d.blob.core.windows.net/blazor/wp-content/uploads/2014/10/google-car.png?w=599&ssl=1)

While we are on the subject of cars eventually I’d like a google self driving car as I think Google is a better driver than me. Think about it I drive to a friends I have a drink I sleep in the back seat as my car drives me home. Once all cars are automated I believe the roads will be much safer.

The last thing I would spend on is an intensive training course on development, I would really like to get further in dev and more training would really help. Specifically something that would help solve my current dev problems. I am sure it is possible for me to learn dev with self-study but that requires a discipline I don’t think I have, I easily eat my time up with my current job, wife and other interests.

I recently had £6500 to spend on improving my employers IT infrastructure. That was really hard. It sounds like a lot of money, but it really isn’t.

Once I started looking at the problems that I wanted to solve and what hardware I wanted I quickly used it all up and that was before I factored in license and software costs. In the end I just had to order what I wanted and hope that on a future date I could spend on other areas. I got a super powerful server that I could virtualize almost all our existing physical servers with it I needed licences, which left me just enough to get a NAS for file storage.
Version ranges for node package dependencies
Tags: node, npm
Published: 2014-11-14 09:20:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Version ranges for node package dependencies
slug: version-ranges-for-node-package-dependencies
date: 2014-11-14 9:20
tags:
 - node.js
 - npm
---
I've lifted this from npmjs.org, but here at least I'll find it again.

`version` Must match `version` exactly  
`>version` Must be greater than `version`  
`>=version` etc  
`<version`  
`<=version`  
`~version` "Approximately equivalent to version"  
`^version` "Compatible with version"  
`1.2.x` `1.2.0`, `1.2.1`, etc., but not `1.3.0`  
`http://...` See 'URLs as Dependencies' below  
`*` Matches any version  
`""` (just an empty string) Same as *  
`version1 - version2` Same as `>=version1 <=version2`.  
`range1 || range2` Passes if either `range1` or `range2` are satisfied.  
`git...` See 'Git URLs as Dependencies' below  
`user/repo` See 'GitHub URLs' below  
`tag` A specific version tagged and published as tag `path/path/path` See Local Paths below  

For example, these are all valid:

    { "dependencies" :
        { "foo" : "1.0.0 - 2.9999.9999"
        , "bar" : ">=1.0.2 <2.1.2"
        , "baz" : ">1.0.2 <=2.3.4"
        , "boo" : "2.0.1"
        , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
        , "asd" : "http://asdf.com/asdf.tar.gz"
        , "til" : "~1.2"
        , "elf" : "~1.2.3"
        , "two" : "2.x"
        , "thr" : "3.3.x"
        , "lat" : "latest"
        , "dyl" : "file:../dyl"
        }
    }

Git urls can be of the form:

    git://github.com/user/project.git#commit-ish
    git+ssh://user@hostname:project.git#commit-ish
    git+ssh://user@hostname/project.git#commit-ish
    git+http://user@hostname/project/blah.git#commit-ish
    git+https://user@hostname/project/blah.git#commit-ish

Read more: https://www.npmjs.org/doc/files/package.json.html