Simon Willison’s Weblog

Items tagged programming in 2013

Filters: Year: 2013 × programming ×


Is there an application like Duolingo, but for math?

Khan Academy have a points, levels and achievements system for mathematics that is similar to the method used by duolingo.

[... 35 words]

Is there a substantial difference between using a Mac or a Windows machine for web development (particularly RoR)?

No matter if you are on Mac or Windows you should be using a Linux virtual machine for development, ideally running the same operating system as you deployment environment (I like Ubuntu for this). Vagrant is a popular tool for managing this kind of setup.

[... 151 words]

Is greater comfort with Windows a good enough reason to switch from PHP to ASP.NET?

Learning Linux really isn’t that hard, and it will dramatically increase your potential horizons as a programmer. Install Ubuntu on a virtual machine on your laptop and start running through some tutorials.

[... 53 words]

Which format for API documentation programmers prefer: PDF or Web?

HTML is a better format for documentation than PDF.

[... 160 words]

Log Management: What is the complexity behind Loggly and similar services?

Pricing isn’t about how hard it is to build something (and building a reliable, highly-scalable centralized log search and archiving system isn’t trivial). It’s about how much value it provides to the customer.

[... 204 words]

What is the ways to view the examples without download the example files in github?

If you can view the file on raw.github.com you can drop the first dot to view it on rawgithub.com—a free proxy service.

[... 107 words]

Using AWS, as my cloud, what is left for me to work on? Is it enough for me to just write the html+css code and programming language code (python)? Or do I stil have to work with mysql and backend stuff? I am pretty new at programming, so I hope it i...

Using a cloud server platform like Amazon EC2 unfortunately will not protect you from needing to understand basic server adminstration—it’s not that different from running your own physical server, except that if you screw up the configuration it’s much easier to throw everything away and start from scratch.

[... 134 words]

Why doesn’t Google use their resources to improve coding languages?

Google invest vast resources in to language improvements, and have been doing so for over a decade now. Just off the top of my head...

[... 184 words]

Which is more productive for a professional software engineer: Sublime Text or Notepad++?

Sublime Text 2. It is cross-platform and hence won’t lock you in to Windows.

[... 33 words]

What computers do Google engineers use when doing heavy programming?

Loads of people at Google use Macs. Google as a company is way too smart to stop using a good product just because it is produced by a competitor.

[... 45 words]

How can I convince my boss that I should dedicate time to clean an important part of our code base?

It sounds like your boss needs to learn about the concept of Technical Debt: http://www.codinghorror.com/blog...

[... 42 words]

What’s best the site to visit to START building a website?

There are two ways to approach this: you can try and learn HTML yourself, or you can use tools that will help you build websites quickly without needing to code.

[... 114 words]

Will a professional programmer lose anything if he doesn’t learn object oriented programming?

Yes. OOP is a very important programming concept—a professional programmer who is not familiar with it will be unable to understand vast swathes of high quality existing code and will have a great deal of trouble passing interviews or contributing effectively at great companies.

[... 95 words]

Would you test your web app against simulated infrastructure failure?

I think this is a pretty interesting idea—simulating these kind of conditions isn’t easy so I imagine many teams don’t bother. If it was good (really easy to get started with, great control and reporting tools, maybe helped set up the actual tests to replay) and I trusted the service I would definitely consider paying for it.

[... 125 words]

What is way that android connect to Oracle database?

As a general rule it’s not a good idea to allow mobile devices to connect directly to a server-side database, as it’s an invitation to hackers to figure out what’s going on and then connect to the database themselves for nefarious reasons.

[... 105 words]

How can one become a masterful Rails developer (and still have a life)?

Don’t sacrifice your social life. Sacrifice TV.

[... 79 words]

For a Django application, deployed on Heroku, what are my options for storing user-uploaded media files?

S3 is really a no-brainer for this, it’s extremely inexpensive, very easy to integrate with and unbelievably reliable. It’s so cheap that it will be practically free for testing purposes (expect to spend pennies a month on it).

[... 88 words]

Why do programmers tend to fall in love with non-mainstream languages?

Just because something is popular doesn’t mean it’s right for every person, every problem or every situation. If no one ever explored non-mainstream options, better solutions would never be discovered.

[... 47 words]

What is the best framework to use, Yii or Ruby on Rails?

This is a big decision, and it’s worth taking the time to pick what’s the best fit for you. I recommend going through the tutorials for each one, building the basic application they describe and seeing which made the most sense to you. As a Django developer, I suggest trying that framework too :)

[... 126 words]

What are some techniques, workflows, thought-processes etc. you would do as an experienced web-developer (front-end/back-end) that a new web developer might benefit from?

Learn the Chrome Developer Tools inside out, and live in them—especially the interactive JavaScript console, which can be a huge boon to your productivity.

[... 56 words]

Should a beginner to web development start out with Node.Js?

Maybe. One of the things I like about Node.js is that the raw abstraction it provides over HTTP is much closer to how the actual protocol works than the abstractions provided many of the more widely used frameworks such as PHP, Django or Rails. That might actually make it an effective learning tool—I’d be interested in hearing from some web developers who learnt Node.js as their first server-side technology.

[... 87 words]

What are some resources to read when designing a new client-server application layer protocol?

I suggest avoiding designing a custom protocol and using Protocol Buffers, Apache Thrift or Cap’n Proto instead.

[... 40 words]

What are some of the best programming/technical questions on scalability?

“How would you architect Twitter?”

[... 21 words]

How is a dictionary (key value) related to a hash?

The following terms describe essentially the same data structure across a number of different languages:

  • A Perl hash
  • A Ruby hash
  • A Python dictionary
  • A Java Map (an interface used by HashMap and others)
  • A Lua table
  • A JavaScript object (if you ignore object prototypes)

[... 56 words]

What are some books that programmers should read to understand logic?

Logic is more of a mathematical concept than a computer science concept—programming books are unlikely to focus on it.

[... 69 words]

What are the most useful software everyone should use for programming and web development?

Some flavour of Linux.

[... 24 words]

What is the best resource for someone who is non-technical to learn about computer programming/creating software?

Learn to program. You don’t need to learn programming to the standard where you could work professionally as a software engineer, but having enough programming knowledge to write some simple programs and automate some simple tasks will make you enormously more capable when it comes to working with programmers—or in business life in general.

[... 135 words]

Is there any alternative to devbootcamp.com or hackreactor.com in Europe?

http://www.makersacademy.com/ are running a similar program in the Old Street area of London.

[... 30 words]

How can I become a world-class coder in under three years?

Write code. Lots of code. Code that does stuff.

[... 95 words]

Is it difficult to make a dating site? My budget is small. Any suggestion?

Yes, it’s hard. Technologically, dating sites are not that complicated. The difficulty is keeping them populated enough that they remain useful for your users.

[... 159 words]