LATEST ENTRIES

October 28th, 2014

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 ...

October 27th, 2014

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

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 ...

October 27th, 2014

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 ...

October 25th, 2014

A new low for tech bro PR?

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 ...

October 25th, 2014

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 ...

October 25th, 2014

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 ...

October 23rd, 2014

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 ...

October 23rd, 2014

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, ...

October 23rd, 2014

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 ...

October 22nd, 2014

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 ...

October 22nd, 2014

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 ...

October 22nd, 2014

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 ...

October 22nd, 2014

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 ...

October 22nd, 2014

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 ...

October 22nd, 2014

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…” ...

October 22nd, 2014

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 ...

October 19th, 2014

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, ...

October 19th, 2014

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 ...

October 19th, 2014

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, ...

October 19th, 2014

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 ...

October 19th, 2014

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 ...

October 19th, 2014

Maximum Sim City

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

Source

October 19th, 2014

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 ...

October 19th, 2014

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 ...

October 18th, 2014

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 ...

October 18th, 2014

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 ...

October 18th, 2014

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

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). ...

October 18th, 2014

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 ...

October 18th, 2014

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 ...

October 18th, 2014

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 ...

October 18th, 2014

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 ...

October 18th, 2014

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 ...

October 18th, 2014

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, ...

October 9th, 2014

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 ...

October 7th, 2014

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 ...

October 7th, 2014

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

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 ...

October 6th, 2014

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 ...

October 6th, 2014

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 ...

October 6th, 2014

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 ...

October 5th, 2014

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 ...

October 4th, 2014

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 ...

October 4th, 2014

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 ...

October 4th, 2014

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 ...

October 4th, 2014

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 ...

October 2nd, 2014

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 ...

October 1st, 2014

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 ...

October 1st, 2014

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 ...

October 1st, 2014

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

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 ...

October 1st, 2014

Economic growth concentrates at the top

Interesting:

Source

October 1st, 2014

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

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 ...

September 29th, 2014

Is Facebook repeating all of Friendster’s mistakes?

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 ...

September 29th, 2014

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 ...

September 28th, 2014

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 ...

September 23rd, 2014

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

” 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 ...

September 23rd, 2014

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 ...

September 23rd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 22nd, 2014

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 ...

September 21st, 2014

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 ...

September 21st, 2014

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 ...

September 20th, 2014

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 ...

September 12th, 2014

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 ...

September 10th, 2014

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 ...

September 9th, 2014

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, ...

September 9th, 2014

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 No Comments Women who defend their abusers Sad: Source September 9th, 2014 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 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 ...

September 8th, 2014

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

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

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 ...

September 8th, 2014

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 ...

September 8th, 2014

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 ...

September 8th, 2014

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 ...

September 7th, 2014

The many lives a woman might live

Interesting project:

Things I love about this project? It’s whimsical and transformative, and manages to both reflect the way the quality of a woman’s life can be the direct result of the man she ends up with or doesn’t, for better or for worse, and whether or not she has kids and how many — while also subverting that notion. She’s an everywoman while also highly individual. Though she’s partnered in every photo, her income and class and taste are ...

September 6th, 2014

More awful news about racist police

In one message, Officer Elsbury — whose patrol included the area around the historically black Southern University — wrote that blacks are “nothing but a bunch of monkeys,” and that the “only reason they have this job is the nigger, nigger in them.” It is unclear what “job” he is referring to.

In another text, he wrote that “I wish someone would pull a Ferguson on them and take them out. I hate looking at those African monkeys at work…I ...

September 4th, 2014

Tortoise survives 32 years in an attic

Amazing story:

Back in 1982, the Almeida Family was saddened to learn that their beloved pet, Manuela, a young red-footed tortoise, had gone missing. Their house was under renovation at the time, so the family just assumed that the slow-moving animal had slipped out through a gate left open by the construction crew — disappearing into the forest near their home in Realengo, Brazil. But they couldn’t have been more wrong.

The true fate of their lost pet remained a mystery for ...

September 4th, 2014

An exaggerated sense of entitlement regarding celebrity photos

People’s reactions to the leaked celebrity photos are pretty gross. Jezebel has a nice response to the hatred being expressed at the celebrities:

These women got themselves into this situation by owning their bodies and their sexuality. Doesn’t that mean everyone on Reddit should own those things too? As one redditor pointed out (and I am paraphrasing here because I’m not going back there), “we only know them as bodies, so this isn’t that different.”

Stealing private photos and posting them ...

September 4th, 2014

How can a corporation keep its employees from spying on celebrities?

This must be a big problem for all corporations, but it sounds like it is worse at Apple:

Eva Longoria: “I’ve had a lot of problems of people breaking into my email”

Billy Bush: “Hacked?”

Eva Longoria: “Yeah my Mac email… not hacked, just go get it from the stores and I had a big problem with that.”

Kit Hoover followed up, asking: “Wait, what were they sending you? Like ‘Hi Eva, my name is John?’”

Eva Longoria: “Yeah. ‘I made a dress I want ...

September 4th, 2014

New discoveries with The Sims

I have never played the Sims game. I did play Sim City back in the 1990s. I was first introduced to the game in 1994 and lost a weekend discovering all I could about it. In my life I have probably played the game 100 times?

The Sims has a strong culture around it, which is something that only a handful of games have achieved. This whole bit was funny and interesting:

But for whatever reason, I’d just never played ...

September 4th, 2014

Tech stereotypes I did not know: devops more exciting than programming

Last night I was a table full of programmers and devops. One of the devops said “I’ve been thinking that I’d like to convert to programming.” Another devops said “You will be bored.” Everyone nodded in agreement. I was surprised by this. Is this some known conventional wisdom? I get the adrenaline rush of having to fix the servers when they have crashed and you are offline and the siren is going, but is that more interesting, over the long ...

September 4th, 2014

There is an insane amount of blackhat hacking going on

Interesting:

4. The frequent source of new leads for targets seems to be newcomers who know somebody they want to hack and have stumbled onto one of the networks offering services via search terms or a forum they frequent. The new contributor will offer up a Facebook profile link, plus as much information as is required by the hacker to break the account, plus possible assistance in getting a RAT installed if required. In exchange the hacker and ripped will ...

September 3rd, 2014

What would a Pelagian version of math look like?

Nicely said:

The world does not suffer from an oversupply of clarity and understanding (to put it mildly). How and whether specific mathematics might lead to improving the world (whatever that means) is usually impossible to tease out, but mathematics collectively is extremely important.

I think of mathematics as having a large component of psychology, because of its strong dependence on human minds. Dehumanized mathematics would be more like computer code, which is very different. Mathematical ideas, even simple ideas, are often ...

September 3rd, 2014

The problem building a business to cater to the poor

Interesting:

1) Poor areas are overrun with corruption and graft. Its very hard to do the right thing, when individuals with power will actively work to put a bribe barrier between you and your work. Its like these individuals smell out good intentions and attempt to tax them for the perceived weak-minded good intentions. An example would be, after my brother created several successful startups using ex-cons, he wanted to turn the program over to the City. He quickly learned ...

September 3rd, 2014

The problem with the current tech startup scene

Though ignored by the current tech startup scene, there are some huge problems that need to be solved in the USA:

To your left are single mothers, 80% of whom, according to the US Census, are poor or hovering on the nasty edges of working poverty. They are struggling to raise their kids in a country that seems to conspire against any semblance of proper rearing: a lack of flexibility in the workplace; a lack of free or ...

September 3rd, 2014

How ignorant am I, and how do I formally specify that in my code?

In computer programming, the static type advocates wear a perpetual sneer, claiming that many problems in programming would be solved if only we adopted their approach. And yet, many languages are statically typed, and software written with those languages continue to have a large number of bugs (for example, think of any open source Java project over time). So clearly, static typing does not get us to Nirvana.

The most obvious argument against static typing is that it claims a ...

September 2nd, 2014

Bayesian calculations often depend on sampling methods such as Markov Chain Monte Carlo?

I really wish I understood this article. I need to commit to spending some serious time studying statistics, so I can catch up with the modern boom in data analysis. Because 90% of this article is over my head. But from what I can glean, it is very informative:

You’ll noticed that I glossed over something here: the prior, P(Ftrue). The prior allows inclusion of other information into the computation, which becomes very useful in cases where multiple measurement strategies are ...

September 2nd, 2014

Transducers are coming to all the core functions of Clojure

Interesting, though I think this is only a convenience:

One of the parts of the announcement of transducers was that clojure’s core functions (map, filter, take, etc) that normally operate on sequences will gain a new arity that returns a transducer when called with a single argument that’s a function. The new code for the 1-arity map looks much like what we already wrote (ignore the other arities for now).

;; Source of the new arity of the ‘map’ function. (defn map ...

September 2nd, 2014

We can not estimate how long that software project will take

This is great:

Combining Independent Estimates Improves Estimation Accuracy

The average of effort estimates from different sources is likely to be more accurate than most individual effort estimates. A key assumption for accuracy improvement is that the estimates are independent, which is true if their sources differ in expertise, background, and estimation process. A Delphi-like estimation process, such as “Planning Poker,” where software developers show their independently derived estimates (their “poker” cards) at the same time, seems to be particularly useful in ...

September 2nd, 2014

We concede that there is some value to Twitter, but the social musing we did early on no longer fits. My feed (full of people I admire) is mostly just a loud, stupid, sad place. Basically: a mirror to the world we made that I don’t want to look into. The common way to refute my complaint is to say that I’m following the wrong people. I think I’m following the right people, I’m just seeing ...

September 2nd, 2014

Your 9 year old can use guns but can’t play in a park

It’s just the sad state of affairs in which we find ourselves, after a 9-year-old New Jersey girl accidentally shot and killed her instructor at a firing range in Arizona. The girl’s parents paid for her to fire a fully automatic machine gun, but she lost control of the weapon and shot her instructor, Charles Vacca, killing the military veteran.

The chilling ordeal was caught on tape, courtesy of the girl’s parents, but Arizona police officials have said no charges ...

August 30th, 2014

Big Data solves cancer

Interesting:

IN MAY last year, a supercomputer in San Jose, California, read 100,000 research papers in 2 hours. It found completely new biology hidden in the data. Called KnIT, the computer is one of a handful of systems pushing back the frontiers of knowledge without human help.

KnIT didn’t read the papers like a scientist – that would have taken a lifetime. Instead, it scanned for information on a protein called p53, and a class of enzymes that can interact with it, ...

August 30th, 2014

Independent women under Communism

Interesting:

The East German woman had a job, was economically independent, self-confident, and divorce-happy; at a time when only 50 percent of West German women made their own money, 90 percent of women in East Germany were employed.

…the East German woman didn’t consider her male partner an enemy but rather a partner who, economically speaking, had little or nothig on her. Indeed, the average East German man, unless he had managed to gin a foothold in the regime’s upper ...

August 30th, 2014

The end of the quiet era

Interesting:

Having flipped the global chessboard with his annexation of the Crimea and an undeclared war against Ukraine, Putin effectively ended the most recent period of interregnum and inaugurated a new era in global politics. However, no one yet knows what this era will bring. The global community is still reeling in shock, when it isn’t trying to pretend that nothing extraordinary has in fact occurred. This denial of the fact that the Kremlin has dealt a blow to conventional ...

August 30th, 2014

American Exceptionalism

Interesting:

I’m not surprised some conservatives are upset about the AP American History test. But I am bemused by the strength of the axiom Stanley Kurtz would oblige us to adopt, to keep things from getting politicized: “America is freer and more democratic than any other nation.” (Although, grant the axiom, and postulates about military strength, and theorem 1 – “[the US is] a model, vindicator, and at times the chief defender of ordered liberty and self-government in the world” – ...

August 30th, 2014

Parsers in Clojure

The title is “Parsing CSS file with monadic parser in Clojure” but there is a lot here that is educational regarding writing any kind of parser.

(defn parse [parser input] (parser input))

(defn parse-all [parser input] (->> input (parse parser) (filter #(= “” (second %))) ffirst))

But this will require some study:

;; build parser that always returns given element without ...

August 30th, 2014

Microsoft finally defends its customers against government intrusion

Finally, Microsoft took a stand I can approve of:

Despite a federal court order directing Microsoft to turn overseas-held email data to federal authorities, the software giant said Friday it will continue to withhold that information as it waits for the case to wind through the appeals process. The judge has now ordered both Microsoft and federal prosecutors to advise her how to proceed by next Friday, September 5.

Let there be no doubt that Microsoft’s actions in this controversial case ...

August 30th, 2014

Greedy cable companies try to block municipal broadband

The corruption in American politics is outrageous:

Chattanooga has the largest high-speed internet service in the US, offering customers access to speeds of 1 gigabit per second – about 50 times faster than the US average. The service, provided by municipally owned EPB, has sparked a tech boom in the city and attracted international attention. EPB is now petitioning the FCC to expand its territory. Comcast and others have previously sued unsuccessfully to stop EPB’s fibre optic roll out.

I did a ...

August 30th, 2014

When the ice melts

Frightening predictions of the future from National Geographic:

Source

August 30th, 2014

The anti-patterns of email conversations

This is funny:

Some patterns are very simple. For example, this is the “take it to private email” pattern. This pattern can be thread-killed on sight; if you’re feeling generous, read the last two messages in the thread.

bob +-> Foo fred +-> bob +-> fred +-> bob +-> fred ...

August 30th, 2014

Apache Commons-IO overwhelms me with options

I sure wish I understood what all this stuff does, because it looks like there are a lot of powerful options here: How do normal people discover the real world use cases of all this stuff?

Class Summary AutoCloseInputStream Proxy stream that closes and discards the underlying stream as soon as the end of input has been reached or when ...

August 29th, 2014

Ribol is a restart library for Clojure

I am impressed with the look of Ribol, though I have not yet used it:

ribol provides a conditional restart system. It can be thought of as an issue resolution system or try++/catch++. We use the term issues to differentiate them from exceptions. The difference is purely semantic: issues are managed whilst exceptions are caught. They all refer to abnormal program flow.

Restart systems are somewhat analogous to a management structure. A low level function will do work until it encounter an ...

August 29th, 2014

Does the Universe have any concept of scale?

Interesting:

Though galaxies look larger than atoms and elephants appear to outweigh ants, some physicists have begun to suspect that size differences are illusory. Perhaps the fundamental description of the universe does not include the concepts of “mass” and “length,” implying that at its core, nature lacks a sense of scale.

This little-explored idea, known as scale symmetry, constitutes a radical departure from long-standing assumptions about how elementary particles acquire their properties. But it has recently emerged as a common theme of ...

August 29th, 2014

repl-friendly development workflow

First I saw this question in the Github issues for Sente:

Could you recommend a workflow that works across REPL re-evaluations? My current solution is wrapping the initialization in a defonce:

(defonce sente-init (do (let [{:keys [ch-recv send-fn ajax-post-fn ajax-get-or-ws-handshake-fn connected-uids]} (sente/make-channel-socket! {})] (def ...

August 29th, 2014

The 5 types of dependency injection in Clojure

Interesting:

Globally Shared

This is often the first way developers think to share data across an application: simply throw it in a def in a namespace and allow any function that needs it to reference it from there.

….It has the advantage of being simple to implement. The disadvantages are numerous and Dependency Injection was originally developed to overcome the shortcoming of globally shared data. Among other things, putting the context in a globally shared data structure will ...

August 29th, 2014

Thread binding in Clojure is tricky

Very interesting. Apparently you can not use pmap in this example:

user=> (def *foo* 5)

#’user/*foo*

user=> (defn adder [param] (+ *foo* param))

#’user/adder user=> (binding [*foo* 10] (doseq [v (pmap adder (repeat 3 5))] (println v))) 10 10 10 nil

*foo* is bound to 10 by “binding” but pmap spins up other threads, and *foo* ...

August 29th, 2014

What if I totally misunderstood?

“What if I totally misunderstood?” seems to be the universal question women ask when guys engage in minor sexual harassment of them.

When Jessica Livingston, a co-founder of the influential startup accelerator Y Combinator, arrived at The Wine Room in Palo Alto, Calif., a little early for our meeting, a man who was also waiting outside the wine bar started to chat her up.

He asked what she was doing there all on her own, and whether she was there maybe ...

August 29th, 2014

Open Source still lives

Funny:

Source

August 27th, 2014

The bugs on your face evolved to live there

Interesting:

Here is what we do know: Demodex mites are microscopic arachnids (relatives of spiders and ticks) that live in and on the skin of mammals – including humans. They have been found on every mammal species where we’ve looked for them, except the platypus and their odd egg-laying relatives.

Often mammals appear to host more than one species, with some poor field mouse species housing four mite species on its face alone. Generally, these mites live out a benign coexistence with ...

August 27th, 2014

Is there a single answer to the problem of package management?

Interesting:

Why are there so many goddamn package managers? They sprawl across both operating systems (apt, yum, pacman, Homebrew) as well as for programming languages (Bundler, Cabal, Composer, CPAN, CRAN, CTAN, EasyInstall, Go Get, Maven, npm, NuGet, OPAM, PEAR, pip, RubyGems, etc etc etc). “It is a truth universally acknowledged that a programming language must be in want of a package manager.” What is the fatal attraction of package management that makes programming language after programming language jump off this cliff? ...

August 27th, 2014

I am frustrated that Wikipedia hides old version pages from search engines

A few months ago, I read about “gynaikonomos” on Wikipedia and I thought it was an interesting word, with an interesting story behind it, and last night I mentioned it to a friend, who asked me to send them the URL, but now I find the page that talked about gynaikonomos has been erased from Wikipedia. I got to that page from a link on the page about the Plague of Athens.

The link has been erased from the page. ...

August 27th, 2014

This is the most American headline ever written:

9-Year-Old Girl Accidentally Kills Her Shooting Instructor With an Uzi

The only thing that could make this headline more American is if she used an M-16 instead of an Uzi. Otherwise, this headline is perfect, it tells you exactly what kind of country the USA is: the kind of country where people think it is important that 9 year olds learn how to use an Uzi. For freedom.

Source

August 27th, 2014

The growing power and status of Computer Science departments

In academia, statistics is losing ground to computers:

“They [the statistical profession] lost the PR war because they never fought it.”

I assume this is a USA development. In Europe the computer departments have tended to be outgrowths of the math departments.

Recently a number of new terms have arisen, such as data science, Big Data, and analytics, and the popularity of the term machine learning has grown rapidly. To many of us, though, this is just “old wine in new ...

August 27th, 2014

Problems of package management are sapping productivity for tech workers

It is especially bad on the front end:

The situation with packages and dependency hell today is horrendous, particularly if you work in a highly dynamic environment like web development. I want to illustrate this with a detailed example of something I did just the other day, when I set up the structure for a new single page web application. Bear with me, this is leading up to the point at the end of this post. To build the front-end, I wanted ...

August 27th, 2014

A single div

This is an interesting use of CSS gradients to draw images

Source

August 27th, 2014

NixOS as package management?

The end should be the headline:

The last point is huge: I can use Nix to manage my software on both my Linux and OS X machines! I’ll explain how I do that in a future post.

The whole thing sounds interesting:

The main differentiator of NixOS is its package manager, Nix, which stores packages in isolation on a read-only file system. It then makes them available to you by adjusting your environment variables (e.g. your PATH). This way, it can achieve ...

August 26th, 2014

Why are Emacs packages such a disaster?

Check out this screenshot. Do you see where it says “Build/Failing”? The red icon? This simply does not happen with other open source projects that I use. No other community thinks it is normal to push broken code to master. What is wrong with Emacs packages? Is their an attitude that we hackers should be such amazing hackers that we can fix the broken code in every project that we use?

Source

August 24th, 2014

The amazing success of Bustle

I am angry with myself for ruining my own chances to launch a successful website, and I am amazed that Bustle is doing well. Bryan Goldberg strikes me as absolutely clueless about women’s issues, yet he’s managed to create a site that gets huge traffic from women.

Do you read Bustle, the website best known in “the culture” as the place whose founder, Bryan Goldberg, uses his female employees’ legs as typing desks? No, me neither. Nonetheless, according to recent ...

August 23rd, 2014

“Just works” versus “I understand it”

This does a lot to explain the difference between folks drawn to PHP and folks drawn to Lisp. Do you want a utility language that allows you to get basic work done, or do you want a language that you can understand? I wrote PHP for years, but in the end, I was frustrated by much of the magic in it, especially in the PHP object oriented stuff. I like Clojure because I can understand the underpinnings of the language ...

August 23rd, 2014

Interesting:

Almost a year ago I paid $55 to be an “early backer” of the credit card replacement system, with the promise that I’d be shipped a Coin summer of 2014. As the months went by emails would arrive detailing how Coin worked, how it was made, etc., all with the reminder that soon enough, I’d be receiving my Coin this summer. Fast forward to this week — everyone who paid to be backer received an email stating that—HOORAY—our Coins would ... Read More Source August 22nd, 2014 In Business No Comments Oracle takes$240 million for a website, and then fails to build the website

Interesting:

The 126-page lawsuit, filed in Marion County Circuit Court, claims that fraud, lying and “a pattern of racketeering” by Oracle cost the state and its Cover Oregon program hundreds of millions of dollars.

August 5th, 2014

Web apps can be desktop apps if you bundle the web server

It’s an interesting idea, a sort of uberjar idea, in the sense that you bundle all dependencies as one app. You can bundle up all the pieces of a web app and make it a desktop app by including the webserver. Indeed, I do exactly that every time I run “lein uberjar” on one of my Clojure apps (when I embed the Jetty server with my app):

Node is a lightweight JavaScript runtime based on the Google Chrome V8 engine. ...

August 1st, 2014

This is a very good write-up about Liberator, the Clojure library for RESTful APIs. This example he gives was a revelation to me:

Here’s a longer example, a post on a blogging site. Anyone can read a blog post (with a GET), but only the user who wrote it can edit it (with a PUT) or DELETE it.

(defresource blog-post-resource [id] :allowed-methods [:get :put :delete]

;; Return 503 Service Unavailable if DB is down. :service-available? (fn [_] ...

August 1st, 2014

Relying on “standard” libraries which may or may not exist on a server

A strange post from ItsMe:

Programs (like not only browsers) are using shared libraries (e.g. glibc provided by the OS). So the dependant library(s) isn’t/ aren’t used by the browser alone.

most unix based OSes have python installed as a standard library (next to perl).

(My RHEL for example depends heavily on python because most of the standard programs that are used are written in python)

So why should be almost 8 MB for a program that reads text be nothing?

Particularly when ...

August 1st, 2014

The evolution of RESTful APIs

A good post on the importance of the PATCH verb:. This is from the Rails community, but I think all communities have adopted this. Lord knows Rails did a great deal to shape modern ideas about APIs.

What is PATCH? The HTTP method PUT means resource creation or replacement at some given URL.

Think files, for example. If you upload a file to S3 at some URL, you want either to create the file at that URL or replace an existing file if ...

July 28th, 2014

OKCupid experiments on its users again

Manipulations done by OKCupid. Remember, if a service is free, then you are the product.

But by comparing Love Is Blind Day to a normal Tuesday, we learned some very interesting things. In those 7 hours without photos… And it wasn’t that “looks weren’t important” to the users who’d chosen to stick around. When the photos were restored at 4PM, 2,200 people were in the middle of conversations that had started “blind”. Those conversations melted away. The goodness was gone, ...

July 28th, 2014

When should a program interpret words?

This is very good:

Consider the following “program” in English prose:

Assume that your favorite color is red. Now imagine a balloon that is your favorite color. Paint a canvas the same color as the balloon. As English goes, that’s a fairly clear program with a fairly well-defined result. When I follow those instructions, at least, I will always produce a red canvas (assuming that I have a canvas and some red paint, but a potential lack of art supplies is not the ...

July 28th, 2014

Rate limiting middleware for Clojure Ring

It is impressive how much the Clojure eco-system is catching up with Ruby On Rails. The middleware available for Ring is now very extensive. I just discovered Rate limiting middleware for Clojure Ring. Seeing as I just built an API with Liberator, this middleware could be very useful.

Source

July 28th, 2014

Organizing Emacs

This looks like a good article on simple and practical configs for Emacs. I hope to get a new Mac soon, and then re-install Emacs, and then re-configure it based on all I know now. My initial setup of Emacs was confusing since I was overwhelmed by the complexity of Emacs, and I was in a hurry to get stuff done.

Source

July 28th, 2014

Why is the solar system stable?

I am fascinated with the question of smart people thinking dumb things. Or rather, things that now strike me as stupid, partly because I grew up knowing the answer.

One of the smartest people who ever lived was Isaac Newton. And for a long time, he was convinced that the sun had a repulsive force that was pushing the planets away. Robert Hooke had to expend considerable effort to convince Newton that the sun had an attractive force. And then, ...

July 28th, 2014

The Cambrian explosion of Javascript innovation

I am not working with Javascript, so part of me wants to ignore it, but, to be honest, the things now happening in the land of Javascript are amazing. Consider Racer:

Racer is a realtime model synchronization engine for Node.js. By leveraging ShareJS, multiple users can interact with the same data in realtime via Operational Transformation, a sophisticated conflict resolution algorithm that works in realtime and with offline clients. ShareJS also supports PubSub across multiple servers for horizontal scaling. Clients can ...

July 28th, 2014

Why a woman becomes a social worker

A powerful story about why one woman wanted to become a social worker:

She’s a pacifist, she doesn’t believe in killing or maiming. Hitting either, I suppose.

“Not even to save a life?” I ask.

“Only if it was very clear-cut.”

“What if you knew of a person who had tortured and killed several women, and you had the ability to stop them?”

“I would call the police,” she says.

Fuck, if only I could be that innocent, to think I could just call the cops ...

July 27th, 2014

Understanding Ring Middleware

I am very, very stupid. Despite the great post by Darren Holloway, I was still wondering when you get the request and when do you get the response in a Ring Middleware.

Ryan Evans offers this simple middleware as an example:

(defn my-middleware [app] (fn [request] ;; This is where you’d do any processing on the request ;; Finally, keep the chain going by calling app (app request)))

The ...

July 26th, 2014

TJ Holowaychuk leaves NodeJS for Go

TJ Holowaychuk built out some of the most important nmp modules for NodeJS, but now he is leaving for Go.

Go versus Node

If you’re doing distributed work then you’ll find Go’s expressive concurrency primitives very helpful. We could achieve similar things in Node with generators, but in my opinion generators will only ever get us half way there. Without separate stacks error handling & reporting will be mediocre at best. I also don’t want to wait 3 years for the ...

July 26th, 2014

More than most projects, it seems like Node.js has seen a lot of churn in its leadership.

January 2012:

Citing a desire to work on research projects after three years of focused work, Node.js creator and project leader Ryan Dahl sent out a message today that he will be “ceding my position as gatekeeper to Isaac Schlueter”. He stated:

I am still an employee at Joyent and will advise from the sidelines but I won’t be involved in the day-to-day bug fixes. ...

July 26th, 2014

The Perseus Cluster is huge and strange

Interesting:

Together with a team of more than a half-dozen colleagues, Bulbul has been using Chandra to explore the Perseus Cluster, a swarm of galaxies approximately 250 million light years from Earth. Imagine a cloud of gas in which each atom is a whole galaxy—that’s a bit what the Perseus cluster is like. It is one of the most massive known objects in the Universe. The cluster itself is immersed in an enormous ‘atmosphere’ of superheated plasma—and it is ...

July 26th, 2014

Adding real continuous loop behavior to Clojure apps

Interesting:

A while loop that is always true will continue to run until terminated, but it’s not really the cleanest way to obtain the result as it doesn’t allow for a clean shutdown. We can use a scheduled thread pool that will start and execute the desired command in a similar fashion as the while loop, but with a much greater level of control. Create a file in the src directory called scheduler.clj and enter the following code:

(ns pinger.scheduler ...

July 26th, 2014

How to ruin a company

Interesting:

Our sales were growing so fast that the biggest problem that we faced was that we literally could not handle all the customers that wanted to sign up for Loudcloud. To combat this and enable us to grow, I worked diligently with my team to plan all the activities that we needed to accomplish to expand our capacity and capture the market before the competition. Next, I assigned sub-goals and activities to each functional head. In conjunction with my leadership ...

July 22nd, 2014

The problems of object oriented programming and strict typing

This is good, though too specific to Java:

The biggest problem I’ve encountered over the years looking at Java code is that it always seems to be the product of someone who fancies themselves as an architect. They must, because so often I find I’m reading code that looks more like a plan for something that solves a problem, rather than something that actually solves a problem. It’s not a subtle distinction. There are deep layers of abstraction and mountains of ...

July 22nd, 2014

How much can a developer possibly know?

The amount that programmers need to know is growing, so experienced programmers end up facing situations like the one described here by Tim Bray:

Where I’m stuck · I have a tab open to a page in the Gra­dle doc­s: Chap­ter 50. Depen­den­cy Man­age­ment. It has 63 header-delimited sec­tions or­ga­nized in­to 10 top-level sub­sec­tion­s, and it’s chap­ter 50 of 65 (plus five ap­pen­dices). ¶ Short sto­ry: I’m get­ting an in­com­pre­hen­si­ble Groovy er­ror try­ing to do some­thing that should be sim­ple, and fol­low­ing ...

July 21st, 2014

Pretty-print JSON from Clojure

Interesting:

What’s next? Oh, pretty-printing. Yeah, I pretty-print my JSON to go over the wire. It’s nice for debugging. I mean, who wants to curl one long, 1000-character line of JSON? Put some whitespace, please! How to do that?

(cheshire.core/generate-string mp {:pretty true}) That’s right, it’s basically built in, but you have to specify it. But, oh man, that’s long. I don’t want to type that, especially because my lazy fingers are going to not do it one time, then I’m going ...

July 21st, 2014

Learning a new language boosts your memory

Interesting:

In the last few years, unable to hold a list of just four grocery items in my head, I’d begun to fret a bit over my literal state of mind. So to reassure myself that nothing was amiss, just before tackling French I took a cognitive assessment called CNS Vital Signs, recommended by a psychologist friend. The results were anything but reassuring: I scored below average for my age group in nearly all of the categories, notably landing in the ...

July 21st, 2014

PrettyPrinting for test results

An interesting test style:

If the expression passed to is an S-expr, and the first element of the is recognized as a function. Then is prints that first symbol directly, then evaluates all the arguments to the function and prints the results. For instance:

expected: (function-name (arg1) (arg2)) actual: (not (function-name “1st arg value” “2nd arg value”))

However, if is does not recognize that first element as a function, the whole expression passed to is is evaluated for the actual, and you get:

expected: (something-that-evaluates-to-bool ...

July 21st, 2014