RSSAmplifier

Blog

Vincents Random Waffle

vincentsanders.blogspot.comRSS feed ↗25 posts

Latest posts

Bee to the blossom, moth to the flame; Each to his passion; what's in a name?

I like the sentiment of Helen Hunt Jackson in that quote and it generally applies double for computer system names. However I like to think when I named the first NetSurf VM host server phoenix fourteen years ago I captured the nature of its continuous cycle of replacement. We have been very fortunate to receive a donated server to replace the previous every few years and the very generous folks…

Twice and thrice over, as they say, good is it to repeat and review what is good.

Three years ago I wrote about using the AFL fuzzer to find bugs in several NetSurf libraries. I have repeated this exercise a couple of times since then and thought I would summarise what I found with my latest run. I started by downloading the latest version of AFL (2.52b) and compiling it. This went as smoothly as one could hope for and I experienced no issues although having done this several…

We can make it better than it was. Better...stronger...faster.

It is not a novel observation that computers have become so powerful that a reasonably recent system has a relatively long life before obsolescence. This is in stark contrast to the period between the nineties and the teens where it was not uncommon for users with even moderate needs from their computers to upgrade every few years. This upgrade cycle was mainly driven by huge advances in…

A very productive weekend

I just hosted a NetSurf Developer weekend which is an opportunity for us to meet up and make use of all the benefits of working together. We find the ability to plan work and discuss solutions without loosing the nuances of body language generally results in better outcomes for the project. Due to other commitments on our time the group has not been able to do more than basic maintenance…

All i wanted to do is check an error code

I was feeling a little under the weather last week and did not have enough concentration to work on developing a new NetSurf feature as I had planned. Instead I decided to look at a random bug from our worryingly large collection. This lead me to consider the HTML form submission function at which point it was " can open, worms everywhere ". The code in question has a fairly simple job to explain:…

The brain is a wonderful organ; it starts working the moment you get up in the morning and does not stop until you get into the office.

I fear that I may have worked in a similar office environment to Robert Frost . Certainly his description is familiar to those of us who have been subjected to modern " open plan " offices. Such settings may work for some types of job but for myself, as a programmer, it has a huge negative effect. When I decided to move on from my previous job my new position allowed me to work remotely. I have…

Irony is the hygiene of the mind

While Elizabeth Bibesco might well be right about the mind software cleanliness requires a different approach. Previously I have written about code smells which give a programmer hints where to clean up source code. A different technique, which has recently become readily available, is using tool-chain based instrumentation to perform run time analysis. At a recent NetSurf developer weekend…

You can't make a silk purse from a sow's ear

I needed a small Ethernet network switch in my office so went to my pile of devices and selected an old Dell PowerConnect 2724 from the stack. This seemed the best candidate as the others were intended for data centre use and known to be very noisy. I installed it into place and immediately ran into a problem, the switch was not quiet enough, in fact I could not concentrate at all with it turned…

A rose by any other name would smell as sweet

Often I end up dealing with code that works but might not be of the highest quality. While quality is subjective I like to use the idea of "code smell" to convey what I mean, these are a list of indicators that, in total, help to identify code that might benefit from some improvement. Such smells may include: Complex code lacking comments on intended operation Code lacking API documentation…

The minority yields to the majority!

Deng Xiaoping (who succeeded Mao) expounded this view and obviously did not depend on a minority to succeed. In open source software projects we often find ourselves implementing features of interest to a minority of users to keep our software relevant to a larger audience. As previously mentioned I contribute to the NetSurf project and the browser natively supports numerous toolkits for numerous…

Rabbit of Caerbannog

Subsequent to my previous use of American Fuzzy Lop (AFL ) on the NetSurf bitmap image library I applied it to the gif library which, after fixing the test runner, failed to produce any crashes but did result in a better test corpus improving coverage above 90% I then turned my attention to the SVG processing library . This was different to the bitmap libraries in that it required parsing a much…

The pine stays green in winter... wisdom in hardship.

In December 2015 I saw the kickstarter for the Pine64 . The project seemed to have a viable hardware design and after my experience with the hikey I decided it could not be a great deal worse. The system I acquired comprises of: Quad core Allwinner A64 processor clocked at 1.2GHz 2 Gigabytes of DDR3 memory Gigabit Ethernet two 480Mbit USB 2.0 ports HDMI type A micro SD card for storage. Hardware…

Paul Hollywood and the pistoris stone

There has been a great deal of comment among my friends recently about a particularly British cookery program called " The Great British Bake Off ". There has been some controversy as the program is moving from the BBC to a commercial broadcaster. Part of this discussion comes from all the presenters, excepting Paul Hollywood, declining to sign with the new broadcaster and partly because of…

I'll huff, and I'll puff, and I'll blow your house in

Sometimes it really helps to have a different view on a problem and after my recent writings on my Public Suffix List (PSL) library I was fortunate to receive a suggestion from my friend Enrico Zini . I had asked for suggestions on reducing the size of the library further and Enrico simply suggested Huffman coding . This was a technique I had learned about long ago in connection with data…

If I see an ending, I can work backward.

Now while I am sure Arthur Miller was referring to writing a play when he said those words they have an oddly appropriate resonance for my topic. In the early nineties Lou Montulli applied the idea of magic cookies to HTTP to make the web stateful, I imagine he had no idea of the issues he was going to introduce for the future. Like most of the web technology it was a solution to an immediate…

Down the rabbit hole

My descent began with a user reporting a bug and I fear I am still on my way down. The bug was simple enough, a windows bitmap file caused NetSurf to crash. Pretty quickly this was tracked down to the libnsbmp library attempting to decode the file. As to why we have a heavily used library for bitmaps? I am afraid they are part of every icon file and many websites still have favicons using that…

I changed my mind, Erase and rewind

My recent rack design turned out to simply not be practical. It did not hold all the SBC I needed it to and most troubling accessing connectors was impractical. I was forced to remove the enclosure from the rack and go back to piles of SBC on a shelf. This sent me back to the beginning of the design process. The requirement for easy access to connectors had been compromised on in my first solution…

Hope is tomorrow's veneer over today's disappointment.

Recently I have been very hopeful about the 96boards Hikey SBC and as Evan Esar predicted I have therefore been very disappointed. I was given a Hikey after a Linaro connect event some time ago by another developer who could not get the system working usefully and this is the tale of what followed. The Standard Design This board design was presented as Linaro creating a standard for the 64bit…

Stack 'em, pack 'em and rack 'em.

As you may be aware I have a bit of a problem with Single Board Computers in that I have a lot of them. Keeping them organised has turned into a bit of a problem. I designed clip cases for many of these systems giving me a higher storage density on my rack shelves and built a power supply to reduce the cabling complexity. These helped but I still ended up with a cluttered shelf full of SBC. I…

Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.

It seems Scott Adams insights sometimes reach beyond his disturbingly accurate satire. I have written before about my iterative approach to designing the things I make. such as my attempts at furniture and more recently enclosures for various projects. In the workshop today I had a selection of freshly laser cut.completed cases for several single board computers out on the desk. I was asked by a…

Ampere was the Newton of Electricity.

I think Maxwell was probably right, certainly the unit of current Ampere gives his name to has been a concern of mine recently. Regular readers may have possibly noticed my unhealthy obsession with single board computers . I have recently rehomed all the systems into my rack which threw up a small issue of powering them all. I had been using an ad-hoc selection of USB wall warts and adapters but…

The only pleasure I get from moving house is stumbling across books I had forgotton I owned

I have to agree with John Burnside on that statement, after having recently moved house again rediscovering our book collection has been a salve for an otherwise exhausting undertaking. I returned to Cambridge four years ago, initially on my own and then subsequently the family moved down to be with me. We rented a house but, with two growing teenagers, the accommodation was becoming a little…

I said it was wired like a Christmas tree

I have recently acquired a 27U high 19 inch rack in which I hope to consolidate all the computing systems in my home that do not interact well with humans. My main issue is that modern systems are just plain noisy, often with multiple small fans whining away. I have worked to reduce this noise by using quieter components as replacements but in the end it is simply better to be able to put these…

HTTP to screen

I recently presented a talk at the Debian miniconf in Cambridge . This was a new talk explaining what goes on in a web browser to get a web page on screen. The presentation was filmed and my slides are also available. I think it went over pretty well despite the venues lighting adding a strobe ambiance to part of proceedings. I thought the conference was a great success overall and enjoyed…

I am not a number I am a free man

Once more the NetSurf developers tried to escape from a mysterious village by writing web browser code. The sixth developer workshop was an opportunity for us to gather together in person to contribute to NetSurf. We were hosted by Codethink in their Manchester offices which provided a comfortable and pleasant space to work in. Four developers managed to attend in person from around the UK:…