HNHacker News
TopNewBestAskShowJobs

einhverfr

5,546 karma · joined November 3, 2011

Previously mst active developer on the LedgerSMB project (http://www.ledgersmb.org). Co-founder of Efficito hosted ERP (http://www.efficito.com). I have a blog on development stuff at http://ledgersmbdev.blogspot.com/ so stop on by. Now I am mostly looking at how to push Postgres past standard limits.
submissionscomments
einhverfr··on Why Experts Make Bad Teachers
I don't agree that experts are necessarily bad teachers. Some of the best experts in physics have been those who were widely regarded as great teachers (Feynman and Heisenberg being great examples).

However, I think there is something to the article as applied to the software industry. Often times we have come to understand solely through abstractions and abstractions are dangerous in this regard particularly when they don't match reality.

A really good example of this was the effort to apply the OSI model of abstractions to TCP/IP back around the turn of the century. Without an understanding of what made the ITU OSI effort different from the DARPA TCP/IP effort, at best one got an overly confusing and misleading understanding of what was actually happening from a networking perspective.

I do a lot of teaching these days as I have changed from being a self-employed consultant to being an employee at a Swedish consulting and training firm, and I do a lot of thinking as to "what are the right abstractions to push in this course?" In IT, that is a remarkably difficult question and one I answer largely through my love of history. For example, when I talk about object-orientation, I start with procedural programming, discuss why structural programming largely replaced it, and then discuss the problems of having your code contracts based on your data structures in C. From there I go to my main abstraction: Object orientation is an effort to hide state changes behind interfaces, to make the interface responsible for the state rather than the outside routine responsible for it. (This also makes it easy to start discussing functional programming.)

The danger of the expert is that the expert may become complacent about this question but the best experts are those who have not. Feynman wrote about insisting that he could explain his theories to his non-physicist relatives. Heisenberg wrote a book on the history of philosophy and how this applies to physics arguing the whole time that data does not imply theory.

If our experts aren't good teachers, that says more about what we want from experts and about our industry than it does about expertise generally.

einhverfr··on I feel like a fraud and that’s a good thing
Sometimes it just takes many tries to get it right. One should not be afraid to rewrite old code until it is right.

The last three Perl codebases I have worked with were overly complicated when I started and had major sections that only a few people had the domain knowledge to touch. With one of those, I became the domain knowledge expert (financial accounting). But the other two I just haven't had time to do that. For example, I am not a quantitative finance guy and I would have to learn that field (and the other is even more specialized).

But what I have learned to do is be guided by a few principles:

1. I much prefer to work with people smarter than me.

2. I try to be good at the little things everyone else ignores ("is this really the right way to handle exceptions?" "Are these functions really written with testability in mind?").

A big problem of course is that codebases don't just fall from the sky, nice and sleek. They are built up over time and entropy within them slowly grows. What starts out as simple get tweaked and made a little more complicated, then again and again until it is a monster you can hardly touch safely.

Simple, beautiful code is darned hard to write and I haven't yet met anyone who succeeds at that all the time (I know I don't). But one can hope with feedback from outside eyes, and a willingness to watch and rewrite over time, that it may eventually get there.

einhverfr··on What If Obesity Is Nobody’s Fault?
I am saying delta weight does not necessarily relate to delta fat. Delta fat contributes to delta weight but to say that other factors mask weight gain or loss makes me wonder if there is a fundamental confusion here...
einhverfr··on What If Obesity Is Nobody’s Fault?
> The rise in net calories consumed per capita is pretty much entirely explains the observed variation.

True but I would be more specific than that. Basically we have two major trends going on:

1. Calories in per capita are falling slower than calories out per capita. For traditional, hand-tool-based farming, it required a lot of calories. Even animal-powered farming required a lot more than is required today. It's a bloody lot of hard manual work as my British friends would say. When one talks about net calories, one has to recognize that a hundred years ago people had to eat a lot more than today.

2. More reliance on high tech foods (HCFS, hydrogenated oils, etc, but also see frozen dinners, often which are loaded by excess corn sugar and oil). These are far from ideal dietary-wise.

These combine to mean fewer micronutrients, and an excess of macronutrients. But the lack of hard physical labor as the normal way of life is a major part of things.

einhverfr··on What If Obesity Is Nobody’s Fault?
Assuming that:

1. All excess calories end up as fat, and 2. All weight gain is fat

Then it is a function generally. However, if that is not the case, then you have many possible outputs for any given input, and that's not a function.

For a forum where functional programming is frequently discussed, I think it is worth using the term "function of" in the strict sense.

einhverfr··on What If Obesity Is Nobody’s Fault?
There are all kinds of cases where calories in < calories out which could result in weight gain. For example, if you already have an excess of body fat and you are building muscle quickly, remember muscle has 4kcal/g while fat has 9. If you are building muscle 1-2x breaking down fat, you will gain weight while losing fat, and expending more calories than what you are taking in.

Again, it's an abstraction which mostly works but it is also clearly not entirely true.

einhverfr··on What If Obesity Is Nobody’s Fault?
But you are still assuming that the metabolism is effectively qualitatively identical. I.e, that the only thing changing is the quantity of calories burned rather than how the excess calories are used. Part of what makes this research fascinating is that it raises doubt about that, which isn't really surprising given what we know about Cytochrome P450 variance and pharmaceutical metabolism. Some people, for example, do not find vicodin effective because the pro-drug is metabolized much slower than the active metabolites....
einhverfr··on What If Obesity Is Nobody’s Fault?
Interesting article. One of the obvious problems in the typical discussion is that folks think of human bodies as mechanistic and identically so. I.e. we can reduce obesity to calories in/out because all human bodies are effectively identical or can be assumed to be such.

But we know that assumption is false (this happens with remarkable regularity in the sciences, that important theories that generally work are built on assumptions known to be false). People metabolize pharmaceuticals differently (google "cytochrome P450 defect", and try to convince me that such natural variation in metabolism of certain pharmaceuticals is a defect from any perspective other than big pharma's).

Now, the assumption, even though it is false, is generally useful because we know also that exercise changes metabolism. In other words, the human body isn't even static and so the abstractions generally work to an extent even though we know they are wrong. I think this sort of thing is why Heisenberg argued at book length that data does not imply theory.

einhverfr··on “Not invented here” syndrome is not unique to the IT world (2013)
It's a good read. One of the points I repeatedly make is that technology should support people, not the other way around. In other words, you start with how people work and you build technological solutions to the problems they face.

Now, Chinese and European wheelbarrows are very different. I would usually choose the European one if I am working by myself because the Chinese one looks like it is a pain to load, but one wonders if the differences are caused by fitting into different workflows The same goes for a lot of IT tools.

The difficulty of course is always "how much needs to be invented here?" That's a big question.

einhverfr··on Origins of the police
I am familiar with the Cooperative movement.

Regarding manufacturing in the Emilia-Romagna region of Italy, it tends to be based on the same sorts of informal collectives that open source utilizes, but in heavy manufacturing with many small shops working together on specific projects to compete with large manufacturing firms.

The model is very successful there and it allows for large numbers of small businesses to take on big businesses by working cooperatively.

einhverfr··on Prosecute Torturers and Their Bosses
it's not even just the Supremacy clause. Generally speaking, the state governments cannot regulate federal agents, nor can the federal government regulate state agents except for things like the equal protection clause.

See Coleman v. Maryland, holding that since the medical leave act provisions under the Family and Medical Leave Act were passed under the commerce clause, not the EPC, then state governments were not bound to it.

einhverfr··on Prosecute Torturers and Their Bosses
That can't explain Andrew Johnson's opposition to Sherman's land reform initiatives though. That was quashed by Northern industrialists.
einhverfr··on Origins of the police
This is an interesting, if fairly, Marxist, view. I wonder though if there is much thought given to the restructuring and unification of the ruling classes which happened during the Reformation in much of Europe (where instead of a hodge-podge of independent cities, lords, royalty, and church men often both cooperating and at odds, one ended up with a supremacy developing in the hands of factory owners, coupled with a very sympathetic and now highly developed absolute monarchy). In other words, one thing that made Capitalism quite a bit worse than Feudalism (Marx being blind to this fact) was that power was far more consolidated in the former, and so the lower classes had fewer options in navigating the power relationships.

What is the alternative to this sort of inequality? I would argue that open source begins to show a way, insofar as effectively the worker as individual owns the means of production (owns, meaning here, "has the right to utilize or direct utilization of"). This sort of commons development has been shown successful in many other areas, including manufacturing (google "Emilia-Romagna Manufacturing").

It isn't Capitalism if everyone is a Capitalist (i.e. has the capital to start his or her own business).

einhverfr··on PHP 7's new hashtable implementation
Perl used to let you do this, btw, but they moved away because apparently some denial of service issues were found regarding hashmaps, and so there are security reasons not to. I think you can tell Perl still you don't want that security and it will behave in this way. THere are other ways to do this only on some hashes but they have something of a performance penalty.
einhverfr··on Prosecute Torturers and Their Bosses
No, I was responding to the idea that things have improved in the last 40 years. I am not sure they have. There are some ways in which they have, but in other ways we have slid further back.

> But it's not that slaves were forced into a 'wage labor system' and didn't own property.

Sorry, I was unclear. I am talking about the end of the Civil War and that the wage labor system was billed as the way forward for former slaves, instead of the land reform that Gen. Sherman and others pushed for.

> No matter how exploitative the welfare and even prison systems are, it's still not in the same league.

Define slavery for me. I think the best definition is when someone is compelled under force of law to labor for the profit of another. In this regard having prisoners work on jobs that generate profit for private companies, and penalizing those who refuse with longer sentences is slavery. There is no other real word for it. Additionally, as long as convicted felons are then exiled from the polity (unable to vote, discriminated against in private employment, etc), then you have something while, not as harsh as American slavery before the civil war, is quite a bit worse, in terms of denying whole demographics political and economic power, than Roman slavery was.

einhverfr··on We Invite Everyone at Etsy to Do an Engineering Rotation
The basic thing is:

If management is going to be realistic, they can't leave deadlines unadjusted and still expect rotations through other departments.

But if you want a good business, you need to cross-train, which means this sort of rotation. That's something Toyota learned, something Etsy has learned, and something Microsoft inadvertantly reinvented if by accident.

einhverfr··on Prosecute Torturers and Their Bosses
A few things that are particularly sad about it are:

1. We learned our lesson, given how we rebuilt Taiwan, Japan, and Germany.

2. We haven't learned out lesson given how the same rhetoric is trotted out by both parties today.

I swear... "creating jobs" is the single worst goal in American politics. Any time you hear it watch closely: both parties use it as an excuse to give rich people more money nad chain people to corporate employment....

einhverfr··on Prosecute Torturers and Their Bosses
Change that to that you try to oppose nonetheless and maybe I will agree with you ;-)
einhverfr··on Prosecute Torturers and Their Bosses
Wait, you are going from 40 years ago to 150 years ago? Talk about moving goalposts.

Yes, everything follows from the fact that slaves didn;t own productive property and then were forced into a wage labor system where they still didn't. But the narrative of racial progress I don't think follows the nice slope we'd like to think so we can pat ourselves on the back and say how far we've come.

The fact is, prison labor is a new form of slavery in its dimensions and the fact that it is increasingly for corporate profit. We are headed right back to where we were 150 years ago if we aren't careful.

einhverfr··on Prosecute Torturers and Their Bosses
I am not sure we are closer to equality on a substantive way. We are closer in terms of where you can sit on the bus. But in terms of property and power, we may be even further away. The KKK's terrorism may be largely a thing of the past, but we now have a choice between the welfare servile state of the Democrats and the penile servile state of the Republicans.

We have had 2 descendants of slaves serving on our nation's highest court, a handful of Congressmen, and not much else. In terms of the legacy of slavery, you really can't count Obama.

No matter what the talking heads on the media say, I still think if you put Al Sharpton, Clarence Thomas, Jesse Jackson, and Ben Carson in a room and ask for consensus and ask them for suggestions to fix the race problem, they will come up with better answers faster than if you put Al Gore, Bill Clinton, Nancy Pelosi, and Harry Reid in a room.

einhverfr··on Prosecute Torturers and Their Bosses
This is true if and only if you oppose everything evil the ones you elect try to do.

But there are a lot of folks who have turned in favor of everything Bush did as long as Obama does it. You can't hide behind "I am trying to at least get the loser on the race to the bottom" if you cheer for that party to win that deplorable sport.

einhverfr··on Prosecute Torturers and Their Bosses
Everything regarding everything government does is incredibly political.

But I don't see this as a states' rights issue directly. It is an issue with a large secret federal government (and stronger states or better yet, local governments, would make that less of an issue). But transferring power from the federal government to the states by itself has no impact at all except making the policies both affect fewer people and the government accountable to the fewer that are affected. That may be a win but it isn't by itself much of anything.

After all, it isn't like the FBI are the ones in the cross-hairs of the anti-police protests...

einhverfr··on Prosecute Torturers and Their Bosses
Unfortunately the Federal Government was hardly blameless in the racial issues. The single greatest tragedy in the history of race in the US was when the administration of Andrew Johnson rejected Sherman's efforts at land reform in the South. This would have lead to a very segregated South, but former slaves would have had means of production so the segregation could not have been pernicious, as it was (and still is as de facto segregation based on massive economic inequality).

The federal government, effectively, has been a party to the worst of these problems, by advocating for the last 150 years, that black folks "getting a job" will solve the issue. It never has and it never will. Give a man a fish and he'll be back tomorrow, which is why Sherman was more interested in giving them metaphorical fishing boats.

I have now lived in areas where there is a lot more racial separatism than there is in the US. In the absence of massive economic inequality, that poses very little problems. The problems in the US have been racial separatism backed by massive inequality out of the starting gate, something bolstered more than hindered by federal policy (though the states have been bad guys here too). But because we can pick and choose which bad guys we want to condemn, we can imagine that the feds messed up everything or that they saved people from the evil states. In reality there is plenty of blame to go around.

I like the Scandinavian model: most taxes go to the local level and most social programs are run at the local level. Sweden and Denmark, for example, have no national single payer systems (rather municipalities set up single payer systems). However on the spectrum of American politics that makes Scandinavians both far-left and far-far right....

einhverfr··on Why Why Functional Programming Matters Matters (2007)
Think about what following the most basic aspects of functional programming would mean in Java:

1. No private attributes (all state is transparent and immutable). 2. All methods that transform an object return a transformed copy. So instead of:

    rectangle.stretch_x(2.5);
you have:

    newRectangle = rectangle.stretched_x(2.5);
Even this very small move here moves you way outside Java as typically programmed. This means further that even at this level (the most basic level of FP), your program will:

1. Be unable to work with standard libraries without mixing paradigms

2. Be unable to be used in other projects because of the same problems.

Given that ABCL uses supertypes to allow round-trips between Java and Common Lisp, I am fairly sure that functors should be possible in Java, if not elegant.

einhverfr··on Prosecute Torturers and Their Bosses
It isn't just defending the parties. It is defending the corporations who effectively control the parties. In short the media is an important part of the power structure of the US.

Why I read The "American Conservative," "Mother Jones," and "The Nation" more than I read The New York Times.

einhverfr··on Prosecute Torturers and Their Bosses
My point is:

the parties no longer represent us. We are lead to fight over wedge issues while the elites take everything. A vote doesn't matter by itself either.

The only way a vote will have any impact is if you use it to add just a little sting to any political activity you do elsewhere. If your only political action is voting, you might as well stay home.

The only real hope is if a large bipartisan alliance forms. That's more important than if we get Romney or Obama as President (two candidates who are mostly different in terms of party affiliation and skin color, but not in terms of approaches to governance).

einhverfr··on Why Why Functional Programming Matters Matters (2007)
Now, note what I said that started this thread, that you can do FP in any language. I never said you could do it well or maintainably. For some languages (I am thinking of Java in particular, but C++ seems similar there), I can't imagine it being more than useful as an academic exercise.

Certainly there are languages which don't support FP approaches well. But lack of utility is not the same as impossibility. If nothing else the exercise ("How far can you take FP in Java?") will teach you all kinds of things.

einhverfr··on Prosecute Torturers and Their Bosses
Discussing politics with people on the other side of the isle and finding common ground is frankly more important than voting today.
einhverfr··on Schwab password policies and two factor authentication
> Why are financial institution so _bad_ at password policies?

Legacy code written quickly in 1998 and not replaced yet?

einhverfr··on Prosecute Torturers and Their Bosses
I am an American expat living abroad. One thing that bugs me about this is that there is a shrill hyperpartisanship that underlies a lot of this discussion. Yes, we should be prosecuting torturers, their bosses, and those who aided and abetted this via existing CIA programs or via extraordinary rendition during the current and last two administrations.

But Democrats won't sign on to something that will implicate Democratic party Presidents, nor will the GOP sign onto anything that will implicate a Republican president, no matter how despised he is by the Republican base.

The result is a lawless government and a strict reminder that there is no such thing as a "government of laws." In the end, all governments are "governments of men."

← PreviousPage 7 of 34Next →