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 Replacing most of D3.js with pure SVG and AngularJS
Really cool, I'm sure there are projects where this would be very helpful (although I don't see either of Angular or D3 replacing each other any time soon).

The ng-attr-x thing is a neat hack but it's a bit unwieldy. How about adding a d3-svg directive that turns itself into an svg element once Angular is done loading. You can hide it with CSS so it doesn't flash up random garbage on the screen and within it you can use regular SVG attributes.

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

Freelance developer based in Brighton in the UK. I work a lot with Python and JavaScript (Node.JS and browser) to build rich client browser based and mobile apps. I also do hardware based projects, I have experience with coding in Assembly and C on various micro controllers and Arduino development.

I am flexible, resourceful and reliable and I can help you make your ideas into reality.

Some recent projects:

- The software and technical design for a "magic mirror" that was used at London Fashion Week. Behind the scenes it was built with 15 network Raspberry Pis with camera modules. http://www.raspberrypi.org/archives/tag/london-fashion-week

- An iPad app for a medical company for quick lookup of drug interactions. This was built with HTML5 and made use of Angular.JS. I can show you more of this one on request.

- A web app for a training company to provide complete courses online combing video, slides and quiz's.

- Lead developer on a team building a collaboration application featuring a RESTful API and browser and mobile clients. http://thisisdrum.com and see also a talk I have on some of the tech[1]

I can show you more of these on request

Some stuff I've made:

- Listeron, simple email discussion lists. http://listeron.com

- I recently added Generator support to the CoffeeScript compiler: http://almostobsolete.net/coffeescript-generators.html

- A location based app: http://head2.me

- 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

I'd love to talk about your project. 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 Show HN: Simple email discussion lists.
Listeron will modify the reply-to header of mails before forwarding them on. So you just reply to a message and it goes to the list. The from header is left alone so you can still see who each message is from.
almost··on Show HN: Simple email discussion lists.
Whoops, those are on the reserved names now :)
almost··on 'git commit' your favorite coffee place to work in
Add

     .ng-cloak {display: none !important;}
To your css. You've already added the ng-cloak class to your element, angular will remove it once it is done loading.
almost··on What does "HREF" stand for? (2008)
http://stackoverflow.com/questions/391791/whats-with-the-afx...

TL;DR: it stands for Application Framework X (a group at MS responsible for the MFC, Microsoft Foundation Classes, library at some point)

almost··on How Rsync Works
Something that wasn't clear to me right away is that the generator is running on the remote system (assuming a remote transfer) so in the generator -> sender -> receiver bit each -> is data going over the network.
almost··on "I have come to find out what it's like to be dumb."
So in high school you were smart enough that you didn't have to work hard to understand and do well. So you never learnt good study skills or self discipline which, once things got beyond your ability to just understand, became a problem. This seems to be a common problem for smart kids.
almost··on AngularJS 1.2.0-rc1 released
It's not the best but I've actually not had too much trouble with the docs. I found the trick is to read the guides first, once you understand the principles that Angular.JS works on the terse reference docs are much more approachable.

A little linking would go a long way though. For example that ngModel page really needs to link to NgModelController!

almost··on Pixel Shaders: Proposal for an Interactive Introduction to Graphics Programming
That doesn't work for me, not sure why...
almost··on Pixel Shaders: Proposal for an Interactive Introduction to Graphics Programming
This looks fantastic.

One small thing I'd suggest is to show errors in the editor. I changed some things which worked great then I tried some other syntax I thought might work which didn't. The line with the editor went red (good) but there was no way of seeing the exact error (bad).

Another request: a mailing list for updates on the project. I'd love to be emailed when new stuff comes out as I'd like to keep an eye on the project but will probably forget...

almost··on Ask HN: Themeforest let another author steal my design. Any advice?
Have you contacted themeforest yet, what do they say?

Looking at them side by side they look very similar but not the same. Unless they've actually ripped off your HTML or CSS I can't imagine you're going to get very far. I could be totally wrong though.

almost··on Show HN: Where in the world are HN users? (will ask you to share your location)
This is another use of my new location sharing app http://head2.me

You can use any string in the url as the "room" to share your location with, so the story link here links to the "hn" room. Anyone who shares their location in that room will show up on the map. I'm interested to see where HN people are :)

Your old location will be held in memory for up to 30 minutes then discarded. I'm not logging locations (but they are visible to anyone in this room!)

almost··on Show HN: Find your friends with realtime (but temporary) location sharing
That's a really good idea, I'm considering maybe having an explanation of what the site does that displays before it first asks for your location (once you've said no it can be tricky to undo that)

For curious people here: it keeps your location for up to 30 minutes in memory on the server then throws it away. I don't log your location or share it with anyone but those you ask the app to.

almost··on Show HN: Find your friends with realtime (but temporary) location sharing
Your last location will be visible for about 30 minutes after you close the page. But if you leave it open then it'll carry on updating for as long as you like.
almost··on Show HN: Find your friends with realtime (but temporary) location sharing
I just added the tutorial to explain how the app works. Feedback very much appreciated!
almost··on Ask HN: Does mobiles supports websockets?
http://caniuse.com/#search=websockets

Looks like iPhone does but the Android browser doesn't. You may want to use a library that provides fallbacks like http://socket.io which works fine on mobile (I'm using it on my new app at http://head2.me )

almost··on Ask HN: Freelancer? Seeking freelancer? (August 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 stuff I've made

- I recently added Generator support to the CoffeeScript compiler: http://almostobsolete.net/coffeescript-generators.html

- A location based app I wrote last weekend: http://head2.me

- 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 [dead]
Please review my new app! It's meant for when you're trying to meet up with someone, just send them a link and you can both see each other in realtime on the map.

Comments and suggestions gratefully received!

A semi-secret feature is that you can put any ID in the url, you don't just have to use the random one it gives you. This might melt the server but let's see where some hacker news people are:

http://head2.me/hn

almost··on Solve one of the worlds major health issues: $4000
Sounds like they want the software AND the hardware developed for that figure. No problem :)
almost··on Generator (yield keyword) support in CoffeeScript for Node.js
It's possible using two techniques called continuation passing transform and trampolines[1]. The downside is that the produced code would be a bit ugly and one of coffeescript's selling points has always been that it produces sensible code.

[1]: http://en.m.wikipedia.org/wiki/Trampoline_(computing)

almost··on Generator (yield keyword) support in CoffeeScript for Node.js
Yes, both updates happened after that comment. In fact that comment provided a little extra motivation for me to get those extra features done :)
almost··on Generator (yield keyword) support in CoffeeScript for Node.js
I've found one problem with that syntax: people use variables named "from" quite a lot in code already (including all over the coffeescript source)
almost··on Generator (yield keyword) support in CoffeeScript for Node.js
I just added yieldfrom (like yield* in ES6, includes the output of one generator in that of another) support in a separate branch:

https://github.com/almost/coffee-script/commit/67f2347685b45...

almost··on Generator (yield keyword) support in CoffeeScript for Node.js
I honestly don't know, this was just a quick hack this morning while I had a hangover :) I think it's good to have the conversation though!
almost··on Generator (yield keyword) support in CoffeeScript for Node.js
Yes it does.

If you did want a generator that didn't yield anything I guess you could write:

    myEmptyGen = ->
      yield if false
Which is pretty ugly, but it's not something I've needed to do often with generators (in Python at least)
almost··on Generator (yield keyword) support in CoffeeScript for Node.js
CoffeeScript already has an of operator (like js in) and an in operator (array like iteration) neither of which could easily be made to both (I think). So we'd probably need a new name. Once "of" is in V8 we can compile to it directly though.
almost··on Generator (yield keyword) support in CoffeeScript for Node.js
Good idea, I'll see if I can add that.

I've almost got yieldfrom working...

almost··on Generator (yield keyword) support in CoffeeScript for Node.js
Definitely agree with need for iteration syntax and yieldfrom keyword. The iteration syntax will probably have be something different than "for a in b" because that's already used for array-like iteration and adding another case would slow existing code down (all of which wouldn't be using it of course). For yieldfrom the code it needs to generate is something like this:

    var generator = g1(), result = {}, send;
    while(!result.done) {
        result = generator.send(send);
        send = yield result.value;
    }
almost··on Card management API
Go Stripe! Now if you could just start support USD payments for UK merchants (without a US bank account) you'd make me really super happy. Integrating Stripe is a pleasure and if I never have to deal with PayPal ever again that would be nice :)
← PreviousPage 7 of 34Next →