hacker news with inline top comments    .. more ..    31 Dec 2013 Ask
home   ask   best   4 years ago   
1
Ask HN: How to deal with an abusive co-worker?
10 points by throwaway1980s  5 hours ago   16 comments top 6
1
michaeldwp 21 minutes ago 1 reply      
Well, I don't know the full situation, but I'd like to echo part of what NAFV_P said, with a focus on the talk:

If it were me, I'd probably try grabbing a coffee/tea/beer with him outside of the office, if possible (or, if you have your own private office, then that'd work too), and just talking with him about the situation, peer to peer, and try and understand what's causing this behaviour.

Just try to be tactful about it. Even broaching the subject may be a bit awkward, but if you can figure out a way to discuss this with him in an amicable way, it may be worthwhile.

It kind of sounds as though he's in a very stressful position. Maybe it's just the stress?

It could be something simple. Maybe it's something you're doing or not doing that irks him somehow. It's also possible that it could be something completely outside of you and the company, and he's just taking it out on you inadvertently.

Consider empathizing with him and try to figure out what's going on. Odds are there's actually a reason. Once you figure out what the root of the problem is, you're more likely to be able to figure out how to make things better.

If it's something you can do to help, you can try and resolve the issue. If not, just try to come to an understanding that there's no hard feelings; that you'd like to at least remain cordial, and even friendly, if possible...

In my humble opinion, getting HR or your/his boss involved as mentioned below/above may work on the surface, but you'd likely just be forcing him to suppress whatever it is that's upsetting him... not sure how well that'd go in the long run. At this stage, I'd go for the "talk with him" route. But maybe that's just me.

If you talk with him and it doesn't help the situation, then at least you truly tried getting to the root of the matter.

I dunno, just a thought for your consideration. I hope this helps somehow.

Disclaimer: I've never been in this situation before... this is just my two cents on the matter.

2
NAFV_P 1 hour ago 1 reply      
Sympathies, my dear hacker.

> Few days later, I would be given a curt apology, reassurance that this wouldn't happen again, and Jerry would ask me to forget all about the incident. Jerry would then treat me as if nothing had happened at all, and would back to being polite and professional. Later, the process would repeat itself.

This indicates he is aware of his poor behaviour, but it seems he hasn't given any reasons. You haven't stated whether you have talked to Jerry directly about this, if you haven't I suggest this would be a first step. Whether or not this is successful, analyse what his response was. It will give you a deeper idea of what kind of sociopath you are dealing with.

HNer grumps said below to weigh the risks. This is a very difficult problem that I have dealt with myself, so I would say from my experience to tread carefully. Before doing something, you need to second guess how other people will react, and prepare accordingly.

You mentioned that he makes over the top requests, such as indirect communication via your boss. One idea I would suggest is to bow down to all his requests, no matter how silly (unless it is dangerous or illegal). It sounds like your job is very fast paced and results are demanded on time. Eventually his behaviour will have an effect on the system, especially if he holds a critical position, and it will be noticed.

Shitty behaviour in the workplace seems to be a growing problem (I've seen several articles regarding this trend in the last year or so). Would anybody know of any forums or websites that deal with this? Has anyone come up with a hack to solve this problem?

3
frostmatthew 4 hours ago 1 reply      
> My boss already knows how Jerry acts and hasn't done anything.

If your boss knows how Jerry treats you (and that you're uncomfortable/unhappy about it) and he's unwilling to do anything about it you might want to consider talking to your boss's boss. If neither is concerned with how Jerry treats his co-workers it might be time to update the resume.

4
penguinlinux 4 hours ago 1 reply      
You are not in high school anymore, you don't need to accept the bullying of this guy. Tell him to act like adult, and tell your boss that he needs to follow proper HR practices and control this guy. Your sanity and peace of mind depends on a healthy work environment. If your boss can't control this guy tell him that you will seek legal advice on how to deal with this situation.

You boss will hear this and make sure things get under control. the last thing he needs is a lawsuit

5
jardaroh 4 hours ago 1 reply      
This is simple, you can turn in your letter of resignation. While you do that, explain that the situation has just gotten out of hand. Thing is, a company can't just fire someone unless they have a reason to, if they feel they are losing employees they get that reason.It is a gamble though, so stay cool and think it through.
6
orionblastar 2 hours ago 0 replies      
First you have my condolences and sympathy. Many times I have been in that same position, coworker is a jerk, bully, harassing me, being abusive and violating company policy.

I really don't know what the right solution to that is, because every case I had they kept the abusive employee but fired me.

I was nice, professional, and asked the abusive employee to please stop that behavior as it had made me feel bad, and asked management to look into it when he or many others refused to treat me like a human being.

In 2001 the stress from that hostile environment was so much, I got stressed out and developed a mental illness and then went on short-term disability and as soon as I returned I was fired.

Ever since I could not hold a job, because if an employee noticed I was mentally ill, they would abuse me, and if I complained about it I would be fired.

Sadly most managers feel that the employee who is picked on should be fired just because they are complaining about other employees. In fact in some cases the abusive behavior is rewarded by promoting the abusive employee or giving them a pay raise and telling them in front of the other employees what a great job they are doing.

Sometimes this abusive behavior is done on purpose to get rid of a coworker they don't like, so they 'skirt' the rules and policies and do whatever it takes to make you quit or be fired. It is called office politics for a reason.

2
Ask HN: Best tech product or technology of 2013?
8 points by aaronetz  5 hours ago   6 comments top 5
1
keithwarren 4 hours ago 0 replies      
Lumia 1020 represents probably the biggest leap in phone+camera tech we have seen. Given the ubiquity of this kind of tech, to make such a leap is kind of a big deal.
2
mmettler 4 hours ago 1 reply      
Coin: https://onlycoin.com

One credit card to rule them all.

3
kirualex 4 hours ago 0 replies      
Bitcoin - not created in 2013 but really came out for the non-techs this year. It's in my own opinion a glimpse at the future of money.
4
niquels 4 hours ago 0 replies      
I have been enjoying my Pebble smartwatch. It's like having multiple monitors on my phone, and it's unobtrusive.
5
mknits 2 hours ago 0 replies      
3D printing and WiFi enabled LED lights.
3
Ask HN: What did you make this year?
4 points by adambard  3 hours ago   9 comments top 7
1
jere 3 hours ago 1 reply      
Awesome. I love the idea of wagr. It's like an informal LongBets. Kudos on learnx also. My list is not so impressive, but here goes:

-I made a wilderness survival game for 7DRL 2013. http://humbit.com/rogue/ It's not for everyone, but it did make a "Best of 2013" list for roguelikes.

-I made my own static site generator in PHP that uses S3/cloudfront. Because why not. The result is a fast blog I think looks great. http://jere.in

-I made Autumn.js, a library for hashing keys to colors. https://github.com/nluqo/autumn

-I just finished up (and am desperately looking for feedback on) http://letspaste.com/ a gaming screenshot site. I think this is a really neat idea, but I'm not sure if anyone gets it yet. It did teach me about a few JS libraries though: packery and hopscotch

My goal for 2014 is to start writing things people actually need/want and to get off of Dreamhost ASAP (yea I know).

2
mahadazad 18 minutes ago 0 replies      
I made many full fledged website scripts this year. Which are very unique.

http://www.mememakerscript.comhttp://www.customqrscript.comhttp://demo.pinscriptpro.com

have a look

3
krapp 2 hours ago 0 replies      
almost everything I made is here:https://github.com/kennethrapp

and herehttp://profiles.wordpress.org/kennethrapp/

and here is an example of something i've been messing with this all semester:http://precis.gopagoda.com?url=https://news.ycombinator.com/...

None of it is brilliant or groundbreaking and almost none of it has made me a dime.

I also have two semesters of Java and C++ projects which should probably never see the light of day and a forum/HN clone in Laravel which does work but has been put on the back burner for months and months, and my own site which is currently running a half-arsed attempt at a custom PHP framework.

So yeah.

4
mcarrano 2 hours ago 0 replies      
I did not have the opportunity to work on my own projects much this year.

I am going into 2014 strong as I just released an Android application that I will continue to improve in the coming months...

https://github.com/michaelcarrano/seven_minute_workout_andro...

5
garrettdreyfus 1 hour ago 0 replies      
I made a cool python script to tear away the unneeded parts of your CSS libraries. check it out at https://github.com/garrettdreyfus/Libstripper.
6
namecast 1 hour ago 0 replies      
I've recommended learnxinyminutes.com to tons of people, I even showed it to my landlord when I was visiting Thailand. Very cool project.

For me: I re-built Namecast (https://www.namecast.net) this year. It allows you to manage your DNS using Git and GitHub.

7
sbooks 1 hour ago 0 replies      
TrackMyDrive.com, simple mileage tracking done from your smartphone or online. Spent most of 2013 improving the iPhone app.
4
Ask HN: How to increase self-discipline as a self-employed person?
299 points by desushil  1 day ago   115 comments top 58
1
awjr 1 day ago 14 replies      
Been working from home from the end of 1999 on and off up until the middle of 2012.

1) This http://www.youtube.com/watch?v=KGg1567fzTY almost posted anonymously). Deal with it :)

2) If you have a family or a partner. Just because you are at home does not mean "can you just put on a wash". Build rules into engaging with the family. You are working. You are not to be disturbed. If you choose to 'come out' of your office and engage with the family then that is your choice. Emergencies are acceptable interruptions ;)

3) Make an office. The kitchen table is not a great space. A spare room, an office in the garden. Some place where you can just be professional. Avoid having the office in your bedroom. You need a room you can lock.

4) Exercise. Seriously this is huge. Too easy to slob out. If you get up and work at 6am, then go to the gym at 9. Do something. Make sure people you work with KNOW this is your routine. Make it a routine. Get out of the house and do something. Do not buy an exercise machine and stay locked in the house. Clear your mind, stay fit, and go out and see the world around you. Don't like Gyms? Go running, swimming or, my favourite, cycling (it clears the mind and you can easily cover 10 miles while solving a difficult problem).

5) Get a dog :) Best decision I ever made. Get's you out and walking. You meet other people and mine keeps my feet warm. Oh and she's very good at solving technical issues. Sounds mad, but sometimes just talking about a problem to her makes it work for me (and makes me look less stupid when I have to discuss the problem with work colleagues).

6) Eat well. You have the time to make great food. Use it. Learn to cook great food.

7) Pomodoro method. Some like it some don't. (I'm not a fan.) I prefer things like coffitivity. If things start going south, try it. It's a decent rule system.

8) Skype. If there is a group of you working together, just skype each other and carry on working.

9) Socialise. Suddenly this is huge. Find local interest groups. Go to meetups. Get involved. You won't realise it, but you can get your head down and 3 months later you haven't seen anyone recently, cos y'know, work. Join clubs. Do stuff. Give yourself a reason to not be working in the evenings.

10) Monthly team days. Once a month get together and have a hackathon. Go get drunk. Be a team.

11) Use trello. I mean REALLY use it. A complicated example here http://community.uservoice.com/blog/trello-google-docs-produ... but build your own work flows that work with your team. Don't be afraid to tear down your process and start again AND most importantly, EVERYBODY buys in. Don't be the only person using a project tool. You will fail.

12) If you end up doing a 16 hour day, recognise you've done two days work. Have a reward. Go see a museum. Have a long lie in. Finish early and go for a ride. See (1) ;).

13) Have fun. Be comfortable in working on your own. Give it 6 months. See how it feels. Don't like it, then move on.

14) I may have mentioned this...exercise. Get out and do some every day. No excuse.

15) Requirements management. It's a pain to do, but clients try and be sneaky. Avoid fixed price unless you KNOW exactly what it is they want. Most don't and even those that do, change their minds. Your fixed price contract MUST include a change in requirements clause and what happens when they do. You will invoke it.

16) If your client is haggling over local sales tax....walk away. Imagine the pain you will go through haggling over signing each feature off.

17) Have payment milestones.

Right must go walk the dog :)

2
EvanMiller 1 day ago 5 replies      
I have to challenge the premise that most of the responders have taken, which is that working on a daily schedule is "better".

On the contrary, I find that my work habits are a lot like yours -- and I think that's a good thing! Sometimes I will be possessed by a coding demon and crank out work for days (weeks?) on end. Other times I will putter around watching TV or brainstorming ideas.

For me the whole point of being self-employed was to NOT have to show up to an office (or home office) and work 9-5 every single day. A creative human brain is a rare and marvelous creature, and we understand very little about how it works. I think the best thing to do is to let it run around and work when it feels like working, or read a book when it feels like reading a book. I personally find my creativity withers away under a strict work regimen.

If your work is not creative and you're just grinding it out for money every day, then by all means, follow the advice in the other posts. But if your work requires imagination and making unexpected mental connections, then don't worry too much about "efficiency". As long as you're thinking about something related to work most of the time, over the long run your real productivity will exceed that of all those poor saps who measure output as a function of mindless hours in front of a computer.

Embracing your "lazy" side requires a certain amount of courage, but if you can make ends meet while doing it, you'll be happier and end up doing better creative work. In any event, don't worry too much about how most people say they do things. Do what feels right to you. Good luck!

3
enobrev 1 day ago 0 replies      
I've successfully worked from home as a developer since 2001, most of which was in a 450 square foot apartment with roommates in a very noisy part of Brooklyn. Now I'm in a far more comfortable 2 bedroom with a view in Seattle with a separate bedroom as an office (and a door!), but my career was defined in that tiny shoebox of apartment.

First and foremost, boundaries are necessary. This is both for you and for the people around you. You don't have to explicitly work 8 hours in a row every day, but whenever it is that you choose to work every day, disruptions should be completely closed off.

This means if you have roommates, they need to know that when you're working, you're not listening and impossible to distract. For me, this has proven far more difficult with significant others who have lived with me. I have lost a couple long term relationships with women who did not understand this, and the woman with whom I'm now engaged not only appreciates this this very important invisible wall, but helps me maintain it.

Same goes for other outside distractions. It would be weird if your friends dropped into your 9-5 job and sat on the couch, cracked a beer and started playing video games, or if they called your office line every 20 minutes to try to convince you to head out for whatever might be going on. This same limitation needs to be set at your home. If necessary, maintain a separate lines of communication between work and personal life (phone, IM, skype, email, etc) to make sure that while you're working, you can concentrate on only communicating with work associates, and the opposite is just as important - when you're enjoying your life, leave work to your office space.

And if your home office is in a distracting neighborhood (as mine very much was when I was living in Brooklyn), turn some music on, wear some headphones, find a coffee shop, or rent some office space somewhere quieter. Depending on where you are, it's not difficult to find a company that happens to have an extra desk or two and is willing to rent one out at a fair price.

Give yourself a great office space that you look forward to spending your days in. Mine was a corner of a room that was sometimes also a bedroom and sometimes also a living room. But it was the most well kept at all times. Three monitors, a quiet and fast computer, a comfortable chair, interesting art on my wall, a great keyboard and mouse, a relatively clean desk, a decent coffee maker, great stereo system, studio-quality headphones, high speed expensive internet, and a giant roll of paper with some markers that I could brainstorm or play with whenever necessary.

I've read some other great responses here about exercise, and eating right and so on. I agree with all of the above, but I didn't bother with such things until the past 5 years. I never exercised, I worked stupidly long hours (occasionally 36 hour days), I ate crap, I partied at all hours, and I'd never set a schedule. I began changing a lot of that in the past five years or so. I now limit myself to 16 hours in a day (but usually keep my limit to 8) and I exercise more and I eat better. But I do those things because I turned 30 and realized 9 years of random debauchery and no exercise do not do much for ones health and figure. I'd be a liar if I told you I did that during the most crucially defining portion of my remote career.

As for the Real Motivation. All of the above and all the advice in this thread, and all the advice I've read elsewhere (and mostly ignored) about remote working have no competition with this one single point. What has motivated me more than anything in the world: Challenging Work at High wages. I always needed at least one of the two or the project would definitely fail, but having both ensured that I'd always find the time, energy, and space to get the work done well, efficiently, with great communication. The office space didn't matter. The noise didn't matter. The schedule _Definitely_ didn't matter. I was unstoppable provided I had Work that I couldn't possibly tear myself away from and a sizable check at the starting and finish lines to help keep my life in order.

Good luck.

4
was_hellbanned 1 day ago 0 replies      
"Unlike my previous job where I had to work 9-6 ... sometime I work for a continuous 16 hours and then sometime I find myself I haven't looked at that project in the last two days ..."

I think that's actually really natural, and mimics the patters people were in before industrialization.

Even when I was doing corporate work, that's very much how I ended up actually getting things done. Sometimes it takes hours and hours to wrap my head around some API and make the mental connections, at which point I'll just keep coding until I run out of juice (typically the point when I realize I'm just making errors, coding in circles, and resorting to random edits). The annoying thing in the corporate world is that you can't just spend most of the next day in bed, or on a hike. Instead, I'd work extremely hard one day, then slack off and browse the Internet the next two days, and maybe fix some trivial bug for the sake of a logged checkin.

In my current system, I would say my most valuable habits are:

1) Cardio. My goal is to do 15 - 30 minutes of HIIT every morning. In reality, I end up doing it a few time per week. :-) Honestly, nothing gets me energized and motivated like doing consistent cardio. Two weeks of 30 minutes every day? No depression, constant motivation, sex drive, etc. Incidentally, forcing yourself to do this somewhat uncomfortable act regularly is itself a way to develop discipline.

2) Pomodoros. Once you start forcing yourself to work in focused intervals, you start to realize that you don't actually work that much every day, which is rather liberating.

3) Task estimation. I break down tasks by the number of anticipated hours, then check off every Pomodoro (effectively 1/2 hour) next to the task. Ineffective estimation has been both massively demotivating and very eye-opening. My estimation and attention to detail in analysis has improved significantly from forcing myself to do this. It's also easier to force myself "into the mood" for coding when I'm actually reasonably sure that I only have to do 1.5 hours of work, then I can go play.

4) Block all attention drains in my hosts file. HN, Reddit, etc.

5
mikemaney 1 day ago 0 replies      
I've worked from home for the past 6+ years. I started with several of the routine recommendations below (all good). What I've found over time, however, is that the routine route is -- in most cases -- simply a transfer of traditional office culture to a work environment that is anything but.

My recommendation: embrace flexibility.

Man-made time constraints are no longer part of your world (outside of deadlines). Technology no longer requires that you are chained to a desk. Shake things up to stay fresh. Don't let yourself think 9-5, 5 days. Your life is now 24x7, 365 and you are in control of how you use those hours.

That said, there are some spot-on recommendations here by others based on my experience:

* Exercise. I've taken calls on 50mi bike rides and from roadside taverns. Helps to have a buddy you can draft off during the calls.

* Nutrition. Laptop on counter. Work. Cook.

* Standing desk. You'll find yourself moving around a lot more rather than slouching in a chair and never leaving your monitor. On that, if you have the means, spread devices around your house. Mix up your screen time.

* Get up early. This one took some time, but is perhaps the biggest thing you can do. It jumpstarts everything.

* Sunday night scheduling. I believe it was Tim Ferris' 4-hour workweek that started this. Sunday night, write down what you want/must accomplish over the next week. When it's done, it's done. Doesn't matter whether it's Tuesday or Sunday.

* IM. IM. IM. Some see random IM conversations as interruptions to be avoided. They aren't. They are your watercooler, your vent, your muse. Embrace them.

Good luck! It's a great adventure.

6
lisper 1 day ago 0 replies      
Maintaining self-discipline while being self-employed is related to but not quite the same as maintaining self-discipline while working from home. My advice would be to achieve clarity on which of those two is really the issue, and if it's the latter, then do one of two things:

1. Find a co-working space and go there to work.

2. Failing that, mark the start and end of your work day in some semi-formal way. When I was managing a team of people working from home I instituted the following policy, which seemed to work really well: when you decide it's time to "show up" for work, send an email to the team saying, "I'm in", and a one or two sentence description of what you're working on that day. When you're done for the day, send another email saying, "I'm out" and another one or two sentence description of what you actually managed to get done. Just that little bit of structure made a huge difference. If you don't have a team, then collect a group of other self-employed-working-from-home people to be mutually accountable to. Even just sending such an email to yourself might help. The act of actually writing things down activates different neural pathways than just thinking about things and so makes a difference in your mindset.

7
edw519 1 day ago 0 replies      
This is what has worked for me for 28 years:

1. Establish a standard daily routine. Follow it every day, Monday thru Friday, without exception. This is the key. This is what you must do every day, whether you feel like it or not. Weekends can be different.

Mine (yours should be whatever works best for you):

  06:00 - work out  07:00 - breakfast at desk, email, internet  07:30 - start work, short break every hour  12:00 - lunch (at desk or go out)  13:00 - continue work, short break every hour  17:00 - start nightly crons, LOGOFF!  17:00 to 20:00 - dinner, family  20:00 to 22:00 - my time, including logging back in
2. Have a dedicated work space. The desk & computer should be used ONLY FOR WORK. If you can, have a second computer for personal. Your work computer should be in a separate room with a door that closes.

3. DO NOT surf the internet, text, chat, or use the cell phone (except for work)! This is absolutely critical. If you break this rule, you will never have a boundary between work and !work.

4. Before you go to sleep write down exactly what the first thing you're going to work on the next day. The rest will follow.

(EDIT: Check out all of the responses in this thread. Most of them are excellent. Especially note all of the things that are repeated.)

8
auctiontheory 1 day ago 0 replies      
Suggestions from my own experience:

1) Set written goals: quarterly, monthly, weekly, and daily. I have a pre-printed "form" that I populate with my goals. Then I check them off at the end of a period (day, week, etc.), grade myself, and make notes about what worked, what didn't and what I learned. Save these in a binder so you can see your progress, or lack thereof.

2) Use Pomodoro or HoursTracker or some other app that works for you. Observing how many (few) hours I was productively working was eye-opening.

3) Reward yourself. The idea is, work shouldn't stretch on "indefinitely" - then you have little psychological incentive to complete.

4) Separate your workspace from your living space, even if it is only a desk that you use solely for work.

5) Use StickK or some other form of commitment contract.

6) Use SelfControl or other internet-limiting app. Watch out for blocking Google URLs though - block youtube, and you can end up blocking Google Drive.

7) In the beginning, overinvest in setting up systems and tracking to discover what really works for you. Getting a good system going will easily pay for itself in efficiency gains.

9
thelogos 1 day ago 2 replies      
Many people have already recommended exercise, but I would advise you not to jog or lift high rep.

Why? It's repetitive and time consuming. It also doesn't do anything for your testosterone level.

If you're a guy, you have to keep your testosterone high and that means short burst of high intensity exercise.

That's the #1 priority. It will increase your willpower and ability to cope with stress. It'll also lessen the pain of social isolation.

You're going to be socially isolated no matter what. Working at a coffee shop doesn't matter because you'll most likely won't spend your time talking to people.

Testosterone will also keep you from packing on the fat, which is really easy to do when you work at home.

My solution to this is eating healthy and stimulants.

Caffeine and nicotine patch will reduce your appetite significantly. I feel no desire to snack between meals.

It will also keep you focus and motivated. They're much more sustainable in the long run than prescription stimulants.

Lastly, take fish oil and vitamin d3. This is not optional. Most people's diet don't contain enough fish oil, the inflammation will bring on depression and sap your mental strength. Same for vitamin d3, most of us aren't exactly outdoor creature.

10
vmsmith 1 day ago 0 replies      
I started working for myself from home earlier this year. Although it's great in many ways, there are several challenges.

As you have noted, the lack of an external structure is a big one. Here's what I do...

First, I map out a long-term timeline, which is generally a season (spring, summer, autumn, winter). I identify goals, objectives, events, etc., and map them out in a simple open source PM software package.

Second, each week -- usually late Friday afternoon or Saturday -- I take the broad project plan stuff and create a more detailed plan for the next week.

Finally, at the end of each day I write a very detailed list of things I am going to do the next day. This includes work stuff, but also anything else: chores, exercise, etc.

When I get up in the morning, I look at my list for that day, and tackle it. Round about 5:00 pm I review the list and make the next day's list, and at 5:30 I treat myself to a Manhattan and some good music. Then it's dinner and whatever.

I also journal my work-related stuff in iPython notebook, and I keep an accounting of my hours in an Excel spreadsheet.

All that keeps me focused.

It's also important to provide yourself some relief. When you first start working like this, you realize how much time is spent at a normal work place not really working. In a normal work place there are meetings, water cooler chats, and so on. So it's important not to think that you must be productive for eight solid hours a day, because in most work environments you aren't. I plan on some reduced amount of productive time, and factor in what I call buffer time. After, say, 90 straight minutes of work, I might take a 10 - 15 minute walk around the neighborhood just to clear my mind and get my blood flowing.

That's what works for me.

TL;DR: Make a detailed daily list of things to do, and do them. Balance the list, and reward yourself at the end of each successful day.

11
ISeemToBeAVerb 1 day ago 0 replies      
I struggled for a long time when I started working from home. I tried all kinds of things, but what ended up working best for me was treating it like I would any other job.

I get up and go to work at the same time every day. I take time off for lunch, and I quit at 6:00 PM every day (assuming I don't have any pressing deadlines).

That's not to say I don't allow myself any benefits of working from home. I'll take a long lunch with a friend every now and again, but I try not to let my routine slide over an extended period of time.

It's also important to set a precedent early on about what disturbances you're willing to tolerate, if any. I handle distractions the same way I would at an office. If it's an emergency, I deal with it. If it's not, I politely remind the offender that I'm in the middle of work and then I get back to it.

As far as temptations go, I think it depends on what your vices are. That being said, controlling your environment is the easiest way to limit your temptations.

For me, internet browsing was by far my biggest time-suck so I used an app called "Self-Control" to block access to sites I waste time on. I don't need to use it anymore, but it helped a lot in the beginning.

I also used to do crazy stuff like unplug my electronics to keep myself from watching TV or playing games. Taking the time to plug everything back in was usually enough to remind me I shouldn't be doing this right now.

Really, It just takes a bit of experimentation to get the ideal routine down. Took me over a year, but now I'm super productive.

12
robbiea 1 day ago 0 replies      
I've been through the same exact situation and was able to get out of it. There are a lot of great tips here that detail how to organize your schedule tactically, but I'll give you a little different insight on how to convince yourself to adjust and work a schedule that is better for you.

#1) Recognize that the reason you are looking at other projects is because you feel free or unleashed from your full-time job and now all of the creative restrictions that you had are now gone. So, this is you acting up because NOW you have the chance to do something that you want to do, even though you still are busy with this new remote gig. You are dreaming, which is great. This is normal, and from my experience almost never goes away.

#2) Recognize that the work you are getting paid for now is your #1 priority. Dreams come second. You still have a boss, even if your boss is your friend. Anything you do outside of this work, your friend could care less. Do not lose insight of that.

#3) If you do start a new "side" project, make sure you finish it. I ran into many issues where I would start a new project, get people involved and then never finish it. It was by far the worst feeling I've ever had in my life.

#4) None of these tactical schedules that people mentioned below will work if you don't know why you continue to do browse new projects or sit down and watch multiple seasons of sitcoms. This took me about 8 months to figure out, so you have some time to go :). What is your longterm goal? To make money enough money to live comfortable or to become Oprah successful?

#5) Get help right away. By help, I just mean other people that have been through a similar situation and that you can ask for honest feedback from. Obviously this HN post is a fantastic start. Find someone you can call up directly.

If you need more insight (or anyone else on this thread), my contact info is in my profile.

13
SkyMarshal 1 day ago 0 replies      
>and then sometime I find myself I haven't looked at that project in the last two days as I spent it by browsing random projects on the internet, working on other things, watching multiple seasons of sitcoms or just brainstorming about product ideas that I can build in future!

Start by cutting out the truly wasteful things, like watching TV. Throw your TV in the trash (seriously), or first thing every morning get out of the house and go work in a library or coffee shop for five hours or so.

The other things you mention are part of the creative process - browsing other projects on github or wherever for ideas, brainstorming, working on other projects (eg decluttering your todo list).

If you break your main project down into component parts and estimate it, that will give you some baseline/benchmark as to the rate of progress you should be making on it. Assume a 9-5 workday and no more than 5hrs of actual work on the project per day. If you're roughly keeping up with that by working odd irregular hours (16hr sprints, 2 days off, etc), then you're in good shape. Otherwise it will give you an idea of how much more you need to reallocate to your main project.

14
apunic 1 day ago 0 replies      
Your real problem lies somewhere else: You lack motivation because your work lacks a long-term perspective. Being a freelancer who sells his personal time is not what you intrinsically aimed for. You need something which is it worth to stay home alone and this is not being a mercenary selling his time for money. And the goal can not be just 'to work from home and being free' either, you goal must be way bigger and 'working from home' is a means to an end.

Once you work on something big structuring the day with all good things like exercise, good food, socializing comes by itself and you won't need a dog or any other mumbo-jumbo, though Pomodoro comes sometimes handy just to get started and getting shit done since some procrastination always happens.

This is my experience from working home for the first years of my company (which was the most productive time of my life).

15
jakobe 1 day ago 3 replies      
One thing to note is that being self-employed doesn't mean you need to work from home. I always had trouble staying focused at home, and since I have kids working from home is almost impossible for me.

I now rent a desk in a shared office, and I work regular hours. I work 9-4 four days a week. I leave my laptop at work, so I can't do anything except answer the occasional email from home (when the kids let me).

It makes a tremendous difference. When I'm home, I often think of something I want to fix, but since I can't work at home, I have to wait until the next day. When I arrive at the office, I'm already eagerly waiting to get started and most times don't even think about checking HN.

(It doesn't always work. Sometimes I still have trouble focussing, but that was the same when I worked a "normal" job)

16
ak39 1 day ago 0 replies      
In my experience I've noticed that lack of discipline is related to two things (both of them subconscious). Lack of discipline strikes me when:

1. I can easily predict what the end goal of any of my current project is ... and it is less than what I want for myself. So I procrastinate the inevitable. As if delaying it will somehow miraculously make it worthwhile after some time has passed. Waiting for an epiphany to salvage the fait accompli?? I am not sure. This is all of course subconscious. I don't like where my current project is leading me to so I watch sitcoms or come to give unsolicited HN advice. (Not really)

2. I subconsciously avoid facing my burn-rate. Burn-rate is a function of time and can be both direct financial (material) as well as opportunity costs. Facing it is single most terrifying thing for me. My unfounded fear is that it paralyses me. On the contrary.

The solution to 1 is to write down a single page or picture of where your current project fits into your bigger goals. If I can see this type of plan clearly for my current (boring) project and its global context is something I am easily reminded of regularly, I galvanise into action - no matter how boring.

Promising a deadline to your client is also a good way to work towards it. Nothing like a nagging email or phone message asking about your progress to get your arse into action.

The solution to 2 is to keep sight of your overheads by again writing a single page of your costs (burn-rate) as a function of time. And there's always a burn-rate. Planning for 3-6 months in my case seems sufficient. Make a poster of this and stick it where you can't miss it.

Hope that helps you too.

17
mailarchis 1 day ago 0 replies      
I struggled through the same thing for couple of months. Few things that helped me get back on track

1. Define your working hours and stick to it. Setup alarms and go to work at same time of the day every day.

2. Designated working place - If you are working from your home, try to setup a place in your house that you will use only for work. Don't use it for anything else. The way it worked for me was when I got to that place, I used to switch into work time mode and when I got out of it, I will switch back personal time mode.

3. Log your hours - Use something like toggl to log your hours for yourself. Track your working hours and if you are falling on the short end, you will make up for it by working on weekends. But eventually you will try logging consistently your work hours.

In the end, its matter of creating a habit.

18
rglover 1 day ago 0 replies      
I've been working from home for the last 2.5 years and the biggest lesson I've learned is to embrace the ebb and flow. Keep a schedule, of course, but if you have a day where you can't focus and get things done: don't beat yourself up. When this happens to me, I try to dedicate my energy to something else like reading, writing, or setting up a meeting with a friend.

Seriously, it's extremely easy to kill yourself working from home. An office provides certain boundaries that are not available at home. Defining these early in your at home career is important if you don't want to bum yourself out.

19
VLM 1 day ago 0 replies      
Feel like you're on call? Here's one small clearly defined task, get this thing done so I can get back to living?

I've done the on-call / pager thing, and although I work in an office environment with flex time, I've been stuck working in the house due to blizzards and such, so I have some experience with this. Also lots of on line classes.

It might be a total drag, but break down the project into "couple hour" pager / cell phone / emergency feel of tasks, then knock out exactly one task, then go live for a little while. Exercise, or cook/eat, or socialize or whatever, then "pretend" you just got a page and have to work the next task.

I've been on call before, so social issues WRT working at home have not been an issue. You're not "working at home" you "got a call from work"; no one else need know "the call" was just another regular project mismanagement conversation or watercooler gossip.

No need to simulate it down to the point of random alarms on the phone, but if you have to, then do it.

20
lbrent 15 hours ago 0 replies      
Some things I have not found mentioned yet:

1) Changing places inside the house (or moving out to the garden if the weather allows it) sometimes really helps me to beat the monotony. I do have a special workplace reserved though where I spend most of my time.

2) Exercise has already been mentioned. Running works best for me, because it is done outdoors and therefore kills two birds with one stone (three if you have a dog).

3) Another thing that has made a big difference for me was starting a regular meditation practice. I have since noticed that it makes it much easier for me to control my focus and handle distracting thoughts. And there seems to be at least some evidence that I am not alone in this:http://news.harvard.edu/gazette/story/2011/01/eight-weeks-to...Intensive Meditation Training Improves Perceptual Discrimination and Sustained Attention: http://pss.sagepub.com/content/21/6/829.abstract

4) Include relaxing activities on your daily agenda. Letting go is important for your wellbeing and therefore your work performance. Make room for it and allow yourself to enjoy it without feeling bad about it.

21
shamp00 11 hours ago 0 replies      
I spent 15 years working from home. Everyone I know who worked successfully from home had some sort of trick to get into work-mode.

I always went out for coffee first thing. While I was out my apartment would magically transform into my office and I would come back 20 minutes later ready to work.

I know a guy who always put on a suit and tie even though he was at home because it got him into the right frame of mind. Whatever works. You might say the whole point of working from home is NOT wearing a tie. But if you can't find a way to work well from home, you will eventually have to admit failure and go back to working from an office.

Tell you what though: once you find your start-the-day trick and you feel you are working productively, you'll have to find a similar reverse-trick to get out of work-mode at the end of the day.

22
fit2rule 1 day ago 0 replies      
Its almost impossible to have self-discipline if there is nobody else around to observe it. The #1 thing that I have found useful, when I've been a self-employed worker, has been to have someone else around to talk to about my progress, or lack thereof, over time.

For many, this can be as simple as having a partner who looks out for you and checks in on you, making sure that you're not playing games or whatever distractions tickle your fancy. It could be having a close friend or associate who knows you are a self-worker and who takes a regular interest in your life and actions.

Without another human being around, its very difficult to be self-disciplined. This is just one of those quandries of life - things get a lot easier when you've got someone, anyone, impartial or otherwise, with whom to discuss your daily progress.

23
strictfp 1 day ago 0 replies      
A plan works wonders. Try applying SCRUM on yourself. Set up sprint goals and find someone to demo for, so that you feel the preassure. Also, expose yourself. Angle your screen so that someone else can see what you're doing, so that you feel ashamed when procrastinating. If you have noone else, angle towards the street or share your screen with a partner or something. Have a schedule. Use different logins for work and leasure. I use another wm without distractionware running. Find someone to discuss your approaches with. Working alone increases risk of getting stuck. Planning also helps here. Regularly meet your parners in person, a good time is for demos. Make promises for next time. Stick by your promises. Never over-promise, never under-deliver.
24
yojo 1 day ago 0 replies      
In my experience the times where I find I've done something that "feels" productive but isn't (e.g. browsing projects on the internet, working on other things) are times where I feel stuck on my main task. This could be due to lack of clarity, or because there is a step that is boring/uninteresting/tedious.

The best advice I can give is that when you find yourself unwilling to do the work, break the work down into concrete, bite-sized steps. Then do the first one, then do the next one, and you'll get it done. If you can't do one of the steps because you're blocked, figure out the steps to get unblocked, write those down, and do the first one.

The other thing I've found that helps is to set a clear schedule. The rhythm of the office helps get things done. I still wake up to an alarm at 8, I have a coffee at 10 and 2, and lunch is at noon. My wife comes home around 6, and I try to make sure I'm done at 6:30. I occasionally break all of these rules if I'm in the zone and really getting a lot done. If that happens, I give myself more time off later/the next day to ensure I'm always on a sustainable pace.

If you're already stuck in a distraction quagmire, try to recognize it, and set an alarm for 30 minutes. When the alarm goes off, go back to work. If you still can't work, go take a walk and try again.

25
laurenstill 1 day ago 0 replies      
A while back I quit my 9-5 and started working on a number of consulting/projects on a rotating basis.

One of the things I did in addition to having dedicated work space and clear boundaries was to assign projects on a per-day basis. Most of my contracts are longer-term grant projects where I'm committed to 10 hr/week or so.

Monday = local hardware projectTues = DirectTrustWens = Dignity Healthetc...

I make sure the companies I'm working with understand what their dedicated day is, and have a clear time line of deliverables. This gives me enough urgency on a day to day basis to prevent falling into the trap of "taking care of it later."

I also have a set time for general email first thing in the morning, in addition to break times where I can cook, clean and work on dinner. I know some would say that's a horrible break, but I'd rather do it mid day that at 9pm (as I would when I commuted).

The other thing was removing the tv in the office. I was surprised and how distracting it was, considering I never paid attention to it. I now use use music as background/white noise.

And I can't recommend a pet partner enough, just lock them out during concalls least you earn a reputation of being "that cat lady in policy."

26
kristiandupont 1 day ago 0 replies      
It's a tough one. I made a collection of tips and stuff here: http://procrastotherapy.com/
27
kriro 1 day ago 0 replies      
1) A dedicated "work room" with few distractions is the single best suggestion I can think of. You can clock in and clock out and feel more like working.

2) Try to get up early in the morning as always (if that's an issue for you)...just having a less slackish schedule helps a ton.

3) There's tons of self help stuff out there but I think the two that help me get stuff done the most are:

- Get some notebook and every day write down the date and one big item, two medium ones and a three small ones you want to get done for the day (1-2-3) if in doubt make it LESS. Get into the habit of markering the stuff you work on and crossing it off when it's done.

- Seinfeld method (google it) for stuff you want to do every day. Basically get a calender sheet for the month, print it, hang it somewhere and put down an X when you've done what you wanted. Try not breaking the chain. You can actually practice discipline by doing some random task each day like this (I did it with "go for a 10 minute walk").

Hope that helps, being self employed is a skill that can be learned (imo). The way I look at it wandering off and getting interested in other stuff is my main problem. Everytime I "catch myself" I note it and pat myself on the back for having done one "rep". This can be reading a book and thinking about something else and not remembering what you just read or randomly checking hacker news or clicking on your mail client.[my experience comes from being a poker pro for a bit which is even worse than other self employed jobs because you don't work for anyone and the time you put in directly maps to income...and if you put in bad time it often maps to negative income :D]

28
k-mcgrady 1 day ago 0 replies      
This is a huge problem for me. The best solution I have found is to schedule every thing. I look ahead at the next week and what I need to get done and then schedule it in Google Calendar. I name the events 'Coding (Project Name)'. Typically I do a longer 4-6 hour session in the mornings and focus on projects that have a lot to be done on them still. In the afternoons I schedule a 2-3 hour session and work on projects that I'm finishing up on and doing minor work on. I'm a huge procrastinator ("watching multiple seasons of sitcoms" really rings true with me!) but this has helped me quite a bit.
29
atmosx 1 day ago 1 reply      
All you need to know is here[1]. It's called the "The Art of Self Discipline" and Brian Tracey is probably one of the best examples of self-discipline.

Don't listen to this once. Listen to this Once every three days. If you manage to put in your life 1/10 of what is discussed in this audiobook, you'll see radical changes taking place very very quickly.

I listen to this at least 1 every month by now, while running. I have bought the audiobook two years ago. I still listen to this and keeps me up-to-speed when I feel like not doing things I should do.

[1] http://www.youtube.com/watch?v=JjEDr7enw-c

30
nnnnnn 1 day ago 0 replies      
I posted this before.. but here are some things I do to stay on task (or at least try!)

Lifestyle:

* Sleep ... 7.5 to 8 hrs, no more no less

* Wake up at 8/9 to maximize hours of sunlight

* Lift weights 4+ times per week... the four hrs you spend in the gym will be made up for with 10 hrs of productivity throughout the week

* Healthy diet (high protein, low carbs, low sugar, fresh food)

Computer:

* VIM

* Avoid HN

* Start working right when you get up

* Answer emails / do other menial tasks when tired

* Get rid of all notifications: phone silent/vibrate, no Gmail/fb/twitter notifications outside of the platform itself

31
tgflynn 1 day ago 0 replies      
I recommend using a time tracking app of some kind. The goal isn't to produce timesheets for your clients, just for you personally to keep track of how much time you spend working on projects.

For this to be helpful you need to be very conscientious about using it. When you are clocked in you shouldn't be doing anything but project related work.

One disadvantage of this is that it's easy to forget to clock out.

32
ido 1 day ago 0 replies      
I try to restrict/minimize internet distractions between 10am and 6pm. That means I strive to only check emails in the morning and evening, no facebook/twitter/reddit/HN/etc.

I still have my ipod on do-not-disturb mode so that occasionally I can press the power button and see if there are any gmail notifications, but most of the time I can tell from the subject line that I can safely ignore said emails. If it's important I log in to gmail (with gtalk turned off) ust to answer the important email and then close it again.

33
davemel37 1 day ago 0 replies      
I find adding my to do tasks to my calendar assigning time blocks to specific tasks makes it much easier to just do the work and much harder to waste time. Another method is assigning a specific amount of time to a task. And setting a stopwatch and taking a break when that time is up prevents me from taking more time than needed for projects.
34
ThomPete 1 day ago 0 replies      
Discipline comes from routine.

Here is a possible routine.

1) Wake up at 7 at the latest

2) Take a shower

3) Get dressed

4) Eat breakfast

5) Read mails and news

6) Join #startups on freenode to have some company

7) Say good morning to everyone there (I am blackwhite)

8) Start working

9) Have lunch

10) Back to work

11) Stop at anytime between 5-7

12) have dinner.

13) Procrastinate some more or do some more work.

14) Get to bed at 12 the latest.

Rinse and repeat....

35
philfreo 1 day ago 1 reply      
Turn this baby on at 9am for 8 hours: http://selfcontrolapp.com
36
amorphid 1 day ago 0 replies      
Formerly self employed here. One trick that worked for me, which was inspired by some book w/ a tomato on the cover...

1. Set a timer for 25 minutes.

2. Work until the timer goes off.

3. Take a short break, 5 minutes or so.

4. Repeat :)

What I did was determine how many hours I wanted to work total, usually 40 hours. Then I'd shoot for 80% efficiency, so I'd try to work hardcore for 32 hours. Divide 32 hours by 25 minutes (32 * 60 / 25), and I'd work that many blocks of time.

I found it really helped me focus. It also helped me separate my work time from personal time. It also... well, it helped a lot.

You can play with the numbers to find a pattern that works best for you.

37
avalaunch 1 day ago 0 replies      
awjr did a great job answering your question. I just want to add 2 more things that help me:

1. Get out of the house to work, at least occasionally. I find I'm often most productive working in a coffee shop or at a Panera Bread type restaurant (no waiters, free wifi).

2. Don't quit immediately after finishing off a feature. Start working on a new feature and then quit for the day. This one is big. Whenever I do this, I find my mind continuously returning to the new problem and coming up with ideas on how to solve it. At that point getting back to work the next day is easier than not.

Finally don't stress out too much about what hours you work. Sometimes I work in the morning. Sometimes I work at night. I work around spending time with my son, which is what makes me happiest. That's the best part of being self employed - having a flexible schedule that let's you maximize all of the activities you enjoy most.

38
easy_rider 1 day ago 1 reply      
One thing that really helps me is music. Some people like the coffee shop sounds. I don't. I'm the type you see sitting in the office with headphones on all the time, listening to fast music, and really feeling wired in. At home I often forget to put on some music, because I don't get distracted by people. But without music I find myself looking at youtube etc.When I have music on it puts me in the right mindset, and start producing to the beat (be it drum, be it machine ;)
39
thallukrish 23 hours ago 0 replies      
I actually don't believe in a rigid system office like. In fact you are self employed because you don't want to be part of a process machine called the office. You figure out what is right for you. If you feel you are reading a lot of web, then go back do some work. If you feel you have cracked a problem after lot of hours of work, go and chill out doing some thing else. If you feel you are doing a hybrid of browsing the web which is not work related and coding then turn off the internet. I do a mix of all of these. I feel it is ok to be a bit fluidic but only with the end goal what you are working on in the mind. I mean mostly to creative work - something that you are creating on your own from home rather than a customer paid work which I feel the first comment is good enough to follow. If you are creative, be relaxed and keep thinking on the space you work on, keep diverting your attention from any disturbance and keep going at it...that's the formula
40
dschiptsov 1 day ago 1 reply      
Just love what you do, then you could experience what they call "flow" and, indeed, will need some self-discipline to remember to eat and sleep and exercise.) Self-control is mostly for struggling with boredom or fatigue.
41
adidash 23 hours ago 0 replies      
Great tips already! I have been working from home for the past year or so. In between got into the habit of spending time on HN, reddit, techmeme and was kind of addicted to random browsing. Went on like this for 3 months. The lack of any real output hit me after that and ended up taking the following steps. Not perfect but have helped me come a long way.

What works for me:

1) Create a separate work profile on my mac.

2) Block sites you think are not helping you in your work but eating into your time.

3) Write down just one big action item for the day (has to be done today)

42
mdmarra 1 day ago 0 replies      
You could always work exclusively from a cruise ship. https://news.ycombinator.com/item?id=6697416
43
scotty79 1 day ago 0 replies      
You need lots of daily interaction with coworkers. Ideally, everyday someone should be waiting on the things you are supposed to deliver, to incorporate them into his own work or at least test or review them.
44
bearwithclaws 1 day ago 0 replies      
Two apps helped me best: http://lift.do and SelfControl. Use SelfControl to block all the time wasting sites; Lift for reinforcing beneficial habits/routine such as exercise, eat healthy, meditate.

Work wonders.

45
aethertap 1 day ago 0 replies      
I'm going through a similar process right now and something that's helping me a lot is the advice in The Now Habit. It's a quick read, and at least in my case the advice is effective and sustainable.

() http://amzn.com/1585425524

46
bentoner 1 day ago 0 replies      
Tip: Go to a CFAR workshop.

http://rationality.org/workshops/

47
wyrmlet 1 day ago 0 replies      
I used a time tracker (Yast, but there are many) to keep myself honest and find a schedule that worked for me. If you prefer a 9-5, set alarms and schedule morning activities. But if you work better at a 16 hour stretch with the next day as a break, that is okay! Be patient with yourself and thankful you have such flexibility. Communicate regularly with coworkers and clients; this may help you find a more regular schedule. Remind yourself every day who is depending on you. The most important person depending on you is yourself, so make your own health and happiness a priority.
48
shivekkhurana 1 day ago 0 replies      
Scientifically : Your will power to stay focused is simply not enough (https://www.youtube.com/watch?v=lHfjvYzr-3g).

I'm a student working for different tech companies remotely. From my year long experience, all I can tell you is you need to have a routine with :

a) Not more than 50min work at a stretch (even a 10 minute break will do)b) Limited working hours (you set the limit)c) Workout (running, working out, dancing | something that works out your muscles)d) Social life (with your partner, friends, meetups etc)

Make short todo lists. Get your work done early in the morning(before your family gets up) and keep noon time for meetings and extra work that does not require focus. Evenings are great for working out.

Best of LUCK :)

49
cupcake-unicorn 1 day ago 0 replies      
If you're a gamer at all, http://habitrpg.com uses a system to gamify tasks, and may work for you! I don't use it for work things since I don't work from home, but it's been great to help me with other things.
50
marcosscriven 1 day ago 0 replies      
Three things work for me:

1) Having a minimum realistic goal for the day. By having that realistic goal, I find it much easier to get started, and end up achieving more than I set out.

2) Proper cardio exercise - I find just a 5k run really clears my head, makes me feel good, and relieves the physical boredom of essentially sitting down staring at a screen.

3) Breaking up working time into one hour slots (roughly), and having a decent 10 minute break to stand up, have a drink or whatever.

51
mfrankel 1 day ago 1 reply      
Pomodoros are very helpful. Here is a 2.5 minute guide to them:http://www.brevedy.com/pomodoro-power-time-focusing-in-2-5-m...
52
lukasm 1 day ago 0 replies      
I've been working remotely for the past 2 weeks :)

Have a separate place in your house where you work. No browsing cats there. You may try coworking space or rent an office with a friend.

There are 3 main drawback while working remotely:- Communication (we are wired up that face to face communication is the most efficient) - Interruptions (e.g. screaming nephew)- Human interactions (going to lunch with someone, discussions about tech)

53
adam222 1 day ago 0 replies      
awjr has put all the points and they are worth following.

I will only emphasize that never think you are working from home. Always assume you are working as if from another building than your own home. And always act as if you are in that building.

The moment you realize, you are in your own home, it would get harder for you to stick to the 'normal business routine'.

54
ehudla 1 day ago 0 replies      
1. Work in coffee shops. 2. But every so often choose ones where wifi is flaky.3. Most importantly: org mode.
55
fredr 14 hours ago 0 replies      
When I where running my own company, I rented a desk at an other company. Since every one else there had regular working hours, it was more natural for me to work regular hours too.

It also gave me "colleagues" to talk to, so I wouldn't be as lonely as I would be if I worked from home every day.

That worked for me

56
Eleutheria 1 day ago 0 replies      
Lock your office.

Unplug the web.

Fire up your editor.

57
moron4hire 1 day ago 0 replies      
Start work at the same time and stop work at the same time, every day. Be ruthless about it, even if you start late, stop on time. Don't make excuses and don't try to "make up for it". You'll burn yourself enough times that you'll start respecting the start time and actually do it on schedule.
58
rf1331 1 day ago 0 replies      
Brain drugs
5
Ask HN: Best places/parties in SF for New Year's Eve?
2 points by te_chris  2 hours ago   discuss
6
Ask HN: What were some good MOOCs you participated in in 2013?
3 points by chl  4 hours ago   9 comments top 8
1
vijucat 8 minutes ago 0 replies      
I finally made time for "Functional Programming in Scala" and it was fun.

However, I must add that when I tried to use Scala in the real-world, it was considerably more complicated due to implicits, CanBuildFrom, and other "invisible hands" (not merely synactic sugar, mind you).

2
tjr 15 minutes ago 0 replies      
Learning Creative Learning: http://learn.media.mit.edu for as long as they keep the site up anyway)

Introduced me to some new ideas about learning, and solidified some ambiguous thoughts I already had. Much fun.

3
jacalata 3 hours ago 0 replies      
I really enjoyed Programming Languages by Dan Grossman (U. Washington) on Coursera. Well organised course, smoothly run. https://class.coursera.org/proglang-002
4
waynerad 51 minutes ago 0 replies      
Machine Learning. I thought it was a really tough class and took more time than they say (they say workload: 5-7 hours/week -- maybe if you are perfect and your code never has bugs that you need to spend time debugging -- the course is based on programming assignments in Octave where you have to demonstrate mastery of machine learning concepts), but I put in a lot of extra time, mastered everything, finished with a 100. Andrew Ng is a top-notch teacher, even though his speaking style is very low-key. https://www.coursera.org/course/ml
5
chl 3 hours ago 0 replies      
All in all, Eric Lander's 7.00x (Introduction to Biology) probably was the best of all the courses I completed in 2013. Lander is a fantastic lecturer -- it wasn't uncommon that his lectures (or shall I say performances) ended in applause.

Going beyond "just" videos and multiple-choice quizzes, the MITx folks built/assembled an impressive array of mostly web-based tools (e.g. a 3D molecule viewer, a molecule editor, a simplified version of genome viewers used by actual biologists) to support the learning enterprise.

Here's a glowing review that (unlike my scribblings here) starts to do the 7.00x experience justice: http://okazakifragments.wordpress.com/2013/05/29/the-best-mo...

6
michael_fine 1 hour ago 1 reply      
Intro to Machine Learning on Coursera was pretty great, just the right level of difficulty for a novice high schooler.
7
krrishd 1 hour ago 0 replies      
Startup Engineering from Stanford on Coursera. Life changer for me.
8
oakenclast 3 hours ago 0 replies      
Maps and the Geospatial Revolution on Coursera
7
Ask HN: What are you using Go for?
13 points by vram22  12 hours ago   19 comments top 7
1
lazyjones 11 hours ago 2 replies      
After dabbling with it for a couple of weeks, I wrote the backend (search & indexing implementation using the Go standard library's suffix array implementation) of our websites' autocomplete feature. It's been running for 7 months without a crash and without leaking memory, serving several million requests/day.

I'd like to use it more, but we have so many layers of legacy Perl code, that it's difficult to replace single components because of their dependencies (rewriting anything worthwhile would mean rewriting 4-5 libraries also).

2
dkuntz2 9 hours ago 1 reply      
A collaborative music jukebox that lets multiple people listen to the stream over a network. Because cloud-based jukeboxes seem to be all the rage, but none of them let you play music with other people at the same time. We gave it a fun name too: https://github.com/turbowookie/turbo-wookie. Go is used for the HTTP server, and is basically a layer over interacting with MPD.

Also working on a flat-file blogging system with an online editor, because flat-file is the middle ground between a static-site generator and a traditional database-based blogging engine.

3
bliti 10 hours ago 1 reply      
As the public entry point towards many internal APIs. Its lighter and faster than any scripting language. Gorilla toolbox made it very easy to write.
5
zachlatta 8 hours ago 0 replies      
I've been using it primarily for a little bit of systems programming and writing internal utilities at work.
6
charlesdm 12 hours ago 1 reply      
Not using Go in production, but I've been looking at using it for a mobile API for a stateful system (with both a REST and Websocket interface). Seems to be great for realtime system with a lot of different data inputs.
7
Wezc 7 hours ago 1 reply      
Docker is writing in Go (http://www.docker.io/
8
Show HN: embedcurl.com - Pretty curl commands for your web site or blog
22 points by johns  5 hours ago   4 comments top 2
1
jongalloway2 5 hours ago 0 replies      
This is really cool. Would be neat if the whole experience could be embedded using an embeddable version of hurl.it, too.
2
shawncplus 5 hours ago 1 reply      
Need to wrap the url in strings, having multiple query parameters (&) in the url will cause issues.
9
How to start unit testing in a testless environment?
5 points by Justsignedup  7 hours ago   4 comments top 4
1
darbelo 40 minutes ago 0 replies      
The easiest place to start testing is likely to be in the code you are touching now. It is fresh in your head, you know what it does. Write a test for that, it shouldn't take you too long.

If you are doing a targeted bugfix (i.e. not with a shotgun) you already know the test you have to write: a test for the bug. Try to first write the test and then make it pass (also know as fixing the bug), so you know that the test will spot a regression on future runs.

If you are working on a new feature, try to isolate the core logic of the feature and test that. If you can, test it in isolation from the rest of the system and integrate it after you have achieved some semblance of correctness.

If your code base has parts that you only touch rarely and you know (or hope) are reasonably solid, leave them for later. The highest risk for breakage tends to be near the spots with the most code churn, so put your tests there.

Also remember that tests are code and they must be maintained as you would maintain the rest of your code. Writing tests for implementation details that have no real impact on program correctness won't yield you much value when weighted against the cost of their maintenance.

If you are after the most "value per test" think about it this way: The most valuable test you can write today is the one that will catch breakage tomorrow. So, think of the code most likely to break (or the one that will hurt you the most when it breaks) and test that. The first time that test unexpectedly goes red, it will have paid for itself.

2
devrelm 3 hours ago 0 replies      
It can be hard to work unit tests into legacy code. The first step might not have to do anything with tests at all, but with refactoring/rearchitecting your code to allow for proper unit tests. Without proper abstractions and dependency injection, you'll find it hard to mock out your data access layer.

If you have a hard time convincing colleagues to go along with this, then you'll just have to go ahead and start writing tests over top of a real database (or whatever your data layer is.) They should see pretty quickly how tedious it is to have to maintain a test db, and the benefits of being able to mock it out.

In my opinion, one of the big concerns is isolating the business logic into its own layer that is as loosely coupled to the data access and view layers as possible. Data access and rendering errors are relatively easy to spot in QA/UAT. The errors most likely to make it through black-box testing are related to business logic, which can be dizzying in any app that's been around long enough. It's important to distill the business logic into a single layer where each business rule can be tested individually without the possibility of interference from the view or data layers.

3
niutski 6 hours ago 0 replies      
My team was in the same situation as you about 2 years ago. We started writing tests for bugs that were reported by customers, as those were the "hot-spots" for regression. As we became more confident and adept at using JUnit, we started writing tests for new features too. Only after 6 months did we start looking at places in the code that were not covered by unit tests and started filling them in to avoid regression. It was a lengthy process to get our coverage to a decent level, but it was definitely worth the struggle.
4
alexgaribay 6 hours ago 0 replies      
Since you're using Java, why not start incorporating JUnit tests into your packages? JUnit is simple enough to get started with and testing is fairly straight forward. Most of the modern IDEs for Java support running JUnit tests.

Good places to start adding tests would be wherever there is critical business logic or areas of code that used very frequently. If you could spare the time, try adding some tests everywhere. But if you can't, add tests to all new functionality or areas that are being updated for bug fixes at the minimum.

Once you've got some tests in place, use a build system (i.e. Jenkins) and have your units run every time there is a check-in to source control. Possibly create some build tasks using Gradle and have your unit tests run at compile time for Java.

10
A feeless payment, bank-bank, without having to know your account number
3 points by tomasien  5 hours ago   3 comments top 2
2
shawnk 4 hours ago 1 reply      
I think it's pretty cool, How will you guys monetize? and are there any other use cases for it?
11
Indian Railway has implemented the world's dumbest captcha
11 points by techaddict009  11 hours ago   16 comments top 8
1
vasundhar 1 minute ago 0 replies      
Simple shouldn't be stupid,it should be smart. Why not recaptcha for example? Less code Better work
2
codegeek 10 hours ago 1 reply      
They do generate it using js and Math.random :)

    <body onload="DrawCaptcha();">
......

    <script type="text/javascript">//Generates the captcha function   function DrawCaptcha()    {        var a = Math.ceil(Math.random() * 9)+ '';    var b = Math.ceil(Math.random() * 9)+ '';          var c = Math.ceil(Math.random() * 9)+ '';     var d = Math.ceil(Math.random() * 9)+ '';     var e = Math.ceil(Math.random() * 9)+ '';            var code = a + b + c + d + e;    document.getElementById("txtCaptcha").value =   code;    document.getElementById("txtCaptchaDiv").innerHTML = code; }</script>

3
user24 10 hours ago 0 replies      
I bet it stops spam though, at least for a while. I've seen captchas that literally just say "Type the word 'whistle' in the box".

They work because spammers often don't target specific sites but just run generic bots.

As soon as you throw something, even trivial, in the way, the spambots give up.

It wouldn't work for a high-value target of course.

If Indian Railway is a high-value target, then maybe they're just trying a 'dumb' solution and keeping an eye on spam to see if they need to put something cleverer in place.

4
nacs 8 hours ago 0 replies      
The best part about this CAPTCHA is that not only is the data contained within the CAPTCHA in plain-text in the source (more than once) but they actually add a background image to the text ( mirrored here: http://i.imgur.com/xlYbYZ7.jpg ) so it's harder for humans to decipher it but easy for bots..

  <span id="txtCaptchaDiv" style="background-image:url(1.jpg);  font-weight:bold; font-family:Modern font-size=12">67839</span>

5
girish_h 9 hours ago 1 reply      
Its easier to criticize a group without understanding the background of what they have achieved.

The Indian Railways runs one of the largest ecommerce sites in India - a site that has seen a consistent YoY growth over the last few years since its launched. Last year, they are believed to have earned a revenue of nearly 100M USD.

The guys who built their reservation system have very good engineering chops - in fact these systems hit peak load of about a million queries (every day) during 10 AM - 12 noon (IST) when users and reservation agents try to access the site irctc.co.in from browsers / mobile / reservation counters etc.

The "captcha" was not even in this page a month back. The "PNR Enquiry" for which this page is intended is a feature that can be accessed through SMS & also from the irctc website. This is possibly the least visited page in indianrail.gov.in

I have been an active user of both irctc.co.in & indianrail.gov.in over the last 7-8 years and have seen how these sites have grown.

6
girish_h 9 hours ago 0 replies      
More information about irctc.co.in here in this forbes-india interview. Its got every bit of a startup journey in there:

http://forbesindia.com/article/leaderhip-awards-2013/rakesh-...

7
techaddict009 11 hours ago 4 replies      
Two possible reasons:1) Incompetent developer.2) It is being deliberately done so that other sites that give Railway information can still leech the information. And also, on-papers Railway can show that they have implemented proper security or whatever they think it is.
8
dapatil 10 hours ago 0 replies      
<input name="lccp_cap_val" value="12323" id="txtCaptcha" type="hidden">
12
Ask HN: Is it possible to create a new license that prohibits government usage?
5 points by jonnyrockit  9 hours ago   3 comments top 3
1
tokenrove 9 hours ago 0 replies      
The damage to all the other governmental institutions (and by extension, citizens) that can benefit from running open source software would be far more extensive than the damage caused to institutions like the NSA. It seems pointless and unenforceable, like Crockford's "do no evil" license.
2
walid 6 hours ago 0 replies      
I used to think that NASA is exempt by the government from patent royalties when manufacturing equipment for NASA's missions and purposes. But after a little Googling it turns out I am wrong: http://www.cojk.com/nasa-ordered-to-pay-boeing-28-3m-in-pate...

What is more important is that national security can precede legality at times and trying to stop the NSA from using a particular software becomes moot once you consider that an adversary can do the same actions to undermine software. This means the NSA will have justification to ignore any clause of no use an hunt for exploits and may probably comply with a legal clause of no use as a regular user.

On the other hand you shouldn't look at the NSA as the bad guy. Remember that a security/spying agency is controlled by policy. If policies are bad the actor acts badly. Put your energy in fixing policy instead of beating down the NSA. I'm starting to feel sorry for an agency that acts on orders from the government at large.

3
lauradhamilton 6 hours ago 0 replies      
I think you can put whatever you want in your license, but do you really trust the NSA to follow your license guidelines?

Seems to me a bit like putting a sign on your front door that says "no burglars, please."

13
Ask PG/HN: Recommended reading on the history of technology
50 points by madamepsychosis  1 day ago   42 comments top 33
1
chl 1 day ago 1 reply      
Two excellent technology history books I read in 2013 are _Dream Machine_ by M. Mitchell Waldrop and _Computing in the Middle Ages_ by Severo Ornstein.

_Dream Machine_ in particular tied together many strands that I had previously explored separately; it's a far-ranging, incredibly well-researched work that covers the development of interactive (and, eventually, personal & networked) computing from its origins at MIT's Whirlwind and Lincoln projects, leading, in big part thanks to J.C.R. Licklider's long-term research (management) vision, to the development of the ARPANET, and, maybe even more importantly, the formation of an "ARPA community", where many of the big ideas were first brought to reality and explored in depth (at BBN, SRI, Utah, PARC &c.).

All in all, it's probably the best history of computing-as-we-know-it-today and a clear recommendation for anyone with just the slightest interest in the idea history of the field.

http://www.amazon.com/The-Dream-Machine-Licklider-Revolution...

_Computing in the Middle Ages_ is a very personal account, supplying the critically important perspective of someone actually working in the trenches in the time-frame covered by _Dream Machine_.

Severo Ornstein co-designed the ARPANET "Interface Message Processors", essentially the first routers. It's also a wonderful history of the LINC (by Wesley Clark et al.), a remarkable (and remarkably forgotten) machine and the direct philosophical fore-runner of all "personal computers".

http://www.amazon.com/Computing-Middle-Ages-Trenches-1955-19...

2
keithwarren 1 day ago 1 reply      
Code: The Hidden Language of Computer Hardware and Software

It is a great book written by one of the great computer scientists of our time. It tracks the evolution of code and computing from morse code and braille on to number systems, early processors and even into how processors handle this information. When I hire someone for nearly any position, I buy them this book.

*Don't let the title fool you, this is not some discussion about high level languages, this is the down and dirty stuff.

http://www.amazon.com/Code-Language-Computer-Hardware-Softwa...

3
sweettea 1 day ago 0 replies      
I plan to go to grad school in history of technology, and spent senior year studying the history of technology at MIT, which has one of the best such programs around. Of my library, designed in preparation for quals one day, these are the best books fitting your description. These are all _broad_ histories of technology, more on the order of the Industrial Revolution than on modern technology. Amazon has good summaries of all of these.

The Unbound Prometheus --- a history of eastern europe technology and its social impacts.

From The American System to Mass Production --- Hounshell, a history of the development of the assembly line, and in particular the forerunners to Ford's mythologized mass production line (which, in many elements, surpassed it, and demonstrate that it was not particularly unique except in marketing)

America By Design --- Noble is a very circumspect, controversial historian of technology.

The Protestant Ethic and the Spirit of Capitalism --- classic on the controversial idea that protestantism was responsible for capitalism and the resulting technology

Does Technology Drive History -- collection of essays by the founders of the field of science, technology, and society.

Civilizing the Machine --- technology's interaction with American values and how those developed concurrently.

Major Problems in the History of American Technology --- a collection of original documents and essays interpreting them in a historical basis, ed. by a founder of the field.

The Tentacles of Progress --- how technology lends itself to imperialism, and furthers exploitation, even when other nations fund the development of infrastructure in developing nations.

The Machine in the Garden --- possibly the single most important book on this list, the one that turned my life upside down and which I think about most regularly. It posits that America's idyll of a tech-free natural scene is actually a balance of technology and nature, and is a artificial nature propped up by machine, and demonstrates this history of this tension in American life from Shakespeare to Jefferson to Thoreau to the modern day. It completely turned my conception of the perfect life upsidedown.

Digital Apollo --- a history of the computing history of the Apollo program, especially the tensions in the software development sides between good management and perfect programs.

Science and Corporate Strategy, DuPont R&D 1902-1982 --- if you're interested in the development of big chem, or in the history of companies having R&D departments, this is the book for you. The DuPonts were very well-educated, many being MIT alums, and the chemical company they built was innovative in many different ways --- this book is a interesting discussion of the society and the technological pressures that drove and still drive innovation.

4
phillmv 1 day ago 0 replies      
This is a little broader than what you're asking but this year I read two books that have really affected my thinking and I think everyone should read.

First one up is Command and Control - which is a history of american nuclear weapons/nuclear weapon accidents. It spends most of its time building a narrative around a single major incident but the meaty sections are all about how the technology was invented and deployed and it's a gripping read.

Second one - just wrapping it up now - is The Box: How the Shipping Container Made the World Smaller and the World Economy Bigger, which is a history of the shipping container. It sorta reads mostly as a pop econ/biz biography of Malcom McLean but it's really about the power of technology to reshape how we live.

5
computer 1 day ago 0 replies      
IBM and the Holocaust, to see how the rise of technology made the holocaust possible, and for the duality between business and ethics.
6
sideb0ard 1 day ago 0 replies      
Howard Rheingold's 'Tools for Thought: The History and Future of Mind-Expanding Technology' - covers George Boole, Charles Babbage, Alan Turing, John Von Neumann

Jon Gernter's 'The Idea Factory: Bell Labs and the Great Age of American Innovation' - very cool story about the formation of Bell Labs and covers the Transistor, Satellite comms, the laser, and a ton of other stuff up till, but not disappointingly not including Unix.

John Markoff's 'What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry' - what is says!

Ted Nelson's 'Geeks Bearing Gifts' (or any of his YouTube Computers For Cynics videos) - awesome, curmudgeonly alternative (but accurate) version of computer history.

Michael A. Hiltzik's 'Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age' - as someone else mentioned, really great history

7
iterationx 1 day ago 0 replies      
The Victorian Internet: The Remarkable Story of the Telegraph and the Nineteenth Century's On-line PioneersTom Standage

Ted Talk: "Jeff Bezos: The electricity metaphor for the web's future"http://www.ted.com/talks/jeff_bezos_on_the_next_web_innovati...

8
jseliger 1 day ago 0 replies      
I'm not Paul Graham, but Joel Mokyr's book's are all very interesting: http://www.amazon.com/s?ie=UTF8&tag=thstsst-20&linkCode=as2&... . Start with The Lever of Athena but really it's hard to go wrong with any of them.

Mokyr's books aren't exactly about the history of technology: they're at the intersection of economics, technology, and politics.

Another good choice: Steven Berlin Johnson's Where Good Ideas Come From.

9
bountie 1 day ago 1 reply      
Check out "As We May Think", a legendary essay by Dr. Vannevar Bush in 1945. Bush was the Director of the Office of Scientific Research and Development and "coordinated the activities of some six thousand leading American scientists in the application of science to warfare".

The topic of his essay was: what should scientists do for the benefit of society now that the war is over?

http://www.theatlantic.com/magazine/archive/1945/07/as-we-ma...

10
sentenza 1 day ago 1 reply      
Want to get to know the history of nuclear power, spiced with interesting anecdotes? Then these two books are the right thing for you:

Atomic Awakening by James Mahaffey

and

Atomic by Jim Baggott

It's of course only one technology, but a technology from which very broad uses have sprung.

11
hobolobo 1 day ago 0 replies      
Not sure if it's what you're after exactly but Where Wizards Stay Up Late:

http://www.goodreads.com/book/show/281818.Where_Wizards_Stay...

12
projectileboy 1 day ago 0 replies      
I don't think it's exactly what you're looking for, but you might enjoy James Burke's series Connections, as well as The Day the Universe Changed. It's always fun to watch Burke connect the dots from technical advances to historical events.
13
meatsock 1 day ago 0 replies      
where wizards stay up late isbn 9780684832678

weaving the web by berners-lee 006251587X

the master switch - tim wu

the soul of a new machine - tracy kidder 9780316491976

dealers of lightning

14
bearwithclaws 1 day ago 1 reply      
Not 'reading', but I watched Steve Blank's "Secret History of Silicon Valley" presentation and thought it was mind blowing: http://entrepreneurship.columbia.edu/events/steve-blank-the-...
15
acqq 1 day ago 0 replies      
I've really enjoyed reading

http://www.amazon.com/How-Got-Here-Irreverent-Technology/dp/...

"How We Got Here: A Slightly Irreverent History of Technology and Markets" by Andy Kessler

"Expanding on themes first raised in his tour de force, Running Money, Andy Kessler unpacks the entire history of Silicon Valley and Wall Street, from the Industrial Revolution to computers, communications, money, gold and stock markets. These stories cut (by an unscrupulous editor) from the original manuscript were intended as a primer on the ways in which new technologies develop from unprofitable curiosities to essential investments. Indeed, How We Got Here is the book Kessler wishes someone had handed him on his first day as a freshman engineering student at Cornell or on the day he started on Wall Street. This book connects the dots through history to how we got to where we are today."

16
bhaumik 1 day ago 0 replies      
I highly recommend "Go To" by Steve Lohr [1]. The book follows a chronological path from the pre-Hopper/Turing era through Apache and the early open source movement. We learn history of the following languages: FORTRAN, COBAL, Unix, C, BASIC, Visual Basic, Algol, Pascal, C++. Also covered are the founding stories of IBM, Microsoft and Macintosh and their "business" practices.

[1] http://www.amazon.com/Engineers-Scientists-Iconoclasts---Pro...

17
natch 1 day ago 1 reply      
Kevin Kelly is a provocative thinker on this stuff. (He created the original vision that became Wired magazine, though he never gets credit for this... credit went to the folks who kicked in the money.)

http://www.ted.com/talks/kevin_kelly_tells_technology_s_epic...

Kurzweil also talks about history of technology when he talks about accelerating returns.

It's useful to think way back imho... for example, language is a very early example of a technology.

18
ivan_ah 22 hours ago 0 replies      
Secret History of Silicon Valley

   [ During WW2, silicon valley was a hotbed of      ]   [ research in radio and sensing technology.       ]   [ It's longish but an interesting history lesson. ]
http://www.youtube.com/watch?v=ZTC_RxWN_xo

19
davidw 1 day ago 0 replies      
This is a pretty good book; it's best on the 80ies, early 90ies and the 'PC' era, so it's more of a niche compared with the "history of technology" taken as a whole. But that makes it more thorough in what it covers. It's also quite entertaining and has some smart things to say about how to avoid major screw-ups:

http://www.amazon.com/In-Search-Stupidity-Marketing-Disaster...

20
nswanberg 1 day ago 0 replies      
I like this book, which describes who made what, and when: http://www.amazon.com/Short-History-Technology-Earliest-D/dp... up until 1900. This book itself is compiled from a multi-volume set that, as far as I can tell, is no longer in print.

pg's suggestion is probably a little different--pick a subject that holds your intererest rather than slogging through the entire history (there are also a couple of technology-specific history books here): http://www.paulgraham.com/raq.html

21
stcredzero 1 day ago 0 replies      
Dealers of Lightning

It's important to know how far in advance stuff in research labs can be from everyday life. The trappings of the computerized office of the mid 90's were bouncing around Xerox PARC in the 70's.

22
kingkilr 1 day ago 0 replies      
I highly reccomend "The Machine in America: A Social History of Technology" and "Technology in Postwar America: A History", both by Carroll Pursell.
23
dave1629 1 day ago 0 replies      
Kurt Beyer's book on Grace Hopper gives a great perspective on the early days of computing: http://www.amazon.com/Invention-Information-Lemelson-Studies...

A very comprehensive view an lots of great stories in James Gleick's _The Information_:http://www.amazon.com/Information-History-Theory-Flood/dp/14...

24
sunsu 1 day ago 0 replies      
A long time ago in undergrad, I took a "History of Technology" class. This was one of the books we read that I got a lot from:

"The Chip"http://www.amazon.com/gp/aw/d/0375758283

25
m_d 1 day ago 0 replies      
Hackers: Heroes of the Computer Revolution by Stephen Levy (http://amzn.com/1449388396)

A great look at the people involved in the early years of personal computing, including Stallman, Gates, Wozniak, etc. Apart from the technology, Levy discusses the basic philosophy and motivations of the personalities involved.

26
codex 1 day ago 1 reply      
27
quinndupont 1 day ago 0 replies      
Some of the academic authors for the history of computers in particular would be Mahoney, Cerruzi, Aspray, Abbate, & Campbell-Kelly. For history of technology in general look up authors publishing in Society for the History of Technology (SHOT), including oldies like Lynne White, etc.
28
russtrpkovski 1 day ago 1 reply      
Technological Revolutions and Financial Capital: The Dynamics of Bubbles and Golden Ages

Also, Walter Issacson is working on a new book on the history of the internet

https://medium.com/medium-long/e50f65132b55

29
gregw134 1 day ago 0 replies      
The Universal Computer. It's a remarkably readable walkthrough through the lives and ideas of mathematicians whose work indirectly led to the Turing machine: Leibniz, Boole, Russell, Cantor, Godel, and a few others. If anyone else can recommend more books on the mathematics that led to computing I'd love to hear about them.

http://www.amazon.com/The-Universal-Computer-Leibniz-Turing/...

30
random_coder 1 day ago 1 reply      
Neal Stephenson's novels work for me :)
31
doctornemo 1 day ago 0 replies      
Howard Rheingold's Tools for Thought.http://www.rheingold.com/texts/tft/
32
sraut 1 day ago 0 replies      
It's not a book but rather a course. There is also a recommended reading list.

https://www.coursera.org/course/insidetheinternet

33
calibraxis 1 day ago 0 replies      
Burke's "Connections" series is free online: (http://www.youtube.com/playlist?list=PL734BAB2B716CC777)

You may also be interested in the forces in society which make technological progress possible and which kill it. Mariana Mazzucato wrote _The Entrepreneurial State_. David F. Noble wrote a couple books.

Also anthropologist David Graeber's essay _Of Flying Cars and the Declining Rate of Profit_ (http://www.thebaffler.com/past/of_flying_cars) ; you may prefer his talk "On Bureaucratic Technologies & the Future as Dream-Time" (http://www.youtube.com/watch?v=-QgSJkk1tng). His video makes the interesting point that since the 1970's, we've focussed on bureaucratic technologies like IT (we fill out forms on the net all day), instead of more imaginative technologies. To compensate, we're good at merely simulating imaginative technologies, like in movies.

14
Tell HN: How old were you when you realized you wanted to work with technology?
4 points by jusben1369  13 hours ago   9 comments top 9
1
jasonkester 13 hours ago 0 replies      
25.

Funny, that. Since I've been writing code on a daily basis since I was 7 years old.

But the thing is, before around 1996, "Computer Programmer" was a kinda lame job in quite low demand with no real career prospect that fat bald guys did in the basement of some Fortune 500 company making a sad corporate salary and basically not having anywhere near as much fun as, say, a Mechanical Engineer. So that's what my degree is in.

Of course, anybody who's Engineered his way out of a paper sack will know that even in the early 90s that took several thousand lines of code and (back then) quite a few hours queued up on the VAX waiting for your models to run.

Now imagine you're living large in your felt cube, several floors up from those poor programmers, then suddenly somebody shows up with a ten billion dollar sack of cash saying "Hey, anybody want to double your salary?" and that the only requirement to do so was to be able to cobble together a Hello World program that output a few angle brackets.

So yeah, hey, sign me up. I'll work with technology.

Pretty smart move, looking back on it nearly 20 years later.

2
zbruhnke 12 hours ago 0 replies      
I think I was probably about 19, I had started my first company at 18, I wrote my first line of code at 12 and started to leverage my knowledge of it with my company about 6 months in but I'm from Louisiana so surrounded by lots of blue collar types and honestly had no idea I could make a living in software much less a good one!

Once the company started to become profitable I started to get excited about all the possibilities and then I realized that my love for spending more time solving hard problems once and then repeating my newfound solution over and over again with minor tweaks or improvements was perfect for having a career in software.

I sold that first company and I've spent very little time as an employee but I've started three companies now and have been fortunate enough to have sold my first company and been a part of two of the best accelerator networks with the other two.

3
onion2k 13 hours ago 0 replies      
October, 1997. I was 19. I'd just arrived at university to study Broadcast Engineering with dreams of directing films, and I used the internet for the first time. I was hooked instantly, changed all my ambitions practically overnight, and never looked back. I was very fortunate that I could tailor my degree towards internet and multimedia "broadcasting" instead of video really. Good times.
4
toomuchtodo 10 hours ago 0 replies      
97. I was 14 at the time. I was installing Linux on old workstations on bread racks in my father's basement (where I also lived) and running distributed.net's distributed computing client to break 3DES and RC5. I've never looked back (31 now, VP of Ops).
5
nguyenannguyen 8 hours ago 0 replies      
30. During my graduate program in Economics, I was obsessed with behavioral finance but couldn't do anything with it. I thought it was too late for me to learn programming. Finally I bit the bullet and learned to code my first trading algorithm in VBA(!).

It was so liberating, because I always thought I was destined to be a thinker and not a maker.

Fast forward 5 years, I am now building a tech company (big data on social graph) to implement my economic ideas.

6
limedaring 12 hours ago 0 replies      
12 or so. This was 1996 and websites were getting to be a big thing, so I taught myself basic HTML and started making websites. I didn't get into any real programming until I was 24, staying with web design until then.
7
klaut 10 hours ago 0 replies      
i think it was '97, I was 23 and I met internet for the first time. Never programmed before. But there and then, I fell in love with computers. Sarted making music on the computers. Started doing illustrations on the computer. Learned programming.
8
VLM 13 hours ago 0 replies      
A poll would have been a good idea. 5 or so?
9
danso 13 hours ago 0 replies      
About whenever we got our NES, so about 7 or 8. When we weren't playing games, my friends and I would spend time drawing (on paper) graphics and concepts...usually to Final Fantasy derivatives.
15
Python on KS: These guys are doing a great job. Definitely worth supporting.
2 points by martincho  10 hours ago   discuss
16
Ask HN: What new technology in 2014?
4 points by resca79  20 hours ago   6 comments top 5
1
drstewart 10 hours ago 0 replies      
I want to build a site in Haskell. It's tough going though!
2
pedalpete 17 hours ago 0 replies      
Node.js, Functional Programming, UX/UI Design
3
pippuzzu79 19 hours ago 1 reply      
Rust language definitely
4
harlock81 19 hours ago 0 replies      
AngularJS
5
monpotoamoi 18 hours ago 0 replies      
3dprinting
17
Ask HN: What did you tell your parents?
2 points by hawkharris  15 hours ago   7 comments top 5
1
gesman 1 minute ago 0 replies      
Did your mom actually inquire to explain the last little details of cell towers topology and design architecture

....

...or you just had no one to talk to at the moment? :)

2
RougeFemme 14 hours ago 0 replies      
I confess. . .I'm one of those parents - almost. No, I'm not nearly as old as your parents and my kids are much younger than you all, but. . .my kids don't understand how I could have worked - literally - as a rocket scientist (well, engineer). . .but still struggle sometimes with consumer devices. I have no problem with web apps. . .coding and testing. . .but consumer devices are not my forte.

The user interfaces and interfaces between the devices do not seem at all intuitive to me. And learning those particular tech intricacies does not pique my curiosity; I just want to use the tools. So I just hand the devices off to my young kids, nieces and nephews and say "show me how to do blah-blah".

3
bobfirestone 10 hours ago 0 replies      
I had to fix my Dad's iPhone. His email stopped working and he could't download apps.

His email was broken because he changed his email password and instead of changing the password stored on his phone setup a second account to the same email box. Yeah that was a fun one to try and figure out.

4
ScottWhigham 12 hours ago 0 replies      
I had to explain why AT&T was slow due to DNS issues. I didn't make this up but read it somewhere (maybe here) - DNS is the equivalent of your telephone address book on your phone. When you "dial your mom", you just type her name and click the phone icon. Behind the scenes, you trust that your phone translates that into the correct phone number because, long ago, you told it what mom's phone number was. DNS is the same - intel.com translates to a specific IP address and, when AT&T is having DNS issues, it's akin to your phone being either (a) unable to find the phone number for "mom", or (b) the phone line at mom's is not responding properly.
5
danso 15 hours ago 1 reply      
This was before Christmas and sometime in the fall...but I had to explain to my mom (who is actually a programmer, but in the COBOL days) how to start an Apple account.

As you well know, an AppleID consists of your email. But I spent more than 10 minutes explaining to her how her Apple password was NOT her Hotmail password, as she was using her hotmail ID for her AppleID.

Funny enough, a few weeks later, I was teaching a web course and showing students how to start a site from scratch off of Amazon S3. One of the students didn't have an Amazon account and had the exact same problem: trying to use her email account password to log back into Amazon

18
Ask HN: What are some good general technical books for teenagers?
5 points by lovemath  1 day ago   10 comments top 4
1
dmlorenzetti 1 day ago 1 reply      
Check out "Physics for Future Presidents" by Richard Muller. It gives an overview of physics, emphasizing why the concepts are important in the modern world, rather than the math details.

If she's interested in biology, you might consider "Animals in Translation" by Temple Grandin. It's more about animals than about technology, but it touches on how understanding animals affects the low-tech systems that you use to handle them.

For interesting/easy intros to why some math skills are important, look at Darrell Huff's "How to Lie With Statistics" or John Allen Paulos' "Innumeracy" (or "A Mathematician Reads the Newspaper").

I haven't read any of them, but I hear Petroski's books recommended.

For a great short read that touches on architectural engineering, law, and ethics, look for Joe Morgenstern's "Fifty-Nine Story Crisis" which appeared in the New Yorker in May 1995. It's about how the structural engineer for the Citicorp tower realized its design was flawed, after the tower had been built and occupied. You can find it on the web.

Some of these are not overtly about "learn this technology", but to me they all sell the idea of technology and science as both central to our lives and interesting.

2
Snail_Commando 19 hours ago 0 replies      
There are already suggestions in this thread that are better than mine, but I'll still throw my hat in the ring.

That's great that she's interested in biology. I'd like to gently suggest that if she "isn't very enthusiastic about computers or technology", you should instead try to nurture her demonstrated interest in art, biology, and other science.

I know absolutely nothing about art, except that I apparently have no taste. So I'll refrain from making any suggestions on art books.

TL;DR: Skip down to the third section for the "technical book" suggestion.

--------------------------------------------------------------------------------------

(1)

Here are some suggestions of books on general science, biology, and chemistry (in no particular order, these are some of the first ones that come to my mind):

"The Structure of Scientific Revolutions" By Thomas S. Kuhn

"The Diversity of Life" By Edward O. Wilson

"The Beak of the Finch: A Story of Evolution in Our Time" by Jonathan Weiner

"Hen's Teeth and Horse's Toes: Further Reflections in Natural History" by Stephen Jay Gould

"Life on a Young Planet" By Andrew H. Knoll

"Galpagos" By Kurt Vonnegut (Fiction, but related) (I loved this book, but it's not for everyone I suppose. A couple of my friends didn't like it.)

"Napoleon's Buttons" By Penny Le Couteur and Jay Burreson

"The Lives of a Cell: Notes of a Biology Watcher" By Lewis Thomas

---------------------------------------------------------------------------------

(2)

If she's interested in learning a lot about cellular biology in beautifully exhaustive detail, buy her this textbook:

"Molecular Biology of the Cell" By Bruce Alberts, Paul Walter, Alexander Johnson, Julian Lewis, Martin Raff, Keith Roberts

This book is huge. And it is wonderful.

---------------------------------------------------------------------------------

---Read this suggestion if my other suggestions aren't good---

(3)

So you want a technical book? And she's interested in biology?

Buy her a copy of:

"The Principles of Biomedical Informatics" By Ira J. Kalet

This textbook is incredible. It teaches you some fundamentals of many different flavors of bioinformatics. (Different flavors, because, as the author acknowledges, bioinformatics can mean many things.) You can learn how to work with amino acid sequences, protein modeling, medical imaging, probabilistic biomedical models, and more!

Since you have SICP and LoL on your bookshelf already, you might love the next part. The entire textbook is a cleverly accessible primer on how to build applications with Common Lisp. Whether you're a greybeard Lisp hacker or a repl-noob, you'll like this book if you are interested in learning about bioinformatics.

I've had the first edition for quite some time. Recently, I think in the past few months, a second edition was released. Someone gifted me the 2nd ed, :) but I haven't really compared the two.

----------------------------------------------------------------------------------------

I was going to suggest Gdel, Escher, Bach when you mentioned she was interested in art, and were hoping to find a technical book for her. Then I saw that you already had tried that one. I'm going to leave the suggestion anyway because these types of threads are wonderful for finding great books.

3
brudgers 1 day ago 1 reply      
Why push something that your daughter isn't interested in? Technology is your interest, not hers. Get her some books by Dawkins. Turn her on to Earnst Mayer. Check some Stephen J. Gould out of the public library for her. Take her to Manhatten to see the Guggenheim and the Frick and MOMA and the Metropolitan. Let her become the healthy person she wants to be. Let her own her life.
4
vezzy-fnord 1 day ago 1 reply      
What else but Charles Petzold's phenomenal classic CODE: The Hidden Language of Computer Hardware and Software? [1]

http://www.charlespetzold.com/code/ [1]

19
Ask HN: How to deal with competitors?
2 points by Sir_Cmpwn  10 hours ago   2 comments top 2
1
penguinlinux 4 hours ago 0 replies      
Your competitor is doing something else. Better advertising, better customer support, better prices, find out what is it that these customers like. Remember your customers are not only buying a service but a relationship with you.

Any links to your company and your competitor, so that we can compare you two

2
johnrob 9 hours ago 0 replies      
Ask users of your competitor's product why they prefer it.
20
Ask HN: What has been surprisingly effective in improving your business?
8 points by nirmel  18 hours ago   3 comments top 3
1
jf22 16 hours ago 0 replies      
We signed up to go to a industry related conference as a vendor.

Had low expectations and lost money but the conference was insanely valuable.

First because we had the chance to talk to customers for days straight. We refined our sales pitch, heard objections and concerns, learned about new features people cared about and more.

Second because everybody really rallied around the conference deadline and we got so much work done to prepare for the conference it really skyrocketed our momentum and productivity.

2
slaxman 17 hours ago 0 replies      
1. cheap low level marketing campigns such as distributing flyers or putting up posters work well at the start

2. lesser the features your product has more customers love it.

3. taking an office space is much larger expense than it appears at the start thanks to travel time, travel cost, utility bills, eating out at restaurants, etc. work from home as much as possible.

3
loopsicle 18 hours ago 0 replies      
Concentrating on absolutely ONE GOAL at a time. Crucial for lean growers grasping at a MVP.
21
Ask HN: Who is working on/knows of WebRTC based projects
4 points by codegeek  14 hours ago   1 comment top
1
t0 14 hours ago 0 replies      
This webcam library has a nice flash fallback for IE and uses webRTC for everyone else. https://github.com/addyosmani/getUserMedia.js
22
Show HN: (pre-beta SaaS) "Get organized, get Headspace"
4 points by headspace  14 hours ago   5 comments top 3
1
bliti 12 hours ago 1 reply      
I was going to try it out, but you require me to signup. No teaser page, no FAQ, nothing. I prefer when companies allow me to demo their product without signing up. Be it by allowing me to use the product, a video, or even clear pictures with detailed captions.
2
tlongren 12 hours ago 1 reply      
I went ahead and signed up. Really like the interface. Haven't really tested anything out yet.
3
tlongren 13 hours ago 0 replies      
23
Ask HN: How do you market a Chrome extension?
12 points by zakelfassi  1 day ago   12 comments top 6
1
hayksaakian 1 day ago 0 replies      
I have a chrome app (similar).

Make an informational website.

Basic "5 page site" with marketing information and documentation can be a great source of drip traffic.

Make sure the "download" link is on every page and within reach.

The whole concept is similar to marketing an app, albeit on a different store. Somebody else might know about how to get featured, and much like the app store, that also certainly helps your numbers.

If I type "your extensions name" into Google, it's feasible to cover the first page in properties related to your extension:

1 chrome store link

2 your marketing site

3 prominent app/extension review

4-6 social media pages

7 - 10 get creative

2
thekevan 21 hours ago 1 reply      
The fact that a majority of the reviews you have so far mention you by name makes it look like you encouraged friends and/or colleagues to post them.
3
danso 1 day ago 1 reply      
I have no experience. Just wanted to mention the prominent case of a solo teenager winning a hackathon for her Chrome-extension relating to TV shows http://www.motherjones.com/media/2013/05/meet-17-year-old-sa...

I'm kind of kicking myself for not doing more chrome extension work. We consume such a variety of information and Chrome has huge flexibility in working with that info...seems to have a lot more potential usefulness in our day to day lives, and plus, you don't have to learn a new IDE and language

4
niftylettuce 1 day ago 1 reply      
i got wakeup.io in lifehacker within 24 hours of building it

you just have to be clever

we have chrome extension w/200 users

5
benologist 1 day ago 1 reply      
LifeHacker and similar blogs?
6
toiruto 18 hours ago 0 replies      
you ask Moad to do it for you !!
24
Ask HN: How did you launch your product?
42 points by sourc3  1 day ago   43 comments top 16
1
timr 1 day ago 3 replies      
I'm of the opinion that the "launch" is a highly overrated concept. Unless you have lots of existing traffic or a press embargo, your launch will consist of turning on the product, then watching as nothing happens. Later on, if you're lucky enough to get press somewhere, you'll get a spike of traffic that will be gone the next day.

As an experiment to this end we developed Omniref [1] entirely in public, just to see what would happen. We never hid the thing, even when it was horribly broken (we even had organic search traffic before we were ready!) It made no difference. What works is getting users, one at a time.

The bottom line is that product/market fit trumps everything. Better to just put the product out there and try to get one daily user as soon as possible than to worry about "launching". It's not as gratifying to the ego, but you learn more, and that's the whole game.

[1] http://www.omniref.com

2
fragsworth 1 day ago 1 reply      
I've launched many products, but most recently I've been doing web games. Our most recent game is Cloudstone - http://armorgames.com/cloudstone-game/15364

We launched it on Facebook, Kongregate, and Armor Games.

Only one in a million products can truly spread on their own (minecraft, reddit, google...). The rest are often really good products, that can make money, but require unique ways to get users. For us, this meant giving up a percentage of revenue in order to get promoted on various platforms.

One thing is certain - it is nearly impossible to launch an effective web game by itself on a stand-alone site. Our game makes money, but there's no way we can get any decent return on marketing investment if we tried to roll our own. The traffic we received from posting the game on reddit was totally insignificant compared to the traffic we received from partnering with websites that already have users.

I haven't launched any "applications" recently. But I don't think it's much different. Most engineers severely underestimate the importance of proper marketing and user acquisition. If your entire plan is to launch a product website, post it on reddit and hacker news, and see where it goes from there, it's not going to work. This doesn't necessarily mean your product is not viable!

I would recommend not just launching a website and hoping it gets traction. Consider porting whatever you're building to multiple platforms, and consider all of the app stores that you can put your product on. They will promote your product for a percentage of the revenue. And don't feel bad about giving up that percentage - they're providing a valuable service. They're doing the marketing for you.

3
basil 1 day ago 1 reply      
I'm in the situation you describe right now. I blogged about it a couple months ago: http://neat.io/blog/diary-of-a-programmer-with-no-clue-about.... The resulting HN discussion has a lot of good tips: https://news.ycombinator.com/item?id=6686290

My launch didn't go 'well' to the standards that I constantly see on HN. I got < 10 users and a lot of those were existing beta testers.

Now I'm 2 months in and I have been getting a fairly consistent number of new users each day, however its dropped in the past couple of weeks (I'm blaming the holiday season).

Here's what I've learnt so far:

- SEO is very important for discovery

- Keep your product evolving to fit the needs of your current users

- Keep current users happy

- Be ultra responsive to support enquiries - this is key to keeping happy users

- Adjust your pricing model based on feedback

- Get your site linked to on other sites even if seemingly unrelated - I get a bit of traffic from a design site that has my site in a list of 'beautiful, flat landing pages'

It would have been nice to get a whole slew of users on day 1 but realistically this doesn't happen unless you have an existing captive audience. It does dampen the expected meritocracy that comes with developing your own product.

4
programminggeek 1 day ago 0 replies      
Hustle. Schlep. Market. Tell people. Get them to sign on the line which is dotted.

There are a lot of things to launching/marketing a product, but it always comes down to hustling and marketing hard consistently over a long period of time. Think 3+ years to be an "overnight success"

5
wturner 1 day ago 0 replies      
This is what most likely will happen. Expect a complete dud. After you experience the 'dud' you with either feel the entire thing was a stupid idea and leave, or you will think 'wait .... that can't be right' and scramble to get users to compensate for the wash of insecurity you felt with your impotent "launch". Good luck!

Edit: This wasn't meant to sound mean or directed to you personally. I meant this as a general comment towards the idea of a 'launch'.

6
acuity12 1 day ago 0 replies      
I didn't launch, unless you count making it available on the internet a launch.

As several others have mentioned here, I was not focused on "launching the product". I was persistent about creating a solid and valuable product, and making it available for the entire world. I researched everything I could about building websites, particularly performance and SEO. The project was a learning project for me - it was technically "launched" since the moment I bought the domain. I continually iterated after learning new things about the web, and after coming up with new ideas. The growth came from a steadily increasing SEO presence and Social Network presence. I never once saw a code or feature iteration cause an immediate flood of attention, even when I gave them a little nudge on social networks. I will admit though, that I never attempted an all out launch of anything.

The project is mainly a fun site, but it has become one of the best tools for creating animated GIFs and memes on the internet. There have been a few big spikes from various press events, or Reddit frontpagers, but the true value has come from continually making the product better and slowly gaining the trust of the internet.

I'm certainly much newer to this than many people here, but my first big project now makes enough profit to support me fulltime, if I were to choose that (I work at another company as well). The site is imgflip.com if you're wondering.

7
johnrob 1 day ago 1 reply      
Did you get any users during your launches? If so, I'd consider them a success. The idea that you get flooded with users after a single launch event is a myth. I see the process like this:

1) Some kind of press release (TC, Show HN, blog post, etc)

2) Get at least one user

3) Iterate features and establish that the users actually need the product (would they be upset if you quit?)

4) repeat 1-3

8
spencerfry 1 day ago 1 reply      
Launching is very overrated. I mainly emailed friends, family, and shared https://www.uncover.com via social media. Luckily, it got picked up by Hacker News and some other outlets. We got some great traffic in the beginning, but a "good launch" alone isn't going to make or break you. It's about the longterm value you can offer your customers.
9
adamb0mb1 1 day ago 0 replies      
Restaurants learned this ages ago: start with a soft launch, and learn your weaknesses. Iterate. Then "launch."
10
frankdenbow 1 day ago 1 reply      
Launch is only part of the equation. You add/remove features and find where your new users are and find a way to get in front of them. Its a process not a one off launch event. I used to think too much on the launch but my experience says its about the consistent marketing effort.

I launched my subscription tshirt service (https://www.startupthreads.com/monthly) on Hacker news and got a little press but it grew after finding companies each month and finding ways to reach new customers. After iterating a bunch you find out what works, as you'll never have the perfect launch strategy to start.

11
Kiro 1 day ago 0 replies      
I loathe launching and talking about my products so Facebook Ads and AdWords are good shortcuts. It will cost you but if the product is any good the word will spread as soon as you have a few customers/users.
12
rooshdi 1 day ago 0 replies      
Focus on longevity. Work a job. Save and invest. Keep costs low. Find and contact prospects personally. Provide support. Gauge feedback. Improve. Survive. If you need help, I run a platform at webmenu.org that may help you help people. Best regards.
13
bradhe 1 day ago 1 reply      
Perhaps its your self consciousness at play here, but you haven't told us what any of your products were...
14
bcambel 1 day ago 2 replies      
You need to sell the idea first, then implement. Get some traction without writing any code, write related blog posts about the vertical market, about the topics that your potential customers will be interested in, and keep engaging with them. Talk with them.
15
t0 1 day ago 2 replies      
Make growth hacking a main priority. If you can get every user to invite one other user, you'll have a huge site in no time.
16
sideproject 1 day ago 0 replies      
I posted a similar thing awhile ago, hopefully this helps.

https://news.ycombinator.com/item?id=6488822

25
Ask HN: As a front-end dev should I learn Angular or Rails?
3 points by thisisdallas  23 hours ago   4 comments top 4
1
whichdan 2 hours ago 0 replies      
I would strongly, strongly recommend learning Rails first. The Rails MVC paradigm will transfer over to Python and PHP frameworks, and the backend experience will push you into the full-stack developer territory. Angular has a lot of idioms that are very specific to it, and won't necessarily translate over to another JS or non-JS framework.

In terms of what's most attractive to an employer, it really depends on the company. What should matter more is where you see yourself in five years.. if you have no interest in backend coding, by all means focus on Angular, but if you want to branch out from front-end development, Rails will get you quite a bit farther.

2
pedalpete 22 hours ago 0 replies      
Angular is becoming very popular, and I think as a front end dev, you'll pick it up quickly.

As a full stack dev with experience with both Angular and Rails, and recently been interviewing, I think Angular will serve you better over the next few years.

There is currently a focus on pushing the envelope with front-end UX, single page apps, etc. etc.I think a lot of the interesting work will be in that area. I suspect that over the next few years, the majority of back end work will continue to be pushed toward being APIs to serve the front-end javascript.

At the same time, having a server-side language in you toolbox is a good thing. But why rails? You already know javascript, to it seems to me the obvious path would be node.js. It is becoming extremely popular, and will allow you to leverage your existing knowledge of javascript.

Beyond everything else I've just said, I've recently started programming with node-webkit (I'm making an IDE) which further expands your horizons to installed apps to desktop environments.

Though there are a lot of haters out there, there is a huge future in Javascript, Rails is popular in certain circles, and it's a great language, but I wonder how popular it will be in another 5 years.

3
pedrogrande 21 hours ago 0 replies      
I personally recommend learning Rails first, Angular will then make more sense.

Plus you will have the skills and knowledge of how to plug your front end design into the backend systems.

Both Rails and Angular are MVC frameworks but I suggest that Rails is easier for a beginner coder to learn, especially if you already have a high level of comfort with HTML, CSS and jQuery.

4
maaku 23 hours ago 0 replies      
You are a front end developer.. so learn a front end framework.
26
Ask HN:What are your thoughts on Dogecoin?
5 points by cantbecool  1 day ago   7 comments top 5
1
cheald 18 hours ago 0 replies      
I think it's hilarious. Pure distilled internet. I don't expect it to ever gain actual traction, but it'll stick around for a while. The internet loves a good joke.
2
sesser 3 hours ago 0 replies      
Stuff like this renews my faith in the internet.
3
herbig 1 day ago 1 reply      
What is your definition of "viable" as it relates to currency?
4
binaryatrocity 9 hours ago 0 replies      
Mark my words. 2-5 years from now this post will be linked all over the internet as they tie "cantbecool" (the OP) to the Dread Doge Shiberts and arrest him.
5
rf1331 1 day ago 1 reply      
Why do you think it's more viable than Bitcoin? I'm curious to know.
27
Ask HN: I want to take a vacation and code; where should I go?
19 points by maroonblazer  2 days ago   19 comments top 11
1
nkg 2 days ago 1 reply      
I left Paris for the Caribbean almost a year ago. First I've been in Martinique, and now I'm in Guadeloupe.Martinique has been an ideal place to work on my side project.

If you don't speak french, I would recommend Saint-Lucia :

-the people are kind and welcoming

-life is cheap

-you can rent some remote house on a hill where no one will bother you.

-activities are within the usual island-vacation-pack : beach sports, volcano trek, museum, golf

2
mixmastamyk 2 days ago 1 reply      
This is a tough question... so many possibilities.

First thing that comes to mind is the Cadillac Hotel in Venice Beach, CA. Fun, sunny, laid-back area, easy to get to, lots to do. Close to the Getty. Not too expensive. Biking/rollerblading at sunset is wonderful.

http://www.thecadillachotel.com/

The Santa Monica library is also a great resource and alternate place to work if you are tired of coffee shops and hotel wifi.

3
easong 2 days ago 2 replies      
Not entirely what you're looking for, but I just finished hitchhiking and urban camping up the Arab peninsula, and Oman is pretty great for coding. Lots of cool and easy to access beaches, very friendly people, modern infrastructure, and I never encountered another Westerner, tourist or otherwise. There are resorts, but they're easy to avoid. Wifi is difficult to come by, but 4g hotspots are cheap and easy.

The UAE (Dubai in particular) is all kinds of awful, though.

4
cmer 2 days ago 0 replies      
A cruise might be your best bet! Read this: http://tynan.com/cruisework

FYI, wifi is now a bit cheaper on some cruise lines. Last time I was on Royal Caribbeans they had an unlimited wifi package that wasn't so outrageous.

5
lsiunsuex 2 days ago 2 replies      
I've thought about a vacation to code, but the only place I want to go on vacation to is Las Vegas.

Aside from the natural water part (it is in the middle of a desert) i think sitting by a pool would make a great place to work. Most (all?) of the pools have outdoor music, wifi, people watching, etc... Mandalay Bay has sand but they've since started a Day club which I don't think would be very good for the life span of your laptop... If you got a cabanna, it wouldn't be so dangerous.

I have worked in the lobby of a vegas hotel in a pinch so it's not bad...

The only problem with my plan, its not exactly cheap to stay at a vegas hotel...

6
ms013 2 days ago 0 replies      
Hawaii. Rent a condo/house on VRBO, that way you are not stuck at a resort with tourists. Typically can find these near resorts, so you are close enough to enjoy them when you want to close the laptop. I've had some good weeks of hacking between snorkeling and sunning on Maui, renting a condo on a golf course near the resorts north of Lahaina. Kauai and the Big Island have similarly nice places with reasonable housing and food, with the ocean nearby. Avoid the resorty areas of Oahu.

As for outdoor wifi, often just making sure I'm in a spot with LTE connectivity is sufficient to live with tethering to a phone or my ipad to do basic net things like access repos, web pages, and occasionally download packages.

7
midas007 2 days ago 0 replies      
Pick up surfing in Malaysia or Philippines. Super cheap living.
8
dubfan 2 days ago 0 replies      
Costa Rica might be the place. Find a reasonably well-developed town on the beach that isn't too touristy and I think that will fit most of those criteria.
9
deedubaya 2 days ago 1 reply      
San Jose, PR. It's a common wealth, so travel there and back is easy. They use the US Dollar. I was there earlier this month, and the connectivity was really good compared to most places I visited in Costa Rica. Also, no roaming charges for most US cell carriers.

Weather was great, nice beaches, fairly nice people (Costa Ricans are nicer).

10
actionbrandon 5 hours ago 0 replies      
thailand
11
elwell 2 days ago 0 replies      
San Diego
28
Ask HN: Why is Target storing PIN numbers?
6 points by whyme  1 day ago   4 comments top 3
1
GnarfGnarf 1 day ago 1 reply      
Target did not store the PINs. Storing PINs is forbidden by the PCI (Payment Card Industry) rules. If a merchant stores PINs or CVCs (Card Verification Code), he will lose access to the credit card system, and can't sell nuthin' no more.

The PINs were skimmed by malware in the POS devices.

Changing your PIN periodically is not a bad idea.

2
ColinWright 1 day ago 0 replies      
Reports are that it was malware on the Point-of-Sale devices:

http://www.businessinsider.com/target-credit-card-hackers-20...

3
t0 1 day ago 0 replies      
I think it was a man-in-the-middle attack, so everything during the transaction was stolen.
29
Ask HN: How would a new OS be different?
53 points by Jormundir  3 days ago   53 comments top 22
1
hendzen 2 days ago 2 replies      
I find the L4 Microkernel [0] pretty interesting. The goal of L4 is to make the microkernel architecture performant by making IPC fast. They did this by making the implementations processor dependent; they wrote the IPC code in optimized assembly. A variant [1] of it is actually commonly used in baseband processors. See this paper [2] for a good overview.

[0] - http://os.inf.tu-dresden.de/L4/overview.html

[1] - http://www.ok-labs.com/products/okl4-microvisor

[2] - http://homes.cs.washington.edu/~bershad/590s/papers/towards-...

2
asperous 2 days ago 1 reply      
Some ideas for inspiration:

--- Low level ---

Highly reliable, flexible, and securehttp://www.minix3.org/

Filesystem that's intuitive, easy to learn, and makes sensehttp://www.gobolinux.org/?page=at_a_glance

Declarative configuration managementhttp://nixos.org/nixos/

Support applications and drivers written for windowshttp://www.reactos.org/

Better Securityhttp://www.openbsd.org/security.html

Update software silently and instantlyhttp://www.codinghorror.com/blog/2011/05/the-infinite-versio...

Application Permissionshttp://codezqr.com/blog/wp-content/uploads/2012/04/Android-P...

--- User level ---

Remove X11http://wayland.freedesktop.org/

Application Directorieshttp://en.wikipedia.org/wiki/Application_directory

http://rox.sourceforge.net/desktop/

Amazing basic applicationshttp://www.apple.com/osx/apps/

Unify notificationshttp://growl.info/

http://www.apple.com/osx/whats-new/#notifications

3
chipsy 2 days ago 3 replies      
The biggest legacy of Unix is C.

With Unix, runtime provisions effectively end where C picks up. C is "good enough" to build applications on, and it can be written portably, most of the time. But there is plenty of reason to challenge the idea that we need a baseline of C. There are benefits to having richer data types built in, to having garbage collection, and all of those typical higher-level programming arguments. And if it's done at the OS level, the whole OS may also benefit from that - it opens up more options for organizing data, for configuration interfaces, and for communicating between processes. The system is likely to be more stable and more secure as well.

The downside is also known - losing lower-level control, losing lower-level performance. But each time our hardware situation morphs, there's an incentive to abandon the lower-level stuff to get better portability. So in time, as hardware usage changes(not just in terms of devices and their internal HW management, but also the increasing complexity of our networks) we're likely to incrementally adopt the higher-level paradigms.

4
adamnemecek 2 days ago 1 reply      
I know that the question was about OS architecture but I really feel like the UX is not as good as it could be. One thing I've been thinking about recently is that it could be interesting if there was some GUI system that would follow the Unix principle of having many small, task specific applications that could be easily composed together. It happens to me a lot that there are 3 applications each of which does something better than the other 2 but in the end of the day none of them is ideal. If I could pick the best of the 3 and put it together myself, that would be great.

Later, I realized that Mac OS' Automator/Applescript might have been an attempt to do something like this but it feels somewhat half-assed. Given something like this is probably impossible to bolt on later so you'd have to design the OS from the beginning to allow for this.

5
corysama 2 days ago 1 reply      
If I were to create a new OS today, it would basically look like an iPad-ish screen of icons as a front-end to Xen. Each "app" would be a stand-alone virtual machine image custom configured to run a /single/ application each.

I'm speaking out of my rear end, but it seems like that's where we're all headed in order to achieve the security/configurability/reliability/simplicity/etc that we all want. As examples, I point to sandboxed mobile/browser/cloud/game console apps as well as config sandboxing such as VirtualEnv and .Net's dll versioning. Might as well drop the half-measures and go all the way. Skip DLL/API/browser version hell and just ship a complete OS image that has been configured and tested to work reliably for the app.

It's my understanding that the Xbox One has basically implemented this already. Game discs contain an OS image that runs as a guest OS on the Box. In addition to improved security, this should greatly reduce the back-compat test burden as future Xbox OS revisions come out.

6
wissler 2 days ago 2 replies      
Most innovation is driven by at most a few individuals, but the bar is so high for a viable practical modern operating system that individuals are going to tend to take their innovation elsewhere.

This is not the ideal situation. Ideally, big companies like Microsoft or Apple would enable the right individuals to innovate in this area, unfortunately they are very bad at this. They do not know how to select these individuals, and even more importantly, leaving aside the rare likes of Elon Musk, the notion of radical innovation is rather contradictory to the institution of big business in our era.

7
rguldener 2 days ago 0 replies      
Yes you certainly can: At my university they are building a new operating system from scratch with multicore/multi CPU systems in mind, their vision is that someday we might have 5-10 specialized "CPU"s in our machines for better parallelization.

Current OS have a hard time dealing with such heterogenous systems so they decided to start from scratch: The entire OS is structured as a distributed system with a dedicated mini-kernel running on each core of the processor and potentially also your network card etc. They even disallow shared memory between the core kernels and solely communicate through a message passing system.

If you are interested in their approach check out the Barrelfish website: http://www.barrelfish.org

And here is a great overview of the architecture: http://www.barrelfish.org/TN-000-Overview.pdf

8
YZF 2 days ago 1 reply      
Perhaps an OS that is built over distributed components. A process you run, or even a "thread", can execute in an AWS instance. Applications can be shared between multiple devices. Storage can be anywhere. A distributed web service is just an "application" under this OS.
9
perlgeek 2 days ago 1 reply      
I think there is lots of potential for innovation in the file system area. There could be a content-adressable file system right in the kernel and serve as a base for the operating system. Or some kind of object storage. Or at least with much richer meta data (and Unicode file names!) than current file systems. And maybe with transaction support over multiple files/directories.
10
olefoo 2 days ago 0 replies      
It would be interesting to see an OS in which audio and video streams were first class objects. Where the primary display was a video stream composited out of main memory from a render tree that was the core data structure and which treated memory as being made of tagged video and audio buffers ( some of which were infinite in length or were memory mapped from disk or network sources ).

BeOS had some of this, but the core ideas have not been explored as fully as they might have been.

11
dmytrish 2 days ago 0 replies      
I used to give some thought to OS design some time ago (I'm a hobbyist OSdev). I've come to a more conservative point of view: what problem do we try to solve with the new system design? Are our systems large and flabby enough to fall apart from within under their own weight? Are there profound hardware changes that require architectural re-thinking?

An OS kernel by definition is a small layer of hardware resources management/abstraction software. Has hardware changed? Yes and no. The most prominent changes are multi-core CPUs, ubiquitous networking, a lot of peripheral devices, support for OS virtualization, but generally hardware architecture is not that far from 70s when Unix was invented. From the software side: the beauty of programming is in its abstraction power and most of software progress is advancing at levels abstracted far from OS (html5/virtual machines/language environments/etc). So, I don't see a burning need for changing the underlying service layer. Microkernels are nice, language-based systems are nice also, but their time has not come yet, the inertia of existing code base is huge, so the incentive to depart from it must be also huge.

I agree that user-space level organization may be more consistent from modern point of view, but it's not clear where to head. Ideas are welcome, but power of organic evolution also should not to be underrated.

12
zvrba 2 days ago 0 replies      
Built-in sandboxing with user-defineable data flow policies.
13
politician 2 days ago 1 reply      
I'd love to see integrated package management and versioning handled by the OS in such a way that each independent language community wouldn't have to reinvent a new distribution channel. Something like Ruby's Bundler or .NET's GAC+Nuget or "App Stores for Libraries" at the OS/vendor level.
14
graiz 2 days ago 2 replies      
- Built in support for the online services from the ground up. From the filesystem to the drivers the system should be built around the idea that it can be updated easily from the web and kept up to date.- Ideas like DropBox and Backup services aren't a 3rd party feature/add-on they are core to online nature of the OS.- Perhaps a new way to manage files & folders. I can't believe we still use filename.ext. iOS has some interesting things here.
15
huragok 2 days ago 1 reply      
When I think "Next-Gen OS" I think of boot-to-Erlang with a very high fault tolerance.
16
frik 2 days ago 2 replies      
17
girvo 2 days ago 1 reply      
Haiku. Yeah, it's sort of UNIX-like, but it's APIs are phenomenal, and it's focus on performance is slightly different to other OSes
18
hbar 2 days ago 1 reply      
19
lowglow 2 days ago 0 replies      
I'm spending this next year to build a new operating system. If you're truly interested in changing the future of computer email me: dan at techendo dot co
20
iElectric2 1 day ago 0 replies      
Declarative configuration management http://nixos.org/nixos/

This.

21
collyw 2 days ago 0 replies      
I really liked the sound of WinFS with a filesystem that you could query like a database.
22
kkedacic 2 days ago 0 replies      
Id like to see OS with exokernel.
30
Ask HN: a phone# for a foreign country
2 points by kris-jagasia  20 hours ago   4 comments top 3
1
tga 15 hours ago 0 replies      
So far I've been happy with http://www.sonetel.com for getting incoming calls and voicemail-to-email at a reasonable price (no affiliation, I'm just a small time customer).
2
ScottWhigham 16 hours ago 0 replies      
We use Skype to host phone numbers in the UK and Australia for our US-based company. We only get a few calls here and there due to the fact that our support hours are US business hours. But the amount of business those calls generate pays for the cost 10x or more.
3
kris-jagasia 15 hours ago 1 reply      
cheers guys, neither handles Turkish numbers, wonder if Turkish telecommunications blocks it
       cached 31 December 2013 05:05:01 GMT