Own projects

Review/Planning no. 0

Review

The following features have been developed so far:

  • The app reads the structure of given folder
  • It saves the structure to a file
  • It calculates hash of every file
  • Other: Environment configuration (VIM + dotnet core SDK 1.0.1)

Some of the features delivered here does not bring real value i.e. calculating file hash or saving data to a file. This highlights the lack of planning last time. Up till now the app is not useful and does not solve any real problem.

Plannig

The goal of the next iteration is to create functionality to move media files from source folder to target, applying some simple file reorganisation.
Files are organised by file’s creation year and month. Files structure from source location should be preserved. In order to avoid conflicts/errors the target directory must be empty.
The operation must generate some kind of a journal so that the operation can be rolled back or resumed if needed.

Tasks:

  • Generate dry-run file in order to review the moving/organisation process.
    File moving cannot be done on-the-fly. This operation can take a while and it may mess up files structure, so it’s better first to review the file showing suggested list of “source location -> target location” entries.
  • Generate journal file based on source file structure.
    The application should always leave track of every change as it is about moving sensitive data (personal media files). In case of any issues it should be possible to resume the operation or roll it back.
  • Move files to proper folders updating journal.
    Moving physical files from one place to another, based on generated dry-run file.

Currently I do not set the date of next Review/Planning. I expect to have it at latest in 3 weeks but I want to check my velocity first.

Advertisements
Own projects

DSP2017 – What’s your methodology?

Almost three weeks have passed since the start of DSP2017. I cannot say that I feel excited about what I did. Nothing really changed since the last year (which was unsuccessful). Maybe it’s time for a quick recap? Maybe the way I drive my project after-hours is less serious than then one I do at work? Why? Wiseman said: Pay yourself first.

Maybe the thing is that I miss some kind of a process, rules to proceed, methodology? Why not to take the best of what I do and practice at work?

 

Talking about me, from now on I want to introduce some scrum ceremonies into my project. I do want to have iterations. And what’s related I want to have a review session followed by planning for the next iteration. I want to make it public, so expect Review/Planning post every iteration (I guess it will be done bi-weekly but this may change).

 

I feel I need review session to motivate myself. And nothings is a better motivation than making the progress public. Praise if it’s good, sling mud at me if it’s bad. Let it be colorful with clear decision that I want to go on or not.

 

Planing is also crucial for such project. It makes me know what to do next, so I can focus on coding instead of looking for the next thing to do. The worst excuse for not planning is not having time for it. I was about wasting a lot of time for doing stuff which turned out to be low-priority. Not only once.

Expect the first post soon.

Own projects

DSP2017 again – introducing my project

DSP2017 has just begun. Last year I started and sank like Titanic – I was not blogging, left the project. In general, I was finding excuses like having no time because of children etc. That was weak.

If you’re new to the topic – DSP2017 is a competition when in three months (March – May) you have to run OpenSource project and blog about it at least twice a week (ok, once a week you can blog about anything).

I started again because I still want to improve. And I know that if I would not start in this competition, I would not get myself together and not blog/code after hours. Frankly speaking I do not play to stand on the podium but rather kick off my after-hours activity.

Getting back to the topic, here’s my project.
I want to create an application for synchronising media files on my computer with external HDD. It comes with a real need. At home my disks are full of images/movies from camera and phones and I do not know which of these were already moved to external storage (usually they are not moved at all). Files are duplicated, unsorted, unnamed. The mess is growing in opposite to free disk space. I need a tool that could help me (or even clean it up for me). I know that there are different tools on the web, but I tried some of them and I was not satisfied (still if you like any of these tools, please leave a comment). I plan to implement the following features:

  • Building file index within selected location
  • Getting file metadata (like creation date of picture/video)
  • Moving files from local drive to external storage (or from one folder to another)
  • Organising files by dates / other criteria
  • Detecting and cleaning file duplicates
  • Rolling back changes (just in case)

About technologies and interesting stuff:

  • I want to use dotNetCore (newest possible)
  • I want to use new dotnet cli
  • As a console freak I do want it to work in terminal (Text mode). At the same time it must be useful and comfortable so it’s possible that I will implement some console widgets
  • I am a huge fun o vim and I will use it as my default editor. But I must admit that I want to try VSCode as well. I don’t want to use full Visual Studio but it’s not a rule.

Wish me luck!

Own projects

Challenge accepted: starting ‘logcmd’ – a console logs browser

I know that I was not blogging for a while. The only cheap excuse that comes to my mind is having a second job of begin father of two evils angels. I tried hard several times but stuck without publishing. Because of that I realized that I really need some actuation. And then Maciej Aniserowicz came with his “Daj sie poznac 2016” initiative (or maybe I just got tired of the idea that I will stay inproductive, and keep wathing movies every evening till my children go to university).
I was fighting for a long with the same cheap excuse, but won, and joined 10 mins before the registration was to be closed.

The rule is to blog about some pet project, so here is mine: logcmd. It will be a simple tool to read application logs (from file, console and more) and then search, filter, browse. The idea was born out of the need some time ago, when I searched for some online log4net log browser, because I wanted to filter NHibernate queries from the logfile.
As the subject is not very demanding, I decided to add two cool features on top of that. First, it will be done without Visual Studio but in VIM + OmniSharp (soon I’ll try to explain why, who knows, maybe there will be some live-coding video). Second, the tool itself will also be done as a console application. Why? Because of many reasons:
* console seems to be much closer to developer than another Visual-Log-Studio,
* console application can be easily integrated with tmux/tmux-like plugins or used for automation
* console is more portable than desktop
* I fell in love with the way git interacts with the user in command-line
* I don’t like desktop programming. All the desktop applications that I did in the past just seemed ugly to me.

Did I think about other projects? Sure, but there were some ambitious ones, that would probably die unfinished. There was also JavaScript game “Battlecity” and some Commodore 64 project. Who knows, maybe I’ll get back to them in the interim.

When talking about pet projects, I always have one picture in the back of my mind:

pet-project