HNHacker News
TopNewBestAskShowJobs

almost

3,572 karma · joined August 15, 2007

tom at almostobsolete net

http://almostobsolete.net/ (Geeky website stuff) http://tomparslow.co.uk/ (Freelancer portfolio stuff)

I'm a freelance programmer in Brighton in the UK. I work in lots of languages but I seem to use Python and JavaScript the most. I spend most of my time working from a Brighton co-working space called The Skiff (http://theskiff.org/) which is very nice.

I was on Twitter @almostobsolete but who uses Twitter anymore?

Find me on Mastodon at @almostobsolete@mastodon.me.uk or on Bluesky at https://bsky.app/profile/almostobsolete.net

submissionscomments
almost··on Ask HN: I'm quadriplegic – can you help me with my security?
He can type things using dictation and that would presumably let him log into the VM, his problem is that the dictation won't work for the OSX lock screen.

The idea probably has some other practical problems though.

almost··on Shit for Making Websites
Oh wow, Duet (project management app, http://duetapp.com ) is exactly what I've been looking for. This is going to make my life so much easier!

I'm buying it right now.

almost··on Ask HN: Freelancer? Seeking freelancer? (June 2013)
SEEKING WORK - Brighton, UK. London, UK. Remote.

Freelance developer based in the Brighton in the UK. I can travel to London but I usually prefer to work remotely.

I love working on MVPs and prototypes. I'd love to help you turn your idea into reality.

I work in a range of languages but I usually choose Python when I have a choice. I also do a lot of work in JavaScript. I have a range of skills from web development to computer vision. I can help with Rich JavaScript Applications and RESTful API design (see a talk I gave on the subjects here[1]). I've been enjoying AngularJS recently, it makes some things very easy and is a nice contrast with Backbone.JS (which I also still use for other things).

A very non-exhaustive list of technologies I have built real things with (and enjoyed): Python, JavaScript, Django, Node.JS, Backbone.JS, AngularJS, OpenCV.

Some samples of my code:

- An open source JavaScript library I wrote: https://github.com/dharmafly/jsonpatch.js

- The Amazon Glacier support I contributed to Boto (popular Python library): https://github.com/almost/boto/tree/glacier/boto/glacier

Please do get in touch!

Web: http://almostobsolete.net/

Github: https://github.com/almost

Email: tom@almostobsolete.net

Phone: +44 (0) 7951261227

[1] http://asyncjs.com/hypermedia/

almost··on You are dangerously bad at cryptography
I didn't know about Matasano's Crypto challenges. Looks like fun, going to give it a try!

http://www.matasano.com/articles/crypto-challenges/

almost··on Send money with Gmail
Is there any chance of getting your Gmail account shut down because of suspicious transactions etc with wallet? I understand that with a service like wallet Google will need to shut down accounts that look like they might be fraudulent (even though often it might turn out not to be) but it would be good to have a guarantee that they won't take the Gmail account down with it.
almost··on Depression Part Two
Honestly that sounds like depression as well. I've definitely felt like that in the past but I don't have any answers about why or how to change it. Things do have a tendency to change though.
almost··on Ask HN: Quick Ways To Make Money As a Web Dev
Best way to quickly make money as a web dev is to be paid to write code :) you could start by making yourself contactable here (there's no email in your profile)
almost··on Ask HN: Quick Ways To Make Money As a Web Dev
That is a great way to find some extra work but I've found it only works well if you post within a few hours of the thread starting. Watch out for it on the 1st of every month!
almost··on Why is processing a sorted array faster than an unsorted array?
The updates on the first answer are also good. Intel's C compiler does some crazy optimising!
almost··on JSON API
> This functionality was extracted out of a general purpose framework used by a number of applications that made heavy use of it

That's exactly it! This looks like a sensible design for an API served from rails and consumed by Ember.JS. It's just over selling it a bit to imply that this should be how all JSON APIs should be.

almost··on JSON API
Exactly the oposite, I don't want a scheme that's tied to assumptions based on relational databases.
almost··on JSON API
You've just summed up what bothers me about this format.
almost··on JSON API
The thing is that "JSON API" was not available, it's already in common use to describe APIs that use JSON. "HAL" is totally not the same, it's clearly a name chosen to not conflict with existing terminology.

The proper layer for caching is HTTP, do we really want to end up with duplicated overlapping functionality between the layers? I see you have an application specific need for a certain thing but I don't think it generalises enough.

A few other things I noticed:

- There's no name spaceing of your special properties, they're just mixed up with the domain-specific properties. So I can't have a property of my object named "rel" and worse still you can't ever add features to the spec without breaking backwards compatibility.

- No type information in items, which kind of breaks automatic caching.

- Multiple entities returned for a URL with no indication as to which is the main one represented by that URL and which are just extra associated ones.

almost··on JSON API
I think it's great that we're talking about standardising how we build RESTful JSON APIS. However I don't think this has got it quite right yet.

What's the reason for the top level rel? It seems like it's just there to stop the urls from being repeated and to save space, but isn't that what gzip is for? Why complicate the data format and require all that extra logic and gzip would remove most of the redundancy before transmission anyway?

Also the name is a bit of an annoying land grab. It'll make it hard to talk about JSON APIs without getting them confused with JSON APIs that specifically use "JSON API".

Lastly, it really seems based on a rails active record style data store, it's assuming ids are the most important thing and that links are all relations that point to other objects within the system. Proper hyperlinks and point anywhere and can link together disperate systems which don't necessarily all use the exact same formats.

almost··on A non-magical introduction to pip and virtualenv for Python beginners
Definitely worth using as an experienced Python person. But you can skip a lot of confusion with new Python developers by waiting until later to introduce it :)
almost··on A non-magical introduction to pip and virtualenv for Python beginners
Virtual envs don't relocate well, they tend to be very specific to machine and even install location. Plus you can recreate them from your requirements.txt file so there's no need.

Just add the env directory to your .gitignore

almost··on A non-magical introduction to pip and virtualenv for Python beginners
If you're in Brighton in the UK and you like this then maybe you'll be interested in the one day workshop run by Jamie (author of the blog post) and myself. This post was actually based on some of the material written by Jamie for the course.

Next one is happening next Thursday and there are still a couple of tickets:

http://dabapps.com/services/training/python-for-programmers

almost··on What is the rule for adjective order?
#1 Would suggest to me a lawyer who is Chinese and specialises in vegetarians someone while #2 would suggest a layer who is Chinese (or who deals in Chinese laws) and is a vegetarian.

Maybe just me?

almost··on What's Going On (on "Why Python, Ruby, and Javascript are Slow")
It's not quite the same but some of the use cases (and a bunch of other stuff) would be covered by numpy arrays. You can create multiple views on the same in memory data with different start and end points and different strides.
almost··on Collaborative chat done right
Please consider changing the name, it implies something that isn't true (that it's a web interface to Jabber) which is really annoying.

Plus the Jabber trademark is owned by a company, so you'll probably have to change it anyway.

almost··on How can we get Google Support?
This is why I'm working on a mailing list service to replace Google Groups. We're just finishing off things at the moment but maybe we can help you? We're planning on giving free accounts for open source software projects. Email me if you're interested: tom@almostobsolete.net
almost··on Ask HN: What should I do?
Wow man, you are sooo underpaid. I know there are a hundred other comments telling you that but just thought I'd add to them. Know this, there are loads of companies out there that REALLY want to hire you, it's hard to hire programmers at double your current salary.

Just tell people about the stammer, you'll find plenty who will understand and be accommodating.

Check out the monthly "Who's hiring" threads on here as well, the latest was posted yesterday:

https://news.ycombinator.com/item?id=5472746

Go contact some likely looking positions on there right now! Seriously, you're a programmer, programmers are really in demand right now. You can and will find something better.

Also, fuck your current employer, how dare they take advantage of that to pay you so little.

Good luck! Why not let us know how it went when you've had try...

almost··on Ask HN: Freelancer? Seeking freelancer? (April 2013)
SEEKING WORK - Brighton, UK. London, UK. Remote.

Freelance developer based in the Brighton in the UK. I can travel to London but I usually prefer to work remotely.

I love helping to produce MVPs and prototypes. I'd love to help you turn your idea into reality. I work in a range of languages but I usually choose Python when I have a choice, I also do a lot of work in JavaScript. I have a range of skills from web development to computer vision. I can also help with Rich JavaScript Applications and RESTful API design (see a talk I gave on the subjects here[1]). I've also been doing some Natural Language Processing things recently with NLTK in Python, so if you have needs in that area do get in touch.

A very non-exhaustive list of technologies I have built real things with (and enjoyed): Python, JavaScript, Django, Node.JS, Backbone.JS, AngularJS, OpenCV.

Please do get in touch!

Web: http://almostobsolete.net/

Github: https://github.com/almost

Email: tom@almostobsolete.net

[1] http://asyncjs.com/hypermedia/

almost··on "Getting started with Ember.Js is easy." - No it isn't
Yes, that immediately turns me off the project. This is great feedback and not at all rude, I wish I could get feedback like this for my projects!
almost··on Mailbox Is Joining Dropbox
It's not good for your use case apparently. Your use case isn't the same as most people's use case. Simple :)
almost··on CoffeeScript 1.6.0 released with support for source maps
This isn't new, CoffeeScript has included this for a while.

One thing to keep in mind is that Cake is tiny, the complete source shouldn't take more than a minute or 2 to read and understand[1] and is a nice example of CoffeeScript style.

[1]: http://coffeescript.org/documentation/docs/cake.html

almost··on Stripe launches beta in the UK
Email sent, super excited! :)
almost··on The second-order-diff Git trick
That's good advice for a lot of situations but it depends if your "sledgehammer" is assuming a certain starting condition.

In the authors example if he got it wrong and it replaced a load of non-links with links then running it again on the output of the first run isn't going to do any good. So he's suggesting replacing "git reset" with "git stash", both reset the repo to the way it was pre-sledgehammer but "git stash" also keeps around the previous results for comparison.

almost··on Markdown.css – make HTML look like plain-text
This is cool :) I do a similar thing on my site[1]to make it look like Org-mode files (which is what I use to write it). I enjoy the fact that so much processing goes into making it look just like it did to begin with :p

1: http://almostobsolete.net

almost··on Django REST framework 2.2 released
It supports cookie auth for the browse-able web interface it makes available for APIs. It's optional though and it also supports HTTP auth and other auth styles as well I think.
← PreviousPage 8 of 34Next →