Simon Willison’s Weblog

Subscribe
Atom feed

Entries

Filters: Sorted by date

What are the best practices for onboarding new software engineers?

I’m a huge fan of “deploy on the first day”—which forces the issue in getting all of their accounts set up, their development environment ready, showing them where source control is, how code review works and so on. Even if it’s just adding themselves to the about page or humans.txt file, it means they can come in on day two ready to get real work done.

[... 106 words]

How can I practice giving presentations / public speaking?

Look out for opportunities to practice in front of a friendly audience. There are two event formats that are particularly good for this.

[... 238 words]

To become a better developer ? To read more OR to create/contribute to open source projects?

Contribute to an existing project, rather than starting one yourself. There are a bunch of benefits:

[... 231 words]

What are the ways to get your links expand in Twitter inline?

This feature is called Twitter Cards - you need to add some metadata to your pages, then apply to Twitter for inclusion in the program (they currently operate a whitelist of sites). See the documentation for more details.

[... 57 words]

How do I learn how to write a javascript framework?

First, spend a few years writing JavaScript without using a framework. That should ensure you have a deep understanding of both what problems you want to solve and how you can solve them!

[... 49 words]

What are some apps, problems you would suggest to solve a new python developer?

The best way to learn python in my opinion is using the interactive prompt. Install ipython (a massive improvement on the standard python shell) and use it to interactively solve some simple tasks—things like downloading a CSV file from the web using the urllib library, parsing it with the csv module, then poking around in the data using python list comprehensions and saving some of the results out to a JSON file.

[... 95 words]

Is there a way to uniquely identify the device of the user that are connecting to a web app or a website?

If the device is a mobile phone running an app it’s very easy to create a permanent identifier for the application/device—it can be generated once the first time the user runs the app, stored locally and then passed to Facebook with every future request. Think of it like a browser cookie, but unlike browsers the app developer can ensure the cookie is never deleted once it has been created.

[... 99 words]

What are the top Apps/Mobile conferences & events for 2013?

The biggest is still Mobile World Congress in Barcelona in February—tens of thousands of attendees and representatives from pretty much every mobile company.

[... 68 words]

How do media outlets get the presidential election results that they report?

When I was working for the Lawrence Journal-World newspaper in Lawrence, Kansas back in 2004 the results were compiled at city hall and made available to reporters / other concerned parties via FTP in a terrifying CSV format. I don’t know if the technology has evolved much since then, but I wouldn’t be surprised if it was much the same today.

[... 79 words]

Events (leisure): What would you think of a conference that had longer hours?

I agree with Lenny Martin, for most events this would just be too long. There’s one exception: events that provide a sit-down dinner and have a talk during that dinner. PyCon UK in Birmingham have done this in the past and it was great—the conference itself ended around 6pm, you have an hour and a half to yourself, then you sit down for a banquet-style meal at 7:30pm with the other attendees. Their dinner speaker was a local historian talking about the science history of the local area, which was a really nice complement to the rest of the conference.

[... 122 words]

Are there any live event ticketing options that are using the Kickstarter model?

Kickstarter itself can be used in this way—the recent XOXO conference in Portland was funded through Kickstarter in exactly the way you describe: http://www.kickstarter.com/proje...

[... 46 words]

What should everyone know about Oxford?

The Pitt Rivers museum (tucked away at the back of the excellent Natural History museum) is an absolute gem—a proper Indiana Jones style collection of weird and wonderful assorted cultural artefacts tucked in to beautiful cramped old wooden cabinets. Don’t forget to have a look in all of the drawers!

[... 64 words]

What conferences has Mark Zuckerberg attended in the past?

It’s by no means comprehensive, but we have a list of 15 events Mark has spoken at on Lanyrd (with videos from 10 of them) http://lanyrd.com/profile/finkd/

[... 42 words]

What communities and interest groups in London should software developers get involved in?

The monthly Hacker News London Meetup Group (held near Old Street) is a great opportunity to meet up with entrepreneurial-minded hackers—the talks are usually a good combination of technical and startup/entrepreneur material, and it attracts a really interesting crowd.

[... 61 words]

Django (web framework): What is the recommended way to cache objects that are very large (>1.5MB)?

Take a look at redis—it can handle binary strings up to 512 MB and has performance that is similar to memcache. It’s very easy to use from within Django (there’s even a pluggable cache backend for it).

[... 61 words]

How does a front end developer avoid getting blamed?

It is your fault. Part of being a good front-end engineer is knowing the ways in which a page might break and working with your team to mitigate them.

[... 138 words]

Can you mark items on a website as ’unread’ without cookies?

It’s not very exciting, but CSS will let you set different styles for visited vs unvisited links and the technique has worked reliably since the mid 1990s.

[... 44 words]

How should one go about designing a simple web based collaborative text editor?

Take a look at the open source ShareJS library, which implements a bunch of the fundamental (and extremely tricky) algorithms you need to get collaborative editing in the browser to work well: https://github.com/josephg/ShareJS/

[... 53 words]

How can I keep my website content exclusive?

No, there isn’t—people can always copy things if they really want to, it’s part of the cost of doing business. If you were to publish a book people could always photocopy it.

[... 108 words]

How do I get out of being on panel at SXSW?

People drop out of panels all the time—it’s not a big problem, provided you give the organizers a good amount of notice so they can find a suitable replacement. Let the panel organiser know ASAP. Even better: offer to help them find a replacement panelist.

[... 64 words]

Any source available to download sample data (in 10+ GB) for testing?

Wikipedia has some pretty interesting dumps, in both XML and SQL format: http://meta.wikimedia.org/wiki/I...

[... 100 words]

How can I learn more about server-side technologies?

Get yourself a VPS, set it up from scratch and run some non-critical websites on it (nothing with private user data since you can’t be sure you’ll set it up securely). Both Slicehost and Linode offer a good set of guides to a whole host of common tasks:

[... 109 words]

What are some major tech conferences that offer student fellowships/discounts?

Many conferences will give you a %100 discount if you offer to help out on the day of the event—it’s always worth asking, especially if you have built up a reputation as a reliable event volunteer.

[... 54 words]

Why are web applications more popular than desktop applications with investors?

How often do you install a new desktop application? How often do you try out a new web application?

[... 36 words]

Is it even possible to think of a new idea? Anything that I think of has either been done, or someone is doing it. How do you keep yourself motivated enough to pursue it?

A lot of the time it’s not just about the idea, it’s also about timing. There are plenty of ideas which have failed in the past but could succeed if tried again today. A few things to consider:

[... 180 words]

What recommendations are there for conference venues in London for between 50-100 people?

The Magic Circle offer a small, intimate venue with some great history. They are just behind Euston Station. They can seat 150 people. http://themagiccirclevenue.co.uk/

[... 44 words]

NoSQL: Whats the simplest on disk key-value storage?

Surprisingly there doesn’t seem to be an obvious answer to this. Here are a few options:

[... 164 words]

What are some fun, interesting things to do or see in the Islington area?

There’s an awesome old post office building hidden behind the Almeida theatre. It’s an enormous, faded and broken multi-storey warehouse taking up a full city block. I’m fascinated by it—it’s such a huge, grand looking building and it’s clearly now deserted. I think there might be a project to turn it in to flats, but it’s absolutely worth taking a peek to catch it in its run-down glory: https://maps.google.co.uk/?ll=51...—best place to see it from is Almeida Street (here’s a glimpse of it on streetview, doesn’t really capture how grand it is though: https://maps.google.co.uk/?ll=51... )

[... 120 words]

What is the scope, as a career, for a Python developer?

Don’t be an “X developer”. You’re selling yourself short if you define yourself by the technology you most frequently use.

[... 169 words]

What are the differences between node.js and websockets?

This is like asking “what’s the difference between PHP and HTTP”. Node.js is a technology framework you write code in. WebSockets is a protocol which can be implemented using a technology framework. You can use Node.js to implement the server-side aspect of WebSockets.

[... 57 words]