Posts

Showing posts with the label General

Printed Books and Magazines.

A few years back it looked like physical books might be dying out, except for perhaps coffee table style of books. Everything seemed to be moving to digital. Part of me was sad and part was happy. There are obvious advantages to digital books and looking back I think the books I was reading at the time lent themselves to it. I seemed to be on a spree of reading technical books about technologies that were evolving rapidly. The information had a limited lifespan and on the occasion I did buy a physical book a few years on I was throwing the book away. Thankfully I realized this is not the best way to learn, honestly I am not sure why I slipped into the pattern. I know I was busy at work and perhaps reading easy tech books was an escape? My equivalent to pulp fiction seems to be pulp tech books. Once I shifted, back, to books about core principles/understanding rather than "how to" I found myself wanting physical books again.  It could sit at my desk for study and transi...

September 2018 Start of Geek Month

September always seem to be my so called geek month for me. August is usually pretty busy so September is a good time to get back into computers. So far this month I have taken the time to learn a little bit more about CMake. That is actually read some tutorials and updated my knowledge to a more modern version of it. I have renewed my knowledge on building things with emscripten and then started to combine the two to start to create a simple little game library in C++. Only a few hundred lines so far but progressing. An of course I have written this blog post. I have not written a blog post for such a long time. On the list this month is getting opengl/webgl working with the game engine and a few other small things on the TODO list. After that I am not sure, I think I make take a look at the programming language Zig as it has been on my watch list for a while. I have spent a bit of time with Rust this year and enjoyed some parts of it but am happy to wait a little longer for the Eco s...

Ending the month of "geek"

So it has been a fairly busy month for me. I am writing this a little early as I expect to be busy with none tech stuff this week. The month of “geek” is nearly over. That is the month where I just investigated whatever I wanted. I think it was a response to have kept myself quite focused the past few months. In the last post I mentioned I would be setting up a few scripts to automate as much as possible in my day to day computer usage at home. This actually only took a couple of evenings and do I wish I had done it before. Certainly paying dividends. The other task I wanted to do was take a look at Rust. I love learning programming language and was slightly worried I might loose the project based focus I am trying to build. My limited knowledge of rust also indicated that it might actually be a good tool to use for coding projects. It seemed to be ticking all the boxes. I wrote my first medium article about it here . About a week ago I decided to not use it...

Practice game 2 - called finished.

So I called practice game 2 finished. This was the space invader clone I was working on. I say called as it wasn't really finished. I had a few game enhancements to do and a reasonable amount of polish to add. I hadn't added support for game controllers, sound effects,  or building for the web. I did add an entity system, bitmap graphics, animations and improved the event system. Build times where pretty quick full rebuild less than a second. The need for graphics meant learning a little aseprite along with writing a script for packing together the results onto a sprite sheet. The animations where described in a text file. I would like to put all game constants in a text file and have them updated whenever the file is saved. There is a ton of other little improvements to be  had. While I could have hacked together a space invader clone very quickly, the goal of practice it to learn and improve. Hence some experimentation and trying to do things in a way  that coul...

The month that was June 2017

And I am back. I have been bouncing around some what in where I put things in terms of longer form blog posts. So now I bounce back to one of my old blogs. So to update I am sort into programming in C at the moment. I have been working on a mini interpreter. Really it comes about from a curious thought. How much of a program can I write in C that a full rebuild takes at most 250 milliseconds. That is the duration it takes for a C++ hello world program, using std::iostream, to compile and link. At the moment the interpreter is really only at the features of a calculator and takes about 80 milliseconds to build. I know it is a pretty weird thing to do but curiosity got the better of me. This month I have also started to spend a reasonable of time practicing drawing. I discovered http://www.drawabox.com and have been doing some of the exercises there. So far my ability to draw a box has improved. If I am honest, at certain times, I find the grind of practicing a little boring....

A Rambling February Post

Yep it would be fair to say I have taken a bit of an unintentional break from blogging. Well more of an unintentional break from coding at home which usually leads me to blog. Christmas was a big part of it with that time being  follow by the feeling of being incredibly burnt out. My final living grandparent also died which is not a fun thing. It feels like all of January and a fair bit of February have been a bit unproductive. Usually I find the start of a new year to be a fairly productive time in terms of home projects. My other half thinks I have had some kind of virus that has been slowing me down. Anyway enough negativity I try to not be one of 'those' people :) Well this is definitely a rambling post so I think I will indulge myself and just go with the flow and see where the writing takes me. I quit coffee a week or so ago after realising I was definitely drinking way too much. The headaches were awesome to say the least. I find I tend to sleep a lot when I am going thr...

Attempt to Create a Mini Search Engine...

In my last post I talked a little bit a small web crawler I have been coding in python but I didn't really mention why I was coding other than it would be a fun little hack. Well I have sorted of decided to explore the world of Internet search engines by writing my own one. That is one that will be tiny and simple and generally not very useful. I will probably only ever index a couple of thousand sites but it will search non the less. The current status is I have a simple web crawler the pushes websites into a sqlite database. Another script then converts the HTML to text and splits this text into words. Each word is pushed into another sqlite database along with the url it came from. The second database effectively contains for every word encountered all the web pages it appears on. I then query this database with a single word and it is returns a list of the first 10 entries. I do the query in python code and just output the urls to the shell. I think you could say that is pretty...

Crawling the Web...

I was previously taking a look at the Go programming language and finding it quite an enjoyable experience but I drifted away from it a little bit over the past week or two. I have sort of got interested in writing an Internet crawler and the first thing that became apparent was this was much easier to do using python. It is almost what python was designed for, a network bound task. Now I am sure there are plenty of crawlers out there but I wanted the experience of writing my own, even if it is a little simple. This is the first project where I have decided to use a database, to store the downloaded html obviously. The zero set up of sqlite won me over instantly, while setting up a different database would not be that hard using sqlite let me instantly get to doing the fun stuff like pushing data into it. After a bit of experimentation I decided that I would compress the data before pushing it into the database. With my rather small data set of 10 websites the compression made my datab...

Next step in Clojure

It is pretty clear to me that Clojure is not going to be a language I will get good at in the space of a couple of weeks. Partly because I am taking a relaxed approach to it, sort of enjoying the journey you might say, and partly there is a reasonable amount to learn, not just the language but the tooling. So after reading through "The Joy of Clojure" I am sure I have not understood even half of it, a book to return in at some point in the future. The how to progress next question hit me. I could just start writing code, like the little text adventure I created. This would be immensely enjoyable but I would rapidly fall out of learn Clojure mindset to how can I make this game better and that is not somewhere I want to be at the moment. So I have decided to take a look at the book "Living Clojure". It is simpler than the previous book and presents a series of exercises to get you up to a reasonable level over the period of a number of weeks. Seems like a fun thing to...

Back at last

Yes it has been a long time and yes I have been pretty distracted and I have not been coding much. I am slowly getting the rhythm back. The little bit of coding I am doing using clojure. A long time ago I took a look at it bit but it never really pulled me in. Now the tool set looks a lot more mature. That does mean I have jumped back into the world of emacs. Yes other editors exist but I am trying to not explore all of them. My attitude at the moment is pretty laid back, I have no expectations of becoming a master at clojure or for that matter emacs. The plan is to just enjoy the coding and anything I learn is just a bonus. So far I have written a tiny text adventure and read a couple of books. Reading the books has given me a good overview but none of the sections really sunk in. Why the laid back attitude? Well apart from the usual Summer business I also was training for a black belt. So the past few months have been pretty intense. Now I would like a few months to decompress...

Site redesign

Well the newly redesigned website for voyagingmind.com is up. It doesn't really look that different and that was kind of the goal... Well the real goal was to make a statically generated website that is really easy to add content to. So easy in fact I can leave the site for six months and just pick up where I was. The leaving it for months at a time is an important part as it means I don't want to have to worry about maintaining something like wordpress which is very easy to use. This led me to using site generators to generate the site. The trouble is each one has its own way of working and if you only touch the site once every six months you are constantly relearning the tool. So I wrote my own very small python script to do exactly what I need. So small in fact it is easy to read it to discover its features. Of course have now optimised for times when I come back to the site after a six month break I will now probably find myself updating the site regularly...

Long time.

Wow long time no post, I have actually been quite busy. For starters My primary machine is now Linux. After about 10 years I have finally moved back to owning a desktop and put Linux on it. I have not used Linux for a couple of years but am quite happy to get back to it. Of course I still have Window laptop but most of my time is now spent on my Linux machine. To be honest it took a few installs to get a version of Linux I like, yep ended up with Mint. Installing all the tools and then reinstalling them when I decided this Linux was not for me took some time. But finally I feel like I am heading in the right direction and starting to make progress. As I was in a tinkering phase I decided to have a look at the Julia programming language. I really like it. No where near the complexity of Scala and seems quite fast. I have only written a few trivial programs for the moment. I don’t intend to use it as my workhorse language but I have been looking around for a language to code up...

Progress and IntelliJ

Yay for having a couple of evening free to code over the weekend. It felt good to get two consecutive nights of coding. I have continued to work on my next android app. There were 5 large items left and then I thought of one more. So there are six... That is about to be reduced to 5 as I have nearly completed one of them. I am not planning on allowing much in the way of feature creep. Ok that last paragraph was pretty dry sounding and to be honest fairly dull. What I have actually been doing is working on adding support for multiple projects. Once complete you will be able to have separate to-do lists for different projects, or just work, home, hobby lists. I would say I am about half way though adding this feature. It is something that could probably have been dropped for a first release but I really want to have a reasonably complete app at the release stage. The reason for this is the android market place it now a big place, releasing into a crowded market is quite different t...

Progress on my next Android App

To my surprise I have manged to get my head down a bit tonight and progress on an android app I am working on. Ok it is a pretty basic app To-Do list task manager. I am adding my own slight twist onto it but it is definitely a simple app to write. This is my get back into android app. At the moment I am quite enjoying, I either remember a fair bit about it or when development in android is greatly eased by making use of the internet. I have five major tasks outstanding and as one of them is polishing so I suspect I still have a fair bit of work ahead. It is also looking much better than many android apps that I have written in the past. The Android Studio is looking pretty good at the moment and my productivity is gradually starting to go up. In fact I am enjoying it so much I am actually considering using intelliJ when I code in other languages. The text editing part is pretty nice.

Still Unpacking...

Well we still have about 60% of the boxes from our move left to unpack but it is fair to say we are starting to settle in. The summer of stress, as we now call it and not just because of the house move, is now over. It was having a massive affect on the amount of code I produced at home. I would not say I am anywhere near back up to reasonably productivity levels in part because I don't yet have a place to sneak off to when I want to code. I am now working on a small android app. A To-Do list manager of sorts. Yes this has been covered many time on the market place. It is something I have had in the back of my mind for a while. So I consider it a purging of wanting to write to-do list manager and a get my skills back up to speed with android programming again. I have been using Android Studio as my IDE. Even though it is still a beta it is pretty easy to use. I am not a power user of it but I think I prefer IntelliJ approach to UI design over Eclipse. I reserve the right to c...

Moving Back Into Java

Well it has been a while coming but we have finally moved house. This is the last of the stress factors in our live so gradually we can get back to normal, we except for the having to decorate and fix up a new house. For the most part that means a proper return to programming in my spare time. Oddly I find myself less motivated with JavaScript game development at the moment. I seem to be motivated to create some new android stuff. There are some app ideas floating around in my brain. I am going to go with the flow on this one and shift back to Java/android for a while and see where it ends up. When creating games for android I tend to use LibGDX and that has a route to HTML5 so all is not lost on the web side. I have also been reading a bit about Scala. I looked at it a few years ago and drifted away from it, returning to it now and it seems quite nice. Having written all of about 10 lines in it I am obviously qualified to comment on it. This is really a background task, I was lo...

Stress, Stress and more Stress :)

I think the past couple of weeks of my life can be best described as extremely stressful. We are still attempting to move house as we have for the past 6 months. Combined with a large workload at work and many other minor stresses, none that I actually want to dwell on, I have been feeling pretty burned out. That means I pretty much have not open my laptop for coding in quite a while. My spare time has been taken up with some generic android gaming sessions and generally chilling. To be honest that is starting to get annoying and I am feeling the urge to get on and create again. On the plus side I finished the book "Natural Language Processing With Python". I admit I did not do any of the questions so my take away knowledge is not as great as it could have been. I am not sure what to make of the book, some parts I really enjoyed and others I found less interesting. Perhaps that is an indication about my own interest in the topic rather than a reflection on the actual writ...

Random Mumbling In September

What are blogs for if not for the random mumbling of a confused mind. Yep you are in for one of those posts again. I am actually writing this post in Emacs. Yes I usually use Vim but though a series of events I had the urge to mess with Emacs. I like them both but found Emacs to be RSI inducing and have been settled on vim for some time. However I kind of like how Emacs makes the REPL style of programming so easy where with vim I just can't quite get it set up correctly (on windows), honestly I probably just want to play with Emacs again. So I installed Emacs. The first thing I did was to install Evil. Evil is essentially an clone of vim inside Emacs, ok, it does not quite go that far but you do get all the nice functionality you find in the default vim installation. The joke is Evil finally creates a good text editor for the Emacs operating system. So far I have not put much else onto my Emacs install. I customized Evil a bit to get it closer to my vim set up. I think I wi...

Early September Update

I am part way though a coding up my next article for voyaging mind  but I will admit progress is pretty slow at the moment. This is why has not been many posts here recently. A couple of things are contributing to this. I am training for a half marathon and have been starting to ramp up the miles I run. This has left me pretty knackered out and just wanting to eat and relax. Over the summer I have also flipped to running in the evening. I really enjoy it and at first it did not eat much time. Now that I am heading out for one and a half hour runs it can be quite late before I actually sit down to code. Factor in Taekwondo training two nights a week and suddenly I don't have much time. Summer time is always a strange as the children are at home meaning the things are a whole lot more fluid in what we do. We are much more likely to head out to the beach or take an evening walk somewhere if they don't have to get up for school. We are now heading into autumn so schools ar...

Slow Month.

August is usually a bad month for productivity. This August is not exception. I figure to regain my motivation I should write a meandering post that covers some of my thoughts about stuff. This won't go anywhere in particular and most of my views expressed here will have changed by the time I click publish. If I ever do. The real goal is the get my mind back in to tech stuff. I find a good way to do this is to write long winded posts that lack any real meat and don't really inform! This one is slightly different as it contains the advice that writing long blog posts that no one want really wants to read actually benefits you by helping you get back into the flow. If you stop reading now, you could pretend it was a short post with a small take away item to think about! So you didn't stop. I did warn you. I read the whys guide to ruby. Ruby seems pretty nice but really the book was enjoyable mostly because of the guys writing style. Well recommended if you want a tri...