HNHacker News
TopNewBestAskShowJobs

fendale

393 karma · joined October 22, 2007

submissionscomments
fendale··on Startup Ideas We'd Like to Fund
I have often searched google looking for recent articles, but the most highly ranked are always first which are often really old and outdated ... maybe there is something in the advanced search to tweak the ordering, I am not sure ...
fendale··on Wufoo On Asking Users for Their Feelings
"I am feeling excited/happy" that I got to listen to one of Kathy Sierra's talks with slides and all! Thanks for posting the link and well done of experimenting with one of her ideas ...
fendale··on Don't ask employees to be passionate about the company
Me too - I miss that blog so much!
fendale··on See Twitter's SQL.
Mentioned elsewhere in this thread, but count() and count(1) mean basically the same thing and are equivalent.

There is a nice optimisation in MYISAM table that makes count() from table <with no where clause> almost instant as its stored as meta-data on the table - in InnoDB, Oracle or Postgres this optimisation doesn't exist ...

fendale··on UK Government opens APIs, offers prizes for best mashups
Probably not officially otherwise they would have a .gov.uk domain, but I imagine they must be at least loosely affiliated with the government to be pushing this sort of idea.
fendale··on Working with web developers in India: why, whom, and how
One report I heard is that the rate is about one third of an equivalent UK person now. It used to be a much greater difference, but the Indian rates are going up as the developers get paid more.
fendale··on I have finally seen the Emacs light
I hear Textmate is pretty darn good, but it doesn't work in the terminal on my Linux box, and it doesn't run on my windows machine in my cube. I decided a year or two back to learn an editor well, and decided against Textmate for those two reasons.
fendale··on My Mixed Feelings about Ruby

    irb(main):002:0> p = Proc.new { return :to_sender }        
    => #<Proc:0x0035a050@(irb):2>
    irb(main):003:0> p.call
    LocalJumpError: unexpected return
            from (irb):2
            from (irb):3
            from :0
    irb(main):007:0> l = lambda { return :to_sender } 
    => #<Proc:0x0033b86c@(irb):7>
    irb(main):008:0> l.call
    => :to_sender
I had no idea it would do that - is a 'return' statement illegal in a Proc?
fendale··on How to sell your software for $20,000
I actually know someone who was hit by a bus on the way to his software developer job - luckily he was fine but for a couple of cuts and bruises (inner city., hence bus was probably going v slow), but it can happen!
fendale··on How do you prepare to launch your app?
I have never been in the situation having never launched something, but if I was launching, I would be inclined to just post the link here.

Best case, people here love it. Worst case people will point out its failings and be critical. This is actually a good thing, as it gives you the information you need to vastly improve it.

Most likely outcome is that some people like it and some hate it, but either way you will get good, honest and helpful feedback on here ...

fendale··on How do you do in-company documentation (enterprise wiki)?
Our install of Confluence is dog slow and gives a lot of Internal Server Errors - granted that is probably because whoever set it up has done so badly and on inadequate hardware.

Its WYSIWYG editor annoys me quite a bit, and I find its Markup a bit clunky.

I guess my distaste for Confluence comes mostly from the slowness, which is probably not Confluence's fault. Also, editing pages on my Trac install is so much more pleasant.

fendale··on How do you do in-company documentation (enterprise wiki)?
Nothing sucks more that Confluence - I feel your pain all too well :(
fendale··on How not to apply for a job
Back in the day, by father worked in recruitment for a rather large place that got many many more applicants per jobs (like most places I guess, but this one would employ several 100 new people per year with thousands of applications per recruitment round).

He told me they used spelling mistakes to filter applicants - more than X (cannot remember what X was) typos in the form and you were cut - harsh, but somewhat fair at the same time. Yes they probably lost some good people, but probably many more bad ones - all recruitment is like that, there is always someone who should have gotten in that doesn't unfortunately.

He was not recruiting IT or even degree level folk either ...

fendale··on Programmer Insecurity
You're give a lot of credit to large companies - things are done wrong in them more often than not.

The developers code to requirements - a bunch of signed off requirements are handed off to them and they go make the thing work, so yea there is a spec, but it doesn't go to the level of 'use library x' or feature y or a 5 table join instead of 5 individual selects etc. The developers have license to code the thing in the best way they see fit.

The point of my comment was to agree with what was said in the article in that its bad to go and spring 5 weeks of coding on the team (whether its an open source or closed source team) without running what you are doing past the other team members or stake holders at frequent intervals.

In my case, I have been sprung with weeks of code in one go - it doesn't really matter if there are modular/OO approaches being used - 5 or 6 weeks of code can run into thousands of lines.

The same problem appears with other things too - eg I need a report for 20 components of a system, and it takes some time to prepare the stats (one off manual task) for each part - I would say send me the stats for each component as you get them, but they tend to hold everything back until its all done - then when the report isn't quite right its a much bigger job to fix it than if I had seen some stuff early.

Agile development is sort of like this too - show your customer things each week as its easier to fix when its going down the wrong path, instead of springing three months of work on the customer in one go to find its no what they wanted.

fendale··on Programmer Insecurity
This is something I can relate to very well - I work for a large company that out sources lots of work to India - some of the developers are good, some terrible (as they are everywhere) - but without fail they refuse to show you anything until its all done. There are at least two problems with this:

* Often they make poor implementation decisions that as the 'designer' (I hate branding myself with that term) I don't like and know it could be done a different way, but now that X weeks of development work have been done, its too late to change it.

* Reviewing a big blob of code like that is a nightmare - easier if I get drip fed it feature by feature. Also, often when reviewing code I have noticed a junior developer will use the same anti-pattern over and over again - so they have to refactor all through the code - if such an error was noticed early, it would have resulted in much less work overall.

fendale··on Be honest: Do you ever read EULAs?
I have never once read a EULA - I don't really see how you could make it all the way through one and stay away.

How important is the EULA/Terms and conditions that you always have to click OK to when you register to use a new web app? If I was to release an app without legally prepared terms and conditions would that be a stupid thing to do?

fendale··on How I hacked Digg
And in Rails

<%= h(@var) %>

fendale··on Ask YC: What kind of hours do all of you hackers work?
Yea if you are interested enough in what you are doing, or its your own startup things are a little different - even interesting work tires you out eventually though.

I need at least 1 day a week off all the same - I think that is important. Work real hard Monday - Friday and then party at the weekend :)

fendale··on Ask YC: What kind of hours do all of you hackers work?
Yea, in the big companies, you would not believe how often I have seen someone 'recognised' and given great praise for being in the office real late pulling a release out of the fire - almost everytime it was that very person that put it into the fire to begin with - The ones that just got the thing to work and went home didn't even feature on the radar!

Sometimes I think the way to progress in a big company is to make a hash of things and then stay late fixing them - that doesn't compute with me though - they are bound to get found out at some point, right?

fendale··on Ask YC: What kind of hours do all of you hackers work?
I struggle to see how anyone can be productive at all working all your waking hours. The only result of that is going to be burnout or stress related illness.

I don't have or work for a startup granted, but when I am working on something hard, I reckon I have 5 - 7 hours a day in me and then I am just wasting time - it was the same studying for exams and my degree - I have never pulled an all nighter for an exam, but still managed to get the top grade - proper rest and relaxation are just as important as the working time - properly rested you will get far more done in less time too!

Oh and leave some time for exercise - that helps you productivity, stress and well being no-end!

fendale··on 8 Things I Wish I Knew When I Was 22
Buying a house is a great idea if you ask me, so long as you don't pay over the odds for it.

If I want to travel, I can rent it out (the rent will cover the mortgage) and in 12 odd years I will owe nothing on it, and can live rent free for the rest of my days (or buy a bigger house) - I am only 28 so by 40 the house thing is largely sorted, which is nice ...

fendale··on Avi Bryant: MagLev recap
I know nothing about the internals of any of the Ruby VM's so this may be a totally stupid question ...

How hard would be it be to 'marshal out' the entire running Ruby VM to a binary image and load it back in again like the way the Smalltalk VMs seem to do, or add the ability to marshal out objects as a memory image of some sort, meaning they can be marshalled out and in really efficiently (ie stuff a true Ruby object into Memcached instead of a string representation of it ...

fendale··on Avi Bryant: MagLev recap
So does that mean that if I had a Dabble DB instance that had many megabytes of data in it, you need enough RAM for the Dabble code plus all my data to be in memory at once (and so on for each customer), or can you do some lazy loading magic to only load part of my data?
fendale··on Avi Bryant: MagLev recap
All this hype about MagLev, OODBs and Smalltalk that has come out of this Rails presentation has got me wondering about how some of this stuff works.

As I understand it, coding in Smalltalk involves developing code in an 'image' that is persisted to disk when you exit (sort of as if it dumps the entire memory contents to disk in a binary form that can be read back in). What sort of applications is Smalltalk suitable for? I know Seaside is a web framework, but a lot of the examples I can find show off more traditional GUI apps.

Does the image approach mean that Smalltalk is not really suitable for quick and dirty sys admin type scripts that you would use Perl or Ruby for?

I am fairly sure that HN doesn't use a traditional DB - and that if I recall PG said that Viaweb didn't either. With Viaweb, when a user logged into their admin console it loaded their environment into a process (and process memory) and kept it there (I think I read that somewhere).

Does that mean that each user had their own Lisp process fired up and kept around, and that data was just kept in process memory (and important stuff persisted to disk somehow)?

What I was thinking then is that if you had a web-app like Basecamp for instance (ie, an Account with no shared data between accounts), would it be technically feasible to have a different Smalltalk image for every single account that is loaded only when that account is being used, with basically all the account data inside the image? I am thinking memory could be a serious limiting factor here!

Sorry for the long rambling post - just trying to get my head around this stuff - hopefully someone on here knows something about it ...

fendale··on To HN: Looking for people to talk to...
Just because everyone else is drunk doesn't mean you have to be too.

Granted if you are sober, a really drunk person can be a pain. However, drunk people don't know you are sober, so you can banter away with them sober or not, but its difficult if you are shy I admit. Its 'just' a matter of putting yourself out there and doing it.

Other good places to meet people is at the gym - take circuits classes, join a sports club of some sort (tennis, biking, swimming, rock climbing ...).

I am pretty shy naturally, but I have met a ton of people at the swimming pool and on nights out (but I do drink a bit too much beer!).

fendale··on Ask YC: Feedback on early version of my startup, a digital whiteboard that doesn't suck
Fantastic - I have been looking for something like that for ages that just works.

I even posted in a thread on there that a 'usable whiteboard' was one of those problems that still needed solving - I reckon you are a long way there - well done.

fendale··on Ask YC: Feedback on early version of my startup, a digital whiteboard that doesn't suck
I actually got how to use the text straight away - Please don't change that to force people to use the tool bar to put it into text mode - that would be very frustrating!
fendale··on The creator of Ruby explains why Ruby sucks
Yes I think so - your example will still print "after the block x is 5", but in that case that probably is what you would expect.

Maybe my head has just gone blank, but I cannot think of a way to get a local called 'x' inside that block that is in scope only within the block.

In Perl you would have done

    my $x = 5;
    foreach my $i in (1..5) {
      my $x = $i;
      ...
    }
And it would have given you a new 'block local' and left your original x alone, but I cannot think of how you can do the equivalent of 'my' in Ruby ...
fendale··on The creator of Ruby explains why Ruby sucks
The major problem with block variables in ruby is that if you do something like

    x = 4
    1.upto(5) do |x|
      puts x
    end
    puts "after the block x is #{x}"
It will print:

    1
    2
    3
    4
    5
   after the block x is 5
That is probably not what you would expect!
fendale··on When did we forget our dreams?
I hope the OP was joking :-/
← PreviousPage 7 of 9Next →