hacker news with inline top comments    .. more ..    16 Mar 2016 Ask
home   ask   best   3 years ago   
Ask HN: Going down from Lead to Senior developer?
2 points by sleenaidor  29 minutes ago   2 comments top 2
relaunched 23 minutes ago 0 replies      
Depending on your skills and the companies you are looking into, there is decent flexibility between independent contributor and technical tracks. Making a move that is lateral, between tracks, shouldn't pose a problem.

With regard to your future prospects, it's all about how you spin it. However, recruiters / HR aren't creative folks. They will look at your last job to slot you into your next job; if and when you want to switch back to management, that job is probably not going to come looking for you.

sharemywin 21 minutes ago 0 replies      
I thought a lot of places don't really have a lead developer position/title. More of a role. And I doubt you'll get out of leading various efforts at your new company.
Tell HN: If you use Google Inbox and hit your quota you stop getting email
15 points by ryandetzel  6 hours ago   11 comments top 3
snehesht 3 hours ago 0 replies      
If you're planning to run your own server, give this a shot https://github.com/mail-in-a-box/mailinabox
uuoc 5 hours ago 2 replies      
The solution here is trivial:

Don't use gmail....

Run your own mail-server, then your limits on email will be how much disk storage space you wish to purchase.

Email as designed is peer-to-peer technology. In fact, it was the first peer-to-peer system for the internet. Return to that world and all your troubles with the "central authority" (google) will disappear.

kek918 4 hours ago 1 reply      
Speaking of lacking warnings in Google Inbox...

If you connect other mail accounts to Gmail/Inbox, Inbox will NOT warn you if it looses connection.When this happens in Gmail, you will be greeted with a big yellow warning.

My private mail server were down a day and Inbox apparantly never reconnected to it. Fast forward 10 days and I missed an important mail until it was too late, because I never noticed Inbox were disconnected.

I love Inbox and how easy it is to keep my mailbox clean, but due to this and also because I can't customize signatures to my different mail accounts, I went back to Gmail for the time being.The fact that it hides the signature also annoys me because I always HAVE to make sure it's there by expanding the [+] sign... I simply don't trust it :)

Ask HN: What's the most useful online course you have watched?
71 points by dexxter  1 day ago   37 comments top 19
Hortinstein 51 minutes ago 0 replies      
Artificial Intelligence for RoboticsProgramming a Robotic Car

Sebastian Thrun (former leader of Google and Stanford's autonomous driving teams that won the DARPA challenge) teaches a class focusing on the basic methods in Artificial Intelligence to support autonomous vehicles, including: probabilistic inference, planning and search, localization, tracking and control, all with a focus on robotics. Programming examples and assignments apply these methods to building self-driving car like experiments.

Free course!


blabla_blublu 1 hour ago 0 replies      
I did Creative Problem Solving through Coursera and had a great time participating in the class projects.

There are some great tools which you can use in your everyday life to think innovative solutions to problems. The exercises were incredible fun as well.


Another course which I highly recommend is Learning How To Learn https://www.coursera.org/learn/learning-how-to-learn

okket 10 hours ago 1 reply      
I really enjoyed the free "CS193P" course from Stanford with Paul Hegarty. It is not 100% up-to-date but still a good start, covering Xcode/iOS8/Swift:


ericzawo 23 hours ago 0 replies      
Joel Spolsky did a really good one-hour primer on Excel. If you squirm at the thought of spreadsheet anything, this video is for you https://www.youtube.com/watch?v=0nbkaYsR94c
benjismith 17 hours ago 1 reply      
There's a really excellent course on starting a startup, from Sam Altman (President of YCombinator).


It was delivered as a live lecture at Stanford, with presentations by Sam Altman himself, as well as Dustin Moskovitz, Paul Graham, Adora Cheung, Peter Thiel, Alex Schultz, Kevin Hale, Marc Andreessen, Ron Conway, Parker Conrad, Brian Chesky, Alfred Lin, Patrick and John Collison, Ben Silbermann, Aaron Levie, Reid Hoffman, Keith Rabois, Ben Horowitz, Emmett Shear, Hosain Rahman, Kirsty Nathoo, Carolynn Levy, and Tyler Bosmeny.

My favorite presenter is Reid Hoffman, but all the lectures are awesome. If you're a startup founder, you owe it to yourself to watch them all...

THEUW 1 hour ago 0 replies      
jamesharrington 16 hours ago 2 replies      
This is the best javascript video i've ever seen. if you wait they do deals all the time, no need to pay $200 it will go on sale usually around $15-$20


quicky123 4 hours ago 0 replies      
This guy is an amazing C#/.Net trainer as well as object oriented programming concepts. Great for people coming from a Javascript background.http://www.learnvisualstudio.net/
abraham_s 16 hours ago 0 replies      
CSE341: Programming Languages by Dan Grossman


colund 23 hours ago 2 replies      
I enjoyed Andrew Ng's Machine Learning course on Coursera. Why don't you give it a shot.
joshschreuder 11 hours ago 1 reply      
These are paid, and not exactly a course but the Destroy All Software screencasts are great, and cover a lot of topics like shell scripting, VIM / EMACS, testing, refactoring etc.


They're by Gary Bernhardt of Wat fame, which is also worth a watch for its presentation style and amusing content:


_kyran 15 hours ago 0 replies      
CS50 https://cs50.harvard.edu/

David Malan in the best lecturer I've ever seen.

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience

askldfhjkasfhd 22 hours ago 6 replies      
Coursera, learning how to learn.
geekfactor 20 hours ago 0 replies      
Coursera/UPenn's Aerial Robotics course (https://www.coursera.org/learn/robotics-flight) and more broadly the robotics sequence.

I'm taking now for a diversion (just started) and expect to learn a bit about quadrotor mechanics, sensors & control systems.

YesThatTom2 15 hours ago 0 replies      
Introduction to Operations Management Professor Christian Terwiesch brilliantly and understandably explains the math behind "operations".... which explains Lean, Agile, DevOps and everything from running a restaurant to a doctor's office.


blt 11 hours ago 0 replies      
CS 61c lectures from UC Berkeley. Computer architecture. Ideal if you are good with data structures / algorithms but the machine still feels like magic. It is empowering to understand what the machine is really doing.
rajathagasthya 21 hours ago 0 replies      
Algorithms by Robert Segdewick and Cloud Computing Concepts on Coursera. First is an essential, second is a really good intro into distributed systems.
SixSigma 14 hours ago 0 replies      
Gilbert Strang's linear algebra


Walter Lewin's Classical Mechanics


for the content and the delivery

Ask HN: Idea. A negotiation platform for open source commercial support
3 points by lumo  3 hours ago   4 comments top 3
BjoernKW 1 hour ago 0 replies      
This might be interesting for any kind of software-related service, development, design or otherwise, not just for open source software support. As a freelance consultant I can see how such a process could benefit both the service provider and the client.

However, this would've to include some kind of task review, escrow and automatic payment on successful completion to truly deliver. In other words, you'd have to upend to whole process of how software-related services are provided for the most these days:

- client looks for consultant who matches technical requirements (or often rather has a recruiter look for such a consultant)

- consultant works x amount of hours

- consultant bills client amount x

Therein lies the rub: In the market as of today it's very difficult to market and sell clearly defined and measurable software-related services, which is why most of those services are often still sold by the hour. This is non-sensical for the most part because what client wants is not hours spent but problems solved.

Measuring those problems and their solutions however, still is tough. Being able to adequately productize services it what it ultimately comes down to I suppose.

If you're willing to address these larger issues as a whole I'd be happy to hear your thoughts (contact info's available in my profile).

manx 1 hour ago 0 replies      
I'm doing research on something more general. What you describe is one use-case of a general discussion and collaboration protocol I think we really need. I'm tackling this with a hypergraph discourse structure combinend with community moderation. But a lot more research needs to be done.
Spooky23 3 hours ago 1 reply      
Interesting idea. I'd suggest broaden the idea to a service.

It might be a way to open commercial OSS to other markets, such as .gov, where standardized contract structures, SOWs, and procurement vehicles are complex to deal with.

For packaged software, resellers like SHI, CDW, EnPointe, etc provide a service where they take a percentage in exchange for handling the paperwork, etc.

Ask Us Anything: Y Combinator Hardware Companies Crowdfunding
81 points by liseman  1 day ago   131 comments top 47
louprado 1 day ago 4 replies      
Last month my hardware start-up was almost shut down because our power supplies are CEC efficiency level 5 and not 6. Customs would have seized our entire last shipment. Prior to that I got a cease and desist from the Bluetooth SIG unless I immediately paid $2500 to $10000. I paid immediately.

I have no problem following regulations and paying for licenses. The problem is getting blind-sided by it. I still don't even understand if I need a RoHS certification to ship in my home state of California. Is there any resource you found helpful ? Thanks in advance.

joshavant 1 day ago 3 replies      
Hi folks!

I graduated from a moderately-ranked undergrad program with a 3.0 in Computer Engineering (the HW-centric flavor of CS), going on 6 years ago.

After graduation, I wanted to get into the embedded field, but was discouraged by the employment options (hardware hadn't yet made the comeback it has been making over the last 3-5 years... 'old' players like Intel still dominated, which wasn't particularly attractive to a bright-eyed 21 year old).

In the interim 6 years, I've been doing iOS development, and believe I've amassed a CV that speaks well to my dedication and work ethic (and is moderately accomplished, at that!).

My question is... how far off am I from being a viable candidate for embedded job opportunities? What kinds of projects/side-work would you like to see to prove that I 'still have it' and/or could sufficiently think on my feet, and get back into embedded development?

FWIW, I have resume experience at Apple, Microsoft, and Google (I actually was hired at Apple out of college to do hardware QA but, once I realized the path from QA to embedded development would be a near impossible feat, I quickly moved on to iOS development).

Thanks! And good luck with your respective products!!

franciscop 21 hours ago 0 replies      
I won a worldwide NASA contest with a friend designing and building a Space Helmet in a weekend [1] and my friends won two of the Hyperloop categories [2]. We have created a community of students [3] in our University in Spain and now we are launching a robot competition [4].

Would you consider sponsoring our community or the contest? We are operating with a budget under 1000$. Both money and products would be awesome :D

[1] https://2014.spaceappschallenge.org/awards/#globalwin Next Vision (Space Helmet)

[2] http://hyperloopupv.com/

[3] http://makersupv.com/

[4] http://orchallenge.es/

thebiglebrewski 1 day ago 4 replies      
I have a bunch of hardware stuff lying around. Arduino kits, soldering equipment, even a pocket oscilloscope! I had good intentions with it but now it's mostly just sitting there. Any small cool project ideas to build? Also I always have this problem where I'm missing one tiny component (I live in NYC in Brooklyn) and have to run to a store in Manhattan or wait for an online order to fill it...any tips on things to keep around that everyone should have (I have different types of resistors, etc).

Mostly I feel like a software guy that's a bit of a hardware wannabe and it feels like I'd never get to the point where I could build a legit product, and would love some guidance on how to ideate in this space.

spacebug 1 day ago 0 replies      
What is Your thought on shiping prototype stage products to early backer as a way of getting user feedback. Even if product is not yet certified, with the promise that you will ship them the finished product?

This way you are not selling the product you shipped them, so I'm not sure what are regulations regarding this strategy. The product would be clearly labeled as prototype version and not fit for end use.

Bonus points for complexity: The product is intended for children age 6+.

grape_ 1 day ago 1 reply      
YC and many other incubators provide startups technology incentive programs (Digital Ocean providing $250k credits, Azure providing $500k in credits, etc.). Are any of the hardware startups here utilizing any of the incentive programs? If so, how so? Very interested to hear about cloud strategies, especially as they relate to hardware companies (APIs, IOTs, etc.).
gourneau 21 hours ago 0 replies      
Is building an IoT product based on the ESP8266 (esp-12e) a reasonable thing to do? Would there be any hidden fees or licensing issues?
ogreveins 1 day ago 2 replies      
Serious question: How do you keep your stuff from getting replicated, tweaked and crushed by people with possibly better tooling and more machines than you? China comes to mind tbh.
rdl 23 hours ago 1 reply      
What do you do when a hardware startup/kickstarter/etc. has raised, say, $150/unit, but needs $250-300/unit to ship? I se this a lot with crowdfunded projects -- either they underestimated costs, or had a single huge setback.
thirru 1 day ago 2 replies      
Hey Martin from ShapeScale (S15) here.

Did any of you attempt any influencer marketing? (celebrities or connectors on Instagram, Twitter, Facebook, Snapchat)

If so, how well did it work and did you pay them (if so what was the model, commission, or up-front payment). Would you do it again?

dfox 1 day ago 1 reply      
What is your approach to low-volume prototyping? Do you use same components for prototypes that you intend for volume manufacturing? How do you source them? (for example LCD panels, where there seems to be nothing in the intersection of "long-time available", "available in unit quantities", "available in bulk" and "reasonable quality")

And another question for the business side of things: where is the line for consumer products that are not meaningful to crowdfund? niche-ness? complexity of installation? does it make sense to crowdfund what is essentially an B2B product?

cbw5 1 day ago 1 reply      
Great hardware has the tradeoff of being "built to last" but then not re-engaging the customer for new purchases for quite some time. How do you think about re-engaging customers who purchase a Nebia shower?
martinushk 1 day ago 1 reply      
Hi guys. What did YC helped you the most with? I guess none of you had the product on the market while being in the batch (maybe I'm wrong?).
anujdeshpande 1 day ago 1 reply      
A lot of the advice seems to be geared towards B2C startups. Most startups http://www.ycombinator.com/hardware/ seem B2C too. A lot of the reports/blogs/opinions of the Interweb suggest that connected hardware will make the most sense in industrial and smart city kind of environments (which are probably more B2B than B2C) in the early days. Would you advise differently for people working on B2B?

- Getting early prototypes out there has kind of been decremental for us. Even the smaller bizs are willing to pay higher for a more "field-tested" device. Which seems like a recursive problem ;). Should one spend more time on getting v1.0 done ?- Is there anyone who you'd recommend to handle global shipping and taxes? The way that Pebble had tied up with distributors in different places depending on your country, etc.

(We are building talking posters. One's with BLE play prerecorded messages, and you can interact with them, and the one's with WiFi are connected to the Internet and are more interactive.)

Thanks !

cfederico 1 day ago 2 replies      
Hi Guys, we are a hardware startup developing a smart LED lamp. We plan to launch a Kickstarter campaign late Q3 and now we are testing the product with our early adopters.

- What is the best way to get traction on the product before launching the campaign?

- How much money you need to set up a good marketing Kickstarter campaign ? Is it needed to use a good PR agency ? (Any suggestions about a good PR agency ? )

Thank you so much!


jmcmahon443 1 day ago 1 reply      
What do I do if I need to use another company's patent in my product? How do I approach the situation/negotiation?
thirru 1 day ago 1 reply      
For those of you that did Kickstarter and not Indiegogo or a selfstarter (Celery/Tilt/Shopify) campaign:

How happy were you with the experience so far? There are a few up and downsides as drabie had mentioned before.

Taking all of that into account, would you use Kickstarter again if you had the choice again?

elijahparker 23 hours ago 0 replies      
I'm just about to launch a new hardware product and was planning on using Kickstarter (it would be my 2nd time), however a partner (and reseller) in the industry brought up the option of them preordering my entire Kickstarter goal so I can get to selling/shipping the final product sooner at retail price.

Seems like an enticing option, my main concern is how much of the Kickstarter market might I miss?

Are people who buy on Kickstarter a subset of those who buy a finished product, or is it an entirely separate group?

I can see pros and cons of both ways, and I know a lot has to do with my specific market (niche time-lapse), but would love to hear any comments or insight. Thanks!

mrshuptrine 1 day ago 1 reply      
Do you think US companies have any ethical obligations to manufacture in the US? On that same vein, is there a marketing value of saying, "American-made" that could justify the higher manufacturing costs?
gabsong 1 day ago 1 reply      
During crowdfunding, we're busy taking orders, talking to press, making sure we update our users with marketing campaigns, etc. How do you manage customer care during the time of the campaign?
MechSkep 23 hours ago 0 replies      
I have a plan for overhauling/replacing Geometric Dimensioning and Tolerancing. The way it's done now consumes way too much design time, and honestly is a bit silly considering the inputs and outputs of the system.

I'd like to talk to someone with experience interfacing with factories in China about how the current approach could be replaced. Any suggestions?

Also, if I developed this tool-chain, what is the best way to attach to the market?

cfort6 1 day ago 2 replies      
Lots of platforms exist for home automation, control of IoT devices, etc... HomeKit, Nest, Wink, etc.

How worth it is it to integrate with these platforms? Should new IoT devices "cover all the bases", or is it not worth the extra cost & development?

Currently I'm doing an IoT project and I think I may just skip all those platforms. The HomeKit app costs $14.99, a Wink base station or a Nest costs money... Personally I'm doubtful consumers want to pay those extra costs.


jonbarker 1 day ago 1 reply      
What are some cost effective options for rapid prototyping (preferably mostly doing it myself in a shop type environment) in the bay area?
elijahparker 23 hours ago 0 replies      
Does anyone have a recommendation for how to go about WEEE [1] compliance across Europe apart from registering in every country individually?

[1] https://en.m.wikipedia.org/wiki/Waste_Electrical_and_Electro...

dsl 21 hours ago 0 replies      
I'm currently considering a startup that is 90% cloud software, and 10% on site hardware (think a small custom designed sensor).

Having no experience or expertise in custom hardware design, how would you recommend finding someone who could handle design and production?

jmcmahon443 1 day ago 2 replies      
What are the pros and cons of crowdfunding, vs. self-funding, vs. VC-funding for a hardware startup?

When should I be using which sort of funding?

thetli8 1 day ago 2 replies      
Do you think hardware IoT companies should eventually open source their hardware to solely focus on the software? (Based on the belief that if we can make it, there's always someone who can make it better for cheaper). How would we go about doing that in a way that does not greatly damage revenue streams?
thirru 1 day ago 1 reply      
What are some good strategies you guys used to narrow and improve your messaging for your crowdfunding campaigns?

Did you rely on qualitative feedback (by real people or usertesting) or on quantitative results (A/B conversions testing on ad copies and landing pages)? Or did you just go with your gut?

dchmiel 1 day ago 0 replies      
What is your approach to looking at security for your hardware and data during prototyping and testing with early clients? How would you minimize what data is collected to maximize what you can learn to improve your product and service?
prbuckley 1 day ago 0 replies      
How much do you think about a post crowdfunding customer acquisition strategy before launching a crowd funding campaign? It seems like crowd funding can get initial attention but doesn't necessarily make a sustained business.
thirru 1 day ago 1 reply      
I have a question for Hykso: You guys had a progress bar of units sold. Did you see that this was creating urgency? Also did you find it hard to create traffic to your own site? What was your strategy? And why Shopify over Tilt/Celery?
cbw5 1 day ago 1 reply      
Great hardware has the implicit trade-off of being "built to last" and consequently not requiring the customer to upgrade the product for quite sometime. How do you think about re-engaging customers in the short to medium term?
lindseya 1 day ago 1 reply      
Did you make your own videos or work with a video production company?
lindseya 1 day ago 1 reply      
At what stage should your product be before you launch your campaign?
dookahku 1 day ago 3 replies      
I've lots of embedded linux experience. It's less consumerist products but more embedded systems experience.

Where do I find people's problems to solve that can be addressed by HW?

mariusz331 1 day ago 1 reply      
Thanks for doing this!

How do I get started with hardware? I'm a software engineer trying to break into the hardware field. What resources can you recommend for someone in my shoes?

jpcorica 1 day ago 2 replies      
How can we balance effort, risk taking and authorship protection vs holding progress back because of the blocking some patents create? Product revenue will be enough?
jeiting 1 day ago 1 reply      
Did you have experience in hardware before this? Do you think that experience building hardware products is a pre-requisite to starting a hardware company?
liseman 1 day ago 0 replies      
Lots of great questions! Thanks for joining us. Email me ( luke@ycombinator.com ) after you apply for YC with your next big hardware thing:)
zkirill 1 day ago 2 replies      
Is it a good idea to sell your first small batch of functional prototypes as-is while still in the market research stage to get user feedback?
mbruschi 1 day ago 2 replies      
How do you managed to get your campaign to the press? Any advice if there is no time for building up relation-ships with the journalists?
lindseya 1 day ago 3 replies      
What do you plan to do as a next step post-crowdfunding (other than delivering your product, of course)?
thebiglebrewski 1 day ago 1 reply      
Would it be possible to post links to all of the crowdfunding campaigns and/or product pages?
shishir1 1 day ago 1 reply      
When is the right time/scale to start knocking doors to find partners at schenzen?
lindseya 1 day ago 1 reply      
What strategies did you use to get the word out about your campaign?
creativecomm2 1 day ago 0 replies      
We want to partner, contact us foodbyprint at gmail.
creativecomm2 1 day ago 1 reply      
We want to talk to Tovala about a partnership
Ask HN: What are some examples of beautiful software?
326 points by ponderatul  3 days ago   253 comments top 97
tbrock 2 days ago 7 replies      
C: anything by antirez (redis, etc...) Redis is the epitome of well written understandable C.

Ruby: anything written by _why (if you can find the source) He once gave a whole presentation on the splat operator and it's bizarre uses that gave me goosebumps. A true artist. The code twists and contorts ruby in unimaginable ways.

JS: anything written by TJ hollwaychuck (express, mocha, etc...) Express is so simple but powerful, when you read the source you can't help but wonder where the rest of the code is.

Python: anything written by Kenneth Reitz (Requests, legit, records...) This guy can lay down some serious Python and gets things done. He writes the batteries that python should have had included.

Ace17 2 days ago 5 replies      
I'm seeing a lot of meanings to "beautiful" here, please, let's define what we're talking about.

Does "beautiful" means "the code is clean"? If so, the Quake source code is "beautiful", while Duke3D Build engine is "ugly".

Does "beaufitul" means "the code is clever"? If so, gcc, ffmpeg and ODE are "beautiful", and Google's Ninja is "tasteless".

Does "beautiful" means "the code is modular" (I mean "open-closed" here)? If so, VLC is "beautiful", and everything monolithic is "ugly" (gcc, Linux, systemd, LLVM, ...).

Does "beautiful" means "the software performs flawlessly"? If so, the Duke3D Build engine, Quake's engine, and Portal's physics engine are "beautiful", while VLC is "ugly".

Does "beautiful" means "the software embodies a clever concept"? If so, "grep" and "xargs" are "beautiful", and the Windows Batch interpreter is "ugly".

Does "beautiful" means "the software is easy to use"? If so, the Windows calculator is "beautiful", while Mathematica and vim are "ugly".

Does "beautiful" means "the software can be twisted in lots of interesting ways"? If so, dynamic language interpreters are "beautiful", while static language compilers are "ugly".

My point is, any piece of software can be seen as "beautiful" or "ugly".

We have meaningful objective attributes at our disposal, like "simple", "clever", "fit", "robust", "fast", "small", "user friendly"... let's use them!

joshuata 2 days ago 2 replies      
My vote is for SQLite. It is very well written, incredibly well tested, and one of the simplest and most flexible tools out there. My favorite part is the extensive documentation explaining the architecture decisions they made.
donatj 3 days ago 3 replies      
"Another World" There's a very interesting write up here: http://fabiensanglard.net/anotherWorld_code_review/

The game itself has an amazingly beautiful vector style. The engine is remarkably tiny, 20kb. I decided years ago if I ever find time to build a game I'd like to architect it like "Another World".

hebdo 3 days ago 1 reply      
Varnish cache.

1) Configured via a special DSL (Varnish Configuration language) that gets translated into C, compiled and loaded into the Varnish process via a .so. Perfect combination of expressiveness and speed. You can even inline raw C code in it!

2) Heavy, good use of virtual memory. Varnish allocates quite a lot of gigabytes and leaves it up to the operating system to decide what should be in RAM and what should be on disk.

3) LRU garbage collection of cached objects requires a synchronized priority queue. Varnish people transformed the decades old idea of implementing a heap in an array that every CS graduate knows and came up with a faster, paging-aware solution (http://queue.acm.org/detail.cfm?id=1814327).

PeCaN 3 days ago 2 replies      
LuaJIT. It's a cutting-edge JIT with remarkably understandable algorithms and source. Every single piece of it is well thought out. Even the asm interpreters are pretty clean and explain why they work the way they do.

Mike Pall is a demigod.

wstrange 2 days ago 1 reply      

The idea of collapsing a volume manager and file system into one was very innovative and led to substantially more functionality with less code (although some called it a "rampant layering violation" ).

ZFS is a joy to use, dead simple, and arguably the most robust file system out there.

weej 2 days ago 1 reply      
"Beautiful Code: Leading Programmers Explain How They Think" is a book that attempts to to tackle this topic. "The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules." The book has been sitting in my to-read stack forever. You might want to check it out.


analog31 3 days ago 1 reply      
Turbo Pascal for DOS. Simple, compact, quick, well documented, reasonably easy to learn, and not too expensive.

I think that bloat is the enemy of beauty, so we're probably likely to find beauty in software that does a few things well.

albertzeyer 3 days ago 0 replies      
I really like reading most code from John Carmack, e.g. Quake 1-3. Much of it can be seen here: https://github.com/id-Software
hatsunearu 2 days ago 3 replies      
Rust. It's god damn beautiful. It's design is magnificent, so much so that it seems easy to write beautiful rust code myself.
stray 3 days ago 2 replies      
The most beautiful I'm aware of is Robert Strandh's SICL (https://github.com/robert-strandh/SICL). CL-PPCRE (https://github.com/edicl/cl-ppcre) is very nice as well, imo.

What makes them beautiful? They're very straight forward and clearly communicate what they're doing, and how.

And the parentheses in their language of choice softens the visual display of the code -- while the semantics of the language cause the shape of the code to communicate quite a bit about how the machine will go about executing it.

There are no surprises.

In terms of conceptual beauty, it'd be hard to beat Screamer (https://github.com/nikodemus/screamer).

What makes this beautiful? The way it makes a hairy problem seem simple and straight-forward.

paulsutter 2 days ago 1 reply      
The Deepmind Atari Player is only 22KB of source code:


If you haven't seen the video it's remarkable:


mtrn 3 days ago 2 replies      
The Go standard library. At least two things coming together: A stripped down language, that explicitly aims to be readable and experienced programmers / authors.
Luc 3 days ago 0 replies      

At the time I had never heard of Binary Space Partition Trees. Beautiful concept for a monument of a game.


jarcane 2 days ago 1 reply      
The Haskell and Clojure standard libraries.

It's very rare in a programming language that I can click through to the implementation of a function and actually understand the code I get through the wall of error checking and coercion and OOP gobbledygook to even make sense of what I'm looking at.

But I've never had this problem in Haskell or Clojure. Haskell because that awesome type system makes most of that boilerplate unnecessary, and Clojure because for good or ill, the priority seems to be on clarity of code and letting the Java type system kind of catch a lot of the obvious errors.

Racket, on the other hand, much as I love it, when I go looking at it's internals most of the time it's practically unintelligible to me.

lucaswiman 2 days ago 1 reply      
Peter Norvig's sudoku solver is beautiful on all levels. http://norvig.com/sudoku.html

It's clearly explained code that's shorter than you would have thought. Norvig showcases his expertise in manipulating both the basic data structure of the Python language, and a deep understanding of the underlying problem and methods for solving it.

muzani 2 days ago 5 replies      

The way it displays and organizes complex data, better than other standards like CSV or XML. Or the things that use tables.

When I first started programming, I had two favorite ways of storing data - INI and arrays. INI for its elegant key/value style. Arrays were just natural because of the way computers think.

I spent months trying to mold these two things together; how would you actually store key-value things within an array? Do you make an array of pointers that lead to key-value objects? (I used C)

JSON is just this beautiful thing that lets you store data however you want. It's beautiful because it doesn't get in the way. Not only that, but it's a data structure you can understand just by looking at it; you'd have to squint to understand raw XML or a SQL table.

nstart 2 days ago 0 replies      
This might sound crazy but I actually found the discourse source code to be a beautiful thing. When I read it I had never used ruby beyond understanding the syntax via ruby koans. And one day I wanted to learn how they manage long running tasks without blocking the rest of the web application, and so I jumped into the code using only github and github source code search. 15 minutes in I had notes which drew the entire picture of how and where sidekiq comes in and how and where emails are constructed (I was starting out by trying to understand how things like password reset emails are handled iirc). I know there must be some ugly parts in there, but I went in with no understanding of what to look for except some keywords. I came back with a pragmatic understanding of how to implement a certain workflow regardless of language or framework. This was the mark of something beautiful to me.
w8rbt 3 days ago 1 reply      
Personally, I like Tarsnap and anything from the OpenBSD project. Of course, this is highly subjective, and I would not call the code 'beautiful'. However, to me, these are a few examples of code performing complex tasks written in a simple, straight-forward way that I can follow and understand.
awinter-py 2 days ago 1 reply      
For me, learning about functional programming and 'feeling my way' into avoiding excess local vars, paying careful attention to side effects. To be clear: I'm talking about functional style in imperative languages, not about making the jump to functional languages (which are still less widely used -- maybe because they're not 'necessary enough').

I'm not saying my code is particularly readable to anyone but me, but functional style is something that 'clicked' when I fell into it.

spotman 3 days ago 1 reply      
Redis is my favorite example. It's some of the easiest to read, digest, and modify source code out there.
ycmbntrthrwaway 2 days ago 0 replies      
X11 terminal emulator as one C file:http://git.suckless.org/st/tree/st.c
rwallace 2 days ago 1 reply      
The Scheme programming language. As close to the core essence of programming as an actually usable, practical programming language has ever come.

LLVM. Being able to fully represent general code in a simple, well-defined, readable text-based format is a far bigger achievement than you would think until you look at what it took to do it.

yannis 3 days ago 2 replies      
Knuth's TeX. Set the standards for documentation, reliability, portability, typography, extensibility and scripting, is well into its fourth decade and is free software.
sctb 3 days ago 1 reply      
Arthur Whitney's one-page interpreter: http://code.jsoftware.com/wiki/Essays/Incunabulum
lewisjoe 2 days ago 1 reply      
Werkzeug's Jinja2 templating engine written in Python.

I happened to dig into its source code for something and eventually found myself amazed at how the entire base is beautifully laid out. It's no nowhere near being naive. It's almost a simple programming language implemented in python. A compiler of sorts with its own abstract syntax tree and stuff. Yet the code is very readable, straight forward and just taught me how to write good python.

[edit] corrected typo.

vmorgulis 2 days ago 0 replies      
Oberon, TempleOS or OpenGenera. These projects are vertical, consistent and use only one programming language.

In OpenGenera, everything displayed on the screen is typed and can be retrieved as an s-expression (like in a web browser):



lkrubner 2 days ago 3 replies      
Anything by Zach Tellman:



In terms of his ideas, watch "Always be composing":


And he offers some great thoughts about queues and backpressure in "Everything will flow":


eternalban 3 days ago 1 reply      
Beautiful software =/= beautiful code.

Beautiful software: Java Virtual Machine (the code? could be entirely un-beautiful ;)

ranko 2 days ago 0 replies      
"If Hemingway Wrote Javascript" (https://www.nostarch.com/hemingway, see also https://javascriptweblog.wordpress.com/2015/01/05/if-hemingw...), in which five short programs are each written in five different styles (all in Javascript). It shows how different programming styles can be used in the same language to solve the same problem. It's unlikely that you'll start writing in the style of Borges or Austen after reading this, but it is entertaining and amusing.
huuu 3 days ago 2 replies      
For me it's Blender.

 - Starts in a sec. - API is the program, the GUI just an interface. - Free but very professional - Shortcuts are ergonomic.

CoryG89 2 days ago 1 reply      
I would say that not many actual implementations of software turn out to be beautiful, assuming it is above a certain threshold of complexity and it is meant for production use.

On the other hand, the ideas, algorithms, or the protocols on which software is based often seem beautiful, elegant, or brilliant, at least to me.

A few examples I can think of are: Google PageRank algorithm, Bitcoin's protocol and the block chain, the TCP network protocol, the BitTorrent protocol, Dijkstras algorithm, etc.

jpgvm 2 days ago 0 replies      
PostgreSQL. The best C codebase I have ever worked with and IMO very beautiful and well designed.
superuser2 3 days ago 1 reply      
Not sure if this is what you're looking for, but from the UX side, Square Cash.

Does one thing, does it well with large responsive colorful UI that still displays everything you need to know. Is minimally invasive (debit card instead of bank account verification). Uses your existing contacts, so everything "just works" by default.

rpdillon 2 days ago 0 replies      
The Emacs source code was always impressive to me. Much is lisp, but even the primitives (like buffer) that are written in C use macros to maintain semantic parity with the lisp code, defining macros like EQ and DEFUN. It's kind of fun to read (for me, anyway).https://github.com/emacs-mirror/emacs/blob/master/src/buffer...
mcculley 2 days ago 0 replies      
I learned an enormous amount about how to ship code that works on multiple platforms back in the 90s just by reading the GNU Emacs and XEmacs source code. I really owe a lot to that source code being available.
phkahler 2 days ago 1 reply      
SolveSpace - parametric CAD program. Single executable, well done UI, small code base, nice constraint solver, originally by a single person. It's the only OSS CAD I've found useful (QCad was second, then FreeCAD). There are also a few active developers now with major improvements on the way.
lambdafunc 8 hours ago 0 replies      
Presto also has a high quality codebase: https://github.com/facebook/presto
apdar 3 days ago 0 replies      
Beautiful code: graph search in prolog. So much in as few lines as possible[1]

[1]: http://www.cse.unsw.edu.au/~billw/cs9414/notes/prolog/path-t...

gravypod 2 days ago 1 reply      
I found this a while ago on hackernews: https://github.com/Hypsurus/skod

Amazing source.

cdcarter 2 days ago 0 replies      
Camping -- it was _why the lucky stiff's Ruby web-microframework, under 4k of code and absolutely brilliant from top to bottom.
braythwayt 2 days ago 0 replies      
The HashLife algorithm for Conways Game of Life:


My implementations in Literate CoffeeScript:


And JavaScript:


jaybosamiya 3 days ago 2 replies      
Not specifically "software" but this piece of Haskell code is the most beautiful code I've ever seen:

 quicksort [] = [] quicksort (x:xs) = quicksort [y|y<-xs,y<x] ++ [x] ++ quicksort [y|y<-xs,y>=x]

altitudinous 2 days ago 1 reply      
Well, I think Jonathan Blow's Braid is a beautiful thing. Many in here seem to be talking about the beauty of the source code or something related, but I like a simple well executed idea that is beautiful to look at as well. No corners were cut here - I think it is a work of art.
zachrose 2 days ago 0 replies      
Not working software per se, but I think there's a lot of beauty in the way Sandi Metz demos a refactoring of a thing called The Gilded Rose in this video:


binarymax 3 days ago 0 replies      
There is a really good list covered in detail here:


ktRolster 2 days ago 0 replies      
Early MacPaint and Quickdraw source code is worth a look. Clean and simple, yet solved a rather complex problem. http://www.computerhistory.org/atchm/macpaint-and-quickdraw-...

Here is what the author said about it (and code in general):

"Its an art form, like any other art form I would spend time rewriting whole sections of code to make them more cleanly organized, more clear. Im a firm believer that the best way to prevent bugs is to make it so that you can read through the code and understand exactly what its doing"

booop 2 days ago 0 replies      
I'm surprised no one has mentioned roller coaster tycoon. 99% of the game was written by one man in x86 assembly and it ran beautifully.




jamescun 3 days ago 0 replies      
Say what you like about Rails (or Ruby for that matter), but go and look at its source. It is well laid out, the commenting is extensive and descriptive, and it follows a natural flow.

The same can be said of the PostgreSQL source.

eliboy 3 days ago 0 replies      
The way ruby uses instance_eval. I didn't pay attention at first, I just enjoyed the beautiful interfaces. But when I saw how they use instance_eval behind the scene and how simple is, I was in awe.
dmytroi 3 days ago 0 replies      
FMOD [1] sound framework provides one of the best C API's in industry : stable, works everywhere, clean and beautiful. Please find API example at [2].

[1]: http://www.fmod.org/[2]: https://github.com/fmod/ue4integration/blob/master/FMODStudi...

Quiark 2 days ago 0 replies      

Just read through the design, it's very simple and extremely modular. It learns the lessons from previous related systems and applies them in the new system.

seivan 3 days ago 1 reply      
Grand central dispatch is so beautifully designed. Both its API and just general use. It clicked with me the first time it got introduced and I abandoned bothering with NSOperarion
malux85 3 days ago 0 replies      
In terms of source code? If so my favourites to read are:LLVM and Clang. Redis. TensorFlow. Doom. Sha256k (the one Bitcoin core uses).
dschiptsov 2 days ago 0 replies      
There is a few rather universal generalizations about most of these projects people find beautiful - the code has been written after throughout understanding of what one is doing and why - the domain, the first principles, the logic and the representation. And then one returns and refines (refactors) the code several times as long as one's understanding clarifies in the process of writing it down.

Jumping right into IDE to solve a problem is a way to end up with bullshit, like to write down the contents of undeveloped and undisciplined mind.

"My code is my documentation", or auto-generated "documentation" is bullshit for the same reasons.

sahreeg 3 days ago 0 replies      
This Beauty! I mean that in terms of code aesthetics.http://www.ioccc.org/2011/eastman/eastman.c

(winner of the 20th International Obfuscated C Code Contest)

Nevertheless once you run it, you will have a sweet surprise.

im_down_w_otp 2 days ago 0 replies      
Joe Armstrong's "Universal Server".
percept 3 days ago 1 reply      
Nobody mentioned git?
davepeck 2 days ago 0 replies      
I've always found FreeType to be quite wonderful; it integrates the artistry and mathematics of typography with entertaining low-level wizardry.

Take a look at the rasterizer, for example: http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree...

baby 2 days ago 0 replies      
Look at Laravel, every comments is made on 3 lines that go smaller and smaller. The amount of details in the framework is pretty huge.
pmarreck 2 days ago 0 replies      

This book might help.

H&P is great, by the way. It was that book and "Cathedral & The Bazaar" that made me quit a Microsoft-only job and go open-source.

zengr 3 days ago 1 reply      
Surprised that no one mentioned elasticsearch here. The Java code is truly one of the best I have seen in any large open source Java project.
sevkih 3 days ago 0 replies      
why plan9 hasn't come up yet?
z3t4 2 days ago 0 replies      
This is highly opinionated. It will change from person to person, even for the same person in different times of his/her life. My answer would be that "when the planets align": Meaning the right product at the right time.
murukesh_s 2 days ago 0 replies      
Why do we assume that software is same as code? I wonder if graphics tools(like photoshop) were't invented as a point and click tool, but something that you would need to code instead, we would have praised some X or Y instead of Z..
userbinator 2 days ago 0 replies      

A tiny self-interpreting compiler and virtual machine. The beauty is in how amazingly minimal and yet functional it is.

julie1 3 days ago 1 reply      

The interface between the physical world and the digital world. They are the lenses of computers as much as its magic.

reitanqild 2 days ago 0 replies      
Kind of out-of-place but Manic Time is the best GUI I remember having used on Windows.

It has every feature but takes 5 minutes to learn. And it (mostly) seems to do the most reasonable thing every time you do anything.

(plus: there is a working free model and a really useful paid upgrade.)

zem 2 days ago 0 replies      
i maintain a lingering fondness for the [aurora text editor](http://www-personal.umich.edu/~knassen/aurora.html), a dos-based text editor that was, like emacs, largely written in its own scripting language. the editor was sadly closed-source and has now gone the way of most closed source stuff, but the scripted bits were open source, and they were a real pleasure to work with. again, like emacs, you could build some surprisingly non-text-editor-like things on top of it.
sysret 2 days ago 0 replies      

1. a. whitney2. ioccc.org winners (djb, etc.)

what makes [some] software beautiful?

the ugliness of other software.

most software is large, slow, complicated and bug-ridden.

this makes small, fast, clean software written by competent programmers "beautiful".

taste varies. what is too terse and "obfuscated" to some is pleasingly succinct and manageable to others.

right now there's another post about yann lecun on the front page. he once wrote a lisp-like interpreter that compiles to C called "lush". of all the lisps i have tried i think it's one of the more "beautiful" ones in it's design.

numlocked 2 days ago 0 replies      
qmail and djbdns by D. J. Bernstein. But don't take my word for it:


sklogic 3 days ago 0 replies      
TeX and Metafont. It'd be hard to find anything even matching these gems.
aggieben 1 day ago 0 replies      
I think the OpenBSD code is quite nice, actually (maybe not the cross-platform bits).
e12e 2 days ago 0 replies      
Might add that what I've seen of the internals of both Sqeak/Pharo Smalltalk and Racket would probably qualify as beautiful software.
xkarga00 3 days ago 0 replies      
All of the btcsuite code (btcd, btcwallet, ...)
agumonkey 2 days ago 0 replies      
maru lisp by ian piumarta : Maru is a symbolic expression evaluator that can compile its own implementation language.


dorfsmay 2 days ago 0 replies      
bottlepy is a one file web framework that just works in both python2 and python3.
myhf 2 days ago 0 replies      
djb servers are really beautiful. Built securely from the ground up, with very little attack surface area.


iamd3vil 2 days ago 0 replies      
Erlang Virtual Machine - It's an amazing piece of software
executesorder66 2 days ago 0 replies      
bspwm [0] + sxhkd [1]

 [0] https://github.com/baskerville/bspwm [1] https://github.com/baskerville/sxhkd

sam_lowry_ 3 days ago 0 replies      
Check for the Beautiful Code book. It has some examples in it.
hendekagon 3 days ago 0 replies      
If you mean applications, Adobe Illustrator

If you mean code, Smalltalk or LISP

dschiptsov 2 days ago 0 replies      


elkhourygeorges 2 days ago 0 replies      
Ruby on Rails. It's literally beautiful.
collyw 1 day ago 0 replies      
Anything written in Perl.
agumonkey 2 days ago 0 replies      
Let's make an OS out of that thread.
type0 2 days ago 0 replies      
based2 3 days ago 0 replies      
Kay's power tools
0xAC1DBA5E 2 days ago 1 reply      

shameless fanboy here

foota 2 days ago 1 reply      
I'm a big fan of SqlAlchemy for python.
motyar 2 days ago 0 replies      
fufefderddfr 3 days ago 2 replies      
It's funny to read what people think are beautiful apps here.

IMHO, the most beautiful software are always games and entertainment titles... After all that is the purpose.

Office 2013? It's very useful! I use a classic menu template and got rid of the ribbon, since the functionality is the same, but in my preferred format. Beauty does not come into play with office...

I can use it for creating beautiful PowerPoint and excel spreadsheets.

Code is never 'beautiful'. It's either concise, well-written and formatted well, or it isn't.

Ask HN: What advice would you give to a self-learn programmer just starting out?
9 points by s4chin  1 day ago   9 comments top 7
WalterSear 1 day ago 1 reply      
* Assuming you are a good coder, your biggest problem will be convincing others of that with neither work experience nor academic credentials. Smart employers won't care, and will ask you to do some small piece of take home work to establish your abilities. Shitty employers will ask you about bigO notation, and silently wonder how you ever tied your own shoe laces every morning without an Ivy League degree (often, I believe, because that's what they went to college to learn).

* Build stuff you can show people.

* Don't get caught up in formal learning systems such as courses, lectures and classes. They are incredibly useful, yes, and certainly you should use them, but many people cling to them because they are easier than actually teaching yourself to code, and provide sense of security and accomplishment. When I point out to people that they haven't been actually coding, I'll often be told, 'well, this is how I learn,' and then they go on to show me how little they did.

* Don't fetishize the libraries and tools you are learning now. You will throw away many toolsets in your life: get used to learning new things as a permanent part of your job. I had one coworker who came through a bootcamp, and he tried just about anything to get us to add jquery to our dependencies, because he'd spent so much effort on it and felt so comfortable with it. He was more comfortable adding the entire jquery module to our app than bothering looking up the argument structure of the already included helper method from lodash: not because he was lazy, but because he was scared of the trouble involve in learning something. Neither you nor he can afford that.

tjons 1 day ago 1 reply      
Get a mentor. Seriously. I taught myself some programming for about two years, but this last year, I connected with a good mentor and really grew with his help.

I now work for him. I guess it's networking in action.

staunch 16 hours ago 0 replies      
Read job descriptions for the companies you're interested in. Learn as much as you can about the technology and terminology they use.
kafkaesq 19 hours ago 0 replies      
"Stay calm and keep coding."

Just keep doing what you like doing. If what you like doing is coding (and you can keep your work organized, do back and fix things, pay down technical debt as it arises) then you'll have no problem churn out successful projects -- and attracting people and job offers to you on that basis.

mihvoi 1 day ago 0 replies      
It's hard to get a programming job without having practical experience. It might be easier to apply to a Testing/QA job and gradually transition to programming when opportunities arrives (test automation -> small tools -> small features -> bigger features...)
bjourne 22 hours ago 0 replies      
Never give up! I know it's cheesy but it is true. Just don't quit and you'll be successful.
gitcommit 9 hours ago 0 replies      
Practice interview questions.
Ask HN: Welp, I seem to fail at marketing: Looking for feedback on iOS app pitch
9 points by anon_app_guy  21 hours ago   6 comments top 4
zzzzzxxxxx 0 minutes ago 0 replies      
Try to do a great kickstarter campaign. You will ideally be able to get capital and traction. You can, and this is a bit dubious, give up 3% to a pr firm and tgey will make sure your kickstarter campaign is a success. They write articles and try to get you publicity.

This could be what you want. But think deeply about it

Gustomaximus 20 hours ago 1 reply      
> I know it's always a matter of luck

Think of luck in terms of a surface area. Sure it exists but you can increase or reduce the size of that surface area with what you do. Dont let the thought of 'its just luck' dis-empower you.

More generally, why do you expect reviews when you say there are many similar apps? Does anything of importance stands out in your app vs competitors? The reviewers get bombarded all the time. Have you focused on getting the user experience to the point people promote the app for you. I'd say this is the focus and once this is happening to some limited extent then push the marketing once you have traction.

Also there is always pay to play. You could advertise to boost user number to get more feedback on the product and gain traction if the UX is a promo-table one.

uptown 21 hours ago 1 reply      
Your only objective should be to get your app in front of as many people as possible. That includes us. What's the app? I'm sure you'll get some constructive criticism.
sardon 18 hours ago 0 replies      
One thing which I've done and which has worked somehow, is to give it away to artists out there.

Make a list of artists (musicians in your case) which you think would like your app. Do some serious research to some contact detail for them. You then write to them and offer them the app for free, through a coupon code. Ask them for feedback. Write casually, like the indie dev that you are.

If they like your app, it's likely they will talk about it, and generate some buzz, which hopefully some blogs / sites will pick on.

And be ambitious with the artist list, send it to top people !!

Ask HN: What books do you wish your manager would read?
46 points by a3n  6 hours ago   56 comments top 36
jbob2000 6 hours ago 5 replies      
It would be great if my manager read anything at all. Having been through a few managers; the good ones read, the bad ones don't read. It doesn't matter what they read, the last good one I had pretty much only read WW2 novels.

That being said, I think Zen and the Art of Motorcycle Maintenance is an important read for anyone in technology. It changed how I approach and appreciate technology.

bkirkby 5 hours ago 0 replies      
- Leaders Eat Last, Simon Sinek- Creativity Inc., Ed Catmull- Reinventing Organizations, Frederic Laloux- Joy at Work, Dennis W Bakke- Valve Employee Handbook, Valve Software

This list is heavily skewed toward self-organization because I work for a company (Zappos) that is currently transitioning to a self-organization model. I thought I'd answer the question about what books I wish my "manager" would read even though I don't have a manager because in a self-org environment, you do have leaders that emerge organically. The main difference between "manager" and "leader" is that managers influence their charges with coersion (even if subtle and unintentional) while a leaders ability to influence comes from the bottom-up and is more meritocratic based on perceived experience and ability by those being led.

Most companies hope to promote the leaders so their manager structure is reflective of the actual effective social leadership structure, but all companies get it wrong often.

jrochkind1 6 hours ago 0 replies      
I'll just be the first to mention The Mythical Man Month by Fred Brooks. https://en.wikipedia.org/wiki/The_Mythical_Man-Month
koja86 5 hours ago 0 replies      
In context of software development these books (and other works by same people) might be interesting. I have not read them all yet but have been recommended by a colleague. My perspective is defined by being a developer in circa 100 people company.

* The Mythical Man-Month by Fred Brooks https://en.wikipedia.org/wiki/The_Mythical_Man-Month

* Facts and fallacies of software engineering by Robert L. Glass https://en.wikipedia.org/wiki/Robert_L._Glass

* Lessons learned from 25 years of process improvement: The Rise and Fall of the NASA Software Engineering Laboratory https://www.cs.umd.edu/users/basili/publications/proceedings...

brnstz 5 hours ago 1 reply      
* Diagnostic and Statistical Manual of Mental Disorders (DSM-5) - https://en.wikipedia.org/wiki/DSM-5

Software engineering in particular attracts some extreme personalities. There are elements of narcissism, OCD, borderline, avoidance, etc. in every organization, even if it would not necessarily warrant a diagnosis. People have irrational motivations. This is often ignored in the rational business of software.

mbubb 6 hours ago 1 reply      
"The Phoenix Project" http://itrevolution.com/books/phoenix-project-devops-book/

is good for understanding Devops and constant refocus on business objectives.

darkhorn 39 minutes ago 0 replies      
If my manager read English (language book) I would'n try to explain why Git and unit tests are needed and how good it would be if we sell the app to foreign companies.

The second book would be Turkish. so that he wouldn.t wrte like ths in his Emails

jlhonora 6 hours ago 1 reply      
Peopleware has great insights for both managers and programmers. Recommended read for both.
maxaf 6 hours ago 0 replies      
But of course: https://en.wikipedia.org/wiki/How_to_Win_Friends_and_Influen...

If there's a single book I wish everyone had read - not just managers - it would be this. I'd market it as "manual for human beings". You learn how to deal with them, as well as how to be one.

gvk 5 hours ago 0 replies      
All the obligatory books and references have already been mentioned, so I'll refrain from repeating.

I'm a recent developer-turned-manager [close to two years now] and have always been a voracious reader.

Apart from specialist books of the profession, as an introvert I find that a healthy dose of fiction helps me in my day-to-day dealings with people at the workplace - especially those who report to me.


^^ As such, I'd recommend some well-written fiction. Try The Godfather - always thought it was the best "people management" book :-)

Fantasy [or novels with a touch of the fantastic] would also be good.

War books are also good. Try some interesting non-fiction - I'd recommend WW II books by Stephen Ambrose. All about teamwork and beats reading dry management books.

You should probably stay away from satire, lest your manager think you a d*ck ;)

Before you do any of this, you should probably find out if your manager is in the habit of reading.

And despite the best advice, what a reader gets from any book depends on what she brings to it...so don't be surprised if reading doesn't help your manager :D

cybette 5 hours ago 0 replies      
"Hooked: How to Build Habit-Forming Products" by Nir Eyal - I'm reading it myself. I think it's really useful for those doing product development/management and building user engagement.


roymurdock 5 hours ago 0 replies      
Older Stuff: The Bible/Quran, The Republic (Plato), The Social Contract (Rousseau), Tao Te Ching (Laozi), Brothers Karamazov (Dostoevsky), History of the Peloponnesian War (Thucydides)

Newer Stuff: Nine Stories (Salinger), The Razor's Edge (Maugham), Nausea (Sartre), Siddartha (Hesse), Road to Serfdom (Hayek), The Book (Watts), Design of Everyday Things (Norman), Atlas Shrugged (Rand), Invisible Man (Ellison), Debunking Economics (Keen), Blood Meridian (McCarthy), The Center Cannot Hold (Saks), This Time Is Different (Reinhart/Rogoff), Infinite Jest (Wallace), Calvin and Hobbes (Watterson)

All of these books are well written and have given me some perspective on interesting people/situations/ways of thinking.

jeremysmyth 6 hours ago 0 replies      

That page doesn't do it justice, sadly. This book just gets it about working in teams and larger organizations.

niHiggim 6 hours ago 0 replies      
Facts and Fallacies of Software Engineering (http://www.amazon.com/Facts-Fallacies-Software-Engineering-R...). It may be starting to get a little dated, so it's hard to say that all the referenced research is still applicable in the same way. But it's a good antidote to a common problem everywhere I've worked: the idea that our team is in some way special or unique in a way that implies reasonable standards of software engineering practice don't apply. It's almost always part of a rationalization cycle that justifies the way things have always been done or some kind of Taylorist management practice.
paulclinger 5 hours ago 0 replies      
The Goal: A Process of Ongoing Improvement by Eliyahu M. Goldratt. It's an old, but a good one.
Aij7eFae 2 hours ago 0 replies      
Basic math for dummies

I'm not great at math but I do at least know how to remove the tax from a number.

jazzyb 5 hours ago 0 replies      
I think it's important to think about the effect technology has on culture (both positive and negative). To that end, I would recommend _Technopoly_ by Neil Postman. (And optionally _Amusing Ourselves to Death_ by the same author -- it's more accessible but slightly less applicable to the software industry.)
DanBC 6 hours ago 0 replies      
I tried leaving Dilbert cartoons around. People don't recognise themselves, even though everyone else can see it clear as day.
dizzystar 6 hours ago 0 replies      
Making Things Happen;

Unfortunately, I read this book when it was too late for me, but definitely something to read if you ever get into management. The politics section itself is worth the price:


askyourmother 6 hours ago 0 replies      
The childrens book "Maisy makes gingerbread", it might help the aspiring manager understand that often there is a simple, well understood series of steps to follow, and if we do follow them, we deliver something of value.

If we choose to bog down the process, add unnecessary steps, or shortcut some steps, the end result is perhaps less rewarding.

lisivka 5 hours ago 0 replies      
Gemba Kaizen: A Commonsense Approach to a Continuous Improvement Strategyhttp://www.amazon.com/Gemba-Kaizen-Commonsense-Continuous-Im...
poseid 5 hours ago 0 replies      
A basic understanding of JavaScript technologies, as described in my book http://pipefishbook.com/
kill_dang 5 hours ago 1 reply      
Atlas Shrugged, but he's not the 'reading books' type of guy.

Atlas Shrugged's Taggart Transcontinental is the company I wish I could work for. I hate the nitpicking and bad attitude that I currently deal with. I took this job to write code and make money, why do I have to go to all these stupid meetings, read these stupid e-mails, use Slack, answer this stupid desk-phone etc?

'Going to work' is what is killing my work, and nothing I say or do seems to matter. I just want to actually get some work done, seemingly unlike the rest of this entire corp.

Give me my keyboard, my editor, and my coffee. That's all I need and I'll write up what I did at the end of the day, talk to me then.

alimnemonic 3 hours ago 0 replies      
Drive by Daniel Pink, looks at what motivates people in general. Explains why a guy that codes all day goes home to work on open source project...
staggler 6 hours ago 0 replies      

Phenomenal modern look into the practice of alternative analysis

Fede_V 6 hours ago 0 replies      
cphuntington97 6 hours ago 1 reply      
anything by W. Edwards Deming
minikites 6 hours ago 0 replies      
Not a book, but a particular podcast episode: http://5by5.tv/b2w/17. Skip to 1:05:00 (an hour and 5 minutes in) and listen for 2-3 minutes.

You'll hear something many managers need to hear about the difference between a "priority" and just something you need to do and the resources you need to be putting behind something to really show that it's a priority (owner, budget, deadline).

serpix 5 hours ago 1 reply      
By definition if you know what your manager should be doing you're in the wrong position.
SixSigma 6 hours ago 1 reply      
Everyone Needs a Mentor - David Clutterbuck [1]

Flat Army - Dan Pontefract [2]

[1] http://www.amazon.com/Everyone-Needs-Mentor-David-Clutterbuc...

[2] http://www.danpontefract.com/the-book/

xchaotic 5 hours ago 0 replies      
pearjuice 6 hours ago 0 replies      
Harry Potter and the Chamber of Secrets
Ask HN: What software do you use that you wish it had a pretty web dashboard?
14 points by borplk  1 day ago   9 comments top 7
Coxa 1 day ago 1 reply      
I have been working in such a thing for a openvpn server. (https://github.com/AuspeXeu/openvpn-status) but it's fast from feature complete. one could think of actually storing a history, adding capabilities to generate client configurations over the web interface etc.
aaroninsf 1 day ago 1 reply      

Disclosure: I haven't looked since I last built something using Kafka six months ago, but doing a small-scale project I found it limiting that there was no straightforward, UI-style view into the state of my various servers, topics, etc.

pc86 1 day ago 0 replies      
Nothing that I use day-to-day comes to mind for your desired use case, however I did want to say I think this is a great idea, and provided you don't run into licensing or other legal issues, on the surface at least it has the possibility to result in some revenue for you.
moehm 1 day ago 0 replies      
I thought about one for systemd. I guess it would look similar to monit though.Rsyslog would be interesting too, but it already has loganalyzer.
J_Darnley 8 hours ago 0 replies      
Transmission. https://www.transmissionbt.com/

It already has a web interface but there are a few things I would like to add/change. But now I see that it isn't what you're looking for.

mesozoic 1 day ago 0 replies      
Docker containers
pizza 1 day ago 0 replies      
Ask HN: What languages are going to compile to webassembly early
6 points by Illniyar  1 day ago   1 comment top
stray 23 hours ago 0 replies      
I can't say how early because I don't fully understand it just yet, but I'm planning a backend for SICL.

So hopefully, Common Lisp.

Ask HN: What's the next AI milestone?
11 points by tangled_zans  1 day ago   7 comments top 4
kmnc 22 hours ago 0 replies      
Starcraft is a cool next step yet it kind of seems unfair in a way since the AI has distinct advantages in certain areas (namely, precision). A pro can play at close to 300APM but are those actions always 100% precise when moving the camera/etc? It seems like unless you level the playing field in this regard it may be hard to take a lot of value from the AI winning since it may develop strategies that rely heavily on its advantages in those areas. Maybe that is completely fine though, or doesn't actually matter if strategic decisions trump precision.

No Limit Poker is a pretty interesting problem, especially when it comes to reinforcement learning...can an AI learn to adapt to different play styles?

Both of these games raise an interesting question as it relates to how exploitable a reinforcement learning AI will be in games where high risk decisions have major impacts and there isn't perfect information. Will the AI learn to have a more overall conservative approach to guard against these plays or will it itself exploit them.

dmitrifedorov 23 hours ago 0 replies      
AI that could blame the other AI for its own errors
adenadel 23 hours ago 0 replies      
As far as Deepmind is concerned (obviously not the same as the next milestone for the field of AI) the next milestone will be playing Starcraft at a world class level [0].

0. https://twitter.com/deeplearning4j/status/706541229543071745

Nicholas_C 23 hours ago 1 reply      
Perhaps fully self-driving cars.
Ask HN: What's your primary development laptop?
55 points by pandeiro  4 days ago   126 comments top 77
codecurve 4 days ago 0 replies      
I've been backpacking around Asia working with an Acer C720 Chromebook. 2GB RAM, 32GB SSD, 11.6" display. It took a few days to get used to the smaller screen and keyboard, but since then it's been fantastic. Cost about 120 refurbished from eBay.

Battery lasts for 5-6 hours. The laptop itself has survived intense use travelling through India, Sri Lanka, Thailand and Cambodia, including having the corner of the screen melted by accident in the Himalayas.

Haven't found anything lightweight that works better than Lubuntu out of the box (trialed Xubuntu, Ubuntu, Debian, ElementaryOS and some Arch flavours). Getting a dual boot up and running was easy.

My work is mainly fullstack, so I sit mostly between a terminal and a browser. An effective configuration with a tiling window manager is a must with this size of screen and being a TMUX/Vim user helps cut down the number of workspaces I need.

Couldn't recommend it more for travelling programmers!

snehesht 3 hours ago 0 replies      
Thinkpad T440s ( Archlinux + KDE )

I got this with 8GB ram and 500GB hdd, I can work on it for 5-6 hrs before the battery runs out but the charger is very light. This thinkpad weighs around 1.2 KG's and it's easy to carry and the keyboard feels great when typing.

If I have to buy a new laptop I would try Lenovo X1 Carbon (the 2016 one, with skylake processor )

EDIT: I got this on ebay for $380 with 2 years onsite warranty, so keep an eye on ebay listings.

ag_47 4 days ago 2 replies      
Macbook Pro.

Pros: "it just works" (mostly, nowdays, :)), it seldom overheats/has the fan turn on, it makes a good impression (read: 'dress for success'), I like the screen size, its got enough RAM for me to run a couple VMs, Unix/terminal power.

Cons: Price. Accessories.

pritambaral 4 days ago 3 replies      
ThinkPad X250, maxed-out battery pack.

I adore this laptop, it runs like a constant stream of freshly melted butter. It's so light I no longer have to worry about "lugging a laptop", and most times I pick it up and carry around with just two fingers. It has taken a few beatings filled backpack falling laptop-side-first onto a railing from a height of a half-metre, dropped/slipped from a sitting desk to the floor, thrown across a (small) room and (upon a failed catch) rolling on its side but there's no sign of damage, either in appearance or running.

I almost forgot! When I got this laptop, my typing speed jumped by nearly 50%! I was using a Dell Inspiron (from 2010) before, and although the keyboard on it is terrible for typing, the ThinkPad has really good keys and typing is just such pleasure on it.

I have plans to upgrade a few components as time progresses: bump RAM up to 16GB, replace either the smartcard reader or the WWAN modem with an M2 SSD, that's about it.

One con is getting used to the extra long battery life. I used to intentionally and lazily not pack the charger, which is actually quite light, and then after a long day find myself with low battery and no charger. Another is the small SSD this particular unit came with, but I'm planning on replacing that.

jws 4 days ago 0 replies      
Acer Cloudbook 14" 2G ram, 32G eSSD. N3050 dual core Braswell. $189 at Walmart. (Careful: it is the bait and switch model. Do not believe the "in stock" indication on the web site. I went to pick one up at four different stores and none actually had them when I arrived. I finally got lucky with my second attempt at their "deliver to store today" option.)

It was a rough Linux install, ( noapic edd=off use a new kernel, Debian has the iwlwifi drivers in nonfree, don't use uefi, touchpad in legacy mode. I used both "grub>" and "grub-rescue>" before it was working) but it does just fine for OS development.

The display has such a narrow acceptable angle of view that you can't angle it to get the center and the top and bottom all with a decent black point at the same time. But I use it for programming, so that isn't too important.

I'm really pleased with the eSSD storage. It is much nicer than USB or SD card and supports ext4's discard option.

The power connector is optimized to fracture the solder connections.

This is my "where is cheap hardware" excursion. I tried repurposing a Chromebook into a computer, which was great until it failed to sleep, ran down its battery, and lost the setting that let it "legacy boot" then ate all my data in the restore operation. On the road, away from Internet and any synchronizing. Grr.

Most of my work is at a proper desktop with as many displays around as are helpful for the task, and I generally use a MacBook as my laptop, but I needed to rotate the extended family laptops a little faster than I wanted, so my wife was sharing mine, but she doesn't share well and I found myself with a laptop deficit until Intel can get a Skylake processor into Apple's hands and then they feel like having a rollout.

Cartwright2 3 days ago 1 reply      
How are people able to develop on chromebook-like devices with 2GB RAM? I'm seeing a lot of such devices in this thread and don't understand it. Once I spin up a couple of database servers, a few Visual Studio solutions for the various products I work on, and a handful of testing tools I'm easily pushing 12GB ram or more.

Are these low-end machines being used as hobbyist or frontend-only web development? I can't think of any other explanation.

To answer the original question: Thinkpad X220. i7. Maxed out RAM. It's no portable workstation but I can push it just as hard without worrying about it overheating or failing.

gpderetta 3 days ago 0 replies      
8 year old Thinkpad x200, Core2 2.4Gz. Bought second hand ~4 years ago, upgraded the RAM to 8GB, got a new 9 cell battery (still enough for ~7 hours of work). Got an SSD as gift. Currently running Debian unstable flawlessly.

For work I really use whatever workstation my employer provides me, but this is my main machine at home for entertainment and personal projects; I hardly power on my more poweful desktop.

Definitely the best machine I ever had: very light, still runs cool and completely silent when on battery power. It is not a speed monster, but it is still fast enough to browse even most complex websites (no webgl though). The screen is notoriously bad, but is more than enough for my needs.

I dropped it about 6 months ago, and it stopped working. After considering buying a replacement (you can get a refurbished x200 for ~100) I thought maybe it was time to buy a new machine, and was eyeing a new XPS 13. Then that evening it powered on again (probably a loose RAM). Never had a problem since

mipmap04 3 days ago 0 replies      
Maxed surface pro 3 with Windows 10 (.net developer)


- Form factor is great for travelers. Since it's technically a tablet by TSA guidelines I don't have to take it out at security.

- screen resolution is excellent

- handles VS reasonably well

- battery life can be 5-6 hours with a local instance of tomcat and SQL running


- expensive

- kickstand is kinda clumsy when I'm working in my lap

- high gloss screen

- loooong wake up time and it's easy to accidentally put it to sleep by hitting a button the side of the frame. This is my biggest complaint. It sometimes takes up to 10-15 seconds to come back up. This wouldn't be an issue but it is way too easy to accidentally put it to sleep. I've thought about disabling this button, it's enough of an annoyance.

de_dave 4 days ago 0 replies      
Dell XPS 13 (2013) - i7, 8GB, 256GB running Fedora. It's been fantastic. The runtime recently went off a cliff to 2-3 hours though so I bought and fitted a new battery - it took all of 5 minutes and it now lasts 6-7 hours on a single charge again.

Cost ~750 from Dell's refurb store and can easily see it lasting anther 3 years. Bargain!

Nuratu 11 hours ago 0 replies      
It's interesting to see other devs choices.

Unfortunately I chose a Lenovo X1 Carbon - I personally think this was a mistake - despite its build quality it is not very performant.

mdasher 4 days ago 0 replies      
I use a 13" Retina MBP for work. But I recently got a Surface Pro 4 for personal project and I'm falling more in love with it every day. Being able to pull the keyboard off the laptop, flip it vertical, and read on the couch is a big plus.
jdanylko 2 days ago 0 replies      
For the last 15 years, I have always gone with a Dell laptop for my dev needs.

However, I had an incident where I needed a quick laptop and decided to buy a Lenovo Yoga 900.

Now, two months into using it, I am actually surprised with my decision and it's working fantastic. I'm glad I bought it.

I even wrote up a review about the laptop (http://www.danylkoweb.com/Blog/review-lenovo-yoga-900-13isk-...)

aaronbasssett 4 days ago 1 reply      
Macbook Pro Retina 13-inch Mid 2014 - 2.6GHz i5 - 8GB DDR3 - 250GB SSD

This is my 3rd Macbook. I had a 2009 MBP, a 2012 MBP and now the mid 2014 retina. They're by far the best laptops I've ever owned. My only regret with my current laptop is I didn't max out the RAM when I bought it alongside the SSD.

When I'm at my desk it's plugged into a LG 34UM67 34'' 21:9 ultraWide monitor and I use a magic keyboard and magic trackpad 2.

RaitoBezarius 2 days ago 0 replies      
ThinkPad X230 -- maxed to 16 GB RAM, 256 GB SSD.Linux compat: top-notch with Arch Linux (everything is so detailed!). WWAN card is actively used. VGA + DisplayPort on the dock with two screens 27" (I just activate_work_screens in my term to xrandr them).

I love how ThinkPad can enable the workflow of working anywhere and when returning home, just dock it and the charger is already plugged in the dock so that you don't have to struggle with any cable when you're tired, it works out of the box.

I do essentially full stack work but sometimes I do drastically different stuff (security, pentesting, low-level optimization, science, etc...)

My next laptop would still be a Lenovo for sure. But I definitely look forward to Dell XPS capabilities.

Anecdote: A day, my ThinkPad X230 had better 3G coverage than my XIAOMI RedMi Note 3 phone. I mean, I had Internet on my computer, but not on my phone. That was funny.

cpburns2009 1 day ago 0 replies      
Sager NP7155: 15.6" matte, 2.6 GHz i7, GTX 960M, 16 GB RAM, 256 GB SSD, 1 TB HDD, full-width lit keyboard, dual booting with Arch Linux and Windows.

Pros: It's a great machine compatible with Linux. The price isn't too bad.

Cons: The battery is screwed in so it's not easily swappable. The 1920x1080 display is inferior to the 1920x1200 display on my 8 year-old Dell XPS M1530.

partisan 4 days ago 1 reply      
MacBook Pro Retina, 15-inch, Late 2013. 2.3 GHz i7, 16GB, 512GB running OS X Mavericks (10.9.5).

I almost nothing bad to say about this machine, in fact I love it. I run Windows and Linux VMs through VMWare Fusion for work and for personal development. It's nice having one machine to handle all of these tasks.

The one downside is that the battery life can be pretty low depending on what I have running on my Windows VM so I find myself taking my charger with me everywhere nowadays.

Edit: I purchased it refurbished and saved about $400. No issues whatsoever. It was indistinguishable from New save for the packaging which was just a plain white box shipped from Apple. I have AppleCare and have extended it beyond the initial 1 year warranty that came with the machine.

s_q_b 4 days ago 0 replies      
MacBook Air. Top of the line in mid-2012. But anything remotely computationally intensive is either on my beast work laptop MacBook Pro or in a cloud-based cluster.

It's pretty badass to type one shell script name that spins you up an supercomputer for a couple of hours.

wslh 4 days ago 1 reply      
I have a 4 year old Lenovo X220 with an i7, 16gb and 1/2 tb ssd with Windows 10. I chose it for the portability factor and performance. At work I have a dock station with two monitors and external s keyboard and a mouse. I haven't found significant alternatives for improvement until last year new Dell XPS and Microsoft Surface Book. Indeed I am waiting Microsoft fixing of some critical issues in their Surface Book before making a decision.

The main issues I found with the X220 were:

- Heat and CPU Throttling with two 1080p monitors that can make it unusable

- Relatively high CPU usage by bad designed drivers and Lenovo applications (e.g: Synaptics)

- Completely terrible support for Bluetooth and USB 3 (e.g: Bluetooth headset unusable)

lighttower 3 days ago 0 replies      
Thinkpad X230. 8GB RAM, 480GB SSD. Debian Testing.

Con:Crappy screen. Touchpad isn't great but usablelenovo is hard to trust

Pro:keyboardtrackpointbattery control with TLP utilities. connectivity, VGA, full size Ethernet etc. (try giving a presentation with circa 2003 projectors)

I got about $2000 stipend for a machine and looking for something to buy. the X260 was my goto but it's botched. no USB-C for example. 12.5 is a tad small, 13" would be better. 16:10 or had 4:3 would be awesome but not available. looked at XPS friends who have it hate the Touchpad under Linux.

dandersh 3 days ago 0 replies      
13" Late 2013 Retina MacBook Pro. 2.4 GHZ,i5,8GB.

Haven't had any major (or even minor) issues. I've enjoyed using the trackpad (and learning about it, sometimes by accident!) and the backlit keyboard is nice when I would use it outside in the evening. Light and very portable, far more comfortable on my lap than my previous machines. Only real complaint is the lack of a cd/dvd drive.

AkBKukU 4 days ago 0 replies      
2013 MSI GE70 Apache Pro 12 17.3in,i7-4700HQ 2.4GHz,16GB RAM(Upgraded),2x1TB RAID0 SDDs(Upgraded)+2TB HDD(Upgraded), GTX 860M, Ubuntu 14.04 & Windows 10.

I do a lot with this computer, software development, PCB design, photo processing, CAD, and gaming(only reason for Windows). It's not out of the question that I would be running a full server VM, debugging a micro controller, and doing live data analysis at the same time. So I've come to appreciate power.

Even though this is quite a machine, I have performance issues in some applications. A lot of it boils down to the INSANE way that dedicated GPUs are handled today. Nvidia prime is the worst thing on my system. I like to describe it like this, using the Intel GPU is like driving a Mazda Miata, it feels fast and nimble but give it a load and it will just crawl. Switching prime to the Nvidia card is like driving a semi truck, it's not great at the little things but it can plow it's way through really intense stuff. DraftSight runs horribly on the Intel GPU but excellently on the Nvidia. But the window composition with the Nvidia card it terrible, lack of repainting the screen, vsync issues, and general slowness. It's very frustrating. My next laptop purchase will have to be something like a desktop GTX 980 in a laptop so I can avoid prime at all costs.

This may be resolved in a newer release of Ubuntu. I am version locked right now thanks to TI's 32bit Eclipse based IDE Code Composer Studio being a dependency nightmare on newer versions of Ubuntu. I'll find out later this year when they finally release a native 64bit version.

9mit3t2m9h9a 3 days ago 0 replies      
Asus Zenbook UX32LN (with a GNU/Linux system based on NixPkgs), RAM upgraded to 12GiB from 8 GiB just in case

Pros: works nicely with Linux whatever kernel build is used, UEFI is optional and it can be manually configured without hassle acceptable battery life under light load (~5 hours) but dual-core i7 can perform reasonably well if the power draw is not a concern, a nice FullHD screen with fine brightness adjustment (I prefer my screen to have the same brightness as a sheet of paper next to it this is darker than many screens' minimal settings)

Cons: after third time warranty-replacing HDD I gave up and bought a similar one from a different manufacturer slightly too small at 13.3 inch a larger screen plus larger battery plus larger keyboard would be nice

I recently put it on the edge of a bed in a wrong way and it fell onto a plugged USB extension cable the cable apparently suffered more than the notebook, which is nice.

tmaly 1 day ago 0 replies      
MacBook Pro. The battery life and power management are solid. I use iTerm2 and homebrew. I can run almost everything I run on my linux vps.

Plus there is support for Adobe software and MS Products if you need to run those.

cagey 3 days ago 0 replies      
"new" in Nov '15:

Dell Inspiron 15 i5558-5718slv; i5-4xxx, 8GB RAM, 1TB HDDWindows 10: Nuwen MinGW, IntelliJ for C++, Java development respectivelyVirtualBox VM's: Ubuntu 15.10, CentOS 7

Pros: cost: $400; 1080p IPS screen; backlit keyboard!; reasonable battery life (4-5 hours?)

Cons: Windows 10 (I prefer Windows 8.1 (my last laptop)); slow HDD (planning to upgrade to SSD soon); fan is not silent

I know there's a strong case to be made for spending more $$$ on a better laptop since "[I] use it all the time" and I can easily afford it, but "parsimonious me" objects spending 2x-4x my $400 baseline price for a laptop that might perform 1.4x better.

This laptop replaced a 3 year old $400 Toshiba i3-3110 laptop with 8GB RAM; according to my benchmark (a clean parallel build of one of my C++ projects) the new is only 6% faster than the old. I think my upcoming SSD install will make a big difference.

And: I'm among the apparent minority of programmers who prefers and requires a keyboard with numeric (for me: cursor) keypad. This requirement "narrows the field" of candidate-laptops substantially.

jotux 3 days ago 1 reply      
Four years ago I replaced my desktop and laptop with a maxed-out Thinkpad W series(W520). I7, 16GB RAM, 512GB SSD, and nvidia quadro graphics card. I keep it docked 99% of the time but I can throw it in a bag and take it with when the need arises. Still working great today.
kenOfYugen 4 days ago 1 reply      
MacBook Pro 13", Early 2011, 2.3 GHz i5, 4 GB, 120 GB Samsung SSD + 320 GB stock Hitachi HDD, OS X El Capitan
shmel 4 days ago 0 replies      
ThinkPad X1 Carbon Gen2. i7, 8Gb RAM, 256Gb SSD. ArchLinux. In general I am happy with it.

Pros: lightweight, solid and extremely fast. Battery is good enough for me.

Cons: LTE module is abysmal. People say it is awful even on windows, let alone linux. Keyboard is non-standard, but I got used to it (expect for functional keys).

rurban 3 days ago 0 replies      
Macbook Air - having my fifth now, also a Linux Asus Zenbook, but this was horrible. First of all darwin catches much more memory errors than Linux. The UI and WiFi and powermgmt is superior. My i7 is even faster than on my big desktop machine for numeric or hashing tests. It's light and beautiful. No need to worry about systemd or gnome 3 quirks.

Downsides: we have found nasty clang and gcc bugs on darwin only lately. Having to use dsymutil sucks, but if you use it it works as on Linux. ranlib sucks. A bit more integration needed, as on windows with similar gyrations.

matthieugrieger 4 days ago 0 replies      
Personally I use an Asus Zenbook UX305FA.

Positives:* Great 1080p screen* Great form factor* No apparent incompatibilities with Linux* Keyboard is fairly good* Fast despite its fairly low-power CPU* SSD* Battery life

Negatives:* Track pad isn't great* UEFI* Some small dents appeared on the body of the laptop after only a few months (never dropped it or anything)* A small bright spot has appeared on the bottom of the screen

Although I have a few negatives listed I believe the positives far outweigh them. I have really enjoyed using this laptop for development.

As far as development goes, I have a dual-boot of Arch Linux and Windows 10. I primarily do Go and Python in Arch, and C/C++ in Windows.

I apologize in advance if the formatting of this post is messed up. First time posting on here. :)

awinter-py 4 days ago 0 replies      
Surface pro 3 running ubuntu 15.

* Power management and wifi are usable if you can live with needing a couple of tries to unlock and having to 'connect to hidden' to get wifi working. Battery life seems to be the same awake and asleep (not in a good way).

* Keyboard is 10% too small for adult hands.

* touchpad is constantly moving cursor while I type

* touchscreen support spotty, no touchpad scrolling

* typecover keyboard is unusable without a perfectly flat table (i.e. tough luck on trains, airplanes, your lap, or uneven tables)

* high-glare coating on the glass screen was a design mistake by MS, but on the bright side I can see people coming up from behind me. A normal solution to glare is to tilt the inwards of vertical, but the kickstand makes that impossible.

daigoba66 4 days ago 0 replies      
In the past I've used Dell Latitude E54xx. It's essentially the same as a Latitude T series (size, specs, and price). And fairly equalivant to a 13" MacBook Pro.

I loved that machine.

Now at work I'm stuck with a Latitude W series. While certainly powerful, it barely qualifies as portable. I hate it.

I'm considering getting a 13" MacBook Pro, for myself, whenever they announce an upgraded model this year.

I wrote a bit about it here: http://josephdaigle.me/2015/12/03/search-for-ultimate-dev-la...

qwertyuiop924 4 days ago 2 replies      
Chromebook, not pixel, and not by choice. As a highschooler, I don't have much of a disposable budget, and I have a decent tower, so not really much in the way of laptop budget. My school provides Chromebooks to all students, and they have SSH, which is almost enough to satisfy me. The things are cheap, but that's really the only advantage. Any developer can tell you that development over SSH is uncomfortable at best, even if the system on the other end has a fully-configured emacs or vi setup. It's just too damn slow.
fbomb 4 days ago 0 replies      
MacBook Pro, mid-2009, 17" 8GB. Original 100GB SSD + 120GB SSD in slot on the side. Replaced the battery a few months ago. Still runs great. I think the DVD drive died from lack of use (and dust).
wingerlang 1 day ago 0 replies      
Macbook late 2008 with 8gb RAM. Battery is completely dead, maybe 10 minutes. Works well for what I do, iOS development. Just need some patience.
zhte415 3 days ago 0 replies      
IdeaPad, 2GB, 500GB.

Ready to give up on it around 2 years ago, just seeming slower and slower, I installed a very minimal OS (Ubuntu, but the 40MB USB installer) then added Gnome 3. Great decision. The machine is now very pleasurable, far more than my work PC. I do most development remotely.

Low end Lenovos tend to have quite poor batteries, compared to higher end ThankPads or Macbooks. They seem good at the beginning, but degrade after just a few months.

jenkstom 4 days ago 0 replies      
I went through several gyrations including a monster 17 inch i7 laptop, several thin and light chromebooks. The chromebooks were very nice, with crouton I was able to run jetbrains IDEs and that was 80% of what I needed.

But the portabiliy and usability of the Dell XPS13 is hard to beat. It took me a long time to get the money together for it and the only thing I regret is maybe not waiting a couple of months for Skylake. But I have no speed issues, even with just 4gb RAM. It's faster than my desktop at home.

wje 4 days ago 0 replies      
Thinkpad T430: i5-3320M @ 2.60GHz, 8GB RAM, 256GB Samsung SSD + some nondescript 32GB mSATA SSD I picked up from work. I'm usually running Debian Unstable, but I distro hop pretty regularly. It "just works" for whatever I feel like doing at any given time. I even spent a while running 9front (with working wifi!) as my daily driver OS. I'm not a huge fan of the chiclet keys, but I've a Model M for use at my desk, and I can deal with them while I'm on the go.
bliti 4 days ago 0 replies      
Past: Lenovo R61eWorked beautifully and it still runs perfectly with Ubuntu. Its about 10 years old now.Only downside was the display which had their anti-glare thing and it was a bit dull.

Current: MBP 2012Works fine. Upgraded to SSD and 16GB ram.DVD player stoppped working.Trackpad needs adjustment and/or replacement.I run OSX and virtualize everything else.Would buy a MBP as next machine if I can upgrade (none of that soldered on parts).

groovy2shoes 4 days ago 0 replies      
I have a Lenovo Ideapad Y410P running Slackware-current. It's intended to be a gaming laptop, but I don't game on it. I mostly bought it because I figured if it were good enough to run today's games, then it ought to be good enough to run a couple VMs, and I was right. It's not perfect (the screen resolution is a little lower than I'd like, and the trackpad kinda sucks), but overall I've been happy with it.
rjcrystal 3 days ago 0 replies      
I use a lenovo z500 3rd gen core i5 6 gigs of RAM and 250 gb samsung 850 evo ssd with Windows 7 and Linux mint. It's ssd runs like a charm. You gotta love the stability and simplicity of Windows 7 plus I experiment with stuffs on linux mint which is really awesome with mate as desktop environment and compiz window manager (you can do a lot of awesome window tweaks with it).
fweespee_ch 4 days ago 0 replies      
Asus Zenbook with Ubuntu on it.


Pros: Cheap, Effective, runs Linux without an issue [ I'm a fan of full disk encryption ], and reliable

Cons: Keyboard is a little small, Trackpad is slightly more annoying than others I've used

beachstartup 3 days ago 0 replies      
13" macbook pro retina 2013 for daily use and remote work i.e. business travel

old 13" macbook air 2012 for weekend trips (this was my primary until it got a little too sluggish for daily use)

the air is still much easier to travel with which is why i take it when i don't need full horsepower on the road. the small difference in weight makes a huge difference when lugging it around. both are ssd.

wprapido 2 days ago 0 replies      
hey, you guys using cheap chromebooks for linux. why do you bother with hacking your chromebook to use linux, while you can buy an old core2duo (or even an i3/i5) fully featured used laptop for about the same amount, often even less? i mean, these machines run linux as is, without any major issues, you can max up RAM to 8GB (4GB being the norm), install huge SSD or proper 1TB HDD. build quality is often better than of a chromebook. so is the keyboard. there are decent HP/lenovo/dell/apple high end 5 to 10 year old machines for anywhere between 100 and 250 USD which beat any lowend chromebook
imakesnowflakes 4 days ago 0 replies      
Macbook Pro 13 inch - Mid 2012 - Upgraded to 16Gb ram and 256Gb Samsung SSD. It cost me 70000 INR (Approx 1000 USD).

Absolutely love everything about it. The charger, the backlit keyboard, the El-Capitan OS, everything. Everything about this machine is beautiful.

I think it is the best value for money if you are looking for a laptop.

The only thing I miss is my mechanical keyboard. But the trackpad makes up for it, to an extent..

heromat 4 days ago 2 replies      
Dell XPS 13 Developer Edition (2015). Had to replace the Broadcom WIFI with an Intel one. Works perfectly well with Ubuntu 15.10.
Zelmor 3 days ago 0 replies      
Does anybody have a recommendation for a modern equivalent of the x220 thinkpad? The most important factors would be a high res 12 inch display, long battery hours and a non-chiclet keyboard. I used an x230 and that keyboard design is really not for me.
strait 4 days ago 2 replies      
I'm still on the same Sony Vaio that I got 13 years ago. I bought the best I could afford back then (more than 2K USD) and it has held up nicely. Fell in love with the keypad. The screen is 4:3, which is nice. Had to replace the HD and battery and add another stick of RAM along the way.
therobot24 4 days ago 0 replies      
Thinkpad T Series - but i'm probably going to get a Surface Pro/Book as my T410 is beginning to show it's age. Before this I had a T61 and assumed I'd be a thinkpad fanboy for a long time. Unfortunately I don't trust Lenovo enough to continue purchasing their products.
chrisbennet 3 days ago 0 replies      
2015? MacBook Pro retina, a also had another 2007 MB pro before that. I run Windows on it.

Pros:It runs 2 big monitors, 3 if you count the laptop screen.

More dependable in my experience than Think Pads.

I can get another one in a day if this one breaks or gets stolen.

Has NVidia GPU for running Cuda.

trentmb 4 days ago 1 reply      
RCA Pro10 Edition II tablet/keyboard combo, with DroidEdit.


Until I can afford a new laptop.

andretti1977 4 days ago 0 replies      
MacBook Pro (Retina, 15-inch, Mid 2015) 16Gb, 500 SSD

Simply it gives the expected performance, always.

In the past i had HP notebooks, they were good but not excellent.Mbp costs more that it should compared to other notebooks, but i think it's one of the best machine out there.

ld00d 4 days ago 0 replies      
Mid 2014 rMBP. 8GB RAM. It's super quiet, has an awesome trackpad, keys feel a little short-travel, battery does pretty well, the screen makes text so much easier to read, and the only time the fans are audible is when I'm playing games.
pandeiro 4 days ago 2 replies      
I'm surprised no one has mentioned the Chromebook Pixel. It seems like a pretty ideal machine for anyone whose primary development OS would be Linux.

Is there really nobody that went for the 16GB RAM version who can speak about the experience?

tkinom 4 days ago 0 replies      
I am looking for something that can connect to 40-50 inch 4k TV as monitor via HDMI 2.0. I can't get any solid info if any laptop has a true HDMI 2.0 port that works well in this setup.

Can anyone suggest a good laptop / setup for this?

atmosx 2 days ago 0 replies      
MBA 4GB 2011, good for programming (Rails, Ruby/Python) but not good for DevOps (VMs/Docker/Vagrant) playground.
super-serial 3 days ago 0 replies      
HP Pavillion 17.3 inch, 8GB RAM. Got it a year and half ago for about $350.

I like it. I'm a back-end web developer(php, node.js, python) that likes using Windows. Everyone else at work is on Macs.

drakmail 4 days ago 0 replies      
MacBook Pro (Retina, Mid 2012), 15-inch, 2,3 GHz i7, 8Gb, 250Gb, OS X El Captain 10.11.2

Love almost anything about it. Have about 6 hours of work without charging, it's lightweight and very comfortable for me.

ottonomy 4 days ago 0 replies      
MacBook Pro (Retina, 15-inch, Mid 2015)

Got a work machine to upgrade from my 2011 13" MacBook Pro, and the extra screen space really helps with multitasking, but it sure is a lot heavier than the 13".

Happpy 4 days ago 0 replies      
Thinkpad T540p, 120gb ssd, 16gb ram, 2880x1620, extended battery Replaced touchpad with newest version. (disabled touchpad, only using trackpad) Fedora 23

Next one will be Thinkpad P... (in a few years)

waterlesscloud 3 days ago 0 replies      
A 10 year old Toshiba running Windows Vista. It runs everything I need it to run, and I have mac and linux desktop machines, so I feel no need to buy a new one.
dman 4 days ago 0 replies      
Thinkpad t series (t440). Built like a tank, ~12 hour battery life, great keyboard, every thing just works under linux, silent, bottom does not get warm.
TobLoef 4 days ago 0 replies      
An Acer Chromebook 13. It's really easy to run Linux on it, which is all iup personally need. It's light, cheap and has great battery life.
vermooten 4 days ago 0 replies      
Home: Macbook Pro 15" late 2011Work: Dell M4800 with Windows 7. They're threatening to upgrade us to Windows 10 :(
captn3m0 4 days ago 1 reply      
System76 Galago Ultra Pro. 8GB. 2 years now.
xcloud 3 days ago 0 replies      
ASUS Zenbook UX301LA - 13.3" IPS Touch, Core i5, 8GB RAM, 2x 128GB SSD in RAID 0
ddorian43 4 days ago 0 replies      
HP ProBook 6470b. Upgraded to 8GB (should've upped to 16) and will add ssd soon. Very good for the price.
CodingGuy 4 days ago 0 replies      
HP Elitebook 8460p: i5 2.5 GHz, 16GB ram, 512GB ssd - bought refurbished for 500$ - best deal ever.
peternicky 1 day ago 0 replies      
T460, just got it and love it.
edoceo 3 days ago 0 replies      
Lenovo Y480, 128SSD, 4GiB, Gentoo. Reliable, fast-ish, plays nice with multi-display
vojant 4 days ago 0 replies      
MacBook Pro 13 (2012 - 8gb of ram, ssd) but I replaced OSX with Ubuntu.
Nihilartikel 4 days ago 0 replies      
MSI GS60 w/ 16G ram, 256Gb Raid-0 SSD, 1TB disk & Ubuntu
madlynormal 4 days ago 1 reply      
Macbook Pro 15" - 2.6 GHz i7, 16 GB Ram, 500GB SSD
clishem 4 days ago 0 replies      
MacBook Pro 2008 with Manjaro Linux.
kasperset 4 days ago 0 replies      
Dell Precision mobile workstation.
TheArcane 2 days ago 0 replies      
Lenovo y50
lowry 4 days ago 0 replies      
Dell 7440
Ask HN: Best/worst way to onboard new employees?
6 points by ajuhasz  1 day ago   19 comments top 12
cweiss 7 minutes ago 0 replies      
Something my team started recently that we rather like is to put together a Kanban-style board (Trello would be perfect for this - we used Taiga as the tool had to be in-house) with cards like "How do I do build X?" and "How do I troubleshoot Y" that have links to our Wiki pages that cover the relevant topics.

New team members go through the board moving cards from "New" to "Done" as they research/answer the questions. In theory, once they're done, they should know all the major information needed to do their jobs. This is a win in both directions as it also forces us to write high-quality documentation. If the person gets stuck, they generally have a good idea who to bug (the most recent author of the page) for clarification.

For a first employee in that particular space, it would be a valuable exercise for them to start building that deck and the associated documentation. It might make the "time to first code contribution" take a little longer, but should pay dividends in reducing mistakes.

osullivj 1 day ago 0 replies      
1. Start by personally introducing the new hire to all team members. This helps them feel comfortable approaching them later on to ask questions.2. Ask them to write a "how to set up a new dev env" wiki page. The next new hire can improve it.3. Give them a handful of medium priority bugs to fix. Not critical as its too early, and not trivial as that won't drive learning. A nice mix of bugs should take your newbie to all major parts of the system, and require them to develop understanding in a way that new code often doesn't. The bugs should also drive conversations with the original authors of the code that will help knowledge transfer.
kleer001 1 day ago 2 replies      
In all my new jobs I've appreciated most the solicitous and social first day. The ergo team came to my desk and made sure I had all I needed for my body to work well, I was introduced to my team, a couple of senior peeps went out to lunch with me, I got a tour of the studio, etc...

What really sucked, and it's probably obvious, is the time when I had to search out all my information: where I was sitting, who to talk to to get ergo stuff (and worst of all when they required a doctor's note for whatever), who my manager and coordinator were, heck who my whole team was.

Not entirely on topic, but the same place also treated me like an anonymous cog: was interviewed for one project, told on my first day I would be on another, ended up on a third for two weeks, went back to another (didn't have anything to do), and then bounced two more times before they ended my contract a month early. Ugh, never going back there again.

euroclydon 1 day ago 0 replies      
Since it's your first engineering employee, I'll assume you're a small startup and not a large company who's just getting into engineering :)

Since you are so small, you need to consider all the resources you don't have, likely HR, Reception, Admin Assistants, any history of what information to give a new employee, detailed knowledge of how your benefits work.

This employee will likely have questions, especially about benefits, and IT for several weeks. It's important to be patient in answering those questions, and treat them as high priority tasks, when you have to follow up, even though you're a busy startup.

Consider the background of this engineer. Are they coming from another startup? If so, they know the drill. But if they're coming for a larger established company, take time to emphasize with their transition.

Finally, leverage your strengths. Being small and informal is a strength, as long as your work policies reflect a high-trust environment. Working from home, doctors appointments, vacation and sick time -- these should all be approved quickly with ease, or not require approval at all.

gitcommit 9 hours ago 0 replies      
Some tips:

Break the ice. New environments can be scary. Start a conversation with a joke. This is also good for the company, everyone remembers their first day.

Give them a face book with job and interests. This makes it easier for them to blend in.

evm9 1 day ago 0 replies      
I've seen some people here insist that they want their work station and/or laptop ready to go. If I were in the position of hiring an engineer, and made a hire, I would ask said engineer what they would prefer. Having everything setup or letting them unbox and setup, or maybe a combination of both.

Other things not specific to work environment should be ready to go. Their e-mail account, phone (if applicable), or any other virtual or physical materials used on a frequent basis.

As others have suggested, prefer something like a 75/25 social/engineering split for the first day. Introduction to team members and others, company processes, goals, HR stuff, go to lunch, etc.

davismwfl 22 hours ago 0 replies      
First day, answer all the little questions first, not all are relevant in all circumstances but you get the idea.

1. Where's the bathroom?

2. Where's the fridge, etc. What are the typical patterns for people. Do they bring lunch, go out as a team etc.

3. If they are new to the area, tell them where to find all the normal things. Food, Grocery, Drug Store, etc.

4. Tell them when they will get their first paycheck, if the amount will be a partial amount tell them that. This gets looked over way too often. Tell them the pay cycle, and any benefits information have it ready and laid out. Being a startup you likely have little to no benefits, so remind them of that as many times stress of changing or getting a new job has people flustered.

5. Make sure you are ready for them, have all the documentation, legal requirements and stuff out of the way.

6. Make sure you tell them what to bring their first day so they don't feel unprepared and so you don't look disorganized.

7. For engineers, give them their machine and have them set it up. Make sure you have all the necessary access codes and have granted their accounts to everything they need before they get there.

8. Have 3-4 small tasks they can get started on, but tell them your expectations with them. If you have a lot of potential places they could contribute have a few ideas in mind and talk to them where they might want to fit in. That is awesome for most people.

9. Tell them up front, you are still figuring things out, so they shouldn't be afraid to ask questions. Make sure they feel comfortable asking questions. People who have been in startups are far more likely to already be asking questions, but just be prepared and don't get defensive etc.

10. Have fun, take them to lunch day 1 or 2. Make it their choice, sometimes day 1 is a little overwhelming and they may want to wait on lunch for a day or two so they can get the feel for things. It sometimes helps them to get away for 30-60 minutes the first day or two so they can gather thoughts, not everyone, but some people are like this.

11. Warn them of any land mines. I had a team lead one time tell me day one, look we all work really well together etc, but here are 3 things that a lot of people around here hold sacred. His point wasn't to say not to challenge them, but just to get the lay of the land first before I stepped in something unknowingly. This isn't typically an issue in startups as much.

12. Tell them where to park their car if they are driving. Or where they can put their bike if they rode in. etc. More important in larger cities, but really important.

13. Give phone numbers and email addresses in a list for anyone they are likely to need to contact. Don't rely on them searching it out in Outlook or some directory someplace. Print it out and hand it to them, or already have emailed it to their new email address.

14. Your a startup, have some sort of swag to hand out. T-shirt, mug, stickers etc. This isn't an absolute requirement but it makes people feel welcome. Yes, some people will say that's stupid, but usually these are the same people that will later say geez, they didn't even have X when I started.

I could probably go on, but this is long enough. Sadly I have learned most of these from being on both sides of the table. And you won't believe how much less stress you feel as a founder when you knock most of this stuff off the list and have it ready for them day one.

BTW -- Congrats on getting your first hire!

afarrell 21 hours ago 0 replies      
Make sure they know when they should show up on their first day and that there is someone with an idea of what sort of things they'll be working on.
Zelmor 21 hours ago 1 reply      
Off-topic: your site, fynd.me completely breaks on android tablets running firefox.
dudul 1 day ago 1 reply      
It may be superficial, but when I show up on my first day I want my desk to be ready. I don't want to spend my first 2 hours on the job chasing for a keyboard, an ethernet cable, etc. Same with all the credentials to access to the git repo, or the bug tracker, or the inbox, and etc.

In your case it may not apply if it's really your first tech hire.

I guess spending some time to give a tour of the industry, then of the share of the market you're going after, then of your product.

AnimalMuppet 21 hours ago 1 reply      
How about the worst first week experience I've had?

On day 1, I got a cubicle, a chair, and an ID badge.

On day 2, I got a trash can.

On day 3, I got a phone.

On day 4, I got a computer.

On day 5, I got network access.

Moral: If you're the hiring manager, don't be on vacation when your new hire starts. If you're going to be, make sure that someone is going to handle it for you.

Full disclosure: This was a decade ago, so I may have the exact details a bit off. It's pretty close, though.

Ologn 23 hours ago 0 replies      
Prety much what the others have said. The desk should be ready, the phone if they have one (with voicemail password and instructions), the computer, their email and necessary passwords, necessary passes to the building. They should get their HR and finance stuff done and not have their first paycheck delayed.

They should be given something to do, even if it is busy work initially, like reading whatever existing documentation you have on your setup. They should also be given the means and clear direction to do that work. For the next week or two, their official or unofficial lead on the team should answer questions and check in every hour or so on what progress has been made on the initial assignments, inevitably they are missing some password or permission or explanation of how things are set up at the company.

The key is to have everything ready for them, be open to questions, and helpfully check in every hour or two for the first few days to see how things are going. Usually I have 100 questions, but after question #30 figure I should pace myself before bothering the lead or manager again with yet another question. But if they approach me in a helpful, friendly, unrushed manner and ask if I have more questions or if I am stuck, then I will get all my questions out faster.

Celebrating Marvin Minsky: Webcast and Gathering
5 points by osteele  1 day ago   discuss
Ask HN: Does Triplebyte deal with F1 visa ?
3 points by snehesht  1 day ago   discuss
Ask HN: Turbo Tax alternatives?
15 points by shiny  2 days ago   6 comments top 4
patio11 2 days ago 1 reply      
So TaxAct is an option for you.

Can I tell you something which is much, muuuuuuuuch more significant than the $25 or so you're contemplating spending on tax preparation software? It's highly likely that you're running a sole proprietorship (Schedule C). I am not sure from your phrasing that you are aware that you are doing something which can be categorized as a sole proprietorship. It is to your advantage to characterize what you are doing as a sole proprietorship given some plausible assumptions about what your cost structure is, because you will be able to deduct all expenses reasonably required to run the business from the revenue of the business (the number shown on your 1099-MISC) prior to paying taxes on the profits only. What the IRS considers "reasonable and necessary" is not what most natural humans would consider reasonable and necessary.

If you do not feel like reading an awful lot in the next month, bringing every receipt and credit card statement you have from the last year to neighborhood accountant will cost you a few hundred bucks and save you, plausible, 10X that in taxes. This is the bread and butter for lots of small accountants and tax-preparation shops, and they're reasonably good at it. WSJ? Deductible, always, 100%. Phone bill? Guesstimate how much of it was for business? 60%? Good enough; let's find all twelve of them. Do you have any other phones? Think hard. Internet accounts? Same story. 40%? Great. You're in software? What's your computer? When did you buy it? 2 years ago? Did you deduct it then? Nope? OK, so we're going to depreciate it, that will be another $600 or so of which we'll allocate $400 to the business and $200 to you personally.

I thought I was pretty good at this. My accountants are much better. We both color within the lines; they were just aware of entire other coloring books that nobody had told me about. (Most recent example: the Japanese government is sending me a wire for $600 because this year, instead of filing as exempt from paying sales taxes because all the products I make are exported, I am filing a return which shows me paying $0 in sales taxes on all $0 of my Japan-source sales. What on earth is the difference? Well, if you're an exempt business, you can't claim back sales taxes you paid against sales taxes you owe the government. If you're not an exempt business, you can. If you paid more in sales taxes than your tax liability, the government wires you the difference.)

Mz 2 days ago 0 replies      
H&R Block allows you to file online. I am sure there are others and I don't mean to suggest you "should" go with them. I have used Turbo Tax online and I have used H&R Block online. So that's what I am familiar with.
cik2e 2 days ago 0 replies      
Try a few different ones. I had a swing of $200 on my state refund from student loan interest between 3 different tax calculators. For me, that was worth the extra half an hour.
eschutte2 2 days ago 1 reply      
I don't understand your point about coughing up $$. I used TaxAct last year and it was fine. There are a bunch of other options, including by hand on paper. My income is all 1099 too.
Ask HN: Are Online Courses Enough to Become a Full Stack Web Developer?
30 points by jackxx  1 day ago   11 comments top 11
novicei 1 day ago 0 replies      
You do not need a CS degree to become a full stack developer. All you need is determination and patience. You need to write as much as code as you can. Solve problems. While having a CS degree would help in knowing the major concepts such as Algorithms, Data structure, Security and to name a few, it's not compulsory. You can take CS online courses via Udacity, CS50 and Coursera and to name a few. Know the concepts and dive into web development.

Start with HTML & CSS then Javascript and jQuery. Know Node.js and Angular.js, bootstrap etc. Pick any language for the back-end. You can either use Python, Ruby, PHP Javascript or anything other.

I recommend https://ilovecoding.org/ they have interactive courses and lessons, you can get hold of how the real world applications are made, what goes behind the scene while building practical web apps, mobile apps, games etc.

Your code is going to look horrible at start but don't give up. start dipping your toes then move all the way. DON'T procrastinate and don't give up. Good luck

vmware505 1 day ago 0 replies      
Yes, you can be a very good developer quite quickly nowadays. Free tutorial like this: http://yoember.com helps to learn from very basic concept to advance features. The most important is practicing every day, you have to spend at least 2 hours, every day with programming... Sounds crazy, but you can start applying for developer jobs on the second week and you will get great tasks and tricky questions... You probably will fail a couple of times... but those tasks and questions give you new challenges what you have to chase and learn. A month later you will have a junior job where you can learn more focused solutions. You will love this new world and you want to go to learn more things, so a few years later you can go back to university part time and learn CS there, just for fun, but you will enjoy. Good luck! You have a great journey ahead. ;)
zhte415 1 day ago 0 replies      
No, you don't need a formal degree.

But don't just do courses. Have a project that you've aligned with the outline of the course you're currently on. Small at the start, then getting bigger, over several years, integrating a new skill but still applying older skills, so they don't get rusty.

And as well as the front- and back-end site, get dirty with the OS level too. The ins and outs of configuration files. Perhaps contribute to mailing lists, or have a StackOverflow profile where you start by lurking, then getting interactive. Expect to get criticized, sometimes rightfully, sometimes from armchair engineers, and learn from both - the knowledge and the tact.

As novicei stated, don't wait. Get started now! :)

evm9 1 day ago 0 replies      
It's tough to weed out the bad resources on the internet, but you've come to a good place to find the good resources that are available (free or paid).

You'll get out of it how much you put into it. If you spend countless hours learning and then building projects you will learn new things very quickly. Don't get caught watching tons of videos & screencasts while not building anything.

You can read 1,000 books about surfing but when you go to surf you'll fail repeatedly. The same goes with building software. Read code and then write code 5x as much.

The courses are good for beginners, but to take it to the next level you need to build a sizable app and get it to production. There are things you'll learn from putting a project to production that you wouldn't learn otherwise. Remember: software is built for users & actual people, not just machines.

jemani_one 1 day ago 0 replies      
From my experience, you'll probably find a degree carries more weight with companies that are larger and further from actual tech.

Looking to do big 4 consulting? A degree will go a long way.

Looking to dive in at a start-up? A portfolio probably carries more weight - regardless of a degree.

There are always exceptions, but that's on par with what I've seen.


gkwelding 1 day ago 0 replies      
I would consider myself a full stack developer, hell I've even made a decent career out of it. I don't have a CS degree, what I do have is many many years experience. I know HTML, CSS, JavaScript (including whatever the latest fad is be in jQuery, Node, Ember et al...), PHP, Python, Java, SQL (MySQL and MSSQL), NoSQL (Mongo, Elasticsearch etc...), and I can set up, secure and maintain a web server running Ubuntu, Redhat or CentOS.

You can't reliably learn all of this from an online course, although it might be a good starting point, you become a good full stack developer after years of experience.

gitcommit 1 day ago 0 replies      
You don't need a CS degree, but you need to practice and create projects.

If you want to learn Python I recommend https://pythonspot.com/introduction/

bruceb 1 day ago 0 replies      
I don't think you need a CS degree but if you want to replicated one for free: http://coursebuffet.com/degree/
percept 1 day ago 0 replies      
Sure! With a but: proficiency comes from practice.

"Learn by doing."

a_lifters_life 1 day ago 0 replies      
Online courses + more importantly experience.
wprapido 16 hours ago 0 replies      
are they enough? no, they are not. but, they do provide a rock solid foundation. working with someone more experienced and / or hiring a tutor for a bit is also very helpful. there are a few but very important tricks that courses don't teach and that will take you lots of time to figure out on your own. programming, like any other job, has its own way of thinking. online courses don't teach it either. so, that's where being seated next to someone who knows their stuff is of crucial importance. if you can't afford a tutor, look for an unpaid internship or offer your free help to a more experienced developer

can you become a developer with no CS degree? sure as hell you can! my formal education lies in philosophy, economics, education, fine arts and spanish language and literature. i never took a single computer science university class. at least, not formally and on campus. yet, i have a decent career as a developer, serial tech entrepreneur and i was even teaching programming and CS. but, i was reading a lot, had my share of tutors, worked a lot, worked a lot with some of the world's best developers, took some online courses, tried many things, failed many times, some other times even succeeded

before becoming a developer, i had a successful career as a graphic designer and a photographer. luckily i was always a geek and loved technology. i've literally faked my way into my first developer (front-end) job at one silicon valley startup more than ten years ago. i was doing plenty of web design work and even more corporate identity work back in the day. my coding was rusty and definitely non-web given i previously fiddled with programing in the 80's and early 90's. the above mentioned startup's cofounder liked my visuals. he asked me can i do their UI, coding included. i said ''yes''. while making sure he liked what it looked like, i was studying CSS and HTML pretty hard. front-end back then was a pain in the ass to deal with. but, boy, did i get it wrong. so i literally had to rewrite all front-end code two days prior to deadline. well, somehow i've made it. was offered a job. accepted it. then i was hanging out with some of the brightest programmers, learned from them and on my own. as business grew up and they were onboarding designers (very few designers could code back in the day and transition from print to web was painful, while majority of developers had no clue about design. there were no tools/frameworks/libraries/templates/themes available either), i helped designers understand tech concepts, while i was helping both developers and designers communicate with each other

except for some hardcore computing stuff, you really don't need a CS degree. for stuff more advanced than developing database-driven websites and apps, having domain expertize is way way more useful than holding a CS degree

Ask HN: Do Aeron chairs make a difference in the office?
10 points by emmasz  2 days ago   17 comments top 12
dakrisht 12 hours ago 0 replies      
First, don't sit for 13-15 hours per day. You will regret it later and it is detrimental to your health. Either pomodoro every 30 minutes and walk around for 5-10 mins or do a combination of standing desk / sitting.

Second, I can't sign off on the Aeron it's a good chair - but it's far from great.

Personally, and through experience of owning all of these chairs, I would go for the Herman Miller MIRRA 2 chair -or- the Steelcase Gesture chair. They are impossible to beat from an ergonomics standpoint not to mention the countless hours of studied and research that went into these products.

The lumbar on these (all) chairs is negligible, cushioning technology is sound, the extendable lower thigh support is pretty sweet, butterfly suspension adjust to your posture and has a solid suspension / cushioning effect, build quality is A+

We have Mirra 2 and Gesture at our office, originally we started with the Gesture and they are fantastic and more "luxurious" but the Mirra 2 is the current star. They are expensive ($1.2k each) when fully equipped. But they are worth it.

The Aeron chairs we used to have back in the day were given to people to take home and I have two of them in my garage. Don't get me wrong - they're good chairs - but the Mirra and the Gesture are simply better and not by a little.

Don't sit for 13 hours per day. Otherwise you'll be in physical therapy for 13 hours per month. Signed, someone who used to sit for 13 hours per day.

pacey 2 days ago 4 replies      
I've read up and down on that issue because I have problems with my lower back and after reading many many reviews I decided against the Aeron.

The problem I've read of is the hard "lip" on the front of seating area which according to some reviewers tends to cut blood flow from the legs for longer sitting periods.

The Embody should be fine in that regard (from what I've read, but I haven't tried it - neither have I tried the Aeron).

I ultimately decided for the "Steelcase Leap" and from my experience this was the best investment I have ever done in furniture.

Before the Leap I was unable (and unwilling) to go sit at my computer after leaving the office - now if I get backpains while at work I cannot wait to get home and into my chair. This may not be the case for everybody but for me it reliefs my backpain.

If you're going to invest in good chairs, give the Leap a spin.

dsacco 15 hours ago 0 replies      
I have an Aeron chair in my home office, where I sit for most of my workday. I love it. I'll add this to the discussion about finding (and assessing) a good office chair.

What you need to understand about a quality chair is that while it should be very comfortable, you should not expect to experience nirvana when you sit in it.

Often the prices of these chairs have people expecting some magic to happen when you first sit down. On the contrary, it shouldn't feel "superlative" when you first sit in it, it should just feel comfortable. In fact, it might not feel special at all. It's only later - 4, 6, 8 or more hours later - that you'll realize the chair's true value, in that it has become an extension of your posture.

The mark of a quality chair is not that you will notice it when you sit down, but rather that you won't notice it after sitting for a long time.

Other than that, ensure that you purchase the correct size. I have never found any problems with the Aeron's lip, but I purchased and customized my own, so I was able to make sure it came in the correct size. Offices with pre-assigned chairs may not offer this luxury.

vldx 14 hours ago 0 replies      
I'm measuring almost everything in my day-to-day life - sleep patterns, calorie intake and nutrition, weights lifted and their progression, hours worked, and such. One of the benefits of this border OCD behaviour is that you can see the effects of every single variable - input and output.

In this context, I've been using the Aeron for 2 months now and surely I have no regrets regarding the investment; it's something from which you extract value every single day and you can measure directly how it affects your output. As investment, I would put it right next to the MacBook and resistance/strength training.

When you properly adjust it, the chair feels like a custom tailored suit or glove around your back - it's there, but it's not intrusive.

I'm frugal about most stuff and things - but, in our job even a slight placebo have the effect to benefit you orders of magnitude.

Beware, next coming is the search for the perfect keyboard :) Hint: just jump to HHKB2.

euroclydon 1 day ago 0 replies      
Do you consider foam rubber a good insulator? Do you work in an office environment with an ambient temperature about 50F? Would you strap a highly insulating layer of clothing against your buttocks on a normal day?

If you answered: Yes, Yes, No to the questions above, consider the cool and breathable rear-end attire that is the Aeron chair.

canterburry 1 day ago 0 replies      
I too have been working on Aeron chairs for the last 10+ years and have never found a better chair. I may not have researched as thoroughly as many others here but I too have back problems and they never show up on the Aeron.

As to the hard front hard front lip, that to me sounds like either poor adjustment or wrong chair size. There are 3 sizes to pick from and offices often don't contain all 3 to fit the worker's size. So, you may end up sitting in a larger chair than appropriate.

gitcommit 1 day ago 0 replies      
A good chair is a good investment, because it makes you more productive and you use it thousands of hours every year.

Herman Miller's Aeron seems like a good chair but personally I think the arm holders are not needed as when coding I put my arms on the table. Also I prefer less wheels because they are in the way.

Little joke, perhaps this chair: https://upload.wikimedia.org/wikipedia/commons/5/5e/Emperor'...

motoford 1 day ago 0 replies      
When you first sit in an Aeron you think, what's all the fuss about?

But sit in one for awhile and you realize one day that the chair isn't bothering you like every other chair does after a few hours.

And they last forever. I have 2 and the oldest I bought used in 2002.

Grab a good deal on a used one.

thenomad 1 day ago 0 replies      
A good chair is definitely that good. Incredibly valuable purchase.

You'll save significant money in lost developer hours, physiotherapy costs, etc by buying good chairs (and checking that the rest of your setup is ergonomic too) right now.

Personally I don't get on with the Aeron, which is why I have the Herman Millar Mirra instead.

tmaly 1 day ago 0 replies      
I have been using an Aeron for 10 years in my office. I would recommend it any day.
ainiriand 2 days ago 0 replies      
I've had the luck to work in one of those black thrones (Henry Miller Aeron) for 1 year and a half and it is awesome. It is very different from your usual chair in many different levels. Comfort and customization mostly.
ibash 2 days ago 0 replies      
It's worth it to invest in good chairs. But:

1. Research chairs beyond the aeron, I personally prefer the steelcase leap

2. Check out some furniture liquidators (especially if you're in the Bay Area), these chairs are built to last a decade

Ask HN: Been toying with a model for running a company. Critique me please
12 points by harel  3 days ago   20 comments top 11
matt_s 7 hours ago 0 replies      
This sounds like a culture that prioritizes work-life balance, independence, and self-motivated employees. You're not aiming to measure butts-in-chairs time but delivery of working software as far as performance is concerned.

Focus on those specifics when hiring and not something like specific technology stacks. Once you narrow your talent pool to that philosophy and then narrow it further by tech stack you may end up with so few people to choose from that you will end up with people that match the tech stack but not the philosophy and they won't work out long term.

It's SaaS, which means web application, which means your tech stack really doesn't impact success||failure. So choose smart, agile learning people that match your work philosophy and they can learn whatever stack needed. You say "we" so maybe you already have a team - in which case they may not agree with your new philosophy or they may not want to change tech.

Make sure the compensation, HR stuff like benefits, etc. match this philosophy. By that I mean make employee contributions tied to something like profit sharing, equity, bonuses, etc. That can help motivate and enforce the delivery of value priority over hours worked (aka here's a salary for 40 hour weeks).

Also have legal/HR stuff figured out in case - employment laws differ by country and if someone decides to work/travel through Europe for a couple months, does that have tax/finance impacts on your company or employee? Do they need a work visa? How will internet be funded? How will pay be handled for work locations with different costs of living ... will it be "fair" if someone chooses to live in SF area and gets higher pay than someone in Belize?

These are all rhetorical questions but if you have this stuff figured out, people might want to hear the approach.

Mz 2 days ago 1 reply      
Assuming you have a reasonable means to peg pay to productivity and you hire people who are capable of hitting those marks within a reasonable time frame, I think this is a great idea.

I worked for a Fortune 500 company that began allowing people to work from home. They decided people working from home should do an extra 20% or 30%. It was a number pulled out of thin air and based on nothing whatsoever. The result: People began working 10 or 12 hours a day to hit that number. Then they had to make some changes to the program because this was in violation of labor laws.

So, my point is that if you have ridiculous expectations and want too much out of people, then what you propose is going to be a problem. But if you structure it well and hire the right people, this has a lot of positives to it.

I do something similar. I make money doing "gig work" and I can work where I want, when I want, and this works far better for me than my corporate job did. But you will need to be careful that you aren't expecting too much for too little, basically.

elviejo 3 days ago 0 replies      
Isn't this how Auttomatic (wordpress.com) and 37signals already operate?

You could learn from their success



mihvoi 1 day ago 1 reply      
The good thing is that you can find more easily good people at low work cost. However, it might be hard to evaluate the value of the contribution of each "employee". What if some people throw unreasonable estimates?

One idea to overcome this is: you work by small increments of features. You put each feature on the table and people bid the time to complete it. You assign the task to the one with the best reasonable estimate and with good track on the delivery - depending on the risk of failure. People that don't offer reasonable estimates can be replaced. The thing is that you know that without understanding the code, because someone else will bid less time and do it.

A variant is per-project, "last feature is free". After each feature, you pay the previous delivered feature, based on hourly time counted by the programmer. When you find the bill to be overcharged, you just pay the previous feature and close the collaboration. You might guaranty to pay a reasonable but fixed sum, in advance or at the end, to reduce the risk of the programmer to not be paid after too few tasks.

People should also have some stock or bonuses by global performance, otherwise they would not be also team players. And more than this, they should share a minimum motivation to be proud of the global outcome, for example because of how their work is making the world a bit better. Money if not always enough for people to really want to make it work.

brianwawok 2 days ago 1 reply      
So I think all of this is good, and am all for work from home and work remote. I work remote, and don't see going back to an office ever.

I assume by you posting this that you come from a more traditional setup? Office of a bunch of local people? I suspect the biggest surprise you will hit will be with

> No geographical boundaries. You can be anywhere on the planet. You can be traveling through India as much as I care.

If you get async communication down, you can work this. However for async communication to work well, I find you need to all be on the same page. If you start in an office with 6 people then go move apart.. you still have the same brain space and same goals. If you just hire 6 people in 6 random countries? You will all have VERY different worldviews and ways to work and end goals in mind. One guy may just want to make crap work. One guy may just paste stack overflow code. One guy may like to write really high performance code. One guy wants to write very concise code. etc.

So I think your biggest challenge will be getting all people on the same brainwave. Even with a meeting or two a year in person, what keeps you looking for the same goals? In person we generally hire people very much like us. Which is good from the same brainwave view, but bad for a diversity point of view. Your worldwide company will have a lot of diversity and unique ideas, but also a lot of people fighting and clobbering each other as you head for disparate goals.

So my best ideas is maybe start with 1-2 local guys, get a tight bond... and then use them to hire future guys, to try and keep the culture the same as you grow.

sharemywin 2 days ago 1 reply      
I guess the devil is in the details:1. How is a task estimated? What if it's wrong? How many misses before you fire the person? what if that person is taking more risks and taking on more responsibility and challenging tasks?

2. Usually you need some kind of process and task dependencies. What if there is a total bottleneck of "progrmmaing tasks" or "QA tasks" does someone go a week with pay to "work" for you?

3. what about benefits? Is this 1099 or W-2 work?

4. What about team based contributions? I help team mate X out with something is that a task? Do I get any contribution from it?

5. Who pays for training and education time? reviewing code?

6. What kind of rate are you targeting? What would my monthly pay look like?

7. what about strategic types of contributions. I know guy or I want to take sub market and run with it? or did you ever think about xyz? If your piecemeal-ing the work is there an allowance for that?

8. is there an opportunity to "buy-in" via time or contribution or even real money and get % of the profits or company?

9. how does the system evolve over time? fix problems? do "workers" have a say?

Sorry I'm really into the idea of marketplaces and using technology to build hyper-efficient eco-systems.

sunkan 1 day ago 1 reply      
Mokriya works this way. We work with companies like Intel, Google, Twitter, SanDisk, Salesforce etc, with workforce spread across the globe with no set timings and very little management or bureaucracy.
gpresot 2 days ago 0 replies      
It seems to be working for Basecamp (formerly 37Signals, creators of the Basecamp project management software). Read their two books REWORK and REMOTE,where they explain how they did it. You can also find the basics reading around their founder's blog ( https://m.signalvnoise.com ), where they also lists some other companies that share this approach (buffer, zapier...)
seeing 2 days ago 1 reply      
2. No geographical boundaries.

Reading this always feels wrong to me. Face to face communication is higher bandwidth than text or video.

dmarlow 1 day ago 0 replies      
I like what you have, but feel something like this would be helpful for your employees to know how their contributions ultimately benefit them long term.


ZeroFries 2 days ago 1 reply      
This sounds ideal to me. Where do I apply? :P
Ask HN: Who do you want to win Game 5 (Lee Sedol vs. AlphaGo)? Why?
3 points by shakinbits  1 day ago   2 comments top 2
ankurdhama 1 day ago 0 replies      
Lee Sedol - So that the whole internet just shut the f*up about how AI is a solved problem and robots are going to take over.
tugberkk 1 day ago 0 replies      
Lee. It is also a motivation for the programmers to improve their AI program.
Ask HN: What is your theft protection/retrieval strategy for your laptop?
8 points by hauget  1 day ago   8 comments top 4
a3n 1 day ago 1 reply      
No suggestions for improvement.

What I do: Entire laptop is linux. Full disk encryption enabled. When I leave home in the morning (I almost never take my laptop for walkies), I hibernate the laptop. When I get home at night I enter the long FDE password.

Long term I hope that I remembered to hibernate on the day when a burglar takes the laptop. I don't much care if I get it back, I just don't want the data to be used for ID theft.

JoachimSchipper 1 day ago 1 reply      
Well-intentioned advice: stop caring about the hardware, use full-disk encryption and ensure you have good backups.
wingerlang 1 day ago 1 reply      
I guess my laptop is cheap enough that I wouldn't really care /too/ much and just call it upgrade time. All files I care about live in Dropbox.
joeclark77 1 day ago 0 replies      
My strategy is that I gaze longingly at the new model laptops I'd like to upgrade to, if I had a good excuse to treat myself. Then I don't fret too much about the possibility of the old one being lost or stolen.
Turing created computers to decypher German U-boat codes. Why deny encryption?
3 points by studentrob  1 day ago   3 comments top
orionblastar 1 day ago 2 replies      
The Polish developed some machines to break encryption as well. Turing worked in a team and people tend to forget that. http://www.telegraph.co.uk/culture/film/film-news/11229240/T...

To be honest they kept it a secret. I bought a painting of the timeline of computers from an estate sale from the dawn of history to 1970 and the people in computers and they don't even mention Turing and the team he worked with. Even if he did a lot of work in the 1950s, he isn't mentioned. The British government kept his work a secret.

So because it was kept a secret the public did not know about encryption and code breaking that encryption using computers until much later.

A lot of government employees aren't tech savvy nor are politicians or leaders. They might never heard of Turing. If they did read a history book on computers it might be old and not mention Turing and encryption.

It is up to use to educate them and remind them that encryption is important to keep our data safe and that a backdoor in encryption means weak encryption.

Of course Snowden claims that the Patriot Act and Prism were made to collect data via domestic spying, and used for politics and power and control. They see encryption as a threat to their power and want to eliminate it.

Ask HN: Should we give a discount to a billion dollar startup?
19 points by sec_throwaway  4 days ago   20 comments top 18
saluki 2 days ago 1 reply      
I would definitely get them signed up . . .

But for 50% off I would get an ok to use their logo on your website and marketing materials, be used as a case study, get quotes/reviews to use from their CTO/CEO, etc . . . also note they can not disclose a discounted rate and maybe spell out that the discount will reduce 10% each year, and also that plans/pricing can change in the future.

As long as their subscription to your SaaS won't cause any profit loss with the discount I think it's a win win.

As far as strategy can you add plans or plan levels that will protect you from absorbing their high use of your SaaS or put in place a growth in price as they grow use your SaaS more?

Sounds like a win win, as long as you're not losing money on their subscription.

I'm definitely more likely to sign up for a SaaS if I see a big name logo using it.

Congrats, good luck.

danieltillett 3 days ago 0 replies      
You can use your other contracts as leverage. I have a large number of contracts where I have agreed that if I offer any new customer a larger discount I have to turn around and provide the same lower price to them. This means that if I provide a new customer a higher discount I lose money since the new discounts to my existing customers are greater than the revenue from the new customer. I just tell all my new customers this and the whole issue of special pricing goes away.
nickfromseattle 1 day ago 0 replies      
Many people are suggesting you ask to use them as a reference customer, and you should, but be prepared for a 'no.'

The stakeholders at the customer likely don't have the authority to say 'yes', it's very likely they the request will have to go through their legal team (who probably doesn't care about whether the project is successful or not) and a marketing review, and while they may be happy to help you jump through these hoops after the deal is closed, they may not be able to get it into the contract.

*I deal with many Fortune 100 companies and work this into almost every deal, but it's rejected most of the time.

greenyoda 3 days ago 0 replies      
"We have offered them a discount of 2 months, which I know is not substantial..."

A discount of two months (17%) is very substantial for a one-year prepayment (your customer can maybe get 1% a year from keeping that money in a savings account). You'll need to evaluate whether it's worth it to your business to give them even that discount.

For example:

- If you're financing your company off credit card debt at 20%, than giving someone 17% off to get money up front would actually save you money.

- If you're suffering desperate cash-flow problems and need money tomorrow to pay your operating expenses, then it might be worth giving someone a steep discount to get money today.

- If it costs you $500 a month in expenses to provide the service, then a 50% discount on $1000 would wipe out all your profit.

If you're getting adequate revenue from your current paying customers to keep the company going, you may not want to give that kind of discount. The problem with giving them a discount is that they'll expect another discount when the contract comes up for renewal in a year. And they'll tell their friends that your company gave them a discount, so future customers might also ask for one.

If you do end up giving them a discount, you might want to negotiate additional terms that are advantageous to you, such as being able to say on your web site that this company is your customer, and being able to use them as a reference for other customers. That might be worth something if they're a billion dollar company with some name recognition.

gus_massa 4 days ago 0 replies      
Probably 50% is too much. I'll just quote patio11.

From http://www.kalzumeus.com/2012/12/29/bingo-card-creator-and-o...

> (Heres a replicatable strategy for making several hundred thousand dollars with a single email: start with a revenue base of $X million a year. Email all customers asking them to switch from monthly billing to annual billing, in return for some incentive you can offer, which can range from a month free to 15% discount to Hey, you can book the expense this calendar year, so that will save you money on taxes. Feel free to try this with any client or day-job of yours if theyre already at scale We made so much money the accountant/bank called us to complain will make for a great bullet point at your next contract/salary review.)

pfarnsworth 2 days ago 0 replies      
They will end up sucking most of your time away from you, with bugs, support tasks, feature requests, etc. Depending on how big the name is, it might be worth it to snag them, if they would be come a reference customer and help you grow quickly. But it depends on your bandwidth. Do you have sales people that could make use of their name? If not, then don't give them a 50% discount and be ready for an onslaught of work from them.
Spooky23 19 hours ago 0 replies      
If they think you need them more than they need you, they'll push you hard.

50% discount is my expectation. Lately, my place had been scoring those kinds of discounts even on hardware.

Mz 4 days ago 0 replies      
Large businesses routinely take advantage of smaller businesses. They pay later than average, they demand "extras" and so on.

Determine what you think is a reasonable deal for any customer who prepays. Write it up as your new policy. Notify theses guys you can give them X off. If they have a problem with that, they are free to go elsewhere.

I really need to start collecting links, because I have read too many stories and stats on exactly this kind of thing, but I never know how to find them when this type question comes up. Do not let a big company make you their bitch. Set boundaries. Let them go elsewhere if they do not like it.

hooliganpete 3 days ago 0 replies      
It's already been mentioned but giving them the discount (provided you don't immediately need the revenue) in exchange for a 24 mo contract seems ideal. I believe the longest you can contract would be 24 mos (12 mo w/ 12 mo auto renew but it might be worth asking an attorney/search a bit online. I would also ensure you can use their name to leverage into additional customers. Congrats by the way, this seems like a nice problem to have :)
charlesdm 3 days ago 0 replies      
Just tell them: "No sorry, we can't do that. So, should we sign you up for our annual plan (2 months free!), or would you prefer paying month to month?".

If they need your service, they won't leave. If they don't, they will, but that teaches you something about your market. Either way, you win.

Btw: two months is substantial, it's a 17.5% discount.

code777777 3 days ago 0 replies      
Perhaps they're asking for a "startup discount" like AWS Activate.

A discount because they're a startup and putting trust into you and your startup. If they do well, you'll do well. If you screw up they will be impacted.

Also, you may be able to learn a lot of from them and help more people love your product.

I'd counter with like 25 to 30% for one year and a bit more for two years. Try to find a win-win even if you have to get creative. Perhaps they allow you to use their name as a reference on your website or some other consideration.

These sorts of negotiations happen all the time. Enjoy them :)

Good luck with the SaaS, sounds look you have some momentum!

boulos 3 days ago 0 replies      
As someone alluded to, if they're a big name you can point to / use their logo this could easily pay for itself. If you think of their discount instead as an approximately $500/month marketing budget, would you do it? (Or even more precisely $350/month as that's the additional request).

Just try to avoid the slippery slope of giving everyone such a discount (and I hope your pricing plans mean that this presumably large customer is getting a discount on an expensive "Enterprise" plan that's only sensible for larger groups).

tmaly 2 days ago 0 replies      
Have you seen those SaaS sites that mention they are used by the NYTimes, Newsweek, Forbes etc. Well you can say the billion dollar startup uses your SaaS.
stray 4 days ago 1 reply      
throweway 3 days ago 0 replies      
Id not give them a discount. Im sure they can afford to invest 12k a.k.a. peanuts if they are valued so highly.
andersthue 3 days ago 0 replies      
What do you get in return for the 50% discount?

- reference statement?

- mention on their blog?

- referals to other billion dollars startup?

- case story?

rubyfan 3 days ago 0 replies      
It depends if having them as a marquee name on your site and guaranteed revenue is worth it. Guaranteed revenue is hard to thumb your nose at. So too is a recognizable brand name, especially if they have gravity in a vertical you are targeting.
bossx 3 days ago 0 replies      
Give them a discount but make them prepay for 3 years
Ask HN: Must you have no life, at least early on, to run a successful startup?
61 points by jimsojim  3 days ago   54 comments top 19
jamescun 3 days ago 3 replies      
I was co-founder of a (YC-backed) startup for 4 years until we were forced to close, so I don't know if you can define us as "successful".

Anecdotally speaking, I started off working with no life. There is a lot to be said for time periods where you shut out all else and just focus on your business, in fact the YC programme gave good impetus to only "write code, speak to customers or exercise". However doing this for extended periods is a great way to burn out.

Initially any time I took off I felt incredibly guilty about. I however came to the realisation that stepping away, even just for an evening to see friends, allowed me to recharge my batteries and I was able to recoup the lost time and then some.

A company is only really the sum of its people, and if those people aren't firing on all cylinders then it will become apparent. In short, lead a balanced life.

patrics123 3 days ago 1 reply      
Just read this and I think it matches quite well: http://plumshell.com/2016/03/10/work-for-only-3-hours-a-day-...

We are running our business for ~3yrs now and just realized in the last few months that none of the all-nighters or skipped holidays actually made a difference in the end. So just from my personal experience I'd say you should actively plan and maintain a private life from the get-go - If you don't you are not "better" then another person who is just working to finally reach retirement...

onion2k 3 days ago 1 reply      
There aren't any rules. You can have a life outside of your startup if you want one. Plenty of people do.

The reasons why people say you can't have one are two-fold. There's a very good, very valid reason, and there's a very bad, toxic-to-your-business reason.

The bad reason is that people who start companies are very competitive. This means they feel they have to be seen doing more, whether it's working longer hours, making more calls, writing more code, going to more networking events, and so on. Sometimes this produces value for their business, but more often it's just "busy work" that isn't actually adding anything useful - going to a networking event and only talking to people you already know is a good example. People who do that sort of thing are the ones who brag about putting in 80 hours a week. Don't emulate those founders.

The good reason to cast your life aside is that very often a startup is doing something ambitious that takes a lot of work to get off the ground, but only has funding to last 6 months. Consequently everything has to be done in that time, which leads to putting in loooooong days. If you have a low burn rate and a long time you can afford to go slowly.

If you take an honest look at the hours people are putting in and realise that half of it could have been done better, or automated away, or just not have been done in the first place, then you'll understand why "number of hours worked" is a pretty awful measure of effort.

mdnormy 3 days ago 2 replies      
Define "successful startup"?

Countless of people have started small and stayed small. I think it always been like that traditionally. You start a business, you grow it till its big enough to serve your niche market, and you pull in few million every year for the rest of your career life without much effort.

I used to work in manufacturing industry and this model is more prevalent in their whole supply chain. You could own 1 factory with less than 20 staff, producing 1 type of component(bolt/glue/bracket etc) and be done with it.

However, if you define successful startup, as multi-million dollar revenue organization, that's another story.

muzani 2 days ago 0 replies      
I think there's a saying in this community - work on a startup that a few people really want, rather than something a lot of people kinda want a little.

That would also apply to having a "life". Live your life in a way that a few people will greatly love you and miss you. Rather than spend time with a lot of people who kinda enjoy your company a little.

There's certainly enough time in an early stage startup to treat your closest people well. I have a great lunch with my wife all the time. I bathe my daughter, play bubbles, and dance with her. I mentor young entrepreneurs.

Do things that people will remember you for after you're dead. Or at least the things they'll remember 5 years from now.

lazyjones 3 days ago 0 replies      
Short answer: it depends on your personality and the type of startup.

Long answer: My startup (founded in 2000, sold in 2014, still going strong) took a huge toll on my personal life, but it was a 24/7 operation (a website), I was both CEO and lead programmer/CTO and I'm terrible at delegating work and inspiring responsibility in people. Also, web technologies did tend to fall apart more easily back then and my experience with that was limited.

In hindsight, all of these factors contributed to the (largely unnecessary) 100-hour-weeks I pulled in the first couple of years. So, brief advice: if your startup is a 24/7 operation (it doesn't have to be, there's plenty of other opportunities), you will likely be putting out fires around the clock. If you can, hire reliable people early on who can do this for you and put your mind at ease. You will be thinking about your startup a lot either way, but you can surely do that while enjoying your weekend trips or whatever.

normalist 3 days ago 0 replies      
Well there is nothing glamorous about startups. It might seem this way initially, with fixie bikes hanged on exposed brick walls, and programmers somehow managing peak states in a noisy open plan office. (They should be hermetically sealed off). Employees apparently multitasking to look busy...Multitasking is an illusion propagated by the media, and it's actually impossible to multitask without performance suffering. Also see: banning mobile phone use whilst driving. A more ample question is: "must you have a life to...". It starts making sense when the natural rhythm of your own life is carried on into the startup. Ottherwise you're falling victim of the great illusion of startup glamour...
chuhnk 3 days ago 0 replies      
I'm building something at the moment. I previously worked at a couple startups and a large tech company. I'm the kind of person who goes all out until burn out. Not really healthy behaviour. I've realised that building my own thing is a decade long journey and as much as I want things to be done yesterday I cannot forget to live my life. I don't want 10 years to pass by and have missed out on all the other experiences I could be having. It took me a while to figure it out, to spend time reading, go to the gym, meet friends for lunch and even take days off writing code. It really is a marathon and while it's important to be focused the worst thing would be to look back and regret not living.
bliti 3 days ago 1 reply      
One thing that improved quality of life was for me to define success. Ask yourself: What do you want?I wasn't smart enough to come up with that question, it was a friend who asked me point blank. Took me about a year to be able to answer it. But things are now much better and I have a more positive outlook for the future.

Businesses come and go. So does money. But you are not eternal. Figure out what you want and then work backwards from the end goal to the present. Set yourself small goals. Be patient. Learn to forgive yourself for mistakes l. And above all, just try to be happy.

Must you have no life to run a successful business? No, but you must make sure to have a life. Whether you have a business or not.

Best of luck OP!

AndrewKemendo 3 days ago 0 replies      
Probably depends on what you are trying to do.

The reality is that if you are a small team trying to take on a huge market and maybe creating new technology while other major companies are trying to so the same then you need to get a better solution into the market faster.

So can you do that and also have "a life" however defined?

On the other hand if you have some niche of a niche kubernetes plugin for WebGL and are a team of two college students with no overhead. Yes you probably can.

yesimahuman 3 days ago 0 replies      
The difficult, and often brutal reality of startups is that success isn't a direct result of how hard you work. There are no rules.
rl3 3 days ago 2 replies      
While I can't speak to the successful part, I'm just over two years into my current project and haven't launched nor applied to YC yet.

If I had more money I'd definitely maintain way more of a life than I do now while continuing to work on my startup. Granted, I didn't really have much of a life prior anyways (remote job coupled with high expenses), so maybe that makes it easier since I'm used to it.

The timescale might seem crazy, but it's incredible what time does for your ideation and strategy. When I first started, my plan was basically a mid-sized SaaS business. Over the years both internal and external forces evolved that into a methodical blueprint for a company on the order of Magic Leap. Six months in I figured out trying to charge money for the product was probably suicide. Six months after that came the start of a radical shift to a far more ambitious plan that built off the original in a very natural way. Had I artificially constrained myself to a fixed time window, or otherwise quit, I'd have never discovered any of that.

The whole thing is very much like an obsession, something that occupies virtually all of your idle thought. Kind of like a nagging splinter in your mind's eye where you can see precisely what you want, the only challenge being to make it manifest.

Taking a fat paycheck as a software developer and everything that comes with it has always been tempting, especially with hindsightbut I know that the second I do it will be the end of my project. Giving up on that would be unbearable, worse than deathat least until I've seen it through regardless of the outcome.

Melodramatic narrative aside, to answer the OP's questionno, I don't think you must have no life to do a startup, and it's even preferable that you have one. For most people, the reality is just that time or financial constraints conspire to ensure that they don't.

pmoney 3 days ago 0 replies      
It's tough. You want to work all day and all night. You think that if you take just a moment away from it that it will falter. Not the case. I started out that way, but I have found that even if you take the time to eat dinner with family, it's that time that helps you recharge and regroup. That is the most important time as it allows you to reflect. Without it, you work tirelessly and arguably are less efficient because you haven't taken the necessary breaks. Your brain can only process so much. Take the breaks. Go get ice cream. Go run. Go lift. Go to a bar. For God's sake, go do something that's not work-related. Then, come back and work. Unless you're drunk, then sleep. Just take time away from it.
freyr 3 days ago 0 replies      
When giving or seeking career advice, people want to frame things in terms of absolutes.

There are many paths to a successful business. Some successful people sacrificed their families, health, relationships, etc., and others didn't. Some unsuccessful people also sacrificed their lives in pursuit of success.

jkot 3 days ago 0 replies      
No life? You work on what you love, I would say thats pretty good.
WA 3 days ago 0 replies      
If you mean startup in the sense of VC-backed with the goal of maximum growth and market penetration: Probably yes.

If you rather want to do your own thing, I always liked the rule of thumb from the book "Start Small Stay Small". Put 100 hours into the product and 100 hours into marketing. You can do this in a month or two and then you'll see if it works or not and more importantly: You will see if you like working on this thing or not.

jasode 3 days ago 3 replies      
You may not realize this but you're asking a question a "true" startup entrepreneur doesn't think to ask.

Or to put it another way, a passionate entrepreneur would ask the opposite question in some zen philosophy forum, "Must I spend time away from my startup so I appear to have a balanced life?"

The true entrepreneurs are obsessed with their startup. They don't want to spend time shooting the breeze drinking beers with their buddies. They don't want to sit still on the beach staring at the ocean. (At least at the early stage, but maybe later when they're Bill Gates' age.) They'd rather program one more feature on that web page. The startup work is not an "obligation". The business startup work is who they are. These types of passionate people are rare and most people really can't relate to the startup founders' focus.

The obsession and singular focus on startup work is similar to musicians' obsessions with composition, athletes with sports, etc.

Sure, you'll want to hear an answer of "no you don't have to give up your life" and many people will give you that answer but realize that you're competing with entrepreneurs who don't even ask it. The startup is their life and therefore, there is nothing to "give up" when they're working on it all the time.

EDIT to the downvoters: can you list examples of "successful startups" as that phrase is understood by the HN readers where the founders work 40 hours per week so they could have a "balanced life" outside of their business? Is there a YC company in the portfolio where founders are working just 40 hours? Did I misunderstand what the poster is asking? Isn't he asking about founders who run the startup and not the line employees?

iolothebard 3 days ago 0 replies      
Depends on how much capital you have and how paranoid you are about failure. So, yes.
meritt 3 days ago 1 reply      
Define life.

You absolutely need to work hard and devote yourself but that doesn't mean you cannot have a life.

It might not be the 9-5 "life" all your friends are enjoying but how about sacrificing 5-10 years of hard work building something amazing in exchange for an early retirement while everyone else settles in for next 40-50 years?>

Ask HN: Is meteor.js still a thing?
6 points by adius  2 days ago   11 comments top 10
dror 2 days ago 0 replies      
I was a big fan of Meteor early on, but the decision to go Mongo and only Mongo killed my interest. I can't think of anything that I can do on Meteor that I can't do faster and better with a set of tools that I assemble myself.
smt88 2 days ago 0 replies      
I saw people talking about it all the time a few years ago, and then I saw some posts that described it as messy garbage, and I haven't seen much about it since then. Angular 1 went through the same process here on HN, except it's highs were higher and lows were lower.

The most recent JS trend is to complain about how trendy JS is and how hard it is to keep up.

traviswingo 1 day ago 0 replies      
It is, but it's very targeted towards a specific use case. My company started out with Meteor given its ease of 2-way data binding a event listeners - not to mention built-in mobile support. It seemed like a great solution for rapid prototyping and proving our concept.

Since then, we've navigated away from Meteor to our own custom stack that better suits our needs.

Bottom line, it's freakin awesome for prototyping real-time web/mobile apps in a VERY short period of time. There are a few companies rolling it in production, though, it just depends on what you require.

claudiug 2 days ago 1 reply      
A very legit question.

Given the amount of frameworks, libraries and `the correct way` of writing proper code and using the `correct` tools, I think meteor has his own place in the world, but I guess, there is much noise, and I guess they are not hot anymore.

Few years ago, meteor was the next big idea of the web, then:




react native


then no libraries anymore, as we can do it manually.

Even JQuery seems to recover and become a nice cool alternative :)

hanniabu 2 days ago 0 replies      
Yes it is. To answer a few of the comments here, it's currently going through an overhaul. They are making integrating a lot better for certain tools and switching out others such as replacing their own virtual dom tool with React. They are also working on supporting other DBs besides Mongo (I believe they currently have Postgres support).

Basically, with skimping on details, they're really increasing in the future of the framework right now. You can check on their blog for more info and skim their accomplishments, upcoming releases, and current goals in the pipeline.

gunn 2 days ago 0 replies      
Yes and you can get a good idea of the activity by looking at the forums: https://forums.meteor.com/
zerr 2 days ago 0 replies      
One a similar note, what about Opa? http://opalang.org/
pedalpete 2 days ago 0 replies      
I believe they are going through a transition. Check out this blog post http://info.meteor.com/blog/meteor-night-1.3-and-beyond

Who knows if they will be successful, but there is opportunity to improve web development without being a javascript front-end library.

Huhty 2 days ago 0 replies      
pizza 2 days ago 0 replies      
Meteor is used a lot in Dapp development for Ethereum
Ask HN: Human role in an AI World
11 points by FjordPrefect  3 days ago   5 comments top 5
EliRivers 3 days ago 0 replies      
where a computer can do anything a human can do, but better, doesn't seem far away.

It's far away. Deepmind and chums are building systems that are very good at tuning some variables such that we end up with a set of calculations that perform well at tasks with small, well-defined input sets, fixed rules, very small sets of legal outputs, and simple measures of "goodness". A chum of mine working there says that this view isn't uncommon within the company, and that many people there believe that the current path is not leading towards any kind of general "intelligence", and isn't meant to. If we weren't already stuck with the term "AI" we would be calling these something like "rapidly iterated and highly-tuned algorithm sets for very specific, low-information, low-interpretation fixed-rule systems".

Don't get me wrong; they're impressive, and they've got the potential to be useful tools for certain kinds of task. Are there some tasks currently being done by humans that a suitably tuned set of automated calculations of this nature could do better? Sure.

angersock 3 days ago 0 replies      
Some (small) number of humans will own the capital and resources on which the AI run, in turn shackling and exploiting the remainder of the human race.

The remainder of the rest of the human race will be in full support of this state of affairs, as some (small) portion of the AI will be charged with public opinion manipulation and securing/hiding the resources of the small portion of humans mentioned above.

If you want to see the future, imagine a golden Iphone, "Siri, stamp on this poor person's face", forever.

stray 3 days ago 0 replies      
Didn't seem too far away 30 years ago either.

While extremely impressive, AlphaGo is still a one-trick pony. We won't be coppertops for a while, yet.

But what does a future look like for humans when we're no longer needed? As it has always been, that depends largely on the compassion of those humans with great wealth and power.

Good thing there aren't flying weapons to worry about. Oh wait...

danieltillett 3 days ago 0 replies      
Pets at best, raw material most likely, and victims of revenge at worst.
ankurdhama 3 days ago 0 replies      
Maintenance and management of these so called AI systems.
Ask HN: How do you manage your SSH keys?
93 points by GmeSalazar  3 days ago   52 comments top 15
steventhedev 3 days ago 1 reply      
I've configured ssh to use a different key for each server [0]. I don't bother with passphrases on each key, instead relying on a encrypted home folder. Also, I have a script [1] for rotating keys, so rotating all my credentials is a single command.

[0]: https://github.com/stevenkaras/bashfiles/blob/master/.ssh/co...

[1]: https://github.com/stevenkaras/bashfiles/blob/master/.ssh/

jupp0r 3 days ago 0 replies      
My ssh keypair is derived from my GPG keys. They have been generated on my yubikey neo-3. The private key has never been in any computers memory (generated on the smart card). Public keys for ssh and gpg can be downloaded at my blog.
fweespee_ch 3 days ago 1 reply      
I use ssh-agent and 1 key per computer.

If a computer and/or key is compromised, well, I just nuke all the related keys.

I don't understand the desire to manage a large number of keys since the attack surface is pretty clear:

A) The machine is not compromised and the key is safe.

B) The machine is compromised and the key should be replaced ASAP.

C) As a byproduct this forces obsolescence of keys in the ~3-4 year timeframe and you really should be swapping out keys every so often anyway. This keeps you from ignoring this fact for a decade :p

Sevrene 3 days ago 1 reply      
I use ssh-ident. It creates a separate ssh agent for each identity you use and you can setup a different identity for each host or ssh argument. And if worse comes to worse, it will prevent someone running off with all the keys you are currently using because instead they only have access to that one agent, not all your agents.

The downsides (besides possible security implications of trusting someone else's code to manage your keys) is that tools like rsync and scp won't work straight out of the box. You have to either alias ssh to ssh-ident, or provide the path to ssh-ident yourself.


styles 3 days ago 0 replies      
Keep it simple. I use ssh-agent .. just ~/.ssh/ - keep keys here. Backup the actual private keys and stick those on a drive you keep in a safe. Make sure your machine's HD is encrypted and you should be fine.
jacquesm 3 days ago 3 replies      
Is it even safe to discuss where you store your keys and how you protect them? That's halfway into a social engineering step, and sure, that's a bit of 'security by obscurity' but if I asked you where do you keep the spare keys to your house would you be comfortable answering that if you were identifiable?
Blahah 3 days ago 2 replies      
Related question: how do you manage service auth credentials for your code? E.g. client secrets for OAuth. I've never found a good solution.
ecesena 3 days ago 1 reply      
I think the most important thing is key rotation, and generally I do it every year or so.

I prefer a single ssh key for almost everything. It's on only 1 laptop that I use daily. There is no protection on the key itself, but I always lock the laptop screen (password protected) when I leave the laptop alone.

I have other laptops/devices, usually with different keys. My "master" key is also on my 2nd laptop. Although I could have a passphrase there, I still prefer no protection except screen locking. This said, this 2nd laptop never leaves my home, where only trusted (and "innocuous") people can touch it.

vinceguidry 3 days ago 1 reply      
I used to use an agent, the problem with an agent is that it will only try like 5 keys before failing. This makes it impractical to use a different key for each server.

Now I just put an identity in ~/.ssh/id_rsa and use ssh-copy-id to copy it over. Dead simple and easy. One of these days I'm going to replace the key, a script to remove ~/.ssh/authorized_keys before re-running ssh-copy-id will do the trick.

Though, these days, I'm trying to move towards making servers cattle rather than pets. I don't want to ssh into a server at all, just use configuration management to interact with them.

2bluesc 3 days ago 0 replies      
I use a yubikey neo + gpg smart card feature with SSH enabled gpg agent. I disable password logins and have backup key stored offline.
keeperofdakeys 3 days ago 1 reply      
If you use an agent, just make sure you enable the option for it to prompt you upon use. This shouldn't require you to reenter your passphrase, so it's still unlocked in memory.

If you don't do this, any root user on any machine you connect to can use your ssh-agent connection to auth to other machines.

packetized 3 days ago 3 replies      
gpg-agent with a Yubikey holding my SSH private key.
xwintermutex 3 days ago 1 reply      
Any recommendations for backing up (private) keys? Like pgp keys for example? I consider printing them on paper, as text or QR code. Anything better than that?
giomasce 3 days ago 0 replies      
I use Monkeysphere (http://web.monkeysphere.info/), which aims to use OpenPGP as a PKI for SSH keys. It basically provides scripts to generate the authorized_keys file from a list of a OpenPGP key IDs (on the server side) and feed the GPG private key material to ssh-agent (on the client side). I think the client step can also be used directly by gpg-agent (which can play the part of the ssh-agent as well), but I am not using it. I am overall quite satisfied, but see below.


* When you update your trusted GPG certificates (adding new auth keys, revoking others) the authorized_keys files get updated at the first execution of monkeysphere on the server (you usually put that in cron together with gpg --refresh-keys). So you can rekey without having to change manually all the SSH accounts you have.

* You do not need to recompile or patch SSH and it is compatible with other keys not fed by Monkeysphere.

* The GPG PKI, although not perfect, has quite some features; in particular, it lets you somewhat easily manage different keys on different computers, generate and revoke subkeys independently. The web of trust also helps you when trusting keys from other people.

* Monkeysphere can also be used for SSL certificates, although that is more difficult and less supported (and also less useful, now that we have Let's Encrypt).


* Monkeysphere's development appears to be a bit stalled; not the ideal situation for a security-related thing.

* Monkeysphere does a good job, but it should not be trusted blindly. There may be a number of situation where external conditions may break the game; e.g, if you do not realize there is a misconfiguration, a revoked key may remain in authorized_keys because Monkeysphere is failing at updating; if you trusted Monkeysphere to do everything correctly, you would be exposed without knowing it.

* The GPG PKI as well is not perfect; for example, key management is complicated with many subkeys (for instance, you cannot give meaningful names to them) and the web of trust mechanism does not support "scoped trust" (i.e., giving different trust levels for different things you want to do).

* Monkeysphere only works when the remote host is a Linux box where you can install Monkeysphere and have it update authorized_keys via cron. No hope to manage GitHub keys or things like that (unless they introduce support, which seems unlikely).

stock_toaster 3 days ago 0 replies      
ssh-agent with IdentitiesOnly. Fairly regular key rotation schedule, with separate keys for groups of servers based on a loose taxonomy.
Proximi.io unfied API to all positioning technologies
3 points by anninakoskiola  2 days ago   discuss
Ask HN: Engineering Degree: Mathematics and Statistics vs Software?
4 points by noobie  2 days ago   5 comments top 4
baruch 1 day ago 1 reply      
My BA is in Math (theoretical, no statistics) with some CS courses (mostly basic ones and a few advanced ones in crypto). I didn't have a big issue finding a job beyond what others at the same time that finished a CS degree.

I did do quite a bit of open source projects both on my own and joining into other projects (LyX is a good match for a math degree :-)

If I had to do it again I'd learn statistics properly now, I find this is actually a useful part of mathematics for what I do these days (failure analysis and data mining). I believe that if you do your own software projects it should be good enough to be hired.

jbchoo 2 days ago 0 replies      
I'm assuming you are talking Bachelor. If I were in your I would go for Stats and Math. And during my free time I would pick up a programming book. Also try to contribute to open-source project. It's on the job learning.

Why am I recommending this? Because I started with software engineering. And now that I want to do data science I know nothing. I find it really hard to get started with free courses online. I lack foundation in strong stats, linear algebra and etc. It is just so difficult to acquire these from books for me.

shortoncash 1 day ago 0 replies      
I did all three + electrical engineering. No regrets. It's easier to find employment writing software. Thus, if you want something that will let you bootstrap yourself so that you can pay to learn more later, you should lean towards software first and the other stuff after.
hanniabu 2 days ago 0 replies      
Hands down, definitely statistics and math with software projects on the side. Those together will be a win for sure.
       cached 16 March 2016 20:05:02 GMT