What To Draw and How To Draw It, by Edwin Lutz and available on archive.org, is another good example:
HN user
creature
I'm a British full-stack web developer, currently living in Toronto. I like small companies with social products, helping businesses start building things instead of spinning their wheels, and working with Ruby/JavaScript/Python.
I make programming jokes on Twitter: http://twitter.com/acreature You can find out more on my website: http://alexpounds.com/
Is it possible you're thinking of the Halifax Explosion? That killed hundreds and destroyed a huge portion of the city, but that ship was carrying ammunition.
They were setting up a non-profit arts space. I don't feel like the customer/business relationship is a good fit there.
If a company holds some information internally, and an unauthorised third party surreptitiously obtains that information, wouldn't you call that stealing?
Neither, in this case. Under the GDPR, you'd be expected to reply something like "As described in our privacy policy we use Stripe for processing payments. The data you enter on our checkout is transferred directly to Stripe, and is not stored by us." You're expected to make sure that third parties your company works with are GDPR compliant, but that's just a case of "ensure Stripe's privacy policy reads as GDPR compliant".
Tom Stuart did a seriously great talk about this, which really helped my understanding of monads. You can read it as a blog post, but I recommend watching the video. It's worth finding the time for. https://codon.com/refactoring-ruby-with-monads
There's a number of techniques you can use, but most come back to fundamental principles: keep things small and self-contained as possible, try to decouple elements of your program, try to keep things consistent (and have one standard way of doing things). There's also the craft-level principles too: use a framework (one framework, and use it consistently), write tests for things, leave helpful comments, automate what you can (like code listing, minification, and asset packaging).
Frameworks are a big help – partially for the tools they provide, but also for the consistency. "We have a lot of code, but it's all structured in a standard way" makes things easier to understand. It's also a way of having confidence in the architecture: you know many other people have built successful apps with it, rather than something you've invented yourself.
The concepts in Redux are very appealing to me: your application has one state, and that state gets changed via actions. You have a function that, given a state and an action, produces a new state. Your application can render itself from that state. This makes testing straightforward: your business logic tests boil down to "Given this starting state, and this action, my output state should look like this." Similarly, your UI is now easy to test: "Given this state, my component should render like this," covers displaying information, and "When I interacted with this element, was an action emitted?" covers user interaction. Traditionally hairy areas are now more straightforward: "I need to test with a logged-in user" or "I need to test a successful payment" is all about the data in the state.
Another technique you can use is a publish/subscribe architecture: individual parts of your application publish events, and can subscribe to events they care about. Now, your InboxCounter widget doesn't have to know anything about how messages are received or displayed; as long as it listens for "message:added" and "message:removed" events, it can display an accurate count. Similarly, the AJAX polling for new messages doesn't need to be coupled to the message display or the counters or other elements; it just has to check for new messages, and publish events when new ones are received. This should make it easier to add new components and refactor old ones (as long as you're emitting the same events, nothing else should have to be updated), but it can be hard to figure out what events get emitted, and where they come from. Tests help.
On a much smaller level, using promises instead of callbacks can help reduce "pyramid code" - sections of the codebase with extreme indentation. They also make it easier to handle failure cases; writing "Make these 3 co-dependent AJAX requests, and if any fail then display an error message" will be more concise and clearer with promises.
Finally, don't over-complicate things. Frameworks, dependency injection, and the like add a lot of upfront complexity to a project, but reduce it later on. If all your application needs is an occasional "When X happens, show/hide this DOM element" then simple jQuery event listeners will be a lot quicker to build and easier to understand. Don't build a Swiss watch when what you needed was an egg timer.
I use Siri fairly frequently, but in certain narrowly-defined situations: when I've got my hands full, or am doing something else.
The two that come to mind are when cooking ("Hey Siri, set a timer for 15 minutes") or when I'm trying to get everything together for leaving the house ("Hey Siri, how cold is it outside?"). I'll also use it if my phone's in my pocket, I'm wearing headphones, and it's awkward to get my phone out ("Hey Siri, text Tom." "What do you want to say to Tom?" "I'm running 10 minutes late but will be there soon. Sorry!")
Go to university & get a degree. A degree opens a lot of doors in the future, even if you think it shouldn't matter. That's both simple things like "Getting your CV past a clueless first-screen HR person", and complex things like "Applying for a visa to live/work abroad".
Also, if you're working as a developer already then the first year of university is likely to be straightforward for you. Depending on the hours, you could probably keep the part-time job and study (but out of the two, you should prioritise the study).
Finally, I'd recommend you use your free time in university well. Volunteer for charitable organisations; help out with your student union; take up a sport; keep learning things not on the curriculum. All of these are fulfilling in and of themselves, but will also benefit your future too.
It seems like we're engineering people to be terrible at handling the complexities of interpersonal relationships.
To me, this seems more like "engineering Facebook to be better at handling the complexities of interpersonal relationships." Now we're massively more connected, there's more opportunities for unexpected pain. Features like this can help redress the balance.
In the days before Facebook you knew that unless you were going to your ex's favourite places or hanging out with mutual friends, you weren't likely to run into them or hear about them. But now it's wherever you check Facebook – and even if you're not a heavy Facebook user, millions of people are. As soon as you wake up? Over breakfast? During a slow meeting at work? Waiting for your coffee? There's lots of times when I'd rather not wrestle with those emotions.
It's not about enabling a safe space, or the right not to be offended. It's about giving users more control over the content they see, and giving Facebook more information about whether a breakup was amicable or emotionally devastating (which, in turn, lets Facebook make better decisions about content that should show up in your feed).
Don't forget the thousands of years humanity spent naked. Thankfully, startups are now here to solve that problem.
I don't think there's any suggestion that VW used these techniques, but there are other indicators that could be used. Things like "If the car door or bonnet is open while the engine is running, switch to low-emissions mode", or using the GPS information (a GPS-measured velocity of 0 with an engine running in gear suggests that the car's on rollers).
I've heard stories of cars using these techniques to cheat in tests, but I couldn't find any reliable citations.
FetLife, the kinky social network, is entirely remote.
Your first step is to figure out what elements exclude people. Personally, I think your current activities have strong elements of competition & machismo. There's also a large skill-based component to some of them (it's hard for someone new to computer games to have fun while joining a bunch of experienced gamers playing Halo). So your new activities should favour things that prioritise other elements: non-competitive, accessible to beginners, and not so bro-like. Here's some concrete suggestions:
- Handicrafts. Get some supplies that let people make something. Sculpey, for instance, sell kits that come with clay & instructions (http://www.sculpey.com/product_category/kids-kits/). Creative types can freestyle it; beginners can follow the instructions. Plus everyone gets something they can take home or keep on their desk afterwards as a memento. It doesn't have to be clay - there's many other options like pipe cleaners & fuzzballs, felt cut-outs, picture beads, and origami.
- Learn a skill. If you've got a budget you can hire an outside expert, but you can probably find someone inside the company with a good party trick. Get a magician to teach some basic sleight-of-hand, a juggler to teach juggling, or an entertainer to teach some balloon animals. There's also cookery, improv, flower arranging, astronomy, and many more.
- Play with toys. Find some unusual/expensive items that your attendees can play with throughout the night. An Oculus Rift, a 3D printer, a unicycle, an Apple watch, Google Glass, a photo booth, a double-necked guitar, a Segway, a candyfloss machine, etc.
- Engineering games. Given 1 roll of stickytape and unlimited straws, what's the tallest tower you can build? Given half a pack of blu-tack and unlimited paperclips, what's the widest gap you can span? Given 10 sheets of cardboard & a craft knife, how many coke cans can your structure support?
- Movie night. If you've got a projector, a stereo, and some comfy chairs in your office you're in for a treat.
With the rake tasks, you're better off learning "rake -T" (list all rake tasks that have a description). You can find the one you need in there, and the most common ones will soon sink in via osmosis as you use them regularly.
SEEKING WORK: London, UK or remote
I'm a full-stack developer with nearly a decade of professional experience. I like Ruby, Rails, JavaScript, and Python. Right now I'm looking for a 3-6 month full-time contract, ideally in London. For remote roles I'm available longer-term too.
I spent 4 and a half years at Last.fm, giving me experience in writing code that scales to millions of users. I helped a medical startup rearchitect their code to be testable, more reliable, and extendable. More recently I wrapped up a Rails project for Skype with a tight deadline and non-negotiable scope. Together with one other developer, we delivered it on time and under budget.
My ideal contract would be one of these:
- You're a startup looking for help building your product, developing a roadmap, iterating with customers, and building your permanent team.
- You're in a tight spot and in need of rescue. Maybe you've got too much technical debt. Maybe you've got no tests and no documentation. Maybe you've got no supporting infrastructure and no backups. I'll help you get back to a good place.
- You've got a team you trust, but don't have enough developers right now. You need someone who'll get up to speed quickly, turn up on time, and pull his weight with the rest of the team.
You can find out more about me from my CV and portfolio: http://alexpounds.com/cv http://alexpounds.com/portfolio
And if you'd like to work with me, I'd love to hear from you: http://alexpounds.com/contact
The London Hackspace is one of the biggest in the UK; I'm not sure why you had trouble finding it. It's a dedicated two-floor space in East London that's open 24 hours a day for its 1,000+ paying members.
There's a book, Design for Hackers: http://www.amazon.co.uk/Design-Hackers-Reverse-Engineering-B...
The author also produced a free 12 week email course: http://designforhackers.com/
I think the thing about freelancing is: you're never going to have one source of leads. There'll never be one thing that makes someone think "Yes, I should get in contact with this person," but it all helps create a good impression. Good portfolio demos, useful & well-written blog articles, an active Twitter following/Github account/Stackoverflow profile, talks & engagement with the community, etc will all help. But there's no magic bullet.
In general, you'll probably find that most work comes from you reaching out to people pro-actively. At that point, they're definitely going to check out your website. If you can link them to your best work and give them some well-written blog articles to read, you'll definitely see the benefit in later conversations.
I'm using Feedbin - http://feedbin.com/ . It's got a nice minimal interface and it integrates with iOS apps well. And it's open source, though a) kinda tricky to get up and running and b) the developer isn't too quick with pull requests.
Post-mortems like this are always really enlightening. I'd really like to know more about some areas the author glossed over, though. What were the grey/black tactics they used to get past the initial chicken-and-egg problem? And what change did they introduce that caused a near-revolt of their userbase?
SEEKING WORK - Remote, on European hours
I'm a full stack web developer with nearly a decade of experience. I generally work with Ruby, Python, JavaScript, and/or PHP, but I've used several other languages professionally and would welcome the chance to pick up something new if the project required it. I'm fully booked right now, but am available from the end of June. I generally take on one client at a time, so I'm looking for something full-time or close to it.
I spent 4 years at Last.fm developing software used by millions of people, worked at a similar scale at Sun Microsystems, have helped small teams fix their legacy codebase to escape their technical debt, and mentored developers & businesses. I particularly like small teams/startups, and like shaping the product/business direction too.
You can find out more about me at http://alexpounds.com/cv.
SEEKING WORK - remote, London UK (for now)
I'm a full-stack web developer who mostly uses Ruby/Rails, JavaScript, Python, and PHP. I'm available from the end of June, so I'm interested in hearing from people who are planning for Q3. I live in London, but am moving abroad soon. This means I'd be available in your office for a couple of weeks before switching to remote work.
I spent 4 years at Last.fm developing software used by millions of people, worked at a similar scale at Sun Microsystems, have helped small teams fix their legacy codebase to escape their technical debt, and mentored developers & businesses. I particularly like small teams/startups, and like shaping the product/business direction too.
You can find out more about me at http://alexpounds.com/cv . I'd like to hear from people with firm plans as well as people interested in exploring options.
You can use g; in vim to go back to the last edited place. It's using the changelist to navigate; see :changes for a list.
It depends.
If I want to read/watch something later, then it gets sent to Instapaper. If it's an article/site that I think I might want later, then it gets sent to Pinboard. If I want to quote something, then I post it to Tumblr. I've also got some IFTTT rules set up to save links to pinboard if I favourite on Twitter, post to Tumblr, like on Instapaper, etc. The goal for me is to make Pinboard the central repository of everything I want to remember; other services end up there if it's worth remembering.
Is a cupcake shop making $100k successful? Depends... If he left a $250k legal job to do it, no: the business destroys $150k of wealth every year.
That misses the important point that the business itself has value. You can sell businesses, either to someone who would be quite happy with the $100k, or someone who wants access to the business assets (clients, stores, cupcake recipes, brand, etc).
If you work the legal job for 3 years and earn $250k a year, you'll have $750k. If you build a cupcake business over 3 years, draw $100k in salary from it, and then sell it for $1m, you come out ahead.
This isn't a case of "You can fiddle the arithmetic to make it better"; it's a case of "the business owner is building an asset as well as drawing a salary." If you quit the legal job, you don't get any more money out of it. But if you decide you don't want the cupcake shop any more, you can get dramatically more than a year's salary as a result.
SEEKING WORK - London, UK or remote
I'm a full-stack web developer with a slight focus on the backend and a deep appreciation for product. I'm fluent with PHP, Python, Ruby, and JavaScript as well as all the usual web stuff. Ideally I'd like to work with a small company looking for a medium-term boost in their productivity, or needing some outside guidance on their architecture/product plans.
Most recently I've worked with Silicon Milkroundabout, a company that hosts a jobs fair for startups every 6 months. Because they go dormant between events they don't have any full-time developers. I built new features, extended old ones, and helped the business figure out a longer-term roadmap and kept the product on track. Another recent project is http://nopudding.com/ (which hit the HN frontpage). It's a guide to veggie/vegan places to eat in London, built in Ruby on Rails with a decent chunk of CoffeeScript. It uses responsive design to work nicely on mobiles as well as desktops.
I'm available for an immediate start, though I'm talking to a few people so I don't know how long that will be true for. Ideally I'd like a 2-3 month contract based in an office with the people I'm working with, but I'm happy to work remotely or for a different-length engagement too.
Previous projects: http://alexpounds.com/portfolio
More details about what I do: http://alexpounds.com/cv
Contact info: http://alexpounds.com/contact
Basics of Compiler Design is quite theoretical, but it's available online for free: http://www.diku.dk/~torbenm/Basics/
I'm missing The Gate in Hammersmith, and the one on Drummond Street, but Rasa's definitely on there: http://nopudding.com/london/rasa-stoke-newington-42
I'll try to add more places this weekend. Thanks for the reports!
Thanks for your comments; I'm glad you liked it. I'm adding places that I know & have eaten at, so the data is a little more sparse than it will be. I'm also going to add more "high street" places; I'd like it to be a resource that answers several questions:
* Where can I go for a nice vegetarian/vegan meal? * Where can I go for a nice meal that doesn't exclude my veggie friend? * I'm at place X and I'm starving. Where can I get something vegan to eat nearby?
Personally, I think that London is awesome for veggies & vegans. There's at least 10 specifically vegetarian restaurants that are really nice, and many other hole-in-the-wall places that aren't good for dates but are still serving good food. More and more high street chains are vegan-friendly. More and more places are specifically marking vegan-friendly dishes on their menu. (I also think that the reason that Mildred's has a young, vibrant clientele is because of its location in the heart of Soho, rather than because it's vegetarian.)
My aim isn't to change attitudes towards veganism or vegetarianism; my aim is to make it more accessible. I want to help the newly-vegan person who doesn't know that they can get a quick snack from Wasabi. I want to help the manager who's got a vegetarian staff member and is trying to find somewhere nice for the Christmas meal. And I'm trying to help veggies throughout London find new places to eat, in areas of London that they're not going to be so familiar with.