Intro # So I need to create an IPSEC point to point link between two sites so my two FreeNAS boxes can replicate between each other as per this project. I already run my network on PfSense and have done for a few years now and think it’s great so slapping a PfSense box at my mother’s house seemed like…
10 Aug 2015
8 Aug 2015
This article is also available in Japanese, イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 This article is based on a presentation I gave earlier this year at OSCON. It has been edited for brevity and to address some of the points of feedback I received after the talk. A common refrain when talking about Go is it’s a language […]
7 Aug 2015
One commit a day. A lesson I’ve learned the hard way when dealing with long-term side projects. The first push You are starting a new side project. That new library, framework, cool app idea or just a hack you had in your mind for long time. Starting it is easy, as you find some spare time and kick off your…
6 Aug 2015
It’s about time we got back to computational topology. Previously in this series we endured a lightning tour of the fundamental group and homology, then we saw how to compute the homology of a simplicial complex using linear algebra. What we really want to do is talk about the inherent shape of data. Homology allows us to compute some qualitative…
5 Aug 2015
Your data fits in RAM. Yes, it does. Don’t believe it? Visit the hilarious yourdatafitsinram.com website. But there is an entirely new dimension to this since last week’s announcement by Intel, which hasn’t gotten enough attention in the blogosphere yet. New 3D XPoint™ technology brings non-volatile memory speeds up to 1,000 times faster than NAND, … Continue reading RAM is…
4 Aug 2015
How to build a fully-featured IoT connected Raspberry Pi smart house. In this part, we'll show you how to remote control LEDs and adjust brightness with PWM
How to build a fully-featured IoT connected Raspberry Pi smart home. In this part, the temperature and humidity sensors, and stream to a live web UI.
Have you ever wondered how you could express a predicate that “feels” like the following, in SQL: /u/CyBerg90 has, on reddit. The idea was to create a predicate that yields true whenever both values Var1 and Var2 yield either 1, 2, or 3. The canonical solution The canonical solution would obviously be to write it … Continue reading INTERSECT –…
3 Aug 2015
I’ve seen many articles and discussions online discussing the merits of merge and rebase when integrating parallel branches into the main branch. It seems there are two camps arguing “which is better” when in reality, both have their own use cases. The task we need to accomplish is to determine which workflow is right for your project. This article will…
I was interviewed for the CodeNewbie podcast, where I talk about life, IBM Design, open source, and personal goals.
2 Aug 2015
When introduced to someone for the first time, I stay away from asking the cliché question “so what do you do?” This seemingly benign question is steeped in the cultural heritage of the New England colonial Puritan/Protestant work-ethic. Hard work, frugality, perseverance in the face of hardship (without complaint) is the mark of Grace and this will allow you to…
1 Aug 2015
When using the Mail facade in Laravel it is not so easy to test the output of the parsed mail template. Like http://stackoverflow.com/questions/31120567/unittesting-laravel-5-mail-using-mock I received the error Method Mockery_0__vendor_Swift_Mailer::getTransport() does not exist on this mock object. I ended up in listening to the mailer.sending event: public function testRegistrationMailIsSend_afterSubmittingForm() { // […] The post Integration testing the mail dispatching in Laravel…
31 Jul 2015
"GopherCon 2015: Where infrastructure meets innovation and inclusivity"
30 Jul 2015
An introduction to the Babel JavaScript compiler, the future of JavaScript, JavaScript standards, and a review of Babel's architecture.
Equality in the digital realm: Where technology levels the playing field.
In Go, it’s dead simple to get the value from an environment variable:
29 Jul 2015
A look at what's been done with Apple CarPlay, what the future holds, and where PubNub sits with Apple CarPlay and connected car as a whole.
Why did Rails become so popular, so quickly? The simplicity helped, especially if you came from the Java, XML, Enterprise world. It was also marketed incredibly well. But that’s not everything. A lot of Rails’ success in the startup world came from a simple fact: The problems businesses have aren’t that unique. Rails was great at creating CRUD sites, while…
28 Jul 2015
Method overloading has always been a topic with mixed feelings. We’ve blogged about it and the caveats that it introduces a couple of times: You Will Regret Applying Overloading with Lambdas! Keeping things DRY: Method overloading Why Everyone Hates Operator Overloading API Designers, be Careful There are two main reasons why overloading is useful: To … Continue reading Java 8’s…
In my last post I wrote about how to define the test environment for database integration tests. Now I want to describe, how the database can be populated with test or stam data. First of all, every test inherited from the generated TestCase class executes the Artisan migrate command (TestCase::prepareForTests()). […] The post Seeding the database for integration tests in…
Intro # So I started off my IT career as an intern for a rather large company in London. I was doing a lot of misc stuff, mostly desktop but always pushed for as many networking bits I could, networking is great. A year later and here I am as a junior network engineer on the path to my CCNA…
27 Jul 2015
First note: this blog post is very much tongue in cheek. I’m not actually planning on using the idea. But it was too fun not to share. As anyone following my activity on GitHub may be aware, I’ve been quite a lot of work on Protocol Buffers recently – in particular, a mostly-new port for … Continue reading “Sideways overriding”…
As far as I have read, in Laravel 4 you could define your database integration test environment by adding a testing/database.php or .env.testing.php file containing your configuiration. In Laravel 5 both ways does no longer work. To switch your environment you have two options: Put both configuration definitions (testing, dev/production) […] The post Test environments for database integration tests in…
Update (August 11th): A patch for this bug has been released by Microsoft. Here’s their update to the advisory: We released an updated version of RyuJIT today, which resolves this advisory. The update was released as Microsoft Security Bulletin MS15-092 and is available on Windows Update or via direct download as KB3086251. The update resolves: CoreCLR #1296, CoreCLR #1299, and…
A journalists take on my OSCON talk — Open Source Design, A Love Story.
25 Jul 2015
This post highlights 6 important rules to keep in mind when developing performant web applications: avoid premature optimization, do the minimum required work, defer non-critical tasks, leverage caching, avoid N+1 queries, and design for horizontal scaling. Following these guidelines will help you write efficient code from the start and build apps ready to handle growth.
24 Jul 2015
For two weeks I have been heavily developing a new web application based upon Laravel. Tonight I searched for an easy filtering solution like Zend_Filter so that the request strings are automagically trim’d, lowercased, and so on. Lucky me, the repository https://github.com/rmasters/filter is available with a composer.json but latest commit […] The post Using GitHub forks or local Git repositories…
Seamlessly bridging Go and C++: A practical guide to shared libraries.
My Developers Are Smarter Than Your DBAs by @Nick_Craver What would you say...you do here? Last month at Stack Overflow: 1,468,389,303 Page Views 5,183,954,727 HTTP Hits 71,562,833,811,315 Bytes Sent 3,202,505,376 CDN Hits 54,400,000,000,000 CDN Bytes 19,532,899,854 SQL Queries 81,505,688,410 Redis Ops 18.2ms Average Render Time ...at roughly 5-10% capacity How do we do that? Go that way, really fast. If…
23 Jul 2015
21st Century C by Ben Klemens was a great read. It had a section with an intro to autotools, git, and gdb. There are a few other useful tools that came to mind that I’ve used when working with C and C++ codebases. These tools are a great way to start contributing to Open Source C & C++ codebases; running…
22 Jul 2015
A short while ago, I gave this answer on Quora. The question was “What is the significance of NULL in SQL?” and most of the existing answers went on about citing C.J. Date or Tony Hoare and unanimously declared NULL as “evil”. So, everyone rants about NULL all the time. Let me counter-rant. Academics Of … Continue reading NULL is…
How to get started with the Raspberry Pi 2 and PubNub in the Python Programming Language for real-time streaming of sensor data and triggering device action.
21 Jul 2015
How to get started with the Raspberry Pi 2 and PubNub in the C Programming Language for real-time streaming of sensor data & triggering device action.
Ruby conferences are awesome. There are so many people sharing so much knowledge, and you’ll take something away from almost every talk. And even if you can’t be there, new conferences mean lots of new talk videos. But there’s a problem. Videos take time. Even at 1.5x, they’ll still last 20 or 30 minutes each. And that’s focused time that’s…
20 Jul 2015
The past several months have seen an almost eerie re-awakening of the ‘exceptional access’ debate — also known as ‘Crypto Wars’. For those just joining the debate, theTL;DR is that law enforcement wants software manufacturers to build wiretapping mechanisms into modern encrypted messaging systems. Software manufacturers, including Google and Apple, aren’t very thrilled with that. … Continue reading A history…
Last update: April 16th, 2017 Microsoft’s marketing department often names its products in names that don’t reveal anything about their “real” version numbers. Recently it’s mainly years, like “Visual Studio 2015” but it could be numbers which don’t correspond to The post Microsoft Developer Products Version & Release Numbers appeared first on FullStack - Ofer Zelig's Blog.
Oracle will remove the internal sun.misc.Unsafe class in Java 9. While most people are probably rather indifferent regarding this change, some other people – mostly library developers – are not. There had been a couple of recent articles in the blogosphere painting a dark picture of what this change will imply: Dripstat‘s Removal of sun.misc.Unsafe … Continue reading What the…
17 Jul 2015
This spring, I took several online courses on the topic of data science. I became interested in expanding my skills in this area because as release engineers, we . I wanted to learn new tools to extract useful information from the . This xckd reminded me of the challenges of managing our buildfarm somedays :-) I took three courses from…
If you’re familiar with nearly any mainstream programming language, and I asked you to draw a diagram of an array, the array indices, and the array elements, odds are good you’d produce a diagram something like this: In this post, I want to persuade you to replace that image, or, at least, to augment it with an alternate view on…
A technology preview for Apple Watch and PubNub, to build real-time communication for Apple Watch apps including chat, home automation, and IoT.
16 Jul 2015
How to build real-time bidirectional communication into your Microchip PIC32 microcontroller IoT app, including Pub/Sub messaging for triggering action.
15 Jul 2015
When you research how to deploy your Rails app, you’ll see a lot of names: Apache, Unicorn, Puma, Phusion Passenger, Nginx, Rainbows, and many more. They all seem to fit under the “deploying Rails” category of software, but there’s a key difference between them. Some are “web servers,” and others are “app servers.” Once you understand which is which, and…
Unleash Go's power: Create shared libraries for seamless language integration!
14 Jul 2015
A quick start guide on using the ESP8266 module as an IoT device powered by PubNub publish/subscribe messaging.
With preparations for the fall conference season coming up, here are some travel tips to help make your life a little bit easier.
13 Jul 2015
In 2014 the White House commissioned a 90-day study that culminated in a report (pdf) on the state of “big data” and related technologies. The authors give many recommendations, including this central warning. Warning: algorithms can facilitate illegal discrimination! Here’s a not-so-imaginary example of the problem. A bank wants people to take loans with high interest rates, and it also…
Theorem Let and be measures on with , a sub -algebra and an integrable random variable () then Proof Thus Hence We note that is -measurable (it is the result of a projection) and that Hence as required.
10 Jul 2015
Diving deep: How to allocate memory without malloc in Linux assembly.
How to build a Raspberry Pi text-to-speech app where text is entered remotely and played back as audio using Windows 10 IoT SpeechSynthesizer.
9 Jul 2015
How to collect humidity and temperature data using a Raspberry Pi humidity sensor (DHT 22), and stream the data to a real-time, live-updating dashboard.
Or: how to ship your app in a <20Mb container.
8 Jul 2015
How to build a collaboration app that allows multiple users to play music with one another, where notes and beats are recorded and synced in real time
This article is also available in Korean, thanks to Dohyung Ahn! Thom Parkin made a great point in the comments of an earlier article of mine: Great advice. But you missed one very important [final] point. Since this is Open Source, once you have figured out the details of that feature/function where the documentation is a bit light, YOU SHOULD…
How designers can contribute to open source, an interview for the OSCon Speaker Interview Series.
7 Jul 2015
A ridiculous frankenstein of a name for a legitimate approach to CSS that pulls ideas from the most popular approaches.
6 Jul 2015
How to build chat user identification with digital signature message verification, an important part of chat security for protecting users & privacy.
5 Jul 2015
My least favorite topic in the world is ‘Women in Tech’, so I am going to make this short but I think it’s something that needs to be said. This industry is fucked. Ever since I started speaking at conferences and contributing to open source projects I have been endlessly harassed. I’ve gotten hundreds of private messages on IRC and…
Playing Witcher 3, a GPU-intensive game on a 2015 fanless Macbook I’ve written about using EC2 as a gaming rig in the past. After spending some time and getting all sorts of feedback from many people, I’m re-writing the article from before, except with all the latest and greatest optimizations to really make things better. Now we’re using things like…
There are a lot of Java API’s and Frameworks which rely on static methods and the sort. Arguably, this is a bad OOP practice, but let’s not enter this particular subject just yet.
3 Jul 2015
In their amazing book “The 5 Elements of Effective Thinking” the authors Burger and Starbird share a story about how they observed Tony Plog, an internationally acclaimed trumpet virtuoso, conduct a master class for accomplished trumpet players. The students first played complex music phrases, which they played perfectly well. But then they were asked to play very basic, simple notes.…
2 Jul 2015
Hi, I’m Guillaume, I am the CTO and co-founder of Wisembly , a SaaS solution facilitating interactions during your big meetings and events. We recently launched a beta of our new product: Solid to help you make your every-day-meetings more productive and actionable. This is the story of how we improved our performance by changing and adding elements to our…
This is a short blog post explaining why I believe that Go and Rust are not competitors. Why people think Rust and Go are competitors To explain why I think Rust and Go are not competitors, I want to to lay out the reasons why I think the question is being asked in the first place. Rust […]
1 Jul 2015
How to get started with Storage & Playback, History, and Presence using the PubNub Objective-C SDK for Swift for real-time iOS apps.
We’re excited to announce $20 million in Series C funding led by Sapphire Ventures, joined by prior investors Scale Venture Partners and Relay Ventures.
This tutorial gets you up and running with Swift and PubNub publish/subscribe messaging to build real-time iOS apps.
30 Jun 2015
So it turns out I’m pretty bad at vacation. I had this idea for a blog post and one thing lead to another and here we are… You probably know by now I hate installing things on my host. At my previous job we did a lot of work with using Python and R for data science. I still love…
How to build a real-time Raspberry Pi security camera system that streams video and sends real-time alerts when motion is triggered.
(Notice, this post has been written a while ago. jOOQ now supports JSR 310 data types) There was an interesting discussion recently on the jOOQ mailing list about jOOQ’s current lack of out-of-the-box support for TIMESTAMP WITH TIME ZONE data types. No one said that date, time and timezones are easy! There’s an amusing piece … Continue reading What’s Even…
Imagine a question that can be either “pending”, “approved”, or “flagged”. Or a phone number that’s a “home”, “office”, “mobile”, or “fax” (if it’s 1982). Some models call for this kind of data. An attribute that can have only one of a few different values. And that set of values almost never changes. It’s a situation where, if it were…
Maps vs. slices: Choose wisely for optimal performance.
29 Jun 2015
Hi. This is part 2 of the “How to set local AOSP Gerrit server”, you might want to start with part 1 here. In part 1 we’ve downloaded all the necessary stuff and in this post we’re going to set it all up. First thing, let’s bootstrap Gerrit. Let’s create a Gerrit user: $ sudo […]
Download our brand new, free white paper, A New Approach to IoT Security: 5 Key Requirements to Securing IoT Communications, and learn about IoT security!
go build generates a binary for the platform you run it in. So, if I build antibody in a Linux machine - which uses Mach-O, it will not work in OS X - which uses ELF.
Recently I became infatuated with TIS-100, a game which aptly describes itself as “the assembly language programming game you never asked for!” The point of the game is to program the (imaginary) TIS-100 CPU to solve problems. For example, you might need to take input from two ports and swap them, then write the outputs to two other ports. The…
25 Jun 2015
In the past 5 years, I have been Chief Technical Officer of two startups — one, GoCar has been acquired and one, Solved, has been discontinued — and helped many others as a technical advisor. What characterizes startups is that they have to ship a lot of results with limited resources. As CTO, your daily job is to lead the…
How to trigger Raspberry Pi hue LEDs from an Android UI in real time. Change colors, turn on and off, and monitor state in real time.
23 Jun 2015
This article is also available in Korean, thanks to Soonsang Hong! Rails’ scopes make it easy to find the records you want: app/models/review.rb class Review < ActiveRecord::Base belongs_to :restaurant scope :positive, -> { where("rating > 3.0") } end irb(main):001:0> Restaurant.first.reviews.positive.count Restaurant Load (0.4ms) SELECT `restaurants`.* FROM `restaurants` ORDER BY `restaurants`.`id` ASC LIMIT 1 (0.6ms) SELECT COUNT(*) FROM `reviews` WHERE `reviews`.`restaurant_id`…
When running a Maven build with many plugins (e.g. the jOOQ or Flyway plugins), you may want to have a closer look under the hood to see what’s going on internally in those plugins, or in your extensions of those plugins. This may not appear obvious when you’re running Maven from the command line, e.g. … Continue reading How to…
Getting started with GCM for Android and PubNub to send real-time mobile push notifications to mobile users.
22 Jun 2015
UPDATE At about 23:00 (Pacific time, June 23) Google announced that they are removing the hotwording component entirely from Chromium: “it is not open source, it does not belong in the open source browser”. Good news. A few days ago, The post Not OK, Google appeared first on FullStack - Ofer Zelig's Blog.
How to build a basic JavaScript multiplayer game, where user moves are synced in real time as the player makes a move.
20 Jun 2015
This blog post is going to explain how to route traffic on your host through a Tor Docker container. It’s actually a lot simplier than you would think. But it involves dealing with some unsavory things such as iptables. Run the Image I have a fork of the tor source code and a branch with a Dockerfile. I have submitted…
Introduction If you look at the wikipedia article on Hidden Markov Models (HMMs) then you might be forgiven for concluding that these deal only with discrete time and finite state spaces. In fact, HMMs are much more general. Furthermore, a better understanding of such models can be helped by putting them into context. Before actually … Continue reading Some Background…
19 Jun 2015
Timeless wisdom for crafting better code: Essential software engineering practices.
17 Jun 2015
Decoding the programmer's job hunt: It's simpler than you think!
How to turn your phone into a motion controller to control actions in real time to interact with a web browser game. It's a DIY Nintendo Wii!
Before you read on, please note that since jOOQ 3.19, policies are supported out of the box, to implement the same functionality in a much simpler way than what this article suggests! Some time ago, we’ve promised to follow up on our Constraints on Views article with a sequel showing how to implement client-side row-level … Continue reading Implementing Client-Side…
tl;dr I’m burying the lede with context and catch-up material first, so impatient or already-clued-in readers should skip to below the videos for today’s big news. Or just read Luke Wagner‘s blog post right now. My Fluent 2015 “ECMAScript Harmony: Rise of the Compilers” talk given on April 21st: Jeremy Ashkenas picked up this ball … Continue reading "From ASM.JS…
16 Jun 2015
In an , I wrote how we had reduced the amount of test jobs that run on two branches to allow us to scale our infrastructure more effectively. We run the tests that historically identify regressions more often. The ones that don't, we skip on every Nth push. We now have data on how this reduced the number of jobs…
jOOQ is a great way to do SQL in Java and Quasar fibers bring a much improved concurrency We’re excited to announce another very interesting guest post on the jOOQ Blog by Fabio Tudone from Parallel Universe. Parallel Universe develops an open-source stack that allows developers to easily code extremly concurrent application on the JVM. … Continue reading Querying Your…
How to build a Raspberry Pi motion sensor that when triggered sends real-time alerts to a web interface.
There are a ton of books, videos, podcasts, and courses for learning Rails. There’s no way you’d have time to go through them all! So what’s the best way for an absolute beginner to learn Ruby and Rails? Which resources should you start with, and when? Books and websites If you’re totally new to programming, the best place to start…