Smash Company Splash Image

LATEST ENTRIES

January 22nd, 2015

In Technology

No Comments

How do you enforce the integrity of your system?

I had a long conversation today with a very smart engineer. We have different views about things such as types and immutable data. It occurred to me that, in some sense, we both want the same thing: some sort of integrity check for our systems. And yet, we prefer to put these constraints in different places. His preferences:

1.) the dependency injector loads things in an order that ensures correctness

2.) the database does some (but not all) integrity checks (they ...

Read More Source

January 19th, 2015

In Technology

No Comments

The unnecessary complexity of Ruby

Interesting:

Some imported code could be modifying methods on built-in classes. You can never be sure exactly what will happen when this Ruby code executes.

He’s right about that. “Readable” isn’t the word I’d use though: Ruby isn’t “reason-aboutable.” You can’t be completely sure what it’s going to do without running it. (No wonder Rubyists are such good testers.)

Tom agreed that Ruby could be good at expressing the intent of the programmer. This is a different goal from knowing exactly how it ...

Read More Source

January 19th, 2015

In Technology

No Comments

The flexibility (and ease of debugging) of optional types in Clojure

Jessica Kerr has a post about optional typing in Clojure. This is related to my post How ignorant am I, and how do I formally specify that in my code? Obviously I agree with this:

It’s hard to find the difference because the difference isn’t content: it’s type. I expected a vector of a map, and got a list of a vector of a map. Joy.

I went back and added a few schemas to my functions, and the error changed to

...

Read More Source

January 19th, 2015

In Philosophy

No Comments

How much should gender figure in a story about women fighting in Afghanistan?

Interesting:

Percy sets the stage with what might be called “disarming candor.” A mere three weeks after arriving in Afghanistan, she hears about this woman who runs a militia, sees a photo of her, and boom, we’re off to see the warlord–in Percy’s foggy notion, Mistuh Kurtz in a chador:

“I’d been living in Afghanistan three weeks when my guide…showed me a photograph of the country’s only known female warlord, Bibi Ayisha, nom de guerre Commander Pigeon…In the photograph, she looked ...

Read More Source

January 18th, 2015

In Philosophy

No Comments

Stuff I do when I am burned out

I’ve noticed these are the things I do when I am depressed and burned out:

1.) read newspapers

2.) watch television

3.) watch movies on/from Netflix

4.) read weblogs

5.) read novels or history books

6.) sleep

If I am very depressed and burned out:

7.) post comments on websites, in response to things I’ve read

When I had my own business, 2002-2008, I was so excited about my work that I rarely did any of the above. I recall, at one point, I went 6 months without ...

Read More Source

January 18th, 2015

In Business

No Comments

Jimmy Carter deregulated venture capital

Interesting:

Money had been pouring into venture capital since a 1978 change in regulations allowed pension funds to consider it a “prudent” investment. The $2.5 billion managed by venture capital firms in 1977 quintupled by 1983 to $12 billion2. New money committed per year rose 16x over five years, from $218 million in 1978 to $3.6 billion in 19833. The number of venture funds grew from 47 in 1980, to 71 in 1982, to 113 in 1983. The number of investment ...

Read More Source

January 18th, 2015

In Philosophy

No Comments

Why men love war

Interesting:

War is an escape from the everyday into a special world where the bonds that hold us to our duties in daily life–the bonds of family, community, work, disappear. In war, all bets are off. It’s the frontier beyond the last settlement, it’s Las Vegas. The men who do well in peace do not necessarily do well at war, while those who were misfits and failures may find themselves touched with fire. U. S. Grant, selling firewood on the streets ...

Read More Source

January 18th, 2015

In Business

No Comments

Constraining competition

Interesting:

Yet another threat to start-ups comes from state legislatures, in the form of increasingly cumbersome employment regulations. Historically, technical workers such as mechanics and engineers moved freely from job to job, spreading new technologies across the industry. Today, however, a variety of regulations limit that mobility. Some states—Florida and Massachusetts, for instance—have made it easy for employers to enforce noncompete agreements, which prohibit employees from leaving one company to join or start another in the same industry. According to research ...

Read More Source

January 18th, 2015

In Philosophy

No Comments

The heyday of the Romans ended with a crash

The Classical World hit its peak fairly early. For Greek science, the peak was from 300 BC to 150 BC, mostly in Alexandria. The system was in trouble from 88 BC on, with occasional revivals. Somehow the system in the West lasted until 415 BC. It was very long collapse, from a good era much earlier:

Dr Philip Kay of Wolfson College Oxford has produced the most detailed analysis of Rome’s economic development in the late Republic period and this ...

Read More Source

January 18th, 2015

In Philosophy

No Comments

The unique suffering of being rich

This:

Michael M. Thomas, a former investment banker and a novelist of Wall Street manners, said that if he were ever to write a book about his own privileged upbringing, he would title it “Orphans With Parents.” Meaning that despite the private clubs, the best schools and all the many things that money can buy, there has always been for those born into this world a sense of acute loneliness that can strain ties with parents and mark a child forever.

is ...

Read More Source

January 18th, 2015

In Business

No Comments

The Hemingway Law of Motion: Gradually, then Suddenly

Perhaps because I read Hemingway long before I heard of Dornbusch, I have often thought of the Hemmingway quote, every time I hear of the Dornbusch quote.

Ernest Hemingway’s 1926 novel The Sun Also Rises, which is available various places around the web like here, includes the following snippet of dialogue:

“How did you go bankrupt?” Bill asked.

“Two ways,” Mike said. “Gradually and then suddenly.”

Many economists will recognize this as a version of an apercu offered a number of times over ...

Read More Source

January 16th, 2015

In Technology

No Comments

Use an obvious alias to teach newcomers about a language

I like this comment very much, as this is something that I remember struggling with:

The examples are fairly easy to follow. Many of the examples use `require` to alias dependent namespaces. I think this is key when presenting Clojure examples. Having to prefix calls to library functions causes them to stand out from uses of core Clojure functions. It also lets readers know from which library each function comes from. I would have liked to see all of the examples ...

Read More Source

January 15th, 2015

In Technology

No Comments

Why I love immutability

I love Clojure. I love immutability. Why? Maybe I lack self-discipline, or maybe my co-workers lack self-discipline (not my current co-workers, who are very talented, but people I’ve worked with in the past). I am tired of dealing with mutable variables in loops, which allow us to many easy mistakes like this:

howMuchPrizeMoney = 0; arrayOfMoneyPerCategory =[]; for (i=0; i < users.length; i++) { u = users[i]; howMuchPrizeMoney += u.prize_money; } for (i=0; i < contests.length; i++) { ...
Read More Source

January 14th, 2015

In Technology

No Comments

Basecamp caches HTML to go fast

Interesting:

Stacker can only make things appear so fast. If actions still take 500ms to render, it’s not going to have that ultra snappy feel that Basecamp Next does. To get that sensation, your requests need to take less than 100ms. Once our caches are warm, many of our requests take less than 50ms and some even less than 20ms.

The only way we can get complex pages to take less than 50ms is to make liberal use of caching. We ...

Read More Source

January 14th, 2015

In Technology

No Comments

Async difference between blocking and parking

Interesting:

There are two varieties of waiting: parking and blocking. Blocking is the kind of waiting you’re familiar with: a thread stops execution until a task is complete. Usually this happens when you’re performing some kind of I/O. This kind of waiting keeps the thread alive, doing no work, so that if you want your program to continue doing work you have to create a new thread. In the last chapter, you learned how to do this with future.

Parking moves the ...

Read More Source

January 14th, 2015

In Technology

No Comments

A Pythonista reacts to Clojure’s immutability

Interesting:

Although the functional language purists will have other criteria (functions as first class values (python is already fine on this count)) the functional programming ethos is what is of interest to me: the idea of describing data transformations and piping the data through these transformations. Thats the essential, practical take-home message of functional programming and reproducibility. In pursuing these goals, we see the incorporation of some great libraries for R that allow piping and laziness, facilitating the easy composition of ...

Read More Source

January 14th, 2015

In Technology

No Comments

Maintain acceptance test suites

Very interesting notes from Jakub Holý

How to Create Maintainable Acc. T. Suites

Good acceptance criteria (“INVEST” – especially valuable to users, testable) Layered implementation: Acceptance criteria (Given/When/Then) – as xUnit tests or with Concordion/FitNesse/… Test implementation – it’s crucial that they use a (business) domain-specific language (DSL), no direct relation to UI/API, which would make it brittle Application driver layer – translates the DSL to interactions with the API/UI, extracts and returns results Take care to keep test implementation efficient and well factored, especially wrt. ...

Read More Source

January 14th, 2015

In Technology

No Comments

How to set up project.clj for a Clojure project

This looks great:

Some development tools, such as lein-test-refresh, are useful to have across most of your Clojure projects. Rather nicely, Leiningen supports adding global profiles to ~/.lein/profiles.clj. These profiles are available in all your projects.

{:user {:plugin-repositories [["private-plugins" {:url "private repo url"}]] :dependencies [[pjstadig/humane-test-output "0.6.0"]] :injections [(require 'pjstadig.humane-test-output) ...
Read More Source

January 14th, 2015

In Technology

No Comments

Assertions in dynamic languages give you the benefits of static type safety, with less code and ceremony

Interesting:

Well engineered non-trivial systems written in dynamic languages embrace runtime assertions especially near public interfaces. For example here’s a snippet of code from React.js that does exactly that:

_renderValidatedComponent: function() { /* ... */ invariant( renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent), '%s.render(): A valid ReactComponent must be returned. You may have ' + ...
Read More Source

January 13th, 2015

In Technology

No Comments

The Internet Protocol is out of date, can RINA save us?

Interesting:

There is, of course, one clear layer violation that NAT has to deal with, but that’s not NAT’s fault either. Some application protocols put an IP address inside the application layer header. These have to be modified by NAT, so a NAT has to understand the syntax of all of these layer violating applications that it supports. The original application that did this was FTP, going back to the very early ARPANET days. FTP did this because – remember, this was a ...

Read More Source

January 11th, 2015

In Technology

No Comments

Dependency Injection in Python and Javascript

To start with, consider this quote from Martin Fowler writing about Rake:

This is a somewhat skewed story. I’m not trying to write a tutorial on Rake – I’m going to concentrate on things I find interesting rather than give a complete coverage. I’m not going to assume you know Ruby, Rake, or indeed any other build language. I’ll explain relevant bits of Ruby as I go along. Hopefully if you’ve done any messing with these, or are just interested in ...

Read More Source

January 11th, 2015

In Philosophy

No Comments

Encouraging new developers

Interesting:

Let me give an example — say a new coder had somehow, impossibly, in their first month of coding, created an app that would save the planet, plunging us into a permanent state of world peace and 100% clean energy. What’s the first thing that you as a senior developer would say to that person before seeing or testing their project? Let me guess — you’re thinking, “Is it responsive?”

To put this in perspective, someone who knew ...

Read More Source

January 11th, 2015

In Philosophy

No Comments

How should a programmer grow?

Interesting:

Software wants to be a meritocracy, but the sad reality is that effectiveness of an individual programmer depends on the environment. Drop a 1.8+ engineer into a Visitor-infested Java codebase and he turns into a bumbling idiot, in the same way that an incompetent player at a poker table can fluster experts (who may not be familiar with that particular flavor of incompetence). The result of this is that detecting who the good programmers are, especially for a non-programmer ...

Read More Source

January 11th, 2015

In Technology

No Comments

Clojure tessers

Interesting:

Tesser.core looks a lot like the Clojure seq API, and many of its functions have similar names. Their semantics differ, however: Tesser folds do not preserve the order of inputs, and when executed, they run in parallel.

Applying a fold using tesser.core/tesser uses mutiple threads proportional to processor cores. Unlike reducers, we don’t use the Java forkjoin pool, just plain old threads. I’ve seen too many weird performance issues compared to regular threads.

(require '[tesser.core :as t]) (t/tesser [[1 2 3] [4 5 ...
Read More Source

January 9th, 2015

In Technology

No Comments

The dictatorship of the GIL keeps you safe and makes you slow

But in jRuby there is no GIL, so you can go fast, and you can also hurt yourself:

Source

January 8th, 2015

In Philosophy

No Comments

Women in economics

Interesting:

Today, women in economics face a Catch-22, where speaking up can easily make them look like a shrew, while not speaking up robs them of legitimate power. There may be some loopholes in this Catch-22, but women starting out in economics need to be shown the ropes. And with so few senior female professors in economics, who can show a female graduate student how to promote herself gracefully, and break into predominantly male conversations without raising hackles? Somehow, that question ...

Read More Source

January 7th, 2015

In Philosophy

No Comments

The Tracy-Widom distribution

Apparently phase shifts follow a unique distribution:

The Tracy-Widom distribution is an asymmetrical statistical bump, steeper on the left side than the right. Suitably scaled, its summit sits at a telltale value: √2N, the square root of twice the number of variables in the systems that give rise to it and the exact transition point between stability and instability that May calculated for his model ecosystem.

The transition point corresponded to a property of his matrix model called the “largest eigenvalue”: ...

Read More Source

January 7th, 2015

In Philosophy

No Comments

Peer-to-peer health

This is a great example of peers helping peers:

Humans of New York (HONY) is a blog and Facebook page that features portraits of New Yorkers, each paired with a caption in the subject’s own words. With over 11 million followers, HONY is adept at bringing into focus the experiences that shape people’s lives. A recent post made me stop in my tracks and think. The subject said:

My children’s father was physically and emotionally abusive, so by the time I left ...

Read More Source

January 7th, 2015

In Technology

No Comments

Cloxp

Interesting:

Clojure comes with a set of qualities that shape how programmers can interact with the language and runtime environment. To a large part this is derived from the powerful yet simple ideas and concepts Clojure builds on. Properties such as homoiconicity (your code is nothing special, “just” data) enable several versatile features: Meta-programming based on code transformations (macros). Documentation and other meta-data that becomes part of the actual system. Structural editing and inspection because, well, code is just data!

Clojure is ...

Read More Source

January 7th, 2015

In Technology

No Comments

Why is modularity such a struggle in Javascript?

Surely it is suspicious that this is being so often discussed among Javascripters? Doesn’t that suggest that Javascript is being pushed to do things that it can not do?

JavaScript Modularity Shaming:

Pete Hunt of React fame recently got into an online discussion about the pros and cons of Webpack vs. Browserify. In the discussion he inadvertently coins a hilarious term for a form of rhetoric in some circles of the JavaScript community – “Modularity Shaming”. React itself has been on ...

Read More Source

January 7th, 2015

In Technology

No Comments

Is there any point to dependency injection frameworks in dynamic languages?

2 essays, attacking dependency injection in Ruby and Python:

Python:

Dependency injection is a good idea a lot of the time. You don’t need a class to inject dependencies into, either. Every time you pass something to a free function as a parameter, instead of having the function call another function to get the information, you’re basically doing the same thing: inversion of control. Python also lets you treat modules similarly to classes in a lot of ways (certainly more ...

Read More Source

January 5th, 2015

In Technology

No Comments

Defending Python’s Pyramid design choices

Interesting:

A canon of Python popular culture is “TIOOWTDI” (“there is only one way to do it”, a slighting, tongue-in-cheek reference to Perl’s “TIMTOWTDI”, which is an acronym for “there is more than one way to do it”).

Pyramid is, for better or worse, a “TIMTOWTDI” system. For example, it includes more than one way to resolve a URL to a view callable: via url dispatch or traversal. Multiple methods of configuration exist: imperative configuration, configuration decoration, and ZCML (optionally via ...

Read More Source

January 5th, 2015

In Technology

No Comments

Handling HTTP routes in Python and Clojure

Very interesting:

Route handling 2 HTTP verbs in Flask (Python):

import flask @flask.route('/user/', methods=['GET', 'POST']) def user(uid): if flask.request.method == 'GET': return db.get_user_by_id(uid) return db.create_user(flask.request, uid)

Instead of using Compojure, my simple API servers used the underlying route matcher utility, clout. This was partly because my application needed one or two simple routes and so the additional power and complexity of Compojure was unnecessary. By using clout directly, the surface area ...

Read More Source

January 5th, 2015

In Technology

No Comments

Jakub Holý: Start with the simplest version you can

Jakub Holý has an interesting post:

Once upon time, there was a webshop portal with hundreds of partner webshops displayed on the front page. Potential users wanted to find out if their favorite webshops or a particular type of goods were available, existing users wanted to find a shop quickly. Therefore it was decided to implement search. But how to do that?

[a section about the first attempt]

Alternative 2: Minimal viable feature growing iteratively

After the original diversion, I have focused on ...

Read More Source

January 5th, 2015

In Technology

No Comments

(Computer) Language is culture

I find it remarkable that each computer language has such a strongly unique culture. I notice that in Python-land it is common to profile the heroes of Python-land. There is no other language community that does anything like this:

This week we welcome Dr. Margherita DI LEO as our PyDev of the Week. She is our first PyLady in this series! Let’s spend some time getting to know her!

madi

Can you tell us a little about yourself (hobbies, education, etc):

I come ...

Read More Source

January 5th, 2015

In Philosophy

No Comments

Kevin Drum expects more of the same

Kevin Drum has an article where he basically predicts all current trends will continue for the next 30 years. The article reminds me very much of all the articles written during the 1960s that basically said “5% annual growth will continue forever and 100 years from now we will all be super wealthy and no one will ever work and everything will be perfect”, and then 1973 came a long and the post-war boom ended and we suddenly had increasing ...

Read More Source

January 5th, 2015

In Philosophy

No Comments

Why is gender still an issue?

I was a small child in the 1970s, and my mom subscribed to Mz. magazine. I recall reading some articles about women being ignored or underestimated by men. I assumed this was a problem that merely needed to be pointed out, and then it would go away. Apparently it is still an issue, almost 40 years later. Why is that?

Germaine Greer, in 1971, at a debate in New York filmed in Town Bloody Hall, spoke of “having to confront ...

Read More Source

January 4th, 2015

In Technology

No Comments

The power of the double-linked list

This gave me a completely new appreciation for a data structure that I have rarely thought much about:

– First we mark the node deleted

– We walk our prev chain backwards until we find a live node, and we walk our next chain forwards until we find a live node

– We then set the next of our predecessor and the prev of our successor to each other, unconditionally

– We leave the pointers of the deleted node untouched

Now, if deletes occur ...

Read More Source

January 4th, 2015

In Technology

No Comments

What does statistical over-fitting look like?

I like how clear this makes the mistake of over-fitting:

The model explains over 99% of the variance in the data. Like I said, not a typical data set.

View the estimates of the coefficients, and the p-values of their t-tests

(:coefs lm) (:t-probs lm) The values for coefficients b0, … b10 are (0.878 0.065 -0.066 -0.016 0.037 0.003 -0.009 -2.8273E-4 9.895E-4 1.050E-5 -4.029E-5), and the p-values are (0 0 0 1.28E-5 0 0.083 1.35E-12 0.379 3.74E-8 0.614 2.651E-5).

All the coefficients are significant except ...

Read More Source

January 4th, 2015

In Philosophy

No Comments

Asian films worth seeing

I want to see this:

“The Golden Era” (China/Hong Kong)

Director Ann Hui won best director at last month’s Golden Horse Awards for her three-hour literary epic depicting the troubled life and tumultuous relationships of novelist Xiao Hong, one of China’s most-prominent women writers whose work emerged during in the 1930s. The film employs the unusual technique of characters breaking the fourth wall to address the audience with their recollections of Xiao Hong. Actress Tang Wei (who will be seen next ...

Read More Source

January 4th, 2015

In Technology

No Comments

The Linux system calls worth knowing

Very interesting:

Here are the steps that the process involves:

fwrite, together with the rest of the C standard library, is implemented in glibc*, which is one of the core components of the Linux operating system.

fwrite is essentially a wrapper for the write library call.

write will load the system call ID (which is 1 for write) and arguments into the processor registers, and then cause the processor to switch to kernel level. The way this is done depends on the processor ...

Read More Source

January 4th, 2015

In Technology

No Comments

Object Oriented Programming is often defended with examples of Anthropomorphism Gone Wrong

So true:

The school principal is standing in front of fresh students, who need to go to their respective classrooms. Only the students don’t know which classroom yet. How can we get each student to their assigned classroom?

…When pushed too far, analogies break down. And we have pushed this one way too far. The reasons why it is better for the principal to just tell students where to go are rather specific:

First, it makes the whole process a lot faster: ...

Read More Source

January 3rd, 2015

In Business

No Comments

The many penalties for writing about sex

Violet Blue lists the problems she faces because she writes about sex. Since I’m working on software for midwives, it strikes me there is some common theme here. Writing about sex faces outright censorship, whereas trying to get information to pregnant women faces a different kind of censorship, the legal prohibition against giving medical advice unless you are a doctor — a seemingly reasonable limit until you realize how many women are desperately frustrated with their doctor and unable to ...

Read More Source

December 31st, 2014

In Technology

No Comments

Accessing Columns in SqlAlchemy

A reminder to myself:

The MetaData object contains all of the schema constructs we’ve associated with it. It supports a few methods of accessing these table objects, such as the sorted_tables accessor which returns a list of each Table object in order of foreign key dependency (that is, each table is preceded by all tables which it references):

>>> for t in metadata.sorted_tables: ... print t.name user user_preference invoice invoice_item

In most cases, individual Table objects have been explicitly declared, and these objects are typically ...

Read More Source

December 30th, 2014

In Technology

No Comments

Always `git diff HEAD` before committing

Know what you’re about to push up.

Source

December 30th, 2014

In Technology

No Comments

We need to stop using HTTP for software

Regarding the conversation on Hacker News, I strongly agree with “the entire stack is more less broken”. Back in 1989 Sir Tim Berners-Lee put a lot of careful thought into the design of a protocol for sharing documents using IP/TCP. However, when Ajax and Web 2.0 got going circa 2004, the emphasis was on offering software over TCP, and for that the HTTP protocol was poorly suited. Rather than carefully rethink the entire stack, and ideally come up with a ...

Read More Source

December 30th, 2014

In Technology

No Comments

How to convert Sqlite to Postgres

I spent some hours trying to convert a Sqlite database to Postgres, and in the end, I failed. Or rather, I decided that it was no longer worth the time. I thought this would cost me 30 minutes, but hours went by and I was unable to make progress. For those using Ruby On Rails there is a good article about how to do it. I was not using any framework. Some of the problems that I ran into: ...

Read More Source

December 30th, 2014

In Technology

No Comments

The lack of expressiveness in Go

This is the strongest attack I’ve ever read about Go:

Deduping elements of a slice happens the following way in go:

package main

import “fmt”

func main() { // Given the following list: xs := []int{8, 6, 8, 2, 4, 4, 5, 9}

// For loop is the only generic way to traverse slices, you we have to write the following: index := map[int]struct{}{} for _, x := range xs { index[x] = struct{}{} }

// We can “easily” acquire the deduped slice by using a for loop again… deduped := []int{} for ...

Read More Source

December 30th, 2014

In Philosophy

No Comments

Mae Keane, swallowed radium, died at age 107

Interesting that she lived to be 107 despite the radiation exposure. This is possibly in the same category of story as the apartment building in Taiwan that was accidentally built with weakly radioactive steel, and the people who lived there had lower than average cancer. There might be some very low level of radiation that does more harm than good. After all, we use it as the main form of therapy against cancer.

In the 1920s, a young working-class woman ...

Read More Source

December 29th, 2014

In Technology

No Comments

Worse is Better is often worse

Interesting:

There’s nothing inherently wrong with making tradeoffs like C++ did. And since C++ we’ve seen many instances of these sorts of tradeoffs in the software world. Scala is another recent example–a powerful functional language which makes compromises to retain easy interoperability with Java. What I want to deconstruct is the culture that has come along to rationalize these sorts tradeoffs without the need for serious justification. That is, we do not merely calculate in earnest to what extent tradeoffs are ...

Read More Source

December 29th, 2014

In Technology

No Comments

It’s hard to preserve programmer intent across all stages down to the silicon

Interesting:

All modern and advanced compilers convert source code through various stages and representation into an internal data-flow representation, usually a variant of SSA. The compiler backend converts that back to an imperative representation, i.e. machine code. That entails many complicated transforms e.g. register allocation, instruction selection, instruction scheduling and so on. Lots of heuristics are used to tame their NP-complete nature. That implies missing some optimization opportunities, of course.

OTOH a modern CPU uses super-scalar and out-of-order execution. So the first thing it has to do, is to perform ...

Read More Source

December 29th, 2014

In Technology

No Comments

Quality should be the responsibility of one person

The stuff about quality is interesting. The rest is a misguided rant that gets all of its historical facts wrong. Unix fractured in the 90s? Good lord! It was fractured a long time before that.

One of Brooks’s many excellent points is that quality happens only if somebody has the responsibility for it, and that “somebody” can be no more than one single person—with an exception for a dynamic duo. I am surprised that Brooks does not cite Unix as ...

Read More Source

December 29th, 2014

In Technology

No Comments

Which module should we use for RESTful APIs in Python?

In Python we have a great many HTTP modules to choose from:

urllib2 httplib httplib2 pycurl requests

Balthazar offers a good overview of the modules and concludes:

requests

Finally, let’s see how to create a Github repo with requests.

import requests, json github_url = "https://api.github.com/user/repos" data = json.dumps({'name':'test', 'description':'some test repo'}) r = requests.post(github_url, data, auth=('user', '*****')) print r.json

Wait, is that it? No CreateManagerWithExtraLargeName() method call? No manual credential sending? Well, no. requests was designed to be an HTTP high level API, supporting all HTTP methods, SSL encryption, proxies, redirection, caching, etc.

I ...

Read More Source

December 29th, 2014

In Technology

No Comments

How to imitate the Flask app.route() decorator

Interesting:

Now we’re almost there! But what use is that dictionary of routes if there’s no way to access the view functions inside of it? Lets add a method serve(path), which gives us the result of running a function for a given route if it exists or raises an exception if the route has not been registered yet.

class NotFlask(): def __init__(self): self.routes = {} def route(self, route_str): ...
Read More Source

December 27th, 2014

In Business

No Comments

The changing focus of MBA programs

MBA programs are adding more digital courses.

Isn’t it surprising that this is happening now and not in, say for instance, 1999? Or is this perhaps an evergreen story that is being recycled (because I seem to recall similar articles almost 15 years ago)?

About this:

“That’s because the degree suggests a person steeped in finance and corporate strategy rather than in the digital-age arts of speed and constant experimentation — and in skills like A/B testing, rapid prototyping and data-driven decision ...

Read More Source

December 27th, 2014

In Philosophy

No Comments

When rational thinking is correlated with intelligence the correlation is modest

I consider myself smart and rational, so I was surprised that I stumbled on many of the test questions. I got this one wrong, though you would think, having been programming computers for 15 years, I surely should have gotten this one right:

Jack is looking at Anne, but Anne is looking at George. Jack is married, but George is not. Is a married person looking at an unmarried person?

A) Yes

B) No

C) Cannot be determined

Oddly enough, I feel that if this ...

Read More Source

December 27th, 2014

In Business

No Comments

If you miss the boom, your business will decline

Interesting:

Retail historians date the start of [Montgomery Ward’s] decline to the postwar boom of the 1950’s, when its rival, Sears, Roebuck & Company, moved aggressively into the then nascent suburbs, while Ward, under the steely leadership of its then chief executive, Sewell Avery, hoarded cash and waited for a second Great Depression.

Source

December 27th, 2014

In Business

No Comments

Real Simple is real complicated

Reverse marketing works sometimes. When Caesar Augustus made himself dictator of Rome, he claimed he was restoring the Roman Republic. Likewise, RealSimple is about the hassle of orchestrating complicated social relations and calculations of social status:

Then there are hostesses who meet our approval, like Auntie Mame, who glides about her apartment in a boozy and stylish haze. Like Clarissa Dalloway, she has servants to help (and eventually, her young nephew Patrick to mix martinis), but her skill seems to ...

Read More Source

December 26th, 2014

In Technology

No Comments

Boring is good in Python’s __init__

Interesting:

You might notice that these three observations I’ve made all sound a bit negative. You might conclude that I think this is an antipattern to be avoided. If so, feel free to give yourself a pat on the back at this point.

But if this is an antipattern, is there a pattern to use instead? I think so. I’ll try to explain it.

The general idea behind the pattern I’m going to suggest comes in two parts. The first part is ...

Read More Source

December 26th, 2014

In Business

No Comments

When age and marriage and kids forces entrepreneurs to get a job

Interesting:

Yet, I still struggle with the fact that I’m no better off financially than I was when I started on this journey. In fact, it’s worse. I now have a wife, three kids, two dogs and a mortgage. All of that meaning that I can no longer take big risks. I need health insurance. I need a salary — and that salary needs to cover my family expenses. And, because I’ve ran so lean for the past 10 years, there ...

Read More Source

December 24th, 2014

In Technology

No Comments

Get SqlAlchemy to call CREATE SCHEMA to keep PostGres happy

Someone asks:

I have a SqlAlchemy model with a schema argument like so:

Base = declarative_base()

class Road(Base): __tablename__ = “roads” __table_args__ = {‘schema’: ‘my_schema’} id = Column(Integer, primary_key=True)

When I use Base.metadata.create_all(engine) it correctly issues a CREATE TABLE with the schema name on the front like so “CREATE TABLE my_schema.roads (” but Postgresql rightly complains that the schema doesn’t exist.

Am I missing a step to get SqlAlchemy to issue the CREATE SCHEMA my_schema or do I have to call this ...

Read More Source

December 24th, 2014

In Technology

No Comments

Generate Python models from an SQL schema

Just a reminder to myself, this is how we should generate Python models for our SQL:

from sqlalchemy import create_engine, MetaData, Table, Column, ForeignKey engine = create_engine("sqlite:///mydatabase.db") # produce our own MetaData object metadata = MetaData() # we can reflect it ourselves from a database, using options # such as 'only' to limit what tables we look at... metadata.reflect(engine, only=['user', 'address']) # ... or just define our own Table objects with it (or combine both) Table('user_order', metadata, ...
Read More Source

December 24th, 2014

In Business

No Comments

Why are people willing to give Facebook so much power?

There is the related issue, going back to the beginning of the human race, regarding the deference that humans grant one another. Should we allow others to judge us? If so, how much? But now there is the more modern issue of allowing a for-profit corporation to moderate much of that calculation of social status. Personally, I shut down my Facebook account in 2011.

And therein lies the problem. Facebook largely sets its own rules for what its rules are. ...

Read More Source

December 24th, 2014

In Technology

No Comments

.tgz file- tar: Unrecognized archive format

I got this error during a build:

.tgz file- tar: Unrecognized archive format

Turned out I was working against a mirror that was no longer being updated. I had read instructions telling me to set a particular URL for a mirror in my .zshrc file, but the mirror was out of date to whatever was downloaded was wrong.

This was a tough bug.

Source

December 24th, 2014

In Business

No Comments

Why Wikipedia succeeded

Interesting:

One answer, which seems obvious only in retrospect: Wikipedia attracted contributors because it was built around a familiar product – the encyclopedia. Encyclopedias aren’t just artifacts; they’re also epistemic frames. They employ a particular – and, yet, universal – approach to organizing information. Prior to Wikipedia, online encyclopedias tried to do what we tend to think is a good thing when it comes to the web: challenging old metaphors, exploding analog traditions, inventing entirely new forms…Another intriguing finding: Wikipedia ...

Read More Source

December 24th, 2014

In Technology

No Comments

Why callback hell is hell

This is great:

In the example above, it’s disturbing that simple and intuitively harmless changes introduced such drastic errors. Experientially, it’s kind of like executing print 2 + 2 and seeing 5. What was it about that logging API that turned us into such bad programmers?

The specification of a typical callback-based API is simple: pass in any function and it will get called when the relevant event happens. Unfortunately, this simple specification doesn’t reflect reality. You can’t just call any function ...

Read More Source

December 24th, 2014

In Business

No Comments

Financing the “Humanisation” of Birth

The ultimate paradox of how our species currently reproduces itself is that we have managed to make human birth an inhuman medical experience. Think how strange it is that policy-makers even need this advice:

Policy makers who wish to achieve clinically important improvements in maternity care, particularly around normalising and humanising birth and preventing preterm birth should consider midwife-led continuity models of care and consider how financing of midwife-led services can be reviewed to support this.

The USA has stumbled into ...

Read More Source

December 24th, 2014

In Business

No Comments

The increasing rigidity of Wikipedia

Interesting:

The basic cause of the decline is the English Wikipedia’s increasingly narrow attitude as to what are acceptable topics and to what depth those topics can be explored, combined with a narrowed attitude as to what are acceptable sources, where academic & media coverage trumps any consideration of other factors.

I started as an anon, making occasional small edits after I learned of WP from Slashdot in 2004. I happened to be a contributor to Everything2 at the time, and when ...

Read More Source

December 24th, 2014

In Technology

No Comments

git pull –rebase

Tried to push to git and got ref errors? A reminder to myself:

If the GitHub repo has seen new commits pushed to it, while you were working locally, I would advice for:

git pull –rebase git push

The full syntax is:

git pull –rebase origin master git push origin master

That way, you would replay (the –rebase part) your local commits on top of the newly updated origin/master (or origin/yourBranch: git pull origin yourBranch).

See a more complete example in the chapter 6 Pull with rebase ...

Read More Source

December 21st, 2014

In Technology

No Comments

Guido van Rossum agrees with me

When I wrote How ignorant am I, and how do I formally specify that in my code? I said:

For decades, computer programmers have argued with each other over the issue of strict data-type enforcement, versus dynamic data-type unenforcement. And after 16 years of computer programming, I have come down firmly in the middle: I like optional typing.

Clojure allows me to work dynamically, but to type hint when I want to, so I can get the performance benefits of type ...

Read More Source

December 21st, 2014

In Philosophy

No Comments

Marriage peaked in 1958

Interesting:

That was also the peak year of male participation in the economy and it was the best year for the wage-to-rent ratio.

Source

December 20th, 2014

In Philosophy

No Comments

Gamer culture and the demeaning of teen girl culture

Interesting:

It’s also the sort of following that makes it easy to see why people would make so much fun of him. As I argued in my piece about the Kim Kardashian: Hollywood game which is also popular with young girls, society loves to tell teen girls that their interests are stupid, vapid, and not worthy of respect. It’s not just teen girls, really. The internet has made a sport of mocking teens growing up on the internet. It’s easy to ...

Read More Source

December 20th, 2014

In Philosophy

No Comments

110 year old lizard has children with 80 year old lizard

Interesting:

Henry, a tuatara who, as far as curators at Southland Museum in New Zealand know, had never mated before, hooked up with Mildred, a younger woman of about 80, in March.

In July she laid 11 healthy eggs and, this week, all 11 of them hatched — the last one on Wednesday.

“Eleven out of eleven,” curator Lindsay Hazley said Friday morning. “Bloody brilliant. We had a champagne breakfast to celebrate.”

Henry was the oldest tuatara ever to mate at the museum, ...

Read More Source

December 20th, 2014

In Philosophy

No Comments

Academics are poor

Interesting:

ON the first day of the fall semester, I left campus from an afternoon of teaching anxious college freshmen and headed to my second job, serving at a chain restaurant off Las Vegas Boulevard. The switch from my professional attire to a white dress shirt, black apron and tie reflected the separation I attempt to maintain between my two jobs. Naturally, sitting at the first table in my section was one of my new students, dining with her parents.

This scene ...

Read More Source

December 20th, 2014

In Technology

No Comments

Metaphors for bad code

Interesting:

I “write” a Call Option when I sell someone the right, but not the obligation, to buy in the future an agreed quantity of something at an price that is fixed now. So, for a payment now, I agree to sell you 10,000 chocolate santas[1] at 56 pence each, at any time up to 10th December. You’re prepared to pay the premium because you want to know that you’ll have santas in your stores at a price you can ...

Read More Source

December 20th, 2014

In Technology

No Comments

Which is better, MongoDB or Postgres?

I am very impressed with the new JSON features in Postgres 9.4. So can Postgres completely replace MongoDB? There are some grouping and aggregate functions that MongoDB has that Postgres does not have. More so, at the Mongo shell I have access to the entire Javascript language, whereas Postgres only gives me SQL plus some cool extensions. I recently found out about “WITH” statements in Postgres. From the point of view of SQL, this is the coolest thing ever. From ...

Read More Source

December 20th, 2014

In Technology

No Comments

An outside perspective on SqlAlchemy

Interesting:

For starters, as you might expect from the difference in Ruby vs. Python cultures, SQLAlchemy is more explicit than ActiveRecord. SQLAlchemy has what is called a “declarative” mode where you define your class and your table all at once (within a class that inherits from SQLAlchemy’s declarative_base class). But you can also explicitly create, edit, and inspect an explicit metadata object which defines the table. Then you can define a Python class for your object – and then use SQLAlchemy’s ...

Read More Source

December 19th, 2014

In Technology

No Comments

The big Python surprise: a culture of composable libraries, like Clojure

It is well known that Clojure has a culture best summarized as “Clojure developers prefer to assemble their own stack from small, composable libraries.”

I have been working with Python lately. I am surprised by that it also has a culture of using small libraries. There have been 2 attempts at monolithic frameworks in Python: Zope and Django (maybe Pylons, though it is done as separate libraries, sort of like Symfony2 in PHP). But for the most part, Python goes for ...

Read More Source

December 19th, 2014

In Technology

No Comments

What happens if you introduce a new pattern in your software but never replace the old?

This is very good:

Each new design and technology choice never completely replaced the one that went before. The application has archaeological layers revealing it’s history and the different technological fashions taken up successively by Laurence, Bruce, Ina and Gordy. If you look along the Version 4 line, you can see that there are four different ways of doing the same thing scattered throughout the code base.

Each successive lead developer acted in good faith. They genuinely wanted to improve the application ...

Read More Source

December 19th, 2014

In Philosophy

No Comments

If a disease drives you crazy, then you are crazy but you are also having a physical issue

Very interesting story, about people driven crazy by their condition, and then being dismissed as crazy, when in fact, the craziness might be merely one symptom of the underlying illness:

WE NEED EXPLANATIONS. We need certainty. And certainty is precisely what I have been seeking over the last few weeks. Are Morgellons sufferers mad? Are they sane? Are they the one? Or the other? I never considered the possibility that they might be both. And, in this, I wonder if I ...

Read More Source

December 18th, 2014

In Technology

No Comments

How to install Postgres

By coincidence, I installed Postgres 9.3 yesterday and today they released 9.4 so I’m doing it all over again. This was a good setup guide.

Source

December 16th, 2014

In Technology

No Comments

Is PostGreSQL text search good enough?

Some interesting commentary:

As much as I would like it to be ‘good enough’, Postgres’ full text search lacks the feature set to be a reasonable solution to most search use cases. Background: I wrote a product search engine for a company called iTrackr using Postgres full text search, and later wrote the product search for milo.com using Solr. I also designed a simple (but very effective) algorithm to boost search rankings based on historical user click data, by generalizing click data ...

Read More Source

December 16th, 2014

In Business

No Comments

The CEO of Playboy admits that he’s clueless

Considering how much money the modern CEO is paid, I find it frustrating that so many of them are incompetent, so much so that they are willing to be entirely honest about their incompetence.

With so much free porn oozing from the Internet today, why would anyone look at a tame, old brand like Playboy — online or in print?

Scott Flanders, 57, the first Playboy Enterprises Inc. CEO not to share DNA with its 88-year-old founder and figurehead Hugh Hefner, ...

Read More Source

December 15th, 2014

In Technology

No Comments

Logging activity can be expensive

Scaling issues.

Source

December 15th, 2014

In Technology

No Comments

dtrace: error on enabled probe ID 5 (ID 992: io:mach_kernel:buf_strategy:start): illegal operation in action #3 at DIF offset 0

If I run “iotop” I see this error:

I looked into it and found this on StackOverflow:

I’ve looked into it a bit deeper and it does seem that it’s MySQL causing these heavy pulsing writes. When a table has an entry added or updated, does it have to re-write the entire table to disk or could it append/modify existing data? We are using MyISAM tables. We are also using SELECT queries with ORDER BY and TEXT fields, which of course require ...

Read More Source

December 15th, 2014

In Philosophy

No Comments

Why are dance friends so rare?

I was recently talking to a friend. Over the last 5 years, she and I have gone out dancing maybe a total of 6 or 7 times, in New York City and in Berlin. Not very often, and she is my only real dance friend. She and I were talking about it recently, why are dance friends so rare? It seems difficult to find friends to go dancing with. The person you can go out to a club and dance ...

Read More Source

December 15th, 2014

In Business

No Comments

Making money as a public trust

Andrew Montalenti comments on the fall of The New Republic:

Take note, journalistas. This is how your readers view your stuff — not as a “public trust”, “a voice”, or “a cause”, as TNR was described by the exiting editors in their resignation letter.

For better or worse, readers view your stuff as a product. And a product, to be bought, let alone used, needs to be useful.

I disagree with that view. It is possible to sustain oneself as a “public trust”, ...

Read More Source

December 9th, 2014

In Philosophy

No Comments

1 returns 1 as its identity, but how?

In math, we take identity for granted. But this is really very complex. I am willing to believe that 1 knows it is 1, but how does it communicate that the function that calls it? This is something that I’ve been thinking about a lot lately. Or maybe I am wrong about what it knows. How does 1 know it is 1? Does it engage in self-reflection? If so, how? Wouldn’t self-reflection be a function? But how can a function ...

Read More Source

December 3rd, 2014

In Technology

No Comments

Java gave me a choice that I didn’t need, and I made the wrong choice

Interesting story:

I made a bug once, and I need to tell you about it. So, in 2001, I wrote a reference library for JSON, in Java, and in it, I had this line

private int index

that created a variable called “index” which counted the number of characters in the JSON text that we were parsing, and it was used to produce an ...

Read More Source

November 30th, 2014

In Business

No Comments

When the crowds leave, some parts of the Internet get better

Interesting to think that after The Great Newbie Flood of the 1990s, some people gave up on IRC and now it is better than it was:

IRC today is the opposite of http://en.wikipedia.org/wiki/Eternal_September. People who still use IRC are mostly well-mannered, skillful and welcoming of others, and things only seem to get better day-by-day. People who are unresponsive to email, Tweets and other means of communication can be very responsive on IRC. More signal less noise, I quess.

and:

Yes, compared to ...

Read More Source

November 30th, 2014

In Philosophy

No Comments

Perpetual immaturity is the price of immortality

I am unable to agree with much of this post, but this in particular is a surprising viewpoint:

Your perspective on current events changes. Take the news media. Everything new is old after a time: you see the large-scale similarities across decades even without becoming a student of history. Today’s invasion or oil crisis is just like the one before last. Our current political leadership are stuck in the same ideological monkey’s-paw trap as their predecessors the last time their party ...

Read More Source

November 30th, 2014

In Technology

No Comments

Why use Java?

This article is called “Java For Everything” and it makes a good case for re-using the same language over and over again, but it does not make any case for Java.

This makes clear of using the language that you know best:

And finally, I went to write a simple program that put up a web interface. I considered using Python, but this would have required me to figure out how to serve pages from its library. I had already ...

Read More Source

November 30th, 2014

In Technology

No Comments

Letting others write your Emacs config

This is an interesting attitude:

After a long time of maintaining my own configuration I took the decision a few years ago to outsource it to people who really care about this stuff. I started with the Emacs Prelude (http://batsov.com/prelude/) which introduced me to some great tools. I recently switched to Vim bindings (evil-mode) and a week ago switched to Spacemacs (https://github.com/syl20bnr/spacemacs) which integrates better with evil-mode . So far I’m really liking the Spacemacs approach. tl;dr: Just use one of the ...

Read More Source

November 29th, 2014

In Technology

No Comments

peerinvalid The package mocha does not satisfy its siblings’ peerDependencies requirements!

Setting up a new complicated system. I got to the point where “make build” completed. But I run into trouble with “make run”.

I don’t know why this error exists:

npm ERR! peerinvalid The package mocha does not satisfy its siblings’ peerDependencies requirements! npm ERR! peerinvalid Peer karma-mocha@0.1.9 wants mocha@* npm ERR! peerinvalid Peer mocha-as-promised@2.0.0 wants mocha@>= 1.8.0 Source

November 29th, 2014

In Technology

No Comments

nixd is an automation framework to build your application environment

I am not clear why this is better than running a VM but this is an interesting attempt to fix the problem of setting up complex systems on machine:

nixd is an automation framework to build your application environment for development and production. It sits between build tools and configuration management engines, and lets you write simple shell scripts with hooks that will reliably get you from pristine source to running code in one command, and make every attempt to ...

Read More Source

November 29th, 2014

In Technology

No Comments

We need a unified abstraction for apps to discover each others formats

Myself and a friend exchanged some email regarding the article “The Future of Asynchronous IO in Python”. My friend wrote:

Seems like he wants zmq/nanomsg embedded inside Python. I am not really sure why.

I responded:

I think what he is suggesting is more interesting: a single, unified way of speaking to all protocols (MySql, MongoDB, Redis, Kafka, etc). When he says “protocol” I think he means “byte format”. He points out that each app generally has its own method of ...

Read More Source

November 29th, 2014

In Philosophy

No Comments

The Krugman diet

I do this too, or at least, try to:

Some people can do sustained self-discipline, eating healthy limited portions all the time; sorry, I need to drown my sorrows in red wine and pasta. Mark Bittman’s vegan before 6 works for some people I know. But what has worked for me is severe caloric restriction two days a week. In case you’re wondering, it’s actually very unpleasant. But periodic suffering seems to suit my personality.

On the tracking issue: I use a ...

Read More Source

November 27th, 2014

In Technology

No Comments

Slingshot cleans up its “catch any exception or object” syntax

Personally, I am pleased to see Slingshot improve this, as it is has long been a source of confusion. Paul Stadig writes a long comment that is critical of this change, but I disagree with his assumptions, especially here:

“It is confusing to have a class selector that selects against the wrapped object instead of the wrapper.” In other words (catch RuntimeException e …) selects against the wrapper object that is thrown whereas (catch Object o …) selects against ...

Read More Source

November 27th, 2014

In Technology

No Comments

Why use Github and also Google Groups for an open source project?

This seems to be a universal pattern, where an open source project has both a Github account and a Google Groups mailist, but is the mailist really needed? Why not just use the tools offered by Github (issues, the wiki, etc). I like that Monger introduced a Feature Request label on Github:

From Google Groups

Source

November 27th, 2014

In Technology

No Comments

Flask uses assertions

Assertions don’t seem to be used very often in Python, but they are used in Flask:

eugene-eeo started the conversation:

eugene-eeo commented 10 hours ago

I was browsing through the source and found it weird that asserts were used instead of normal exceptions.

untitaker replied:

Alright. Because Flask is using assert-statements exactly as usually recommended. The Python wiki explains the meaning of assertion errors:

Assertions are not a substitute for unit tests or system tests, but rather a complement. Because assertions are a ...

Read More Source

November 27th, 2014

In Technology

No Comments

Can Gunicorn die if bash quits before forking is done?

A very intersting bug:

Sly010 does some epic digging to find out why Gunicorn sometimes dies on startup:

Did a bit more digging:

# relevant section from daemonize() in util.py

if os.fork(): os._exit(0) os.setsid() ...

# (added 3 prints) # 3 out of 5 times this prints “1″ then silence. No gunicorn. # There is no error message and nothing in the logs.

if os.fork(): print "1" os._exit(0) print "2" os.setsid() print "3" ... # (added an extra sleep) # This prints 1,2,3 (but I would ...
Read More Source

November 27th, 2014

In Technology

No Comments

The effects of signal() in a multithreaded process are unspecified

I did not know this, and I find this very surprising:

Continuing reading the manual page, the very first note under the NOTES section is this:

The effects of signal() in a multithreaded process are unspecified.

This is called Unspecified Behavior. What it means is that standard does not say anything as for how the function should behave in a multi-threaded environment. Therefore, it may exhibit a different behavior on different systems including different versions of the same system, at discretion of ...

Read More Source

November 27th, 2014

In Technology

No Comments

Why I don’t use classes or protocols in Clojure

This post on Github sums it up very well. For almost every situation where, in an object oriented language, I would reach for interfaces and classes, in Clojure I tend to just use multi-methods.

The key issue is polymorphism. All of us want to work in a language that gives us powerful forms of polymorphism. All of the major languages offer us some types of polymorphism, but let us ask, which gives us the most powerful and flexible forms? ...

Read More Source

November 27th, 2014

In Technology

No Comments

Returning an object from eval() in Javascript

I did not know this:

eval parses its argument in statement context. You have to put parentheses around an object literal if you want eval to return an object:

> eval(‘{ foo: 123 }’) 123

> eval(‘({ foo: 123 })’) { foo: 123 }

Source

November 27th, 2014

In Technology

No Comments

A basic skeleton for python decorators

This is a nice resource that I will almost certainly come back to:

### Example usage ### class PrintDebugDecorator(Decorator): def _call(self, *args, **kwargs): print 'calling', self._f, 'with', args, 'and', kwargs return self._f(*args, **kwargs) class ModuloDecorator(Decorator): def _init(self, n=None): self.__n = n if n else 42 def _call(self, *args, **kwargs): ...
Read More Source

November 27th, 2014

In Technology

No Comments

Protecting against JSON attacks in Flask

Interesting debate. So where should Flask enforce safety for the handling of JSON?

dghubble commented 18 hours ago

My understanding is that the previous behavior (always converting the args to a dict) was sufficient to always prevent a top level json list, but blocked the legitimate use case of jsonify’ing an object for which one has written a custom JSONEncoder. This PR seems to enable that ability, while still protecting against top level json lists.

Whether json lists are considered a vulnerability Flask ...

Read More Source

November 27th, 2014

In Technology

No Comments

Top level arrays in Javascript are dangerous: Register callback on Javascript Array setters

Interesting attack:

So now what happens if a clever hacker is embedding this to his website and social engineers a victim to visiting his site:

<script type=text/javascript> var captured = []; var oldArray = Array; function Array() { var obj = this, id = 0, capture = function(value) { obj.__defineSetter__(id++, capture); if (value) captured.push(value); }; capture(); } </script> <script type=text/javascript src=http://example.com/api/get_friends.json></script> <script type=text/javascript> Array = oldArray; // now we have all the data in the ...
Read More Source

November 27th, 2014

In Technology

No Comments

Weird that under Python 3.4 runtime you can import from 2.7

Interesting:

Weird that under Python 3.4 runtime you can import from 2.7. That should not be possible for all those sanity reasons.

Because allowing that means:

Thanks. I might miss something obvious but when using gunicorn MYPROJECT.wsgi:application i get:

File “/virtualenv/lib/python3.4/site-packages/django/utils/timezone.py”, line 13, in import pytz File “/virtualenv/lib/python3.4/site-packages/pytz/__init__.py”, line 37, in from pytz.lazy import LazyDict, LazyList, LazySet File “/virtualenv/lib/python3.4/site-packages/pytz/lazy.py”, line 3, in from UserDict import DictMixin File “/usr/lib/python2.7/UserDict.py”, line ...

Read More Source

November 26th, 2014

In Technology

No Comments

Prepare for broken builds

Funny:

Source

November 26th, 2014

In Technology

No Comments

Every programming language has its own culture

It is interesting to note that this article about decorators in Python does not use the “word” closure, even though that would be the obvious way of talking about these, were we discussing a language like Javascript, where discussion of closures has been central to the culture since Doug Crockford first discussed them back in 2001.

Only in the comments does someone ask about closures:

So, decorators are an application of closures, i.e. closures applied to functions? Could you explain the ...

Read More Source

November 26th, 2014

In Technology

No Comments

Ugly mutable parts of Python

I like Python more than PHP, but the mutable parts of Python are as ugly as PHP. This function is an exampe:

def transform_words(content, targets, transform): """Return a string based on *content* but with each occurrence of words in *targets* replaced with the result of applying *transform* to it.""" result = '' for word in content.split(): if word ...
Read More Source

November 25th, 2014

In Business

No Comments

Is 0% growth for 90% a successful economic model?

Such a fantastic title. Just 9 words, yet it packs so much in.

I am especially curious why people become defensive when this issue is raised:

While most people express initial concerns about recent trends of increasing inequality, there tends to be a negative reaction about accepting that this is indeed a failure of our current economic model and most become very defensive when that argument is being made.

Why be defensive? Why not just work to end it?

Source

November 24th, 2014

In Philosophy

No Comments

What its like to have an illness with no name

During the 1990s I was sick for 6 years, from 1994 to 2000. The doctors guessed what I had, but they were never sure. When you have an illness with no name, then you don’t get the social support that you might get if you have cancer. So I 100% relate to what this guy is saying:

It Hasn’t Got A Name

This, right away, is the big problem. I’ve been through enough to know that the best way to survive something ...

Read More Source

November 24th, 2014

In Technology

No Comments

Python and its discontents

Python started off as a clean procedural language, with some immutable objects that would have allowed it to evolve into a beautiful functional language, but instead, with version 3, it veered in the direction of classic object oriented programming. I disappointed by this and so I have some interest in the various disappointments expressed by others:

By far my biggest problem with the language is the stupid slot system. I do not mean the __slots__ but the internal type slots for ...

Read More Source

November 24th, 2014

In Technology

No Comments

An abundance of file watchers in Clojure

This is a good overview of the file watchers in Clojure. I had no idea there were so many:

Typically file watchers are implemented using either one of two patterns:

verb based – (add-watch directory callback options)

noun based – (start (watcher callback options))

The difference is very subtle and really centers around the verb start. If the verb start does not exist, we can treat the file-watch as an action on the file object. However if it does exist, we can treat ...

Read More Source

November 24th, 2014

In Technology

No Comments

Instant dashboard with the ELK stack?

I need to build some dashboards for a business. I am impressed with Riak but I would have to find some way to build the dashboard. In theory, the ELK stack gives an almost instant dashboard. I am not at all interested in Logstash, but the rest of this sounds interesting:

We’ve built a data analysis and dashboarding infrastructure for one of our clients over the past few weeks. They collect about 10 million data points a day. Yes, that’s ...

Read More Source

November 24th, 2014

In Technology

No Comments

How to write errors to the terminal while booting a daemon

A very clever trick from Unicorn, which can probably be used everywhere:

And then there’s the ready_pipe Unicorn uses, which is actually quite an amazing trick. See, if you want to daemonize a process under Unix, you need to call fork(2) two times (and do some other things) so the process is completely detached from the controlling terminal and the shell thinks is the process is done and gives you a new prompt.

What Unicorn does when you tell it to run ...

Read More Source

November 24th, 2014

In Technology

No Comments

Using Emacs Eshell as the ultimate shell

Very interesting idea, I am tempted to try it:

File Selection

If all you were doing was renaming a single file, or changing access permissions on all files in a directory, you’d hardly need a flexible shell, as dired or even Finder is sufficient for those tasks. A shell comes in handy when selecting a subset of files based on a pattern, and EShell really shines here, because of its filters.

$ ls -al *.mp3(^U) # Show songs I don’t own

If ...

Read More Source

November 23rd, 2014

In Technology

No Comments

The Tracy-Widom distribution

Interesting:

The Tracy-Widom distribution is an asymmetrical statistical bump, steeper on the left side than the right. Suitably scaled, its summit sits at a telltale value: √2N, the square root of twice the number of variables in the systems that give rise to it and the exact transition point between stability and instability that May calculated for his model ecosystem.

The transition point corresponded to a property of his matrix model called the “largest eigenvalue”: the greatest in a series of ...

Read More Source

November 23rd, 2014

In Business

No Comments

Why strict encyclopedias are strong

Back in 1994 LR Iannaccone wrote “Why strict churches are strong” and the gist of the argument was:

The strength of strict churches is neither a historical coincidence nor a statistical artifact. Strictness makes organizations stronger and more attractive because it reduces free riding. It screens out members who lack commitment and stimulates participation among those who remain. Rational choice theory thus explains the success of sects, cults, and conservative denominations without recourse to ...

Read More Source

November 23rd, 2014

In Technology

No Comments

Setting up a daemon to run automatically at startup

If I sudo to root and run:

ls -alh /etc/rc2.d/

I see something like this:

Apparently, on Ubuntu, the creation of these links is managed by update-rc.d

DESCRIPTION update-rc.d updates the System V style init script links /etc/rcrunlevel.d/NNname whose target is the script /etc/init.d/name. These links are run ...

Read More Source

November 23rd, 2014

In Technology

No Comments

Controlling the aggressiveness of swap

Interesting:

sysctl is similar ulimit: It allows to configure kernel parameters at runtime. If you wish to keep settings persistent across reboots you should edit /etc/sysctl.conf – be aware that wrong settings may break things in unforeseen ways.

Code Listing 4: Exploring sysctl variables # sysctl -a … vm.swappiness = 60 …

The list of variables is quite long (367 lines on my system), but I picked out vm.swappiness here. It controls how aggressive swapping will be, the higher it is (with a maximum of ...

Read More Source

November 23rd, 2014

In Technology

No Comments

Escort for command line utilities in Ruby

This looks awesome:

A lot of the existing CLI making libraries delegate to OptionParser for actually parsing the option string, while OptionParser is nice it doesn’t allow things like specifying the same option multiple times (e.g. like CURL -H parameter) which I like and use quite often. Trollop handles this case nicely, so a Trollop-based CLI tool is superior.

Also a lot of the other CLI libraries in an attempt to be extra terse and DRY make their syntax a little ...

Read More Source

November 23rd, 2014

In Technology

No Comments

Login into remote server with one word alias

I need to remind myself of this every time:

The SSH config file is a set of key-value pairs. One type of setting is a Host keyword with other attributes. Thus, an appropriate Host entry might be:

$ cat .ssh/config Host annoying HostName annoying.hostname.example.org User admin Port 22022 Now the previous examples become:

$ ssh annoying … $ scp some-file annoying: … Finally, the last step is to take advantage of alias in your shell. In your .profile (or .bash_profile, etc):

$ grep alias .profile alias annoying=’ssh annoying’; The end result is what one ...

Read More Source

November 23rd, 2014

In Technology

No Comments

Some Unix commands that I am finding useful

This is a note to myself. I am getting to know a new server topology at a new company. I find these commands useful:

(some of these are specific to Ubuntu — initctl, ncat, etc)

find

locate

ps

pstree

top

htop

netstats (in particular netstats -pl)

lsof

grep

du -h

df -h

ls (in particular “ls -alh” and “ls -alhrt”)

cd

screen

strace (as in “strace -c -f -p 19363″)

more

less

fuser (especially “fuser -v -n tcp 80″)

ncat (such as “ncat -lvp 4444″ I test to be sure I can send a message to a ...

Read More Source

November 23rd, 2014

In Technology

No Comments

A 23 line web server in Ruby

Part of the Ruby philosophy is to rely on Unix as much as possible. That is, in theory, what makes Unicorn so great. Here is an example of how simple it can be to build a server:

At the heart of everything that has to do with networking under Unix are sockets. You want to read a website? You need to open a socket first. Send something to the logserver? Open a socket. Wait for incoming connections? Open a socket. ...

Read More Source

November 23rd, 2014

In Technology

No Comments

Stream Control Transmission Protocol

I did not know about the existence of this kind of socket:

Similar to TCP and UDP, SCTP provides some features of both. It is message-oriented, and provides a reliable sequenced delivery of messages. SCTP supports multi-homing, i.e., multiple IPs on both sides of the connection. So it is called an association instead of a connection, as a connection involves communication between two IPs, while an association refers to communication between two systems that may have multiple IPs.

SCTP can provide ...

Read More Source

November 23rd, 2014

In Technology

No Comments

You don’t need to normalize a reporting database, because it’s read-only

I am about to create a reporting database, so this is a healthy reminder to myself:

A reporting database has a number of advantages:

The structure of the reporting database can be specifically designed to make it easier to write reports.

You don’t need to normalize a reporting database, because it’s read-only. Feel free to duplicate data as much as needed to make queries and reporting easier.

The development team can refactor the operational database without needing to change the reporting database.

Queries run ...

Read More Source

November 23rd, 2014

In Philosophy

No Comments

Older brains learn differently than young brains

Older people show plasticity in white matter, whereas young people showed plasticity in their brain’s cortex:

Individuals varied, but older subjects were just as likely on average as younger ones to make substantial progress in discriminating the small patch’s different texture. But the researchers weren’t just interested in whether learning occurred. They also scanned the brains of the volunteers at the beginning and the end of the week using magnetic resonance imaging, which can indicate plasticity in the cortex, and using ...

Read More Source

November 23rd, 2014

In Business

No Comments

Female MBAs lose out to their husbands

More news on the gender front, this time comparing female MBAs with their husbands:

The male graduates were much more likely to be in senior management positions and have more responsibility and more direct reports than their female peers. But why? It’s not because women are leaving the workforce en masse. The authors found, definitively, that the “opt-out” explanation is a myth. Among Gen X and baby boomers they surveyed, only 11 percent of women left the workforce to be ...

Read More Source

November 23rd, 2014

In Business

No Comments

The Hindenberg was the largest airship ever built

I did not know this:

The 1990s were a time of wild commercial optimism, driven by the end of the cold war, rapidly burgeoning public access to the internet, and deregulation of financial and banking controls. All of these came with an eventual crash and an ugly hangover in the following decade, but at the time funds managers poured money into whatever high-tech startup sounded good with a cocaine high. Roton, the fully reusable surface-to-orbit helicopter, got funding. VCs lined up ...

Read More Source

November 23rd, 2014

In Business

No Comments

The toilet paper scare of 1973

Interesting:

Like most scares, the toilet paper fiasco all started with an unsubstantiated rumor. In November of 1973, several news agencies reported a tissue shortage in Japan. Initially, the release went unnoticed and nobody seemed to put much stock in it — save for one Harold V. Froelich. Froelich, a 41-year-old Republican congressman, presided over a heavily-forested district in Wisconsin and had recently been receiving complaints from constituents about a reduced stream of pulp paper. On November 16th, he released his ...

Read More Source

November 23rd, 2014

In Technology

No Comments

Automatic conflict resolution in a distributed database?

Clearly, a lot of careful thought has gone into Riak:

A pure key/value store is completely agnostic toward the data stored within it. Any key can be associated with values of any conceivable type, from short strings to large JSON objects to video files. Riak began as a pure key/value store, but over time it has become more and more aware of the data stored in it through features like secondary indexes and Search.

In version 2.0, Riak continued this evolution ...

Read More Source

November 22nd, 2014

In Philosophy

No Comments

How should biologists define sex?

Here is an interesting creature that manages to do the gene-swapping of sex while being asexual, and it therefore raises the question of whether sex should be re-defined:

Indeed, bdelloids appear to have adopted an evolutionary strategy similar to that of bacteria, a highly successful class of organisms that also lack conventional sex. “Researchers working on the evolutionary significance of sex often tended to overlook the fact that bacteria have been doing very well without sex for millions of years,” said ...

Read More Source

November 22nd, 2014

In Technology

No Comments

What is a vector clock?

Interesting:

Like dotted version vectors, vector clocks are a means of tracking a events in distributed systems. Unlike normal clocks, vector clocks have no sense of chronological time, i.e. they don’t care if something happened at 6 pm today or back in 1972. They care only about sequences of events. More specifically, they keep track of who—i.e. which actor in the system—has modified an object and how many times they’ve done so.

In a distributed system like Riak, multiple replicas of ...

Read More Source

November 22nd, 2014

In Technology

No Comments

Denormalizing a variety of data-types to a standard type for display

What is Riak good for? I get that we developers often denormalize a database to gain speed. I am not sure I totally get this, but I think this talk from developers at Yammer is about denormalizing data to a standard format, so that you can also get a simplicity and speed when you display it. In this graph they have “notifications” on the left, and then they start dividing it by status and by specific properties, which is strange, ...

Read More Source

November 22nd, 2014

In Philosophy

No Comments

Does anyone want to die?

I don’t know anyone who wants to die, and yet the public has shown no interest in funding the kind of science research that might some day lead to a cure for stuff like cancer. The USA had a good upward trend line in science spending up until 1970, but it has dropped off since. In some sense, people are acting as if they want to die, which someone justifies this comment on Hacker News:

Well, that’s another data point ...

Read More Source

November 22nd, 2014

In Technology

No Comments

The denormalized Materialized Path

When you have to do self-joins, but you don’t know how many to do, to build a hierarchical tree out of data in the database:

In this approach each record stores the whole path to the root. In our previous example, lets assume that KING is a root node. Then, the record with ename = ‘SCOTT’ is connected to the root via the path SCOTT->JONES->KING. Modern databases allow representing a list of nodes as a single value, but since materialized path ...

Read More Source

November 22nd, 2014

In Technology

No Comments

Kenya was the first country in Sub-Saharan Africa to deploy a completely online national HIS in September 2011

I note this mostly in surprise, as I realize how many efforts there are now ongoing to modernize health systems all over the world:

Kenya was the first country in Sub-Saharan Africa to deploy a completely online national HIS in September 2011. All districts and selected health facilities are connecting to the DHIS 2 national server using Mobile Internet (dongles/usb modems) on their computers. Kenya allows self-registration of personal user accounts.

After 1 year of country-wide use the national reporting rates for ...

Read More Source

November 22nd, 2014

In Philosophy

No Comments

Gravidity

The word comes from Latin, meaning heavy or burdened:

In human medicine, “gravidity” refers to the number of times a woman has been pregnant,[1] regardless of whether the pregnancies were interrupted or resulted in a live birth.

The term “gravida” can be used to refer to a pregnant woman.

A “nulligravida” is a woman who has never been pregnant.

A “primigravida” is a woman who is pregnant for the first time or has been pregnant one time.

A “multigravida” or “secundogravida” is a woman ...

Read More Source

November 21st, 2014

In Philosophy

No Comments

Why doesn’t protein send information to RNA?

I find this puzzling:

The enzymes that transcribe DNA, and turn it into RNA, are proteins, and if they are damaged, then a type of information would move from protein to RNA, and yet the above graph suggests there is no feedback from protein to RNA. Why?

From here:

The focus of proteomics is a biological group called the proteome. The proteome is dynamic, defined as the set of proteins expressed in a specific cell, given a particular set of ...

Read More Source

November 21st, 2014

In Philosophy

No Comments

The Haplotype Map

Interesting:

The International HapMap Project is a collaboration among researchers at academic centers, non-profit biomedical research groups and private companies in Canada, China, Japan, Nigeria, the United Kingdom, and the United States. It officially started with a meeting on October 27 to 29, 2002, and was expected to take about three years. It comprises two phases; the complete data obtained in Phase I were published on 27 October 2005. The analysis of the Phase II dataset was published in October 2007. ...

Read More Source

November 21st, 2014

In Business

No Comments

The data that Uber hides

Uber has deleted some blog posts, in particular this one:

Recently, I have come to understand that some of you may have—and I’m not pointing any fingers here or anything—on occasion found love that you might immediately regret upon waking up the morning after. Let’s talk about that. In times of yore you would have woken up in a panic, scrambling in the dark trying to find your fur coat or velvet smoking jacket or whatever it is you cool ...

Read More Source

November 21st, 2014

In Technology

No Comments

Government science projects: i2b2

I said this before, but it is an interesting trend: the last 20 years has seen the growth of a great many data silos in every industry, both governmental and private-sector, and now there seems to be great value in seeking integration. I noticed this during the summer, when I was working at LaunchOpen: they were integrating private sector databases such as Moodle and Blackboard, with those databases maintained by the Department Of Education. Now I notice the same thing ...

Read More Source

November 21st, 2014

In Philosophy

No Comments

What good can come from childbirth?

The headline was too good to pass up. This is from Amy Romano’s latest essay on innovative models of caring for mothers and children:

It almost seems ludicrous to ask what good can come from childbirth, since birth results in a new human being, an event celebrated across every culture. But it is a worthy question to consider in the context of healthcare. When we talk about birth outcomes, the framework is usually morbidity and mortality: preterm birth, birth injury, ...

Read More Source

November 21st, 2014

In Technology

No Comments

The SQL relational model fails at hierarchical trees

This is a very good point:

Since we don’t know the number of levels between the two, we can’t tell how many times to selfjoin emp, so that the task can’t be solved in traditional SQL.

Which is from here:

Relational databases are universally conceived of as an advance over their predecessors network and hierarchical models. Superior in every querying respect, they turned out to be surprisingly incomplete when modeling transitive dependencies. Almost every couple of months a question about how to ...

Read More Source

November 21st, 2014

In Philosophy

No Comments

How many errors are needed to make a model false?

Interesting comment, in response to criticism of an essay about probability:

Are you saying that one statistical error in a probabilistic model makes the entire model wrong? Then you’d equally have to say that one logical error in a categorical model makes it equally wrong. And manifestly, there are many logical errors in all grammars. So I’m not sure what your point is here.

I’m interested to know: I quoted Chomsky: “That’s a notion of [scientific] success that’s very novel. I ...

Read More Source

November 21st, 2014

In Philosophy

No Comments

¡Yo!

I just got done reading Julia Alvarez’s novel ¡Yo!

There was a lot I liked about this novel, but first I will list a few things I did not like.

Julia Alvarez is clearly very intelligent, and yet none of the characters in the book come across as especially intelligent. The main character, Yo, is a writer and a professor, and so we can assume that she is probably very smart. However, the text mostly brings out her failings and ...

Read More Source

November 21st, 2014

In Philosophy

No Comments

Preeclampsia studies should segregate data regarding how many births a woman has had

I am now working on women’s health/pregnancy issues, so this was interesting: “Mixing Nulliparous and Multiparous Women in Randomised Controlled Trials of Preeclampsia Prevention Is Debatable: Evidence from a Systematic Review”

Nulliparous means a woman has never been pregnant.

Multiparous means a woman has been pregnant several times.

Their conclusion:

Main Results

88 randomised controlled trials were identified, representing 83,396 included women. In 58 of the 88 articles identified (65.9%), preeclampsia was the primary outcome. In 31 of these (53.4%), the investigation combined ...

Read More Source

November 21st, 2014

In Philosophy

No Comments

The woman at the bank

Sad story. I went to my bank (Chase bank). I am visiting my mom in New Jersey, so this is out in the suburbs. I wanted to get some spending/travel money, so I was there to make a withdrawal. I arrived at the slow part of the day, before lunch. There was only 1 teller. There was only 1 other customer, a woman, who was before me in line. She looked very tired, and I guessed her age was between ...

Read More Source

November 20th, 2014

In Technology

No Comments

Why is declarative programming so limited?

Interesting idea, though strange that this has not caught on decades ago:

Today’s computers don’t have enough contextual knowledge to make me a sandwich but there are lots of domains where this approach excels. The classic example is SQL databases. Rather than specifying exact data-structures and operations, the user specifies a high-level schema and sends descriptions of queries. It is the responsibility of the database to choose storage types, manage concurrent changes and generate query plans. It makes these decisions based ...

Read More Source

November 20th, 2014

In Technology

No Comments

Python encourages tinkering

I already linked to this, but it really is interesting. I don’t think this is possible in Ruby or PHP or script languages in general, but you can do crazy things in Python:

Above we did an in-place modification of a value in a numpy array. This is easy, because a numpy array is simply a data buffer. But might we be able to do the same thing for a list? This gets a bit more tricky, because lists store ...

Read More Source

November 20th, 2014

In Philosophy

No Comments

Is conservative-versus-liberal a proxy for rare-big-loss-versus-rare-big-win

Interesting:

Consider some jobs that lean conservative: soldier, police, doctor, religious worker, insurance broker. These seem to be jobs where there are rare big bad things that can go wrong, and you want workers who can help keep them from happening. That explanation can also makes some sense of these other conservative jobs: grader & sorter, electrical contractor, car dealer, trucker, coal miner, construction worker, gas service station worker, non-professor scientist. Conservatives are more focused on fear of bad things, and ...

Read More Source

November 20th, 2014

In Business

No Comments

Marc Andreessen on diversity in the tech industry

Marc Andreessen makes a good point about the diversity of males in the tech industry. But there are some racial groups that are left out of the industry, in particular, blacks and hispanics. The tech industry is one of the few industries that is fast growing and high paying, so it is important that groups that have been historically discriminated against, in the USA, be included. Also, Andreessen’s point mostly applies to men, not women.

I think the critique that ...

Read More Source

November 18th, 2014

In Technology

No Comments

Software transactional memory in Python

Interesting:

Python has a GIL, right? Not quite – PyPy STM is a python implementation without a GIL, so it can scale CPU-bound work to several cores. PyPy STM is developed by Armin Rigo and Remi Meier, and supported by community donations. You can read more about it in the docs.

Although PyPy STM is still a work in progress, in many cases it can already run CPU-bound code faster than regular PyPy, when using multiple cores. Here we will see how ...

Read More Source

November 18th, 2014

In Technology

No Comments

Rapid intake and output of data, with control over the scale of the failures

Two new and interesting libraries:

s3-logging:

At first, we used the Hadoop S3 client, which we had used in some lightweight use cases before. Unfortunately, it ended up coping poorly. Each server had a sustained throughput of about 10 megabytes of compressed data per second, and every so often S3 would hiccup and stop accepting data for a few minutes. When this happened, Hadoop’s client would simply buffer the data in-memory until all the memory was exhausted, at which point the process ...

Read More Source

November 18th, 2014

In Business

No Comments

Uber CEO Travis Kalanick is a danger to women

(photo of Uber CEO Travis Kalanick)

Uber CEO Travis Kalanick is allowing his company to engage in some shameful tactics. This is a story from multiple sources, and of multiple incidents.

Ellen Cushing at Modern Luxury writes:

While I was reporting my recent cover story on Uber and its CEO Travis Kalanick, several current and former Uber employees warned me that company higher-ups might access my rider logs. Because I couldn’t independently verify these claims without sacrificing my sources’ anonymity, I didn’t include ...

Read More Source

November 18th, 2014

In Technology

No Comments

Why Python is slow

This is a great comparison of C code to Python code. (Actually, this is true of most script languages, not just Python.)

C Addition

Assign 1 to a Assign 2 to b call binary_add(a, b) Assign the result to c

The equivalent code in Python looks like this:

# python code a = 1 b = 2 c = a + b

here the interpreter knows only that 1 and 2 are objects, but not what type of object they are. So the The interpreter must inspect PyObject_HEAD for ...

Read More Source

November 18th, 2014

In Technology

No Comments

Perl is faster than Python

Interesting:

A related question is: why is Perl so fast? Quite a few years ago I wrote a little Runge-Kutta solver in Perl for some simulation work. It seemed like a good idea at the time. The equations of motion had to be integrated over a very long time, and it could take hours for a single run (still much faster than the Monte Carlo it was being used to do a sanity-check on). I re-wrote everything in C++, and picked up ...

Read More Source

November 17th, 2014

In Philosophy

No Comments

Misogyny haikus

Ladyparts. (Actual requests for actresses in Hollywood) Sad and funny and then sad again:

Source

November 16th, 2014

In Business

No Comments

His accumulating motives were rather those of power, of self-expression, of hunting big game

Interesting:

Yet the man who wills property does so without regard to its effect on the social distribution of wealth. In fact even from the private point of view careful thought is seldom bestowed on the solemn responsibility of bequeathing property. The ordinary millionaire capitalist about to leave this world forever cares less about what becomes of the fortune he leaves behind than we have been accustomed to assume. Contrary to a common opinion, he did not lay it up, at ...

Read More Source

November 16th, 2014

In Business

No Comments

The computers of the future, seen from 1964

This is from 1964, though parts of it seem to be talking about the modern era:

Today there are probably more than twenty thousand computers in use within the United States, and correspondingly large numbers are installed in many other countries around the world. Computers run at speeds of up to millions of operations per second, and do so with negligible rates of error. Their linguistic abilities have been broadened impressively through development of elaborate programming systems, and their memories can ...

Read More Source

November 14th, 2014

In Philosophy

No Comments

Modern romance and breakups

I found this funny:

Source

November 14th, 2014

In Philosophy

No Comments

Midwifery is uniquely human — there is no other species where the female needs help giving birth

How much should the government play a role in enforcing license requirements regarding assistance during birth? In every such debate, in the background there is the issue of how much midwifery should professionalize, and also how much the government has any right to insist that this particular activity should be a credentialed one. It is worth remembering that being a midwife might, in fact, be the world’s oldest profession. The Proceedings of the National Academy of Sciences published the article ...

Read More Source

November 14th, 2014

In Technology

No Comments

Setting up Flask to talk to Nginx

The main thing I learned was how to configure the reverse proxy for Nginx:

server { location / { proxy_pass http://127.0.0.1:8000; } location /static { alias /home/www/flask_project/static/; } }

Easy.

The configuration of the static files was also interesting:

So, HTTP requests that hit the / endpoint will be ‘reverse proxied’ to port 8000 on 127.0.0.1 ...

Read More Source

November 14th, 2014

In Technology

No Comments

Do you need to learn how to program a computer?

No. You do not need to learn how to program a computer. The question is stupid. And yet the debate goes on, endlessly. I recall this debate was going strong when I was a child. Here is the New York Times in 1984:

”SHOULD I learn to program?” and ”Do I have to learn to program?” are two variants of the question probably most asked by people testing the waters of computer ownership. The answer usually boils down to an ...

Read More Source

November 14th, 2014

In Technology

No Comments

How difficult is it to work with TCP?

I am thinking of creating a new protocol on top of TCP. I’ve been thinking that, with all the good libraries out there, I would not have to do much work. But then I read this, and it gives me pause: maybe TCP is tougher than I thought:

Zero windows are another frequent source of grief, to such lengths that at multiple mobile operators the technical staff have quizzed us extensively on our use of zero windows. I don’t quite ...

Read More Source

November 14th, 2014

In Philosophy

No Comments

The invisibility of certain kinds of midwives

Brynne Potter reflects on the confluence of race and midwifery:

One of our main talking points was to point to the incredible outcomes of the Registered “Granny” Midwives who had held permits from the VA Dept of Health from 1918 until 2002.

These midwives, whom we know anecdotally were women of color who served communities of color that were denied access to health services prior to the mid-seventies, had no minimum education requirements, had minimal access to diagnostic tools, worked in ...

Read More Source

November 14th, 2014

In Business

No Comments

What should be illegal on the foreign exchange markets?

Interesting:

ON MONDAY: You are on your way to the fruit market, because you want to buy five oranges. Someone you’ve never met before accosts you on your way and says “Hey, you! Could you buy me five oranges please? I’ll give you the money when you come back and pay you ten pence for doing it”. You think what the hell, and say yes. Down at the market, there is one stall which has five oranges for sale at 50p each, ...

Read More Source

November 14th, 2014

In Philosophy

No Comments

A bill which makes it mandatory for candidates to have toilets in their homes

Interesting:

Is banning a person from contesting for public office if he or she does not have a toilet at home a good idea?

India’s western state of Gujarat certainly believes so. Earlier this week, the state’s legislators passed a bill which makes it mandatory for candidates to have toilets in their homes to qualify for contesting elections to local municipalities and village councils. Existing elected members will also have to declare within six months that they have toilets at home, failing ...

Read More Source

November 14th, 2014

In Technology

No Comments

The Rubinius community engages in extraordinary outreach

Interesting:

Here we are, in no particular order:

Sophia Shao: As a recent graduate of Carnegie Mellon University’s Electrical & Computer Engineering department, Sophia is currently tackling a massive application migration from MRI to Rubinius. She’s also been improving Rubinius every day. Hit her up for tips about debugging machine code.

Jesse Cooke: As co-founder of Watsi, a venture to fund healthcare for people around the world, Jesse was part of YCombinator’s first ever non-profit. Jesse has been contributing in any way he ...

Read More Source

November 13th, 2014

In Philosophy

No Comments

Alexander Grothendieck broke from the consensus

Interesting:

“In those critical years I learned how to be alone. [But even] this formulation doesn’t really capture my meaning. I didn’t, in any literal sense learn to be alone, for the simple reason that this knowledge had never been unlearned during my childhood. It is a basic capacity in all of us from the day of our birth. However these three years of work in isolation [1945–1948], when I was thrown onto my own resources, following guidelines which I myself ...

Read More Source

November 12th, 2014

In Technology

No Comments

Martin Odersky on the transition from OOP to Functional programming

I am not wild about Scala, but Martin Odersky is a very smart guy. In this video he offers a fascinating history of OOP, which leads into his point about the transition we now face:

I appreciate Odersky pragmatic approach, he is willing to say that sometimes the mutable approach is somewhat more readable:

Odersky is self-effacing and willing to accept pragmatic definitions of “mutable” and “immutable”. He is not a purist.

I dislike the fact that Scala is so multi-paradigm ...

Read More Source

November 12th, 2014

In Technology

No Comments

Lisp is not functional, but Clojure is

Back in 1958 Lisp invented the idea of an everything-is-mutable language. Therefore, Lisp is not necessarily functional, since a mutable language is typically not functional. (Although it is possible to adopt a functional style in a mutable language, such as Javascript.) A functional language should be one where, given a set of inputs, one always gets the same output, in a deterministic fashion.

Let Over Lambda insists that Lisp is not Functional:

It seems like we use defun to define new ...

Read More Source

November 12th, 2014

In Technology

No Comments

The naming of ducks in Python

This is great:

Source

November 12th, 2014

In Technology

No Comments

The importance of names to signal intent in Python

Interesting:

Source

November 12th, 2014

In Business

No Comments

The decline of Wikipedia

Interesting:

Open collaboration systems like Wikipedia need to maintain a pool of volunteer contributors in order to remain relevant. Wikipedia was created through a tremendous number of contributions by millions of contributors. However, recent research has shown that the number of active contributors in Wikipedia has been declining steadily for years, and suggests that a sharp decline in the retention of newcomers is the cause. This paper presents data that show that several changes the Wikipedia community made to manage ...

Read More Source

November 12th, 2014

In Philosophy

No Comments

There is no time for shame in a recession

An interesting account of this woman’s suffering. Most of the suffering revolves around how the USA health care system is still broken, even under Obamacare:

Last year, during a ten-month period, the following happened in this exact order: I got separated from my husband of two decades, who, having lost his job to the recession, moved across the country to start a business, leaving me as sole provider and parent to our two children still at home; I abandoned the novel ...

Read More Source

November 12th, 2014

In Technology

No Comments

The 11 greatest Python blogs

An interesting overview of the Python blogosphere.

Source

November 12th, 2014

In Technology

No Comments

Structs in Python

Interesting:

A record (aka “struct” in C) is a pre-defined collection of values where each is accessed by a unique name. Depending on the nature of the data, records may be a superior alternative to dictionaries and instances of custom classes.

PyRecord allows you to use records in Python v2.7 to v3.x and PyPy v2, and can be thought of as an improved namedtuple.

In Python terms, a record is an instance of any class for which you define some attributes but no ...

Read More Source

November 12th, 2014

In Philosophy

No Comments

What women in tech say about being in tech

Each paragraph is a different woman talking. Interesting:

Currently very very happy in a great, friendly and supportive environment (being female, a mother, and part-time hasn’t stopped me getting promoted) – so they do exist!

I have a great working environment. […] Interestingly, we do have one engineer in particular who can be loud and overbearing and could, if given enough power, make the environment somewhat hostile – but that’s exactly why no one gives him that power.

I’ve experienced as much discrimination ...

Read More Source

November 12th, 2014

In Philosophy

No Comments

What are the Republicans for?

Funny:

On Slate, commenter Leif Leifnephewson on the likelihood that Sen. James “Hoax” Inhofe is likely to chair the Environment and Public Works Committee:

I think the republican message is a message of hope: even if you don’t understand an issue, you can have deep convictions and take action on it, based on who pays you the most.

Would you like to live in a world where you had to know the rules of baseball to be an umpire? Of course not! It’s ...

Read More Source

November 12th, 2014

In Philosophy

No Comments

Photos of female militias from the Spanish Civil War

Interesting photos:

Source

November 12th, 2014

In Technology

No Comments

Great ideas for zsh config

I got a lot of great ideas for my zsh config by reading this one

Source

November 8th, 2014

In Philosophy

No Comments

There is a 31% gender gap on the issue of marijuana legalization

Very interesting:

While men surveyed strongly favor legalization by a margin of 59 to 36 percent, women oppose it by a clear majority of 52-44 percent.

Also:

PS. There are also some big gender gaps in academics, which are just as perplexing as in drug legalization. For instance, women get higher grades in college, despite getting lower average scores on SATs. This might reflect some sort of difference in cognitive styles. Let me throw out a ...

Read More Source

November 8th, 2014

In Philosophy

No Comments

Do women under-pay themselves at non-profits?

Apparently there is a pay gap among the genders, even at non-profits, and even when the leadership is female:

That women earn less money than men is well known. But research has revealed that even when women start their own not-for-profit “social enterprises” they pay themselves less than their male peers.

The study, comprising 159 social entrepreneurs in the UK, showed an adjusted pay gap between the sexes of about 23 per cent. That is similar to the global difference in ...

Read More Source

November 8th, 2014

In Business

No Comments

Surprisingly awful maternal outcomes in USA healthcare

From Amy Romano. This is shocking stuff:

Almost any way we look at it, maternal and infant health outcomes in the United States are far worse than they should be. Our infant mortality rate is on par with Poland, our maternal death rate just above Iran. We’re one of just eight countries in the world with rising maternal death rates, a distinction we share with Chad and Afghanistan. Our preterm birth rate has nudged down in recent years, but it’s hardly ...

Read More Source

November 8th, 2014

In Business

No Comments

Pregnancy is not a condition to be “managed”

Amy Romano is writing an in-depth series of blog posts on health care in the USA. I wish I was a bit more optimistic about the chance of reform in the USA, but certainly it helps to be aware of the programs that are known to work in various countries. Regarding the Nurse-Family Partnership programs she writes:

These included reconnecting personal health to relationships, and impacting the whole person, not just the “disease.” These are the crux of Nurse-Family Partnership ...

Read More Source

November 8th, 2014

In Business

No Comments

Data integration as the next big thing for startups?

Maternity Neighborhood is attempting to aggregate and unify disparate data sets relating to maternity:

Maybe you are a researcher… We care a lot about you. We know that improved maternity care can only be a reality for everyone when we can have access to quality data. Collection, validation and linking of maternity data sets is what our platform does. We can receive data from multiple sources, included patients, and help standardize and shape the data into something so useful and relevant, ...

Read More Source

November 8th, 2014

In Technology

No Comments

How to design a Clojure/Redis system with Components

This is really interesting:

The idea was to have a single client for the connection to the Twitter Streaming API and the persistence of the received Tweets in ElasticSearch, plus multiple machines to serve WebSocket connections to the client. For the communication between the processes, I picked Redis Pub/Sub because its model of communication appears to suit the requirements really well. As cute as the drawing may be, I prefer code (plus drawing), so I took the previous monolith ...

Read More Source

November 8th, 2014

In Technology

No Comments

Backends for RESTful interfaces versus WebSockets

Interesting:

This next step may or may not live in the same JVM – I haven’t decided yet. So the idea is to aggregate data on the server side and only deliver the aggregated data structures back to the client side. For example, this could be a few hundred aggregates over increments of five minutes each. These increments can easily be made addressable (and cacheable): let’s say it is 1:17pm. Then, we have a last and incomplete increment from 1:15pm ...

Read More Source

November 8th, 2014

In Technology

No Comments

Where Apache Storm fails

Very interesting post:

What comes to mind immediately when regurgitating the requirements above is Storm and the Lambda Architecture. First I thought, great, such a search could be realized as a bolt in Storm. But then I realized, and please correct me if I’m wrong, that topologies are fixed once they are running. This limits the flexibility to add and tear down additional live searches. I am afraid that keeping a few stand-by bolts to assign to queries dynamically would not ...

Read More Source

November 8th, 2014

In Technology

No Comments

How many bindings exist in your Angular app?

This script looks useful:

function getScopes(root) { var scopes = []; function traverse(scope) { scopes.push(scope); if (scope.$$nextSibling) traverse(scope.$$nextSibling); if (scope.$$childHead) traverse(scope.$$childHead); } traverse(root); ...

Read More Source

November 8th, 2014

In Technology

No Comments

All that is terrible in AngularJS

Interesting:

The scope of a variable is the part of the program where the variable can be legally referenced. If your system has variables, it has some concept of scoping.

Angular has a DSL that is entangled with the HTML and used primarily to express the data-bindings between the UI and application code. This has variables, and thus a concept of scopes. Let’s take a look at it. Consider for example ng-model:

<input type=”text” ng-model=”obj.prop” />

This creates a two way binding on ...

Read More Source

November 7th, 2014

In Technology

No Comments

Using zsh as my shell

I’ve been using bash for about 14 years, first on Linux, and the later on Mac OSX. I have heard good things about zsh. The idea of seeing my git branch listed in my terminal, at all times, will save me from many mistakes (I have often committed code on the wrong branch). This article finally convinced me to switch to zsh on my Mac:

z No this is not a typo, the last thing I want to show you is z. ...

Read More Source

November 7th, 2014

In Business

No Comments

Is Janet Yellen losing sleep over what people are paying for Picassos?

This is funny:

But, of course, like any conspiracy theory, it all starts off sounding plausible enough. First, they say the government understates inflation when it adjusts for the quality of goods and how people substitute for similar but cheaper ones. The only problem is that independent measures, like MIT’s Billion Prices Project, have shown inflation is pretty much what the government says it is (although there’s been a very slight difference the past few months). Then they point out that ...

Read More Source

November 7th, 2014

In Business

No Comments

Jay Kreps is leaving LinkedIn to start his own company focused on Kafka

I wonder if this should be considered a risk of allowing an employee to develop a crucial bit of technology as an open-source project?

I joined LinkedIn about seven years ago. At the time I joined, the company was just starting to run into scaling problems in its core database, its social graph system, its search engine, and its data warehouse. Each of the systems that stored data couldn’t keep pace with the growing user base. At the time, each of ...

Read More Source

November 7th, 2014

In Technology

No Comments

Logcheck keeps track of your logs, emails you when things get suspicious

I only just discovered logcheck, but now I want to use it on all of my servers:

How Logcheck Protects Your Server It turns out that Logcheck is a pretty simple tool. All it does is periodically check the log files you specify. It filters out the uninteresting parts and emails you what is left. It is smart enough to avoid mailing you the same information multiple times by keeping a “bookmark” for each log file. This way it can only ...

Read More Source

November 7th, 2014

In Business

No Comments

Reuters ends user comments on news stories

This is well said (these are also the same reason that there are no comments on this blog):

During the past few years, much has changed about how readers interact with news. They find coverage in diverse places and in new ways. They watch video, use graphics and calculators and relate to content far differently than in the past.

Considering these dynamics, Reuters.com is ending user comments on news stories. Much of the well-informed and articulate discussion around news, as well ...

Read More Source

November 5th, 2014

In Business

No Comments

Poland is the only true post-Communist success story

I went to Poland in 2012 and I was dazzled by the affluence, which was much greater than what I expected from a post-Communist country. I then began to study the situation, and it became obvious to me that Poland’s success was exceptional (it has been the fastest growing nation in Europe for most of the last 10 years). I also failed to appreciate the extent of the disaster that has befallen most post-Communist nations. Most of them still have ...

Read More Source

November 3rd, 2014

In Philosophy

No Comments

Fashion and science have a similar history

Fashion and science both emerge in Europe during the 1500s, both are activities driven by small elites who often need the support of the masses, while needing to maintain their independence from the masses, and both are guided primarily by a process of peer review, while lacking a strict definition of “peer”, and while acknowledging that eligibility for a peer role is constantly changing. Both fashion and science involve following a conversation that is happening is many nations at once, ...

Read More Source

November 3rd, 2014

In Technology

No Comments

Network versus CPU bandwidth in a Storm topology

Scroll half-way down through this conversation among Storm committers, and you learn interesting things about the trade-offs between CPU and network bandwidth:

@Gvain,

There are two parts in your question, In your test, why throughput drops when worker number increase after reaching a value(8 in your test case)?

For this one, it is because your CPU reach limit for worker# = 8 (CPU usage: 89%), In this case, adding more workers will just adding more threads and context switch, hurting performance. While for ...

Read More Source

November 2nd, 2014

In Technology

No Comments

Why not use asserts in Python?

I use asserts a great deal in Clojure. They partly take the place of unit tests. Apparently they are mostly unused in the world of Python, although some of the reasons listed here would be general to any language:

Several reasons come to mind…

It is not a primary function

Many programmers, lets not get bogged down by the rationale, disrespect anything which is not a direct participant in the program’s penultimate functionality. The assert statement is intended for debugging and testing, ...

Read More Source

November 1st, 2014

In Technology

No Comments

The surprisingly difficult task of data importing

The level of difficulty is a surprise to me:

Second, it was clear that reliable data loads would require deep support from the data pipeline. If we captured all the structure we needed, we could make Hadoop data loads fully automatic, so that no manual effort was expanded adding new data sources or handling schema changes—data would just magically appear in HDFS and Hive tables would automatically be generated for new data sources with the appropriate columns.

Third, we still had ...

Read More Source

November 1st, 2014

In Technology

No Comments

What Apache Storm demands from you

I’ve been trying to figure out how much I need to do manually when working with Apache Storm. This part seems important:

What is Storm’s reliability API?

There’s two things you have to do as a user to benefit from Storm’s reliability capabilities. First, you need to tell Storm whenever you’re creating a new link in the tree of tuples. Second, you need to tell Storm when you have finished processing an individual tuple. By doing both these things, Storm can detect ...

Read More Source

October 30th, 2014

In Technology

No Comments

Why not use fun notation?

Luciano Ramalho gets some laughs when he introduces cartoon characters as a form of notation to describe what his code is doing:

But why not use this notation for real? He makes the point that his notation is more clear than UML.

When I was a kid I hated math. As I got older I realized I loved logic, and this made me a good computer programmer. When I look back, I realize that as a kid I hated math ...

Read More Source

October 30th, 2014

In Technology

No Comments

Single dispatch in Python

Andrew Montalenti describes the almost-multimethods that Python got in 3.4:

from functools import singledispatch

   @singledispatch    def handle(obj):      pass

   @handle.register(A)    def handle_A(obj):      pass

   @handle.register(B)    def handle_B(obj):      pass

   def main(obj):      # obj could be ...

Read More Source

October 28th, 2014

In Technology

No Comments

Sandboxing in Python

After many years programming in Ruby, PHP, Clojure, etc, I am only now getting into Python. One thing that strikes me is the extent to which each eco-system emphasizes different things. In theory, all of these languages are Turing-complete, and so you could do anything in any of these languages, but the reality is different: each community regards some issues as important, and other issues as not important, and so you end with tooling for different tasks, in each of ...

Read More Source

October 27th, 2014

In Technology

No Comments

How to track garbage collection on the JVM

I had a Clojure app with painfully long pauses. I thought maybe they were GC pauses, except they are too long. This is a good tip:

You can use

jstat -gcutil 2000

to print the GC statistics every 2 seconds, http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html

It the long pause is from GC, the columns FGCT/FGC values would be large.

If you think it’s a swap issue, you may want to use

vmstat 1 10000

watch out the si/so columns.

Source

October 27th, 2014

In Business

No Comments

A very open company

This is impressive. Parsely claims that it wants to do all development in the open. They are donating a lot of their technology to open source, and they are being open about their process. How open are there? How about this, the CTO and a lead engineer have a conversation in public about the quality of the work:

This doesn’t look quite ready for prime time. Though “storm submit” works, it fails to produce a working topology on my locally-installed ...

Read More Source

October 27th, 2014

In Technology

No Comments

When is visionary-driven development good?

Interesting:

By controlling every detail of the project, I could ensure the project remained at a very high quality. Since I knew the project from top to bottom, I could anticipate all the ways any given change would affect the project as a whole. And since I had a vision of where the project should go, I could prevent any changes from going in that conflicted with that vision (or modify them to be consistent). I could ensure the project always ...

Read More Source

October 25th, 2014

In Business

No Comments

A new low for tech bro PR?

Surprising and sad:

The San Francisco Chronicle’s Kristen V. Brown recounts the incident:

A few weeks ago, a startup founder showed up in the lobby of The Chronicle after hours. He told me I hadn’t responded to his e-mails. And he wanted to get my attention.

He delivered his pitch, along with a wicker basket filled with sexually suggestive gifts: the sex toy, a tube of K-Y Jelly, raw oysters and Tequila.

This is standard fare for lame pick-up artists: take a girl ...

Read More Source

October 25th, 2014

In Philosophy

No Comments

The multiplicity of truth during the era of the Internet

Andrew Montalenti seems to think that truth is possible in the era of the Internet:

I believe that in the Internet Era, we don’t have a weakened notion of truth, but we just have a messier view of how the sausage is actually made. We have public debate leading to consensus on some issues, and more contention on others. When the debate doesn’t end in a way that is satisfactory for a big enough group of passionate people, they may ...

Read More Source

October 25th, 2014

In Philosophy

No Comments

Talking about GamerGate leads to harrassment

The tactics used by the GamerGate crowd are worrisome and effective:

That Day’s fears were so swiftly proven right is the most obvious story here, and the headline writes itself: “Felicia Day Says She’s Afraid of Gamergate, Immediately Gets Doxxed.” But the fears themselves are noteworthy for reasons other than the dispiriting, seemingly inevitable attack that came in the wake of their expression.

Day’s post left me feeling incredibly sad. It resonated with me on a couple of different levels: That ...

Read More Source

October 23rd, 2014

In Philosophy

No Comments

The end of consensus

Clay Shirky, who is always good, writes about the end of consensus:

The post-fact literature is built in part on nostalgia for the world before people like Bigfoot showed up in the public sphere, for the days when Newsweek reflected moderately liberal consensus without also providing a platform for orthographically-challenged wingnuts to rant about the President. People who want those days back tell themselves (and anyone else who will listen) that they don’t want to impose their views on anybody. They ...

Read More Source

October 23rd, 2014

In Technology

No Comments

Does Python need strict data-type enforcement?

Andrew Montalenti has a long post voicing his view of data-type enforcement in Python. He seems to lean against strictness (I will quote him at length below). I am mostly ignorant about Python and I would not want to match my knowledge of Python against his, but I have seen this debate occur in other languages, so I’m going to write about my own experience adding types to dynamic languages.

For the last 2 years I’ve been working with Clojure, ...

Read More Source

October 23rd, 2014

In Technology

No Comments

The end of system admins

Once upon a time, not that long ago, there was a clear division between “programmers” and “sysadmins”. Programmers wrote software and sysadmins made sure all the machines were running. But, as Marc Andreessen said, “software is eating the world.” Sysadmin work has become increasingly automated, and therefore sysadmins (at least the good ones) are increasingly forced to become programmers (or they become irrelevant). The job designation “devops” was invented to refer to the new kind of sysadmin, who has to ...

Read More Source

October 22nd, 2014

In Business

No Comments

Will GamerGate win?

Max Read has a good post: “How We Got Rolled by the Dishonest Fascists of Gamergate“:

On October 1, the computing giant Intel pulled its ads from Gamasutra, a trade website for game developers, over an essay called “‘Gamers’ don’t have to be your audience. ‘Gamers’ are over” by a journalist named Leigh Alexander. Intel had been successfully harassed by a small, contemptible crusade called “Gamergate”—a campaign of dedicated anti-feminist internet trolls using an ill-informed mob of alienated and resentful video ...

Read More Source

October 22nd, 2014

In Philosophy

No Comments

Gombe Chimpanzee War

Interesting:

The Gombe Chimpanzee War (also known as the “Four-Year War” of Gombe), lasting from 1974 to 1978, was a violent conflict between two communities of chimpanzees in Gombe Stream National Park, in Tanzania. The belligerent groups were the Kasakela and the Kahama, which occupied territories in the northern and southern areas of the park, respectively. The two had previously been a single, unified community, but by 1974 researcher Jane Goodall, who had been observing the community, first noticed the chimps ...

Read More Source

October 22nd, 2014

In Technology

No Comments

Best practices are sometimes the worst practices

A detailed look at Java memory management in Minecraft 1.8 blames the performance problems on so called “best practices”:

Minecraft 1.8 has so many performance problems that I just don’t know where to start with.

Maybe the biggest and the ugliest problem is the memory allocation. Currently the game allocates (and throws away immediately) 50 MB/sec when standing still and up to 200 MB/sec when moving. That is just crazy.

What happens when the game allocates 200 MB memory every second ...

Read More Source

October 22nd, 2014

In Philosophy

No Comments

The Great Stagnation really started in 1970

The stagnation in the number of new scientists is an obvious prelude to the onset of the Great Stagnation:

Although hardly anyone noticed the change at the time, it is difficult to imagine a more dramatic contrast than the decades just before 1970, and the decades since then. Those were the years in which science underwent an irreversible transformation into an entirely new regime. Let’s look back at what has happened in those years in light of this historic transition.

The ...

Read More Source

October 22nd, 2014

In Technology

No Comments

The difference between brains and computers

Interesting:

Michael Jordan: I wouldn’t want to put labels on people and say that all computer scientists work one way, or all neuroscientists work another way. But it’s true that with neuroscience, it’s going to require decades or even hundreds of years to understand the deep principles. There is progress at the very lowest levels of neuroscience. But for issues of higher cognition—how we perceive, how we remember, how we act—we have no idea how neurons are storing information, how they ...

Read More Source

October 22nd, 2014

In Business

No Comments

The worst startup ever?

Homophobia, racism, classism, credential boasting, here is a startup that combines all the worst stereotypes about startups:

Ajay flashed a grin and we shook hands and sat down. He asked me to describe myself and I gave him a practiced elevator pitch of my background and experience. He nodded and quickly took over the conversation.

“So, as you might already know, I started this company while I was getting my MBA at Harvard. Before this, I worked for McKinsey & Company…” ...

Read More Source

October 22nd, 2014

In Philosophy

No Comments

GamerGate dudes are very, very nasty people

This comment gets at an important part of this story:

I don’t think even Orwell predicted the Newspeak-y confusion over censorship that has become so ubiquitous — “my freedom of speech is infringed upon unless people with views I dislike are made to remain silent; it is censorship when others express certain views”.

But of course, threats of physical violence are an attempt at censorship — that is the whole point of the threat, to get someone to shut up.

The people ...

Read More Source

October 19th, 2014

In Technology

No Comments

Archis’s blog on the need for compromise in engineering designs

I like this very much:

Why do I equate it with religion? Because religion allows you to do anything, and always be right. Need to feed the hungry? Sure. Need to NOT feed the hungry? Sure. Support gays? Sure. Not support gays? Sure. Invade Jerusalem? Sure. Defend against invaders? Sure. Forgive people? Sure. Not forgive people? Sure.

This has always been my observation with “frameworks”, “patterns”, “best practices” and especially, “testing”. You can write a few hundred tests that do nothing, ...

Read More Source

October 19th, 2014

In Philosophy

No Comments

The emotional need to troll

Back in the 1990s I was sick, and for emotional support, I hung out in a chat room that was full of people who shared my illness. And occasionally trolls would come by. They would say stuff like “I hope you all die horrible, painful deaths” and also “None of you are really sick, its just all in your head.” I wondered what sort of person got enjoyment from tormenting sick people? I am still curious about that.

This is ...

Read More Source

October 19th, 2014

In Technology

No Comments

How much of a speed boost can we get from new programming languages?

“K” is an interesting experiment of minimalism and speed.

Kdb+ is a testament to the rewards available from finding the right abstractions. K programs routinely outperform hand-coded C. This is of course, impossible, as The Hitchhiker’s Guide to the Galaxy likes to say. K programs are interpreted into C. For every K program there is a C program with exactly the same performance. So how do K programs beat hand-coded C? As Whitney explained at the Royal Society in 2004, ...

Read More Source

October 19th, 2014

In Business

No Comments

The tech industry is shifting away from nice guys

Interesting:

Here’s the problem. Every venture capitalist, in every interview they’ve ever done will tell you the same casual lie: That they invest in people first and ideas second. They’ll tell you they invest only in people they’d want to work with. They’ll tell you that they have the luxury to say no to companies that don’t do things in line with the way they like to work, the way they like to treat people.

You don’t have to look too far ...

Read More Source

October 19th, 2014

In Technology

No Comments

The need for empiricism in computer programming

Since computer programming is based on math, you would think that one could conceptualize a program just as one might conceptualize a math proof, working out everything in advance. But in fact, trial and error are necessary:

Any experienced engineer who tackles even a moderately complex coding problem and decides beforehand to think through that problem with a machine checked specification (say with Lamports TLA) will very likely discover that

1. His first 4, 5 attempts at the specification are not ...

Read More Source

October 19th, 2014

In Technology

No Comments

Maximum Sim City

Someone worked hard to figure out the best algorithm for Sim City

Source

October 19th, 2014

In Philosophy

No Comments

Urban raccoons are smarter than rural raccoons

City raccoons are smart. I wonder if something similar happens to humans? Does this explain why technological advance sped up after the first cities were formed?

Unlike many animals, raccoons “flourished rather than receded in the face of human expansion,” Pettit points out in an article for the American Psychological Association.1 Part of the reason for their success may be that the urban environment has contributed to their intelligence. In humans, the effect is well known. Educational psychologist Walkiria Fontes has ...

Read More Source

October 19th, 2014

In Philosophy

No Comments

How do we know what correct English sounds like?

A person might say:

“Nobody ever goes to that restaurant any more.”

but not:

“Everyone never goes to that restaurant any more.”

How is a foreigner, new to the language, suppose to know which is correct? How is that I know which is correct?

I dated a woman from another country. She had trouble knowing when to use “the”. For me, this comes naturally. I know it is incorrect to say:

“I posted a tweet on the Twitter.”

And yet I know that “the” is ...

Read More Source

October 18th, 2014

In Technology

No Comments

Docker is like MemCache, if you need it, then you need another programming language

Maybe this should suggest another route altogether?

Managing Cabal dependency hell. Most of our application development is in Haskell, and we’ve found we prefer specifying a Docker image than working with Cabal sandboxes. This is equally a gain on other programming platforms. You can replace virtualenv for Python and rvm for Ruby with Docker containers.

I agree that the use of Docker is being driven by the use of languages like Python and Ruby, but maybe the existence of Docker suggests ...

Read More Source

October 18th, 2014

In Business

No Comments

Should the law accept apologies?

Interesting:

Between 90 and 95 per cent of all criminal convictions in the US result from guilty pleas rather than jury trials. In many if not all of the millions of cases in the US criminal justice system, courts determine punishments in part based on their sense of whether the offender is remorseful or not. We might wince at the idea of secular states engaging in the ‘soul crafting’ of the original penitentiaries, but we still expect state agents to divine ...

Read More Source

October 18th, 2014

In Business

No Comments

The dream job at the dying company?

A recruiter contacted me about working at Living Social, and it sounded great. But now I read that it is imploding:

This probably would have been a better move before the entire company started to implode, but I’m no businessman: LivingSocial CEO Tim O’Shaughnessy is quitting his dying company.

Source

October 18th, 2014

In Business

No Comments

Can you run a business and do a reality show?

I’ve often thought it would be fun to be in a documentary about what I do (and the guys at 37 Signals are doing this now with their own business) but I’m puzzled how one can do an unrelated show while still staying dedicated to one’s day job:

Jennifer “Jenny” Terrell is set to star in “Private Lives of Nashville Wives,” basically “The Real Housewives of Atlanta,” only on a worse network (TNT) and with a worse destiny (swift cancellation). ...

Read More Source

October 18th, 2014

In Philosophy

No Comments

Electronically-dissociated antisocial personality disorder

Very true:

To me, what’s really interesting — and depressing — about the article is not just how easy it is for a mob to get whipped up by a dedicated troll, but by the (alleged) identity behind the trolling.

We’re used to thinking of trolls as teenaged or twentysomething male denziens of 4chan, reddit or Anonymous’ IRCs, and yet this article suggests that behind a troll who (again, allegedly) whipped up a hate-mob against a 14-year-old girl could lie a seemingly ...

Read More Source

October 18th, 2014

In Business

No Comments

Is there any consequence to being wrong?

If your job is to make predictions about the future, and all of your predictions are wrong, then you should lose your job. But if you are a defense attorney, and you know your client is guilty, you still have a moral obligation to mount the most rigorous defense possible. Into which of these 2 categories do professional economists belong? Clearly, there is no agreement. Some think they are struggling to discover the truth. Others feel they have been hired ...

Read More Source

October 18th, 2014

In Business

No Comments

This is what misogyny looks like

Eron Gjoni is shockingly irresponsible. He wrote falsehoods that effected the lives of several women, including the journalists trying to cover the story, but he says he has no regrets, and he would do it all again. What a psychopath.

Although violent animosity against women in video games is not even close to a new phenomenon, it didn’t congeal into Gamergate, a coordinated movement with mainstream press attention, until Eron Gjoni, the ex-boyfriend of game developer Zoë Quinn, released a ...

Read More Source

October 18th, 2014

In Business

No Comments

Stealing funds from investors and spending it on a party

Interesting.

Former Motionloft CEO Jonathan Mills has pled guilty to two counts of wire fraud. The San Francisco entrepreneur, who raised funding from Mark Cuban, was arrested by the FBI in February. He admitted to spending “substantial amounts” of his victims’ money on “vacations and other entertainment,” like that time he hired Grammy-award winner Miguel (above) for a private show and numerous trips to Vegas.

This Might Be the Most Hated Man in Silicon Valley

You can get away with a lot ...

Read More Source

October 18th, 2014

In Philosophy

No Comments

Spoiled versus invincible youth

Funny:

Two bright young women dominated headlines late last week. On the same day that Malala Yousafzai, 17, won the 2014 Nobel Peace Prize, Bristol Palin, 23, was cited in an Alaska police report for getting drunk at a party and punching her host “multiple times.”

Bristol Palin’s “heavily intoxicated” behavior had already prompted her famous mother to release a statement describing her daughter as “one of the strongest young women you’ll ever meet.” Sarah Palin went on to praise Bristol’s “work ...

Read More Source

October 18th, 2014

In Philosophy

No Comments

How should people argue?

I like this:

So if, for example, somebody discussing my views on monetary policy refers to me as “Enron consultant Paul Krugman”, that’s ad hominem. But if I say that inflationistas have been

bobbing and weaving, refusing to acknowledge having said what they said, being completely unwilling to admit mistakes.

that’s really not ad hominem; I’m attacking how these people argue, not their personal attributes.

What about the lexicon we’ve developed over the course of the past few years — zombies, cockroaches, confidence fairies, ...

Read More Source

October 9th, 2014

In Philosophy

No Comments

The women defending Kurdistan

Interesting:

Several of the women, like General Zelal, 33, (pictured below) one of the leaders of YPJ, expanded upon the idea of the independence the group brings women of the region: “I don’t want to get married or have children or be in the house all day. I want to be free. If I couldn’t be a YPJ I think my spirit would die. Being a YPJ soldier means being free—this is what it means to truly be free.”

“There ...

Read More Source

October 7th, 2014

In Technology

No Comments

Axilmar’s Blog responds to “Object Oriented Programing is an expensive disaster”

Axilmar’s Blog has a very strange post. I can not know if English is their native language, and I am sympathetic that some ideas get lost in translation. Still, they seem to have misread most of the article. On Hacker News they were asked how they extracted points from the article, and they wrote:

I just read it, skipping the non-essential parts, after quickly scanning them. I might have missed one or two points, but it doesn’t really matter.

But they frequently ...

Read More Source

October 7th, 2014

In Technology

No Comments

Phil Trelford shrinks 30,000 words to a useful 167

Phil Trelford did a very good job summarizing my 30,000 words with just 167 words.

Source

October 7th, 2014

In Technology

10 Comments

Object Oriented Programming is an expensive disaster which must end

The No True Scotsman fallacy leads to arguments like this:

Person A: “No Scotsman ever steals.”

Person B: “I know of a Scotsman who stole.”

Person A: “No True Scotsman would ever steal.”

Person A is thus protected from the harmful effects of new information. New information is dangerous, as it might cause someone to change their mind. New information can be rendered safe simply by declaring it to be invalid. Person A believes ...

Read More Source

October 6th, 2014

In Technology

No Comments

Brilliant insights ruin your personal life

Sort of funny:

Once I figured out this algorithm, I knew I was onto something big. It massively simplified the design of the system by avoiding all the aforementioned problems, along with making things way more performant. (Amusingly, the day I figured out the algorithm I had a date with a girl I’d met recently. But I was so excited by what I’d just discovered that I was completely distracted the whole time. Needless to say, I did not do well ...

Read More Source

October 6th, 2014

In Philosophy

No Comments

Lena Dunham’s book

An interesting review:

I didn’t read Not This Kind of Girl seeking insight. I’m not much into relatability: I already find myself a bit outsize for comfort, and part of why I avoided Dunham’s oeuvre is that I spend too much time looking in mirrors as it is. But two parts of her memoir did that juice-cleanse thing she was wanting.

First, the chapter called “I Didn’t Fuck Them, but They Yelled At Me,” which is an unsentimental indictment of the ...

Read More Source

October 6th, 2014

In Business

No Comments

What exactly is the link between success and narcissistic overconfidence?

Interesting:

There’s something in this. Narcissism pays both across the wage distribution – because men who spend lots of time in front of the mirror earn more – and in the boardroom: narcissistic CEOs are better paid. And way back in 1986, Richard Roll said that value-destroying takeovers were often motivated by hubris (pdf) – though he was only echoing Kenneth Boulding’s warning (pdf) of 20 years earlier, that:

There is a great deal of evidence that almost all organizational structures ...

Read More Source

October 5th, 2014

In Business

No Comments

GamerGate reveals rampant misogyny

This is awful:

For those of you who aren’t gamers (or don’t hang out all day on Reddit or Twitter), Gamergate arose after the ex-boyfriend of indie game developer Zoe Quinn accused her of trading sex for positive reviews. Following an ethics investigation by the gaming site Kotaku, these allegations proved to be false. But that hasn’t stopped Quinn and other prominent females in the gaming community from being subjected to rape threats and other horrifically misogynist rhetoric. Gamergate defenders ...

Read More Source

October 4th, 2014

In Business

No Comments

Programmers who become managers forget how hard programming is

I like this:

But my objection to the advice that management should not contribute technically is actually deeper than technical conflict resolution. Software is so hard that it becomes like child birth in that we have an overwhelming bias to forget the pain: the second you stop writing software, you start rewriting your own history. So as far as you can remember, it was all pretty straightforward, you always hit your deadlines, etc. And with this, you have started down the ...

Read More Source

October 4th, 2014

In Business

No Comments

Loyalty to a corporation

Interesting:

A few weeks ago, a client that I worked at laid everybody off and it was brutal, it was cold. They held an all-hands meeting and said, “You’re all fired. There’s no severance, we’re going out of business, there’s no COBRA, there’s no coverage. People that are outside of the state are not eligible for unemployment. You’re just all out in the cold right now.” And a lot of the people that I really like at the company had ...

Read More Source

October 4th, 2014

In Business

No Comments

Learning a craft is like starting a business

Interesting:

Here are some of the personality flaws I’ve spotted:

Several students in different episodes are obsessed with “expressing themselves” instead of following the brief (the job specification). They waste precious time in “creative” noodling instead of actually getting shit done.

Others indulge themselves in childish boredom and rebellion when it comes to the repetition of early stages of learning, instead of committing to the basics with all their hearts.

Several more wield perfectionism as a weapon against their own achievement… a weapon, and ...

Read More Source

October 4th, 2014

In Technology

No Comments

Transducers in Javascript

Interesting:

function filterer(f) { return function(combine) { return function(result, x) { return f(x) ? combine(result, x) : result; } } }

arr.reduce( filterer(function(x) { return x > 2; })( mapper(function(x) { return x * 2; })(append) ), [] ); // -> [ 6, 8 ]

Now that we’ve decoupled the data that comes in, how it’s transformed, and what comes out, we have an insane amount of ...

Read More Source

October 2nd, 2014

In Philosophy

No Comments

Telegony is real

Interesting:

Dr Crean said her team were shocked when their experiments revealed they had discovered a new form of non-genetic inheritance.

“We did a lot of follow-up studies to check our results,” she said.

First proposed in ancient Greece, the idea that offspring can inherit characteristics from their mother’s previous mate – known as telegony – was discredited when scientists established more than a century ago that genes were the dominant way traits passed from parent to offspring.

“Before we discovered genetics it was ...

Read More Source

October 1st, 2014

In Technology

No Comments

C++ wants Lisp macros

Apparently C++ templates are getting better.

Lots of languages have added enough meta-programming to imitate Lisp marcos. Paul Graham predicted this:

8. A notation for code using trees of symbols.

9. The whole language always available. There is no real distinction between read-time, compile-time, and runtime. You can compile or run code while reading, read or run code while compiling, and read or compile code at runtime.

Running code at read-time lets users reprogram Lisp’s syntax; running code at compile-time is the basis ...

Read More Source

October 1st, 2014

In Technology

No Comments

Every function in Haskell officially only takes one parameter

The purity of Haskell is, of course, very interesting:

Every function in Haskell officially only takes one parameter. So how is it possible that we defined and used several functions that take more than one parameter so far? Well, it’s a clever trick! All the functions that accepted several parameters so far have been curried functions. What does that mean? You’ll understand it best on an example. Let’s take our good friend, the max function. It looks like it takes ...

Read More Source

October 1st, 2014

In Business

No Comments

Problems in the USA economy started in 1954

I already knew that 1958 marked the beginning of some inflection point, where the wages of young males began to flatline, a fact which brought the Baby Boom to an end. But I am surprised to see that problems in the USA economy were already taking shape as early as 1954:

We all know that Joseph McCarthy’s attack on the labor unions had big political effects, but here we see that it also had big economic effects.

Source

October 1st, 2014

In Technology

No Comments

Abstractions are slow

Interesting:

Trampolining/thunks/laziness is slow If you are unfamiliar, here is a detailed description of trampolines, and I’m going to steal his example.

Consider a corecursive pair of functions:

def odd1(n: Int): Boolean = { if (n == 0) false else even1(n – 1) } def even1(n: Int): Boolean = { if (n == 0) true else odd1(n – 1) }

If you try to call these for large n, you will rapidly get a stack overflow.

A trampoline is the following construct:

sealed trait Bounce[A] case class ...

Read More Source

October 1st, 2014

In Business

No Comments

Economic growth concentrates at the top

Interesting:

Source

October 1st, 2014

In Business

No Comments

Scrum is an industry where everyone scams everyone

Search for “scrum master certification” on Google and you get an endless sea of results:

“Agile” started with some noble ideals but has since become a bit of a scam, where the scamsters “certify” other people, so they can also become scamsters, and everyone makes huge money talking about theory, but no one has any clue about how to create good software.

Source

September 29th, 2014

In Philosophy

No Comments

Public meltdowns, in the era of the Internet, are forever

Over the centuries, lots of people have fallen into depression, and then recovered, and some have even gone on to do great things, great art, great politics, etc. Winston Churchill suffered some epic episodes of depression, but he kept coming back and fighting.

The Internet changes things. Nowadays people often make the mistake of saying in public would have in the past only been said in private. The British aristocracy had the saying “No man is a hero to his ...

Read More Source

September 29th, 2014

In Business

No Comments

Is Facebook repeating all of Friendster’s mistakes?

Queers are leaving Facebook:

If you haven’t heard of Ello before this week, you’re not alone. Just this morning my Facebook timeline blew up with friends offering invite codes for what I assumed was a new Gilt-like shopping site, and what turned out to be a new and friendlier social network, which would allow anyone who wanted to be a part of it be who they wanted to be, complete with the name they’ve chosen for themselves.

Ello’s uptick in popularity comes ...

Read More Source

September 29th, 2014

In Business

No Comments

Declining wages spread to the rest of the West

In the USA, real wages for men have been declining since 1973:

Now, this tragic downward spiral is spreading to other Western nations:

Real wages continue to fall in the UK and elsewhere, yet despite this striking feature of the labour market, some commentators anticipate resurgent pay growth in the near future. This column argues that the absence of any improvement in the UK’s productivity performance – together with evidence that nominal wage growth is flatlining and real wage growth ...

Read More Source

September 28th, 2014

In Technology

No Comments

Queues are databases

Interesting:

We’ve been using RabbitMQ for messaging for a long time. Some messages are purely reactive: An object was changed, so some other subscribing application needs to react by updating its data structures to reflect the change. This is an event. Other messages represent jobs. Jobs are tasks that are queued up for processing. Processing photos, for example, is a classic job. Jobs don’t fall that well into the RabbitMQ/AMQP framework because it’s designed for messaging and is, despite support for things ...

Read More Source

September 23rd, 2014

In Technology

No Comments

We need a new protocol to replace HTTP and allow for software

About this:

” We do not control the environment executing our JavaScript code, interpreting our HTML, or applying our CSS. Our users control the device (and, thereby, its processor speed, RAM, etc.). Our users choose the operating system. Our users pick the browser and which version they use.”

The original idea of a “browser” was something that was as agnostic as possible about its environment, but somehow managed to deliver a nearly universal experience. The traditional idea of a “browser” does not ...

Read More Source

September 23rd, 2014

In Technology

No Comments

Treacherous unexpected pitfalls in Java

Very interesting, this is a mistake I could easily make:

After being quite puzzled for a while as to why this was happening finally I found the answer in Java 7 api docs for Process.

Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, or even deadlock.

They found this fix:

They remark:

This is so ...

Read More Source

September 23rd, 2014

In Technology

No Comments

A painful pause while my app is running

I used Clojure to build a RESTful API. I was successful in so far as that went, but now I face the issue that every once in a while, the program pauses, for a painfully long time — sometimes 30 seconds, which causes some requests to the API to timeout. We are still in testing, so there is no real load on the app, just the frontenders, writing Javascript and making Ajax calls to the service.

The service seems like ...

Read More Source

September 22nd, 2014

In Business

No Comments

How to publish one’s own book

Interesting:

I had been reading Nathan Barry’s excellent book Authority and something about it inspired me. I started throwing around ideas, things that I knew well and that weren’t well covered already, and I turned up Stripe. I know Stripe very well having used it for a bunch of projects in the past few years. I also know Rails, using it in most of those projects plus at my day job. I knew for sure that there were things about payment ...

Read More Source

September 22nd, 2014

In Technology

No Comments

How to restart public JVM services

How do have zero-downtime restarts and upgrades? This is interesting:

We’re going to use Stuart Sierra’s excellent component project to manage the lifecycle of our service which, for the moment, will simply store a random number on initialisation and serve that back in response to any request. Getting Jetty to start on a random, operating system assigned, port is simply a matter of passing zero as the desired port number. If we then communicate this port number in some way ...

Read More Source

September 22nd, 2014

In Technology

No Comments

Async is state machines

I thought I linked to this before but now I can not find evidence of the earlier link:

The State Machines of core.async

It seems this idea has been around for decades but only during the last 2 years did the idea go mainstream. Python and Clojure and Javascript have all added libraries that allow async programming. All of these libraries use state machines to hide the reality of “callback hell”.

I’m going to use a pretty trivial function to examine ...

Read More Source

September 22nd, 2014

In Technology

No Comments

Transducers in Javascript

Transducers in Javascript.

This is an interesting sentence:

The reduce function is the base transformation; any other transformation can be expressed in terms of it (map, filter, etc).

All of the programming languages seem to be adding all of the same features. Over the last 2 years, suddenly people woke up and realized they could escape “callback hell” by using finite state machines to enable a pleasant API for async programming, core.async being a good Clojure example.

Now James Long adds transducers to ...

Read More Source

September 22nd, 2014

In Technology

No Comments

What is so hard about disequilibrium dynamics?

This is a throwaway line by Paul Krugman:

What are the alternatives? One — which took over much of macro — is to do intertemporal equilibrium all the way, with consumers making lifetime consumption plans, prices set with the future rationally expected, and so on. That’s DSGE — and I think Glasner and I agree that this hasn’t worked out too well. In fact, economists who never learned temporary-equiibrium-style modeling have had a strong tendency to reinvent pre-Keynesian fallacies (cough-Say’s ...

Read More Source

September 22nd, 2014

In Philosophy

No Comments

Is depression honest?

Interesting:

Depressed Rand is weird. Don’t get me wrong, regular Rand is weird, too. But depressed Rand magnifies the bad 10X and minimizes the good. He refuses to even acknowledge good news and, because he’s a pretty smart guy, he can usually argue for why that good news is actually just temporary and will turn to shit any minute. The weird part is, I think depressed Rand is actually a very authentic version of myself. When I felt depressed, I upheld ...

Read More Source

September 22nd, 2014

In Business

No Comments

The sacrifices of women who are CEOs

Interesting:

Nega-Brianna I’m late for a programming meeting with Maria, and don’t have time to be stuck in Boston traffic. So instead of grabbing my car keys, I don black, skin-tight leather armor and leap on my motorcycle. It’s a 2009 Honda CBR600RR in racing red — something straight out of Akira. I’ve leaned into highway turns at 80 mph feeling nothing but speed, the air whipping all around me, and my thighs gripping a 212°F engine for dear life. My emotional ...

Read More Source

September 22nd, 2014

In Technology

No Comments

The problems with Object Oriented Programming are well known

This is a great summary of all of the arguments against Object Oriented Programming:

Equality

Let’s look at intensional equality as provided by object identity. Apparently this is not what we want at all times, otherwise we wouldn’t see this pattern called ValueObject 3. A type like Javas String is a well-known example of a successful ValueObject implementation. The price for this freedom of choice is a rule that the == operator is almost useless and we must use equals because ...

Read More Source

September 22nd, 2014

In Technology

No Comments

Why do people use inheritance in Javascript?

I like this:

Why do people use inheritance?

JavaScript makes inheritance a pain in the ass to implement, so why is it so popular among frameworks? Part of the problem is that JavaScript has always looked like a flimsy lightweight scripting language next to Java and its strongly typed kin; keen to prove that they are using a real language for big people, JavaScript developers have rushed to adopt an OO feature that was never very good in the first place. Strongly ...

Read More Source

September 22nd, 2014

In Technology

No Comments

Inheritance is evil

Interesting:

All of the pain caused by inheritance can be traced back to the fact that inheritance forces ‘is-a’ rather than ‘has-a’ relationships. If class R2Unit extends Droid, then a R2Unit is-a Droid. If class Jedi contains an instance variable of type Lightsabre, then a Jedi has-a Lightsabre.

The other kind of inheritance

By the way, my gripe is with concrete inheritance – one class deriving from another and inheriting behavior from the parent class. I have no problem with interface inheritance, where ...

Read More Source

September 22nd, 2014

In Business

No Comments

Crime no longer lifts people out of poverty

After 2 centuries where crime lifted people out of poverty, the USA faces a situation where crime no longer helps people:

Chuck and Mike were criminals: they were complicit in the barbarism of the drug trade. But, in the Mertonian sense, they were also innovators. Goffman describes how they craved success in mainstream society. They tried to get an education and legitimate jobs, only to find themselves thwarted. Selling crack was a business they entered into only because they believed that ...

Read More Source

September 22nd, 2014

In Philosophy

No Comments

More celebrity photos leaked

I’m left thinking that the Cloud is not ready to be used for consumer services. Developers such as myself know the risks, but the average consumer does not.

Gabrielle Union has been hit in the latest string of hacked, stolen, and leaked nude photos of female celebrities, and her legal team will be contacting the FBI regarding the matter. She and her new husband Dwyane Wade have released a joint statement, highlighting the callous treatment of women, particularly women ...

Read More Source

September 22nd, 2014

In Philosophy

No Comments

Getting famous with criminal pranks

The trend toward outrageous pranks is disturbing. The latest cause for concern is a guy grabbing women’s asses and recording their reactions — and making money via YouTube with this. Hopefully the women can press charges. There is plenty of video evidence.

Sam Pepper is a successful YouTube prank star. His videos frequently have over one million views and he’s well known in the community for being outrageous. Yesterday he posted a video where he went around to young women ...

Read More Source

September 21st, 2014

In Business

No Comments

The struggle between Uber and its drivers

Uber’s drivers are hemmed in by Uber’s changing terms, feel the need to organize a union:

Kazi drives a Toyota Prius for Uber in Los Angeles. He hates it. He barely makes minimum wage, and his back hurts after long shifts. But every time a passenger asks what it’s like working for Uber, he lies: “It’s like owning my own business; I love it.”

Kazi lies because his job depends on it. After passengers finish a ride, Uber asks them to rate ...

Read More Source

September 21st, 2014

In Business

No Comments

Yet another investor complains about low rates

Are these people stupid? Yet another article complaining about low rates. Rates were higher in the 1990s, but we still had the original Internet boom.

Gurley’s thesis isn’t hard to follow: Companies are being rewarded by the market for spending — and losing — huge sums of private capital that they can cheaply and quickly raise given the current investment and equities climate. Or, put another way, investors are giving companies huge sums to burn, because the market is willing to ...

Read More Source

September 20th, 2014

In Technology

No Comments

The Dark Age Of Emacs

I am curious why such a famous text editor is in such terrible shape, and so far behind industry best practices when it comes to stuff like package management. This seems like a good argument:

Code from the Dark Age of Emacs is kept in blog posts, hosted on EmacsWiki, stuck in some obscure directory on university domains, lost to the ether that is personal websites with expired hosting… Tracking down updated versions is nigh impossible, because they’re often ...

Read More Source

September 12th, 2014

In Business

No Comments

Wikipedia lacks women

Interesting:

It is sometimes argued that women simply have less time to contribute to Wikipedia, due to family commitments. This is a fallacy. Firstly, the United Nations University survey found that only 33.29% of respondents had a partner, and only 14.72% had children. The difference between readers and contributors was negligible here, and the survey report’s analysis indicated only a minor difference in parenthood percentages for male (15.1%) and female (13.7%) respondents. It is patently obvious that girls and women in ...

Read More Source

September 10th, 2014

In Business

No Comments

A corrupt for-profit college

Sickening:

What was working at Neumont like with Ned Levine as President? A former student, Jason Aquino, claimed that Levine harassed him and other students at the school. Another student, Ryan Elkins, was “banned” from campus after starting a blog talking about some of his experiences at Neumont. The CollegeTimes team was also bribed and then threatened by Levine as well. Does Mr. Levine maintain a carrot/stick attitude with his employees? What did you witness happen to Kristi Robertson in ...

Read More Source

September 9th, 2014

In Technology

No Comments

How to avoid race conditions in Java

Interesting:

Giving a precise answer involves examining the complete Java program – depending on the context in which this snippet executes, the transformed snippet may or may not be equivalent to the original. For example, if there are no writes to volatileF (and so regV is always 0 and so is regNV) in the Java program then the transform is trivially safe. However, it is more interesting to be able to make local judgments when JIT compiling a single method. Specifically, ...

Read More Source

September 9th, 2014

In Business

No Comments

What sort of social life do you have if you live at work?

I have often worked over-night at work, but I can not imagine doing this for several months on end. Mostly, I wonder what sort of social life these people have?

Ben Discoe, a Google [X] UI programmer, says he lived on Google’s campus for 13 months.

” I had a house payment and alimony to pay,” Discoe writes. “No money left for South Bay rental prices. I got a 1990 GMC Vandura custom conversion van for $1800 (blue velour, ...

Read More Source

September 9th, 2014

In Philosophy

No Comments

Women who defend their abusers

Sad:

Source

September 9th, 2014

In Philosophy

No Comments

Vladimir Voevodsky grounds mathematics on Homotopy Type Theory

Interesting:

Voevodsky, a professor at the Institute for Advanced Study in Princeton, wants to bring together two streams of development of today’s mathematics. ETH has invited him to present his ideas in Zurich as a speaker of the 2014 Paul Bernays Lectures in September. Giovanni Felder, the director of the ETH Institute for Theoretical Studies (ITS), will introduce his research to the lecture audience at ETH. He says: “Voevodsky is developing a new theory which places mathematics on a new foundation. ...

Read More Source

September 8th, 2014

In Business

No Comments

Sarah Lacy believes in patience

Interesting:

Nearly every single investor Pando has has asked me how more money or algorithms can scale our company faster. My answer is always: They can’t. It’s just going to take five to ten years of solid work to build the media company we want to build. There is no shortcut.

Further, I’ve been told– again and again– that there is no way to build a huge ad-based business without Huffington Post/BuzzFeed-like page views and scale. I disagree with that one ...

Read More Source

September 8th, 2014

In Business

No Comments

The sharing economy gives rise to the scam economy

Pathetic:

Kreyos’ story is starting to feel as old as time itself. It went live on Indiegogo in June last year, trying to raise $100,000 for what it promised to be the only smartwatch to combine both voice and gesture control. It ended up with 15 times that amount: $1.5m. Its Meteor smartwatch would track sleep, and exercise, and be waterproof. Kreyos promised that it was ready to go straight into production when funding closed in August and would ship ...

Read More Source

September 8th, 2014

In Technology

No Comments

The Shen language was shaped by illness and rejection

I have become interested in the Shen language. While reading the “history” page, I notice that illness and death play a large role, and also rejection of new ideas by audiences which misunderstand the speaker:

The appearance of Qi was swiftly followed by a serious illness that laid me up for 2006 and most of 2007. Following a partial recovery in 2008, a factorising version of the Qi compiler was introduced which made Qi competitive with the fastest hand-compiled Lisp ...

Read More Source

September 8th, 2014

In Business

No Comments

Innovation to end The Great Stagnation

Interesting:

“It’s pretty amazing to hold leather that no pig or cow died for,” says Lindy Fishburne, an officer of the Thiel Foundation. She is describing a slightly creepy “biofabricated” product made by a startup the foundation funded with a $350,000 donation. The company, named Modern Meadow, makes leather and, indeed, meat by taking skin or muscle samples from animals via biopsy and then growing them in vitro. Modern Meadow is just one of 19 futuristic startups that have received ...

Read More Source

September 8th, 2014

In Philosophy

No Comments

Cat scratch fever can be transmitted by ticks

It is incredible to consider how much evil ticks do. Apparently “cat scratch fever” is only sometimes from cats, it is technically Bartonella infection, which commonly comes from tick bites.

Source

September 8th, 2014

In Business

No Comments

Apple has been sloppy about security

Apple allowed brute force attacks on iCloud? Amazing and awful:

First the company updated the iCloud website to prevent brute-force attacks, patching a vulnerability that should never have been there in the first place. Now it plans to add more security features to iCloud, allowing it to message people when the service is backed up, passwords are changed, or a new device is used to access the service for the first time, according to a Wall Street Journal report.

Source

September 8th, 2014

In Business

No Comments

Gawker struggles to avoid full impact of unpaid-intern lawsuit

Interesting:

In the letter, we learn that Gawker doesn’t want to have to post the notice in its offices, on the basis that it no longer employs unpaid interns. But, as the plaintiffs point out, several of Gawker’s current staffers began their career at the company as unpaid interns, and so would be entitled to join the class.

We also learn that Gawker doesn’t want to allow social media to be used to reach prospective plaintiffs, even though that’s exactly the best ...

Read More Source

September 8th, 2014

In Philosophy

No Comments

Professors using Facebook for class

Interesting:

I tried a secret Facebook group with an online class over the summer—we didn’t have to be Facebook friends, which was a relief, and far from creepy, it reinforced for me that it’s during these informal interactions outside the classroom where actual learning happens.

Some professors do see value in the emailed lecture notes, holding class conversations on Twitter. To do any of this means long syllabi with explanations and tutorials on technology to get everyone up to snuff. Some students ...

Read More Source

September 8th, 2014

In Technology

No Comments

How should Twitter work?

I am thinking this might be a new business model for me to work toward:

As a reader, I seek an algorithm which weeds out some repetition. For instance I sometimes see a Vox.com article in my feed from three different sources — it would suffice to see it once, along with a color shading indicating that some other people in my feed were tweeting the same thing. I also would like blocks on tweets about the ...

Read More Source

September 8th, 2014

In Philosophy

No Comments

Prosecutors show no regrets about jailing innocent men

Disgusting:

Last week, two men were released after spending 30 years in prison in North Carolina. They were falsely convicted of rape and murder in 1983. They were both exonerated by DNA evidence. The man who prosecuted them is, proudly, no pussy.

Henry Lee McCollum (pictured) and Leon Brown are both mentally disabled. It now appears that their confessions to the crime were coerced, and the details in their confessions the product of prompting by the police. McCollum was sent to ...

Read More Source