Welcome

Welcome to my digital home! There are lots of articles you might find helpful buried in this site on topics such as modifying an Alfa Romeo 159, rebuilding a 7 (Robin Hood 2B), not to mention a ton of stuff on technology in general. It's all here somewhere, so use the search function or navigate using the menu structure. if you want to talk, reach out via the contact function, I usually do answer!

Random Post Selection
Build DiaryAfter first getting into the Hoody, I realised that I would have to modify the steering column mounting position as I was just too big for the seating position that had been set by the original builder. Factor in the new seats and the larger steering wheel, and this became pretty critical to me being able to drive it again! The steering wheel mounted to a steel plate hung off a chassis cross member, with a brace bar back to a side chassis rail. Moving it was as simple as drilling some new M10 holes in that mount point a little higher up, and then attacking a lot of metal with a die grinder until I had sufficient clearance to get the column up an inch! A little more leg room. Its often the easiest of changes that have the biggest impact. For instance being able to take your foot off the clutch while turning a corner seemed pretty useful to me 🙂 ready to grind! One issue I found was that due to the mk1 centre clocks, I was unable to engage main beam anymore (left stalk pushed forward), however this is a temporary issue as I intend to design and 3dprint a new stalk that has an extra long bend in the middle to gain me the additional half an inch of clearance I need to get that function back. The future is now! [...]
InfoSecI have seen some comments of late about the psn hack being due to Sony having no firewalls in place and out of date Apache instances. A brief amount of research defuncts this assertion, however, I was genuinely surprised at the level and voracity of the comments around it. Most of which related to people essentially “living and dieing” by their firewalls. This position is ludicrous to say the least, as a firewall is but one , not the be all and end all of security, and in my own personal experience, sometimes, they are simply not up to the task and you need to think outside the box. So here is the problem…… You are designing/running a global gaming platform that is highly latency sensitive, your planning on having all the worlds gamers use your platform and push it to its limits. If you even drop one packet, you could frag someone in game and cause the most heinous flaming you have ever experienced resulting in lost customers for the company, but, it needs to be secure. What next? Believe it or not, I have personally been in this scenario during my time at EA. I had to design, build and deploy the EMEA Online Web & Game Platform, as well as co-develop the global gaming platforms for the wider business. What I can share with you is that firewalls, no matter how big/good/expensive they are suffer 2 problems…. 1) They are a bottle neck into your environment that when you scale up to millions of users, is a problem, and 2) they introduce latency by doing their job. So what are the options? Well on the one hand, you could design around the problem, spend a large amount of cash on the “biggest and best” firewalls money can buy, create smaller firewalled segments and multi-layer your network to cope with the limits of the firewalls perhaps? True, yes you could, but this additional complexity introduces more routing hops and more kit for the packets to flow through, which increases latency & degrades the overall experience for the players. Another option is to not use firewalls….. So what do you do, when you cant put a firewall in place? easy 🙂 All a firewall is doing is a) controlling the flow of IP using an Access Control List & b) looking at the packet for something malicious in it (please note, I am specifically talking about a basic statefull inspection firewall (L3) and not anything extra in the UTM (L7) space, as these add way too much latency to packets for gaming consideration). Given that the firewall is performing these two simple tasks, all you need to do is replicate them elsewhere. Firstly, all your existing network infrastructure can handle the ACL function, easier and faster, and given the packets are already going through this kit, it doesn't add any latency to the path. Next, its all about understanding the attack and being vigilant….. Essentially, if your gonna break into a computer system, you need a few basic components: A Threat Agent (Bad guy with motivation, we will call him Fred) An Attack Vector (Something Bad he cooked up, like an SQL Injection) An Attack Surface (Your infrastructure, applications etc) A vulnerability (Something you missed that matches Fred's attack) So, if Fred needs all these things to line up before he can achieve success, its all about making sure that you minimise your attack surface, and keep it vulnerability free.This is going to mean that you design your environment to be simple and easy to manage, and that you have some solid, well executed vulnerability management programmes in place, typically including real time (or near real time) monitoring of services for , and excellent patching programmes, fully automated. Essentially, you want one system to identify a vulnerability in one of your web services, and tell the other system to patch it. It is possible to do and works well, but your gonna have to clean up the odd system failure, so make sure your system is highly resilient (by definition of the type of environment, it would be anyway). Now, I appreciate that a 0Day is going to pwn you, but guess what, it still would even with the firewall, so don't get all upset about it, just have your CSIRT ready to go and make sure it is well oiled! On that subject, this is one of the key controls you should have anyway, but wont. Your ability to respond to an issue, and appropriately deal with it is what people will observe. It doesn't matter how good you are, how well you have designed something, at some point its all going to hit the fan. The other key control your going to need is monitoring, so you know when you need the CSIRT! You will need to implement full monitoring and alerting for the environment, from availability and security perspectives. You need to know everything, every device is doing at all times, because correlating this information can help you identify attacks in progress before they get anywhere near success. All your kit is already logging issues silently to itself, so your not going to add any extra burden on the environment, and typically, you would create a separate network to handle management traffic to keep it off your primary network anyway, so its not going to impact service delivery. Also, when your talking about the gaming industry, typically, aside from the usual raft of web services running, your talking about very specific, proprietary services running on random ports to facilitate multi player gaming, so your “Threat Agents” are a limited pool of elite gamers, who's typical motivation is not to pwn your systems and steal your data, but is usually limited to 1) administrative control of the game so they can kick who they don't like out, and b) the ability to alter scores and leader board positions! I would like to finish my brief rant/educational spout on a simple truth, firewalls don't make you secure, they make you lazy. [...]
InfoSecI recently was asked by bloomberg to comment on the raft of android malware recently discovered. During that interview I mentioned some concepts around the open vs closed models and wanted to expand on this thinking a little further. As you may know the Google Android platform has been open source since 2008, and as such has a healthy following of developers and an open list of problems that anyone can view and contribute fixes for. Contrary to this, apple IOS has, and most likely always will be closed and the intellectual property of Apple, and therefore is managed by an army of developers working directly for Apple. Other than these two business models being the polar opposites of each other, the devices themselves do share some common ground, an example of which is they are both based on a *nix base and both allow anyone to develop an application for their platform. So which is better, open or closed? Both have equal merits and demerits, but for me the key one we need to consider is the security of the applications. Given a smartphone platform is ultimately a portable computer in your hand that you can transition a significant amount of daily communications to, in any corporate environment you need to be thinking about how you maintain the security of that device. For the purposes of this article I am going to discount all the other major security problems with both platforms and specifically look at the apps. To this end I want to create the abstraction between the platforms and the application environments as people seem to confuse these two and blur the lines, and forget that we aren't talking “open-source” as both platforms are in fact “open-shop”. If your app store is 100% open, as we have seen with Android, anyone can release any app into it without any form of quality control or security audit. This, as we saw, resulted in a number of applications having more functions that the user subscribed to, and left the devices open to abuse from those individuals that would make money from negative actions. In a corporate environment this means that you have got to control what apps get put on the phone, and create a whitelist and policy enforcement system, which as we all know, we cause the end user to get upset as their freedom of choice is restricted. For the general consumer this means that they, at some stage, will likely end up getting literally robbed blind by their smartphone, because, in an open model, there is no one controlling what gets onto their device for them. The other end of the spectrum is of course where we are with Apple. Onerous quality assurance, technical and security checks and numerous caveats to adhere to, before your app even gets into the store. But this conversely reduces the risk to business and the consumer equally. In this model, Apple takes control and responsibility for securing the applications on their platform, and minimising the risk to the user. I of course, still would recommend in any corporate environment the use of policy enforcement and approved applications, but you're at least starting for a better place, and don't need to do a full source code review of every app your planning to use just to make sure it's not a of some kind! So which model is right? To be honest, both have their merits and both have their flaws, but I still, personally, favour Apples approach, to err on the side of caution and ensure that the apps they release are 100% up to the task. Let's face it, developers are known for cutting corners where they can to save a few lines of code, so someone cracking the whip on quality and security can't be all bad now, can it. [...]
GeneralI decided to write this how-to as there are no specific guides on ubuntu 8.04 LTS for the net-4501, and it took a combination of configs from two completely  different approaches from two separate guides to get it all working. I have found that the easiest way to build for the target platform of the Soekris is to make use of the QEMU emulator, freely available in Ubuntu. It lets you perform a typical installation, the way you would do for any other platform so its less confusing. That said, there are a couple of slight differences and gotchas that this how-to will cover. Step 1 – Preparation Aside from a Soekris device you will need a CF card, whatever size you require, I tend to use 8GB or higher as they are quite cheap nowadays and a card reader in your host platform. To perform the installation you will need a host platform running Ubuntu. What ever you have lying around, or a VM will do the trick. Install QEMU on your host platform if its not already installed: sudo apt-get install qemu make a build folder and download the Ubuntu 8.04 LTS x86 Server Release into it from here: mkdir build cd build wget http://releases.ubuntu.com/8.04/ubuntu-8.04.4-server-i386.iso . Once your environment is ready its time to prepare the CF card. As we are going to use QEMU to emulate the platform and allow a typical installation, we dont need to manually create the partitions on the card. All we need to do is ensure that it is 100% empty. Install your CF Card and if it mounts as a partition, unmount it from the command line: umount /dev/sdc  NB: you can determine the device it is detected as by running the dmesg command and noting the device it is assigned. It will likely be sdc or sdd as the card will be seen and used as a SCSI disk device. Now you need to ensure that it has no partitions on it. run fdisk and delete any partitions listed: fdisk /dev/sdc The commands you will need in fdisk are: p = Print partition table d = delete partition (you will be prompted for a number) w = write changes to disk ? = help Step 2 – Installation Now you have a blank CF card your ready to run QEMU and start the install. This is actually very simple as QEMU can be controlled from the command line, so all you actually need to do is type the following command: qemu-system-i386 -m 512 -hda '/dev/sdc' -cdrom 'ubuntu-8.04.4-server-i386.iso' -net nic,vlan=0 -net user,vlan=0 -localtime -no-acpi This will launch a window and present you with the Ubuntu installation program your already familia with. The only notable option within the installation is when prompted to configure your disk layout, use “Guided” without LVM and use the full disk available. if you use LVM it will add an unnecessary overhead and as the net-4501 is a GEODE Processor with 133mhz clock and 64Mb ram, overheads are not ideal. Once it has completed its installation, reboot and allow the newly installed OS to boot up in QEMU once more. Step 3 – Configuration The one drawback I have found with QEMU is that you cannot copy and paste between the host and guests. This is a bit of a bind, but fortunately there are not a lot of configuration changes to make. The first major change we have to make is to swap the kernel for one that does not require PAE extensions. To do this, type the following: sudo apt-get install linux-image-generic Now we can configure the serial port listener using your favourite editor (vi, nano etc.. I prefer vi so will use that in the commands): vi /etc/event.d/ttyS0 start on runlevel 2 start on runlevel 3 start on runlevel 4 start on runlevel 5 stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/getty ttyS0 115200 Next we need to configure grub to use a serial port: vi /boot/grub/menu.1st Somewhere near the top of the file add the following two new lines: serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=5 serial Now, find the line that looks like this: # defoptions=quiet splash and change it to look like thgis (keeping the hash): # defoptions=splash console=ttyS0,115200 Finally we need to load some modules early on or it wont be able to use the CF as a disk to boot from: vi /etc/initramfs-tools/modules Append these lines to the bottom of the file: ext3 ide_generic usb-storage The last thing to do is to force an update of the changes we just made so run the following commands: Update-inintramfs -u update-grub For good measure you can always run: apt-get update && apt-get upgrade but it is optional 🙂 Now all that is needed is to power off the QEMU instance: poweroff and remove the CF card from your host. Step 4 – Finishing up The final thing to do is to sync the baud rate of the Soekris device to the baud rate we have used in the configs. By default the Soekris is set to 19200 baud, but we have used 115200 baud in teh configs to make things a little better to work with. We need to sync these for ease of access later on, so first open up your preferred terminal application and connect to the Soekris at 19200, with no CF card installed. At the boot prompt type: set conspeed 115200 Once this is set, you can power down the Soekris, install the CF card in it and boot it back up. It should boot to a prompt quite happily and your ready to configure your new embedded Ubuntu device however you need 🙂 Enjoy! ——————————- FAQ Section: Q: Why are you using 8.04LTS and not a more recent release? A: As of 10.04, Ubuntu dropped support for all 486 and older style CPU's on the premise that most people would have modern computer systems. This is a deviation from the ethos of Linux in my opinion, but it was their choice to make! I have spent weeks trying to build later versions of Ubuntu on the 4501 platform, and have built custom kernels with the right modules etc, but have NEVER had success. Your welcome to try though 🙂 [...]
RH2B Build DiaryThe original seats in the 2b were a little worse for wear when I bought the car, but I had mistakenly thought that it would be a relatively cheap thing to fix. Little did I know that trimmers charge a small fortune for their skills! In fact, I was being quoted around £200 per seat to have them fixed, and new seats were about £200 per seat! So, well, you know….. I bought some new seats! That said, I wanted to minimise the cost here as I had hemorrhaged way more than I initially budgeted to get it ready for the summer, so I set about some ebay stalking, and after several back and forth's on buying expensive branded, quality seats vs something secondhand and cheap, I found a seller with a new pair of the exact seats that were in the car currently (retro style buckets) but in plain black vinyl. The best part about this find was that the seller was clearly just a regular guy that thought he would get rich selling motorsport parts on ebay but clearly didn't have the roaring success he planned for and was sat on some stock he needed to shift. This presented an opportunity for a cheeky offer! So an offer was made, and accepted, that got me 2 brand new seats for £260 delivered 🙂 #Result! New Seats As part of the change I also wanted to put in new low profile, double lock rails, so that added another £50 to the bill but it was necessary to get the seats fitted in the best possible way. Double lock low profile adjustable rails Once I had modified the rails to fit the bolt pattern of the new seats (nothing is plug and play in the kit car world!) I offered the seat into the car and sat in it for an initial test. This is where my heart sank. I was a good 4 inches over the top of the windscreen at eyeline 🙁 Not an ideal seating position by any means. It turns out these new seats had a 6″ pad in the base that meant I was 4″ higher than the set that came out. This was not going to do, so after several emotional responses from frustration to anger to sadness, I decided there was only one option….. heat a large carving knife up till it was glowing red and trim the foam! Its not that difficult to do as it stands (although i do recommend breathing apparatus as you get very dizzy very quickly!). Just pop the staples off the bottom on one end, remove the foam seat base, heat the knife, slice (like butter) through the foam, then reinstall the foam, glue back on the cover, staple the excess material out of sight and your back in business… all be it a lot lower to the ground! Its not perfect, but I do plan on a major rebuild this winter, and I am likely to be looking for some better / more modern low profile buckets as part of that so this is just for the summer. Once I had the seats ready for install it was onto the floor. I wanted to reinforce the floor where the seats mounted to as the floor had developed flex in one corner of the seat mounting position whcih made the seat seem loose and rock. To solve this I decided to replicate what the builder had already done to reinforce the floor in the front seat mounting location. Essentially adding a 25X25x3mm angle iron from side to side. Again, this was a seasonal fix as come the winter I want to weld in a lowered floor to gain an inch of height inside the cabin. Front (existing) and Rear (new) angle iron reinforcements A purchased a 25x25x3mm 2m length of stainless steel angle iron and cut it to size. I then mounted it on the front edge of the 3mm steel subframe mounts in the rear floor location whcih was the right daytum to provide me a straight line side to side I could use as the rear seat mount. After measuring, cutting, drilling several holes, painting and bolting it all in with M8 stainless bolts, I had the perfect strengthening part that meant the weight of the passengers was spread evenly across the chassis on both sides via the subframe mounts and in the middle via the tunnel mounts, so therefore would not move. Floor reinforcement rail Now the seats, floor and seat runners were all ready, it was just a case of making a cardboard template, measuring, drilling, and then bolting it all together with M8 Stainless bolts. The finished article is great IMO. they look period to the car and are much less garish that the ones that came out, which had some interesting colours and the word “dubollox” embroidered in…. Old vs new seats [...]
Alfa 159This post covers the exterior lighting modifications made to my 2008 alfa Romeo 159 TI. If you are interested in the interior guide, click here. This modification can be completed as a single project or as a series of smaller projects as the cost of components is still quite high due to some of the LED types in use. If you do choose to split the project I would suggest separating the turn signals / Indicators, Numberplate lights, sidelights and rear clusters into stand alone projects. For an alternative approach to upgrade the “Third Brake Light” at position 9, click here to see the cylon Project. Each topic area is collapsed below for your ease of navigation so either “Show All” or Expand each sub-topic as needed:   The parts you need for this conversion are as follows: 4 x Type 380 (1157) RED 13-LED Superlux [BAY15D,380,1157,P21/5w] 12v (Positions 5,6,7&8) 1 x Type 382 CREE Q5 12V/24V HIGH POWER LED BULB for the reverse light (Position 8 ) 1 x Type 382/P21W 5W CREE Q5 RED LED BULB for the fog light (Position 6) 2 x CANBUS Type 501/W5W/T10 24 LED Bulbs for the front side lights (Positions 1&2) 2 x CANBUS Type 501/W5W/T10 4 LED  Bulbs for the numberplate lights (Position 10 ) 4 x BAU15s 7507 Q5+12SMD=7W Brake/Signal Light 150° LED Bulbs Amber/Yellow PY21W for the front and rear indicators (Positions 1,2,5&7) 2 x 5 SMD LED AMBER ORANGE INDICATOR SIGNAL TURNING SIDE LIGHT BULB T10 W5W 501 for the side repeaters (Positions 3&4) 11 x 50w 10 ohm Aluminium clad wire wound resistors 2 x 25w 47 ohm Aluminium clad wire wound resistors 2 x 330 ohm 0.6w metal resistors Lots of wire & plenty of heat shrink wrap 10 x Red Scotch clips 8 x Red 3mm male spade terminals 8 x Red 3mm female spade terminals Estimated Cost: £170-200 Required Tools: Soldering iron Solder Flux paste Helping hands Hot glue gun Pro-Tip: You can remove the need to solder as well as reduce the overall effort if your prepared to increase your spend to buy the resistors pre-made from ebay. The example increase is DIY=£2 for a pair, whereas on ebay that would be £7-10 for the pair.   “CAN Bus” Most modern cars make use of numerous computers within the vehicle all connected through something known as a Controller Area Network or “CAN Bus” for short. One of these computers is typically dedicated to looking after the internal such as dials and gauges etc as well as the lighting circuits, in the Alfa its called the “Bodywork Computer” or “NBC” and one of its jobs is to make sure that if a bulb blows, you are warned when you get into the car with a friendly picture of your car and a warning symbol showing you which bulb has blown. This is a great feature, but unfortunately, it works against you when your swapping a traditional filament bulb for a new style LED replacement. The reason why is that a traditional bulb illuminates by putting a voltage across a metal element, essentially shorting out the circuit, causing it to heat up and emit light. This process creates a reasonably high load, measured in amps. LED bulbs work completely differently, essentially, they produce light by pushing electrons around inside a solid semi-conductor, which is a much more efficient process that creates significantly less load. This is where the problem comes! The bodywork computer puts a small amount of electricity on the bulb circuit to test that it has a connection and that the filament has not blown, so when you swap your old filament bulb for a LED one, you get one or two issues. The first issue is that the bodywork computer thinks the bulb has blown and lets you know, the second is that the small amount of power used to perform the test is actually enough to gently illuminate the LED, so it always stays on and never switches off, even when the ignition is off! In order to fix this issue you need to use more power than you need to actually run the LED so you need to add resistance to the circuit to absorb and use extra power and simulate load. Exactly how much resistance you need is a mathematical calculation known as “ohms law” which takes a number of variables and tells you how much resistance, measured in ohms, you need to add. When you add resistance to a circuit it creates heat as the excess power is turned into heat energy to be dissipated. For this reason its important to make use of a large wattage resistor (wattage is the measure of a resistors heat dissipation ability) so that you don't either burn out the component or even worse, create a fire hazard. For each of the bulbs I have used, I have first measured the amps that the original filament bulb runs at, and then the amps that the replacement LED runs at to determine the correct resistor to add. For most of my replacement LEDs I have needed to simulate around 1.2amps of additional load, which was achieved using a 50w, 10 ohm aluminium wire wound resistor, however for the two side repeaters I only needed to simulate around 0.3 amps, so I used a 47 ohm, 25w aluminium wire wound resistor. In this case, because the ohms was higher and the load to simulate was lower, I was able to use a smaller wattage which reduced the actual size of the resistor. As a point of note, every bulb in the 159 except the reverse light and the third brake light, has a CAN-BUS sensing circuit on it, and as such, will need to be replaced with a CAN-BUS capable LED or have additional resitors added to that circuit.   Front Clusters The front clusters can be quite difficult to work with as, depending on your engine, there may not be much room to work. As mine is the 2.4 JTDM engine, I have the least amount of room so small hands, patients and a high tolerance for pain are required. The 24LED sidelights require a small modification to them before they are installed as, despite being sold as “CAN Bus friendly”, they do not simulate enough load for the Alfa to be happy with, as such, additional load, all be it a very small amount, is required. The modification requires the addition of a 330 ohm 0.6w resistor to each bulb so that when it is installed, the computer is happy that the bulb is not blown. I achieved this by soldering the LED directly onto the bulb as per the following images. Once the bulbs are ready to be installed, the next job is to prepare two of the 10 ohm 50w resistors for the front indicators. This is done by soldering around 6-8 inches of wire onto either terminal of the resistors, heat shrinking the exposed connections, and then putting scotch blocks on the end, ready to be attached to the wires inside the headlight.       The installation process is fiddly and generally very annoying but essentially for the sidelight, follow the eLearn guide below: For the indicator, the following eLearn guide shows you how to change the bulb, however, in addition to this, you need to scotch clip the resistor to the two wires connecting to the bulb holder and place it somewhere inside the light unit once complete. In general I use a heat transfer sticky pad to affix the resistor to a suitable surface to stop it moving around:   Rear Clusters The rear clusters are by far the most involved and require the most effort. They are split into two sections per side, one fixed to each wing (Potions 5&7) and two fixed to the boot lid (Positions 6&8). As each light unit contains a number of bulbs to replace its easier to make a “loom extension” that sits in between the original connector and the light unit and adds in the extra resistors in bulk for the bulbs. As such the light units at Positions 5 & 7 require 3 x 10 ohm , 50 w, aluminium wire wound resistors each, while the light unit at Position 6 requires 2 x10 ohm , 50 w, aluminium wire wound resistors and the light unit at Position 8 only requires 1 x10 ohm, 50 w, aluminium wire wound resistor. For Position 8 it is easier to just scotch clip a single resistor into place over the “tail light” connection, as this is the only live circuit that makes use of a CAN Bus check signal. The Reverse Light does not have any CAN Bus checking (we will assume because you would notice!), and despite the type 1159 dual element stop/tail bulb being used in this position, only the tail element is wired up. I assume this was a “design feature” to save you carrying two different bulb types for the rear, although I find it quite stupid personally. Position 8 wiring is illustrated below: Position 6 requires two resistors installing and as such its easier to build an extension for that connector than actually scotch clip them in place. The extension looks like the following and is attached to the shell of the car using heat transfer sticky pads for optimum heat dissipation into the vehicles shell:     These rear clusters are accessed for this upgrade as per the following guide: Positions 5 & 7 are both the same with a three resistor unit required. The following images show the unit and the installation:       Whenever I have installed a loom extension I have coated the connections in hot glue so that they cannot come loose during driving conditions and I have used the sticky pads to secure the resistors on top of the metal surround for the light unit for optimal heat dissipation into the body shell.. The bulbs and loom extensions are then installed through the normal bulb change procedure:   Side Repeaters The side repeaters have a limited amount of space to accommodate a bulb and as such the overall size of the bulb is an important factor. The chosen bulb is as large as the unit can house and also makes use of a multi-SMD architecture to provide a good directional light output. Aside from changing the bulb, additional resistance is needed to simulate the missing load of the original bulb. These resistors can be mounted in the engine bay, and cables run through the wing to join up with the side repeaters, where they can be scotch clipped to the existing wiring and then covered in ample amounts of insulation tape to avoid any moisture getting into the joins:    I used heat transfer sticky pads to stick the resistors to the top of the suspension pillars and ran the cable through the seem at the top of the wing down through to the side repeater hole for ease. This was a remarkably easy process and required only limited “fishing” for the cable. Removal of the side repeater is a very simple process as per the following eLearn guide:   Number Plate Lights The number plate LEDs are a simple swap of the original W5W type bulbs for the 4 LED versions. The 4 LED versions have been chosen for two primary reasons, firstly, I do not want it to be brighter than the original bulbs and secondly, the bulb housing do not have any built in reflectors, so its important to have the LEDs pointing the right way. The chosen bulbs satisfy these criteria well and provide a good light output. The upgrade is simple and the eLearn guide is below: The finished product looks like this:      Third Brake Light The third brake light employs a 10 x filament bulb light bar plugged into the back of the reflector unit, so to complete the LED conversion this is going to need to change. To do this, you will need to make a replacement bulb as no “off the shelf” direct replacements exist. I have built one called “The Cylon” which runs each LED individually and has some cool effects, but if you just want a simple LED replacement you can try  the following approach. (warning, I have not done this so it needs verifying). You will need to get 10 x 5mm round high power red LEDs with as wide a viewing angle as possible, like these, but do your own research to find the best ones you can. Once you have your LEDs you can use an on-line LED wizard to figure out the best way of wiring them up and what resistance you need to add. This will give you an output like this: All you then need to do is remove the third brake light from the car, get out your soldering iron and hot glue your LEDs directly into the back of the reflector:    Once the glue is dry, make the connections as shown in the diagram, solder up all the parts and run about 18 inches of cable from the new unit to a “2 pin header row” that can be used to make a plug:    The completed unit can then be installed back into the car. There is no CAN Bus issues on this circuit so the light will just work like the original.   The complete/finished product is better displayed as a video and as such you can watch this one I made of the complete conversion: [...]
LiveMixesOldschool Hard house from the archives https://dev.jabawoki.com/mp3/Jabawok_02122000_Hard_House.mp3 Podcast: Play in new window | Download [...]
InfoSecOpen post to see coverage: Sheffield Star Business Monthly – July 2009 – [...]
Alfa 159I finally got round to installing the Wireless OBD II dongle I bought off ebay into my car the other day and thought I would document the process for those that may be interested. First your going to need to pick one up. I bought a clone Kiwi Wifi dongle off ebay for £45 which is a third of the cost of an original branded version so a complete bargain! Its a great little unit and perfect for interfacing with any OBD application you may want it for. Once you get the unit delivered you will notice that it is a simple plug and play job with no configuration. While this is true in its simplest form, one slight issue I found is that the OBD port is always powered up, therefore you would have to plug it in and remove it when you were not using it or it would always be broadcasting direct access to your cars ECU via a wireless network, which in my book is not the best of ideas! So the first job you have is to retro-fit an on off switch to allow for a more permanent installation! Its an easy job and Maplin have micro 12v switches that will fit and do the job well for a few pence. Just slide your fingernails around the edge of the front plastic cover and it will literally pop off in your hands, giving you access to the internals. All you need to do is de-solder the power connection (trace pin 16 on the connector), add a new bit of wire from the board to your switch and back to the original wire where you can splice it back together. To do this nicely you need about 12cm of wire, 2cm of heat shrink wrap, a soldering iron & solder & a small switch. Fit the switch on the side of the unit for easy access and put the cover back on with a dab of glue to hold it in place. Here is an image of my modified unit. Once the unit is installed in the car, you can connect it to your chosen application which for me was Rev2 from Dev Toaster on the iphone. This app is a bit pricey at £26 for the pro version, but gives me everything I want in terms of access to key metrics in real time, full data logging and even engine code interrogation and resetting! It can get data on a large number of points including: Vehicle Speed RPM Fuel Consumption Engine Coolant Temp Fuel Pressure Calculated Engine Load Throttle Position Intake Manifold Pressure Air Intake Temp Timing Advance Mass Air Flow Fuel Level Barometric Pressure EVAP System Vapor Pressure Fuel Trim Boost Examples: In terms of the actual connection between the iphone and the OBD II dongle, its as simple as: Connect the OBD II and power on Go to settings > wifi on the iPhone the arrow next to “CLKDevices” network Set a static IP of192.168.0.11 & netmask of 255.255.255.0, save and exit Open rev2, go to settings, hardware choose Kiwi Wifi, then select custom from the bottom Set the device to 192.168.0.10 and port of 35000 Done. From this point your up and running! You do need to configure a profile for your car, with its kerb weight as this is used to calculate torque and BHP. My kerb weight is documented at 1680KG, but I have the top spec TI version with all the extra trimmings so expect it to be closer to 1750KG. I am of course excluding the 75KGs of lard I personally add to the equation, but I think thats fair! I will actually get it weighed at some point just to be pedantic, but for now 1750kg's is close enough for me. http://www.youtube.com/watch?v=NWvbQ1RdHCo [...]
LiveMixeshttps://jabawoki.com/wp-content/mp3/Jabs_20102001_Progressive_House.mp3 Podcast: Play in new window | Download [...]