How to receive broadcasted iOS location data and display it on a real-time, live-updating map using the Mapbox API and Swift programming language.
8 May 2015
One of the never-ending style battles in Ruby land is module_function vs extend self. Both enable you to define module methods, which can be called not only from instance level, but also from class level. This enables you to make modules that can optionally be include'd into your current scope, which makes sense if the module contains non-state changing methods…
7 May 2015
illustration by Adrien Griveau I have been working on Meteor projects for more than 2 years now. I already shared the reasons of this choice in a previous post . Today I want to address the question of file structure . Unlike frameworks such as Ruby on Rails, which has clear instructions on how files should be organized, Meteor lets…
How to receive broadcasted iOS location data and display it on a real-time, live-updating map using the Google Maps API and Swift programming language
PostgreSQL has a lot of secret data types. In recent times, PostgreSQL’s JSON and JSONB support was hyped as being the NoSQL on SQL secret (e.g. as advertised by ToroDB) that allows you to get the best out of both worlds. But there are many other useful data types, among which the range type. How … Continue reading PostgreSQL’s Best-Kept…
There is a command-line switch to enable command-line switches: -s Enables some switch parsing for switches after script name but before any file name arguments (or before a --). Any switches found there are removed from ARGV and set the corresponding variable in the script. In this context "corresponding variable" means global variable. Let's see this in action (the -e…
6 May 2015
How to receive broadcasted iOS location data and display it on a real-time, live updating map using the MapKit API and Swift programming language.
There is a one-liner on the internet that will start a local web server, for serving all the static files in your current directory: $ python -m SimpleHTTPServer 8080 Or with Python 3: $ python3 -m http.server Rubyists generally do not want to rely on Python, so there is a Ruby equivalent: $ ruby -run -e httpd . -p 8080…
5 May 2015
How to build an iOS location tracking app and stream location data to a live-updating map using Swift programming language.
There are many, many questions on Stack Overflow about both parsing and formatting date/time values. (I use the term “date/time” to mean pretty much “any type of chronlogical information” – dates, times of day, instants in time etc.) Given how often the same kinds of mistakes are made, I thought it would be handy to … Continue reading Common mistakes…
In the recent past, we’ve explained the syntactic implications of the SQL GROUP BY clause. If you haven’t already, you should read our article “Do You Really Understand SQL’s GROUP BY and HAVING clauses?“. In essence, adding a GROUP BY clause to your query transforms your query on very implicit levels. The following reminder summarises … Continue reading How SQL…
The script lines feature is probably the most famous example for idiosyncratic naming in Ruby! Ruby can save all source files you load or require as strings. This is useful for debugging utilities, for example, standard library's debug and tracer both use these capabilities. This is possible with the script lines object: It is a Ruby hash that stores all…
4 May 2015
A while back Peter Norvig posted a wonderful pair of articles about regex golf. The idea behind regex golf is to come up with the shortest possible regular expression that matches one given list of strings, but not the other. “Regex Golf,” by Randall Munroe. In the first article, Norvig runs a basic algorithm to recreate and improve the results…
Why are people so concerned with hardware power consumption nowadays? Some common answers to this question are that power is critically important for phones, tablets, and laptops and that we can put more silicon on a modern chip than we can effectively use. In 2001 Patrick Gelsinger observed that if scaling continued at then-current rates, chips would have the power…
a A b B c C d D e E F g G h H l L m m0 M n N p P q Q s S u U v V w x X Z @ ! * < > _ Ruby comes equipped with a powerful option for low level string manipulation: String#unpack and its counter part Array#pack.…
3 May 2015
The size of binaries in the Nim programming language seems to be a popular topic recently. Nim’s slogan is expressive, efficient, elegant, so let’s examine the efficient part in this post by exploring a few ways to reduce the size of a simple Nim Hello World binary on Linux. Along the way we will: Build a regular program into a…
Ruby has some ways to turn on debug mode, which library authors can use to print out extra information for interested users. But unfortunately, there are multiple debug modes in Ruby. When to use which one? Consider you have this code: def production_method puts "I am doing the right thing part 1" # @a is really intereting here puts "I…
Pixel art is so much fun! This blog post walks through how to read a matrix-like list with Sass and generate Mario pixel art from box shadows.
2 May 2015
Ruby strings are powerful. You could say Ruby is built around manipulating strings. There are tons of ways how to work with strings and as of Ruby 2.7.1 String offers 130 instance methods. Knowing them well can save you a lot of time. What follows is a list of 10 lesser known things about strings: Some of them useful, some…
1 May 2015
When I started on the Firebird team at Bazaarvoice, I was happy to learn that they host their code on GitHub and review and land changes via pull requests. I was less happy to learn that they merged pull requests with the big green button. I was able to convince the team to try out a new, rebase-oriented, workflow […]
Here's April 2015's monthly analysis of the pushes to our Mozilla development trees. You can load the data as an or as a . The number of pushes decreased from those recorded in the previous month with a total of 8894. This is due to the fact that gaia-try is managed by and thus these jobs don't appear in the…
I created my own Serviio service script, I’m sharing it for reference and free usage here. If you don’t know Serviio and you need a Media Server in your home network, this is your best choice. check it out here. Actually, you only need to alter “/etc/default/serviio” with your username and path to Serviio installation. […]
Compared to other languages, Ruby does not have very good tool support for development. This might not be a problem for many of us: In the end, humans create the code, and not the tools. Nevertheless, it would be great to have better tools. Or at least valid syntax highlighting! The following table shows popular options for code highlighting, but…
30 Apr 2015
Let me get this straight. We have an emulator for 1985 hardware that was written in a pretty new language (Go), ported to a language that isn’t even 1.0 (Nim), compiled to C, then compiled to JavaScript? And the damn thing actually works? That’s kind of amazing. — Summary by haberman I spent the last weeks working on NimES, a…
How to retrieve, publish, and display live geolocation data with JavaScript and the Google Maps geolocation API to create transportation tracking apps
A risk management perspective Yann Lechelle ( LinkedIn , Twitter ) is a Paris-based entrepreneur with a number of pivots under his belt. He was founder and CEO at Etheryl (acquired by private investors), co-founder at KickYourApp.com (acquired by Change), co-founder and COO/CTO at Appsfire.com (acquired by MNG), co-founder at Sonetin.com and currently COO at Snips.ai using AI to make…
I admit, we’ve been lured into using this technique as well. It’s just so convenient, as it allows for avoiding a seemingly unnecessary cast. It’s the following technique here: Now you can type safely assign anything from the wrapper to any type: This is actually the API you can use when you’re using jOOR, our … Continue reading This Common…
29 Apr 2015
Since today Nim 0.11 has been released, I guess it’s a good time to release this as well: NimES is a NES emulator written in Nim. More info in the GitHub repository and the JS demo. Discussion on Hacker News and Reddit.
How to retrieve, publish, and display live geolocation data with JavaScript and the Mapbox API to create transportation tracking applications.
28 Apr 2015
Releng 2015 will take place in concert with ICSE in Florence, Italy on May 19, 2015. The program is now . Register available here! by ©, Creative Commons by-nc-sa 2.0 via romana in firenze pinomoscato
Running a large continuous integration farm forces you to deal with many dynamic inputs coupled with capacity constraints. The . People add more tests. We build and test on a new platform. If the number of machines available remains static, the computing time associated with a single push will increase. You can scale this for platforms that you build and…
Bandcamp was offline briefly yesterday due to what I like to call an unexpected single point of failure. Good systems design is all about addressing single points of failure, making sure you have redundancies in place, but sometimes you discover single points of failure that you didn’t realise you had. Yesterday’s problem was caused by […]
A walkthrough on how to detect and broadcast geolocation data in real time using JavaScript and HTML5 location services.
I keep encountering situations where RDBMS users think that one second for query execution is anything near fast. Most recently, in this Stack Overflow question: Hibernate SQL In clause making CPU usage to 100% The poster’s original question was why a similar query executes in one second when executed in SQL Server Management Studio whereas … Continue reading Do Not…
27 Apr 2015
LOBs are a PITA in all databases, as well as in JDBC. Handling them correctly takes a couple of lines of code, and you can be sure that you’ll get it wrong eventually. Because you have to think of a couple of things: Foremost, LOBs are heavy resources that need special lifecycle management. Once you’ve … Continue reading Let’s Review…
Introduction Suppose you want to sample from the truncated normal distribution. One way to do this is to use rejection sampling. But if you do this naïvely then you will run into performance problems. The excellent Devroye (1986) who references Marsaglia (1964) gives an efficient rejection sampling scheme using the Rayleigh distribution. The random-fu package … Continue reading Rejection Sampling
25 Apr 2015
24 Apr 2015
One of the many challenges of software testing has always been cross-browser testing. Despite the web’s overall move to more standards compliant browser platforms, we still struggle with the fact that sometimes certain CSS values or certain JavaScript operations don’t translate well in some browsers (cough, cough IE 8). In this post, I’m going to […]
Unattended installation of Windows Server 2012 R2 in VirtualBox and getting an 0x80042565 error
SchakkoToday I struggled with a working configuration for an autounattend.xml for 9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_DE-DE-IR3_SSS_X64FREE_DE-DE_DV9.ISO (Windows Server 2012 R2, Standard, Standard Core, Datacenter and Datacenter Core). The unattended installation inside VirtualBox always failed with an error 0x80042565 or did not use the partition scheme I had previously provided. I suppose that the problem occured in […] The post Unattended installation of Windows Server…
How to collect and plot real-time financial data based on performance using NVD3, PubNub, and AngularJS.
Running a Bamboo CI Server Remote Agent on a Windows Server (Cloud) This post is dedicated to all the lost souls out there of people who try to get a Bamboo Remote Agent Windows server to work. We scratched our The post Running a Bamboo CI Server Remote Agent on a Windows Server (Cloud) appeared first on FullStack - Ofer…
23 Apr 2015
illustration by adrien griveau Roy Fielding’s dissertation thesis on “Architectural Styles and the Design of Network-based Software Architectures” albeit published in 2000, is still a goldmine in 2015. For those who are not familiar with Fielding’s work, he is one of the authors of the Apache web server, he has worked on the first specification of HTTP, and he is…
22 Apr 2015
How to use the Tessel Climate module, AngularJS, the NVD3 library, and PubNub to graph real-time Tessel temperature and humidity data over a WiFi network.
21 Apr 2015
As I’ve mentioned before, I’m part of the technical group looking at updating the ECMA-334 C# standard to reflect the C# 5 Microsoft specification. I recently made a suggestion that I thought would be uncontroversial, but which caused some discussion – and prompted this “request for comment” post, effectively. What does the standard say about … Continue reading Precedence: ordering…
You wouldn’t believe it until you try it yourself. I’ve been using the Eclipse Mars developer milestones lately, and I’ve been having some issues with slow compilation. I always thought it was because of the m2e integration, which has never been famous for working perfectly. But then, it dawned upon me when I added a … Continue reading Is Your…
How to collect and publish temperature and humidity data in real time using the Tessel Climate module.
ftp.mozilla.org has been around for a long time in the world of Mozilla, dating back to original source release in 1998. Originally it was a single server, but it’s grown into a cluster storing more than 60TB of data, and serving more than a gigabit/s in traffic. Many projects store their files there, and there must be a wide range…
20 Apr 2015
How to build an earthquake warning and monitoring system with Ruby, littleBits, and PubNub to send alerts and notifications in real time.
Our test environment takes 6-9 seconds to load before any tests get run. I tire of this during the ~30 times I run the test suite a day,1 so I wanted to make it faster. For better or worse, the API runs on Sails.js. Before running model/controller tests, a bootstrap file in our tests calls […]
19 Apr 2015
If you use a computer, you could use your terminal to make huge improvements to your work flow. This article talks about getting started and writing aliases to customize your experience.
18 Apr 2015
This tutorial shows step-by-step how to bootstrap a Lumen project, configure MySQL, create migrations and models, seed the database, define routes and templates to build a fully working motivational quote web app in less than 30 minutes.
17 Apr 2015
One of the chief promises of the cloud is fast scalability, but what good is snappy scalability without load prediction to match? How many teams out there are still manually switching group sizes when load spikes? If you would like to make your Amazon EC2 scaling more predictive, less reactive and hopefully less expensive it is […]
This blog post looks at different Arduino boards to help you pick the right board for whatever your Internet of Things use case is.
A few months ago Clever had the opportunity to give a talk to the GoSF Meetup group (the “largest Go meetup group in the world”!). Mohit and Alex discussed their experience creating Sphinx (our rate limiting service) and the usefulness of Go’s interfaces in doing so. Here are the slides: There are a few reasons […] The post Using Go’s…
16 Apr 2015
Here is my list of heuristics and rules of thumb for software development that I have found useful over the years: Development 1. Start small, then extend. Whether creating a new system, or adding a feature to an existing system, I … Continue reading →
(photo source/cc) They say that history repeats itself, first as tragedy, then as farce. Never has this principle been more apparent than in this new piece by Washington Post reporters Ellen Nakashima and Barton Gellman: ‘As encryption spreads, U.S. grapples with clash between privacy, security‘. The subject of the piece is a renewed effort by … Continue reading How do…
An overview of RubyBits, a blog series on teaching about hardware programming for modular IOTprojects using the Ruby language and littleBits
A tutorial for how to build an Android iBeacon (beacon) emitter, the app that publishes signals to Android iBeacon detectors to trigger action.
15 Apr 2015
Here's March 2015's monthly analysis of the pushes to our Mozilla development trees. You can load the data as an or as a . The number of pushes increased from those recorded in the previous month with a total of 10943. HTML page json file Trends Highlights General Remarks Records 10943 pushes 353 pushes/day (average) Highest number of pushes/day: 579…
A tutorial of how to build an Android beacon (aka iBeacon) detector, the app that listens for signals from the emitter and triggers an action.
illustration: Adrien Griveau Hi there. My name is Nicolas Mondollot, I am the CTO of Drivy — an awesome peer-to-peer car rental service. We launched our german website in early 2015. Here are some things we learned along the way. When you start a website you usually start small: one website, hosted on one domain, targeting one country and one…
14 Apr 2015
Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective. This includes people who work with SQL, Java, Open Source, and a variety of other related topics. We have the pleasure … Continue reading jOOQ Tuesdays:…
13 Apr 2015
A collection of tutorials and code walkthroughs on connecting embedded boards to the Internet, and a number of IoT projects as well.
Syntax is one of those topics. One of those emotional topics that lead to very very very important discussions. I personally like PL/SQL. It is extremely verbose, and precise. It forces you to adhere to a very strong and rigid type system, slowing you down, which is likely to help you avoid mistakes. There is … Continue reading It’s the…
12 Apr 2015
NOTE: This article has been superseded by my more recent one here How to use EC2 GPU machines + Steam In-Home Streaming + a VPN to play AAA titles on a shitty laptop You might have tried a service like the now defunct OnLive. Though personally I’ve played and beat many AAA games on the service, it unfortunately a) had…
10 Apr 2015
At Bazaarvoice we use Dropwizard for a lot of our java based SOA services. Recently I upgraded our Dropwizard dependency from 0.6 to the newer 0.7 version on a few different services. Based on this experience I have some observations that might help any other developers attempting to do the same thing. Package Name Change […]
The Internet of Things drives the new city, and smart cities are estimated to use 1.1 billion connected devices in 2015.
9 Apr 2015
This blog post only applies to the Conversations API and does not apply to any other Bazaarvoice product. You are able to identify the Bazaarvoice Conversations API by the following: Path includes ‘data’: http://api.bazaarvoice.com/data/reviews.json? Code related to the Bazaarvoice Hosted Display does not need modification. It can be identified by the following: References ‘bvapi.js’: http://display.ugc.bazaarvoice.com/static/ClientName/en_US/bvapi.js […]
How to trigger a littleBits LED light in real time whenever a tweet is sent through the Twitter firehose with Node.js using Johnny-Five.
How to build a Tessel iBeacon emitter to publish data to a Tessel Beacon emitter. Part 3 of our series on building Tessel iBeacon technology with PubNub.
Reddit and Duck Duck Go recently announced that they are eliminating salary negotiations, in part to help even the playing field for men and women, since men are more likely to negotiate salaries than women. Men negotiate harder than women do and sometimes women get penalized when they do negotiate. So as part of our […]
You’re not into the functional mood yet? Then the title might not resonate with you – but the article will! Trust me. Essentially, we want this: +------+------+------+ | col1 | col2 | col3 | +------+------+------+ | A | B | C | row 1 | D | E | F | row 2 | G … Continue reading How to…
Definition Kubernetes – κυβερνήτης • (kyvernítis) m governor (leader of a region or state) (nautical) captain, skipper pilot (of an aircraft) Motivation We recently moved to a new office and discovered that one of our bare metal Continuous Integration build agents didn’t survive the move. Since other developers were already unhappy with the fact, that the […]
My taste in financial advice runs toward the simple and the lessons I’ve learned the hard way. But I still like reading about investing/finance, and I recently read through the 2014 annual report for Berkshire Hathaway. Given that it was the 50th anniversary of Warren Buffett taking charge of Berkshire, I have to admit that […]
8 Apr 2015
Sometimes it’s obvious what code has to change, but it’s painfully hard to prove you’ve fixed it. When’s the last time a conceptually simple fix took you hours longer to than planned, because you could not get the project running locally to verify your change worked? I just want to change a little CSS on […] The post Aviator: locally…
7 Apr 2015
How to build a Tessel iBeacon detector to receive data from a Tessel Beacon emitter. Part 2 of our series on building Tessel iBeacon technology with PubNub.
How to build a smart, two-way Tessel beacon, including a full tutorial, code, and demo. This is the equivalent of an iBeacon made with Tessel.
Sometimes you simply cannot avoid it: Pessimistic locking via SQL. In fact, it’s an awesome tool when you want to synchronise several applications on a shared, global lock. Some may think this is abusing the database. We think use the tools you have if they can solve the problem you have. For instance, the RDBMS … Continue reading How to…
6 Apr 2015
Remember, in Part 1 I asked you a question: “How do you run a Django application, Flask application, and Pyramid application under your freshly minted Web server without making a single change to the server to accommodate all those different Web frameworks?” Read on to find out the answer. In the past, your choice of a Python Web framework would…
I have a little secret: I don’t like the terminology, notation, and style of writing in statistics. I find it unnecessarily complicated. This shows up when trying to read about Markov Chain Monte Carlo methods. Take, for example, the abstract to the Markov Chain Monte Carlo article in the Encyclopedia of Biostatistics. Markov chain Monte Carlo (MCMC) is a technique…
3 Apr 2015
This full tutorial walks you through implementing the PubNub Publish/Subscribe JavaScript API
2 Apr 2015
A few weeks back I wrote an update on the Truecrypt audit promising that we’d have some concrete results to show you soon. Thanks to some hard work by the NCC Crypto Services group, soon is now. We’re grateful to Alex, Sean and Tom, and to Kenn White at OCAP for making this all happen. You … Continue reading Truecrypt…
How to build a multi-user, collaborative to-do app with Java for Android mobile users. Full tutorial and downloadable, open source code.
Imagine you have a list of items: (Don’t judge me. Books from this random book generator) Now you’d like to create a new list where the third item only is replaced by some new value: Of course, you could go and either modify the original list: … or create a copy of the original list … Continue reading How to…
1 Apr 2015
How to build an end-user application for receiving location coordinates in real time being streamed from a broadcaster application.
I’ve recently had a very interesting discussion with Sebastian Gruber from Ergon, a very early jOOQ customer, whom we’re in close touch with. Talking to Sebastian has lead our engineering team to the conclusion that we should completely rewrite the jOOQ API. Right now, we already have lots of generics for various purposes, e.g. Generics … Continue reading Don’t be…
This was an April Fool’s joke. I’ve been working really hard with some friends on a project to handle SEO automatically. Now we’re ready to take the wraps off it over at seo.ninja. One of the ideas that helped the World Wide Web succeed was that it separated presentation and content. You could write your […]
31 Mar 2015
How to build an app with JavaScript that uses an animated map to select & stream location coordinates to multiple end-user applications in real time.
Lets face it, Do Not Track (DNT) is dying a slow death. Content providers are either ignoring the setting, or giving lip service to DNT while taking no action behind the scenes. Worse yet, if users are able to find the browser preference, they don’t understand its purpose or value. Enabling the feature is confusing, and quite inconsistent between browser…
To create a custom map was never so simple. MapTiler converts your map into the high resolution format compatible with Garmin handheld GPS devices.
29 Mar 2015
It's really common to see claims that some meme is backed by “studies” or “science”. But when I look at the actual studies, it usually turns out that the data are opposed to the claim. Here are the last few instances of this that I've run across. Dunning-Kruger A pop-sci version of Dunning-Kruger, the most common one I see cited,…
28 Mar 2015
Update: Two months after making this post, it’s already out of date, 2015 will feature ten Go conferences. Last month, during my concluding remarks at Gophercon India, I threw out a statistic: In 2014 there were five international Go conferences. In 2015 there will be seven. Barely a month on from this statement I must […]
So, this week I attended QCon-SP.
27 Mar 2015
Recently, I’ve spent some time recently profiling real-world mobile websites. Using the 1000/100/6 performance model1, and spelunking deep into each app, the findings have been fascinating. I’ve written up case study documents for each, incorporating all the findings: Illustrated diagnoses for the poor performance What actions the developer should take How Chrome’s tooling should improve Questions and insights for the…
26 Mar 2015
This post continues the discussion from Automated Product Matching, Part I: Challenges. System First, Algorithm Second With each design iteration, I gradually came to appreciate how important it was to have an overall matching system that was well designed. The quality of the matching algorithm did not matter if its output was going to be […]