Well, the update of the ancient Android Studio project worked perfectly and it builds much faster and optimises better. Well made up with that. Even with a few problems with the network in work (someone had switched the router off and not told me), I finally got everything back up and running.
Tonight I have had running umpteen programs including Chrome and Android Studio (twice), as well as a 2 Gb Android emulator with ram to spare. Chuffed with this 12 Gb in my laptop now.
I’ve started an openGL ES project to test out some stuff. I will keep coming back to it because I want to not just play around with shaders, but also bench marking C++ and assembler. I know I’ll be doing this test with both ARM and x86_64. If I can run some math over bitmaps in assembler the old school way then I should be able to produce some decent effects. Especially some of the stuff I used to write on the Amiga in assembler.
Plans, plans… Fingers crossed I can stick to a night time routine and start getting some stuff done to showcase. At the moment I get home from work and get my weights and exercises done. Then I have my tea and watch an hour worth of TV. And then I try and chill out on my laptop. This chill out time trying to get some coding done can be difficult at times with the background noise of conversations that completely throw me off. I might look into getting some noise cancelling headphones.
Well, it’s unlikely this is going to be appreciated, but these last three days I took it up on myself, as a big challenge to convert a very old project in Android Studio and get it working with the latest gradle and CMake things. The project involves the inclusion of the ffmpeg API.
I actually tried this out in work a couple of weeks ago and failed. This time though, I created a new project from the start. The first day was getting all the source files included and getting the directories working in Android Studio. A little bit of googling and I got it.
The next two days were the big headache days. And I’m still unsure whether it is done, but at least it runs on my phone and my tablet.
Two days worth of googling with little to no help and a lot of trial and error, I managed to get the bloody thing to build. This project I had worked on in work for the last year or so. And Android Studio had gone through it’s multitude of changes and upgrades I couldn’t keep up at the time.
Anyway… It’s bed time. I’m up for work in the morning at 6am. Goosed…
Today I found the need to scrap over a weeks worth of coding to start again. These days it’s nothing to me to have to do that because I’ve faced issues with programming many times before. You only have to look at my Previous Projects (especially the procedural level generator) to understand that sometimes when something just isn’t right, you need to scrap it and start again. In the 80’s when I was learning, it was disheartening to have to give up. I was young then. Programming is a massive learning curve for anyone who takes the journey. And what I’ve learned is that sometimes it just doesn’t work. You can’t do anything to fix it. At that point, don’t dwell on it, just take what you need from what has already been done and move on.
As I’ve already mentioned, I’ve had to do that today. Everything was working great, apart from being a tad jumpy, it was working. Almost on to the next stage of the project. Then it would crash. This crash would happen within a certain time frame too, every time, and with the same error. After a few hours of continuous testing and fruitless research into the issue I decided I had to admit defeat. Fortunately though, because of a ‘thread pool’ class which I was using extremely heavily which was causing the problem, the rest of the code is sound and plays nice without bad behaviour. (so far)
So having to ditch, dump, throw away, code, happens… Sometime it’s damn painful…
This all reminds me of the ProcMap project.
It started with a random maze generator which worked great but anyone could do that and I wanted to have corridors and rooms. So came version 2 and 3 which each although the math didn’t work, the ideas where there. The maps didn’t turn out as they should even though they looked genuine. The last version, but not the one I actually wanted to finish on had all the corridors and rooms and sloping dungeons and everything. Including the ability to get coordinates to place other items, including rotations and offset. The math worked perfect in V4. Unfortunately I didn’t get started on V5 because it was going to be a gigantic project that was to create a pseudo random generated planet, complete with landscape, towns, cities, dungeons, life, etc. Yep a big project. I’ve still got a few pieces of paper with plans on upstairs somewhere I hope still.
Yay! Friday finally came around and it’s the evening. I’m currently on a wind down, my body is aching and I’m mentally and physically zapped out. And that’s why I’m writing an update.
Over this last two weeks my website has had a few changes to it, such as https and a theme upgrade, oh and a few speedups which really did need to happen. As mentioned in an earlier blog post, there’s still a couple of minor changes that need doing, but they’re not important at the moment.
My big project I want to get back to work on over this weekend because I’ve kind of left it behind for a while. Most times when I get home from work, I just sit on my backside watching TV with my laptop. So to fix this problem, I transferred all my projects to my laptop. Win win. I already had the router set to divert a test port to this laptop anyway, so with that change in the sources, last night, everything was back up and running, 100% perfect. The mobile app has just two things to finish off, and the media manager will get a rewrite.
I have noticed that the WebGl demos only work on full screen now and not embedded in a frame since the https thingy update. If I get round to it, then I’ll look into it. Web stuff really ain’t my thing, hardcore programming is.
If I get bored over the weekend I might also create a new home hosted website using GWT or CopperLicht even. We’ll see.
Early night for me tonight because it’s been three nights on the trot of hitting the weights bench. I think the peas on my arms are growing.
Until next time.
I’ve still got a few formatting issues with this theme which will be ironed out over time.
I’ve noticed two so far. One with images not stretching to 100% of the posts width. And the other with using the <pre> tags and the line spacing.
Apart from that, I’ll be re-organising the menus so they look a lot better and categories stuff.
I’ve added a new java page about thread pooling which I want to work on a C++ version of it over the next day or two for my personal project.
Catch y’all soon.
Got many plans, and little time to get everything done. The story of my life. he he
Anyways… My journey with the ffmpeg API has now taken another turn. Now I’m travelling the realm of using the AVIOContext. This is because I need to temporarily store a UDP transport stream locally when a pause of playback is required. Before the weekend I was non the wiser of how to do this, but after a good think about it, sorted.
All I need to do is to join the multicast stream manually, grab the packets, buffer them up and when ffmpeg, via the AVIOContext requests data, just send it. Simple. One problem I’ve yet to face is that after a pause, I want to be able to seek through the saved stream. I’ll come to that.
As for my own stuff. I’m kind of halfheartedly putting my feet up. I really need to put my feet up properly actually but I’ll take what I can get.
Nothing to show yet because it would be quite dull, but I’ve got mouse movement and click interaction working in the 3D scene. Basically, if the mouse clicks an object (when it’s not occluded) it will do stuff. And when the mouse hovers over an object. Old school really, but for WebGL, this can demonstrate a lot.
And at this time of night, I’m goosed.
Okay, a new page WebGL Demos has been added. So far these have just been knocked up in CopperCube using the CopperLicht WebGL 3D engine. Very easy to use and for demonstration purposes, good for eye candy shows.
As time goes by I will be showcasing other engines such as LibGdx and Parallax3D.
So keep your eyes peeled…
Faffing about with libGDX tonight, all in Java, I’ve realised yet again how simple it can be setting up sh.. stuff in Java.
I went straight into the 3D scene, two new classes, one as a controller for a demo scene setup and the first scene. The controller just does the timing which does zip at the moment. The second class is the ‘Screen’ which sets up my first screen. Really simple. A camera, a cube and a simple motion.
I had to stop because of the time tonight. I really wanted to faff around with the mesh builder again and custom shaders. Gonna be some time before I produce those screens, but that’s coming up.
At the Sprint24 Hackathon in Liverpool at Ziferblat I learned a lesson fast. My dietary needs and health come first over trying to do what everyone else is doing.
I’d already prepared myself by taking the necessary tablets with me in case of a minor hiccup, ie they had normal milk. But this wasn’t enough.
The team I was with at first had a great web interface designer and had no problems knocking up pages for the challenge we took. Two drinks of coffee and a smidgen of a dash of milk. One tablet to counter.
A few hours in and I was on my own. At that point I’d had two cans of fizzy ‘zero’ cans of pop. During the second can I took another tablet. I wasn’t feeling too good.
Whilst I was on my own and feeling rough on the inside, I starting to feel like I wasn’t getting anywhere, when one of the organisers came over. I explained my team had gone and that I had reservations as to whether they would be back, which they had told me would be tomorrow morning. This was about 4pm’ish. The organiser, I can’t remember his name but remember what he looked like, said he would hook me up with another team.
Very shortly after I was hooked up with another team and paired with the youngest of the team. A very smart lad he was and understood a hell of a lot. And a surprisingly enough, a very quick learner. We got on with investigating the challenge.
And then, pizza turned up. Which was my downfall. It was only one slice of pizza that took everything out of me.
Because of what the effects where to my body, and with everyone around me snacking continuously, I couldn’t speak out about what it was. Although the truth I did say, was I was zapped of energy and getting tired.
I also know that there’s alcoholic drinks I can’t have. One of them being lager. I must’ve had two before I realised for certain that there was no coming back from this. Two light beers would normally have no effect me. This was all adding up
All I did, was keep smiling the best I could. My brain had shut down on me and my normal mode of focus was shot too hell. Try as I did, I couldn’t get my body from feeling so rough and lethargic. I had to eventually tell the team I was calling it a day and going home. I’d rather tell them that rather than say I would be back in the morning and not turn up.
The day before, the missus had bought in some stuff that she would have prepared for me for this event, but I turned it down. These were all on my safe to eat and drink list and would’ve lasted more than two days.
Lesson: It’s not good for your health trying to fit in. Especially when you cannot eat or drink what’s to hand, when there’s a supermarket just down the road.
It’s 2am, I’m at home and I’ve not started to recover yet.
Good luck to all at Ziferblat Sprint24 Hackathon