Bob Summerwill

Engadget Editorial Policies

The unique content on Engadget is a result of skilled collaboration between writers and editors with broad journalistic, academic, and practical expertise.

In pursuit of our mission to provide accurate and ethical coverage, the Engadget editorial team consistently fact-checks and reviews site content to provide readers with an informative, entertaining, and engaging experience. Click here for more information on our editorial process.

Stories By Bob Summerwill

  • Porting Ethereum - Tizen cross-builds. Update by Anthony Cros, 5th November 2015

    We are still working on 2 fronts in parallel, the webthree (C++) implementation (formerly known as cpp-ethereum) and the go-ethereum (Golang) one. go-ethereum (Golang) Block synchronization problem Not much progress on that front beside confirming an issue that seems to occur with ARM builds regarding block synchronization (see previous post). It seems other people have reported the same issue and hopefully the devs will figure it out soon. LES sub-protocol (light client) We are also waiting for the LES sub-protocol to be finished, which according to the latest update (see "Light client/mobile" section) is making good progress. web-three (C++) Cross-compilation A lot of work has been put into cross-compiling the C++ implementation, and after a lot of sweat I finally produced a binary to test out! Unfortunately it results in a good o' segfault for the moment. I have informed the devs of it and am waiting for their feedback. It may be an issue with the CryptoPP library, which is actually due for removal (see Gavin's comment on the matter). Code We are making the process of producing this binary open for anyone to try out (see our Github repo). There exists a Dockerfile that can be used as basis, although it is not finalized yet. Still, a basic Ubuntu 14.04 image to which the packages listed in the Dockerfile are added should provide the right environment to run the scripts above. Documentation I have also spent some time on improving upon the devs' representation of the various dependencies involved in building eth. I started from the original DOT file: and added information I gathered from compiling from source myself as well as various comments from the devs: which results in It is still a work-in-progress but we will hopefully have a good overview of all these dependencies soon. Stay tuned for more progress!

    By Bob Summerwill Read More
  • Building a pfSense box - part 1

    So ... I've been doing my first hardware build for a very, very long time. Back in the 90s I remember buying extra memory, video cards, etc, but this is my first ever full machine build.I'm setting up a pfSense box for my home network, on Stephane Matis' recommendation (thanks, Stephane!)So where am I up to? Put all the hardware together, and successfully booting. Now I find that I don't actually have a physical keyboard in this house :-) Off to get a cheap keyboard and then to move onto the software install. I also need to work out where this box is going to be located physically in the house. The cable comes into the house downstairs by the TV, but that is a child-ridden danger area. I might need to run some Ethernet cable up-and-away to a safer place!

    By Bob Summerwill Read More
  • Porting Ethereum - Tizen cross-builds. Update by Anthony Cros, 14th October 2015

    NOTE: You can follow along with our day-to-day progress on the Ethereum Porting Gitter channel. Some progress! On both fronts: go-ethereum and cpp-ethereum. Our efforts lately have been focused on cross-compiling these two projects targeting an ARM architecture. go-ethereum The easier one first. As Bob mentioned in his latest post, Péter Szilágyi from the go-ethereum team has created the great xgo tool, that allows cross-compiling go-ethereum to different platforms (though it is not limited to cross-compilation for Ethereum, it is a general tool). Using xgo and the instructions from its README file, I was able to generate a binary for geth quite easily and without any change (xgo notably leverages the power of Docker). I was then able to run this binary on a Samsung TM1 developer phone (with Tizen O.S.), a process I will detail in an upcoming post. The binary worked well up until a point during block synchronization (~block 90K) where it failed, though nothing indicated it was an issue with the platform itself (more likely the particular version of geth I had used for compilation). I will rebuild and report on the result soon! tony:~/tizen-sdk/tools[130] $ ./sdb push ~/.tony/program/go/go1.4.2/bin/geth-linux-arm /home/developer pushed geth-linux-arm 100% 19MB 1 file(s) pushed. 0 file(s) skipped. /home/tony/.tony/program/go/go1.4.2/bin/geth-linux-arm 4142 KB/s (20639213 bytes in 4.865s) tony:~/tizen-sdk/tools[0] $ ./sdb shell sh-4.1$ cd /home/developer/ sh-4.1$ ls geth-linux-arm testupload.txt sh-4.1$ ls -l total 20160 -rwxr-xrwx 1 developer developer 20639213 Sep 29 18:49 geth-linux-arm -rwxrwxrwx 1 developer developer 0 Jul 3 16:55 testupload.txt sh-4.1$ ./geth-linux-arm ======================================= Disclaimer of Liabilites and Warranties ======================================= THE USER EXPRESSLY KNOWS AND AGREES THAT THE USER IS USING THE ETHEREUM PLATFORM AT THE USER'S SOLE RISK. THE USER REPRESENTS THAT THE USER HAS AN ADEQUATE UNDERSTANDING OF THE RISKS, USAGE AND INTRICACIES OF CRYPTOGRAPHIC TOKENS AND BLOCKCHAIN-BASED OPEN SOURCE SOFTWARE, ETH PLATFORM AND ETH. THE USER ACKNOWLEDGES AND AGREES THAT, TO THE FULLEST EXTENT PERMITTED BY ANY APPLICABLE LAW, THE DISCLAIMERS OF LIABILITY CONTAINED HEREIN APPLY TO ANY AND ALL DAMAGES OR INJURY WHATSOEVER CAUSED BY OR RELATED TO RISKS OF, USE OF, OR INABILITY TO USE, ETH OR THE ETHEREUM PLATFORM UNDER ANY CAUSE OR ACTION WHATSOEVER OF ANY KIND IN ANY JURISDICTION, INCLUDING, WITHOUT LIMITATION, ACTIONS FOR BREACH OF WARRANTY, BREACH OF CONTRACT OR TORT (INCLUDING NEGLIGENCE) AND THAT NEITHER STIFTUNG ETHEREUM NOR ETHEREUM TEAM SHALL BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES, INCLUDING FOR LOSS OF PROFITS, GOODWILL OR DATA. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR CERTAIN TYPES OF DAMAGES. THEREFORE, SOME OF THE ABOVE LIMITATIONS IN THIS SECTION MAY NOT APPLY TO A USER. IN PARTICULAR, NOTHING IN THESE TERMS SHALL AFFECT THE STATUTORY RIGHTS OF ANY USER OR EXCLUDE INJURY ARISING FROM ANY WILLFUL MISCONDUCT OR FRAUD OF STIFTUNG ETHEREUM. Do you accept this agreement? [y/N] y I1004 23:21:26.410705 9630 flags.go:414] WARNING: No etherbase set and no accounts found as default I1004 23:21:26.411956 9630 database.go:71] Alloted 16MB cache to /home/developer/.ethereum/chaindata I1004 23:21:26.454467 9630 database.go:71] Alloted 16MB cache to /home/developer/.ethereum/dapp I1004 23:21:26.475128 9630 backend.go:291] Protocol Versions: [62 61], Network Id: 1 I1004 23:21:26.476165 9630 backend.go:333] Blockchain DB Version: 3 I1004 23:21:26.480377 9630 chain_manager.go:248] Last block (#0) d4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3 TD=17179869184 I1004 23:21:26.546630 9630 cmd.go:125] Starting Geth/v1.2.0/linux/go1.5.1 I1004 23:21:26.547729 9630 server.go:311] Starting Server I1004 23:21:26.568572 9630 udp.go:207] Listening, enode://95b46a352806ebd5e97ec6bdcdcb9ea425eed48c95f78963df264c9985cba1aa72c658482951025322a8db49b88ae3eeb2314a0995df8d636de0276259bdaa5b@108.162.185.124:30303 I1004 23:21:26.569580 9630 backend.go:559] Server started I1004 23:21:26.570892 9630 ipc_unix.go:109] IPC service started (/home/developer/.ethereum/geth.ipc) I1004 23:21:26.571563 9630 server.go:552] Listening on [::]:30303 I1004 23:21:26.574707 9630 nat.go:111] mapped network port udp:30303 -> 30303 (ethereum discovery) using NAT-PMP(192.168.1.1) I1004 23:21:26.588775 9630 nat.go:111] mapped network port tcp:30303 -> 30303 (ethereum p2p) using NAT-PMP(192.168.1.1) I1004 23:21:36.715515 9630 downloader.go:275] Block synchronisation started meanwhile: sh-4.1$ pwd /home/developer/.ethereum sh-4.1$ find . ./nodes ./nodes/000001.log ./nodes/LOCK ./nodes/LOG ./nodes/MANIFEST-000000 ./nodes/CURRENT ./geth.ipc ./nodekey ./chaindata ./chaindata/LOG.old ./chaindata/MANIFEST-000008 ./chaindata/LOCK ./chaindata/000010.ldb ./chaindata/LOG ./chaindata/CURRENT ./chaindata/000007.log ./dapp ./dapp/000002.log ./dapp/MANIFEST-000003 ./dapp/LOG.old ./dapp/LOCK ./dapp/LOG ./dapp/CURRENT sh-4.1$ find -type f | tr "\n" "\0" | du -cs --files0-from=- 1392 ./nodes/000001.log 4 ./nodes/LOCK 8 ./nodes/LOG 8 ./nodes/MANIFEST-000000 8 ./nodes/CURRENT 8 ./nodekey 8 ./chaindata/LOG.old 8 ./chaindata/MANIFEST-000008 4 ./chaindata/LOCK 1892 ./chaindata/000010.ldb 8 ./chaindata/LOG 8 ./chaindata/CURRENT 892 ./chaindata/000007.log 4 ./dapp/000002.log 8 ./dapp/MANIFEST-000003 8 ./dapp/LOG.old 4 ./dapp/LOCK 8 ./dapp/LOG 8 ./dapp/CURRENT 4288 total cpp-ethereum Much more manual work here, but after much struggle I was able to successfully cross-compile the libweb3core library. I created a set of scripts that should allow anyone to reproduce this process (in fact please do and report on any issue encountered!). For it to work, I had to use a number of hacks along the way however: code - Hardcoding Boost's project-config.jam file to use my gcc cross-compiler (I tried many different flags/environment variables for bootstrap.sh but none ever worked/were picked up) code - Commenting out the CXXFLAGS-march=native flags from CryptoPP's Makefile. Likewise I found no cleaner way to unset this flag (which you must for it to succeed). code - I was never able to get the ARCHIVE_INSTALLS_DIR flag to get picked up during configuration for JsonCpp, instead having to rely on DESTDIR during the installation phase (not necessarily a big issue, but still frustrating) I ended up having to create a ~/$HOME/cryptopp symlink to CryptoPP's installation directory for libweb3core's CMake file to be able to detect CryptoPP's headers, no other combinations ever seemed to work. This on top of making CMAKE_INCLUDE_PATH point to the source directory. Removing either results in a failure to detect said headers (note that no such issue occured for the detection of the library itself). code - Disabling of MiniUPNP, which has apparently broken backward compatibility in its latest version and for which I wasn't able to find a working version (typically because of failure to include upnp-dev.h, which would have also required hacking their CMake file). code - Removal of erroneous -lOFF artifacts from the CMake configuration phase of libweb3core, a bug I have brought to the attention of the cpp-ethereum team. If anyone is aware of workarounds for these or can even suggest a more straighforward/correct way of getting to the same result, please contact me on gitter. So overall it's quite a lot of pieces that need to work together in order to create such a binary. Next step will be building other necessary components for eth to run. After which I will hopefully be able to test the C++ client on the same Z3 phone! Stay tuned for more progress!

    By Bob Summerwill Read More
  • Porting Ethereum to mobile Linux

    Last week the ETHDEV team made the decision to implement Ethereum Light Client as a sub-protocol, rather than as part of the main protocol. PV63 and PV64 will be dropped, and the work-in-progress has been ditched. The decision makes sense, to manage risk, and to separate concerns, but it delays things. Probably by about two weeks. It is going to take some time for the dust to settle and for the client implementations to get back to working proof-of-concept on that still-to-be-defined sub-protocol. So Anthony and I are going to go off on a tangent for the time being, and focus on porting the existing full-node clients (both eth and geth) to all of the mobile Linux platforms of interest. A new Ethereum Porting Gitter channel has been created, which I have written this "state of play" article for. We are going to work on the following platforms and devices: FORM FACTOR DEVICE OS VERSION Developer phone Samsung RD-PQ Tizen 2.3.0 Smartphone Samsung Z1 Tizen 2.3.0 Smartwatch Samsung Gear S2 Tizen 2.3.1 Developer phone Samsung TM1 Tizen 2.4.0 Beta Smartphone (future) Samsung Z3 Tizen 2.4.0 Smartphone (future) Intex Aquafish Sailfish 2.0 Tablet (future) Jolla Tablet Sailfish 2.0 Smartphone Meizu MX4 Ubuntu Edition Ubuntu Touch ??.?? John Gerryts has been doing a very similar task for the last few months as part of a DEVGrant for EthEmbedded. His focus so far has been on compiling on-platform. This challenge has mainly laid in broken dependencies and in working through oddities in the specific platforms. The SBCs are all "just" Linux distros. Mobile operating systems are rather different beasts than the capable little general computers which John has been porting Ethereum to. Mobile devices have usually been designed for running applications on, not building and developing applications on. There has been a major asymmetry between the power and specifications of desktop machines and mobile devices. There still is some asymmetry, but the gap is closing fast. You don't develop iOS applications on an iPhone. You develop them on a Mac with a cross-compiler. You don't develop Android applications on an Android phone. You develop them on a PC, Mac or Linux box with a cross-compiler. Most mobile devices have never had enough memory or processing power to build anything substantial. The setup has been very similar to that which I have used for the majority of my professional development career building PlayStation and XBOX games. You develop on a desktop machine and build binaries to transfer to the target machine and then use a remote debugger. That time is coming to a close. We are seeing a convergence across all device form-factors. All computing devices are good now. They nearly all have multiple cores, decent amounts of memory, network connectivity, ARM or x86 SoCs and are all much-of-a-muchness in their "form". There isn't much reason left why you wouldn't use your phone for software development, or even your watch in a few years time. I want to push the envelope on that, which is why I asked Anthony to start with looking at native builds on these devices. That didn't work so great for Tizen, and he will blog about that, but it looks to be a workable approach for Sailfish and Ubuntu Touch, which are very "normal" Linux distros. Tizen native builds Raster says: Tell him to cross compile. Tizen 2.x on things like emulator is for running tizen apps and nothing more. You will not fix tizen 2. All devices locked down. No root for you. You could cross build a toolchain for $home But you will need magic to get headers and other things working in home when the bins are in usr. But rpms won't help you. You need root. Emulator not useful as its x86. So you get gcc on it. Fine. Bins you make won't work on any shipping tizen device (worth noting). Rpi2 or other boards are a better bet imho Sailfish native builds Carsten Munk says: I'd for most purposes recommend a chroot on the device for compilation. you can for most intents and purposes take the ARM target of sailfishos and chroot into it on device. we have a couple of funny package dependencies that if you start developing a little too hard, device won't boot up, so ;) Ubuntu native builds Niklas Wenzel says: Every program available in the Ubuntu archives for the armhf architecture can be run on your phone (though you are going to run into issues with GUI programs). I've been compiling my stuff on my phone for quite some time now. However, the cross-compilation setup for Ubuntu SDK apps is really straight forward and way more comfortable than any compilation on the phone itself. Additionally, installing additional debian packages on the phone requires a writable system image which means that your phone can break when you install OTA updates in the future. (To prevent that, you can reflash the phone to its previous state with a read-only system partition but that also means that the additional packages you installed will be removed from the phone again.) You could also set up a chroot on the phone for compiling stuff though. Cross-compilation of geth and eth. Péter Szilágyi who works on Ethereum is also the author of xgo and has put together Wiki pages on Cross-compiling Ethereum and Ethereum on Android, as well as adding cross-compile targets into the go-ethereum makefile for us today. That is all cross-compilation for go. Niklas Wenzel was also kind enough to point us at his template for Go QML cross-compilation. Cross-compilation of C++ for the eth client will be much simpler, given that C++ cross-compilation is the default for all of these mobile Linux platforms. So lots of work to do. Anthony is digging in. When we have got everything working to the degree in which that is possible (native/cross * eth/geth * Tizen/Sailfish/Ubuntu) plus a few OS version variants, we can move on to look at where we are sitting compared to John's SBC builds. Hopefully we can come all of this work into some cohesive whole and maybe even upstream it all into the main C++ and go client repos. We will see :-) I also want to set up an automated build farm for all of this hardware, using real devices, not emulators. And maybe we can even do some automated testing too. When all of that is done, I hope we will be ready to go with actual Light Client code-paths within those applications we can now build for so many different platforms. We should also look at in-process execution for the go codebase (as already exists with libethereum) for inclusion within applications and on small IoC devices. Stay tuned!

    By Bob Summerwill Read More
  • #TDC2015 - Tizen 3.0 First Milestone - what does that mean?

    The Tizen Developer Conference is happening right now in Shenzhen, China. Believe it or, this is actually the fourth annual Tizen Developer Conference: Tizen Developer Conference 2012 (San Francisco) Tizen Developer Conference 2013 (San Francisco) (open governance for Tizen 3.0 announced) Tizen Developer Conference 2014 (San Francisco) (I attended this one in my MonoTizen days) Tizen Developer Conference 2015 (Shenzhen) Samsung Tomorrow have just published TDC 2015 Presents Tizen's Future Roadmap in China, giving an overview of the themes of the conference, but there is little else in the way of live coverage due to the Great Firewall of China. When that first conference was held in May 2012 (41 months ago), we were on Android Ice Cream Sandwich (4.0.x – API level 15) and iOS 5. The flagship phones in that month were the iPhone 4sand the Galaxy S III (hot off the presses the same month). The first Tizen mobile device finally launched in January 2015, the Samsung Z1, at a lower-spec than either of those flagships of 2012. It looks like the pending Samsung Z3 phone will be roughly comparable to the Galaxy S III. The Tizen Steering Group has just announced the first Milestone Release for Tizen 3.0. Here are the talking points: 2.4 public API (both Native API and Web API) is backward-compatible with 3.0 TV and Mobile profiles. 64bit SoC is tested and verified with 3.0 TV and Mobile profiles. 3.0 TV and Mobile profiles support multi-user architecture for multi-user/single-login usage. New security architecture: 3 domain smack and Cynara Security server and privilege manager are replaced with the new components, security manager and Cynara respectively. X server is replaced with Wayland at this version. Webkit2 is replaced with Chromium-efl and core components interacting with the web engine are re-designed/re-implemented for the new WRT and browser. Buxton2 is introduced. Buxton2 provides secure configuration service based on Cynara and is re-implemented considering multi-user and recovery support. Iotivity 0.9.2 is integrated into 3.0 TV and Mobile profiles. Generic policy manager, murphy, is integrated into 3.0 platform. Linux kernel 4.0 is provided. So what does this really mean? Tizen 3.0 is "real"? Do we have open governance for Tizen Mobile, 28 months after it it was first announced? Have the Emperor's clothes have arrived? Sadly not. 64-bit support is new and good, but ... What this announcement really means is the Tizen 3.0 codebase (which had its first public milestone release 24 months ago) finally has a Mobile profile which is feature complete. Crosswalk isn't finished yet, but it is feature complete. PS – "reference device for mobile profile is not available right now." That's right. There is no physical device in the world which you can get your hands on which runs this release. But it's feature complete. Even if you are one of the lucky few people in the world with the TM1 device given away earlier this year in India, you're still out of luck here. I imagine that TM1 will be supported soon. It has to be. There is no IVI profile. Despite the fact that IVI is what the 3.0 codebase was built on, it has been silently dropped. We all know why, but let's move on to ... Wearable, which is the one profile which has had huge commercial success with Samsung Galaxy Gear, Samsung Gear 2, Samsung Gear Neo, Samsung Gear S, and the pending Gear S2. The Gear S2 has been the darling of the media recently, and rightly so. The last few Tizen 2.x SDKs have been moving towards a unified Mobile/Wearable delivery, so we're bound to have Tizen 3.0 Wearable, right? Wrong. No Wearable. So IoT. Everyone is hot on IoT, right? Tizen – The OS of Everything. Tizen – The Best Way to Connect Everything. There will be proper IoT/SBC profiles in this release, right? We'll have an official IoT profile which works on the Raspberry Pi2, the Beagleboard and the Samsung Artik, right? It seems not. The Samsung Tomorrow article mentions "Micro Profile", but that again seems to be something which is planned, not current. So what is new? A Tizen 3.0 TV profile which runs on an Odroid and a Mobile profile which doesn't run on any physical device which you can get your hands on. Here is a summary of my understanding of physical devices which you can run the various Tizen releases on (any corrections I would love to hear): Version Mobile Wearable TV IVI Common/IoT 1.0 RD-210 2.0 RD-PQ 2.1 RD-PQ 2.2 RD-PQ 2.2.1 RD-PQ Gear 2 & co SmartTV 2015 range? 3.0 IVI Various Various 2.3.0 Samsung Z1 Gear S 2.3.1 Gear S2 2.4 TM1 Samsung Z3? 3.0 Odroid XU3/XU4 Various So what's new? Nothing which matters as far as I can see. We still no concrete plans announced for any products to ship based on Tizen 3.0. The most important Tizen development (2.3.1 for Wearable and 2.4 for Mobile) is still happening behind closed doors at Samsung, and we don't even have Tizen 3.0 supported for the TM1 developer device which was given away at the Bengaluru summit earlier this year. It still has the flavor of R&D which might lead to products. Developers, Developers, Developers need Devices, Devices, Devices. Please, please, please, Samsung, let's have some development hardware and a competitive slate of Mobile products. Without those two key factors, you will continue to get a minimal amount of high-quality software developed for your platform. It is just too hard for developers to work, and is not worth their effort given the tiny market.

    By Bob Summerwill Read More
  • Steve Mann and the Veillance Foundation

    Last week I had the pleasure of talking to Steve Mann, a personal hero of mine who "lives in the future". Start exploring from his Wikipedia page and prepare to lose many hours of your life learning about everything he has achieved, starting back in the 1980s. He was speaking at the We Are Wearables September 2015 Meetup "Capturing the Future" here in Toronto, introducing the Declaration of Veillance and announcing the Veillance Foundation. –> Veillance Foundation: Decriminalizing Integrity in the age of hypocrisy (and now part 2). Surveillance and dictatorships are examples of things that are hierarchical or centralized, and thus provide only one side of the picture, i.e. the picture as viewed only from the top of the hierarchy. As Kevin Kelly writes in "Out of Control", democracy and the free market are examples of things that are decentralized and distributed: "the network is nearly synonymous with democracy or the market.". Courts demand the whole truth, but surveillance only provides a half-truth. This half-truth embodies a lack of integrity that becomes most apparent when surveillance is widely used, but personal seeing and memory aids are prohibited. We humans are not good at half-truths. Stories have a beginning, middle, and end. Every truth exists within a certain context. When we don't have the full story, things don't make sense. Therefore surveillance is unsatisfying, unfair, and unjust. We need a veillance that is more fair and just than surveillance. In this day and age,wearable cameras are easy to hide. So it is kind-of pointless to try and stop people from secretly recording.Policies against wearing cameras are doomed to fail, but only burden those who need camera systems to see and understand their world. I live in the future. I'm facing these issues daily. Soon you will too. Join me in supporting this declaration of your future rights. We should demand the right for the whole truth. Support your own freedom in the future which will be with us soon. Mail veillance@eyetap.org to get involved. Here is Steve presenting at TEDx on Society of Sensularity with a Sixth Sense.

    By Bob Summerwill Read More
  • New toy "in the post" - Atari VCS and 20 games

    Today I have pulled the trigger on a purchase which I have been pondering since I visited Buy and Sell Kings a few weeks back. Here what is coming my way soon, supposedly tested. I certainly hope it all works. I will report back :-) From the eBay description: East Coast Toys and Games: For your consideration we present a Used 4-Switch Woodgrain Atari VCS CX2600A Console & 20 Games, Including: Q*Bert (Label is peeling) Spider-Man Amidar Frogger Reactor Donkey Kong Combat (with Manual) Activision Ice Hockey Pitfall! Chopper Command (Label is severely stained) Spider Fighter Tennis (Label is severely stained) Pac-Man (Top label is missing) Super Breakout Demons to Diamonds Warlords Yars' Revenge Missile Command Defender Asteroids Games are cartridge only. Some cartridges have severe label wear (rips, stains, missing labels and/or foxing). Console is tested and working. It includes a catalogue, instruction manual, 1 Black Quickshot joystick controller, 1 Grey Boss brand joystick controller, 1 paddle controller, A/C Adapter and an RF connector to attach to your television's cable input. Please note that the select and reset switches are a bit fussy. What you see is what you get. Item is sold AS IS.

    By Bob Summerwill Read More
  • Ind.ie Heartbeat for OSX - pre-alpha release

    Today is a long awaited day for me and many others – the first public release of Ind.ie's Heartbeat client for OSX. What is that? It is a social network client which does not spy on you. It is the first step in a journey to "create a peer-to-peer consumer platform to empower you to share the things that matter to you with the people you care about" Today is the day that the mud-slingers, vaporware-accusers and general negative whingers can STFU and see what these talented and principled individuals have been working on all this time: Here is a video of the OS X client in action: "What? OS X Yosemite only? You sell-outs!" A common whinge. The rationale for this pragmatic trade-off is explained in We're Building for OS X and iOS, not Linux. This is a not a bug, it's a feature. The Indie Manifesto is not just rhetoric. These guys are building real software to fight the Camera Panopticon trend. And it looks lovely. Surprise, surprise. Apparently, having designers are the core of a project results in good UX! The code is publicly available at source.ind.ie, which is a Gitlab instance. Here's a video showing how to clone the heartbeat-cocoa repository. Nothing very surprising there for Github regulars. Want to learn more about Ind.ie and get involved? Check out the website, and especially the new forum section. Bravo, Oscar and team! A banner day for indies. Hot on the heels of the Ethereum Frontier release too! It is great to see multiple projects pushing towards a freedom-respecting and decentralized future.

    By Bob Summerwill Read More
  • Vintage video games and hardware

    This afternoon I visited Buy and Sell Kings, on Danforth Ave in Toronto. It is amazing.They have pretty much every historic video game console you could name for sale, and rafts of games for them all. Some particular gems were Atari VCS, Neo-Geo, Sega Game Gear, Colecovision and even a Panasonic 3DO. It was quite a treat.Here is a walk-through:And a shot of the Neo Geo Arcade machine they had for sale:And some still photos I took:

    By Bob Summerwill Read More