20 Nov 2012
17 Nov 2012
I spoke at PubCon 2012 last month in Las Vegas. A couple people have asked for my slides, so here they are: Several of the slides have links to additional information, in case you’re interested. We announced the disavow links tool during my session so that’s what a lot of the slides are about.
14 Nov 2012
If you are currently a software engineer you need to realize two things: Now is an awesome time to be a software engineer (probably the best time ever). Your job might not be well suited for you. I’ll show you why we are lucky bastards, why we aren’t so good at picking the right jobs and some hints on how…
13 Nov 2012
12 Nov 2012
11 Nov 2012
Last time we investigated the (very unintuitive) concept of a topological space as a set of “points” endowed with a description of which subsets are open. Now in order to actually arrive at a discussion of interesting and useful topological spaces, we need to be able to take simple topological spaces and build them up into more complex ones. This…
10 Nov 2012
Problem: Prove there are infinitely many primes Solution: Denote by $ \pi(n)$ the number of primes less than or equal to $ n$. We will give a lower bound on $ \pi(n)$ which increases without bound as $ n \to \infty$. Note that every number $ n$ can be factored as the product of a square free number $ r$…
8 Nov 2012
Last week two other Twilio engineers and I went to the Columbia engineering career fair. We had a great time and talked to a lot of really smart people. However I was surprised at some of the naive mistakes students made when we were talking. We're there to try to hire students and students are […]
4 Nov 2012
In our last primer we looked at a number of interesting examples of metric spaces, that is, spaces in which we can compute distance in a reasonable way. Our goal for this post is to relax this assumption. That is, we want to study the geometric structure of space without the ability to define distance. That is not to say…
One way of visualizing a distribution is to take lots of samples for it and plot the resulting histogram. To do this we use the diagrams package. {-# LANGUAGE TupleSections #-} import Diagrams.Prelude import Diagrams.Backend.Cairo.CmdLine import Data.Colour (withOpacity) To generate the actual samples (in this case from the beta distribution) we use the random-fu and … Continue reading Plotting a…
2 Nov 2012
If you do front-end web development and already use Chrome as your development browser, I encourage you to use Chrome Canary. A new Chrome Canary build is available daily (we cut at 2am PST and take the best of last 40 revisions, to be specific). Running fresh builds gives you great goodies to look forward: Chrome DevTools features $_ (for…
During RubyConf 2012 in Denver, Colorado Matt Aimonetti gave a talk entitled Ruby Vs. The World. ##Description of the talk: Ruby is an awesome programming language, it’s so pleasing you probably haven’t seriously looked at other languages since you switched. The programming world is evolving fast, new languages are created daily, new trends are emerging. Let’s take some time to…
The web has come a long way. We have APIs that allow developers to create amazing applications quickly, and browser technologies have…
1 Nov 2012
For October 2012, I tried to practice the ukulele every day. I ended up doing more traveling than I expected, but I managed to play ukulele most of the days. I’m still a total beginner, but it was a lot of fun! My favorite song to play so far is M.T.A. by the Kingston Trio. […]
31 Oct 2012
My fellow Americans, I’d like to introduce my latest Halloween costume: Matt Romney! My five-point plan for the Mitt Romney Halloween costume went like this: Start with a suit and tie. Put a little silver in my sideburns. My wife used some silver and white eye shadow. Swoosh the hair up a little bit and […]
29 Oct 2012
The great folks at Treehouse sat down with me for 30 minutes to talk about frontend development, my background, HTML5 Boilerplate and tooling. A few highlights: 3:40 Where’d I grow up? What was I into? (Also, the supercool IE4 DHTML event I went to!) 14:45 What’s my favorite feature inside the HTML5 Boilerplate? 18:34 Will web development even out where…
25 Oct 2012
23 Oct 2012
Harnessing the power of marketing for positive social change.
21 Oct 2012
Every once in a while I read something along the lines of: “most developers just want to write new features, they don’t want to work with maintenance and bug-fixing”. If that’s true, then most developers are missing out on the fun … Continue reading →
16 Oct 2012
13 Oct 2012
This is a follow-up to Video, Mobile, and the Open Web. As promised there, OS-based H.264 support for the HTML5 <video> element has already landed in Gecko, and it just released this week in Firefox Beta for Android. Firefox OS (B2G to the early adopters!) also supports H.264 from the HTML5 <video> element. The challenge … Continue reading "HTML5 Video…
11 Oct 2012
Hello! Laravel is an awesome PHP framework created by Taylor Otwell. Actually, it is on the third version and it is one of the great PHP frameworks we have today. As a lot of frameworks, we have to create our own Apache Virtual Host to point to the public dir to improve security and only … Continue reading Deploying Laravel…
My grandfather has been seriously ill this week, so I’m flying tonight to be with him in Tennessee. If you’re waiting on me for a reply about something, it will probably need to wait. I still hope to attend PubCon next week but I can’t promise that I’ll be able to make it. Added: My […]
9 Oct 2012
This blog focuses on portions of the new-in-ES6 stuff I presented in my Strange Loop 2012 closing keynote, which was well-received (reveal.js-based HTML slides, some from my Fluent 2012 keynote, many of those originally from Dave Herman‘s Web Rebels 2012 talk [thanks!], can be viewed here; notes courtesy Jason Rudolph). UPDATE: the Strange Loop keynote … Continue reading "Harmony of…
During Aloha RubyConf 2012 in Honolulu, Hawaii Matt Aimonetti gave a talk entitled mmm..mruby or why yet another Ruby implementation. ##Description of the talk: mruby is Matz’ new Ruby implementation, it’s not cooler than node.js, it doesn’t natively support Hypstermedia, it looks just like the good old Ruby. So why should we, as a community care? Matt’s talk is divided…
8 Oct 2012
I absolutely love developing for the clientside of the web. Delivering the actual interactions and UI that all users feel is an absolutely gratifying experience. However… it’s not a piece of cake to develop for all desktop browsers, mobile browsers, and all the device/OS combinations within. It’s hard to track down accurate info, but hey we get by with an…
Last time we investigated the k-nearest-neighbors algorithm and the underlying idea that one can learn a classification rule by copying the known classification of nearby data points. This required that we view our data as sitting inside a metric space; that is, we imposed a kind of geometric structure on our data. One glaring problem is that there may be…
This is basically a review of, and a pros/cons rant about, Borderlands 2. If you're not into it, just don't read it! I'll write about stuff you like some other time. Maybe. So! I'm not the kind of person to say "I told you so." Noooo. Never. Well, never, unless, of course, I get to say it loudly, within hearing…
5 Oct 2012
During PulsoConf 2012 in Bogotá, Colombia Matt Aimonetti gave a talk entitled Tower of Babel: a tour of programming languages. ##Description of the talk: Programming languages affect the way one looks and solves problems. But comparing programming languages isn’t as simple as drawing a table comparing features. In his talk, Matt shows what he likes, dislikes, the philosophy and concrete…
3 Oct 2012
Demystifying memory: RES is real, VIRT is virtual.
2 Oct 2012
Numberphile posted a video today describing a neat trick based on complete sequences: The mathematics here is pretty simple, but I noticed at the end of the video that Dr. Grime was constructing the cards by hand, when really this is a job for a computer program. I thought it would be a nice warmup exercise (and a treat to…
On Saturday, we hosted Story Hack Boston along with P2PU and Mashery at the MIT Media Lab. About 50 people from content and technical backgrounds joined us to create new story telling experiences. The crowd was pretty evenly split, which made for a lot of awesome collaboration.
1 Oct 2012
Last month I did a secret 30 day challenge: everyday I did something nice for my wife. It could be surprising her with flowers, doing some chore around the house without her asking, or just trying to be present and focused when she wanted to talk. This challenge turned out really well. At first, I […]
29 Sept 2012
Bazaarvoice R&D had a great year of intensive university recruiting with 12 interns joining our teams last summer and working side-by-side with the developers on our products. We have further expanded the program this year to accommodate two co-op positions for students from the University of Waterloo. The influx of fresh ideas and additional energy […]
26 Sept 2012
Problem: Prove there are infinitely many prime numbers. Solution: First recall that an arithmetic progression with difference $ d$ is a sequence of integers $ a_n \subset \mathbb{Z}$ so that for every pair $ a_k, a_{k+1}$ the difference $ a_{k+1} – a_k = d$. We proceed be defining a topology on the set of integers by defining a basis $…
The New York Times has a big new feature up explaining why data centers at Google, Facebook etc. waste tons of electricity. Diego Doval, a former CTO at a popular startup, skewers the NYT with a 5,000 word critique of the factual inaccuracies in the post. Doval is right on with his critique, but there's […]
24 Sept 2012
The past few years’ browser focus on speed has been great for us and our users. We’ve seen a huge and dramatic performance boost on benchmarks like Sunspider, Kraken, and Octane. But, these benchmarks, often crafted by JavaScript VM engineers, test raw JavaScript performance, which is rarely the bottleneck we have in our apps. These days, our performance bottlenecks are…
23 Sept 2012
When I found out about the book “How Google Tests Software“, it didn’t take long until I had ordered a copy. I find it quite fascinating to read about how Google does things, whether it is about their development process, their … Continue reading →
21 Sept 2012
20 Sept 2012
Scala is a very interesting programming language. It has for goal to provide both Object Oriented and Functional Programming paradigms. Now Scala isn’t the only recent programming language out there mixing the two paradigms. Ruby, JavaScript and Clojure are other examples of popular languages implementing both functional and OO programming patterns. Of course, they each have a different take on…
19 Sept 2012
Hello all! Let’s continue with our WordPress series. Today I’ll write about the main files in a WordPress theme. First files Above we have some files that are basic for your new theme: index.php This file is the root file, the home page. When you open your WordPress website it’ll get this file content. Is … Continue reading Creating your…
18 Sept 2012
We’re making some changes to how we manage our App Gallery and wanted to take some time to explain them to you, our developer community. The…
16 Sept 2012
This post comes in preparation for a post on decision trees (a specific type of tree used for classification in machine learning). While most mathematicians and programmers are familiar with trees, we have yet to discuss them on this blog. For completeness, we’ll give a brief overview of the terminology and constructions associated with trees, and describe a few common…
15 Sept 2012
Hello everyone! As I said, this is our second post about Themes in WordPress. Today I’ll talk about: How to create page templates How to retrieve posts If you want you can read the first post about WordPress themes. Let’s GO! Page Templates You can customize pages the way you want, as you want. If … Continue reading Creating your…
14 Sept 2012
Here at Bazaarvoice, we’re constantly focused on improving the user experience for our products. From the initial email invitation, to the submission form, to the way in which reviews are presented, we want to make sure that our interfaces are as flexible and intuitive as possible. Part of my job on the mobile team at […]
13 Sept 2012
Hello again… Continuing with our first WordPress site, now we’ll understand how WordPress allow you to customize themes. If you didn’t read the first post about WordPress Thinking the WordPress Way – First Steps and want to learn how WordPress works, take a look. You don’t have to change your layout or using specific techniques … Continue reading Creating your…
Hello everybody! I work with PHP since 8 years and I never took a look on WordPress. In the start of this year a customer requires me to develop his next website, but using the WordPress. So I had to search some tutorials on the Internet and join informations to make my own way to … Continue reading Thinking the…
Hi all! Yesterday I publish a new blog theme and the spams arrived! Between 12 AM and 7 AM I received 12 spam emails in my Inbox. So, let’s get a free Akismet API Key. I’m using the Akismet WordPress Plugin. Locating the free plan When you open the Akismet signup page you’ll see 3 … Continue reading Getting an…
University-level education has never really touched too directly on what we do as frontend developers. I know I was self-taught in the ways of the browser, as were all of my friends. Luckily the sort of webapp work we do these days is quite sophisticated so those CS graduates bring much of the great ideas to the JavaScript community. (Alex…
This blog post shows you how to build a HTML5 chat app for both web and mobile, that also includes a chat user buddy list using Presence.
Hi all! I am here to present my new blog theme. I know that I have to blog more but I am not having time for that. So, yesterday I was thinking in a way to blog more and decided to create a new blog theme. I think a clean and small blog theme can … Continue reading My blog’s…
12 Sept 2012
11 Sept 2012
10 Sept 2012
8 Sept 2012
Unlock your creativity: A playful guide to entering the open mode.
7 Sept 2012
I’m planning to record some new webmaster questions next week. I made a Google Moderator page where you can submit topics and vote for different questions. Please ask your questions in on the Google Moderator page, not in the comments here. When the comments are in Moderator, people can vote them up and down.
4 Sept 2012
PubNub Channel Presence meant we also needed to provide a way for you to debug and learn about the Presence Event Delivery Format.
"High school success: A reliable predictor of life achievement, but not revolutionary thinking."
Stripe (https://stripe.com/) held their second capture the flag event, this time the CTF was dedicated to web-based vulnerabilities and exploits. As a new Security Engineer here at BV the timing of this was perfect. It allowed me to use it as a vehicle for awareness and to ramp up curiosity, interest and even excitement for […]
31 Aug 2012
Task for today was making the NuGet repository of TeamCity available in our local network. Sounds easier as it was as our TeamCity instance is available from the Internet but you can only access the rontend with valid domain credentials (LDAP/Active Directory authentication). Enabling the guest account feature in TeamCity would […] The post TeamCity: Make the NuGet repository available…
Democracy at work: Is it time to vote for your boss?
30 Aug 2012
Later this day I switched over to another task. TeamCity provides a fully functional NuGet repository server. My plan was migrating our own libraries and some 3rd party libraries from a direct dependency (binary file or as Git submodule) inside the project Git repositores to a system like Maven or Ivy […] The post NuGet and TeamCity: Repository for third…
WSUS: Moving from Windows Internal Database to external Microsoft SQL Server 2008 and receiving “Token-based server access validation failed with an infrastructure error”
SchakkoToday I had to move the WSUS internal database to one of our backend database servers. Microsoft has a good instruction how to do this, nevertheless I ran into a problem. Microsoft SQL Server 2008 did not allow me to add the machine account of our WSUS frontend server (let […] The post WSUS: Moving from Windows Internal Database to…
Just over a week ago we had our first internal hackathon at SoundCloud. You can read (and listen!) about it on our community blog or read…
This is a story of how we adapted our architecture over time to accomodate growth. Scaling is a luxury problem and surprisingly has more to…
28 Aug 2012
Recently a newspaper contacted me. Their PageRank had dropped from 7 to 3, and they wanted to know why. They genuinely didn’t seem know what the issue was, so I took some time to write them an in-depth reply. Part of the motivation for my blog is to provide information in more scalable ways, so […]
27 Aug 2012
Today I wanted to update the Apache configuration in our DMZ to enable Git over SSH over SSL (another story) but while deploying the changes from my workstation to the server, Apache threw the error Cannot load modules/mod_proxy_connect.so into server: The specified module could not be found. As always procmon.exe was […] The post mod_proxy_connect.so: The specified module could not…
26 Aug 2012
The Recipe for Classification One important task in machine learning is to classify data into one of a fixed number of classes. For instance, one might want to discriminate between useful email and unsolicited spam. Or one might wish to determine the species of a beetle based on its physical attributes, such as weight, color, and mandible length. These “attributes”…
The Blessing of Distance We have often mentioned the idea of a “metric” on this blog, and we briefly described a formal definition for it. Colloquially, a metric is simply the mathematical notion of a distance function, with certain well-behaved properties. Since we’re now starting to cover a few more metrics (and things which are distinctly not metrics) in the…
22 Aug 2012
Even though more than 20 years have passed, I still remember wondering what it would be like to finish university and start working. Up until that point, I had pretty much spent my whole life in school, with only a … Continue reading →
21 Aug 2012
If you want to make your TeamCity, Confuence or JIRA instance accessible from outside of your LAN, you should remove all version signatures so that no attacker can easily lookup for existing exploits. TeamCity: Open <TeamCity installation dir>/webapps/ROOT/WEB-INF/tags/version.tag and remove the full content from this file. You must restart the TeamCity […] The post Remove version signature from TeamCity, Confluence…
17 Aug 2012
One of the good things about having the eyeballs of many people is that you now have the ability to throw other people into the limelight that completely deserve to be in it. Divya Manian and I have been, for a while now, putting together a list of people in the front-end development community who, in our opinion, could use…
16 Aug 2012
15 Aug 2012
A Simple Example In Section 7.1 of Doing Bayesian Data Analysis, John Kruschke gives a simple example of the Metropolis algorithm, in which we generate samples from a distribution without knowing the distribution itself. Of course the example is contrived as we really do know the distribtion. In the particular example, for i = 1…n where n … Continue reading…
14 Aug 2012
Für heute hatte ich geplant, dass eines unserer Projekte automatisch mit Hilfe von Microsoft WebDeploy auf einem IIS veröffentlicht werden sollte. Die Applikation wurde mit TeamCity und MSBuild-Scripten erstellt und somit hatte ich auch bereits die passende *.deploy.cmd-Datei generiert bekommen. Als ich danach das Deployment erst einmal manuell testen wollte, […] The post Das Zertifikat für den Microsoft Web Deployment…
For those who don’t know, GWT-Bootstrap wants to port the Twitter Bootstrap widgets to GWT compatible and easy to use components/widgets.
As some of you might know, we had an outage yesterday. We believe that in every mistake there is something to learn from, so after each…
13 Aug 2012
Today we’re featuring a guest post from our friends at Retronyms. They’ve built some amazing community features into their app Tabletop using the SoundCloud API and have open sourced their CloudSeeder Devkit. This post was written for us by David Shu. David is a software engineer at the Retronyms and has worked on a number of iOS apps, including Tabletop…
8 Aug 2012
According to the project site on GitHub, The Guava project contains several of Google’s core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
7 Aug 2012
You should read Mat Honan’s heartbreaking tale of a hack attack and the ensuing discussion on Techmeme. Much of the story is about Amazon or Apple’s security practices, but I would still advise everyone to turn on Google’s two-factor authentication to make your Gmail account safer and less likely to get hacked. Two-factor authentication means […]
Yesterday, I wrote a small article talking about Guice and JUnit, so, this time, I’ll just say how to use the small lib that I build (not big deal, one class, one annotation =] )
6 Aug 2012
First of all: Do you use Guice as Dependency Injection Container in your Apps? If not, why?
4 Aug 2012
A Series on Machine Learning These days an absolutely staggering amount of research and development work goes into the very coarsely defined field of “machine learning.” Part of the reason why it’s so coarsely defined is because it borrows techniques from so many different fields. Many problems in machine learning can be phrased in different but equivalent ways. While they…
We are pleased to announce that the following functionality has been developed for version 5.3: Hosted authentication – email Feedback submission for comments RatingDistribution (Histogram data) and SecondaryRatingsAverages added to review statistics Time zone changed to UTC Error codes added to form errors Syndication attribution on reviews More detailed information on each of these items […]
2 Aug 2012
One of the most tenacious blackhat webspam techniques we continue to see is hacked sites. I wanted to remind site owners that our free “Fetch as Google” tool can be a really helpful way to see whether you’ve successfully cleaned up a hacked site. For example, recently a well-known musician’s website was hacked. The management […]
30 Jul 2012
When you first get started with the Ruby programming and you come from a different language, the only tricky piece is often Ruby’s approach to block/closure/anonymous functions. Sure the metaprogramming seems a bit odd, but you don’t have to use it. That’s why a lot of developers think that Ruby is a simple language. Turns out that when you dig…
29 Jul 2012
Dear reader, this post has an interactive simulation! We encourage you to play with it as you read the article below. In our series of posts on cellular automata, we explored Conway’s classic Game of Life and discovered some interesting patterns therein. And then in our primers on computing theory, we built up a theoretical foundation for similar kinds of…
28 Jul 2012
Have you ever wondered what the differences are between #dup and #clone in Ruby? They both create a shallow copy of an object (meaning that they don’t copy the objects that might be referenced within the copied object). However, #clone does two things that #dup doesn’t: copy the singleton class of the copied object maintain the frozen status of the…