Igor's Blog

We've had our AquaStyle 380 aquarium for some time now and overall it's a great fish tank, however during the warmer months it has one big drawback and that is the CF tube that's used to light it up heats up a fair amount. This makes it difficult to regulate water temperature when it's already hot and of course can and has resulted in fish dying.

I decided to address this issue before summer comes around and ordered some LED strips and a power supply. My idea was to have two white LED strips and one blue to illuminate the tank.

This is the end result...with all the LEDs on (white and blue) and then with just the white LEDs on. I added a switch to control whether the blue was on or off.

IMG_1254.jpg IMG_1255.jpg

Looks great doesn't it?! Lets see what I did to get there.

The standard light enclosure is quite bulky because it houses the CF tube, it's ballast and a bunch of heavy gauge cables. All of this was stripped out and the wires connecting the power switch were desoldered.

IMG_1238.jpg IMG_1239.jpg

Next up was time to make something to hold the LED strips. I used a piece of clear acrylic with holes drilled into it that matched the original screw holes that held the metal CF tube cage in place. This let me space the LED strips evenly across the whole area of the light enclosure.

IMG_1240.jpg IMG_1242.jpg

[Read More and Comment]  

, , , ,

I've finally finished working on the Projects section of my blog and wanted to share the CSS and HTML I used to make it happen. I wanted to achieve the look that Pinterest uses for it's pins pages, where the pins flow down the page. I wanted to allow each pin to be of a different height and not to force other pins to align to it's top/bottom i.e. the gaps between pins should be constant and one pin could span the height of multiple other pins without interference of their layout.

This was the end result...

The CSS/HTML I had to use is a bit messy due to the Blog software I'm using so I put together a simple stand-alone example here: https://github.com/ikromin/misc/blob/master/html/pinterest_columns.html.

Lets look at some HTML.
<div class="columns">
<div class="pin">
<div class="pin_content">First pin content</div>
<div class="pin">
<div class="pin_content">Second pin content</div>

That's pretty straight forward, just a wrapper DIV with class 'columns', this ensures that the content inside is split into columns. Then I have a DIV for each of the 'pins'. The nested DIV with class 'pin_content' is where the actual text/images/etc goes.

[Read More and Comment]  

, , , ,

I've been doing testing with SoapUI testrunner.sh script recently and have come across a very peculiar behaviour. If you run a specific test case, testrunner.sh will not execute the Groovy Setup Script for the test suite that the test case belongs to. However at the same time if you enable response capture and don't specify the test suite, the test suite name will appear as a part of the request/response file name. It seems that SoapUI is still processing the test suite, just not running any of its setup code.

My setup scripts were simple for the purpose of this post, they simply logged a message...
Test Suite -
log.info("== Test Suite Setup ==")
Test Case -
log.info("== Test Case Setup ==")

When I ran the test case with this command:
testrunner.sh -a -s TestSuite1 -c TestCase1 -e https://some_server:8001/context_root/service_uri -r soapui-project.xml

...all I saw in the logs was the message from my test case setup script...
[SoapUITestCaseRunner] Running TestCase [TestCase1]
[log] == Test Case Setup ==
[SoapUITestCaseRunner] Running SoapUI testcase [TestCase1]

The test suite setup is not executed. However if I leave the test case out and just run the test suite as a whole like so:
testrunner.sh -a -s TestSuite1 -e https://some_server:8001/context_root/service_uri -r soapui-project.xml

...the output changed to...
[SoapUITestCaseRunner] Running TestSuite [TestSuite1], runType = SEQUENTIAL
[log] == Test Suite Setup ==
[log] == Test Case Setup ==
[SoapUITestCaseRunner] Running SoapUI testcase [TestCase1]

Both the test suite and test case setup scripts are executed.

[Read More and Comment]  

, , ,

I recently had to analyse the performance of a web service that can be used to upload documents into a database, SoapUI was the natural choice for this but I didn't want to run it from my laptop so I could avoid network transfer times interfering with my results. This meant I had to run SoapUI directly on the server where the web service was running.

SoapUI is available for Linux so at least that was covered, however I had some specific requirements:
  • Send a specific SOAP request
  • Had to run on the command line
  • ID within the SOAP request could not be hard coded (to avoid duplicate errors)

Sounds simple enough, but SoapUI doesn't just let you send arbitrary SOAP requests via the command line like it does in the GUI. I came up with a couple of workarounds to make it work. First I set up my project on my laptop just as I would if I were to do this testing on my laptop directly. I created all my SOAP requests (with their attachments cached). The trick here was to also add a test case for each of the requests that I wanted to run.

Inside my project, I had a SOAP request to upload a 1Mb file, for example. The name of this request doesn't matter so much but should be easy to identify. I created a test suite with the name 'UploadTests' and then added a test case, called 'Upload_1Mb_File' to this suite. The test case had one step, which was to send my request to the web service. The names of the test suite and test case do matter and are used later.

The first two points of my requirements were now covered, which left the last - ID couldn't be hard coded. I needed this since each of my requests would be run multiple times to collect data with some statistical significance. Luckily SoapUI has the ability to specify values via properties. With that I was able to put in a property variable instead of the actual value into my SOAP request. The name of the property I used was 'DocumentId'.

To run my project I used 'testrunner.sh', which comes with SoapUI. This works well enough, but I wasn't happy with its output. I didn't want to see all the logging it produced, but I did want to see the response message that the web service returned. This was a little bit more pain to implement than I have liked though. I came up with a simple script below that executes a particular test case, captures the output of the web service response and then prints out the test summary (which includes timing data that I was after) and the SOAP response.

[Read More and Comment]  

, , , , ,

Igor's Blog

Projects and Sites

My current and past projects
Igor and Elise's Travels
Riverside Expressway Cam
StrFunc() Online
300 George St Blogumentary
Guru JSON-RPC Tester
Extrudifier Object Designer

Recent Blog Posts

Replacing the CF light tube for LEDs in my AquaStyle 380 aquarium

Pinterest style columns example with CSS

Running test case in SoapUI fails to run test suite Groovy Setup Script

Testing using SoapUI property values, SOAP response capture and no GUI

RasPlex and the iPazzPort KP-810-56 Bluetooth Keyboard

jPhotoFrame version 0.3 released with a bunch of cool updates

OpenWeatherMap 2.1 version API is now officially dead

How and when to inline Data URL images into CSS files

Lync (Skype for Business) users showing offline on standard Skype

How to configure the Minify Maven Plugin

Recent Galleries

Fixing a 3D printer extruder that stopped heating up

Easily increase disk space in a Lenovo Ideapad 100S 14" laptop with an M.2 SSD

Making a multi-piece 3D printed solder spool holder stand

DIY indoor apartment grow light wiring

Good Friday Electronics fun Easter Bunny LED PCB Kit IBEABU-01.0

DIY Aurora LED Color Light Cube Chromatography Glass Clock Kit

Building of the Hardwood Tiger Stripe TV Unit

Hardwood Tiger Stripe TV Unit

Kre-O Star Trek miniature kits

New Year's Eve 2015/16 Fireworks Southbank, Brisbane

Top Categories

Blogs I follow

Matt Moores Blog
Georgi's FlatPress Guide
Perplexing Permutations
The Security Sleuth


RAWS Parts Online
Alpha Dimensions Hosting
Kristensen Photography
Feline Vomitus
Travelling Fairy

Blog Posting Activity

Blog Activity