HNHacker News
TopNewBestAskShowJobs

lifebeyondfife

536 karma · joined November 24, 2011

Life Beyond Fife is my tech blog where I write random articles and applications about all sorts of software development subjects. http://lifebeyondfife.com/
submissionscomments
lifebeyondfife··on Why Minds Are Not Like Computers (2009)
I'd take the argument to the physical level. Do we know how the brain works? To some degree, yes. Neural networks: nodes, weights and activation functions.

If one day we can map exactly an animal brain's architecture, how new ideas are learned etc. (is it backwards propagation or something else?) then we can replicate that behaviour using logic gates and floating point numbers.

Mapping a brain to a digital neural network architecture is such a prohibitively expensive problem I wouldn't know where to begin. Perhaps a biologist would have a better idea than a computer scientist. But it's enough to say that intelligence can theoretically exist on electronic circuits.

lifebeyondfife··on The sierpinski triangle page to end most sierpinski triangle pages
This is certainly more detailed than mine but I also have a blog post (http://lifebeyondfife.com/87-beauty-html/) documenting three different methods and the JavaScript code to make these in an HTML5 canvas on GitHub: https://github.com/lifebeyondfife/Sierpinski.

EDIT: After going back for a further look, saying that the original link is more detailed than mine doesn't do justice to the amount of content (images, animations, code, explanations) there actually is.

lifebeyondfife··on Tech Job Scotland
As jeffbr states, look at the policies of the SNP before unfairly categorising them. Scotland just voted in equal marriage for same-sex couples with the First Minister of Scotland, and leader of the SNP, strongly in favour. It really isn't a prejudiced or authoritarian nationalist party and has a record to back that up.
lifebeyondfife··on Tech Job Scotland
Was there last week. Barely room to move and plenty of tech companies hiring.
lifebeyondfife··on Tech Job Scotland
I grew up in small town Scotland with an English accent and can report that in pockets of Scotland there is certainly blatant, out and out racism.

But in the cities and as an adult, I really don't see it as an issue anymore. I work for one of the companies sponsoring the event and I see probably about as many foreign employees (English and other European and world nationalities) as there are Scots.

I think most countries will always have some pockets of racism because some people will always be ignorant. So I'm not absolving my country entirely, nor saying the anti-English sentiment no longer exists, but I don't see it as the big problem it used to be.

lifebeyondfife··on "But It Doesn't Mean Anything" – A demonstration of the value of computer code
I too dislike the obsession with learning to code because, unless you're doing it volutarily and letting your own passion guide you to backfill missing bits of knowledge, it becomes a rote learning exercise devoid of understanding. As you state, the focus isn't on how to solve problems which is the raison d'etre of programming so the effort is wasted.

The problem I see is that we treat computer science as something you eventually get round to learning once you've already taken some preliminary steps with coding, and even then it's something to be looked at late into high school or at university. Code is the awesome tool that motivates learning, but I wonder if the process is taught the wrong way round. Could it be done a little compsci first, then code?

I started a series of blog posts trying to introduce the non-technical reader to the fundamentals of computer science in plain english: http://lifebeyondfife.com/tag/compsci-in-plain-english/. Still a work in progress, I'm trying to keep it interesting and explain why computer science is important at the same time.

lifebeyondfife··on P versus NP Explained
From a technical standpoint I agree with you - the exact nature of P and NP problem classes should be explained. Here, the initials aren't even defined.

But for coders who've never seen problem classification theory before (not Big O notation), the subject can appear opaque and irrelevant. I'm all for simplified introductions that help those less familiar with formal computer science become more aware of the theoretical side.

lifebeyondfife··on P versus NP Explained
Good concise explanation. For those who missed it a few months back, I wrote a blog post which contained an explanation of NP and, more importantly, why it's important for programmers to recognise NP problems.

The section headings 'Understanding NP-complete completely useless?' and 'Recognising NP-complete problems' are the most relevant. http://lifebeyondfife.com/helping/

lifebeyondfife··on Scotland's Eigg island to become completely self-sufficient in renewable energy
Article mentions The Pictish Trail (@PictishTrail) but omits his recently launched record label run from Eigg - http://lostmap.com/about/

Disclaimer: He's a friend and former bandmate from uni. His music is awesome.

lifebeyondfife··on Helping a stranger, and why you should understand NP-complete
I see what you mean. Thanks for taking the time out to nitpick.
lifebeyondfife··on Helping a stranger, and why you should understand NP-complete
That's why I said "(randomised)". The worst case occurs when the list to be sorted is already ordered and you select the head of the list as the pivot point.

Even though other algorithms such as Mergesort also have O(nlogn), Quicksort is normally the preferred implementation because it's relatively easy to do in-place and generally is the most efficient[1] of all the sorting algorithms.

[1]Not my field of expertise though, happy to be told I'm wrong.

lifebeyondfife··on Helping a stranger, and why you should understand NP-complete
Yep, totally agree - it gets so much worse. I don't recall going much further than NP hard in my undergraduate courses but another guy I did my PhD with was a researcher into QSAT which is PSPACE-complete (fails the "verify a token in polynomial time" condition of NP-complete).

There are so many different complexity classes, P and NP are just the start.

lifebeyondfife··on Helping a stranger, and why you should understand NP-complete
I ummed and ahhed over it. Really it's two posts, one about helping someone out and another about NP-complete problems in the wild. Thought I'd go with the Hacker News angle for Hacker News (hopefully to encourage / keep up the helping).
lifebeyondfife··on Post-mortem of a Dead-on-Arrival SaaS Product
Obviously it depends on your exit strategy. Do you want to (a) get a loss making but huge user base or (b) bootstrap a business that has cashflows from day 1?

Sounds like that advice applies more to the latter route than the former.

lifebeyondfife··on Post-mortem of a Dead-on-Arrival SaaS Product
I likewise performed a detailed dissection of my previous failed website on my blog - very therapeutic. It still has one fairly regular user (me!) so I keep it going but I launched in much the same way: built it silently then managed to get about 10k+ visitors through HN. Only a few hundred gave it a go initially and within a fortnight or so, no tangible traffic at all.

Great learning experience though, and this post is a reminder to me to make sure I don't repeat the same mistake.

lifebeyondfife··on Privacy not Prism – UK legal challenge
CSS font family defaults should be sensible. I thought the Comic Sans looked unprofessional until you pointed out that NoScript was blocking a dynamic font.
lifebeyondfife··on Minecrafting with OS OpenData
Oh agreed. Perhaps though because Liberty City wasn't a true fantasy land but a large scale imagining of, essentially, a city made to look like New York, it got me thinking about playing a game in a location I already knew in real life.

I could talk about how I love the land of Hyrule, but I'd also like to play a game based in the city streets and countryside of my own country too.

lifebeyondfife··on Minecrafting with OS OpenData
I realised after playing GTA 3 that I knew the streets of Liberty City - it was a real location in my head that I could visualise and navigate. I suspected that playing games in real world locations was going to be a big thing in the future.

So I blogged about it http://lifebeyondfife.com/81-real-games-html/ (I'm not a game developer and had other things to work on). Excited to see others are getting closer.

lifebeyondfife··on How to Make a Complete Map of Every Thought you Think (2003)
"...I think you'll overlook it's obvious flaws..."

Incorrect apostrophe, Aaaaaaargh!

lifebeyondfife··on UK Universities forge MOOC alliance & launch with 20 free courses
I just came to post this link myself so I'll +1 instead. Really glad to see this happening - I recently blogged about how financially unsustainable the future of the current UK university system is and how MOOCs are the future http://lifebeyondfife.com/the-future-of-education/
lifebeyondfife··on 'Titstare' app at TechCrunch: women in tech deserve better
I totally understand this (and jnardiello and pstack's points too). As a counterpoint, I also know of at least one female dev who would think nothing of discussing an app like the one above and joining in the laughs.

I suppose the problem is, do we need to vet everyone for sharing the same humour and standards of acceptability as us? If we're joining the same football team or going to a comedy club and some beers, I wouldn't particularly enjoy hanging out with someone as dull/safe as I am at work. But is it ok to say to a woman, "We'd love to welcome you onboard so long as you don't mind the dick jokes constantly flying around the office."? (Whether explicitly or implicitly, I don't think it is ok).

If we really want to solve the clique-problem in tech, we need to either change the boundaries of acceptable humour and behaviour. No-one wants to spend 8 hours a day in a "sterile humorless environment". I know I had the most fun coding in my early 20s in an office where 90% of us were just out of university and male.

There are going to be more tradeoffs towards inclusiveness as we go forward. Even it reduces the fun sometimes, I think it's the right thing to do.

lifebeyondfife··on 'Titstare' app at TechCrunch: women in tech deserve better
You need to learn that what is considered (possibly socially) acceptable behaviour amongst your friends, is not necessarily acceptable in the workplace.

If you want a definition of the workplace, it includes hacker meetups, youtube videos, presentations etc. where people of all social groups come together to discuss or create code. I have a very twisted sense of humour that many would find offensive. At work though I keep that side of myself under wraps, not out of a sense of fear but of respect.

The bottom line is this: by collectively changing our behaviour to be less offensive (from the point of view of gender, sexuality, race, religion etc.) then people from those groups feel more safe and secure in that environment. If women truly felt comfortable to enter into the currently male dominated tech industry we get a bigger talent pool to choose from - the competition and skillset increases. Now re-read that sentence substituting 'women' and 'male dominated' with any minority/majority pairing and we start to see how much bigger we can make the number of available programmers.

It may seem dull to have a workplace that's so sterile and inoffensively humourless, but it's work, not a bar.

lifebeyondfife··on Crosswords don’t make you clever
An example: Calcium is required for good bone strength/density. However, Vitamin D deficiencies mean the body can't absorb enough calcium.

With regard to the "natural vs supplement" argument, some people are very pale and susceptible to skin cancer. It may not be safe for everyone to get enough Vitamin D through natural means alone.

lifebeyondfife··on Rewriting a large production system in Go
Even in the 2010s I've found proponents of the UNIX console style of programming because, as you say, they can be dropped in front of any similar system and off they go.

However, tools improve and you're denying yourself productivity benefits. One of the advantages of a statically typed language is that the computer knows the type of the arguments. I love environments that allow me to 'mouse over' a function or variable etc. and tell me exactly what it is (and allow me to navigate to its definition). You don't have to use a mouse but what's the disadvantage in having alternatives to keyboard shortcuts where appropriate?

lifebeyondfife··on Proven practices for more effective, efficient peer code review
I've used CodeCollaborator (the SmartBear software plugged at the end of the post) and found it to be a good tool for doing multi-site code reviews. It's straightforward to use; web based; the default diff tool is reasonable; you can specify suggestions or bugs i.e. "I think you should change this line" versus "This line needs to be changed".

IBM stuff, however... well, I've mentioned my feelings on their software on HN before. They're still selling Lotus Notes and Clearcase - I'd be very careful before taking anything they've built/bought.

lifebeyondfife··on The Recomputation Manifesto
I agree completely. From my experience, because of things like the nasty omitted details mentioned in the parent comment, techniques are rarely reimplemented unless they claim pretty substantial improvements.

I think having a starting point of reproduceability would lead to more reimplementations.

lifebeyondfife··on The Recomputation Manifesto
>Agree with your hypervisor/architecture point but I suppose there has to be some broad architectural choice made.

There's a risk that the VM platform decision could date and, ultimately, render useless an experiment sandbox.

However, two points. Firstly, any attempt to wholly encapsulate an experiment will be susceptible to problems concerning the technology choices made. By choosing the abstraction at a VM level, you're more likely to get a better number of years out of your choice than picking specific programming languages (which I contend would fail to gain adoption as researchers wouldn't change their obscure toolkit if they felt it was the right one for their research).

Secondly, even a VM for an obsolete architecture is better than what we have today - the original paper and perhaps an email address for the lead author.

lifebeyondfife··on The Recomputation Manifesto
For certain research problems, different and often obscure tool sets are required. That, to me, is a great argument behind recreating everything your environment needs in a VM - unlike Chemists who can't bundle up their lab into a little transportable box, Computer Scientists can.

In making the argument for recomputation to aid its adoption, it's important not to add too many constraints on the researcher e.g. "Your results should be reproduceable and written in C because it should still be around ten years from now."

Even an obsolete language in a working VM sandbox can be edited and inspected to make changes, verify correctness etc. If you want to extend the results of that research you may have a porting project to update the code to more a current language, but that's leaps and bounds ahead of how things are now: read and re-read the paper until it makes sense and implement the algorithms from scratch.

Agree with your hypervisor/architecture point but I suppose there has to be some broad architectural choice made.

(The author of this article was my PhD supervisor. I've always found him to be an inspiring, forward thinking researcher so as much as I love the recomputation idea on merit, I'm also a little biased.)

lifebeyondfife··on A CP Solution for XKCD NP Complete Restaurant Order
From the similarity of our answers below I see we've got a similar understanding of constraint programming.

For loosely constrained problems, yes, constraint programming will enumerate exponential combinations and that's not a good fit for this methodology. The point I was trying to guard against is that the solver isn't smart and therefore when asking, "Is it smart enought to know X?", I'd say it depends.

If the solver in question has some decent bounds propagation on the six or so binary arithmetic constraints in the problem, then no, it won't enumerate all 1001^6 combinations (assuming domains of size 1001).

A more helpful answer from me would have been, "It's unknown if it's smart enough, but the more constrained i.e. the more combinations your constraints reject, the better".

Seeing as there were four solutions out of 1.8 million states (in the domains of size 11 example), that's very constrained.

lifebeyondfife··on A CP Solution for XKCD NP Complete Restaurant Order
Are you proposing to write a simple constraint solver in C? If it's specific to your problem i.e. not too general, it's not the craziest idea I've ever heard.

I don't mind fielding questions over the basic theory if you want to email me (iain at my domain).

← PreviousPage 3 of 5Next →