Ok, I noticed quite a few projects are on Github, so I got one repo also. I'm not committing there anything any time soon, but better to be prepared and start to learn what I need to know.
One struggle was to choose the license. I pushed my selfish me further away and chose the shortest one - MIT License (aka X11 License), which is the most permissive.
Then I understood I will need some "header" in my source code files, so I constructed two simple lines of code, one is copyright and license info, second is short description of the file. I'm going to comment scripts quite well (as I did in recent past), but I also think the code should be self-explanatory, so I'll try to stay modest.
Currently I feel this step as yet another way how to send a word about QetriX, but maybe it will catch on and somebody will rub the code into my face, which will ultimately make me a better programmer :)
On the other hand I'm little worried people may have problems with my way of coding. My programming is mostly "just enough". I don't build vast object schemas and in PHP I still prefer the old function way, because it's faster and less greedy for resources. I'm aware, that bloated code is mostly but fixes, but IMO less code means less things could go wrong.
Then, I don't comply to wide used coding standards, because on QetriX I'm trying to unify coding across various platforms, so I did quite a research on coding standards for particular languages, chose the most used and sticked with it. This includes using double quotes in PHP for strings, even if personally I prefer single quotes - just because in other languages single quotes are for char datetype, while double quotes are for strings.
Friday, January 31, 2014
Monday, December 9, 2013
Sliky Quiky
Well, I got many brilliant ideas for Quiky past few days. Most of them stays as TODO, to release first public version as soon as possible, but among them I got few killer features I can't wait to implement.
I tried Quiky in real life use case yesterday. I attended yet another great event, DevFest Praha 2013 by GUG CZ, and some of my notes I made using Quiky. Right there I figured out one of the killer features I don't want to write about, because I've never seen such feature anywhere else.
I also found I quite miss spell check, because I tend to use other text editors for this. Therefore I implemented NHunspell, but shortly after that I realized it would be nice to underline misspelled words. Quiky used plain multiline TextBox, which can't underline anything. I already had RichTextBox, but for future WYSIWYG only. After about a second of thinking about it I got rid of the plain TextBox and kept soloely the RichTextBox.
I was quite excited about the "switcheroo", because I didn't like the fact I have two different components for the same purpose.
Web side also got a lot of attention in the last few days. I focused on security and made few independent layers, especially when accessed from outside using Qiky API (like Quiky app).
My goal is to unify GUI for all platforms. Web will be responsive and it's not just for mobile usage. I still like Firefox's concept of a Sidebar, so I may be using Quiky there as well.
I tried Quiky in real life use case yesterday. I attended yet another great event, DevFest Praha 2013 by GUG CZ, and some of my notes I made using Quiky. Right there I figured out one of the killer features I don't want to write about, because I've never seen such feature anywhere else.
I also found I quite miss spell check, because I tend to use other text editors for this. Therefore I implemented NHunspell, but shortly after that I realized it would be nice to underline misspelled words. Quiky used plain multiline TextBox, which can't underline anything. I already had RichTextBox, but for future WYSIWYG only. After about a second of thinking about it I got rid of the plain TextBox and kept soloely the RichTextBox.
I was quite excited about the "switcheroo", because I didn't like the fact I have two different components for the same purpose.
Web side also got a lot of attention in the last few days. I focused on security and made few independent layers, especially when accessed from outside using Qiky API (like Quiky app).
My goal is to unify GUI for all platforms. Web will be responsive and it's not just for mobile usage. I still like Firefox's concept of a Sidebar, so I may be using Quiky there as well.
Monday, November 18, 2013
Staying low is darn hard
With Quiky I'm once again trapped in a feature loop. You know, you came up with something small and easy to make and during development you found many other (easy to make) features, that ultimately take much more time than the original idea combined. Or you figure out you gonna need this, and this, and that, so the original idea wasn't easy to make at all. That's what happened to me.
The PoC (Proof of Concept) was one evening stuff, but to make a product out of it it would need MUCH more grooming. Like settings form. I hate settings forms, it's always pain in the ass, because there's so much to do with uncertain result (of usage), but if you miss anything, you'll find an user, who will request that.
I had to stop coding, when I started playing with RichTextBox for WYSIWYG. I realized this is so much off the former road and that I need to go back to what's important.
Or you have a functionality on few lines of code, beautiful. But then it's time to sanitize all inputs, make some exception handling, value checking and other stuff, preventing the block of code from making unwanted stuff, suddenly you have a couple of new methods and from three lines are three screens of code.
Besides desktop app (which I can see I'll be reengineering in WPF, sooner or later) I made a nice progress with web app. Unfortunately I realized I'll have to redo the master code, because if I want the script to be cached, it can't show any content and therefore everything has to be made by XHR (AJAX). And it's harder I can't just delete the old code, because I want to preserve the original functionality for the improbable occasion some users may have JavaScript turned off. But I always took care of such events and this will be no exception.
Beacuse Quiky is getting serious, I registered a .net domain and created Facebook + Twitter pages.
The PoC (Proof of Concept) was one evening stuff, but to make a product out of it it would need MUCH more grooming. Like settings form. I hate settings forms, it's always pain in the ass, because there's so much to do with uncertain result (of usage), but if you miss anything, you'll find an user, who will request that.
I had to stop coding, when I started playing with RichTextBox for WYSIWYG. I realized this is so much off the former road and that I need to go back to what's important.
Or you have a functionality on few lines of code, beautiful. But then it's time to sanitize all inputs, make some exception handling, value checking and other stuff, preventing the block of code from making unwanted stuff, suddenly you have a couple of new methods and from three lines are three screens of code.
Besides desktop app (which I can see I'll be reengineering in WPF, sooner or later) I made a nice progress with web app. Unfortunately I realized I'll have to redo the master code, because if I want the script to be cached, it can't show any content and therefore everything has to be made by XHR (AJAX). And it's harder I can't just delete the old code, because I want to preserve the original functionality for the improbable occasion some users may have JavaScript turned off. But I always took care of such events and this will be no exception.
Beacuse Quiky is getting serious, I registered a .net domain and created Facebook + Twitter pages.
Thursday, November 14, 2013
Quiky
It has been a busy (and successful) month. First, I spent 2 fabulous weeks in Eastern and Southern Asia, exploring crown jewels of that area.
Right after that I attended Microsoft conference "MS Fest", where I've been introduced to MonoGame - an open source implementation of Microsoft XNA platform for easier game development. Because I have few games in mind for many years (and crashed'n'burned many times trying to make them come to life), I immediately tried to create the most ingenious of them. Thanks to wonderful YouTube tutorials from Coding Made Easy it was even easier.
I used Evernote to track all my ideas, but the lag between mobile and desktop sync was kind of frustrating. I had to deal with conflicts all the time and I got an idea to try (again) to make offline wiki editor for desktop. It supposed to be a tool for quick wiki editing, so I decided to call it "Quiky" (quick + wiki). To my surprise, quiky.net domain was available, so I took it.
For QetriX I created nice wiki parser in PHP in the past and it wasn't hard to convert the code into C#. I really love this language and .NET platform, I have to say.
After about 12 hrs the core stuff was done and I really like what I did. I made few design flaws here and there, but it wasn't hard to get rid of them. Application can work with multiple wikis, represented by a directory. Each page has it's name as filename and it's contents in the text file. When saved, a HTML file is generated thanks to my parser, and displayed in WebBrowser component.
OK, that's the desktop part. What about a mobile app? Because I have an iPhone and I don't want to jailbreak it, it was a no-go for me. Therefore I decided to try HTML5 with localStorage for offline situations.
I started slow and low, but quickly expanded into much more complex script. My main target was low data footprint for network transfers and I like to deal with such stuff (optimizations for speed and resources).
My goal was to create a web version of that desktop app, plus extend functionalities of the app to communicate with the web app. Web app will be able to merge changes line-by-line (I already have a working solution in my drawer, it was one of my little challenges :)
It will need few more hours and hours of testing, but I can feel I'm on right track there. I'm still thinking how to tie it into QetriX and the same applies for the game. I want it all to be into single environment.
Oh and the game went south a little bit :) I decided to stay low and make something simple at first, than to add more stuff and make the desired game. Until then, do you remember Tunneler and Atomic Bomberman? ;-)
Right after that I attended Microsoft conference "MS Fest", where I've been introduced to MonoGame - an open source implementation of Microsoft XNA platform for easier game development. Because I have few games in mind for many years (and crashed'n'burned many times trying to make them come to life), I immediately tried to create the most ingenious of them. Thanks to wonderful YouTube tutorials from Coding Made Easy it was even easier.
I used Evernote to track all my ideas, but the lag between mobile and desktop sync was kind of frustrating. I had to deal with conflicts all the time and I got an idea to try (again) to make offline wiki editor for desktop. It supposed to be a tool for quick wiki editing, so I decided to call it "Quiky" (quick + wiki). To my surprise, quiky.net domain was available, so I took it.
For QetriX I created nice wiki parser in PHP in the past and it wasn't hard to convert the code into C#. I really love this language and .NET platform, I have to say.
![]() |
| Quiky for Windows |
OK, that's the desktop part. What about a mobile app? Because I have an iPhone and I don't want to jailbreak it, it was a no-go for me. Therefore I decided to try HTML5 with localStorage for offline situations.
I started slow and low, but quickly expanded into much more complex script. My main target was low data footprint for network transfers and I like to deal with such stuff (optimizations for speed and resources).
My goal was to create a web version of that desktop app, plus extend functionalities of the app to communicate with the web app. Web app will be able to merge changes line-by-line (I already have a working solution in my drawer, it was one of my little challenges :)
It will need few more hours and hours of testing, but I can feel I'm on right track there. I'm still thinking how to tie it into QetriX and the same applies for the game. I want it all to be into single environment.
Oh and the game went south a little bit :) I decided to stay low and make something simple at first, than to add more stuff and make the desired game. Until then, do you remember Tunneler and Atomic Bomberman? ;-)
Subscribe to:
Posts (Atom)
