e0ne's comments

Choosing CI server for local needs

Published at February 15, 2019 ·  2 min read

Implementing everything-as-a-code initiative, I need some CI server up and running on my desktop. I don’t want to use cron directly or implement something myself because of I don’t have enough time for it. That’s mean, I can’t use Drone, Circle CI, or Travis CI because of pricing. I tried Buildbot and GoCD and they look pretty good but not mature enough. I really like GitLab CI but it requires a lot of resources and looks like too powerful for my simple tasks....

Code Coverage and Cyclomatic Complexity

Published at February 14, 2019 ·  1 min read

Code coverage for unit tests and cyclomatic complexity could be extremely useful metrics for your code. They help you to understand if something is not tested at all by unit tests. A combination of these metrics allows you to understand how many unit tests you should implement and what is your code complexity. I’m pretty sure, that everybody agrees that more coverage and less complexity is that you should aim for....

OpenStack Cinder Performance Testing Approach Part 1 of 2

Published at February 13, 2019 ·  8 min read

NOTE: This post was initially written a few years ago, so something could be outdated. What is Cinder High-level Cinder Architecture Cinder contains 3 main components: Cinder API (c-api), Cinder Scheduler (c-sched) and Cinder Volume (c-vol). Cinder Backup is a bit different and will be described later. All Cinder components communicate between each other using RPC protocol. In our case, it’s an AMPQ protocol with RabbitMQ backend. All data is stored in the database (MySQL DB)....

TypeScript vs JavaScript

Published at February 12, 2019 ·  1 min read

TypeScript is a typed superset of JavaScript. I like this language for it type system over “standard” JavaScript. Since it’s just a extension to JavaScript it’s easy to start it. Other type checkers like Flow look less native for me. I prefer to use TypeScript instead of JavaScript because it’s simple to use and doesn’t require a lot of knowledge from the beginning. From the other side, I like JavaScript because it’s a dynamic typed language with allows you to do everything you need....

Some usefeul JavaScript articles (if you didn't use Javascript suring the last 5 years)

Published at February 11, 2019 ·  1 min read

If you like me didn’t write any lines of code in JavaScript during the last 5 years, you will be surprised how it changed. I won’t re-write all existing blog posts and manuals because of two reasons: I’m too lazy for these things and I’m not feeling that I can do it better. I’ll leave the references for two topics I’ve found useful for me: variables declarations and modules. I like MDN, so I’ll use it for references....

Object-oriented Design

Published at February 10, 2019 ·  1 min read

It’s mostly a reminder to myself that it’s a time to read this book again. I the past, when I used C# instead of Python in my daily job, I read a lot of books about object-oriented programming and design, patterns and software architecture. C# like a Java is object-oriented programming language. It means you have to create objects for everything. It seems very heavyweight, so I switched to Python....

I don't believe performance tests results

Published at February 9, 2019 ·  2 min read

Performance testing is one of the most complex and hard types of testing. It’s really hard to make fair tests which fit everyone. There are a lot of things which can impact the measurement result. That’s why I don’t believe any particular test result which I found on the Internet. If you are a software or hardware vendor, it’s a big temptation to test only your strengths. Even if you want to get fair results, you can miss something during the testing or don’t have enough results to see a performance impact....

Why I don't like React

Published at February 8, 2019 ·  2 min read

I wanted to name this post as ‘pros and cons of React’, but I didn’t find good benefits that would push me to use this library. One thing I like that it tries to promote reactive programming, but it does it not really good, IMO. I like Rxjs and I really think that there are a lot of great things which could be borrowed from Rxjs to React to make it more functional....

How to Get Hardware Info in MacOS From CLI

Published at February 7, 2019 ·  1 min read

I know that most MacOS users use GUI instead of CLI but sometimes it’s faster to use CLI. A also prefer command line when I need to copy results: it’s easier to copy text rather than do snapshots even with hotkeys and send it. There are two tools I use to get hardware info: system_profiler and sysctl. I do not like to copy the documentation, so I just drop a few most interesting for me commands:...

Build VM for Devstack

Published at February 6, 2019 ·  2 min read

I posted already about diskimage-builder and Docker integration. This is a follow-up post about it and Everything-as-a-code approach. Since it takes more time than expected (honestly, I didn’t to any estimations but it seems that it could be done faster), I’ll post you some tips I use for my development environment automation even if it’s not a production-ready solution, but it already could be used if somebody needs it. Almost any work with upstream OpenStack starts with VM setup with Devstack and required configuration....

Tags

.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache asp.net asp.net-mvc automation axum babel bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code-review codeplex community config debugger deface dependencies development-environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms fstab gae gcc gerrit git github go google google-app-engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js jsx k8s kharkivpy kiss kombu kubernetes kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac-os macos mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx npm npx offtopic oop open-source open-xml opensource openstack openvswitch os packages paraller-development patterns-practices performance php pika pip plugins pnp podcast popup postgresql profiler project protocols proxy pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search-engine security selenium server shell silverlight socket software-engineering source-control sourcegear-vault sources sql sql-server sql-server-express sqlalchemy ssh static-site sublimetext svg tests tgt tipfy todo tornado typescript uapycon ui uneta unit-tests upgrades usability vim virtualenv visual-studio vitrage vm vue.js vuejs web-development web-server web-service web_root webpack webroot windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги

Recent posts

Go 1.18: new features

Всё будет Kubernetes

2022 Relaunch

Everyday Blogging

I don't want this CI


Archives

2022 (3)
2019 (73)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (36)
2010 (25)
2009 (35)
2008 (32)
2007 (2)