HNHacker News
TopNewBestAskShowJobs

markdennehy

584 karma · joined January 2, 2009

http://stochasticgeometry.ie http://10point9.ie
submissionscomments
markdennehy··on Home server build, part one - specifications
(a) I don't agree that that's what I'm going to be spending money on in two years, or that costs will have fallen that far for the entire box (CPU, RAM, yes; physical box, PSU, no), or even that that money will be available (I'm in Ireland - check out the news on our economy :) Right now, whether it's better to keep euros in the bank or to spend them while they still have purchasing power buying things that will last and can be used seems like a terrifyingly close decision!

(b) This box's destiny is to go sit in a room quietly and just work. Any time I spend on it after it's in that quiet room is time wasted, and I'm willing to spend a bit more (though not a huge amount more) now to save a lot more then. If I was a postgrad again and my time was low-cost and I wasn't hosting data I really worried about, sure, I'd pick the newest, shiniest toy and try to make it work and if it didn't, oh well, I learnt something; but that's not the case here, I just want a solid box I never have to worry about no matter what else we throw at it. This ain't the project car in the garage being endlessly worked on for fun, this is the family estate wagon that's used for the shopping and getting the kids to school, if that analogy makes any sense.

markdennehy··on Home server build, part one - specifications
Even more boring when you don't have a TV in the house qw :)
markdennehy··on Home server build, part one - specifications
Niels, the PSU in this build actually does operate most efficiently in the 40%-60% load region according to its specs; it wasn't just a rule-of-thumb.

Also, the lower you load it, the easier it gets to cool, according to its own specs. Which I take as a nice bonus.

markdennehy··on Home server build, part one - specifications
In the US, I'd definitely be going with newegg, craigs and other places kev; but in Ireland, well, places like scan are about as good as it gets. Ebay is an option as well, but the build takes longer; I have a week's vacation to get this done in for various personal reasons - so having the parts here now is worth the 10% I'd save on average if I spent a month hunting down bits on ebay and shipping them seperately.

And buying an older system on ebay and shipping it... er, no, I wouldn't be doing that locally in Ireland. I'd get an overpriced, heavily kicked system unless I was very lucky, and to quote a google sysop, hope is not an acceptable plan :D

markdennehy··on Home server build, part one - specifications
Kev, I could definitely do this on less CPU, less RAM, less power, and possibly less money (some of the parts for the custom small atom boards are more expensive, pound-for-pound, than their mainstream desktop counterparts). But the moment I hit any extra task, my spec would be all out of whack and I'd have to rebuild the box. No thanks, I'll accept a higher initial spend and a less-than-optimal running cost as insurance against the time and effort I spend keeping an infrastructure box up and running over that time period.

To give you some math back, my time on salary comes to a net of (approximately) €20/hr (and yes, it'd be far higher if I was contracting, thanks). Lets say a hard drive goes because I bought a different PSU which was closely matched to the spec but it's a friday model so the 12V line was kinda struggling. Now I have to buy the new hard drive, have it shipped, install it and rebuild it; that's going to come to 1-2 hours of my time in total on repairs, and probably three to four days where I don't have my infrastructure here which comes to around 24 hours of my time where I'm being put out because of a hardware failure. That's €480 worth of my time, against about $163/yr in running costs (because I really doubt this will be pulling 250W continously). Think of it as health insurance - yeah, odds are you'll never get back services equal to what you paid for, but that's not really the point...

markdennehy··on Home server build, part one - specifications
(And I will have to buy new drives in the future. Hard drives fail, that's a fact of life - hence the RAID array, so that when they fail, I can just swap them out instead of having to spend a day reinstalling and recovering).
markdennehy··on Home server build, part one - specifications
It's not the drives I'm future-proofing guys, it's the entire box. And "future-proofing" doesn't mean "I'll never need new hardware ever again", it means "I won't need to worry about the hardware in this box again". So I come back in two years, swap out the 2Tb drives in the RAID array for 4Tb drives and it costs me half what I'm paying for them now; but I don't have to go spending extra on a new PSU, case, etc - the stuff whose prices won't have fallen by much.
markdennehy··on Home server build, part one - specifications
It's 1-200Gb of live data, but about 1.5-2Tb of data that's currently sitting offline on DVDs which are a pain to access. I generate a fair amount of video data when training. Plus, as I said, future-proofing. I'm old enough to remember the "Who'd need more than 640k of RAM?" comment from the first time around...
markdennehy··on Home server build, part one - specifications
Ex-enterprise gear or a retired or second-hand PC would indeed be easier on the wallet and able to do the job. However, since I had neither, nor a way to get either...

And yes, Atom builds could handle NAS loads easily enough, no disagreement there; but add in the backups and other tasks, and you'll start reaching the limits of the platform. This isn't just a NAS box, this is the main server for the house.

markdennehy··on Home server build, part one - specifications
It's gone up - you're talking a difference of pence between the 320Gb and 500Gb versions of the same drive these days.
markdennehy··on Home server build, part one - specifications
320Gb is definitely more than needed, but look at the disks on the site; the smallest drive there is an 80Gb Western Digital, but it costs £29.10; the 320Gb Seagate costs £28.66. /shrug Hey, if they want to charge less for a 320Gb than a smaller drive, I'll take the 320Gb.

As to the 850W, darn right I don't need all of it right now, but (a) I want the PSU nowhere near its limits when running two RAID arrays; and (b) I'll be adding in disks in the future to increase storage space as needed; I don't want to have to buy another PSU or worry about stressing the PSU at that point. It's relatively cheap future-proofing.

markdennehy··on Show HN: Let's end the Programmer Salary Taboo
How's this different from Glassdoor.com?
markdennehy··on Why Joel Spolsky was wrong about 'duct tape programmers' being good programmers.
>In civil engineering the stakes are high, people will lose lives.

If you're building a bridge, yes. But it's not always so critical.

This holds in software engineering as well - If you're mucking about writing the next tetris, odds are, noone's going to die if you stuff it up. If you're writing embedded code in a medical device, lives definitely are at risk (and if you step back and look, not only is embedded code the majority of deployed code out there, but it also has some of the most mature development practices - not everything in software is agile)

The problem arises when you try to draw the line between those two extremes - for example, who knew people were daft enough to follow GPS instructions that navigated them under bridges that were obviously too law, or off piers into harbours, or into oncoming traffic on one-way streets or onto train tracks (complete with oncoming trains). The criticality of the system you're developing isn't always a simple thing to determine.

And don't forget - history has recorded very very similar arguments to yours that claim exactly what you're claiming, while arguing that mechanical engineering will never go from art to science...

markdennehy··on Why Joel Spolsky was wrong about 'duct tape programmers' being good programmers.
> Want to try a new lane arrangement on a bridge? If you could build bridges like you build software, you'd just build two with the competing lane designs, and get half of the car traffic to drive over each. Oh wait, you can't do that in real life.

Nope. You can, however, run rather detailed mathematical simulations of what the varying loads will do to the bridge and cross-check against established data.

Want to know the _real_ difference between civil engineering and software engineering?

About 126 years.

markdennehy··on No Redditing Allowed
That is what I just said. I just disagree with that rule, I think it's wrong-headed; so I don't wish to participate in the site anymore, end of.
markdennehy··on No Redditing Allowed
> The point is that work others find interesting/important in some way are posted; most authors consider their own work to be worthwhile.

Most authors consider their own work to be _theirs_ as well. My stuff is under creative commons; I've no problem with people wanting to see it, or even submitting it somewhere; but being prohibited from submitting it myself while others are encouraged to, that's not something I find acceptable.

markdennehy··on Silently banned from Reddit...
So, screwing real users in order to avoid expending effort on spammers then. Yeah, still not liking this idea. It's basicly the forum software coders throwing their hands up and saying "Hey, we don't know how to solve this problem, so we give up. Screw you buddy!".
markdennehy··on Silently banned from Reddit...
Whether it's Greenspun or Spolsky, it's still explicitly described as "tricking" your users. It's sneaky and underhanded, and an incredibly bad way to treat your users.
markdennehy··on Why passion is not what you need in a programmer
What distinguishes Olympic athletes from enthusiastic athletes is that they don't have passion; they have dedication. Day in, day out, regardless of how they feel, they follow a structured training plan. Feeling enthusiastic on a day scheduled for resting? Tough, you rest. Feeling down on a day scheduled for training? Tough, you train. It's not about being passionate, it's about what our fathers tended to call stick-to-it-ivness.

Perhaps a better example is going for a doctorate. Everyone with a PhD will tell you the critical requirement for getting a PhD (if they're being honest) is neither raw intelligence (beyond what you needed for the primary degree), nor passion for the topic, but the dedication to spend four to six years of your life in the focussed, deliberate and pragmatic pursuit of a goal. Passion will do nothing but cripple your efforts - you have to remain objective, be able to drop an approach if it's not proving useful without a second thought, and not get married to the central thesis lest it distort your results.

Same principle applies to programming. Dedication, professionalism, these are the real virtues - passion just produces fanboys for whatever the method de jour is.

markdennehy··on Joel Spolsky, Snake-Oil Salesman
It's spectacularly useful, and I personally really love using it - but to say it's an industry standard the way C or C++ are is to stretch the point a wee bit too far unfortunately.

Still though, we use some languages for teaching (like Pascal or Modula-2) which don't have the kind of industrial usage levels of C or C++, so we might see Python being taken up sooner rather than later. I think there are one or two courses already using it over here on a trial basis.

markdennehy··on Joel Spolsky, Snake-Oil Salesman
Wordpress.com's threading leaves much to be desired I'm afraid.

I can't judge what would be mainstream in US accurately enough to rate your school I'm afraid. I'd see some of the details of the main schools as they write up their courses in journal articles; but my experience is mostly with Irish universities. However, from what several people here and back on the blog and over on reddit are saying, it sounds like the average Irish CS degree is a step or two ahead of at least some US schools. Which I have to say is a major surprise to me, since US schools were (I thought, from speaking to grad students and academics from them) better funded than Irish ones.

markdennehy··on Joel Spolsky, Snake-Oil Salesman
As someone else put it elsewhere, 'the first taste is always free'...

Companies have been giving away software to college courses for as long as there's been an industry. It's a long-term marketing strategy based on the idea that if you give free software to 200 students (with limits on how it can be used so they can't make money using it), then inside ten years many of them will end up in positions where they're asked to recommend software and yours is the first they ever used. Altruistic it is not.

markdennehy··on Joel Spolsky, Snake-Oil Salesman
That's not bitter, that's justifiable anger steve. There's a duty of care involved on the university's part - if they screwed the pooch, that's a pretty major thing.
markdennehy··on Joel Spolsky, Snake-Oil Salesman
How many of those hundreds of thousands of lines of boilerplate code have concepts in them that the average CS student isn't taught in their "fun" algorithm code?

None.

The simple fact is that with the amount of things to teach in a CS course, boilerplate code is just not a good use of time to teach. Students come across it in any major project and know it exists in the rest of the course - but spending equal time on boilerplate and on algorithm code would be like teaching an artist a degree course in chemistry before letting him buy his first tube of paint. He'd be a great chemist, but a lousy artist.

As to time management, Joel's point was nonexistant there. He spent the entire article berating student's time management skills, suggested Scrum supported by his product could fix the problem, then quickly blurted out that industrial programmers have equally poor time management skills and in fact are solely differentiated from college students by the point that industrial programmers have managers to enforce time management on them, and that neither Joel's product nor Scrum can help that.

Leaving aside the point that he's not actually correct about time management skills (long-term time management isn't just down to the programmer, but to how stable project requirements are and other such factors), and leaving aside the query of just how bad the programmers he works with in industry are (because in six years of industry work, I never came across a programmer who both kept their job and had poor time management skills), there's the query of what the hell his post was about at all in the first place if all it did was to create FUD, hawk his product as a solution, then indemnify himself from any failure by saying it probably wouldn't work (in a sufficiently roundabout way that it didn't discourage the sale)?

markdennehy··on Joel Spolsky, Snake-Oil Salesman
The two are orthogonal, at least in some aspects. The fundamentals can - technically - be taught in any language (practically, noone's going to try teaching a course in BrainFuck). But we try to choose a language that gives them, if not industry skills, a platform from which to reach those skills rapidly. For example, teach them C and an OO language of your choice properly - and they can learn C++, ObjectiveC, Java, Python or any of a dozen others very rapidly indeed compared to someone who dove in, learnt Inferno and then graduated into an industry that never heard of it.

The thing to remember is this - we teach them the fundamentals for a reason, namely to get jobs in industry. At the back of all this academic teaching is a commercial reality that can't be forgotten. But you have to balance that with a long-term view of the student's entire career. We're trying to give them a degree course, not a Sam's book!

markdennehy··on Joel Spolsky, Snake-Oil Salesman
Nope, I wouldn't. I'd expect them to be able to write the book and then get a lawyer to review the contract that the agent negotiates for them.

Mind you, I've not seen degrees in programming as distinct from Computer Science or Computer Engineering over here. We have one, two and three-year diplomas, yes, but degrees are all on the fundamentals over here.

markdennehy··on Joel Spolsky, Snake-Oil Salesman
It does stick out... but apparently too far as it blocked out the following qualification "(obviously different sectors age at different rates – web programming has a very fast cycle, embedded systems a very slow one)". C is a systems language, it's been around forever and is not about to be replaced anytime soon, possibly anytime in our lifetimes. It's too good at what it does. And that's why it's taught in a lot of universities.

As is Lisp, for the reasons you mentioned. As is SQL. As are several others (though I'd disagree with Java myself because it's really more set up to do things than to teach things and there are too many shortcuts in there - but many others disagree with me on that point :) ).

I'm not for getting rid of established languages from courses. C is 37 years old; C++, 30 years; Lisp, 51 years; Objective C, 23 years - these are well-established languages that won't vanish in the four-year span of an undergrad course. Java at only 14 years (and so many releases that stability is a valid question) tends (to my mind at least) to mark the start of the gray area there. Some though, like Perl and C++, are really hard to teach in compared to others and that can outweigh their stability as a factor. Still though, I look at languages like Python and would love to work them into a course. But it is still a risk for the students. Maybe for the final year work though.

But teaching a four-year course using Ruby as a primary language, intellectually interesting as that sounds, is an unethical act at the moment. It's a beautiful language, a real joy even to read - but what the students start learning on day one may not be around, or be a useful thing to know for the jobs they'll pay their mortgages with four years down the line. That's the responsibility the university is taking on when it creates a course. The student invests four years of their life - the university must produce a return on that, and conservative thinking is needed for that.

markdennehy··on Duct Tape Considered Harmful
I've spent a few years dealing with fuzzy requirement myself. And we tell outselves it hurts noone when a bug happens, but we're being deliberately obtuse in those cases I think. Does it really hurt noone if an online test which comprises a percentage of someones final degree grade, crashes repeatedly while the course tries to take the test? Does it really hurt noone if bad UIs cause people to lose time or money, especially when you add up all that time?

I'm not suffering from an absolutist morality here - I'm pointing out that there are consequences to piss-poor engineering, and it is necessary for engineers to take the viewpoint of those being hurt rather than that of those trying to make money selling the product; because after four hundred years of training engineers, that's the best way we've found of preventing disasters. And the same should be true of developers, because just as civil and mechanical engineering before it, computer and software engineering are increasingly forming an integral part of the infrastructure we live our lives in.

markdennehy··on Duct Tape Considered Harmful
I wrote "the ford pinto memo", not "the ford pinto".

The point wasn't whether the car was okay, it was about the amoral behaviour of the company. Ford crossed a line between wanting to produce something to a given spec; and depraved indifference to the damage the errors in the design would cause. It only sounds like a subtle difference.

markdennehy··on Duct Tape Considered Harmful
You say "guts to ship and see", I say "piss-poor engineering at best, unethical criminal negligence at worst"...
← PreviousPage 2 of 3Next →