Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Jamie Balfour'sPersonal blog

I have been trying to find time to make this video and finally got round to it last week. In this video I take you on a small tour of BalfBlog and explain what it is. I hope you find it useful and interesting.

Click here to watch it.

balfblog
update
nutshell
description
features
video

I've finally brought JSON support to ZPE. 

ZPE 1.5.0 will bring JSON support and will also focus on adding XML parsing tools to the mix. Currently version 1.5.0 uses the GSON library to add JSON parsing capabilities but I do intend to replace it with my own JSON parsing application at some point, since GSON brings the size of ZPE up to 500KB from just 300KB and I can't justify this. However, the change will only be a back end change when it comes and all applications will perform the same way if they are written to use the JSON functions currently provided. Consider GSON a placeholder.

Here's a small sample that takes the JSON from my own http://code.jamiebalfour.scot/balfblog/info.json file that I use to share updates to BalfBlog:

ZenLang
$json_string = '[ {"name" : "BalfBlog", "version" : "2.2.1", "version_name" : "Klebb", "last_update" : "12-2016" } ]'
$map = json_to_map($json_string)
$name = $map.get("name")
print($name)

If we now look at what is output we should get the word BalfBlog. 

gson
json
parse
parsing
engine
zenith
zpe

Working on many projects at once means you get genius ideas every day! Today's post is about the genius idea that came to BalfBar today.

When I say genius, it was actually inspired by my main competition, jQuery SmartMenus. However, my own ideas were used to actually make BalfBar work the way I want it to.

What happened was that I finally got round to adding scrollable menus to BalfBar. In some ways it's pretty sad when layout needs to be done using JavaScript, and I'm more a fan of green code over yellow code (CSS vs JS for those who don't know my naming for CSS and JS). However, the layout is instant, and even on older computers running on older versions of Google Chrome it still runs perfectly fine. My main concern for BalfBar is the amount of work being done in the JavaScript so I am working on removing more of the older features found from earlier versions and working to improve performance and reduce memory overheads generated. 

Scrolling is managed by binding the scrollwheel and some clever stuff to do with absolute position and calculating the distance to the top versus the height of the dropdown. I've also removed the fixed positioning on menu items since there was no need once I figured this out, were are back to absolute positioning (which is great because it works well on all browsers when zoomed).

I believe this concludes all of the main features I wanted in BalfBar and in a way, brings this project to an end, or at least a feature end. Bugs can still be reported to me as usual. 

fixed
absolute
position
menu
update
december

I'm very (to the power of one million) happy to say that after a couple of weeks of not working on ZPE after feeling very despondent about it after spending a long time searching for a bug, I'm glad to say that I have finally fixed it and it only took me a few minutes tonight.

The issue affects all of version 1.4 from version 1.4.2 onward due to the bug being in the LAMP parser. This bug was down to the fact that if a single variable was part of an expression it would attempt to look at the variable as a value, not as an ID. This fix is marked as being crucial to the success of any version of ZPE, so please ensure you do not use version 1.4.5 any longer and update to version 1.5.0. 

There are still things needing done in version 1.5.0 to make it work perfectly, but I'm getting there now.

Note as of tonight, the following needs to considered:

ZenLang
$v = 12
$x = 10
print($x * $v + 12)

This will not give 132 as expected. However, the following will:

ZenLang
print(12 + $x * $v)
print(($x * $v) + 12)

Future versions of ZPE are fixing a lot of these bugs, but I will be adding the Typo system to the next major version of ZPE as well.

I have since fixed this bug and I am testing it with a lot of use cases at the moment. You can try the latest version of ZPE from the Dropbox page and if you find any issues with this please let me know via the contact form on my website.
Posted in Software updates
zpe
engine
zenith
update
december
fix
major
1.5.0

Since the development of JBlogs (now BalfBlog) back in August 2014 began, I have worked tirelessly on making my blogging system flexible for everyone. It matters to me not that it may never get that many users because by developing this I am developing my own skills whilst developing an excellent blogging system I can use on my other websites and future websites without any hassle.

Developing BalfBlog has become so easy, especially due to its MVC design pattern that I have adopted into it. But the development of BalfBlog has not been easy from the start. In fact, when BalfBlog started its core aim was to integrate completely with any website. The way it worked was to integrate both the front end and the backend (or dashboard as it is now known) into any website. Unfortunately, this was a huge job for anyone non-technical to setup and it was too much for me to develop further without any real reason.

After talking with some potential users I got a lot of feedback stating they liked the fact that the front integrates well with any website, but if the backend was complex to develop then they'd rather that the backend was easy to use and if that meant sacrificing integration with the website for a backend then so be it. I followed this feedback and decided to move to my own custom designed Dashboard. This is the Dashboard you can see now if you have trialled or used BalfBlog. 

The development of this new Dashboard allowed me to redesign the whole of the BalfBlog backend to sit comfortably on the object-oriented balfblog.php file that manages all of the main operations of BalfBlog. The redesign also allowed me to develop the backend in a semi-MVC model, which makes the development of BalfBlog so easy. 

However, the purpose of this post is not to talk too much about what makes BalfBlog amazing, but it's to ask what more you'd like to see in a blog. This year, particularly the last two months and this month, there have been a huge number of very useful features come to BalfBlog 2.2 (version Klebb, after Rosa Klebb) that have made BalfBlog exceptionally powerful and useful. The majority of those have focused on the social side of things like integration of OneSignal's API, allowing us to utilise push notifications and social buttons on each post, allowing users to quickly share a post. Unfortunately, I am beginning to run out of ideas for features for BalfBlog. I am looking to my users and readers again for more ideas! Test out my demo version here and let me know what you think by using the contact form on my website.

I will be holding BalfBlog development until the new year, I hope that by then I will have a good idea as to some new features people want to see in the next version. Also, I'd like to know, should I upload BalfBlog to GitHub soon?

balfblog
developer
ideas
suggestions
features

December has been a month about bringing notifications to BalfBlog. This month has brought quite a lot of new features that connect with the users of the blogs. 

First of all I added push notifications towards the end of November, allowing users to quickly subscribe to push notifications. Users can still subscribe by email using the my_blog/subscribe/ URL. On top of this, notification frequency can be changed so you don't spam your followers. 

Secondly, I have finally added social media buttons for sharing. This is completely controlled by BalfBlog, so you don't need to worry. All that you have to do is style the buttons and set them to appear from the settings controls.

Take a look at my blogs to see exactly what has been done.

Posted in BalfBlog
balfblog
update
december
2016
new
features

I am not saying smartwatches are finished, but if you look at the figures they are hugely on the decline. According to one report, only 2.7 million devices were sold in quartile 3 in 2016, with Apple still at the top with 1.1 million shipments. Garmin is the only manufacturer to be actually increasing market share, with Apple being the biggest loser here.

The thing with smartwatches is that most people probably do not need them. This is the main reason behind me not buying one because I could see it becoming something that would never see any use. I understand it saves people time when you get a text because you don't have to reach for your pocket to get your phone, but that just doesn't appeal to me.

Now then, the question is, how much longer will Apple continue to make smartwatches? Sure when Apple Watch 3 comes out it might attract a few million customers, but Apple Watch 2 failed to amaze the world, instead just leaving a disappointed feeling. According to the original report, Apple's Q3 sales have not been great for the Watch, which reinforces the point made by Trusted Reviews about its lack of new features. At the moment, sales of the Apple Watch 2 are more likely to be to new users than original buyers, since the second iteration doesn't add a massive selection of new features, and I guess the same will be the case with the Apple Watch 3. Once everyone owns at least some smartwatch, it will be very difficult to sway them to another one - it's just not like the smartphone market.

Posted in Tech news
smart
watch
apple
fail
sales

BalfBlog now features a built in 'related posts' tool. Nothing needs to be changed to have this in an existing blog other than one setting needing changed to enable it. This new feature makes it even easier to generate your own related posts section than I had done before. Simply turning the toggle to on will then make BalfBlog auto generate this after each post. 

It's a very powerful feature that will help generate more readers for each post.

blog
balf
balfblog
related
posts
cms
content
management
system

ZPE 1.5.0 is finally just about ready. The main changes in this version focus on backend (compiler) side things. In particular, the way in which the return function is compiled, evaluated and allocated a byte code has completely changed. For a start, it is no longer considered as a function but as an actual language token. This means that it is also allocated a byte code when translated to byte codes.

As well as this, recursion has been made more efficient than before and the call stack has been expanded. Overall, this is the best release of ZPE to date. I hope you find it useful too.

Unfortunately this update will be delayed due to circumstances to do with my job. I expect to release this version once things calm down again, maybe into the new year.
zpe
engine
zenith
update
november

Today I finished the backend of BalfBlog polls. You can now make polls straight from the dashboard.

It's easy enough to create polls from the BalfBlog dashboard, but it is my intention to make it even easier in the future. 

For now, you can simply insert the information at the end of a post in the Poll section. Options should be one per line and should not contain the new line character. Polls will then be generated automatically.

As well as this, I am working to change the system in which users who do not have .htaccess or web.config support (Apache or IIS servers) would utilise the system.What this means is that instead of accessing posts through /posts/post-name you would access the post through some URL parameters like ?nme=post-name. This will make it more flexible but it is not the only way in which these users will be able to access the pages. I will be trying it out on my own IIS web server soon and will keep everyone up to date on this.

Powered by DASH 2.0