Fancy reactive web solutions on counter example

Some people are fascinated about spreadsheets. This lovely type of software was offered in Apple II computer back in 1979. Every cell could contain either data (text, numbers) or formula. What’s so special about it? Formulas are reactive. And that introduces the idea of reactivity.

Let’s have a look at few examples in some experimental technologies touching this idea.

→ Continue reading

Load Boostrap 4 alpha into Vue.js project

Once upon a time one usually desires to add Bootstrap into one’s project. Adding support for Bootstrap might seem a little hard without understanding Webpack or even despite the understanding. I started working with Vue.js (by the way, it’s great!) using the official webpack template and indeed – I struggled for a few hours.

Thus, I describe foreseen steps for the weary travelers who want Bootstrap-ify their Vue.js project.

EDIT: Look down into comments for current solutions.

→ Continue reading

Java: enforce a single instance of an app

The Console is an app which typical usecase fits within running a single instance. That’s by design. However, we sometimes forget to check whether some the app is waiting for us in the background and try to launch them. That’s when disaster happens. Two consoles placed on top of window and reacting to same hotkey? Cannot be!

Here’s a short story about preventing from having multiple instances of same app made in Java. There’s a note about communication, too.

→ Continue reading

Power of lambda in Xtend

The Console supports multiple tabs. By hitting CTRL+T  combination new tab is opened and auto-named. I decided to name tabs as “Tab 1”, “Tab 2”, etc. However, those tabs can be renamed and moved inbetween so auto-naming need an algorithm. I’ve done similiar operation few times but never done this specific things by using Lambda Expressions in Xtend. I was quite surprised by one small detail.

→ Continue reading

The Console: script management

The biggest feature of my console software is ability to code own “commands” – scripts. It’s supposed to be easy and quick for programmers. I’m not trying to design my own DSL language or make users install some weird packages into system. JavaScript and console API is all you need to know to code your custom scripts.

If one of goals of The Console project is to make easy custom scripting then it’s logical that you need some way to manage your scripts. Putting all scripts in one file or even all scripts in one folder would be a mess. So, how to manage those files? How The Console deals with it?

→ Continue reading

JavaFX: comparison of rich text components

Rich text component is a user interface component that displays text by styling various parts of it differently. Very often Rich Text components are used for editors. An example may be any code editor that supports highlighting. I needed such UI component for my latest application – The Console so now I’ll shortly discuss a comparison between few options:

  • e(fx)clipse Runtime StyledTextArea
  • RichTextFX
  • JavaFX built-in TextFlow
  • JavaFX built-in WebView

→ Continue reading

JavaFX: taskbar-less undecorated window

Applications that are launched in Windows OS are by default listed on taskbar. For a utility software like The Console it is not the case. It shouldn’t pollute our task bar or even tray. It should be available under hotkey and that’s it.

Problem is, JavaFX won’t allow us. Previously presented line  stage.initStyle(StageStyle.UNDECORATED)  gives us undecorated window but collides with stage.initStyle(StageStyle.UTILITY) which makes window’s task not visible in taskbar but window itself is then decorated.

Between workarounds I’ve found a solution. TL;DR initialize window using Swing.

→ Continue reading

Retake on The Console

Some time ago I made this project for Windows OS. It’s usage goes like this: hit CTRL+TILDE and on the top of the screen will open a Quake 3 Arena thingie that’ll enable you to type in some commands. Commands are JavaScript’able and that’s the power of the tool. I did some hacks here and there so I decided to change some techs and remake whole beauty to improve efficiency of use.

→ Continue reading

Beginning with Meteor and AngularJS 1/2 on top of TypeScript

Probably the best starting point for Angular and Meteor combo is website. There’s a neat tutorial for both AngularJS versions – 1.x and 2.0. But it’s still JavaScript and we want TypeScript (because of reasons), right?

What really tormented me was a real usage of TypeScript with Meteor and some quirks about it, as for beginner. Spent some time around it, so I’m going to share the final result.

→ Continue reading

Different Trello every day

Trello. Tasks. I was tired of seeing this blue-ish default color every single day. I know, there’s palette to change a background but I needed something more fancy – since I work with it everyday, it could also look different everyday!

So I made a simple script using Tampermonkey extension under Chrome web browser. On Firefox you could go similiar way with Greasemonkey. → Continue reading

Common code for Singletons using PHP’s traits

I hate singletons. Some say that singletons are not bad, instead “singletonism” is the evil.
I would argue. Anyway, I’ve been working on some common Singleton pattern code in PHP for a particular reason – I had to create common code for two basecodes:

  1. Laravel app using Facades
  2. some other custom API


→ Continue reading

gulp.js is my build system

When I’ve seen Grunt (a build system) I have imagined that it would be awesome to have such setup making my code easy to maintain and optimized production version at the same time. When I tried to create my n-th Gruntfile.js, after some more play with Grunt, I realized that this system didn’t work as well as supposed to. That was the moment I gave a chance to gulp – “the streaming build system”. I’m gonna talk about why and why so much “yes”!

→ Continue reading