Good morning all!
Here we are, 7th of March 2014; today is the day. I've decided that I'm going to be starting something new, not a project, but a challenge (or rather a series of challenges) - Coding24.
What is Coding24?
Coding24 is a challenge I'm setting myself. It's an umbrella term more than anything and the simple explanation is that each Coding24 challenge is to create something new and useful from scratch within 24 hours of real time.
What's the first challenge?
The first challenge is a big one! I've only recently got to grips with jQuery so I'm really pushing myself here. The challenge is to create a page that loads in another web page and allows you to modify a large number of aspects of the design, from the colours, to how round the corners are, and what fonts are used.
Why is this different from Dreamweaver or other software?
The difference is that this project will be a web page, so you'll only need a modern web browser to be able to change a design. Additionally, instead of requiring you to mess about with the template directly, it'll simply allow you to include a link to a script in the page itself. The script will modify the properties of the various elements on the page you're changing and then load them in when the page loads. Essentially you won't need to have any skills other than being able to use a web browser, and follow some simple instructions for including the script into your page.
Any preparation allowed?
I'm allowing myself time before a challenge to do any necessary preparation, particularly in areas where I'm new or simply unfamiliar. I'll do much research beforehand but all coding and design will be done during the 24 hour coding timescale and that's what'll be filmed.
What's the deal with '24 hours'?
24 hours seemed like a realistic timescale for the sorts of projects that'll be run under Coding24. The caveat is that it doesn't have to be done in a single session. For example I could split it into 2x 12 hour sessions or 4x 6 hour sessions, etc. It seemed like a well rounded timescale. Due to real life constraints and such, I simply can't work the entire challenge into a single 24 hour time period. You could say it's "24 hours of coding and design time".
How will we know that only 24 hours of coding happened?
The entire coding session will be filmed and I've developed a timer application that displays the current time and date, the elapsed time, and the remaining time for the current project. It also has a simple [red|green] bar as a more visual representation of time progress. This timer will be visible throughout the video. The timer can NOT be reset without restarting the timer program, the amount of time is hardcoded to 24 hours. I'm also considering putting in some sort of timestamp based unique ID, so you'll be able to identify that the timer running is the same one. The videos will be time-lapsed so they'll run faster than real time. Any pauses in the timer will be indicated in the video with a short message. Once the timer is finished, a message will popup in the center of the screen indicating this.
What's the reward for completing on time?
There's no reward for completing it other than knowing I did something fantastic and that I've got something to showcase.
...And, any punishment for failure?
No punishment, other than the videos indicating that I didn't beat the challenge. I won't abandon a project that wasn't completed in time unless I genuinely don't believe it could be done within a reasonable amount of time or there were unexpected happenings that interfered with it.
The big question: Why?
I'm tired of promising projects and not delivering on time. I want to turn coding from 'empty promises' into something where there's an achievable aspect of challenge to them.
Will this be expanded?
It certainly will! At some point in the future, I'll be expanding it to allow 'game playthrough' or game challenges under a 'Gaming24' title. You'll be able to challenge me to complete something within a game within a set time. It won't necessarily be 24 hours timescale, but I'll set a realistic expectation that's still a challenge. For example, if someone says "Defeat Diablo in Diablo 3 on the highest difficulty level", then I'll probably set a timescale of 1 hour for that. If someone says "Playthrough all of Diablo 3 on the highest difficulty", I'll set a longer timescale of around 12 hours for that. Those are just examples. I'll have more details on the '24' series' in the future.
So when does the first challenge begin?
The first challenge hasn't begun as of writing. I likely won't post about when it is starting as time is of the essence. It'll be starting in the next day or 2, but I've got a lot of preparation to do. It's an incredibly complex project in an area I'm relatively new to this specific area, not to mention the idea itself is pretty extravagant. I've got a lot to figure out so I want to make sure I get it right the first time around.
When will the first challenge end?
I don't know when it'll end. There'll only be 24 hours of coding and/or design involved but it could end several days after it's started.
Good evening all!
I'm sure many of you are wondering what the status is with projects and updates. I must apologize that it's been silent on that matter for a few weeks now. It's been a month since VTemp 3 Revision 1 was released and it's been one helluva month for me. There's been some changes at work (not to mention it's annual billing so it's non-stop work), I've had gaming videos to try and keep up with, and a few requests that had to take priority.
Fortunately, as part of these requests, I've actually managed to investigate where to take VTemp for the next revision and I'm extremely pleased to be able to showcase some of that today! Without further ado, I'm here to show off 'VTemp on the web'. This has been a project I've had in planning for a long time but only recently have I been able to actually get around to it. It's essentially a completely dynamic web-based display for VTemp data! It's completely API powered and uses some clever jQuery and PHP code behind the scenes.
You may be able to see that it's updating live. The information there is pulled live from the API and the data is submitted live from my system. As I said, some code wizardry meant it was possible to make it all seamless and dynamically update. My plan is to build a full web interface to go along with VTemp but I'll still be building a dedicated high-performance mobile client that won't rely on HTML. With what I learnt from building this, I'm also going to be expanding the website to include a whole load more options. I don't have any details just yet but I'll hopefully be able to share some more info on that at a future date. I still don't have an ETA for VTemp 3 revision 2 but I've got some new code I need to try out.
Regarding LSAStudio, I'm not sure when the next release will be. I'm currently trying to get the bypass support all sorted out. I'm also hoping to add multi-channel audio support to it allowing you to record different inputs to different channels in a single file. No idea if that'll actually happen but I'll do what I can to try and get it working.
Speaking of MAB, no ETA for that either. I've not started work on it yet and I'm not even sure I will bring it back. I had considered it, but I've got a lot of projects to work on as it is and I'm expecting it to be a busy few weeks ahead.
With all that in mind, watch this space for future updates. It's sure to be a more productive for development in the next few months!
Good evening all!
Following on from the 0.1 release of LSA Studio yesterday, I've made a quite stunning breakthrough in general development. Many of the regulars will know that I use a framework known as 'Firemonkey' for software development. It allows me to create interactive and responsive interfaces as well as 'hybrid components'. It's also cross-platform compatible which means I can take my interfaces across to OSX, iOS and Android (and as always, on Windows). It's a great all-round framework and allows the freedom in design I value so much.
The downside is that because it's cross-platform, it sacrifices some of the features specific to Windows. For example, on Windows, there's a common feature known as 'Messages'. These are what they say they are - messages sent between Windows and software running on the computer. They're used for a great many things and are core to Windows. A good example is that they're used for hotkeys. Unfortunately, Firemonkey doesn't have support for messages, and there's no way to actually add support as a developer. It means our applications have to live as they are and find other equivalents to messages (the only alternatives are notoriously difficult to work with by comparison, don't work reliably, or are simply unsuitable).
VCL, another software framework, does have support for messages. VCL is in fact a Windows-only framework. It's one of the original frameworks that's been around since Windows was in it's infancy in the early 90's. It's continued to evolve with Windows. Unfortunately, it lacks the creative freedom of Firemonkey - there's no animation support by default, and it's aimed more at standard applications with 'boring grey interfaces'.
Earlier this evening, I discovered a development component that allows much more freedom. It's essentially a container that sits inside a VCL application but which allows you to display a Firemonkey form. What this means is that I can have support for messages and thus hotkeys while still having freedom in design. There's a few bugs with it, but having the full functional power of Windows running alongside the powerful UI's I can build with Firemonkey is a fantastic advancement. I can't honestly expect people to use LSA Studio without hotkey recording support.
While I'm on the subject, I'm looking at future options regarding recording and live preview. I want to add 'listen only' support for each input. Let me explain. In order to record audio, you need to have your inputs enabled. If you want to listen to it, you have to listen to every input as well - you can't, say, mute the microphone without it also being muted in the recording, thus using it as a passthrough only for certain channels while still recording isn't possible. I want to fix this in the future version. In fact, I'm likely to add a whole new tab to LSA where you can record all the inputs, but you only have passthrough support for some of them (so you can record game and voice audio while only having passthrough for the game audio). I'm also considering allowing multi-channel output support. This likely won't be true multi-channel support, it'll simply record each input to different files.
I also realized something yesterday - almost no games out there have 'audio output device' choice in settings. WoW and SC2 do for example, but out of 5 or so games I checked on Steam (including Payday 2, XCom:EU, Ace of Spades and Skyrim), not one of them allowed me to choose the output device within game. I even tried to find something manually in the config of XCom:EU but alas there's nothing. I then tried to find an application that'd allow me to set per-application audio output at a Windows level but was disappointed to return empty handed. This got me thinking - perhaps I could create something. I don't quite know the internals of Windows Core Audio and whether or not it'd be possible, but I'm definitely going to be looking into it. Surely it's not impossible. Surely there's a way of remedying this situation.
I'll research and see if I can come up with something. No promises, but it'd be a completely separate application if it is possible.
Good morning all!
I'm pleased to say that I've got a new project ready to show. This project has only taken a few days to put together and was really spur of the moment, but it's quickly reached the point where it can be called version 0.1. The project, known as LSAStudio, is designed with video editors in mind and it's specifically aimed at audio. It allows you to record from up to 2 inputs, apply various EQ and filter settings (e.g. low pass, high pass, amplifier), and output to up to 3 different audio outputs as well as to an MP3 file.
I got the idea after realizing that Shadowplay was limited in this area. For example, I wouldn't be able to listen to music while recording without it also being captured in the output. The idea is that you install a virtual sound device (using something such as the free VB-Audio Virtual Cable software/driver), redirect your game and 'aftermarket' audio there, and then set LSAStudio to record from there on input channel 0. You then set the other input channel to record from your microphone. You then apply your EQ and filters as appropriate, and enable some outputs (or just 1 output if that's your thing). This then allows you to listen to the game while recording, but without having your music captured in the recording (unless you set it to also output to the virtual device).
You can preview both the 'unedited' audio as well as the filtered and edited version in real time, just click the speaker icon in each area to toggle. You can even listen to both at the same time if you want.
There were a few problems I experienced while researching this. First of all, many virtual cables terminate their signal which means you can't listen to it effectively while recording, so you're essentially running blind. Secondly, fine tuning your voice against game audio volume is often frustrating to manage, and in the case of Shadowplay, it's simply not possible -- part of the problem is the simplicity of Shadowplay (which isn't necessarily a bad thing, it just doesn't allow much freedom for advanced users). Being able to preview the sound and set volume of mic and game independently and preview it in real time, with optional effects applied, means that it's no longer a problem.
These were the main reasons for me creating LSAStudio. There's no doubt existing solutions out there, but I wanted something simple and to the point. I didn't want something as encompassing as Audacity, I didn't want something unsuited for this specific task such as Dxtory, but I did want the option of solving the above problems. Adding EQ support and high and low pass filters was just the cherry on top that convinced me to build this project.
If you want to download it, it's now available in the Projects section below. It's taken the place of Heavy Sleeper as I've all but given up on that project. Please be aware this release is still an alpha. There's feedback support available, and as with VTemp 3, the feedback you submit goes directly to me via the API and I'll definitely take feedback on board for future versions.
I should mention that much of the core of LSAStudio uses the fantastic AudioLab components from Boian Mitov. Without these components, this project wouldn't exist. Boian is a man of genius and the components he provides are top notch. On the premise that he offers them free for non-commercial purposes and that I try to be a good guy about this sorta stuff, LSAStudio is free. You should all know me well enough by now to expect that anyway. Credit where credit is due, I'll definitely be looking what else I can make from the components he provides to see if I can bring you guys even more fantastic projects in the future!
Good afternoon all!
As you'll see above, I've now got a new video released. I said they'd be regular and I intend to stick to it. I've got a new series starting next week where I'll be doing a playthrough of XCom: Enemy Unknown. I had planned to start releasing it this week but due to the VTemp update and then illness, I've not been able to get the video edited together. I think it might need refilming as well, so I'll be getting through that later today and into tomorrow and expect to release episode 1 towards the end of next week. I'll probably be putting up a video explaining my plans for the future regarding gaming videos as I've got a few ideas on where to go.
I'm also pleased to announce that with the upcoming Warlords of Draenor beta, I'm going to be bringing back MAB (MoPAndBugget). For the newer visitors who don't know what that is, MAB was a bug reporting tool I released during the Mists of Pandaria beta. It allowed you to fill in details about bugs and then you get the forum-formatted post with all details. I discontinued development on it because not only was the beta over, it wasn't really the most user-friendly application. With the upcoming version, I'm completely rewriting it and making use of the ThoughtCloud API to handle the reporting. The interface of MAB will be improved to separate bug reporting from feature suggestions, and I'll be minimizing the amount of fields wherever possible. I'm also hoping to build an in-game addon to allow collection of relevant data, but I'm not sure if that part will come to fruition as I've not done any LUA scripting for some time now.
The main point is that all reports will be sent to me via the API and then I'll be compiling and submitting them to Blizzard. Rather than having lots of essentially duplicate reports, we'll have more information about an individual issue in a single report. This'll make the developers lives easier and enable them to get the information they need. Of course I'm not expecting a lot of people to actually use MAB. It's unfortunate that most view beta as a 'free preview' and don't report bugs, but I still feel like there's at least something I can do to try and improve the situation.
That's all I've got for you for now. I don't know when VTemp revision 2 will be out yet but I'd estimate a week or so. As you can see I've got a lot to do already but I'm still going to do what I can to get the next revision out asap.
Good evening all!
I'm pleased to announce that revision 1 of VTemp 3 is now available for download: http://www.innuendo-eu.co.uk/PublicResources/AppDev/VTemp/deploy/3000/Revision1/VTemp_3_Rev1.zip
There's a lot of information you need to be aware of with regards to this release, so please ensure you read the below before downloading or using the software!
Patch Notes - VTemp 3.0 Revision 1
This is the first revision of ALPHA software. This means that bugs should be expected and that there are some heavy limitations in place at the moment. All of the code used in it is completely new - nothing was reused.
- Multithreading is only partially implemented and this will be heavily improved in future revisions.
- Only a few metrics are available for monitoring. This is a temporary measure while performance is assessed.
- Feedback and bug reports can be submitted from within VTemp itself - details;
* Click the gear icon in the top right corner to display the options panel
* Wait for VTemp to finish gathering debug information
* Add any comments which are relevant to the bottom text box
* Click the submit button
When a report is submitted, it will be logged with our internal system and allow us to identify the cause and implement the fix or feature.
- Multi-device API integration is not yet available. This will be enabled in a future revision.
- Autoupdate support didn't make it into this revision so stay tuned to the site for details about future updates.
- Multi-CPU and Multi-GPU monitoring is not supported.
* Please note that Multi-CPU is not the same as Multi-core - A single CPU system can have multiple cores.
- OHWM (Open Hardware Monitor) is required for VTemp 3 to function and all files required have been bundled in with the download.
- You may need to manually right-click and run as administrator for it to function. UAC support will be added in a later revision to negate this step.
- Customization support and the rest of the options will be made available in a later revision.
- The main executable to run is "VTemp.exe" - other files are part of OHWM.
- Finally, VTemp is Windows only. It uses methods exclusive to Windows to gather data (but of course mobile monitoring versions for Android are planned).
As stated above, this is Alpha. Even though I've released previous versions of VTemp, this is entirely new. Previous versions used a single library for NVIDIA GPU Monitoring (known as NVAPI), but this new version uses the coveted OHWM software as it's data provider. The code for getting that data is much easier to work with and of course it allows more data to be gathered, but it's more complex to effectively manage all the data. At the moment, that data gathering isn't multithreaded so performance of it will be moderate at best but this will be improved in future versions.
As you'll see if you choose to use this revision, the number of features right now is very limited. The reporting feature was added as a last minute option, and it required me to write a whole new feature into the API (which only took a few hours and will be used in future versions). All the data sent is what's in the text boxes. I do log the IP address it was sent from along with the date and time of submission, and I also log the ID (which is generated on the PAI itself) but no personally identifiable information is collected beyond what you can see in VTemp (which again, is system information).
So, yeah, revision 1 is here! There's some way to go before it get's an official 3.0 non-alpha release, but now is the time to send in suggestions or help me to catch and fix bugs!
Scott is extremely interested in software development, coding, and design. He has spent many late nights writing units and designing interfaces that could only be described as cutting edge. He continually strives to improve the interfaces he creates to allow more data to be shown in the same space without overcrowding. He started creating small applications back in 2005, but it wasn't until late 2011 that he started to focus those efforts and create modern software.
Since then, we can't seem to peel him away from his code.
Scott is an avid PC gamer and has been playing many different genres since around 2003 (though he's no stranger to the console games of the 90's). He's played racers, RPG's and tower defense' in the past but tends to stick with FPS and RTS these days. He enjoys single player, multiplayer, co-op, and even single player VS AI (such as in Starcraft 2). His playstyle is typically one of defensive-cover as opposed to offensive-pushing. However, he will adapt his style as appropriate.
Truthfully, he's not very good at games though.
Scott's lifestyle may be laid back, but he finds that even when he's had almost zero sleep in a night, he'll still be able to get through work and projects with a steady stream of Caffeine. VTemp? Caffeine did that. Boiled? Thank Caffeine for that. ThoughtCloud API? That was a week of Caffeine fueled coding. These cartoon images that Scott created? Yeah, Caffeine, a sharpie, some photo paper and a scanner. Oh, and Photoshop too.
And yet, he can't stand Coffee.