After watching the institutional lino floor in the main lab crumble under our feet exposing the bare concrete it was time to do something. After furniture Jenga and 3 coats of floor paint we have a “new” floor ready to support our hacking.. Thanks to everyone that helped out!
Welcome to 2017! Edinburgh’s Mini Maker Faire returns this year on Sunday 16 April 2017. It takes place at Summerhall, right on our doorstep, and is a great chance to meet like minded folk from other hackerspaces, see interesting things that people are working on and play with robots. For this to happen, the Faire needs Read more about Edinburgh Mini Maker Faire – call for makers![…]
Hacklab member Al (who writes in the third person) is helping to organise an event at Summerhall on Monday 28th of November to show some glass pieces that are the output of a collaborative art project, combining glass blowing and casting, electronics, sound design and composition. The event will include some brief presentations about collaborative art, Read more about Event: Makers Marks – Connecting Engineers & Scientists with Artists & Designers[…]
If you’ve been in the lab during the day in the first couple of months this year there’s a good chance you’ve found me, Andrea and Random sweating over LED strips, surrounded by wires and PVC tubing. It was all assembly work for an artwork called Sentient Forest, which has now been installed in its new Read more about Made in Hacklab: Sentient Forest[…]
We’re pleased to again be part of the Edinburgh International Science Festival. This year’s Science Festival is just about to start and the big finale is on the 19th of April when the Edinburgh Mini Maker Faire returns to Summerhall, more on that soon. Hacklab is running five workshops this Festival, our Paper Circuits workshop has already Read more about Science Festival 2015 workshops![…]
Thanks to the kind donations of lots of lovely people, the lab has just taken delivery of a brand new Ultimaker 2 3D printer. It has been set up, and is working well. Thanks again to everyone for the pledges.
On Saturday we had a visit from around a dozen members of The Software Society of Dundee, who are currently pondering upon setting up their own space. Ted, Gareth and Gandolf showed them round and talked a little about what we went through in setting up the lab. We’re planning an away team trip to Read more about Visit from The Software Society of Dundee[…]
"connect 80k simultaneous clients, logging in and out at an overall rate of 50Hz, and requesting pages at an overall rate of 100Hz"
lets model a client as a random walk on a state graph (a Markov chain), where the action taken by a client is drawn from a distribution conditioned on the current action. (TL;DR we will bootstrap frequency estimates from this representation using eigenvectors)
Missed out on our recent Arduino or soldering workshops? You’re in luck! In April, we’re running workshops as part of the Edinburgh International Science Festival. We have four different workshops in the Festival programme, each one running twice during the two-week Festival: Getting started with Arduino Arduino is an easy to use microcontroller platform designed for Read more about New workshops for the Science Festival![…]
I am writing a static analyser for Firebase. My approach to precedence and brackets has always been, if in doubt, whack a bracket round it. Unfortunately when writing code generation tools my output ends up with more brackets than logic :s
So the expression: (4 + 6) * 6 needs its brackets to operated correctly, but (((4) + (7) * 8) has a number of pointless brackets in it. There are some tricky cases like 5 / (7 * 6), which requires brackets despite * and / having equal precedence. To understand why 5 / (6 * 7) needs brackets you have to understand that when operators have equal precedence, by default, they associate to the left. Anyway the code to actually do this turned out to be super compact so I share it with you!
I used node-falafel which is an awesome package that allows in place source code rewrites during a bottom up parse. Woah! The function “simplify” takes an expression as a string, and returns a functionally equivalent expression but without the pointless brackets in it. Nice!