I have used gmail to date simply because I must have a synched service between laptop and mobile. So gmail was just there as a IMAP/SMTP server for the iPhone mail reader

However as pg has pointed out, and the pretty good ActiveInbox implemented (hey ActiveInbox - apply for YC!) a mail inbox is really a task list.

And it must be linked to a contact book. All of which must be integrated at the event level.

So which mail client I use is less of the question than how do I solve

* capturing and synching contact details, contact events, email messages and tags across all these

I have a workable solution in gmail now, but I cannot capture events on my iPhone. Android appraently does so I will switch but its not all tied together neatly.

I have played with mutt and goobook but frankly I can see a good couple of weeks disappearing down this rathole. Yet it should be a solved problem. VCards, iCal, X-Headers, the solution is there. It just seems there is no RFC we can agree on

I personally just use Gmail's web interface when on my computer and the Gmail apps when on my phone or tablet. Even when I worked for an enterprise facing company where everyone used Outlook (and had for years) I used the Gmail web interface/apps since the company used Google Apps.

I've just always felt that a desktop client just adds another layer where things can go wrong.

Mainly Gmail web (and android) interfaces, because it's by far the most intuitive and furnished client I've tested. I also use Thunderbird and Horde for a non gmail account, but I'm far from being happy with them. Actually, I feel more like if I'm back at stone age with them ...NB: I'm actively looking for alternatives to gmail

Absolutely not ideal in my opinion. Someone is going to have to be selling, marketing, networking, raising money, etc from the earliest days of the business - and that isn't something that a technical founder is necessarily good at or able to do alongside the technical stuff. Looking at the alumni of the accelerator I went through, the successful companies (eg the ones that haven't folded yet) have all had at least one non-technical founder.

The fact is, this is exactly the sort of question that technical founders struggle with - you want to be coding when the problem you're facing is something that requires getting on the phone, going to events, meeting people, and finding either someone who'll put in sweat equity or someone who'll put in cash based on your vision alone.

My advice would be to cut down what you want to build to the minimum, build a demo, and take it to people who might buy based on that alone, and try to raise some angel cash at the same time if possible. But with an angel who knows your market and can put in time as that non-technical business-side person.

Yes, this is typical. The usual approach (besides working harder, which has limits) is to scale down your initial offering until it's something that a couple guys can do in 3-6 months. Failing that, scale down your initial idea into a prototype or demo that can be done in 3-6 months and that's impressive enough to get investors to give you money to hire a team and expand it.

This puts a sharp limit on the size of problems that can be attacked by a startup. That's just the way the world works. The trick to building a giant company is to build a small company in a market that will grow alongside the company, so that you can gain an initial toehold and then secure additional resources afterwards.

What do you do when you need more help and can't afford to hire someone?

You sell them on your vision and convince them to work for equity, just like you're doing.

Or...

You find a potential customer who just plain "gets it" and can see your vision even before the thing is done, and you sell it to them before it's even done, and let them help fund development.

Or you find a potential partner and convince them that it's in their best interest to help you finish developing your thing, so you can co-brand it when it's done (maybe you let them focus on a vertical or demographic that you aren't interested in).

Or you scrape together whatever $$$ you can, maybe even doing a dreaded "friends, fools & family round" and hire offshore developers to chip in.

Or you find a local university and engage with them and get some of their students involved on a "work study" basis, so that helping you becomes a project they get course credit for.

Apply for grants that might be available to you. Call the "economic development" office of your local city / state / county / parish / whatever, and see if they can do anything for you. Those guys have a goal of attracting businesses and creating jobs, and sometimes have access to grants and what-not. At worst, they may be able to make some beneficial connections for you.

If it's applicable, look into a Kickstarter or Indiegogo campaign for your thing.

If you need salespeople, advertise on Craiglist and recruit part-time salespeople who will work for just commissions. Yes, there are actually people out there who want that sort of arrangement.

It is hard to be positive about this idea. I think that may be the reason people are reluctant to say anything. No one wants to be a downer.

I'll stick to the important facts. Take me or leave 'em, but don't ascribe any emotion to them.

This has not been done before because it would draw all ages of user, but some people would post inappropriate material.

The cost of policing the uploads could prevent it from being profitable. Also, it would be possible to become a mainstream product but then lose that status through a series of mistakes.

I could go on at length so in case perhaps you've solved this problem there are others. I'm not saying you can't solve these problems, Twitter is successful because they solved the policing problem by limiting everyone to 140 characters.

But there are definitely other problems. Pick a demographic and think how they would view your service. Solve all those problems and you've got a winner.

why not release the app and try to get that discovered and get feedback. Unless your video is viral material, its hard to get it discovered. You could try virool.com, youtube.com ads, collegehumor.com, facebook promotions. If you release your app in the app store, try freemyapps.com, submit to app review sites (search google), email to some campus list servers to get college students to use it. If worried about ratings, release it with different name than planned, get feedback, tune, and release it again with planned name / branding.

Like others have said quitting without a plan is a bad idea. Start working on finding a job that's more in line with your personality.

You don't know if your ideas have a market. Get users if you think your ideas are worth pursuing. Sell first, build later. In the mean time build up cash to extend your runway. 2-3 months is too short.

I hate to answer with a quote, but this one has been quite important for me lately:

Your time is limited, so dont waste it living someone elses life. Dont be trapped by dogma which is living with the results of other peoples thinking. Dont let the noise of others opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. - Steve Jobs

If you're bored where you are, perhaps you should try a smaller company. One of the advantages of small companies is you often end up wearing a fair number of hats.

#

I'd also urge you in the strongest possible terms not to live off your savings if you can help it. I've had to do it in the past (the company I was working for folded unexpectedly.) It was one of the most stressful and soul-crushing times of my life: sending job applications off and getting nothing back for sometimes weeks at a time, looking at my balance dwindling and wondering whether I'd be able to pay the rent next month....

Just feels like there's this crushing horizon of doom and no-one wants you, despite the fact you know you could do all those jobs.

I keep about two years wages in various degrees of fluidity (I think that's the word for it, how easily you can get to it) these days, and I still wouldn't want to do it. It's not a happy place to live for any length of time - and in the end you may, as I did, take something you don't really want anyway just to have money coming in while you look for something better.

The thing is, if you're not a programmer, you'll have a hard time judging the quality of a programmer and may end up hiring incompetent one. Even a newbie freelancer like me have seen it happen quite frequently. I often hired to clean up the mess left by those bad hires (almost all of them was hired by non-programmer).

You should try posting the job on curated/specialised marketplace such as http://getlambda.com/ and http://gun.io/ . Your chance of hiring great programmer will be higher there.

If you have money, just hire them as a contractor via craigslist. If you need help vetting then I would ask a developer friend to help. If you don't have money, good luck. Most developers will not partner with someone who just has an idea because it usually means they will do the majority of the initial work for something that will most likely fail without any compensation. The exception is a developer friend who really sees the vision.

OP here. No real money, just a few good ideas. I'm an engineer and programmer (started designing mainframes at IBM) but long retired from the day to day issues of design and coding, especially distant from modern device programming.

Like a barely countable set of such people, I'd like to lure a programmer in with a good idea and the belief that it could be financially worthwhile in the long run.

How to do that without being too vulnerable to a hit and run completely escapes me.

Y'all have given me some threads to follow, thanks. More specific individual replies coming up.

I sure wish ycombinator had a notification option for threads you start or comment in. That would facilitate longer and more productive threads. Am I just missing it?

If you have money, the options outlined are pretty good. If you're strapped for cash, I'd encourage you to start building on www.appcubator.com which will get a project going for you for free. Disclaimer, I work at Appcubator.

- Put a clear statement of what this thing is on the main page of the site (which should be the page linked to on HN).

- Don't ask my to sign up or give you personal info without giving me a good reason; let me see a demo or at least something like screenshots/results/examples first. Related: what am I getting out of taking time on your site and/or letting you know about me? Do I trust that you'll deal with my personal info in a respectful manner? (Hint: No, I don't.)

- If you are not a native speaker of English, then run the site by a native speaker before publicizing.

Concerning the first two above: even when you've paid attention to them, you probably haven't done nearly as good a job as you think. I come to your site knowing nothing about you or what you've done; help me understand.

For example, you say, "Unclear message about why I would use said app". Sure, make it clear. But first, pay attention to a more fundamental question: make sure that yoursiteindicatesthatitisaboutanapp. And be clear what platforms the app is available for. And how to get it. And does it cost something. Etc.

(Idea: Find someone who knows nothing about your project, show them the site, and then ask them what they think it's about. If there is a sign-up, then ask them if they noticed it. Ask them what they think they get out of signing up. Don't give them any hints beyond what they already saw on the site.)

Funny, I have spent years trying to escape the small town/small-minded feel of most online communities. I favor larger sites these days, where there is somewhat less entrapment or entrenchment due to personal politicking.

That being said, I currently spend more time on MetaFilter than on HN. I sometimes don't show up here for months at a time. As an openly female member, I have found this boys club in many ways less than welcoming. Possibly not a good thing to admit.

2) Consider more rigorous client-side validation on submission form(e.g. I accidentally entered a non-numeric character in the Price field - this error was reported only after I hit Submit. Would've been easier if this were reported on tabbing/clicking out of the field)

3) Upon erroneous submission, at least the 'How is your project built?' field got cleared

Also, you might want to consider an 'auto screenshot capture/display' feature once a user types in the URL. We are very shortly going to publish a (free) API to do this - we'd be glad to help if needed, let me know.

That's not really how "audits" work. Coordinated public audits are responsible for a tiny fraction of all vulnerability discoveries. Most discoveries are independent. There would probably be a fairly poor return on investment for funding an official audit.

Bear in mind also that even though you've never heard of an audit of GPG, GPG is actually a pretty high-profile target. Smart people have already looked at that code pretty carefully.

Since GPG is an open source project, a better approach would be to find a way to sponsor a bounty for vulnerabilities in GPG. But here too you'll run into problems:

* It will take fo-re-ver to adjudicate what does and doesn't qualify as a serious finding. Google and Facebook manage this problem by hiring very smart vulnerability researchers and allowing them to come up with criteria pretty much by fiat. Here, you're going to end up in a 2-month-long argument about whether man page bugs are vulnerabilities because of the nature of the project.

* Output of these programs is nonlinear and unpredictable, so it'll be tricky to figure out how much money needs to be set aside to satisfy reward payouts. In the meantime: who holds that money? And where does it go when the bounty outlives its utility?

If you really want to do some good, consider starting a project (which would require no funding) to either:

(a) Build a replacement GPG in a more modern development environment, or

Werner Koch: 2677 commits over a period of 5764 days. David Shaw: 1197 commits over a period of 3807 days. Marcus Brinkmann: 202 commits over a period of 3753 days. NIIBE Yutaka: 53 commits over a period of 641 days. Moritz Schulte: 39 commits over a period of 1756 days. Timo Schulz: 29 commits over a period of 896 days. Stefan Bellon: 21 commits over a period of 765 days. Repo Admin: 9 commits over a period of 2634 days. Andrey Jivsov: 8 commits over a period of 37 days. Ben Kibbey: 6 commits over a period of 20 days. Neal Walfield: 5 commits over a period of 1 day.

So it looks like the codebase has been touched by remarkably few hands!

This doesn't negate the need for a code review of some sort, but it does suggest that it would be difficult for an outside agent to silently introduce changes in master without the core developers noticing.

Would it make sense to somehow record what was audited and by who, in "machine readable format"? Something that would allow others to later check how much the audited parts of code (or code that the audited part is relying) have changed since the audit.

Could be for example just a simple message "Audited, file: aaa/xyz.c, checksum 3ea1b.. revision 1c030.." signed with auditors public key.

- he really doesn't use his PGP key all that often, had the same one for 16 years on god knows how many computers, and decided that if he's going to generate a new one, he might as well send a message with it.

Bruce's article on staying secure from the NSA[1] talks about using an air gapped computer to avoid being compromised via the network. If he hadn't been keeping his keys on such a machine previously - recent disclosures may have changed his mind and forced him to regenerate his keys.

So I have a GPG key. I used it a couple of times. Currently, it's most useful to me to sign my own Debian package repository. However, I can't seem to figure out how to get into the whole Web of Trust thing. Nobody I know has their own GPG/PGP key that they use and have signed by others and tools like BigLumber and other places where I looked for key signing parties have not turned up any results. I not spending all my free time looking for GPG users, but I have spent what I feel is more than a casual amount of time looking for people to exchange key signatures with. What do y'all do for this? Any advice?

Edit: I am located in the North Eastern part of the US.

Edit 2: perhaps we need a geolocation aware social network a la Square but just for notifying you of other nearby PGP users...

He has worked previously in mostly corporate and private context, so 2048 is just fine. Now he works with people and data NSA wants their hands on and he wants the data to be secure also in the future. It's just reasonable to move to 4096 key sizes.

>Dr Lenstra and Dr Verheul offer their recommendations for keylengths. In their calculation, a 2048 bit key should keep your secrets safe at least until 2020 against very highly funded and knowledgeable adversaries (i.e. you have the NSA working against you). Against lesser adversaries such as mere multinationals your secret should be safe against bruteforce cryptoanalysis much longer, even with 1024 bit keys.

In the post he also describes that he now uses a new process which involves a computer that has never been connected to the internet and its sole purpose is encrypting and decrypting files. Why not use it to encrypt and decrypt emails as well? That'd also potentially involve generating a new key pair.

> 3) Assume that while your computer can be compromised, it would take work and risk on the part of the NSA so it probably isn't. If you have something really important, use an air gap. Since I started working with the Snowden documents, I bought a new computer that has never been connected to the internet. If I want to transfer a file, I encrypt the file on the secure computer and walk it over to my internet computer, using a USB stick. To decrypt something, I reverse the process. This might not be bulletproof, but it's pretty good.

I wish there were a decent hardware PGP key token available now -- something which could support 4096 RSA and communicated via (ideally) BT but also acceptable USB to a host. The GPF stick is out of stock.

Postgres. Get a book by Joe Celko (SQL for Smarties, for instance) and really learn relational databases. They're not going anywhere. Any job you take, you can bet there's a relational database back there somewhere. Postgres is free and will surprise you less than any other. If you're very good at SQL, you will write a lot less code in the middle tier to post-process data on the way out. You won't be hindered by a lack of OO understanding--in fact, it may benefit you since you won't face the O/R impedance mismatch. Once you're good at SQL you'll be a lot less worried about other things in the backend, and the declarative nature will help you reason better. It will pay dividends no matter what step you take after that.

Personally, for me, it's been JavaScript. I started freelancing with PHP. The second to last freelance project I had was Java backend with AngularJS frontend, and the tricky bits were all in the frontend. Now I've been working freelance for the same company on several projects since June, doing 100% JavaScript; mostly frontend, with bits and pieces of nodejs, grunt and so on for tooling.

To get off to a good start I suggest learning how encapsulation and modules are done in JavaScript (e.g. prototype, the module pattern, possibly also node's exports or something like requirejs). This will allow you to actually build large JavaScript projects without them turning into a Frankenstein's "everything in a single file in jQuery's document.ready" monster.

Try to focus on learning the language and its features and not get lost in DOM-land (use libraries or your framework of choice for manipulating the DOM unless you have a very good reason not to).

Learn all about how to read and manipulate data using XmlHttpRequests, web services, REST, JSON and so on. This will be invaluable for any projects that have third party dependencies, which will be most of them these days.

Spend a little time learning about which frameworks are better for rich desktop-style browser apps (hint: probably the bigger ones, like Angular or Ember), and which are more suited to lightweight apps that will also run nicely in mobile or other embedded devices (hint: probably the smaller ones, like Backbone).

Polish your jQuery knowledge. It will be popular and useful for a long time yet, and it's a big library with lots of extremely handy functions and features.

Maybe pick up other useful "utility" libraries like underscore.

Finally, if you're interested in driving code quality and keeping clients happy and regressions at bay, I suggest you look into automated unit and integration testing. Again here there are large, complicated tools like karma and smaller, lightweight "test logic only" libs like jasmine. If you're like me, you will get lots of enjoyment and satisfaction figuring out how to wire up node, grunt, jshint, phantomjs and (your test lib of choice) to get a single command build/deploy/test script. If you're likely to work in a team, get that script running in a CI server for bonus points.

If you have any questions hit me up on davedx@gmail.com, happy to help! :)

Build something with no connection to the web whatsoever, eg. a platforming game that outputs ascii to the console, or a spellchecking engine, an emulator, or whatever. Make several versions of it, trying out radically different ways of conceptualising the problem in code. This stuff can sound intimidating if you've only done webdev, but it isn't at all as hard as it might seem.

Having a broader experience of the world of software will give you a wider range of skills and a wiser perspective on the web stuff that pays the bills these days. You'll be able to look at some horrible design and say "duh, that should be a finite state machine" and presto you've just wiped out a whole load of complexity.

Webdev is sort of a ghetto, the more "outside" knowledge you can bring to it, the more effective and the more employable you will ultimately be.

EDIT: also, become an automated testing deity ASAP. Just do it. You'll wonder how people can code without it.

Basically learn the different paradigms around programming and the common data types that span almost all languages. Learn when and where to apply those paradigms and the strength of each. Knowing those things will help you adjust to the future fairly well.

I'll give you an example of that in action. I learned some Common Lisp in my spare time. I then went on to use C# in 2000. So when Monads were eventually introduced in C#, I knew how and when to use them. My other colleagues at that time, their eyes glazed over for the most part. What was this new fangled contraption? It wasn't new at all, it was old school.

Knowing specific frameworks inside and out can be advantageous, but can also lead to a very narrow vision. If you make yourself well rounded, it leads to a very flexible skill set. You see something and you say "oh, that's just like X" and you dive in. I know you want to be a web development bad ass. But a lot of the knowledge to make you one is outside of the web.

It sounds like you haven't really moved much beyond googling for code snippets to solve specific problems. Work through one of the above books so you pick up some vocabulary and get introduced to a range of concepts.

A lot of the other comments are overly ambitious with their suggestions. Start small and learn Ruby or Python. I recommend staying away from frameworks such as Rails because of the high overhead of required knowledge that won't really benefit you as a programmer in general.

As someone in what feels like your exact same boatthough a bit older I'd say just pick one. It makes the most sense to me, personally, to pick Python or Ruby or PHP (Laravel or similar) and learn how to actually program. I think choosing this path will introduce you all sorts of other stuff rest, user input, security, modern front-end tools like LESS, etc.

Even sticking with WordPress could yield a good result for you. WordPress and PHP are constantly criticized for a number of different reasons, but the reality remains: WordPress and PHP occupy a huge chunk of a huge market.

I've personally identified this to be one of my biggest failings not being able to actually program. At first I thought it was about language, and so I tried PHP (about 100 different times), I tried Ruby a few times, Python, and finally, JS. It turns out that all of these languages require the exact same thing they require you to think like a programmer.

The furthest I got with it was with Ruby. I went through the entire Ruby course at Codecademy, read a lot of the Bastards Book of Ruby (fantastic), and even used Ruby to get through some Project Euler projects. By the end of a few good months of moderate input, I was absolutely still not a programmer, but I felt like I was beginning to think more like one.

So that's one piece of advice if you want to learn to program, I think you actually need to decide on a language/framework and settle in and learn how to program. Learn how to think like a programmer, which is to say that it isn't about syntax and how each language does things slightly differently, but rather, is about process and patters and abstraction.

The other piece of advice is to be careful with freelancing. Paying the bills and learning to code don't necessarily go hand in hand. Spending 4 nights a week writing a WordPress theme for a client project really won't make you a better programmer. If I've learned anything, it's this. I've made some great supplemental money doing freelance work and I've learned a ton about WordPress, but I often think about the time I've put into it, and wonder what if I'd put that same time into learning and working on projects to further my ability to actually program.

And finally, the last piece of advice try stuff out. Try JS, Python, Ruby, WordPress, Drupal, try setting up a VPS at Linode. Try everything you can to get sense of what feels right. I think that will help with your decision as well.

If you went play framework w/ Scala it would be pretty hard to avoid learning some OO and you could also learn some functional stuff. You've got enough background to get over the initial hump, now start writing "interesting" stuff not just yet another CRUD app.

You seem to have a database sized hole... The hard part about databases isn't the syntax, or peculiarities of specific DBs, or even optimization tricks to make things faster, but design. What is normalization? Why/When would you want it? What tasks need a relational design, or not... Even if you never pivot into being a DBA it helps alot to at least minimally speak a DBAs language when you write a CRUD app talking to his DB.

Programming as in slinging code syntax stuff, or higher level design? Might want to crawl inside algorithms for awhile with Knuth and other books. Much like learning Algebra its not like you'll ever use it, its more to discipline the mind to figure out other complicated stuff. You should really google for and spend a lot of time at "project euler" if you're trying to learn higher level programming. Many of the PE problems aimed at turning you into a better mathematician can be hacked on brute force-ish to make you a better programmer. As a hint the first problem you're not "supposed to" brute force add those together, you're "supposed to" figure out the easy formula. But writing the brute force adder is none the less an interesting experience if you've never done it before in your language of choice. (edited to add, buy and read and "do" the entire "little schemer" series, or at least the first book)

I don't know if this would make you more employable, but in terms of extending your greater computer-ish knowledge you could do worse than some embedded stuff. Get an Arduino and some shields and some servos and some sensors and make it do something really well. You claimed to know a little bit of C so here's something fun to do with it.

You also seem to have an OS sized hole in your list of experience so some systems programming type experience might be interesting. Get a couple free machines (castoffs) and figure out how to use Puppet to make them jump thru hoops. Since you have a cluster, there's a lot of fun you can have learning how clustering/replication tech works and scales. Don't worry about using old junk computers, there's absolutely no difference between clustering on new big iron and on a free junkpile P3 other than the new stuff is faster. Make your own DB host and a bunch of front ends and see what happens. Maybe try a cluster of DB hosts and FEs talking to the DBs. Much like the DB thing you may never become a sysadmin but learning to speak their language will help even if you stick to webdev work.

If you have the financial resources to do it, I'd recommend spending some time exploring other parts of business and computer science. There are some really great free resources out there for learning (coursera, udacity, etc.). The reason I say that is that having some solid fundamentals will give you more flexibility in terms of what you can do, and it'll also let you try some other potential career paths on for size.

If you can spend a couple of years at the start building breadth in your skill base, you'll be able to gracefully adapt to changes in your lifestyle, the online market situation, and other things that come up. I know a couple of guys who jumped in full bore kind of like it sounds like you're talking about, and they eventually found themselves pigeonholed into a single career for their whole lives, because as life went on their obligations accumulated to the point where they could no longer afford the interruption in income that a career change would mean (because they would have to learn basically everything over again). So, if you can keep your expenses minimal and pay them with your freelancing work, I'd say just try to get some foundational business management and computer science knowledge under your belt.

As far as what tech/language/etc will give you the best bang for the buck in today's freelancing market I have no idea. Regardless of that though, I'd say that learning Internet marketing seems like the most important thing you can do to ensure success. This is something I failed to understand at the start and I'm paying for it now.

Honestly, get a job. What has taught me most about programming is having new problems to solve that required new skills, techniques and tools. The best way to "fund" your development is to find someone who will pay you to solve their problems.

I started out of school doin front-end, then the next project I started with frontend and then had to learn Django. Job after that was all Django/frontend. Then, Django to Rails. Now im doing Node/Go/hardware/etc. Each job paid me to learn new languages, adopt new techniques and find better ways to solve problems.

I'd hop on Craigslist or one of the millions of freelance sites and contact a few potential jobs that you think you can pull off but would require you to learn a bit. It may seem a bit haphazard compared to a more academic approach but it will be more of a realistic growth curve compared to the realities of the freelance world.

Python, because it's easy to learn and it's super versatile. I don't code Python full time any more, but I still find a way to use it on a fairly regular basis. It's a very handy thing to have in your tool belt, regardless of what you wind up doing in the long term, and there's a lot of literature related to learning programming that's taught with Python. Python is probably the most average language you can find, which is why it works well for your stated purpose of having a more solid foundation. Although it's not the best tool for most jobs, it sounds like you don't entirely know what you want to do, and Python is an adequate tool for a lot of different things; it can expose you to a variety of programming environments.

If you want to learn computer science more thoroughly, why don't you take a university-level course? You can continue freelancing to pay your way through it. That would give you broad-ranging skills and a good qualification to present to clients/employers.

I'm not sure if this is the best option for you, but then I'd be curious why that's not your first choice. Since you have a clear understanding of what you need, you can pick a course that fits you and ignore the bullshit that comes with it.

Ok first of all, holy crap, I can't believe this actually hit the front page, definitely wasn't expecting that. Thanks again for all the input, I couldn't have asked for more.

Ultimately, I'm still not 100% sure, but after going through all the comments a couple of times, I think I've finally made up my mind. For the next month / couple of months, I'm going to slowly get back into freelancing while giving PHP a serious go. Although PHP may not be my first choice, I realise now this is actually the right one since WP development is going to be my main source of income for the next 6-12 months, so I need to get really good at it. Aside from that, I plan on sharpening my front-end skills and trying out a couple of other stuff as well such as SASS and Git.

After I feel I'm comfortable enough with PHP, I plan on trying out the Laravel framework, and see if I actually like it as much as Rails. Either way, I'm definitely going to learn Ruby as well ( I've already finished "Learn to Program" by Chris Pine some time ago ), and eventually spend less time on WP in order to finally master Rails. In the end, I'm hoping to give up WP entirely and work only on RoR projects ( either my own or by freelancing ).

I know a couple of you guys were suggesting that I should focus on things which are not related to web development at all, and I see your point, but honestly I simply can't get excited about that stuff at all. Maybe later on I'm going to feel different about it, but for now I'm focusing solely on web development.

Also, regarding SQL, that's something I may've left out in my original post, but fortunately I am pretty familiar with MySQL, I even studied it in school.

It doesn't sound like you have mastered any one particular language. I would recommend pursuing one of the ones you have some experience in (Rails, PHP, or JavaScript) and making projects from scratch. Being able to build an entire application or utility from nothing and understanding all the parts is a great skill to have. I would not recommend learning any particular framework (web or otherwise) except as a tool to gain mastery of a language. Frameworks are scaffolding to allow you to use your understanding of a language to effectively build your idea into working models, they should not be treated as the be-all-end-all of a language. Limiting your learning to jQuery or Rails instead of trying to learn JavaScript or Ruby themselves will not get you the mastery you need to grow as a developer.

If what you want is all the consulting work you could ever possibly do, then learning more PHP will get you that. Stick with Wordpress and/or pick up Symfony, CodeIgniter, just about anything except Zend (and for the love of all things holy, do NOT go anywhere near Magento if you value your sanity).

If you're OK working a bit harder to find gigs but likely making more from them when you do (and facing less competition), Ruby/Rails or Python/Django would be good choices. You could go for more obscure languages and frameworks, but at that point you may have a hard time selling your services.

Starting with iOS (or Android) is also something to consider. People often don't realize that, when you get into full-stack web development, you have to be proficient with many technologies and software packages just to get a site working, tested, and deployed. While you'll likely end up having to expand into more than just ObjectiveC or Java fairly quickly when you work with mobile (don't get stuck in the PhoneGap/Appcelerator rut), a basic mobile app on either platform will be simpler to build and manage than a basic dynamic website.

I think you should first explore Computer Science in general. You should start with a good programming language, a high-level, beginner-friendly, very web-favored one. Pick Ruby or Python. Then grab courses on Algorithms, Databases, Computer Networks and an other area you wanna explore. You don't need to complete them, but just get a feel of what they have in store for you. Make sure you write some code as part of the Algorithms course.

Web development is not just using frameworks. There is real Computer Science involved for building and maintaining any substantially complex web-app. Apart from this, there will almost certainly be domain-specific knowledge required for a complex web-app.

If you get a hang of programming, and love the CS concepts you are trying to learn, you can then build a career path accordingly (may be college?). If you are dis-inclined, then you can get to learn Rails/Django, and keep free-lancing.

I think at the age you are in, you should not miss out on getting a chance to learn some serious CS.

I learned C at school and self-taught myself enough PHP and JS to do web development. I understand programming logic and OOP pretty well. Now I'm reading Code Complete by Steve McConnell to gain a better perspective on software engineering.

I was in the same boat as you, and I swore I was going to learn Rails - and just 'go w/ it' -so I built an app in Rails..but when it came time to deploy -- my host only supported a specific version of Ruby -- and I wasn't about to pay $50 a month to host a hobby so to speak...

Then I decided I was going to try and duplicate it in php --which php is extremely ugly--UNLESS you're laravel. I found laravel which I am getting pretty darn good at, and I absolutely love it! It's Rails for php and has taught me GOOD design principles for php(instead of spaghetti code, like how to use namespacing and build my own packages, and their's a strong community for it -- I highly recommend going to #laravel on freenode(irc) -- for help when you need it.

I too see JS growing to be an all around general purpose language, and it is definitely a good one to learn to break away from the standard class based languages. The book Javascript - The Good Parts is a great and explains the power and weaknesses of Javascript.

I would study whatever you will study about programming plus study how to persuade people by using your writing or your speech. Study classic rhetoric (Greek) and modern persuasion techniques.This is very important to your success in business and in live. Learn how to make people do what you want them to do. This will help you when you are in a meeting with colleagues, when you are selling your software, even when you are designing your website. By learning how to persuade you will learn more about yourself and learn about the others.

Drupal. You already know wordpress, but with wordpress a fixed rate for a basic site runs $600, premium site $1800-$2000. There are premium+ sites that you get contract work for. But I've never heard of a boondoggle-scale Wordpress site. With Drupal that's all there is, boondoggle rates. I've never seen fixed rate sites done with Drupal, and there's a reason for that I suppose.

- For design you can always have a look at bootstrap to help you with the CSS. This way you can make a nicer responsive template.

- The completely free stamp, well it doesnt really work that well. It overlaps the words above.

- Personally i don't like the buttons ("create your list!") The bottom button, doesn't really want to work that well. I had to click it several times until it decided to work

- Allow them to create there list and then if they want they can register.

- Estoque de comprimidos atual? Stock ?

- See perhaps if you can add some of the most common medicines in a cache search field to make it easier. That way you can also have a picture of the box of the medicine. Make it easier to distinguish for older people.

- The fonts are too small. On my laptop i have to squint and go close to view them better. Imagine old people with bad eye sight. Build to the people you are aiming for.

- It needs to be more intuitive and nicer to handle and look at.

It is a good first start. I had to rebuild my first actual website 4 times till i got a better looking site. And it still could need a lot more work.Take your time, improve it. You'll want to make as simple as possible.Send an email to remind them, and add a link to verify that they had there pills today. As well as quick button for the pills in the site.

It doesn't look particularly dangerous, but it could be irritating if your filename has a colon character in it. Still, I never heard of this usage of tar before, and I routinely manage several score linux servers. Pretty surprising.

Well for one thing, your body is trying to prepare yourself for sleep. So naturally, you feel more relaxed and don't get as energized by the distractions that are available to you.

If you're having trouble focusing during the day, you might want to work on being more present while you work and training your mind to not give into those distractions. Yes, it can be trained just like anything else.

I do focus better at night, but realized it was a bad trade off because you have to get early later afterwards. I switched my schedule instead and work really early in the morning now. I love it because you don't have the "oh f* it's 4am already" if you wake up at 4.

On the other hand, at the morning(and that means MORNING :)) I am super effective for first 2 hours. So if I can go vampire until 1am and sleep until 8am or I can go sleep at 11pm and wake up at 6am, I choose the second one.

Definitely. I was doing all my assignments and exam preparations at university only at nights. It looks like my productivity triples then - no noise, no phone calls/IM's and you can always take a break and just gaze at the stars for a moments to relax. Sadly I have a day job now and can't stay with that life style anymore.

Nod in agreement. I guess its about getting that loooooooong stretch of uninterrupted time. The day is good for getting the usual things done and brainstorming. But yes, when I am working on something new and exciting, i start at about 11:00 pm and my thought process peaks between 3 and 4 am

I work far better at night when I'm alone for obvious reasons like you mentioned - phone isn't ringing, people aren't texting, emails for the most part are far, far less, etc. etc. Definitely a night owl...

StackExchange has a Programmers site which is supposed to be for conceptual questions. However, my experience is that if you can narrow down a question to a few possibilities, you can often get good answers (even better ones) on other SE sites.

The other day I went to github.com/trending and found some decent repositories to go through. You can filter by programming language with is really cool. Heck, You could build a site that helps people discover open source repositories and projects.

Are you looking for open source projects to join, or do you want ideas for small projects you want to do on your own?

Are you looking for pass-time projects, or do you want to improve your career path?

Assuming hobbies:I'm sure you have a small blog you can create FE or BE to, if you prefer 'real world' or robotics projects you should get Arduino and Raspberry PI and play with it. You can start making your home/condo 'smarer' by integrating physical stuff to it.Try programming an 'arcade' game to a platform you like (web, iOS, Android, etc).Playing with 3D graphics is always fun, learn about 3D libraries and techniques like ray tracing and try to recreate your real world.If you prefer mathematics, read about Bayesian distributions, and this about how you'd make a better recommendation system to ranking system to a site you're using.

This is quite a difficult question without knowing you.My biggest problem is aways picking out what to do with my non-existent free time :)

Most important -- find something that you really like doing and care about, or you'll abandon it quickly.

3 people in our office. We have a speaker system in the office and take turns running our personal pandora or spotify stations on it. Sometimes we crank it up and other times we have softer mellow music playing. Heck, we will even put on NPR. We all have headphones and can plug in and listen to our own music if we want.

I can't stand mouse clicking and keyboard tapping, so a little music for background noise is nice. I can also open my window and listen to the cars on the freeway.

12 person startup, here. It's deadly quiet. Most people are in offices, they close their door for phone calls. Headphones for music is the norm. It makes me crazy, sometimes. I get a little break because I sit near the kitchen and there's a lot of chatter when people are preparing their lunches.

4 person startup here. Our founders decided to bring 2 concert-sized speakers from their college days to our office. It's hooked up to an airport express and we use spotify/soundrop. At first, it didn't seem like a good idea but now I think every office should have speakers to lighten the mood.

We keep the volume pretty reasonable during work hours so you can still pop on headphones and listen to your own stuff if you wanted to.

Not at a startup, but we're frontend devs in Texas who behave like Big Kids. We make our best arguments in our Little Kid Voices.

Our air is filled with whistling, idle death-threats (or our individual personalities toward hypothetical homicide of evil villains), argumentation over life-extension research, astrophysics and metaphysics, joystick/button-mashing, showtunes, random bouts of poetry, fake British/Russian/German/Australian accents, looney Tunes character revivalism, and sometimes we take our functions out back to beat them into doin' the Right Thing.

Find whatever makes you free, and do that. Gadgets are a small set of the tools that can make that possible. Knowledge is even better.

I see that bgar's already asked you what you have.

What do you want to do?

(For me, if constrained to gadgets, perhaps a DAQ card can open a lot of doors. Arduinos are cheap, LabJacks and fancier can get a lot more done with greater sensitivity. Got only $10 and an I2C interface? You can have an unreasonable quantity of fun with an AD7746. Seriously.)

If it was me, it'd be a toss-up between a combination of: eReader, tablet, and a Nexus 4. Items to increase my learning efficiency (eReader/tablet) and productivity (Nexus 4).

And I would wait til October for the new Paperwhite and probably the new Kobo Arc.

Also I would want to put about 10-20% away into some sort of investment fund unless there were some items that offered a serious short-term productivity increase the money could rather go to. Just a general rule.

If you don't have a need for anything and that cash is burning a hole in your pocket, invest in tools or supplies.

I mean real tools - Maybe a repair kit that includes all those fancy security screws and stuff to fix your iPhone, or some portable muilti-use power tool, so when you need em and have em (it's a good feeling). Best to get the stuff you know you will actually use.

Ergo stuff, how about your workspace, need a better chair or desk (I got myself an adjustable standing/sitting desk, it was a good investment) Maybe dual LCDs?

Organization stuff - example - If you have a ton of DVDs filling up bookcases may I suggest Disc Sox - http://www.amazon.com/DISCSOX-DVD-POLY-SLEEVES--25Pack/dp/B0... Put your cover and DVDs in these things and you can cut your DVD shelf space by 75%, also you and your friends will know its your DVD because of the cool flexy case.

I'm guessing you're asking because you have a gadget allowance from a new job? If so, and assuming whatever you're buying needs to be at least slightly relevant to your job, looking around at what your co-workers bought may be useful. This doesn't mean you buy what your co-workers buy but at least you may get some ideas.

This is an international place to share news about technology and how it can help us better our lives. These kinds of posts belong on Facebook, if anywhere. But to be honest, I think your 'friends' will not appreciate this type of bragging.

I dislike Github pull requests because the Github interface does not allow any option for merge other than the branch name from which the requester created the request. I.e., the receiver can not merge the pull request onto a different, more appropriate branch, from the one the requester used.

Plain git can do so. The only workaround for this broken interface on Github is to extract the pull request, manually perform a command line merge locally, and push the changes back up (now in the correct branch). Thankfully, if done right, Github does recognize and clear the pull request. But that is a lot more hassle than should be necessary.

16) Sending "git pull" requests (from Linus emails) Please write the git repo address and branch name alone on the same line so that I can't even by mistake pull from the wrong branch, and so that a triple-click just selects the whole thing. So the proper format is something along the lines of: "Please pull from git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus to get these changes:" so that I don't have to hunt-and-peck for the address and inevitably get it wrong (actually, I've only gotten it wrong a few times, and checking against the diffstat tells me when I get it wrong, but I'm just a lot more comfortable when I don't have to "look for" the right thing to pull, and double-check that I have the right branch-name). Please use "git diff -M --stat --summary" to generate the diffstat: the -M enables rename detection, and the summary enables a summary of new/deleted or renamed files. With rename detection, the statistics are rather different because git will notice that a fair number of the changes are renames.

In the first camp you have those who think process is important and that it and commit messages in particular are part of the product. Linus Torvalds apparently is such a guy so it makes sense for him to require carefully formatted commit messages as much as it makes sense for me to require four spaces indentation in the code. Apparently Github's tools makes it hard to enforce such strict rules.

In the second camp you have those that consider only the end result, the source code important. For them commit logs are just one tool of many to help them produce bug free code. Consequently, they don't give a flying fuck whether the commit messages uses hard line breaks at the 72 character mark or not. The prettiness of the logs is unimportant.

I'm definitely in the second bucket. Writing commit messages is no fun and adding anal rules to the process makes it even more unfun. Of course, sometimes it is necessary to explain what you are doing, and then you do that to the best of your effort.

Btw, the best way to drive away contributors from a project is to reject patches for silly commit log message formatting rules violations. Linus can get away with it because there are so many that want to contribute to Linux, but projects with lower profile than his would falter pretty quickly if they were so strict about the rules.

He says:"Btw, Joseph, you're a quality example of why I detest the github interface. For some reason, github has attracted people who have zero taste, don't care about commit logs, and can't be bothered. The fact that I have higher standards then makes people like you make snarky comments, thinking that you are cool. You're a moron. Linus"

Herman Hesse "The Glass Bead Game" is incredible. For great mind fucks, check out the crime fiction of Jim Thompson: 1st person, you're a petty crook, dumb & scared, people trying to kill you are right behind you, and most the books end with you being caught and killed in the last sentence. It takes a day or two to shake off his books' reality.

The trilogy of Neuromancer, Burning Chrome, and Mona Lisa Overdrive is still my favorite work of fiction, and also, to my mind, exemplifies the kind of taut, awesome writing that I would want to do if I wrote novels. It the only series of 3 books I have read more than once.

I caught these books at just the right time in my life (age 13 or 14), leading my high-school fascination with Japan and rekindled interest in computing, and probably played an inordinately large role in me ending up as a programmer who lives in Tokyo, two decades later.

I like great sci fi best, but I think most of it is crap, including virtually all of the old pulp sci fi and Asimov I grew up reading (which was basically all of it), Star Wars/Trek, etc.

Other than Gibson's stuff, some of the truly spectacular sci fi I have read is the very-dense-and-not-at-all-thriller-ish Mars trilogy (Red Mars, Green Mars, and Blue Mars), and the fast-paced-and-awesome Spin by Robert Charles Wilson. That led me to read all of Wilson's books, many of which are also good. Also Haldeman is an author worth reading, though not all of his books hit their mark.

Great sci fi is my favorite fiction, but IMO most of it is broken by being fundamentally implausible. Other fiction I consider great in other genres include Memoirs of a Geisha, Cold Mountain, REAMDE, The Son, The Road, the lighter but still version of that post-apocalyptic concept The Dog Stars, City of Thieves, and All the Pretty Horses and its sequels.

It's probably symptomatic of a major flaw in my character that despite also buying dozens of nonfiction works (Lincoln, On China, and so forth) over the past few years, I haven't finished any of them.

Asimov's Foundation (I only recommend the trilogy, though; Foundation's Edge is good but will make you want to read Foundation and Earth, which does severe damage to the universe. Haven't read the prequels.)

Asimov's short stories

Tolkien

Ben Hur

The Count of Monte Cristo (brilliant revenge story)

A lot of Brandon Sanderson's work (The Stormlight Archive is promising to be fascinating)

As has already been mentioned elsewhere in this thread, most of Neil Stephenson's work is just great. Cryptonomicon is my favorite, but The Baroque Cycle (three books) is very good as well.

If you're into crime/mystery fiction, the recently deceased Elmore Leonard was one of the best. A few of his books have been made into movies (Get Shorty, Jackie Brown, The Big Bounce) with mixed results, but I do I highly recommend reading the books, which are numerous.

For a different sort of fiction, James Clavell's Shogun, Taipan, and Noble House are great. In fact, Noble House very well be my favorite book. It's a long (~1400 page) book about business dealings, political intrigue, and more. All set in the context of 1963 Hong Kong.

Those who like a touch of historical fiction could take a look at Conn Uggulden. One of his series, The Conqueror, which is about the rise and fall of the Mongol empire is pretty interesting. The books are a light read, and not particularly complicated, but it's entertaining and has some neat historical bits.

I've been chewing through some Neil Stephenson books lately. I think a lot of his earlier work was somewhat prescient (in terms of general themes) and some of his newer work bring up some interesting societal points especially about the role of government with regards to technology. Another theme that I feel is particularly relevant lately is the bifurcation of the technically skilled (or even aware) and the technically unskilled. He puts up an interesting split in Anathema which wittingly or not might well represent a lot of the current hacker/tech-elite discussion in society at large. Anathema is well worth a read and Cryptonomicon is just plain fun (perhaps more relevant lately than it was in its own time).

East of Eden is my favorite book I've read in the last several years. Beautiful end to end and very moral. If you've read it it's totally worth reading Journal of a Novel: a collection of letters Steinbeck wrote to his editor every day as he was writing East of Eden. It's a fascinating window into the mind of a master deliberately creating a masterpiece.

Other favorites: Crossing to Safety by Wallace Stegner, In Our Time by Hemingway, The Magus by John Fowles, 100 years of solitude, Moby Dick (perhaps a precursor to all modern fantasy?) Stranger in a Strange Land, and Infinite Jest. I've also loved both of DFW's big essay collections: Consider the Lobster and A Supposedly Fun Thing I'll never Do Again.

I know from past threads on this topic that I am not the only person here who has found Robert Pirsig's work worthwhile. I mention it because it is currently on my nightstand, for the first repeat visit in too many years.

While I often read Science Fiction and recently enjoyed Corey Doctorow's Rapture of the Nerds, Last week I finished Jeet Thayil's Narcopolis.

Currently, I am reading the third volume of Rick Atkinson's history of the second world war, The Guns at Last Light: The War in Western Europe, 1944-1945. I've enjoyed all three volumes over the past decade.

I recently read one of Victor Hugo's shorter books, The Toilers of the Sea, and quite enjoyed it. I like Hugo's writing in general: has a rich feeling of time and place, with the style of the sentences he crafts sort of feeding into it. He's not exactly underrated in general, but I don't meet many people in my circles who read his novels.

I also recently read Kafka's The Trial, which I've long known about but never read, and it was good but not at all what I expected. For some reason I expected Kafka to be an intimidating, serious writer, based on how his name has come to be used metaphorically. But The Trial is a very easy read, engaging and plot-driven, moving along at a fast pace. You can read it in a few hours, and it feels like light reading, despite having some serious content.

Everything from Vernor Vinge is top notch. Start with A Fire Upon the Deep. If you like it read the other two books of the trilogy. It's a space opera by degree of events but it never gets cheesy. The amount of ideas put into these books never cease to amaze me.

Rudy Rucker's Postsingular followed by Hylozoic are great books. It's a rather humorous view on postsingular way of life. It's hard to describe his books and Rucker's writing style is not everyone's cup of tea but William Gibson likes it.

Also if you haven't read anything from Michael Swanwick you should give his books a try. It's not strictly science fiction because he likes to slide into more psychedelic and surreal areas of fiction. But I consider that his charm. Start with The Iron Dragon's Daughter.

I also have to mention Cory Doctorow's Down and Out In the Magic Kingdom. I actually don't really like Doctorow's works. Some of them are boring. But this particular book is an exception and absolutely worth reading. A lot of interesting ideas are in play there including reputation based currency, eternal life (through ability to backup/restore body and memories) and extreme transhumanism.

I liked Rainbows Edge because in addition to a nifty story, it felt like a blueprint or use case for the near future. Marshall Brane's Manna did something similar, even if you don't consider it fine literature. Charles Bukowski for poetry, which for some reason I can relate to, despite not sharing any experiences with the author ... which kind of worries me.

Various practical books such as Secrets of Power Negotiation by Roger Dawson if that sort of thing will help you.

Isaac Asimov's robot series (start with "I, Robot" and "The Caves of Steel") is good, as is his Foundation series. Ender's Game is also good; I've heard other people complain about the other novels in that universe (Speaker for the Dead and sequels, Ender's Shadow and sequels), but I liked them fine. Cryptonomicon is rich, fascinating, and entertaining. Dune is rich and pretty fascinating. Heinlein's "Stranger in a Strange Land" and "Time Enough for Love" are somewhat scandalous, but I thoroughly enjoyed them.

Outside science fiction: P.G. Wodehouse's Jeeves and Wooster novels, as well as what of his other books I've read, are hilarious and brilliant; I would suggest "Right Ho, Jeeves" as a starting point.

I was recently coaxed into reading the 'Kingkiller chronicles' by Patrick Rothfuss, I was sceptical thinking it would be something like Harry Potter (not my cup of tea) but I ended up really liking it, looking forward to the third book.

I think I have read two pieces of fiction in my adult life. I'd love to read for recreation much more, but if I have time to read a fantasy or horror or science fiction novel, I have time to read something related to my field, instead.

I read history books but also, many others. One of the best classics Sci-fi I've read ever is The Riverworld saga by Josep Filip Farmer. I barealy guess another serie can match the awesome of this story, maybe as some hackers point out, The Foundation is another great series and will entertain you a lot.

I'm a huge fan of Daemon and Freedom(tm) by Daniel Suarez. I guess you can call it a 'technology thriller', with some amazing ideas and impressions of our society. His most recent book, Kill Decision, is along similar lines and also great.

I love reading actual sci-fi too, and was most impressed by the Lost Fleet series by Jack Campbell. Can absolutely recommend those.

Note: I didn't come to these titles myself, they were recommended by Steve Gibson from the 'Security Now' podcast. I couldn't agree more with his taste.

Dan Simmons Hyperion and The Fall of Hyperion are two of the best novels I've read. I read a lot of scifi, and I think they have held up very well compared to some other works that came out in the 80s through the early 90s.

They present a lot of challenges that mankind may face in the future as our technology exceeds us, but they are also very entertaining.

I don't think they actually have a higher failure rate than other large scale web applications. They are just very open about their failures and data. http://status.github.com/ reports an uptime of 99.8% for the month. Not _fantastic_ but very very good.