~/devreads

13 Jul 2011

1 min read

Problem: Suppose their are three circles in the plane of distinct radii. For any two of these circles, we may find their center of dilation as the intersection point of their common tangents. For example, in the following picture we mark the three centers of dilation for each pair of circles: We notice that the three centers of dilation are…

11 Jul 2011

1 min read

A Puzzle is Born Sitting around a poolside table, in the cool air and soft light of a June evening, a few of my old friends and I played a game of Texas Hold ‘Em. While we played we chatted about our times in high school, of our old teachers, friends, and, of course, our times playing poker. We even…

1 min read

Today my friend Patrick Crowley and I were talking about scaling his website: https://cinematreasures.org since an article covering his work will soon be published in a very popular newspaper. Patrick’s site is hosted on Heroku which comes by default with Varnish caching enabled. The challenge is that a lot of people using the Rails framework are used to doing page…

9 Jul 2011

1 min read

It’s often that a student’s first exposure to rigorous mathematics is through set theory, as originally studied by Georg Cantor. This means we will not treat set theory axiomatically (as in ZF set theory), but rather we will take the definition of a set for granted, and allow any operation to be performed on a set. This will be clear…

Stephen Blum 1 min read

You have always wanted to send CSS updates to your website or HTML5 mobile app in real time. How do you do this?

Stephen Blum 1 min read

You have always wanted to send CSS updates to your website or HTML5 mobile app in real time. How do you do this?

7 Jul 2011

1 min read

Problem: Show 31.5 = 32.5. “Solution”: Explanation: It appears that by shifting around the pieces of one triangle, we have constructed a second figure which covers less area! Since the first triangle has base length 13 and height 5, its area is 32.5. Clearly, the second figure has the same area minus a square of area 1, giving the second…

5 Jul 2011

1 min read

Problem: Show there are finitely many primes. “Solution”: Suppose to the contrary there are infinitely many primes. Let $ P$ be the set of primes, and $ S$ the set of square-free natural numbers (numbers whose prime factorization has no repeated factors). To each square-free number $ n \in S$ there corresponds a subset of primes, specifically the primes which…

1 min read

This is the first in a series of “false proofs.” Despite their falsity, they will be part of the Proof Gallery. The reason for putting them there is that often times a false proof gives insight into the nature of the problem domain. We will be careful to choose problems which do so. Problem: Show 1 = 2. “Solution”: Let…

1 min read

Problem: $ \frac{1}{2} + \frac{1}{4} + \frac{1}{8} + \dots = 1$ Solution: Problem: $ \frac{1}{3} + \frac{1}{9} + \frac{1}{27} + \dots = \frac{1}{2}$ Solution: Problem: $ \frac{1}{4} + \frac{1}{16} + \frac{1}{64} + \dots = \frac{1}{3}$ Solution: Problem: $ 1 + r + r^2 + \dots = \frac{1}{1-r}$ if $ r < 1$. Solution: This last one follows from similarity of…

4 Jul 2011

1 min read

We assume the reader is familiar with the concepts of determinism and finite automata, or has read the corresponding primer on this blog. The Mother of All Computers Last time we saw some models for computation, and saw in turn how limited they were. Now, we open Pandrora’s hard drive: Definition: A Turing machine is a tuple $ (S, \Gamma,…

2 Jul 2011

1 min read

The first step in studying the sorts of possible computations (and more interestingly, those things which cannot be computed) is to define exactly what we mean by a “computation.” At a high level, this is easy: a computation is simply a function. Given some input, produce the appropriate output. Unfortunately this is much too general. For instance, we could define…

1 Jul 2011

1 min read

Problem: Prove that for all $ n,k \in \mathbb{N}, k > 1$, we have $$\sum \limits_{i=0}^{n} k^i = \frac{k^{n+1}-1}{k-1}$$ Solution: Representing the numbers in base $ k$, we have that each term of the sum is all 0’s except for a 1 in the $ i$th place. Hence, the sum of all terms is the $ n$-digit number comprised of…

30 Jun 2011

1 min read

Additional Patterns Last time we left the reader with the assertion that Conway’s game of life does not always stabilize. Specifically, there exist patterns which result in unbounded cell population growth. Although John Conway’s original conjecture was that all patterns eventually stabilize (and offered $50 to anyone who could provide a proof or counterexample), he was proven wrong. Here we…

29 Jun 2011

1 min read

Cellular Automata There is a long history of mathematical models for computation. One very important one is the Turing Machine, which is the foundation of our implementations of actual computers today. On the other end of the spectrum, one of the simpler models of computation (often simply called a system) is a cellular automaton. Surprisingly enough, there are deep connections…

27 Jun 2011

1 min read

Note: This was one of my first blog posts on Go and well, I won’t make any excuses, it’s pretty terrible. It’s a good example of what not to do, that is, trying to force the concepts of a different language (in this case Ruby) to Go. I almost never use reflection and the following code is the kind of…

26 Jun 2011

1 min read

Problem: Take a chessboard and cut off two opposite corners. Is it possible to completely tile the remaining board with 2-by-1 dominoes? Solution: Notice that every domino covers exactly one white tile and one black tile. Counting up the colors, we have 32 white and 30 black. Hence, any tiling by 2-by-1 dominoes will leave two extra white squares unaccounted…

1 min read

Community Service Mathematics is supposed to be a process of discovery. Definitions, propositions, and methods of proof don’t come from nowhere, although after the fact (when presented in a textbook) they often seem to. As opposed to a textbook, real maths is highly non-linear. It took mathematicians quite a lot of fuss to come up with the quadratic formula, and…

24 Jun 2011

1 min read

Problem: What is the area of the triangle within the rectangle? Solution: In a moment of inspiration, we draw the following additional line: Now the answer is obvious. Once we split the rectangle into two smaller rectangles, the sides of the triangle become diagonals of their respective rectangles. The diagonals obviously split each of the two smaller rectangles into halves,…

1 min read

Problem: Find the sum of the first 1000 natural numbers. Solution: Write the numbers twice as follows: $ \begin{matrix} 1 & + & 2 & + & \dots & + & 999 & + & 1000 \\\ 1000 & + & 999 & + & \dots & + & 2 & + & 1 \end{matrix}$ Summing the numbers in each…

23 Jun 2011

1 min read

Problem: At any party of 1000 people, must there always exist two people at the party who have the same number of friends at the party? For the sake of this problem, one cannot be friends with oneself, and friendship is bidirectional. Solution: This must always happen. Suppose to the contrary, that every person at the party has a different…

1 min read

Problem: 1000 players compete in a tournament. In each round, players are matched with opponents, and the winner proceeds to the next round. If there are an odd number of players in a round, one player chosen at random sits out of that round. What is the total number of games are played in the tournament? Solution: 999. Each player…

21 Jun 2011

1 min read

A Bully By Any Other Name From the New York Times: “Shopping online in late July, Clarabelle Rodriguez typed the name of her favorite eyeglass brand into Google’s search bar. In moments, she found the perfect frames — made by a French company called Lafont — on a Web site that looked snazzy and stood at the top of the…

20 Jun 2011

1 min read

Dangling Nodes and Non-Uniqueness Recall where we left off last time. Given a web $ W$ with no dangling nodes, the link matrix for $ W$ has 1 as an eigenvalue, and if the corresponding eigenspace has dimension 1, then any associated eigenvector gives a ranking of the pages in $ W$ which is consistent with our goals. The first…

1 min read

My next book will be Practical Math for Programmers A High-Level Overview of Fully Homomorphic Encryption Searching for Riemann Hypothesis Counterexamples Linear Programming and Healthy Diets Hybrid Images Bezier Curves and Picasso

19 Jun 2011

1 min read

Story Time Linear algebra was founded around the same time as Calculus (think Leibniz, circa 1700) solely for the purpose of solving general systems of linear equations. The coefficients of a system were written in a grid form, with rows corresponding to equations and columns to the unknown variables. Using a computational tool called the determinant (an awkward, but computable…

18 Jun 2011

1 min read

The Web as a Graph The goal of this post is to assign an “importance score” $ x_i \in [0,1]$ to each of a set of web pages indexed $ v_i$ in a way that consistently captures our idea of which websites are likely to be important. But before we can extract information from the structure of the internet, we…

14 Jun 2011

1 min read

The Quest to Capture Speed Companies and researchers spend hundreds of millions of dollars for the fruits of their algorithms. Whether one is indexing websites on the internet for search, folding proteins, or figuring out which warehouse is the most cost-effective to ship a product from, improvements in algorithm speed save immense amounts of money. It’s no surprise then, that…

1 min read

Binary Search Binary search is perhaps the first and most basic nontrivial algorithm a student learns. For the mathematicians out there, binary search is a fast procedure to determine whether a sorted list contains a particular element. Here is a pseudocode implementation: # Binary Search: # Given a list L, sorted via the total order <, and a sought #…

13 Jun 2011

1 min read

The goal of this post is to use prime numbers to make interesting and asymmetric graphics, and to do so in the context of the web design language CSS. Number Patterns For the longest time numbers have fascinated mathematicians and laymen alike. Patterns in numbers are decidedly simple to recognize, and the proofs of these patterns range from trivially elegant…

12 Jun 2011

1 min read

Importance on the Web As a society living in the “Information Age,” it comes as no surprise that we are faced with the task of sorting through vast oceans of content. With the admission that most content is actually junk, we must wisely choose the objects of our analysis. The appropriately named site UselessJunk.com certainly doesn’t deserve the same attention…

10 Jun 2011

1 min read

It’s now official, I have resigned from Sony Computer Entertainment America. I was planning on posting this a bit later but since I was politely escorted out of the building by HR/security, I have more free time to let you know of my decision. Before you ask: No, my decision isn’t directly related to the recent PSN/Sony security breach events…

29 May 2011

2 min read

If you are looking for some inspiration for your next weekend hack project, here is a list of ideas that could be built using the SoundCloud platform. Feel free to add your own ideas in the comments!

24 May 2011

Schakko 1 min read

Yesterday I installed a central Git repository server for storing all configuration files from our Linux servers. Every /etc directory is now observed by Git (and etckeeper). Each of these servers pushes the changes from the local master branch to the central repository. Authentication is done via public/private key authentication. […] The post Installing Git on Citrix XenServer 5.5 appeared…

virtualizationcitrixgitxenserver

20 May 2011

Schakko 1 min read

Heute habe ich es endlich geschafft, den Patch für mod_auth_ldap (Apache 2.0.63) und mod_authnz_ldap (Apache 2.2.18) auf Github zu veröffentlichen. Die Version für mod_auth_ldap hatte ich bereits vor zwei Jahren fertig gestellt, aber nie öffentlich zugänglich gemacht. Stattdessen schlummerte Kompilat und Sourcen in unserem Unternehmens-Repository. Der Patch stellt drei Einstellungen […] The post Global-Bind-User Patch für mod_auth_ldap (Apache 2.0.63) und…

active directory ldapapacheglobal bind usermod authnz ldapmod auth ldap

19 May 2011

1 min read

Alongside with the SoundCloud Android app we’ve created a new Java Wrapper for the SoundCloud API and today we can finally release it to the public! It is simple to use, supports OAuth2 and requires a minimum of external dependencies so it should be easily embeddable in both desktop and mobile applications.

13 May 2011

Elena Yatzeck 1 min read

I just met the Thoughtworks global "Head of Quality"* this week, Kristan Vingrys. He was able to make me see automated testing more clearly than I ever did before with a quick sketch and 10 minute discussion, and I wanted to share what I heard with others of you who might be more on the management/business end of things, and…

11 May 2011

9 May 2011

4 May 2011

1 May 2011

Schakko 3 min read

Unsere bisherigen Pläne für ZABOS sehen vor, dass wir die Funktionalität der Alarmierung per SMS über Fünfton-Folgeruf (ZVEI) erweitern – nämlich um die digitalen Protokolle POCSAG und FMS. Unserer bisheriger Fünfton-Folgerufempfänger ist ein selbstenwickeltes Board mit Mikrocontroller, der die Fünfton-Folgen aufnimmt und dann über die serielle Schnittstelle an ZABOS weiterreicht. […] The post Funkauswerter monitord um ActiveMQ-Support erweitern appeared first…

apachelinuxworkactivemqcpp

29 Apr 2011

28 Apr 2011

4 min read

Greetings! I’m Robb and this is my first SoundCloud Backstage blog post. During the day I’m a developer working on the Mac App here in the…

23 Apr 2011

Schakko 1 min read

Zur Vorbereitung meiner Klausur für Angewandte Mathematik bin ich über eine Aufgabe zum Berechnen der multiplikativ Inversen innerhalb eines Galois-Felds gestoßen. In Anlehnung an meine Euklid-Vorlage habe ich ein weiteres Dokument geschrieben, in dem detailiert erklärt wird, wie man innerhalb eines Galois-Feldes das multiplikativ Inverse einer Zahl mit Hilfe des […] The post Erweiterte Euklidischer Algorithmus für die Berechnung der…

angewandte mathematikdivisiondualerweiterteuklid

14 Apr 2011

1 min read

In this post I will do my best to explain why and how I reinvented the wheel and wrote a custom web framework for some of Sony’s AAA console titles. My goal is to reflect on my work by walking you through the design process and some of the implementation decisions. This is not about being right or being wrong,…

7 Apr 2011

Schakko 1 min read

Some time ago I developed ADUaCET, an extension for the Active Directory User and Computer MMC snap-in. Sad to say but the ADUaCET property page is not shown if you are searching for an user. It is only available if you use the procedure right click $USER -> Properties. I […] The post Additional property page sheet in Active Directory…

active directory ldapmicrosoft.netactive directoryaduacet

6 Apr 2011

1 min read

UPDATE: Check out our guide on Playing Sounds for the most up to date information. We think the default audio widget from SoundCloud already is one of the sexiest on the web. But maybe you need something a bit simpler or complex and want to tailor the player to your needs. This is where the idea of “custom players” comes…

1 min read

UPDATE: Check out our guide on Playing Sounds for the most up to date information. This is an introduction to how you can power your app or website with sounds hosted on SoundCloud. Via our API, you get access to millions of different sounds, and in addition to streaming and downloading tracks, you can access meta data and social features…

5 Apr 2011

3 min read

UPDATE: Check out our guides on Authentication and Sharing Sounds for the most recent information. If you build an app or web service that generates any type of sound, it’s easy to connect it to SoundCloud and enable your users to share their creations across the web. Allowing users to share what they create to their existing social networks and…

4 Apr 2011

1 min read

We are happy to introduce you to our new developer portal developers.soundcloud.com. Here we are bundling up all the SoundCloud platform…

1 Apr 2011

1 min read

One of Go's most valuable features is that it runs jobs in parallel. To make long running test suites go faster, you can simply split your long running test suite into multiple suites and create jobs for each one. Given enough build agents, Go can run all jobs within a specified stage simultaneously, which means your long running testing can…

31 Mar 2011

Schakko 1 min read

As I mentioned yesterday, Christoph is currently developing the Active Directory Integration WordPress plugin. Today we were talking about the write back of WordPress profile settings to Active Directory. I mentioned it would be helpful to have an abstract definition of available Active Directory attributes which can be dynamically integrated […] The post Convert Active Directory schema to XML or…

active directory ldapphpactive directoryconvertjson

30 Mar 2011

Schakko 2 min read

Christoph was implementing a function into Active Directory Integration (ADI) (a WordPress plugin for Active Directory authentication and authorization) called Sync Back. With this function WordPress users are able to write back their WordPress profile to their Active Directory account. A problem that occured was that by default Active Directory […] The post How to give users the permission to…

active directory ldapactive directoryndernattributeattributes

20 Mar 2011

1 min read

If you program in Python, you’re probably familiar with the pickle serialization library, which provides for efficient binary serialization and loading of Python datatypes. Hopefully, you’re also familiar with the warning printed prominently near the start of pickle’s documentation: Warning: The pickle module is not intended to be secure against erroneous or maliciously constructed data. Never unpickle data received from…

19 Mar 2011

17 Mar 2011

15 Mar 2011

13 Mar 2011

Elena Yatzeck 1 min read

Do you remember the Saturday morning TV "Shazam/Isis Power Hour"? Among the many wonders this show offered was young Billy Batson driving all over the US in a big recreational vehicle with his mentor, Mentor. Despite Mentor's presence, the two of them somehow continually got into difficult situations which prompted Billy to shout "Shazam!" and transform into Captain Marvel in…

12 Mar 2011

10 Mar 2011

0xADADA 6 min read

Motion, keyboard commands and shortcuts for VI Improved Legend Motion / Normal mode Insert mode Changes Yank/Put or Copy/Paste Visual/Visual Block Mode Commands Files Windows Tabs coc.nvim Denite Help Search/Replace Find Files Legend Command Keyboard Character command ⌘ control ⌃ alt ⎇ delete ⌫ option ⌥ shift ⇧ caps lock ⇪ tab ⇥ arrow up ↑ arrow down ↓ arrow…

notesvimneovim

7 Mar 2011

1 min read

My name is Matt Aimonetti, and in my free time I work on Apple’s open source Ruby implementation named MacRuby. I’m also the author of O’Reilly’s MacRuby book. As you can imagine, I’m very thankful that Apple initiated the MacRuby project a few years ago and have been an avid supporter. MacRuby is awesome to develop OS X native applications…

1 Mar 2011

25 Feb 2011

Adam Monago 1 min read

Last week at the Palace Hotel in San Francisco, Jim Highsmith, Executive Consultant for Thoughtworks and Jitendra Subramanyam, Director of Strategy and Research for CAST, presented a two pronged approach to the issue of technical debt in the agile corporate environment.

22 Feb 2011

1 min read

Concurrency is certainly not a new problem but it’s getting more and more attention as machines start having more than 1 core, that web traffic increases drastically and that some new technologies show up saying that they are better because they handle concurrency better. If that helps, think of concurrency as multitasking. When people say that they want concurrency, they…

19 Feb 2011

1 min read

Today I was helping someone write an Objective-C framework around cocos2d. C/Objective-C code can be called directly from MacRuby. However the Obj-C code you would like to use might be using some ANSI C symbols that are non-object-oriented items such as constants, enumerations, structures, and functions. To make these items available to our MacRuby code, you need to generate a…

8 Feb 2011

1 min read

reptyr (announced recently on this blog) takes a process that is currently running in one terminal, and transplants it to a new terminal. reptyr comes from a proud family of similar hacks, and works in the same basic way: We use ptrace(2) to attach to a target process and force it to execute code of our own choosing, in order…

31 Jan 2011

1 min read

Designing beautiful and scalable software is hard. Really hard. It’s hard for many reasons. But what makes it even harder is that software scalability is a relatively new challenge, something only really done in big companies, companies that are not really keen on sharing their knowledge. The amount of academic work done on software design is quite limited compared to…

21 Jan 2011

1 min read

Over the last week, I’ve written a nifty tool that I call reptyr. reptyr is a utility for taking an existing running program and attaching it to a new terminal. Started a long-running process over ssh, but have to leave and don’t want to interrupt it? Just start a screen, use reptyr to grab it, and then kill the ssh…

19 Jan 2011

1 min read

From today on, we advise developers to use OAuth 2 as preferred way of API authentication. Our implementation of the Draft 10 OAuth…

18 Jan 2011

1 min read

Part of my job at Sony PlayStation is to architect scalable systems which can handle a horde of excited players eager to be the first to play the latest awesome game and who would play for 14-24 hours straight. In other words, I need to make sure a system can “scale”. In my case, a scalable system is a system…

15 Jan 2011

11 Jan 2011

Thoughtworks 1 min read

Part 2 of our overview of Sahi. For ways to get started on Sahi, check out Part 1 here. _near() Our project is an ExtJS based website. Most element ids are generated dynamically which means the id is not reliable as locator. Sahi provides us with the ability to use position dependency to locate elements.

Thoughtworks 1 min read

Sahi is an automation and testing tool for web applications. Different from many other commercial testing tools, Sahi is an open source tool. As an automation tool, Sahi provides the facility of recording and play backing of scripts. Sahi supports Java and JavaScript. Even though the Sahi script looks like JavaScript, it is not executed as the regular JavaScript on…

7 Jan 2011

Stephen Blum 1 min read

Get started integrating PubNub into your node js server side application to build real-time pub/sub communication in your application.

Stephen Blum 1 min read

Get started integrating PubNub into your node js server side application to build real-time pub/sub communication in your application.

1 Jan 2011

4 min read

So you are familiar with the SoundCloud API Wrapper and want to use it to share the sounds you upload? And you want to use the existing connections on SoundCloud or make new ones? Awesome. Here’s how to do it.

27 Dec 2010

1 min read

I’ve spent a lot of time this last week staring at decompiled Dalvik assembly. In the process, I created a couple of useful tools that I figure are worth sharing. I’ve been using dedexer instead of baksmali, honestly mainly because the former’s output has fewer blank lines and so is more readable on my netbook’s screen. Thus, these tools are…

20 Dec 2010

13 Dec 2010

10 Dec 2010

1 min read

Dan Rosenberg recently released a privilege escalation bug for Linux, based on three different kernel vulnerabilities I reported recently. This post is about CVE-2010-4258, the most interesting of them, and, as Dan writes, the reason he wrote the exploit in the first place. In it, I’m going to do a brief tour of the various kernel features that collided to…

30 Nov 2010

1 min read

Most of you reading this blog probably remember CVE-2010-3081. The bug got an awful lot of publicity when it was discovered an announced, due to allowing local privilege escalation against virtually all 64-bit Linux kernels in common use at the time. While investigating CVE-2010-3081, I discovered that several of the commonly-believed facts about the CVE were wrong, and it was…

20 Nov 2010

16 Nov 2010

Elena Yatzeck 1 min read

I just read a very angry blog entitled: Business Analysts And The Million Dollar Question - What Would You Say You Do Here? The author quotes Scott Ambler's famous line, "Remember, 'BA' is also the abbreviation for band-aid" and he goes on to say that if you hire a typical BA, chances are high that "you're not just wasting your…

12 Nov 2010

1 min read

##Description of the talk: This year I gave the traditional Apple’s MacRuby talk at RubyConf. My presentation focused on 2 axis: What’s new since last RubyConf Show some examples of how fun it is to hack with MacRuby ##Video {% video https://cdn.confreaks.com/system/assets/datas/768/original/448-rubyconf2010-macruby-why-and-how-small.mp4 640 360 /images/matt_aimonetti_rubyconf2010.jpeg %} Other video formats are available here ##Slides Presentation slides available on Speakerdeck ##Details of…

9 Nov 2010

Elena Yatzeck 1 min read

IT community members catechized on the Agile Manifesto will recall that the original signers placed a higher value on "working software" than on "comprehensive documentation." But is working software in isolation our ultimate goal? I think that as the Agile community has moved in the direction of delivering value, rather than just delivering working software, we are now newly realizing…

7 Nov 2010

1 min read

I’ve recently started playing with scons a little for some small personal projects. It’s not perfect, but I’ve rapidly come to the conclusion that it’s a probably far better choice than make in many cases. The main exceptions would be cases where you need to integrate into legacy build systems, or if asking or expecting developers to have scons installed…