Notable papers in Computer Science

I’ve been meaning to search for such a list for some time.

Papers

Extra: http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml

Ideas on increasing work efficiency

It’s not long since I’ve noticed some increase in my work efficiency and I got to ask myself what could have caused this.

Related or not, here are some ideas on how to improve your work:

  • personal: develop habits that you:
    • find useful
    • would like
    • think are matching your personality

some examples:

    • I wake up at 5 AM and I spend a full hour for checking emails and basically slacking off: 9gag, blogs etc. I used to do nothing for hours after because I was forcing myself to “work”
    • I never work while I eat, no matter how much stuff I have to do: this way I have a healthy digestion and a bit more relaxed ‘me’ afterwards
  • IT: get organized on the IT side
    1. use a gmail account and get used to its features (multiple inboxes, labels, filters etc)
    2. use Google Calendar – today i is the industry standard more or less and it syncs to anything
    3. use Google Tasks
      • why?
      • extension for chrome
      • most popular “agenda” software syncs with Google tasks: Astrid, Remember the milk et cetera (more here)
    4. use Facebook Groups and Google Docs for small teams and small projects like school assignments
    5. get your bookmarks organized; for example, I:
      • probably reorganize my bookmarks each month
      • have two sections in the bookmarks bar:
        • sites I visit every day: ’email’, ‘tech’, ‘fun’, ‘devlife’ etc
        • folders I use to archive other links ‘epic-posts’, ‘job12’, ‘interests’ etc
    6. notepad++ is a great tool for sketching ideas, drafts, lecture notes, todo lists (because when it starts it shows the same tabs as last time); moreover, it’s the #1 Windows editor used by developers [12]
  • security: get your data protected
    • back up everything on an external HDD (rather cheap) and/or online (usually more expensive) on services like Dropbox
    • use Google’s 2-step verification login; it may be a bit inconvenient but this article will probably convince you to do it
    • (related to the previous article) start using free services like LastPass or alternatives

Tasks for Chrome

I’m starting this blog by writing about an application I have had in mind for some time and that I could finally see being developed here at DevXS conference.

The application is called Tasks for Chrome and is a Google Chrome extension/app. My team and I started building it yesterday morning, less than 16 hours ago.

Basically what follows is a description of the ideas and concepts behind our project. I have tried to be as non-technical as possible – details of the implementation can be found on github. I’m writing this around 3 AM and we hope we can get a prototype up and ready in the following 9 hours.

Concept

I try to show in this section that the ideas behind the project are quite general and that they can stand as a guideline for possible future implementations of Tasks for Android/iOS/Thunderbird/Firefox et cetera.

What Tasks and Tasks for Chrome are about, essentially:

  • a user-friendly personal organizing tool that can must be easy to use
  • a tasks/todos app that could resemble the simplicity and practicality of leaving notes on post-it flyers
  • also a tool that packages smart and powerful features – while stripping away the usual plethora of useless ones (sorry, fellow developers!)
The context of DevXS was quite favourable to our project, because we had the chance to implement a really innovative feature for students. The “Scholarly Publishing” challenge has inspired my colleague, Andrew, to think of the following feature:
  • importing reading lists retrieved from specific universities/departments/courses using Talis Aspire and Mendeley

First-tier features (“must-haves”)

  • TODOs: a list of bits of text describing a certain “to-do(e.g. “Do the algebra homework”)
  • Projects: each project contains a list of TODOs (e.g. project called “groceries” and containing {“milk”, “coffee”, “sugar”})
  • Activities: like a TODO, but something you would like to be reminded to do each couple of days (e.g. “go to gym”)
  • Reading lists: basically a project (i.e. a list of TODOs), but they are generated by the application after the user has requested the reading material from a certain course
Note: these are also the basic structural elements of the application and they will appear in the main view of the application

Second-tier features (“nice to have”)

  • Local caching of tasks: accessing Google Tasks API can result in a 2-3 seconds lag and many users have complained about this when reviewing other similar Chrome extensions; local caching is a simple way to avoid this issue
  • Intuitive input: when you add a new task the information from that string (following some simple formatting rules) is parsed to assign it to a project or to set its interval (for a recurring activity) (e.g. “buy ballons #dave’s” would automatically add the task “buy ballons” to the project “Dave’s party”)

People: Team York

Repo: github

Chrome Web Store: <coming soon>

Hosting: http://www.wave3k.net/devxs/