hacker news with inline top comments    .. more ..    21 May 2014 Ask
home   ask   best   5 years ago   
1
Ask HN: pricing question
2 points by kinj28  2 hours ago   6 comments top 4
2
hcatlin 1 hour ago 1 reply      
If it's "for teams", then users seems like a better option. You wouldn't want to punish usage. Remember, you are creating value and you want to make sure that the user gets as much value as possible... and that's by sharing more often, typically. And, as the user base within a company grows (hopefully), the price should go up. This stuff is always hard to figure out and I don't think most companies are always 100% happy with how they are charging, but if you are a team-based app where you can easily measure by employees using it, then user is probably the clear winner, even with the little information you've given.
3
adrianhoward 1 hour ago 0 replies      
Depends on your customers and your product. Could be neither. Could be both depending on how you segment your customers.
4
adventured 2 hours ago 1 reply      
All of this said without knowing what your actual business does.

Ideally whichever is easiest to calculate use for by the customer (assuming you can keep your pricing structure similar in terms of what you earn as well).

If users might be sharing anywhere from 5 to 500 or 5,000 links, that's a pricing nightmare in which the customer doesn't know their costs and it might be very hard to estimate ahead of time. That's a non-starter for most businesses.

When something has such low per unit costs and value as an individual link, I'd tend to argue in favor of a layer above that which simplifies the pricing: in this case, the per user pricing model. If you can provide unlimited links per user in that model, all the better.

2
Ask HN: Which service do you use to sell downloads?
52 points by renaars  23 hours ago   51 comments top 25
1
patio11 21 hours ago 2 replies      
I may well be e-junkie's oldest surviving customer, although I eventually transitioned everything off their app into my app with the exception of Paypal IPN processing. They've got almost $500 of LTV from me, $5 a month at a time.

If I were making the choice again today, it would be Gumroad by a country mile. Regardless of whether you end up using them, look up Ryan Delk's presentations regarding the habits of successful sellers (multi-tier products; X 2.2X 5X pricing; email marketing). They'll make you much more successful than the typical person who just throws a $FOO onto the Internet.

2
programminggeek 20 hours ago 1 reply      
I would use gumroad or whatever is easiest/fastest to get it out there. Don't worry about fees and junk right away. Get your product available to sell and focus on selling it. Don't spend a lot of time on how you are going to process money and deliver the product. Focus on the sales. When you have $10,000 in sales and 1% margin starts being worth $100, you can spend a few hours maybe worrying about if gum road is the right choice. Even then, it's probably not worth worrying about.

Just sell things, enough things that it actually matters who you are using for processing. But, with 0 sales, you are doing 0 order processing so it doesn't matter.

3
joshdance 20 hours ago 2 replies      
I've sold about a thousand dollars thru Gumroad. http://gumroad.com

I like the design. I like the simplicity. People can just use their CC like normal. They take a percentage of your sales, but so far found it worth it.

I wish it had order tracking (just a box I could tick when I shipped something would be nice) but that is irrelevant for downloads.

4
bhouston 20 hours ago 0 replies      
We wrote our own integration into Shopify.com that does RLM-based licensing (a standard in the visual effects software industry.)
5
singer 19 hours ago 1 reply      
My service (https://snappycheckout.com) offers a Stripe Checkout like experience and allows you to sell files from Dropbox. It costs 2% or $0.50 (whichever is less) per sale (plus the usual Stripe/PayPal fees).
6
jeremymcanally 21 hours ago 1 reply      
http://getdpd.com is the best option I've found. The interface makes sense, the pricing is super fair, and they allow you to send unlimited updates for free to your users (most other services charge more or, even worse, per update!).
7
fookyong 18 hours ago 0 replies      
I use e-junkie for growthhackinghandbook.com

Flat monthly fee. Their admin UI is clunky, their checkout pages are basic but functional, but they solve a number of problems* without asking for a percentage cut of sales.

I think for basic stuff they work just fine. I'm just selling one ebook and I just wasn't comfortable with having a cut of my sales taken AND my funds being withheld by a third party before some weekly or monthly remittance. With e-junkie the funds go straight to my PayPal account where I can use the money immediately (I constantly pay for things via PayPal).

*obfuscating download path, handling coupons, handling multiple downloads etc

8
luxpir 21 hours ago 0 replies      
WooCommerce on Wordpress for an ebook/digital package. Free, barring Paypal fees (grmmble - I could use a different gateway, or even BTC, but in the real world PP is my best bet), and user-friendly enough. Has been very reliable over the years.
9
ivan_ah 22 hours ago 1 reply      
https://gumroad.com/ : nice design + very simple to use
10
acangiano 22 hours ago 1 reply      
I no longer need them, but in the past I had positive experiences with FastSpring. eJunkie is also a popular option.
11
quaffapint 22 hours ago 0 replies      
I plan on using wordpress and the free paid membership pro plugin (http://www.paidmembershipspro.com/) for my upcoming release.

Let's me sell a per year license with an optional reduced renewal fee at the end of the year, which most services don't seem to easily offer. Also then lets me ties into other things like support forum membership.

12
jevin 21 hours ago 1 reply      
You can have a look at http://www.fastspring.com/ too. I use them to sell my plugins online. Their support is fantastic.
13
graeme 20 hours ago 0 replies      
I use woocommerce on Wordpress. I have a large number of products, and their cart process works pretty well. Checkout is smooth. Plentiful extensions.
14
hngiszmo 20 hours ago 0 replies      
A friend earned quite a bit with his music on CoinDL: https://www.coindl.com/page/author/139

It's bitcoin only though but I like the preview for music and the no-bullshit easy handling.

15
garrettdimon 22 hours ago 0 replies      
Plasso (formerly Spacebox) I've been incredibly happy with both the service and the support.

http://plasso.co

16
greenwalls 18 hours ago 0 replies      
I have had good luck with Cleverbridge http://www.cleverbridge.com.
17
bizifyme 18 hours ago 0 replies      
Our service https://www.bizify.me offers a complete package. Credit card processing is included and also payment by mobile phone (SMS) for many countries. There is also a WordPress plugin and you can install our App on your phone to easily follow your sales. No setup fees, no monthly fees, no fixed transaction fees and the price for a digital product can be as low as 0.1 EUR.
18
infruset 21 hours ago 1 reply      
Haven't used it, but I think this deserves a mention as it accepts bitcoin: http://coinlock.com/
19
nelstrom 18 hours ago 0 replies      
I'm pretty impressed with SendOwl. I like the flat monthly fee and generous bandwidth allowance. So far, I've not done a great volume of sales, but my customers have already remarked on how quickly the 0.8GB video file downloaded. So the core functionality seems sound. I'm looking forward to using their affiliates feature to help market my future products.
20
bthomas 20 hours ago 0 replies      
Do any of these services have a good workflow for pay what you want downloads?
21
cannam 22 hours ago 1 reply      
SendOwl (http://www.sendowl.com), formerly known as Digital Delivery App. No particular complaints, but it's been a while since I've looked at the competition.
22
BrechtVds 22 hours ago 0 replies      
For WordPress plugins and themes I enjoy https://easydigitaldownloads.comIt's not perfect, but has some nice plugins (licensing!).
23
samreh 15 hours ago 0 replies      
If you like/use shopify, check out:https://skypilotapp.com
24
maxx6 22 hours ago 0 replies      
Sellfy (https://sellfy.com) works great for me. I especially like the feature to use PayPal and Stripe together.
25
antidaily 21 hours ago 1 reply      
Bonus if the service is flat monthly fee.
3
Ask HN What do you do to stay fit while working?
16 points by kzisme  13 hours ago   29 comments top 24
1
joerich 1 hour ago 0 replies      
I think it is better to get the exercise done before working.

Wake up earlier and go to the gym.

If you dont like the gym do some pushups and crunchs and go running or do exercise bike for 30 minutes. Maybe it is hard the first weeks but if you get a routine it will become easier and you will feel energetic during the day if you do exercise when you wake up.

2
busterc 9 hours ago 0 replies      
Tldr; eating salads

In the past I did crossfit. I enjoyed the short time commitment: 30 minutes, 3 times a weak & it allowed me to become very fit. However, I hurt my hip & have never wanted to go back to that level of extreme exercise for fear of further severe injury. I'm not a paid athlete & don't really need to be that fit.

In the past I've tried 2 types of dieting that made sense to me and each worked very well: Zone & Atkins. The catch is that Atkins is hard to sustain with little variety and a lot of temptation; while the Zone is enjoyable & not hard to stick with but you must be active much more so than when on Atkins.

For the last 2 years I've been very fit, with no more exercise than random walks and general stretching every few days. I got married and my wife, and now I, eat a salad before almost every meal. It's had an astounding affect on me. I still eat the yummy, high calorie high carb goodies, but much less than before. Btw, my wife makes amazing salads, nothing too exotic but nothing too boring.

From a Texan who eats his fair share of BBQ, salads can be very enjoyable.

3
rainmaking 3 hours ago 0 replies      
I use "Starting Strength" by Mark Rippetoe. It's 45 minutes of barbell training 3 times a week and lots of dairy products.

I've been at it for 2 years and squat 85kg and bench 65kg (3 sets, 5 repetitions). I obviously haven't become a competitive powerlifter but not bad for a nerd who never gets off the couch otherwise. Never got hurt either.

I've been told with more muscle you can keep your eating habits and not get fat; it seems to be true. I cut potato chips and sugary soft drinks but kept burgers, pizza and beer. Works fine.

4
georgemcbay 12 hours ago 0 replies      
I've got a simple flat weight bench, a 300lbs barbell set and combo squat stand/safety arm (for bench presses, etc) thing at home. Everything you need for typical "big move" weight training. Total cost: about $500 which is a bit less than an average year of gym membership.

Highly recommended if you have the space for it.

Also I do a lot of hiking as part of my photography hobby.

5
quickpost 6 hours ago 0 replies      
Commute to work 3x week on a bicycle. Long rides on weekends. Lifting 1x / week.

Working on my diet as well, even though I'm already fairly lean. Trying to cut out all processed crap and just stick to real foods - paleo-ish diet.

6
Oculus 12 hours ago 1 reply      
Everyday, I do 100 pushups - 50 when I wake up & 50 before I go to bed. It takes 2 - 3 minutes from your day so you have no excuse. If I have extra free time I'll go swim at the local pool.

Adam Savage (of Mythbusters fame) does a really awesome podcast on which they discussed fitness/well-being one week[1]. The main takeaway is in order to become and more importantly stay healthy you have to change your mindset to always be thinking about what you eat.

1 - https://www.youtube.com/watch?v=0A1rpGGqYew

7
a3n 11 hours ago 0 replies      
Gym two to four times per week after work, and squats and pushups every morning. I can't do 50 pushups, but I can do more today than I did yesterday, and not as many as I'll be able to do tomorrow.

As for pushups at home:

- Do as many as I can.

- Rest my arms by doing ten squats.

- Do as many knee pushups as I can. This is my "bonus round," that gives me more improvement than I can get with just strict pushups. Most days I can do one, sometimes two more strict pushups than the day before.

8
Im_Talking 10 hours ago 0 replies      
'State of fitness' makes me think of cardio, treadmills, etc which for most non-fat people is non-optimal. Kenyan marathoners are fit but a strong wind will blow them over.

The optimal view is 'state of strength' since strength is the most important physical attribute, and certainly gains even more importance the older we get. Strength allows the body to operate optimally. People who partake in resistance training have less instances of death across any reason; accidents, illness, disease, even violence (you have a better chance of surviving a gunshot, for example, if you are strong which makes sense), etc.

I'm 54, and I do 2-3 workouts a week on the compound lifts like squats (always do your squats), overhead presses, deadlifts. I also do prowler and farmer walks for HIT. I also play basketball and tennis once a week. I have never felt better.

9
noodle 12 hours ago 0 replies      
Force yourself to go to the gym on a regular schedule and work out for an hour a day M-F. Before work, after work, whenever. Just schedule it and do it.

For me, the key has been to realize that I'm not "wasting" or "losing" the time I spend at the gym. I feel like shit when I haven't done any physical activity, so I'm investing a few hours a week so that I can get more done in the normal work day.

10
Stubb 9 hours ago 1 reply      
I hit the gym two or three times a week to lift heavy (e.g., squat, deadlift, overhead press) and go for a walk most days. The walks are hardly a breakneck paceI'm carrying on a conversation, stopping to check out wildflowers, and observing what's going on around me. Both are fun and contribute to overall fitness, but in different ways.

I need to think a lot at my job will get up and wander around regularly.

Food wise, paleo-style eating seems to help with energy levels and staying lean. So does getting eight hours of sleep every night, which doesn't happen frequently enough.

I'm not a fan of steady-state cardio. It seems to hurt muscle mass and contribute to belly fat and joint pain.

I'm 41, 5'8", 175#, 32" waist, 40" chest, and recently squatted 315# for a single and have deadlifted 430#.

11
yen223 12 hours ago 0 replies      
I use an exercise ball as a chair. Really tighten up the core. "Bonus" point is that the exercise ball is so uncomfortable I'm forced to stand up and take a walk every hour or so.
12
spo81rty 9 hours ago 0 replies      
Diet is the most important. Highly recommended a paleo type diet. No processed foods or sugar. Forget counting calories. Just healthy whole foods. Meat, fruits, veggies, nuts, etc. No breads or sugar. Down 25 pounds. Works great for me!
13
eswat 10 hours ago 0 replies      
My usual fitness routine: Weightlifting for strength, 3 times a week. Hatha yoga at least twice a week. Bouldering whenever I feel like it (unlike the other stuff I dont try to make bouldering a routine so if I feel like not doing it, I wont). This seems to work good for me.

Also, not eating shit food, mostly by avoiding the centre of grocery stores and shopping at local stores and farmers markets as much as possible.

14
webnrrd2k 10 hours ago 0 replies      
I just started one small thing that's improved both my fitness and my work life -- reading a technical book when I work out on the elliptical.

Right now I'm working through Lisp In Small Pieces. It's not easy to read and work out, but I like the challenge and it works well enough that I'll keep doing it. Plus it keeps me from getting so bored at the gym.

15
billmalarky 12 hours ago 1 reply      
If you live in NYC, my trick is to go to a gym that in on the way home from work, but not the same stop as my apartment. Then I just force myself to always exit the train at that stop even if I really don't want to go to the gym. Once I've stepped off and the train leaves it's either go to the gym or wait 15 minutes for a new train.

YMMV but I've never not gone through with a workout once I've stepped off that train.

16
mrlyc 5 hours ago 0 replies      
I go to the gym every day. I've found that I have to drive to the gym straight from work as, if I go home first, I somehow never make it to the gym.
17
stintaril 12 hours ago 0 replies      
This might not work for you but it works for me:

I do intermittent fasting (16 hour fast and an 8 hour feeding window) every day. I workout in the last hour of my fasting and then eat my biggest meal of the day.

My typical schedule goes like this:-My last meal (usually a protein shake or cottage cheese) right before 9:00pm.-I wake up and have tea-At 11:45 I head to the gym and workout for an hour or more-At 1:00 I eat my biggest meal-For dinner I just try to have a regular sized portion of food

I try to keep my protein and carb intake around the same amount of grams and keep the fats somewhat low. On the weekends I fast, but I dont workout and I try to lower my carbs (this usually doesnt happen though).

What I really like about working out at lunch is that I get away from the office and it makes me feel focused and fresh for the rest of the day.

18
palidanx 8 hours ago 0 replies      
On Monday and Wednesday I go morning surfing. For that, I try not to schedule any meeting those mornings. If I can't hit the surf, I'll try to sub for a swim at my local gym. On Thursday I'll do weights at the gym, and the weekends a hike or some tennis.

Also I cook every day so that helps control what I eat.

19
SEJeff 13 hours ago 0 replies      
Pushups and marine style crunches before going to work in the morning, a ~5 mile (one way) bike ride to/from the office, and don't sit around all day after work. I write software.

That and Wing Chun Kung Fu classes 3x per week

20
spyspy 12 hours ago 0 replies      
Join some type of team or club sport, either one with people you already know or get to know. Going to the gym by yourself will get monotonous unless you're really motivated. Getting in shape is easy when it feels more like a social obligation than a physical burden.

I joined a small soccer team that was always struggling to get enough people to play each week. I suck at soccer, but I knew my presence was way better than playing 1 or 2 players down.

21
digita88 10 hours ago 0 replies      
I work out 2 hours, 5 days a week via mix of core, cardio, toning, muscle. While I'm working out, I use the time to listen to music, podcasts, re-listen to some movies/TV shows.The key is to change your mental habits and build it up as a routine.
22
mkal_tsr 13 hours ago 0 replies      
Powerlifting and rowing, and I make sure to use a workout tracker to measure my progress. And sleep, definitely sleep.
23
cpncrunch 12 hours ago 0 replies      
Walk my dog twice a day, and also either swim or go for bike ride most days and also do pushups+situps. I work from home, which helps.
24
a3voices 13 hours ago 0 replies      
I run 3-4 times per week, lift weights during those days also, and go walking 7 days per week. Even though I sometimes slack off during these routines, it's enough to keep me fit.
4
Ask HN: How Do You Securely Share Passwords in Teams?
41 points by s9ix  21 hours ago   61 comments top 33
1
AaronFriel 19 hours ago 2 replies      
I'm working on a piece of software (SaaS, self-hosted) that acts as a reverse proxy and stores credentials. The goal is to avoid having to require users to know any secrets other than the ones you already trust them to have (a domain login, a Google Apps account, etc.) The goal is to have a single-sign on for the entire internet, and any topology of mapping users to accounts. Account per user could be used if you want to provide access to individual (but company controlled) Reddit, email, Trello, etc. accounts. Many users per account could be used to manage Facebook, Twitter, et al. And access policies can control whether or not users are allowed to send particular types of requests or visit URL fragments.

It's a work in progress, I have an online parser/rewriter for HTML, CSS, JavaScript that can handle moderately complex websites now, including Facebook. Might have something ready by the end of the summer.

Here's an album with some screenshots from last year: http://imgur.com/a/ekoO2

2
MikeKusold 21 hours ago 1 reply      
Ideally, you don't share passwords. If it is a server, every user should have their own account with sudo access if needed.

If it is a website that you are unable to add multiple users to an organization with, LastPass has a password sharing feature that doesn't directly expose the password with people you share it with. Although if someone cares enough, they will be able to find it.

Any time an employee leaves a company, all shared passwords should be reset. It doesn't matter if it was an amicable departure or not.

3
aroch 21 hours ago 1 reply      
Passwords: We don't. Everything that could use a password is either keyed or certificate auth. Edit: I should add that there are things that use passwords but those are user-specific accounts or communal accounts (which are considered, essentially, public accounts) and are accessible only on the internal network. Users are responsible for the safe-keeping of those passwords and user accounts can do no harm, so to speak, if compromised.

Secrets: In a closed office, verbally.

4
cones688 21 hours ago 2 replies      
Large enterprises usually use PIMs (Privileged Identity Managers), web based consoles where you check out credentials for the task. I have seen IBMs and it has some pretty creepy (if you are the dev)/powerful (if you are CISO) features like session recording etc [0], does allow you to see who used what at what time and rotates passwords for the systems required between use..

[0] http://www-03.ibm.com/software/products/en/pim/

edit: video demo https://www.youtube.com/watch?v=CITq80gf6Hk

5
damon_c 20 hours ago 0 replies      
I've been thinking about this lately and it occurred to me that it would be nice to be able to store sensitive info in an area accessible to everyone on the project but still be able to limit access.

Currently we use ssh keys to limit access to servers and code repositories so the perfect solution would allow passwords and such to be protected by similar means.

I believe gpg[0] has a solution but I have not implemented it myself yet.

0: https://www.gnupg.org/gph/en/manual/x110.html

6
furyg3 20 hours ago 0 replies      
For user specific passwords, our team uses whichever software they prefer (usually LastPass or KeePass)

For passwords that can absolutely not be made user-specific, we use SimpleSafe (https://www.simplesafe.net/). It allows you to make groups of passwords and assign rights to those passwords, and has decent logging. It's web based and works ok on mobile.

These few passwords are for network devices, passwords for websites where only one account can be made, or master/root/administrator passwords that we don't use but need to write down somewhere just in case.

These are the keys to the kingdom, so it should be behind VPN/SSH, ideally completely isolated from your regular infrastructure, and with tested backup procedures.

7
lotsofcows 20 hours ago 1 reply      
A couple of KeePass files in DropBox.
8
brokentone 21 hours ago 1 reply      
Honestly the original "share" isn't the big issue -- many ways to communicate securely. But the history is what will get you if your communication platform ever gets broken into.

Most of the external accounts (log analysis, analytics, CDN, etc) have individual accounts, no sharing necessary, up to the individual to maintain complexity and remember the password.

For other services, certificates and multiple authentication methods (2FA) works out nicely.

9
jcfrei 20 hours ago 0 replies      
If there's no other way than using a shared password, you might resort to using the gnupg suite to encrypt it (and then share it with your favourite messenger/mail client). The necessary programs are usually pre-installed on your distribution.
10
Diederich 20 hours ago 0 replies      
I might have missed it, but has HN done any kind of review of zerobin? http://sebsauvage.net/wiki/doku.php?id=php:zerobin
11
lowry 17 hours ago 1 reply      
None mentioned gitcrypt yet. I used it for 3 years, sharing password in a team of 4. A bit cumbersome to setup, but once you've been through the installation instructions, it just works.

https://github.com/shadowhand/git-encrypt

12
kruk 19 hours ago 0 replies      
For most of the services we create separate accounts. Nowadays most sites support multiple accounts, those who don't are rare enough to just share a password via email.

Personally I use 1Password for storing passwords and it allows sharing vaults between users so as my team grows we might actually consider using these.

13
matthewcford 20 hours ago 0 replies      
We've just started using https://www.mitro.co which seems better suited for us, we've created an org, and have teams for different projects/level of access.
14
arn 20 hours ago 0 replies      
Sendinc.com is an option for secure self destructing emails. As much as you trust a 3rd party.
15
rburhum 20 hours ago 0 replies      
"Sharing Passwords" could mean sharing the master account of a service you don't have ssh/certificate access to
16
gaadd33 20 hours ago 2 replies      
We use https://commonkey.com/, it works pretty great and all the encryption is done client side (although the usual caveats about javascript encryption still hold)
17
karthikv2k 20 hours ago 1 reply      
https://www.secureshareme.com/

Pros:1. Open source tool, you can run internally in your company. https://github.com/saravanacp/secureshareme2. Very secure: it encrypts the data in the browser and the key is stored in the URL anchortag which is not sent to server at any point of time. Only the sender and the receiver has access to the keys. 3. You can also opt to send a secondary verification code to receiver's mobile for two layers of security.4. Option to self distruct message based on time or if an attack is detected.

18
jsegura 21 hours ago 1 reply      
Password safe in a smb share. I don't really like the idea but it's imposed.
19
mbesto 21 hours ago 0 replies      
LastPass

Cheap, effective and good security track record.

20
eddieroger 20 hours ago 0 replies      
Other than the default answer of "rarely," we've started using a shared 1Password vault. We actually end up using the notes functionality more than anything, but there are some common team accounts in there. Since most of us used 1Password already, it was easy peasey.
21
tvon 20 hours ago 0 replies      
22
payaaam 20 hours ago 0 replies      
When we HAVE to share passwords, we email them using Virtru (encrypted emails). All of the encryption is done client side. You can set the email to expire after 1 hour. No one would ever be able to read it again. https://www.virtru.com/other-platforms

That being said, we use personal accounts for all external services. All personal passwords are stored in 1Password.

23
bjelkeman-again 21 hours ago 0 replies      
Why are you looking for alternatives? Looking at this issue myself.
24
hussong 21 hours ago 2 replies      
passpack.com -- have been using it for a few years now and never looked back.
25
eli 20 hours ago 0 replies      
What don't you like about Meldium?
26
petval 20 hours ago 0 replies      
KeePass with triggers for synchronization, it syncs on opening and closing the db. Two factor authentication for the db files and separate db file for every unique group.
27
hamburglar 8 hours ago 0 replies      
A handful of text files containing sets of passwords of similar "privilege level" (e.g. one containing social media logins, one for PayPal or services that cost money, etc), stored gpg-encrypted to specific lists of people and kept under revision control. It is cumbersome, particularly with regard to editing and key management. But it works and doesn't rely on any 3rd parties.
28
1111y 20 hours ago 0 replies      
Keepass wallet stored on a secure, internal network.
29
josefresco 20 hours ago 0 replies      
Google Drive/Docs.
30
paulocal 20 hours ago 0 replies      
Lastpass. It's awesome and easy to use. Wish the UI was a little better but it's not terrible.
31
surfacedamage 20 hours ago 1 reply      
32
peterwwillis 20 hours ago 1 reply      
Write it on a post-it, walk up to the person, give it to them, then take the post-it back.

Passwords are designed to be human-interface memorized authentication tokens. Sharing it any other way than via human interaction just makes it a digital key, and real digital keys are much more secure than digital passwords. So share it via human medium, or rethink why you're using a password.

33
savszymura 19 hours ago 0 replies      
Excel spreadsheet on the network drive. I wish I was joking.
5
Ask HN What payment services auto-distribute for collaborative works?
2 points by wturner  3 hours ago   3 comments top
1
jcr 3 hours ago 1 reply      
Well you're up late. ;)

I believe Stripe can handle dispersing funds to multiple accounts.

6
Ask HN: Business co-founder
4 points by devsri1997  8 hours ago   1 comment top
1
macguyver 3 hours ago 0 replies      
I couldn't find your email. Do you want to send me an email? See my handle.
7
Ask HN Preparing for my first internship?
3 points by brandnewintern  5 hours ago   1 comment top
1
jsegura 4 hours ago 0 replies      
First of all try to get information of that company. As much as you can. Try to get information about the market and competitors.

You also need to refresh your networking knowledge. Osi model, layers, protocols, ...

8
Massive network issues across Europe
95 points by abritishguy  1 day ago   22 comments top 12
1
Ihmahr 1 day ago 3 replies      
Transatlantic cable down. Are they busy installing a prism?
2
zokier 1 day ago 1 reply      
> It was a scheduled job that went a bit wrong, says Bo Djurberg, manager at Telia

from http://www.aftonbladet.se/nyheter/article18915221.ab via google translate)

3
Strom 1 day ago 0 replies      
I can pretty much only reach sites which are routed through the netherlands for me (like Cloudflare proxied HN, or Google). Everything else doesn't connect at all or times out after downloading 10% of the HTML. I'm connecting from Estonia.

The Digital Ocean status page [1] claims that "Preliminary investigation indicates that Telias Transatlantic cable are down." which would make sense, because my ISP is Telia and I can't connect to most of the internet.

Edit: Well, this outage lasted a bit over an hour. Now at 20:55 UTC I can access everything once again.

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

4
mcintyre1994 1 day ago 0 replies      
> "One of our upstreams (Telia) appears to have a trans-Atlantic cable cut. We're routing around in many EU locations now." @cloudflare

https://twitter.com/CloudFlare/status/468494276691640320

5
cordite 1 day ago 0 replies      
It was really interesting how I could still communicate to some of the servers via connections that went through Level3.

Yet once I got back in the server (behind that indirection), the server couldn't even ping google, and its DNS was totally down.

Would've done a traceroute for fun if OVH's mirrors were reachable.

6
jaekwon 1 day ago 0 replies      
Hi guys, I'm very curious about the effects of this. What is the network like? Can you characterize it in terms of latency, dropped packets, bandwidth?

Say if you wanted to upload/download a megabyte of data to a datacenter in the US using TCP with retries, would it work eventually with high probability?

7
karnei 1 day ago 0 replies      
Its amazing how well traffic gets rerouted now days
8
jpdus 1 day ago 0 replies      
Ah, thanks for the info.

Connections to our US broker failed at 10pm (dst) on different servers (based in Germany) and i had no idea why, I already wanted to blame our hosting provider.

9
justincormack 1 day ago 0 replies      
Clearly a test for who can withstand network partition...
10
rmoriz 1 day ago 0 replies      
Germany: Dropbox unreachable, Tumblr very slow
11
crucialfelix 1 day ago 1 reply      
mostly unreachable from berlin: rackspace.com, amazon.com

but I see the traceroutes failing after they make it to the US.

12
mjcohen 1 day ago 1 reply      
Russia starting a cyber-war?
9
Ask HN: What tool do sites use for Mac titlebar screenshots?
2 points by bossanova  7 hours ago   discuss
10
Ask HN: Why does Wikipedia still render equations poorly on retina displays?
2 points by Xcelerate  8 hours ago   4 comments top 2
1
runjake 7 hours ago 1 reply      
Because, as far as I can tell, they are images and not an actual font. Bitmaps are pixel-doubled on Retina, which makes them blocky.

Example: http://en.wikipedia.org/wiki/Equation

2
dragonbonheur 6 hours ago 0 replies      
The real question is why do retina displays render Wikipedia equations poorly.
11
Ask HN: Is this sponsored weeklong "hackathon" actually exploitation?
9 points by orkoden  19 hours ago   8 comments top 4
1
patio11 19 hours ago 1 reply      
It's not exploitative if they're clear what the expectations are and what you're given for them. Does this sound like an offer competitive with your best options? Knowing nothing of your situation other than "you can probably program" I'm going to go out on a limb and say "You can find better ways to get to a tropical resort than this."
2
digita88 10 hours ago 0 replies      
I think that working with that many managers is too much, in a hackathon and in a 'real work' context. I work in a similar environment as well ie 15 manager meetings where only 2-3 people including myself can actually do the implementation (design, development). It's a pain in the arse and I wouldn't even participate for fun!

Hackathons are meant to be fun and as a way to innovate with cool new technology and learn technology. If managers want to work with 'innovators' (designers, developers) the innovators should be paid since they are providing a highly valuable service of showing the innovation process.

I wouldn't touch this with a 6 foot pole.

3
joeld42 18 hours ago 0 replies      
This doesn't sound like exploitation, but it sounds like work disguised as a hackathon. Find out how many hours a day you're expected to work. If you're cool with that in exchange for hanging out at an island resort, go for it. Ask them to throw in a per-diem for food and drinks.
4
viggity 18 hours ago 2 replies      
1 developer. 11 managers. wut?

Other than that, I find it a little odd that they don't actually link to Edenred. I know that they exist (a former client had a small partnership with them)

12
It's the last day to apply to Startup School New York
3 points by katm  12 hours ago   3 comments top 3
1
katm 12 hours ago 0 replies      
2
BWStearns 9 hours ago 0 replies      
Ny checkbox is dead. Deadline passed?
3
kinj28 5 hours ago 0 replies      
is it meant for aspiring startups only? can an already established startup apply?
13
Ask HN: I feel like an 'expert beginner' and I don't know how to get better
106 points by aoeuaue  3 days ago   51 comments top 35
1
patio11 3 days ago 1 reply      
Do you want to be a programmer or a computer scientist? They're both options. One of them ships software for a living, the other ships journal articles. (This is a joke grounded more than a little bit in reality.)

Your list of interests sounds like that of a computer scientist, but I'm allocating a little space to "Maybe your only exposure to computer programming so far has been undergrad CS and you're describing it in the only language anyone has ever taught you."

The best way to skill up as a programmer, if you're interested in that, is to ship more software. There is deep, mythical knowledge in programming, and it is acquired with sweat on your brow and a pickaxe in your hand chipping away at a coal face made out of Why Doesn't This Freaking Work.

You will note that most programs you work on build on things you have heard about in CS classes but do not implicate most of them directly. Compilers are very nice to understand. If you want to be a programmer, absent you making the goal of working on compilers your life's work for the next 10 years, you will probably not work on compilers. Most coal faces sound like something rather more like "A business has some fairly straightforward transformations to be made on two sets of data. There's plenty of opportunity for smart implementation choices and cleverness, but that mostly informs the small rather than the large of this project." (Cleverness in the large in programming is good selection of which coal faces to attack at all. After you get there people often stop calling you a programmer no matter how much programming you do.)

2
electronvolt 3 days ago 2 replies      
If you want to improve at programming: follow the advice about either making a personal project or working on an open source project. The fastest way to get better at programming is to program more.

However: it sounds like your interests are actually more in the realm of Computer Science than Programming, though: type theory, theory of computation, compilers, AI, etc. are less in the realm of programming and much more in the realm of computer science. You don't really need to know how an NFA or DFA works in most day to day programming, frankly. For learning Computer Science, I would suggest finding an advanced course with all of its material online (MIT OpenCourseware is a good place to start, or any of the other free online courses places), and working through a course on the topic. If it has prerequisites that you don't know any/most of the material from, then find a course on those. In my opinion, the other common options (reading through a textbook, reading papers, working on a project related and just learning what you need for that) all have flaws: textbooks are usually designed to accompany a course, which means they usually have much more than you need to learn a lot about the subject (and, in my experience, many are unbelievably boring and poorly written; if you want to go that route, make sure you find ones that are appropriate for self study). Reading papers is really interesting (and a lot more fun than reading textbooks), but without context or knowledge about the area, it's hard to evaluate the paper's meaningfulness/claims/etc., and hard to decide which papers are important to read. Working on just a project (e.x. just writing a compiler) leads to learning just enough to make that project, and not more.If you want to improve at programming: follow the advice about either making a personal project or working on an open source project. The fastest way to get better at programming is to program more.

Frankly: it sounds like you are decidedly not as much of an 'expert beginner' as you think you are. Familiarity with basic data structures+complexity, an understanding of theory, and an understanding of math through linear, ODEs, and discrete already puts you on a very firm grounding. (Outside of certain very specific parts of CS, you /do not/ need more math than that. If you're going into graphics research, knowing differential topology+geometry might be handy. I'm having a hard time thinking of things other than that, though.) From your description, you have more or less finished the 'beginner' stage, moved well beyond the 'novice' stage, and are moving towards becoming someone with a lot of advanced knowledge. Just knowing that you're interested in things like type theory+compilers/machine learning+expert systems+AI already puts you /way/ beyond being a beginner.

Shameless plug of someone else's stuff: if you're not sure where to start on the courses front, and want to start on the programming languages side of things (compilers, etc.), this course might be a good place to start: https://www.udacity.com/course/cs262I haven't worked through this course in particular, and I don't know its exact difficulty, but I took undergraduate programming languages from this professor and he's an /amazing/ teacher.

Edit: don't know why I had two copies of that written, but now there should only be one. Also, cryptography is another part of CS that you need more math (in this case, abstract algebra). (More multiple copies? I seem to be pretty bad at this "say things once" thing, and need to make some preference changes.)

3
eranation 3 days ago 0 replies      
Either build something, or go to the academy. If you build something, you'll do a lazy evaluation of the knowledge tree, learning just what you need to get the job done, which will be a very small subset of all that you described above, depending on the domain of your problem. However if you want knowledge for the sake of knowledge, get a master degree / PhD, it sounds to me it is exactly what you are looking for.

Also you don't sound line an expert beginner, you sound like a beginning expert, I'm programming for 10 years for a living, built a couple of money making startups, and doing my MSc at the moment, I can't say I know half of all that at an expert level ;)

Finally, accept that you don't really have to know everything, and more so, you can't really be an expert in everything, it's really hard but CS is a very wide field. You can't help but being a beginner expert on a wide area of topics, and only a "real" expert in a very narrow subject. Not all CS Phds are expert in everything, actually they are most likely expert in a very narrow set of topics relevant for their research.

Bottom line, either learn for learning and do it in a place that honors it (academy or independent / commercial research) Or build something that makes money, and the subset of human knowledge needed to make it work will be defining itself (you'll have to fight the urge to learn things that "you'll probably need later", and make it more "on demand" learning)

4
Karellen 3 days ago 0 replies      
Pick a Free Software project that you use regularly (possibly one without a CLA to begin with if you want to avoid paperwork), preferably one written in a language you already know, find the bug tracker, and find a bug (or wishlist item) that sounds interesting but really trivial. (No, really. The first time you do this will probably be a lot harder than you think it ought to be. If it's not, no problem, pick something less trivial second time around.)

Download the code, figure out how to build/install it, and start to find your way around the codebase to try and figure out which bit of code is at fault/needs extending. When you get stuck, ask on the dev mailing list or IRC or whatever comms channels the core dev(s) have.

A lot of programming is not about designing something elegant and new. It's maintenance work, fixing bugs, extending functionality, adding new features. Sometimes adding exciting new features is a chance to design something elegant and new, but other times it's a bunch of repurposing and refactoring some features that are mostly-there under the hood, but need a couple of tweaks, and a small amount of really new stuff (but in the same idiom as the rest of the system) and exposing in a new way.

You'll really find out how to properly spelunk into a codebase (which is a complementary skill to just reading code), how code is used, and how it solves real-world problems.

If another dev solves the bug before you do, that's not a problem. The real purpose of the exercise was for you to learn, and only perhipherally to help the project. As a bonus, you can see how the other dev solved the problem, and how their solution differs from yours. Did they solve the bug at the "same level" as you? Was their fix a bigger or smaller change than yours?

If you get there first, great! Submit a patch to their mailing list, or a pull request to their git page, or whatever they use. Do not take their criticisms of your work as a personal insult. (If they do insult you personally - which almost certainly won't happen, but very occasionally does - that's another matter. Drop it and find another project. Life's too short to waste on asshats.) Rather, listen to exactly what they don't like about the way you solved the problem, use that to fix the problem in a way they will like, and re-submit.

Repeat.

5
ChuckMcM 3 days ago 1 reply      
Simply put you have to start practicing. Try to solve problems with the techniques you've learned, and you will get a better understanding of their strengths and their weaknesses. That will help you internalize the theory you have absorbed. It does take time (this annoys most people) but it serves the exact same purpose as homework does in school, moves the understanding from the hippocampus out through the rest of your brain.
6
striking 3 days ago 1 reply      
To become a better programmer and not a better computer scientist:

Do your own thing. Build something you want to see built and you will learn oh so much. Programming isn't about how you implement something so much as it is for what reason. Think of something you want to see built and figure it out from there.

For example, I learned Python by trying to write an app that would take my Shazam tags and convert them to a Google Music playlist so I could more easily remember songs to listen to later.

Notice that I didn't write anything about SQLite or how slow Python's HTTP was when making the queries, because in learning Python, that wasn't important; those things were just implementation details that I only started thinking about after my application was demonstrably "slow." And more than that, I really didn't consider anything about lambda calculus and I don't know a single thing about NFAs or DFAs. I just wrote an app.

And I learned something, enough to get the job done. If you really want to learn about how to apply functional programming, learn Haskell. If you want to learn about compilers, write a compiler. You'll learn enough, because there's no way you can learn "everything" on a topic in Computer Science.

The field is much too broad, and you'll be way better off lazy-evaluating it than calculating it wholesale.

Tl;dr: If you want to be a better programmer (as opposed to being a better computer scientist) build and the knowledge will follow.

7
Im_Talking 3 days ago 1 reply      
I'm always suspicious of the advise to work on open-source projects, or practising programming on your own, or online coding academies, etc. I feel these are without purpose and people soon lose interest since there is no goal (although helping out on an open-source project is certainly noble).

My advise would be to look at your own network (friends, family, etc) and find those who are in business and ask them about their pain; and there is always some pain that a business has. Then figure out a solution to their problem and program that.This serves 3 purposes:1) It has a definable goal and purpose (solving the pain) as it's a real-life project.2) You will learn tons about yourself, programming, and the business.3) It could lead to either employment or a program you could sell to others and start a business.

As always, make sure you write-up a contract which states that the IP is yours. Hope for the best; plan for the worst.

8
wonnage 3 days ago 0 replies      
I think some of it might just be that CS theory sounds intimidating. But if you paid attention in college (which it sounds like you did), you might find that papers really aren't that hard to read. The hairy bit comes up when you don't know enough math, but this is typically more a problem if you're trying to learn something specialized (e.g cryptography).

Also, there's a disconnect between academia and the workforce. You might invent a fancy new data structure that blows up in real use because it ignores caches. Or you might invent something that's cache-aware, but everybody's using scripting languages or the JVM and doesn't have that level of access to the hardware. And so on. If you're strictly speaking about becoming better at the work of programming (rather than CS), that stuff isn't that important. You will spend way more time, especially as you move up in seniority, interacting with people - whether it's designing your system to be understandable by humans, persuading others of your ideas, getting funding, etc.

9
joeld42 19 hours ago 0 replies      
Build something. Resist the urge to use all that theory to make it optimal. Just make it work. From what you've posted, I'd suggest inventing a "toy" language and writing a compiler or interpreter for it.

One of my favorite sayings goes: "What's the difference between theory and practice?" "In theory, there is no difference".

It sounds like you have the theory covered pretty well.

10
brudgers 3 days ago 0 replies      
Some remarks:

+ There's a traditional sequence in skilled trades of apprentice -> journeyman -> master. A contemporary trade probably throws student on the front end and perhaps renames apprentice to 'intern'.

What separates a student from an apprentice/intern is the type of problems they work on. The same idea distinguishes the journeyman from the apprentice except that the journeyman is expected to successfully solve the problems they work on. Etc for the master.

What I am getting at is that there is a range of expertise and that what marks someone as an expert is the sort of problems they solve. But it's critical to realize that the context in which they solve those problems matters. This week thousands of students will be writing quicksort code. In 1960 it was the stuff of ...well CA Hoare probably was an expert programmer in an absolute sense, and perhaps a new journeyman among those who were programmers. Here again, context matters when talking about expertise...the one-eyed man in the kingdom of the blind and all that.

+ It's not really clear what you mean by 'expertise'. An expert AI programmer is someone who has solved expert level problems - one in an academic setting earns a credential. In a vocational setting it's going to take several.

But in both settings the context is years, not hours per day.

+ Sure you're free to define what it means to be an expert. Regardless of what definition you choose, the question remains, what does an expert do that you aren't doing? This isn't a question of research. It's not a question of methodology. It's a question of personal opinion - that is, what activities would you have to do to meet your definition of an expert. Maybe that's working at Google. Maybe it's earning a phd. Maybe it's writing a replacement for HotSpot.

+ Once you know what sort of problems you need to solve to move toward being an expert, perhaps just trying to solve some of those problems is the place to start. I.e. what sort of problems does an apprentice or journeyman tackle?

Good luck.

11
noonespecial 3 days ago 0 replies      
I've felt like this my entire life. You're in a good spot. You know a lot about what you don't know. You are prepared to learn these things as you need them to reach your goals. It's the people who feel like they are experts who have actually stalled.

You can easily spend the rest of your life shaving these mythical yaks and when you are old and surrounded by mountains of yak hair, you'll feel exactly the same as you do now.

There is more to learn than you can ever hope to. Just learn what you need as you go. It's the key to all existential crisis: Try not to think so much.

12
lmm 3 days ago 1 reply      
Solve real problems - write programs that "scratch your own itch" - and learn as you need to. It's hard to tell how well you're learning when you don't have actual results to go by.

Honestly though that set of interests doesn't seem like the sort of thing that lends itself to real problems; it sounds to me like you've already got more than enough CS theory. If you're looking to learn the kind of programming that will make you better at doing it professionally, you need to start making practical things. Find a hobby that could do with a website/app or something else in your life that can be automated.

13
jradd 3 days ago 1 reply      
The most important advice that comes to mind is a bit proverbial, and from a board game so appropriately titled; "Go."

Lose your first 50 games of Go as FAST as possible!Don't worry about winning or losing or finding the "right" move, just put some stones down, get used to looking at the shapes that come up, and get a good feeling for how the rules work. Of course, a consequence of that attitude is that you will lose most of those games, but it doesn't matter. Once you have a bit of experience under your belt, then you are ready to begin

14
j45 3 days ago 0 replies      
I'm going to recommend if what you're doing isn't working for you, that you should try a different approach to see if it can get you the momentum you're looking for, in addition to what you've already been doing:

Take a break from focusing on the strategies and tactics of programming. No single algorithm, framework or language is going to unlock the panacea of potential inside of you. Most problems simply aren't that complex in the beginning.

Having the mindset of an innocent beginner always is the toughest thing to maintain to remain a problem-based thinker instead of a solution-based thinker.

The best way I've found is simply to solve problems the best I can, and when I learn what I could have done better, if the need is there, go and refactor it. No matter how great you are, or aren't today, what you write may look bad in 5 years because you have more experience.

Most things we build as developers become obsolete. It's a separate discussion but I'm not sure what you're trying to optimize, your skills, or a result in a project?

No developer is a a factory of churning out code or results at the same speed. Be less focused on the practice of programming alone and look at the results you're creating.

Software is as much a craft, an art, as much as a technical skill, and maybe it's something for you to explore the other fronts.

15
issa 3 days ago 0 replies      
I'd suggest drilling down into ONE subject area. If you want to become the world's foremost expert on NFA to DFA conversion techniques, go for it!

Forget about trying to learn EVERYTHING. Pick one thing, learn it well, repeat with the next thing.

As mentioned, the more you can do this within the confines of projects you feel passionately about, the easier it will be.

16
frigg 3 days ago 0 replies      
>Sure I know what a NFA is, but ask me convert it to a DFA and I'm lost.

Do you really think your average HNer knows how to do that? Or even know what that means and how you define it? I really don't think so :)

In my opinion you know plenty about computer science, certainly much more than your average programmer, but I understand how you feel. I think of myself as not knowledgeable enough and below average all the time.

You haven't mentioned your goal. Do you want to eventually work in any of the areas you mentioned? Or rather you want to learn this for your own intellectual curiosity?

17
lettergram 3 days ago 0 replies      
There are few choices and/or some combination of the following:

(1) Start committing to Github daily. Make your own project and just go with it until you it's finished and learn what you need too.

My example project: http://austingwalters.com/openbkz/

(2) You can go through online courses in an attempt to learn more and become an expert, many courses are online. You could also start following blogs, read papers and replicate results.

If you are interested in maximizing learning: http://www.scotthyoung.com/blog/

(3) The past month I have been writing a blog a day, it increased my productivity and forced me to really master topics:

My explanation on blogging: http://austingwalters.com/learning-through-blogging/

I recommend blogging, videos, or writing stuff down for "teaching" others because it really helps you master a subject and helps you think of ways to use those concepts.

18
truncate 3 days ago 0 replies      
I recently got out of college I'm going through almost same situation. What I've learned is you are eventually going to forget many things after some time, and you can't know it all. Secondly, knowing theory is one thing, making use of what you know is another. You can grasp all theory you want, but the main point is how are you gonna put that into use? A good job where you get to solve interesting problems may help. I couldn't do so. What I'm doing right now is, pick up a subject area and build things from scratch. I feel that this is working for me.

Also, I see a pattern that more you are used to studying more quickly you tend to understand something new. I believe its something do with reading habits. So don't leave theory completely, but keep a balance b/w theory and practical.

19
eshvk 2 days ago 0 replies      
On the Computer Science side of things. You are spreading yourself too thin if you say that you are interested in type theory, FP, Compilers, and so on. Each one of these fields is a discipline in itself. You could spend years and years acquiring the 'deep' knowledge of one of those itself. Don't set yourself up for impossible goals. Try to focus and selectively figure out what you want to do and how much "depth" you want to acquire.

> mythical stuff before it's too late.

Too late for what? What is the hurry?

20
dominotw 3 days ago 1 reply      
I've learnt so much over the years and barely remember any of it. I wonder whats the point of studying all this if I am going to forget 90% of it in couple of months. How do people deal with this? Should I convert everything I learn into some sort of cliff notes for rapid reacquisition of the knowledge at a later time?
21
andersthue 3 days ago 1 reply      
Love what you do and keep doing it, after 25 years I still aknowledge that I am a beginner in some areas and an expert in other.

Above all, always have fun!

22
marai2 3 days ago 0 replies      
Trying to learn Machine Learning stuff I realized I didn't remember much Linear Algebra from my college days.Im also a beginner in Haskell. So I decided to crack open my Linear Algebra book and start implementing what I was reading in Haskell.The result of this was that my Linear Algebra knowledge that was all hazy now feels like its etched out in my brain like a digital circuit board :-)And my Haskell calf muscles are in much better shape. Im still a beginner in Haskell but I can now walk fast in it instead of just crawling like before. Hopefully in a year I'll be running in Haskell too.
23
gte910h 2 days ago 0 replies      
> I lack 'deep', real knowledge and am desperate to acquire this mythical stuff before it's too late.

I mean, there are books on this stuff? Read them, do their exercises, and you will be fine.

I will say, most of this stuff now functions mostly as mind training. The specifics about low level computer systems, Big (O), parsing and compilers is the only part I see repeated use in my day to day.

>So knowing this, how would I best use say 8-12 hours a day, every day, to learn this stuff?

You should audit courses at a CS program taught near you. This stuff is chunky and the books are designed mostly for a classroom setting

24
vwoolf 3 days ago 0 replies      
1. Keep trying.

2. Books and papers are great, but you should also try to find a mentor / guide / teacher / expert to talk about the issues you're facing and what you're thinking about. Schools are organized the way they are for a reason, even if they often fail at their intended purpose.

25
aoeuaue 3 days ago 1 reply      
PS: I guess what I'm looking for is a 'work-out' type procedure. Like practicing to run a marathon, you work out and run a lot (I assume). What should I do in order to 'work-out' my CS skills? Musicians practice, athletes work-out, what do computer scientists do in order to improve problem solving skills and knowledge?

Unlike for athletes or musicians, practice in a knowledge field (like CS), seems a little ill defined..

26
gatehouse 3 days ago 0 replies      
I tend to be pretty mercenary, but I think that writing software in exchange for money will be the most educational thing you can do right now.
27
ma_mazmaz 3 days ago 0 replies      
When looking to improve your programming ability, it's important to ask for what end you are improving your skills. If your goal is to become a professional computer scientist, then you'll need to choose an area of focus. The field of computing simply has too many facets for anyone to master them all. If your goal is to learn, simply for its own sake, then all that matters is that you are enjoying the learning. It won't matter what technologies you use, or if what you're making actually works, so long as you enjoy it. In either case, you should choose something to learn that interests you. There are many highly sought after computer scientists, who specialize in computer vision algorithms, for example, who get recruited by companies all the time, despite knowing little to no software engineering and data structures. TL;DR: Learn anything, it will get you places.
28
yaur 3 days ago 0 replies      
Ship a product. More specifically, think something up, write it, ship it. Along the way learn what you don't know to finish it, but the first time you try this don't push yourself too hard. Once your done, post a "ShowHN" and we will probably tell you whats wrong with it.
29
jwatte 3 days ago 0 replies      
1 read abd understand other people's code

2 build, then rebuild, your own systems

After 10,000 hours of this, assuming you keep climbing rather than just doing the same thing over and over, you will be competent.

30
daralthus 3 days ago 0 replies      
Get an internship at a company you think you will like to work at, something with 10-15 people I think is ideal. If you can't find one yet make some small projects help some friends or build something at a hacker space and try again.
31
isuraed 3 days ago 0 replies      
Build something that is doable but will push your current skills. Choose a project that appears slightly beyond your current capability. That is the only way to truly learn.
32
cel1ne 3 days ago 0 replies      
Maybe try something pretty. Information visualization with http://d3js.org/Or make a game with cool AI.

Whatever you do, as long as there is a minimum amount of fun in it, you'll get better.And the more you know, the better you can identify what areas you have and/or want to improve in.

33
alien3d 3 days ago 0 replies      
there's not limit for creativity.Programming is about creative.Look around your and pick one problem and create a project to solve it. Ask people around your ,it is good or not.I suggest you to take part time in non computer department and see how /anything can be improved via software you make/build.
34
keypusher 3 days ago 0 replies      
Make a project.
35
InclinedPlane 3 days ago 0 replies      
Seems like you fell into the typical CS trap. The problem is that Computer Science is not software engineering, and the dev skills you need aren't going to magically fall out from between the pages of CS books. What you need is more dev oriented knowledge and experience/practice.

A couple books that are worthwhile: "Refactoring" and "Rapid Development". That will teach you a lot of basic skills in terms of development process and how to improve the design of real systems (warts and all). Also, take a look at the Architecture of Open Source Systems, it'll acquaint you with how applications fit together.

Also, take on some projects. Pick something interesting and work on it. Pick some small stuff then move up from there. I'd suggest in your case eventually building a compiler. If you're interested in AI, build some simple games and work on building AI for them. There is nothing more important than actually writing code.

14
Ask HN: How can someone find my LinkedIn just from visiting their site?
3 points by flylib  12 hours ago   3 comments top 2
1
pbnjay 6 hours ago 0 replies      
I cannot remember the name of it, but I definitely read a post somewhere about a company X that does this as a service. In short, company A who you have an existing account with shares your info with X, who saves it to a cookie. Company B which you visited does the same. Both of them can ask X for info about a site visitor by virtue of the sharing policy...

I find the idea pretty disgusting.

2
doubt_me 11 hours ago 1 reply      
would it be cool to share the site?

I have never heard of this happening

15
Ask HN: Is there an API for gathering tech startups valuations?
2 points by gearoidoc  14 hours ago   3 comments top 2
1
retroafroman 13 hours ago 1 reply      
Crunchbase api has investment totals, but not valuations, as far as I know.

https://developer.crunchbase.com/

2
jesusmichael 12 hours ago 0 replies      
Why?
16
Ask HN: Promoted beyond my level of competence?
11 points by direngthrow  1 day ago   11 comments top 4
1
calcsam 1 day ago 1 reply      
I don't think you've been promoted beyond your level of competence, I think you enjoy coding more than managerial troubleshooting. There are lots of articles on engineers who prefer engineering more than managing.

Not what you're asking for, but you have a pretty strong hand to play right now. If you went to the CEO and listed the issues that you're dealing with that you would expect the CTO to deal with.

Then say, "These are basically executive-level functions. I'm happy to handle them, but if you aren't planning on hiring a CTO, I'd like the title of VP Engineering and another 20% raise."

2
glimcat 1 day ago 1 reply      
Do you want to keep doing the job if they get the CTO so you're not overloaded? Or do you want to get out of management?

There's nothing wrong with deciding you don't want to climb the management ladder, but getting "un-promoted" is something where you'll probably want to find a new job. Fortunately, almost everyone is trying to hire competent senior developers, so you should be able to find a new gig before too long - and probably get yet another pay raise to go with it.

3
JSeymourATL 1 day ago 1 reply      
Yes, the situation you describe is classic Peter Principle. Having the skills to manage people, politics, & priorities requires a special (albeit learnt) skill-set. Senior leadership obviously trusted you and more importantly, you were Johnny-on-the-spot. It's OK, only a whack-job actually welcomes those headaches. Now that you've 'enjoyed' the exalted Director status, ideally where do you want to go from here? What would stretch you professionally?
4
rnovak 1 day ago 0 replies      
Personally, I don't think so. I'm still young and probably still naive about a lot of things, but I think the best leaders, in my own experience, have been those who didn't want the position, who used to be engineers themselves. You may have an insight someone with an MBA might not, and unless you're performing poorly according to your companies guidelines, I wouldn't say you're incompetent.

while you may have been promoted beyond your skill set, you can always develop more skills, and as I said, you may have insights that someone else might not see, you'll have more rapport with those you manage because you once worked among them, and I think, since you're stressed, you might care more than someone who was hired off the street.

Maybe you're a great leader _because_ you're stressed by important decisions and responsibility?

17
Social. Local. Mobile. solomo lomoso moloso somolo losomo mosolo
3 points by justinzollars  20 hours ago   5 comments top 5
1
partisan 19 hours ago 0 replies      
Solomo sounds the best, but it also resembles "slow-mo" which is a good thing and bad thing, given the meaning of the word.
2
theparallel 20 hours ago 0 replies      
I'd pick Solomo, because it resembles a real word, and is also the exact sequence you picked.
3
talles 14 hours ago 0 replies      
Solomo or somolo.
4
joeld42 16 hours ago 0 replies      
moloso two dot oh
5
the82nddoctor 17 hours ago 0 replies      
Social should always be Global and on every device possible. But I did love that part of the episode, it's so true to the current times.
18
ShowHN: SnapTalk, "Voice Texting" made easy
4 points by rajeevpra  20 hours ago   4 comments top 2
1
amarcus 11 hours ago 1 reply      
Viber does the same thing and also has all the texting features etc...

Not saying anything is wrong with your platform but, what's the reason for me to switch? Can I send voice messages to those that aren't using your app? Or do I need have all my contacts download your application before I can use it to communicate with them.

2
anthony_franco 12 hours ago 1 reply      
I use Voxer all the time. How does this compare? What would be one reason to switch?
19
Ask HN: how can I brief my devs better as non-tech founder?
2 points by rafweverbergh  15 hours ago   6 comments top 2
1
RollAHardSix 10 hours ago 0 replies      
You need to pick up pen and paper and create diagrams and flowcharts, if you can't chart it out, it probably doesn't make any sense. If you get confused, grab your senior developer and explain to him one on one what you are trying to achieve. It doesn't matter that you are a non-tech founder, your working with developers, you need to adapt your processes to how developers think and work.

Bullet-points work great and provide easy references to things like intended file-names, and also provide an easy way to break down a conditional statement.

You need to look into psuedo-code, because in a way, that's what you're looking to provide. Otherwise, you might as well just give the developers and the client a one on one and get out of the way. You have to be providing something that makes the developers life easier then handling all the interaction themselves and that something provided has to be something other than just time.

We need to understand the purpose of the system, how it works into the overall program, how it should look, how it should feel, intended program flow, intended results, we need to know a lot of everything not a little of everything.

You also need to be almost constantly available to answer a quick question. There are just too many issues that may crop up while working on a program, case in point I was working on a project earlier today which featured two different types of an overall master type inside a record of a database. I made a (highly educated) assumption of which type I was using based on context but I could have been wrong. Knowing which sub-type to use was something that wasn't available to me immediately with the information I had on hand and didn't appear to be an issue during our requirements meeting, it only popped up when I was re-checking program flow, specifically error catching. These little things can happen all the time, and the only real way to beat them is communication.

2
sharemywin 15 hours ago 1 reply      
Not real familiar with the term briefing? but if you mean like a requirements meeting. uses cases are pretty useful:

http://en.wikipedia.org/wiki/Use_case

There's also interaction diagrams and state diagrams depending on the type of software your using.

20
Ask HN: How do you tackle back-pain?
6 points by yati  1 day ago   13 comments top 10
1
gbrhaz 1 hour ago 0 replies      
Your body will always compensate to overcome weaknesses. It sounds like your lower back has been taking the strain because the rest of your core (abs and glutes in this case) weren't up to it.

Normally planks are the best solution to this, including side-planks. They may be a bit too much for you though, it depends how bad the pain is, and how poor your glute activation is. Do you have any Anterior Pelvic Tilt (APT)?

Extremely light yoga might be a good thing to start with, as others have said. Childs pose would be good to do. Also Cat-Cow (Cat-Camel is another name).

As you sit at a desk all day (I assume) you'll be tight along the front (hip flexors, quads mainly), and your posterior will be weak/inactive (glutes, hamstrings). You need to work on fixing those.

Honestly though, you're going to want to see an experienced physiotherapist who can examine you and give you exercises which are good for your current situation. Any advice from anyone on the internet - no matter how experienced - should be taken with a pinch of salt, purely because we can only speculate.

2
pastaking 1 day ago 1 reply      
Hey I'm a 24yr developer as well and I used to have really terrible lower back pain from sitting too long. My worst was when I would feel this extremely sharp pain in my lower back when I thrust my hip in a certain way. The pain is so quick and intense it would paralyze me for a split second. I never went to the doctor to check it out, and fortunately now (6 months later) that pain is pretty much all gone. I got rid of it pretty much by stretching:

1. Simply sit up straight, it stretches your lower back the right way.

2. Get into pushup position and while keeping your body straight, try to reach forward as much as possible.

3. Lay on the floor belly down, lift your legs and chest off the ground, bind your hands behind your back and reach them as far back as possible. I found this great for temporarily relieving pain.

4. Do pullups: or if you can't do one, get on a bar and let your legs dangle and feel your back stretching out. This one feels so good.

Good luck!

3
dirktheman 22 hours ago 0 replies      
I can imagine riding a racing bicycle is taxing on your back, but how about a 'normal' bicycle where you're sitting upright? Here in The Netherlands (one of the most bicyle-dense countries in the world...) these are the most common. See for instance http://www.gazellebikes.com/collection-bikes/city-bicycles/s... or http://www.batavus.nl/stadsfietsen/Blockbuster-7.htm.

It's perfectly normal to ride them in your business suit to the office. They're much, much more comfortable than a racing bike.By the way, have you considered alternative healing therapies like acupuncture? And are you sure your desk/chair is ergonomically adjusted to your body?Good luck!

4
mcv 23 hours ago 1 reply      
My miracle cure for back pains has been riding a bicycle. Not hunched over on a racing bike, but upright, on a high saddle, preferably with no hands. Suddenly all your posture-related muscles have to work hard to keep your balance. While they can slouch while sitting in a chair or car, or even a bit while holding the handlebars, when you're cycling with no hands, those lower back and side muscles get a serious workout.

I have no idea if this is good against every kind of backpain, but it has helped me in a few instances where I woke up with a lot of pain. Riding a bike like that for 30 minutes completely fixed it.

5
codez 22 hours ago 0 replies      
I've been in a similar place with back pain in my lower back. I also play a lot of sport. Simply a mixture of not stretching enough after sports combined with sitting for long periods of time and not being active enough during development hours can make your body really tighten up. My advice is to see a good physio even just for one session who will most likely be able to manipulate your back etc. and really help you out. That's what I did and it was the best thing to do. I'd left it til it got that bad I went to hospital because I thought maybe there was something really wrong... a few days later and one session with a physio I felt awesome. Riding a bike is great cardio for you and it shouldn't harm you. It's just making sure to stretch out all the right places after. It's amazing how many places will affect your back.
6
anishkothari 20 hours ago 0 replies      
I would recommend yoga. There are a lot of reverse/inverted poses that can help ease your back pain. Plus, you will be stretching out the muscles in your entire body which will alleviate some stress on your back.

My posture improved quite a bit by doing yoga. I would go to a class 2x a week and try to do it for 20-30 minutes every day that I didn't go to class. I only have experience with Hatha Yoga (the most traditional form) and would only vouch for that. Avoid the exercise-oriented yoga classes because they wouldn't necessarily solve your problem. If you try yoga, then ask if you can attend one class for free so you get a feel for it before putting money down. After a few months of going regularly, you will know the poses and will be able to do them on your own. Let me know if you have any questions.

7
adidash 19 hours ago 0 replies      
A friend had lower back pain which almost made it impossible for him to sit more than 10-15 minutes. He couldn't run or even bend forward. He switched to a standing desk (nothing fancy - just a big box on top of his regular desk) and started freestyle swimming. Its over a couple years now - he can run at 4-6 mph (no sprinting) and even bend half-way forward. Hope that helps.
8
maxerickson 23 hours ago 1 reply      
Was it a good conversation with the doctor? I.e., did you discuss whether the bike riding would simply aggravate the inflammation or if it would cause damage that would make the condition worse? Did you discuss aspects of your working out that would especially aggravate it? If not, maybe talk to some more doctors.
9
sime 23 hours ago 0 replies      
Pilates really helped with my lower back pain - lots of stretching and building up core strength.Whether that would help your particular condition I can't say. I do my Pilates with a physiotherapist who knows my history which is also important if you don't want to make things worse.
10
determinant 20 hours ago 0 replies      
Get a better chair, better shoes, and a better bed. More money doesn't necessarily get you a better model. I know there's a bunch of other suggestions on here for other things to do, but sometimes the solutions are really basic.
21
Ask HN: What's the best programming book you've read recently?
78 points by diegoloop  4 days ago   88 comments top 58
1
playing_colours 4 days ago 2 replies      
"Peopleware" http://www.amazon.com/Peopleware-Productive-Projects-Second-... , a lot of insights and ideas how to build great teams. Great to read for developers, team leads and managers.

"The art of multiprocessor programming", excellent book on parallel programming theory with code explanations: http://www.amazon.com/gp/product/0123705916?ie=UTF8&tag=nirs...

2
AlexanderDhoore 4 days ago 1 reply      
"Programming Erlang: Software for a Concurrent World", by Joe Armstrong himself.

I have not read it completely, because the first chapters inspired me to start programming (in Erlang) and I haven't gotten back to the book yet.

3
tdicola 4 days ago 3 replies      
Stroustrup's "A Tour of C++" is a great overview of C++11 and modern C++. It's not very long and worth a read to see what's new in the C++ world. The audience is aimed at people who already know C++ but want to know what's new with the latest version. I've been doing a lot more with C++11 recently and am really impressed with the language--dare I say C++ is actually fun to use.
4
robgering 4 days ago 0 replies      
I've really been enjoying The Joy of Clojure (http://joyofclojure.com/) -- note that there's a nearly-finished 2ed in PDF form if you buy the early access version.

I've also been reading Clojure Programming (http://www.clojurebook.com/) to reinforce concepts from the above.

5
joerich 1 hour ago 0 replies      
I recently got "Hackers and painters" by Paul Graham. I'm still reading but pretty cool so far.
6
walexander 4 days ago 0 replies      
Not trying to sound cute, but The Elements of Programming Style by Kernighan and Plaugher (1974). Just read this last week during a day of plane travel.

It's all PLI and Fortran, with lots of GOTO being harmful examples, but surprisingly much of it is still relevant. It's a quick read and interesting look at some of the problems they had back then (and some that we still create plenty of today).

7
brudgers 4 days ago 0 replies      
The books on and around my nightstand:

+ Joy of Clojure. A recent gift[card]. I put off learning Clojure because of it's more complex syntax. I'm both glad I did, and that I have this book now that that's the no longer the case.

+ ANSI Common Lisp. Lisp was out of reach at the time when my younger self might have pursued computer programming, and realizing around two years ago how accessible it had become got me to download Lisp in a Box and then buy the used copy. Currently visiting, this book orbits in and out of the rotation with a cometary periodicity.

+ Art of Computer Programming: Volume 3, Sorting and Searching Twenty-five years ago or so I bought volume I and about 15 years I donated it to the community radio station's books sale [WMNF 88.5]. I spent about $25 dollars including shipping for used copies of the first three volumes from Amazon last year. Right now each is on a different floor. The proximate reason Sorting and Searching is by the bed: I'm taking Algorithms I on Coursera and it is the first one that really dives into algorithms. A deeper reason is that Knuth always reminds me how much more there is to know - I'm getting better at the maths, but haven't learned MIX. Maybe one of these nights.

+ Structure and Interpretation of Computer Programs I bought a "used" copy from MIT via Amazon last year. It's staggering how much is really in it that I glossed over 'reading' the free online version. It's much better than I thought, and I find myself constantly referring to it or just reading a section. It's also a reference for the other Coursera course I am taking: Funtional Programming in Scala with Martin Ordersky.

The non-programming books are from the public library:

+ How Literature Works: 50 Key Concepts. The sections are four to six pages and lightweight. Makes for something brief to read. It's the sort of book that I feel no obligation to finish.

+ Poetry of the First World War: An Anthology This book is actually why I mention the non-programming books. I don't read poetry, but I'd always seen people make a big deal about it, and there this was on the new book shelf. I see why the English make a big deal about Siegried Sassoon. I see why they make an even bigger deal about Wilfred Owen. It's potent and powerful and the bench of poets runs much deeper. It makes that war the last ancient one.

8
nwhitehead 4 days ago 0 replies      
"Programming in Lua", by Roberto Ierusalimschy. This is a gem of a programming book. Some of my favorite chapters: coroutines, metamethods, weak tables, threads and states. Similar in tone and clarity to K&R "The C Programming Language". I learn something new every time I flip through this book.
9
lukasm 4 days ago 1 reply      
Code Complete has pretty good bang per page, especially if you are beginner.

http://www.amazon.co.uk/Code-Complete-Practical-Handbook-Con...

10
Skoofoo 4 days ago 0 replies      
I thought I knew how to write good Ruby code, but then I read "Practical Object-Oriented Design in Ruby". http://www.poodr.com/
11
truncate 4 days ago 1 reply      
Currently reading Programming Pearls by Jon Bentley. Interesting small case studies that gives insight on how to tackle problems and think about programming.
12
warfangle 4 days ago 1 reply      
The Soul of a New Machine. Fascinating documentation of Data General's development of the 32-bit Eclipse machine. Sorta programming, sorta hardware... back when the two were more tightly integrated.
13
franze 4 days ago 0 replies      
Peopleware

pretty much the most important programming book a programmer who works with / in teams can / should / must read.

14
digita88 10 hours ago 0 replies      
Non-technical but some great concepts which can be adapted to programming:Thinking in Systems by Donella MeadowsThe Checklist Manifesto by Athul Gawande
15
baddox 4 days ago 0 replies      
I recently went through the later chapters of The Little Schemer again. I still find it incredibly challenging and awesome. As many have said, this is a great book to teach you to think recursively.

http://www.ccs.neu.edu/home/matthias/BTLS/

http://www.amazon.com/The-Little-Schemer-4th-Edition/dp/0262...

16
michaelchum 4 days ago 0 replies      
JavaScript: The Good Parts. Made me see JS in a much more elegant way. Coding JS is not trivial. I did use JS in webdev in general, and APIs. But really, I would have never known the mysteries behind it such as prototypal inheritance.
17
mtalantikite 4 days ago 0 replies      
"Concepts, Techniques, and Models of Computer Programming" by Peter Van Roy and Seif Haridi.

Also "The Reasoned Schemer", which has the same pedagogical style as the other Schemer books, but works around logic programming.

Both of those books are mind benders and I've gotten a lot out of them recently.

18
sytelus 4 days ago 0 replies      
Doing Bayesian Data Analysis

Interesting topics: MCMC, Gibbs Sampling

F# for C# Developers

This book seems to leave lot out in order to simplify but good starting book nonetheless

TCP/IP Illustrated, Volume 1: The Protocols, Second Edition

I wanted to know what really "connection" means. This book has answer.

An Introduction to R

I guess everyone dealing with data should know R, right?

Here's my Amazon list with quite a few very interesting books collected over time: http://www.amazon.com/gp/registry/wishlist/RXLC4WK1ZOJR

19
why-el 4 days ago 1 reply      
Effective Java. A very succinct collection of wonderful practices and ideas on how to code great software that you can finish in a couple of days, even if you are on a working schedule. Don't mind the "Java" in the title; I read the book regularly and it applies to pretty much any language capable of some OO.

Check the table of contents, it will give you an idea of what to expect from the book.

20
gfodor 4 days ago 0 replies      
Physically Based Rendering by Pharr and Humphreys. Excellent book on modern ray tracing that is a literate program. It's an amazing piece of work (even won an oscar!
21
sateesh 4 days ago 0 replies      
As part of the MOOC course Paradigms of Computer Programming (https://www.edx.org/course/louvainx/louvainx-louv1-01x-parad...) I read the initial parts of the book: "Concepts, Techniques, and Models of Computer Programming" (mitpress.mit.edu/books/concepts-techniques-and-models-computer-programming). The initial chapters provide a good approachable way to get started with functional programming. Though working with Oz (the programming language used in the book) gets some time to get used to, this is an excellent book. I am bit surprised that this book is not as well known, and probably I wouldn't have known about this book if not for the MOOC course.
22
kevinskii 4 days ago 0 replies      
"Mining of Massive Datasets", by Jure Leskovec, Anand Rajaraman, and Jeffrey D. Ullman. You can get the PDF here:

http://infolab.stanford.edu/~ullman/mmds/book.pdf

23
fredyr 1 day ago 0 replies      
Richard Bird, Philip Wadler - Introduction to Functional Programminghttp://www.amazon.com/Introduction-Functional-Programming-In...

Richard Bird - Pearls of Functional Algorithm Designhttp://www.amazon.com/Pearls-Functional-Algorithm-Design-Ric...

Christian Queinnec - Lisp in Small Pieceshttp://www.amazon.com/Lisp-Small-Pieces-Christian-Queinnec/d...

24
myko 4 days ago 0 replies      
Effective Objective-C 2.0:https://play.google.com/store/books/details/Matt_Galloway_Ef...

In the style of other "Effective Foo" books. Excellent overview of best practices for ObjC, it's the first book I hand new developers on my team.

25
lgunsch 4 days ago 0 replies      
Clean Code: A Handbook of Agile Software Craftsmanship, by Robert C. Martin.
26
jbeja 4 days ago 1 reply      
"Practical Object-Oriented Design in Ruby. A Agile Primer" By Sandi Metz. I am not so much a ruby fan, but don't let the title decive you, ruby is just the tool (since it could use any other OOP language) to show what the book is realy about (OOP Design shown in the best way possible).
27
thrush 4 days ago 0 replies      
A little more than just programming, but just finished Ilya Grigorik's new book, "High Performance Browser Networking" (available free online). I learned a lot about Javascript/HTML loading and execution that I had never even thought about.
28
runT1ME 4 days ago 0 replies      
Functional Programming in Scala.

It's not a book about scala, it just so happens to use scala as the language to teach you how to program functionally. I've read other books that purport to do the same, they end up showing a light sprinkling of functional concepts. This book goes much deeper, and is ultimately much more rewarding.

29
kirang1989 2 days ago 0 replies      
Computer Systems: A Programmer's Perspective and NAND2Tetris: Elements of Computing Systems are the best books to learn the internals of computer hardware and solidify your understanding of how a computer works.

The Pragmatic Programmer - My all time favorite. Awesome book to learn best practices of various aspects in programming.

The Code Book: The Evolution Of Secrecy From Mary, Queen Of Scots To Quantum Cryptography, if you have a thing for cryptography.

30
isuraed 4 days ago 1 reply      
Refactoring by Martin Fowler. Extremely practical if you work with old and large code bases.
31
zwieback 4 days ago 1 reply      
"C# In Depth, 3rd edition" by Jon Skeet. I had been falling behind on the new stuff added to .NET and C# and this is a good way to get back on the curve.
32
julian25 4 days ago 2 replies      
I've been reading Real World Haskell recently and loving it. It does a fantastic job of blowing your mind while simultaneously showing you how to apply Haskell to real-world problems.
33
arcadeparade 4 days ago 0 replies      
http://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_Co...

Really good introduction to computers from relays up.

34
jason_slack 4 days ago 0 replies      
I have a few coming from Amazon

OpenGL Insights - Cozzi and Riccio

Game Engine Architecture (2nd Edition) - Jason Gregory

Programming: Principles and Practice Using C++ (2nd Edition) - Stroustrup

35
espinchi 4 days ago 0 replies      
It depends heavily on what stage of your career as a programmer you are.

I strongly suggest most junior programmers I work with to read Effective Java and Head First Design Patterns. To me, it's a great combination to help you write code that's easy to understand and maintain.

36
cenazoic 3 days ago 0 replies      
I'm attempting some self-taught coding (my degree is in history), and after much dithering, have started with How to Design Programs (htdp.org). SICP is beyond me at this point, and I wanted to get a good grounding in general concepts and good design before jumping into some other more (theoretically lucrative)language.

HtDP is wonderful at what it does, and while perhaps a tad dry in writing style, it is, for me, a page turner in terms of engagement and presentation of new ideas.

37
rdc12 4 days ago 0 replies      
Not strictly programming, but been reading Information, a history, a theory , aflood. Been strugling to userstand what life would have been like before various aspects of storage/transmision would have been like.

Looking forward to when it hits Claude Shannon

38
Serow225 4 days ago 2 replies      
C Primer Plus and Expert C Programming. I wish there was a book similar to the latter that covered C99/11.
39
killnine 4 days ago 1 reply      
I've recently read The Passionate Programmer and was rather disappointed.

The book has a few very valuable insights. For the most part it reads like a series of blog posts from a slightly experienced developer.

40
eiji 4 days ago 0 replies      
C++ Concurrency in Action, Practical Multithreading, by Anthony Williams

http://www.manning.com/williams/

41
jeremyis 4 days ago 0 replies      
Not programming per say, but love Downey's ThinkOs (free): http://greenteapress.com/thinkos/.

Am currently reading Think Complexity (also free): http://greenteapress.com/complexity/index.html

42
sunny1304 4 days ago 0 replies      
Linux Device Drivers, 3rd Editionstill not finished, but this is best book i have encountered for linux driver programming.
43
taylodl 4 days ago 0 replies      
The Little Schemer.

Fun to read, solidify knowledge of Scheme.

44
john0 4 days ago 0 replies      
Secrets of the JavaScript Ninja http://www.manning.com/resig/ has helped me understand some of the more interesting parts of the language (such as functions being first class objects) better.
45
wink 4 days ago 0 replies      
Modern Operating Systems by Tanenbaum, although it's more basics, still relevant for low-level stuff.
46
dusandusan 4 days ago 0 replies      
"More Effective C++" by Scott Meyers

While directed at the C++ crowd, I would recommend this book to any programmer, as it explains many interesting concepts and idioms that are not C++ specific.

47
yarou 4 days ago 0 replies      
TAOCP by Knuth (if you can get past the maths).
48
danielrpa 4 days ago 0 replies      
Structure and Interpretation of Computer Programs (SICP)
49
pcmccull 4 days ago 0 replies      
Working Effectively with Legacy Code, by Michael Feathers
50
DanielBMarkham 4 days ago 0 replies      
Clean Code, by Robert Martin. Excellent book that dives in deep on how to write solid code. It's like having the ultimate code review in book form.

Shameless plug: I just finished writing the first in a series of books about Backlogs. Good backlogs can make programming a lot easier. Conversely, horribly formed backlogs can turn coding into a death march. http://bit.ly/1fJd5Gg

51
enterx 4 days ago 0 replies      
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman - Dave Hoover , Adewale Oshineye
52
tathastu 4 days ago 0 replies      
Computer Systems: A programmer's perspective

Great look at under-the-hood of what happens when a program runs.

53
mystral 4 days ago 0 replies      
Last one was probably Let Over Lambda. One of the few programming books I've read cover to cover.
54
antocv 4 days ago 0 replies      
Beginning Java EE7 is good, a refresher.
55
recursive 4 days ago 0 replies      
Sql Antipatterns by Bill Karwin
56
deathtrader666 4 days ago 0 replies      
I've recently started my way through SICP and Algorithms in a Nutshell.
57
malandrew 3 days ago 0 replies      
The Little Schemer
58
stopachka 4 days ago 1 reply      
Effective Javascript.
22
Ask HN: How to get referrer source of iframe parent page?
2 points by jrod2121  18 hours ago   1 comment top
1
LeBlanc 18 hours ago 0 replies      
Do you have the ability to execute JS on the parent page? If so, the easiest and most reliable way to do this is to use the postMessage API to send document.referrer from the parent to the iframe.

https://developer.mozilla.org/en-US/docs/Web/API/Window.post...

23
Ask HN: Has anyone heard of this 'ASBE Algorithm' before?
2 points by ixwt  19 hours ago   1 comment top
1
jloughry 18 hours ago 0 replies      
"Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can't break. It's not even hard. What is hard is creating an algorithm that no one else can break, even after years of analysis. And the only way to prove that is to subject the algorithm to years of analysis by the best cryptographers around." (Bruce Schneier, 1998)

You are right to be cautious of snake oil vendors. The thing is, most of them are completely sincere in their belief that the new scheme is secure. But if it hasn't been tested by people qualified to break things, it isn't secure.

The difficulty is two-fold: (1) inexperienced cryptographers are unable to test the security of an algorithm sufficiently; and (2) experienced cryptographers are not common, they are generally busy enough already, and it's tough to get them interested enough in a new algorithm to really take a close look at it.

24
Ask HN: Programming forums/blogs besides proggit and LtU?
2 points by dclusin  19 hours ago   1 comment top
1
fearandclothing 13 hours ago 0 replies      
I really like Jeremy Kun's Math Intersect Programming (http://jeremykun.com/). This past HN thread might also be worth checking out: https://news.ycombinator.com/item?id=4928762
25
Mongodb in production
3 points by mattwritescode  1 day ago   5 comments top 3
1
bliti 1 day ago 1 reply      
Yes, and I would steer away from it. Different APIs. It has too many write errors. Do yourself a favor and use something proven and reliable. If you do go down the path of mongo, then self-host it. Its worse when your instance is handled by somebody else (steer away from mongolab).
2
MrGando 22 hours ago 0 replies      
Localytics uses MongoDB in production (extensively), this talk (http://www.slideshare.net/andrew311/optimizing-mongodb-lesso...) is from 2011. But I sent a tweet to their CTO (@andrew311) and they are still using it ;)

Cheers.

3
munimkazia 1 day ago 0 replies      
I use it as a data store for some backend node.js applications which serve a few critical APIs.
26
Ask HN: The best way to find remote job
88 points by shtpavel  1 day ago   85 comments top 16
1
tzaman 1 day ago 1 reply      
5-15/hour? You're doing yourself and the industry a huge disservice, regardless what currency this is in. If you're a .NET developer, I take it you know what you're doing and even if you want to learn Node.js along the way, that's not a way to go. Once you're set on a small amount (and charge by the hour, another big sin we're all guilty of) it's really hard to get more, and you'll end up doing crappy work for crappy clients. Don't do that.
2
jburwell 1 day ago 1 reply      
weworkremotely.com (run by the 37signals/Basecamp folks) and jobs.joelonsoftware.com (shortcut to Stackoverflow jobs) are two sources of remote job listings. I am sure there are more -- these are just two with which I happen to be familiar. I have also found that both of these sites have a fairly high quality of job listings.

Another approach to consider is seeking freelance work. You may be able to find work porting .NET applications to node.js which would allow you to leverage you current skill set to learn a new one. The challenge with this approach is that freelance rates can be pretty cut throat. Therefore, it would likely best to view these types of jobs as an opportunity to build experience/portfolio more than money making.

3
danielweber 1 day ago 2 replies      
For remote jobs, clarity of communication is essential.

I hope this doesn't read as mean, since I suspect English is not your first language, but if you are trying to get hired by an English speaking company, you need to use proper grammar and spelling.

If you are looking for job in your native language, and just raising the topic here on HN as the best place to discuss it, then please only read the first paragraph of this comment. I don't mean to exclude you from discussing things here.

4
tommoor 1 day ago 0 replies      
We wrote an article with some ideas here: http://blog.sqwiggle.com/best-places-find-telecommuting-job-...

EG: The AngelList search is very good and you can filter by allows remote :-)

5
bentcorner 1 day ago 2 replies      
Can people who are working remotely share their experience? What works, what doesn't?

Some things I've heard about that I wouldn't mind reading about again:

- Making an office space in the home (I've seen workspaces designed [I think] for remote workers - do people use these and find they offer value?)

- Setting up boundaries with family members

- Communication habits - do you scrum over text chat, or daily video conferencing? What about large team meetings? Do you share daily status over email, or is that too much overhead?

- Working hours - do all-remote teams encourage syncing up time that the team is online? If you're remote and most of the team is together, do you work hours that are local to the rest of the team? I've heard it can be hard in this situation making sure that the rest of the team remembers you in hallway conversations, since it's easy to forget the one guy who is remote.

Some stuff I haven't seen written about:

- Logistics - do you need to be the admin for your PC? Do you get a hardware budget, or is it entirely BYOB?

I'm also interested in how the remote dynamic changes going from small teams to companies with thousands of employees.

6
stevoo 1 day ago 2 replies      
This is a very hard to question to answer you and there is no actual solution to give you.

It all comes down to how good you really are.I have been looking for the past 3 - 4 months for a remote job, but since the competition out there is huge and there are definitely better programmers than me I haven't manage to land anything yet.

Make a great CV, a personal page, work on github to show your work. This will help you dramatically since you will be displaying your work and who you are. ( I have all except github as all I do is actually on my own repos )

As for the hours you are willing to put in, then that is more like freelancing than a full time job.Perhaps try Elance for some freelancing and work on your own to learn node.

7
NDizzle 1 day ago 1 reply      
I would set some alerts for craigslist job listings in the larger craigslist markets.

http://sfbay.craigslist.org/search/sof?query=node.js&is_tele...

Replace 'sfbay' with various cities and see what you get.

8
city41 1 day ago 2 replies      
It might be tough to get hired in that scenario. You might want to bootstrap this idea by first doing some of your own Node projects.
9
j45 1 day ago 1 reply      
I'm really surprised oDesk has not been mentioned. They have merged with elance, and the type of work you are looking for at the rates you are seeking (and higher) are routinely listed there.

I would create a profile on that site, most new freelancers there start with a lower rate to build experience and feedback and in a few months look to raise the rate.

Feel free to contact me by email and I can tell you what my experience has been from the hiring side.

10
Touche 1 day ago 1 reply      
Specifically for Node it's nice to have some notoriety, no matter how small. So create a cool Node module that does something original and email the guys at dailyjs.com about it. If it gets posted there put that in your resume and you'll land a job.

But not a lot of companies are looking for part-time programmers, why do you not want a full-time job?

11
thibaut_barrere 1 day ago 2 replies      
What I do is "plant small seeds" on the web (like: articles, video talks), which acts as "ads" for my skills. Then I make sure I can be found online (twitter, site, forums). It's a midterm strategy but works very well (I've worked 100% remotely during the last 3 years).
12
adamzerner 1 day ago 2 replies      
I'm thinking of finding a remote job too. However, I'm inexperienced and a friend of mine said that people don't tend to hire remotely for junior level positions. Is this true?
13
sjclemmy 1 day ago 1 reply      
I would suggest you make yourself easily contactable. Posting this question on HN might interest a possible employer who would offer you some work. However they will have a hard time doing so, if your contact details are not mentioned in your profile.

Update: You have added contact details. :)

14
keslert 1 day ago 2 replies      
Have you considered picking up freelance node.js work? I run a website called FreelanceInbox.com that is designed to help freelancers find quality leads without having to spend time a lot of time searching. You could probably handle small projects and develop your skills that way.
15
ksakhuj 1 day ago 0 replies      
I'm thinking of finding a remote job too. I am an experienced Nodejs developer/architect. My current gig, I am nodejs lead & initial team member, in a very popular app. So I have scaled the app to millions.
16
andys627 1 day ago 0 replies      
Meet other developers (at meetups or coworking spaces) and ask them if they know someone who's hiring.
27
Ask HN: Too depressed to continue working. How do I get out?
13 points by anonynz  2 days ago   17 comments top 17
1
mik3y 2 days ago 0 replies      
Have you considered asking for unpaid leave? I'm not sure about New Zealand, but many companies in the US offer bereavement leave. The company might prefer to have you back, hopefully refreshed and in better spirits, rather than lose you altogether.

In any case, the most important thing is your mental health and happiness. It definitely sounds like you need more time off. You'll be able to find other work, and you have a very understandable explanation for your next employer.

Do you have friends you can reach out to? Somewhere to couch surf? I've found that in grief, having something to distract you makes a big difference in keeping you from wallowing in despair. That, and by the sound of it, you're still pretty depressed; please reach out to someone, you don't need to go it alone.

2
karmajunkie 2 days ago 0 replies      
They have a business to run, but you have a life to live. If something catastrophic happened in the business and it were to shut down, would they continue to pay you at their own expense? Because that's what they're asking you to dogive their business your effort at great personal expense, in the form of your mental health. If you can stay on and muddle on as best you can to collect a paycheck, and you're up to it, greatas you said, you could use the money. But if your sanity requires taking a step back and assessing your life, then you should do that. You are going to have a long careerwhile your father's death will of course be one of the most impactful things you'll have to come to terms with, this job, whether you leave it or stay on, will be no more than a footnote to this chapter of your life.

My deepest condolences on your loss. We lost three members of my family in just over 18 months, and I know how difficult it can be to process.

3
trvd1707 1 day ago 0 replies      
I'm really sorry for your loss. I experienced something similar when I lost my son 5 years ago. It can be very dark the place you are right now, but believe me, it will get better. I went back to work after 2 weeks and it was extremely hard. I couldn't do anything and I would go the the restroom to cry, because people around me were feeling uncomfortable with my grief. I found an online support group that really helped me. I was so depressed that I can't even leave the house and meet other people, so the online group was a good starting point. After two weeks of terrible work, my employer agreed with me that I couldn't go on and I took a leave for health reasons. At my job I had disability insurance and profound depression qualifies as disability. You should go see a psychiatrist to have the depression diagnosis in your records and to try some medication. If you are feeling too bad, please, check yourself at a hospital. In my case it took me over a year in disability to recover from my son's loss.

Here are some links for depression support in NZ: www.depression.org.nz http://www.mentalhealth.org.nz/page/40-getting-helphttp://www.depressionsupportnetwork.org.nz/

PLEASE, PLEASE, PLEASE, seek help.

4
knappador 23 hours ago 0 replies      
I decided I cant do this job anymore so I gave my notice of resignation. Unless you really need to get back to the home country to fix anything, from what you've said, this is lose-lose for everyone.

You probably spent a lot on your career so far and you will someday not want that investment to fall too hard. Remember they also spent a lot of time with you probably already, and there's a training cost invested in you personally. It seems in everyone's interest to get you back in the zone. If you don't get the edge back, your employer gets nothing, so it's not like you're trying to force them or anything.

Establish that that is the situation, and given that situation, you need to be able to start from "hello world" at work. Get out of your expectations and it will be very easy to work yourself back in knowing that you're not under presser to be 100%. A very workable game plan is to start as if you are a new employee and work up one duty at a time. Get one side of the stress feedback loop broken and the other will dissipate on its own.

You'll be happier when you're starting to work, start picking up duties etc because a career is an investment that has a future. I think when you feel the future seeping in, you'll find it easier than you expected to start getting back into the groove.

5
JSeymourATL 19 hours ago 0 replies      
Can you muster the strength for a brief run? Changing your physiology, changes your psychology. Exercise has been shown to alleviate depression, force yourself daily. If your father saw you in this shape, what might he counsel? Assuming he was a student of the Old School, he might say "now get your head in the game and tough it out!" Soldier on!
6
impassebreaker 20 hours ago 0 replies      
First -- you are by no means alone. It may not make you feel any better but you are in good company. Most people suffer depression at some point in their life, some worse than others. Lincoln, Churchill -- this famous VC, Brad Feld: http://www.feld.com/wp/archives/2013/12/dont-fight-depressio...

If your grief is preventing you from functioning, I agree with people below who suggest therapy and medication. Why not give that a try? There's no shame -- it shows courage, and will help you grieve. Meditation and exercise are great eveners too. And being unemployed and depressed could make things even worse.

Good luck and warm wishes. It will get better. You will find peace and you will recover.

7
mercer 2 days ago 0 replies      
I'm very sorry to hear of your loss, and wish you all the best in the coming period! While I don't have any light work to share at this time, don't hesitate to hit me up if down the road you feel ready to do some 'small' things. I might have something then.

One question concerning your bosses. How clear have you expressed to them the extent of your suffering? Do they know you cry, and have trouble doing basic tasks?

The reason I'm asking is that I find 'we' are so used to not expressing the true nature of our feelings, especially in a work context (but even with friends), and perhaps especially as men (which I'm assuming you are, erroneously perhaps), that we sometimes aren't even aware that we might not have properly communicated this. I've made that mistake a few times.

Furthermore, assuming you are legally allowed to just up and leave and assuming it won't have negative consequences for you personally, this might be a good time to be selfish about it. They'll figure it out without you! You need to think of you right now!

I don't mean to be presumptuous; just something to consider.

8
NameNickHN 2 days ago 0 replies      
There is an option that will probably be as hard as continuing working but it'll help you in the long run: counseling/therapy. Grieving can be a very long process and you should use all the help you can get.

Apart from that, the only reason to stay with this company is if you want to avoid burning bridges.

9
andrewstuart 2 days ago 0 replies      
Just leave. Wait till you get your next paycheck and explain you can't do any productive work and finish.
10
llcoolv 2 days ago 0 replies      
Most truly efficient anti-depressants would take a couple of weeks to start working, so it is not an option. Your only chance is trying to take control of your mind and shift the focus of your thoughts. Try seeing a therapist, meditation courses or anything like that. Exercise also brings quick results (in a week or so). All of this is related to will-power and it could be trained, so just trying to keep the 'man up' attitude would help tremendously too.
11
raving-richard 1 day ago 0 replies      
I can't comment on specifics for NZ (but one month? I thought normal was two weeks notice). But, if the normal notice is one month, and they are asking for more, then explain it's not possible. Moreover, explain that while you are there, you won't be able to provide your best work, and moreover, it might even be detrimental to their business if you are working poorly. Especially if you are the only developer, you could be creating a situation that takes a new dev longer to fix, than for them to do the correct thing from scratch.

Read your contract carefully. Also read the laws carefully. You might well have the right to quit when you want. And in NZ I would assume that you would have a strong worker's advocate if the business wants to be shit and not pay you for work done.

Also, as others have said, be sure to use any leave you have coming.

12
impassebreaker 19 hours ago 0 replies      
p.s. -- and when you feel better, if you're interested in (paying) freelance work and have the right skills, send me an email at stephen dot impassebreaker dot com. I can't guarantee you that it will be a ton of work or a ton of money. I can guarantee you that depression will not be a strike against you, if you can do the work. But get help first and don't screw up deliberately and get yourself fired.
13
AnimalMuppet 1 day ago 0 replies      
I second those who said "get help".

But I would also say that YOU NEED TO FORGIVE YOURSELF.

You didn't tell us all the circumstances, just that you didn't make it in time to see him off. I can understand feeling badly about that. I can understand kicking yourself for it. But guilt?

You made a mistake. It worked out badly. It hurts. But forgive yourself, both for your own sake and for your father's. (I didn't know your father, but I suspect that he would not want you driving yourself into the inability to function over this. It seems more likely that he would say, "I forgive you, son. Get back up. Keep going.")

14
shoo 2 days ago 0 replies      
suppose you were not physically well enough to work, and wanted to quit. then it would be ridiculous to "force" you to work.

this is the same.

> "normally, one must stay on for a month after giving notice"

it is not a normal circumstance.

do you have sick leave? can you exhaust that first?

15
the82nddoctor 15 hours ago 0 replies      
First of all, I am so terribly sorry for your loss. I cannot begin to understand the pain you are going through.

I think you need to consider many things before leaving, screwing up deliberately to get fired might shut the doors at this company should you find yourself in better spirits down the road and wanting to return.

I think your father would want what's best for you. Think about that, think about the times you had, it's terrible that you lost your father, but think of all the happy times you had with him and hold on to those memories to pull you through.

I sincerely hope you feel better soon, and again, so sorry for your loss.

16
sharemywin 1 day ago 0 replies      
You need to talk things out with a professional grief counselor.
17
jqm 2 days ago 0 replies      
My suggestion is try to work it out then leave when you are ready.

Possibly a temporary regimen of anti-depressants. I am sorry for you loss and have experienced something similar (I didn't take anti-depressants but realized later they may have helped when they were temporarily prescribed to someone else in a similar situation.)

Your father is gone but your life goes on. He would almost certainly wish you to make the best possible use of it.

28
Ask HN: jQuery plugins with awesome logos
3 points by djico  20 hours ago   6 comments top 2
1
csallen 18 hours ago 1 reply      
Checkout http://99designs.com/ if you're looking to get a simple logo designed for cheap.
2
the82nddoctor 17 hours ago 1 reply      
Logoturn has a pretty good collection of logos accompanied with domain names, some are cheap, most are around $500.
29
Show HN: AtoZ CSS
5 points by guyroutledge  20 hours ago   2 comments top 2
1
Misiek 5 hours ago 0 replies      
thanks for sharing
2
dlagillespie 19 hours ago 0 replies      
Good stuff, very informative!
30
Ask HN: Current state of Geo-IP?
2 points by emhart  21 hours ago   1 comment top
1
edoceo 21 hours ago 0 replies      
Paid MaxMind has more accurate data than free one so I buy that when needed. Or you can use browser location via JS which is pretty good
       cached 21 May 2014 12:05:01 GMT