HN user

motter

1,568 karma
Posts59
Comments66
View on HN
medium.com 8y ago

The fall of public key pinning and rise of Certificate Transparency

motter
1pts0
words.volant.is 11y ago

Hacking on Heka, part I

motter
9pts0
words.volant.is 12y ago

Understanding gunicorn's async worker concurrency model

motter
1pts2
www.awsarchitectureblog.com 12y ago

Shuffle Sharding: massive and magical fault isolation

motter
50pts10
yankeesabralimey.tumblr.com 12y ago

Trench-vision: the downside of bootstrapping

motter
1pts0
www.kickstarter.com 12y ago

Espruino (JavaScript microcontroller) raises 5x its Kickstarter goal

motter
2pts0
peternixey.com 13y ago

How we built a pre-launch, customer-development pipeline for Copyin

motter
6pts0
peternixey.com 13y ago

Absolute knowledge is absolute power

motter
68pts28
research.microsoft.com 13y ago

The Bw-Tree: A B-tree for New Hardware

motter
143pts81
stevelosh.com 13y ago

List out of Lambda

motter
136pts47
golangweekly.com 13y ago

Golang Weekly email newsletter

motter
47pts6
github.com 13y ago

Stroller, a companion to Vagrant

motter
1pts0
coderweekly.com 13y ago

Exploring the Virtual Database Engine inside SQLite

motter
70pts19
pgmodeler.com.br 13y ago

PostgreSQL Database Modeler

motter
121pts38
dave.cheney.net 13y ago

Why Go Gets Exceptions Right

motter
75pts81
play.golang.org 13y ago

Golang Playground

motter
4pts0
flowingdata.com 14y ago

Common Statistical Fallacies

motter
2pts0
docs.python-guide.org 14y ago

The Hitchhiker's guide to Python

motter
3pts0
eli.thegreenplace.net 14y ago

Adding a new statement to Python

motter
100pts14
blog.typesafe.com 14y ago

Introducing Akka 2.0

motter
5pts0
martinfowler.com 14y ago

Steps towards the glory of REST

motter
1pts0
blueprintforge.com 14y ago

Static Modification of Python using Abstract Syntax Trees

motter
2pts0
www.ferg.org 14y ago

How parsers and compilers work, examples in Python

motter
2pts0
ruben.savanne.be 14y ago

Concurrency in Erlang & Scala: The Actor Model

motter
33pts4
coderweekly.com 14y ago

Show HN: Coder Weekly

motter
62pts14
bonsaiden.github.com 14y ago

Javascript Garden

motter
9pts0
blueprintforge.com 14y ago

A Django Developer’s First Look at Play

motter
4pts1
www.dspguide.com 14y ago

The Scientist and Engineer's Guide to Digital Signal Processing

motter
2pts0
blueprintforge.com 14y ago

Optimising Django Database Performance

motter
6pts0
research.google.com 14y ago

Tenzing: A SQL Implementation On The MapReduce Framework

motter
75pts16

I'm in the process of moving away from a static site for my website.

Simply put, a web interface is often more convenient so I can update things easier on the go, and it's good to have a place to host experiments too.

I have used various static site generators but none of them seemed to be significantly less work to get going than a small django app on heroku. Though I've been using Django for a few years, so there is simply no learning curve left.

It's surprisingly easy, though I believe the tests expect one to be configured (I haven't checked precisely why, or if it can be configured not to expect a database).

"Social networks -- real social networks, not the online instantiations of them -- work best when the groups are relatively small, Dunbar's number is respected, and there's a level of insularity around any given group."

Agreed, and to add to your point, group identity is also a strong motivator for close-knit networks.

Forums are a good example of this. It's partly why I think communities (and the software they use) centred around a specific interest or activity will, for certain kinds of community, ultimately win over what we now call social networks.

It's the tools that are lacking: at the moment it seems far easier to set up a facebook group than work out what a community needs and provide it without technical knowledge.

(I have an interest in this area because tools for communities are what I left my job to work on: http://microco.sm).

I agree with the main conclusion here, but it's a stretch to reduce technology choices to a simple "new or not" dichotomy.

Let's say you're writing a new web service in Java, because it has features aplenty and is also the language your team is most familiar with. You're confident the JVM is a platform you want to build on.

Now you need to:

1. Choose a set of libraries or a framework. Do you go for Spring or Java EE, or for something newer like Play or Dropwizard?

2. Choose a build tool. Maven? Ant? Gradle? Maybe we'll write some scala, so SBT?

3. Choose tools for deployment, config management, etc.

4. A database.

5. And so on.

All of these tools have different trade-offs. There are so many trade-offs that I don't think blog post comparisons (or whatever) cut it. And so you have the "magpies" who try and figure out some of these trade-offs for themselves by experimentation. (That is what, in my opinion, hack days and 20% time are for, not your new production system.)

But don't listen to me, we wrote our new web service in Go ;)

More seriously, it was a major decision and I couldn't possibly write a few hundred words on my blog to justify it. I may write a few thousand, though.

Thanks for pointing that out. The static routes in the talk are just for illustration -- we use nginx to serve them in production.

One thing I haven't touched on at all is html template rendering, something I'd like to take a look at in detail at some point.

Would like to hear more about your experience with Go -- is there a writeup somewhere?

In that case, I don't know a number that can be used for that comparison. 18k is the total number of lines in the source code files; the SLOC will be different.

In hindsight, I should've left this number out. It was intended to give background to the overall program size, but it's a small detail that shouldn't be the focus of this discussion.

"...it's better for us to focus our intent on excellence in our own right, rather than our impact on someone else's product."

This, in my view, is the salient point for startups when faced with competition. It's too easy to get distracted by zero-sum thinking.

Fixed, thanks for letting me know.

Edit: parent comment was deleted; I'll look to update the template when I'm at a desk to make it easier to read.

Versioning ASTs -- very interesting. Are you documenting the development anywhere? I'd love to hear more.

I've been quite fascinated by ASTs (and verification thereof) ever since poking around Python's approach to it.

Take a look at Oracle Berkeley DB:

"Berkeley DB is not exposed to the end-user. It is totally hidden below the SQLite APIs. It acts as the storage engine in place of SQLite's own BTREE. An application written to use the SQLite version 3 API can switch to Oracle Berkeley DB with no code changes, simply re-link against Berkeley DB."

http://www.oracle.com/technetwork/database/berkeleydb/overvi...

I haven't had time to read the full paper, but it looks very interesting.

Pinboard's founder seems (understandably) a little unsure as to the future of that part of the service:

"I am optimistic that Twitter will clarify their terms of service with regard to personal backups. In 2012, it remains impossible for a Twitter user to do a full export from their Twitter account. The only way to effectively store and search tweets is through third-party sites."

http://blog.pinboard.in/2012/09/twitter_and_pinboard/

Note the warning from the README:

"Although this is a major upgrade version of pgModeler it is recommended NOT EXPORT the models created directly to production environments. Not all possible code generation were tested in this way, is its your own risk export the models into environments that are not intended for testing. The project's author is not responsible for any possible loss of data due the inappropriate use of this tool."

https://github.com/pgmodeler/pgmodeler#warning