hacker news with inline top comments    .. more ..    30 Jun 2017 Ask
home   ask   best   2 years ago   
What are truly anonymous cryptocurrencies? Dash, monero zcash Bitcoin ethereum?
11 points by noloblo  1 hour ago   11 comments top 4
throughnothing 46 minutes ago 1 reply      
Bitcoin and Ethereum are not anonymous, every transaction amount, source address, and destination address can be seen by anyone.

Dash provides some anonymity features, but are generally opt-in (i.e there are certain transaction types which provide more anonymity, but they are not required). Even with "anonymous" transactions on Dash, I believe only the sender/receiver can be somewhat masked, but the amounts are not masked entirely.

Monero provides pretty anonymous transactions which have gotten better with it's recent introduction of Ring Confidential Transactions, which makes it so that new transactions have (by default, and to be enforced later this year for all Transactions) hidden amounts, sender, and receiver.

ZCash is arguably the most anynomous, as it has hidden amounts, sender, and receiver from the ground up, but comes with a bit more risk since it is essentially based on entirely new, and as yet unproven, crypto (zkSnarks). It is an exciting promise for the future, but it also required a "trusted" setup of a random seed which, if compromised by any party, could enable infinite, undetectable inflation of the ZCash currency.

In short, there is no perfect anonymity, everything is a scale and a spectrum of security, and what type of guarantees you can get around the anonymity properties you want.

gonmf 51 minutes ago 2 replies      
At some point you will need to convert fiat into cryptocurrency and vice-versa, and the companies that provide that service legally will require your identification.
Ar-Curunir 46 minutes ago 1 reply      
ZCash is the only one among these currencies that provides strong anonymity.

For an explanation of why Bitcoin is not anonymous, take a look at the recent Keybase post on adopting ZCash:


briceb8e 48 minutes ago 0 replies      
zcash, specifically when using the z-addr and not the t-addr sending method, can provide guaranteed anonymity. Others generally provide anonymity through obfuscation, which isn't "ideal".

Not to say zcash is perfect and alternatives are imperfect. There are pros and cons to each.

Ask HN: Why is there no Snapchat API?
3 points by parfit  1 hour ago   2 comments top 2
smt88 1 hour ago 0 replies      
There is a Snapchat API. The Snapchat client uses it. Several years ago, many, many third-party apps also used it, resulting in the release of huge numbers of pictures that users thought were private[1].

Since then, Snapchat took measures to prevent the use of its API by third-party clients[2].

Besides issues like that, Snapchat has no incentive to provide an API. They use their official client to show ads and therefore make money.

1. https://www.forbes.com/sites/quora/2014/01/03/should-you-wor...

2. https://pando.com/2014/12/22/snapchat-cracks-down-on-third-p...

iDemonix 30 minutes ago 0 replies      
What incentive would there be to offer one? Snapchat has in-app adverts, an API would offer no such profits.
Ask HN: Where to start learning React?
3 points by alfredelay  2 hours ago   2 comments top 2
dpeck 5 minutes ago 0 replies      
If you like video based learning the Udemy Modern React with Redux course was well done and worth the $10. https://www.udemy.com/react-redux/
lignux 37 minutes ago 0 replies      
I really like Tim Ermilov's "Building products with Javascript" course. It goes on how to build a full product from backend to frontend and uses React for the frontend.

Here's the link: https://www.youtube.com/channel/UCPkKhlR0sXtN5hlB228xuTg

Ask HN: How does Twitter implement following and followers between users
3 points by benkovy  3 hours ago   1 comment top
miguelrochefort 3 hours ago 0 replies      
User1 follows User2

User1 follows User3

User3 follows User1

User3 follows User5


Ask HN: Why HN minimalist design works so well?
4 points by progrocks9  3 hours ago   7 comments top 6
mattbgates 2 hours ago 0 replies      
I love the minimalistic design approach. I've incorporated it into my own designs.. usually using Craigslist as my major influence. No sidebars. No ads that disrupt the reader to the point of annoyance. And I try to make everything pretty easy to navigate.

I usually always get my sister to beta test. She knows enough about computers, but when it comes using computer programs, she can get lost sometimes. So if she questions something, I change it until she has no more questions.

I'm pretty sure the one who designed HN just had a preference for a minimalistic approach and everyone thought it was great, and it has stuck since then. No point in ever changing something that just works. And you can't really do much more beyond "minimalist" -- maybe "brutalist" but it isn't something that is favored by everyone.

urahara 3 hours ago 0 replies      
For me it works so well because there are 0 distractions, just the necessary functionality on top of the high-quality community and content. But the 2nd part is the key, value goes first.
Mz 1 hour ago 0 replies      
My general hand-wavy impression is that it was dreamed up by a guy with a PhD and that was it.
nafizh 3 hours ago 0 replies      
It is simple but not simpler. The voting system has its issues, but compared to other sites, it works pretty well.
gt565k 2 hours ago 1 reply      
It probably took on after Reddit, since HN went live 2 years after reddit.
miguelrochefort 3 hours ago 0 replies      
> UX designer sessions

You must be kidding.

Ask HN: Who is using css grid in production?
17 points by pratikborsadiya  10 hours ago   5 comments top 4
codefined 4 hours ago 1 reply      
We don't use CSS Grid, 40% of our users don't support it in their browser. Judging by the five hours this post has been up, I feel like a lot of Hacker News doesn't use it either.

However, when support for it does go up, we're definitely migrating to it. It seems to have a really nice syntax.

alexswensen 3 hours ago 0 replies      
I have experimented with it. I plan to start using it going forward, as most of our users have support for it in their browser.
yellowapple 1 hour ago 0 replies      
I used it in a personal project (http://loyaltonmuseum.org/), since it made things a lot simpler. Few browsers support it natively, but there's a polyfill for it (https://github.com/FremyCompany/css-grid-polyfill) which supposedly supports just about all modern browsers (including IE9+).
dsschnau 3 hours ago 0 replies      
I do, its pretty great
Ask HN: How do you manage your personal projects?
39 points by cconstantin  12 hours ago   24 comments top 16
bckygldstn 9 hours ago 1 reply      
I have a trello board with a card for each idea. I have 4 lists:

- Braindump: New ideas go here as I think of them.

- Graveyard: Archive of bad ideas.

- Research: Potentially good ideas that need fleshing out.

- Ready: Ideas where I've thought through and documented market fit, timeline, tech stack, marketing, or whatever the project needs. And crucially: first thing to do when I start the project, which makes it easier to get going.

When I have free time I look down my Ready list and pick something interesting, and I've done the prep already to get stuck in straight away.

ponyous 5 hours ago 0 replies      
Was just discussing this yesterday with a colleague. I create new note for every idea I have. I explain it to any detail I feel at that moment.

I also add idea in a spread sheet, and then I rate them with the following criteria:

- Time needed

- Enjoyment

- Potential income

- Career impact

This makes it easy to see which one you are supposed to be working on. My current side project is the highest rated idea on the list.

tmaly 2 hours ago 0 replies      
I also work full-time in software development. I had this problem of deciding on what idea to work on. If you have one idea that solves a problem you have, scratching your own itch is good. If not, I would look for an idea that solves a problem you know people have. If you are still not sure, signup for something like OppsDaily.com newsletter, it sends out a daily email to subscribers of a problem someone is willing to pay to be solved.

For me, I chose to scratch my own itch. I work on a food side project called https://bestfoodnearme.com but my time is extremely limited to a few hours a week. I keep a sketch pad to write down my ideas for the site. If I have ideas related to other projects, I write them down in a more general pad apart from the sketchpad that is focused only on the food site.

I put constraints on which features and ideas I need to work on. If there is a bug in the basic functionality of a project, I tend to work on that first. For new features, I will only consider them if I get feedback from at least 3 different unrelated people that mention the same feature to me.

I always plan out the night before which tasks I will work on the next day. That way I can hit the ground running.

mabynogy 10 hours ago 0 replies      
When I have an idea I append it to my "idea.md" text file.

I only start something when I know some people that could be interested in (mostly to have feedbacks).

I do many projects at the same time (3 now). Sometimes the projects can converge.

hankewi 9 hours ago 0 replies      
When I have an idea I make a quick JayPad (its a tool I think is a perfect solution for this problem) about it. I write down everything I need to get out of my head and structure it along the lines: Problem, Solution (+tech specifics), Business Model, Competition. After that I invite someone which I think shares the problem and which might be interested in working on the solution together and we just bounce ideas.

If the idea lasts this test we specify next steps and just start working on a prototype right away. Honestly: I am juggling way to many projects - but I just love it and I cannot help it. By getting someone on board right off the bat I have managed to force myself into getting things done quicker. This process at least secures that I get stuff done and I have successes from time to time :-)

T-zex 10 hours ago 1 reply      
Get married, get kids. Have no time left. No projects, no cry.
_ao789 11 hours ago 0 replies      
Very interesting question actually. I personally have this problem as well and find that focusing on revenue streams first somewhat resolves the problem. At least for me..It sounds like you need to get a partner and throw everything into a pot and pick the most lucrative items first.
12s12m 11 hours ago 1 reply      
Sort your ideas based on the basis of most potential or most value. Pick the first. Stick with it for at least 3 months.
dorian-graph 9 hours ago 0 replies      
I have a file `projects/idea.md` which is a template. I make a new directory with a copy of this file and then fill it out. I've used this and completed a couple of small side-projects and I'm tracking a ton of others. I add things I come across, archive things if someone beats me to it, etc. idea.md content:

# Initial thought





Why is it worth the effort?

Why is it not worth the effort?

What already exists?


# Log


- ?


- ?

andrewchambers 10 hours ago 0 replies      
Don't do more than one at the same time - its how you get no results for any.
yourstruly33 10 hours ago 1 reply      
Help: I haven't had an idea for a project in a long time. It might be because of the shitty job I have but I really can't find one even to bear my daily work. Advice on how to get them back?
karrotwaltz 10 hours ago 0 replies      
Are you doing this for money, or for learning maybe? I think defining your goal is really important in order to work toward it.

I'm doing projects for learning, so I only care about adding new useless features that are technically interesting to me, without a time limit.

grumph 9 hours ago 0 replies      
I use zim (but planning to switch to org-mode which seems a lot more powerful), but any good note taking software should do it.

I put most of the things in my homepage with a tree of check-boxes (tasks) divided in 3 sections:

- To-plan : idea dumping, less than 5 words or just an URL for example

- To-do : tasks to do

- Urgent : tasks with a close deadline, should contain not many tasks, or be empty if possible.

When I start a project (moving a task from "to plan" to "to do"), I add a page with multiple mostly static info on it, like a small summary, final goals, commands I need to be up as fast as I can, important URLs.

When I add tasks to a project, I try to make them as small as possible (maximum a few hours for a task), most of the tasks are broken into multiple sub-tasks, that sometimes lead to a new project. Like with git, commits (tasks) should be atomic and when done it must still compiles (no "work in progress" state when I'm done with a task). It's also easy then to find common sub-tasks or sub-projects.

The first tasks on a project are almost always research, compare the solutions to pick the best, prepare and document the working environment, and are often longer than the rest.

New tasks/projects go on top on my tree, so when I have to pick one, I read my list from bottom to up.I sometimes rearrange sub-trees to prioritize them.

When I want to do things, I pick tasks I will work on with these criteria :

- What I'm motivated to do right now (most important actually)

- How useful it will be (for other projects, to ease my life, ...)

- How fast it will be, regarding the free time I might have in the near future.

That way, my (too many) projects all go forward at the same time, I optimize the time I spend on them (with "how to get up to work" instructions), and I always have something to do that I like.Some of my projects get done from time to time. But most do not and it's OK, because I always come up with new ideas so there is always things to add, and the project is never really over.

I don't personally need it, but one way to be stimulated with this flow is to keep your done tasks checked, in an archive page to not pollute your main page for example, and with dates if you are organized, so you can look back at what you achieved from time to time.

PS: I think it's close to GTD, but I didn't take time to read about it to be sure.

tedmiston 7 hours ago 1 reply      
Just start one, then only work on one personal project at a time until it's done.
SJetKaran 8 hours ago 0 replies      
Only thing that I can say right now is that I use org-mode. The way I manage my personal projects is constantly changing for the past one year. I'm trying out different tools, workflows, etc. Haven't come to an ideal setup yet.
Numberwang 11 hours ago 0 replies      
Ask HN: Best tech Twitter accounts to follow
24 points by claroscuro  23 hours ago   7 comments top 6
Arcten 18 hours ago 0 replies      
@pinboard for excellent snark + tech political activism
arikr 23 hours ago 1 reply      
News wise? Tech journalists.

Though I think the better use of twitter is to follow people like @naval and similar accounts. More of general life/interesting thoughts.

schneidmaster 18 hours ago 0 replies      
@SwiftOnSecurity. Excellent tweets on security, general programming stuff, nerd humor, and women in tech.
wonder_bread 18 hours ago 0 replies      
There are loads of good ones out there but here's a few IMP:

-MadewithARkit (brand new, lots of cool stuff)



-Kara Swisher

-Christopher Mims

-Google Developers

-Google Research

-Steve Jurvetson

-Siraj Raval

Honorable Mentions, the Parody Tech Accounts:

-Not Jonny Ive

-Bored Elon Musk

claroscuro 12 hours ago 0 replies      
Thanks! I'll check out naval@
skdotdan 8 hours ago 0 replies      
Ask HN: Is there no hackable RC car?
14 points by bcherny  21 hours ago   11 comments top 7
jweather 16 hours ago 0 replies      
Most RC cars are about as hackable as it gets already. You can drop an Arduino in between the receiver and the motor controller/servos and drive them however you want with simple PWM signals. 3x3 feet is enormous, though -- you could try looking for sites that sell BattleBots starter frames, depending on the terrain you want to tackle. Here's one: http://www.battlekits.com/
King-Aaron 17 hours ago 1 reply      
How about powerwheels cars?

They're cheap second hand, they have a cheap plastic body so you won't feel back chopping it up to fit hardware onto it... They don't have electric steering, so you'd need a servo to operate that. However they're pretty good otherwise.

Edit: An article on the subject. Brief but you get the idea https://devpost.com/software/self-driving-powerwheels

jquast 4 hours ago 2 replies      
just received this as a gift, https://www.elegoo.com/product/elegoo-uno-project-upgraded-s...

haven't put it together yet, but its got everything you want except video camera, no reason it can't be added -- its just an arduino..

robotresearcher 11 hours ago 0 replies      
Intel's Euclid might be interesting for an all-in-one sensing and compute unit. Just need to interface with motor controller and steering servo. Arduino would be a good pairing for that. The RGBD camera is probably indoor only for depth.


lathiat 16 hours ago 1 reply      
It's relatively straight forward to build RC cars through hobby components, i'm not sure about a 3x3x3 car kit though - I think most kits target a different size. You can probably use the same sortof stuff to build such a thing though.

Look at hobby king for cheap bits...

There's also several published self driving RC car projects including code but right now my google is failing me, theres a couple hobby ones using rpi and such and one from a university I wish I could find.

lamlam 15 hours ago 0 replies      
>made to be hacked.

An oxymoron if I ever saw one.

I don't think there's any way not to get into the hardware part if you want to do something like this. If you are really opposed to hardware then might I suggest looking at some road traffic simulators and trying to simulate a self driving car? Might be a good place to start.

yial 12 hours ago 0 replies      
Personally, any hobby-grade rc car that uses servos for steering, a real receiver, etc is pretty easy to hack.

For something large, I would say look at the Traxxas X-Maxx.

Ask HN: What are the best books on low-level programming
4 points by scvalencia  13 hours ago   4 comments top 4
NonEUCitizen 1 hour ago 0 replies      
Michael Abrash's Graphics Programming Black Book. He's also got a few "Zen of ..." books:


le-mark 5 hours ago 0 replies      
"Programming from the Ground Up" is a really fantastic book that starts with some architecture, assembler and executable file format. Discussion: https://news.ycombinator.com/item?id=11702025
tomByrer 13 hours ago 0 replies      
Can't get more low level than ASM


brudgers 4 hours ago 0 replies      
The Art of Computer Programming, perhaps?
Ask HN: A good primer on cryptocurrencies?
299 points by uptownfunk  1 day ago   71 comments top 36
fzaninotto 1 day ago 3 replies      
I wrote a three-part study on the Blockchain phenomenon a year ago, based on real experience with Ethereum. It's intended for web developers. It ends with an unusual conclusion.

- https://marmelab.com/blog/2016/04/28/blockchain-for-web-deve...

- https://marmelab.com/blog/2016/05/20/blockchain-for-web-deve...

- https://marmelab.com/blog/2016/06/14/blockchain-for-web-deve...

olalonde 1 day ago 4 replies      
The paper that started it all is still a good read: https://bitcoin.org/bitcoin.pdf
bowaggoner 1 day ago 2 replies      
I recently was researching bitcoin, blockchain, etc, and I found it surprisingly difficult to find good but relatively short resources! I synthesized what I found into some slides that you might find helpful[1].

Apologies if this seems like self-promoting my own slides -- and I should say I am not at all an expert here -- but I created them mainly because I had trouble finding a "primer", so maybe they can help others in a similar position.

[1] http://bowaggoner.com/talks/2017/bitcoin-etc.pdf

ktta 1 day ago 1 reply      
To really understand cryptocurrencies, you must understand Bitcoin. Not just its inner workings but where it came from and how it became what it is today.

The rest of the cryptocurrencies are only hoping to gain Bitcoin's popularity (which Ethereum is getting close to) that it maintained for nearly a decade.

Back in the day the following links helped me understand bitcoin:



Once you properly understand bitcoin you are ready to understand other cryptocurrencies pretty easily. If some design choices don't make sense (secp256k1), then remember that Bitcoin's creation was close to when someone was caught doing something[1]. This is the answer to why many cryptocurrencies choose non-standard algorithms (aka. not NIST)


thedarkproject 1 day ago 1 reply      
I was looking for a good primer and I found the original Bitcoin paper itself to be a pretty good starting point: https://bitcoin.org/en/bitcoin-paper

Furthermore, I suggest the Princeton cryptocurrency intro course on coursera [1]. If you have CS background, you can skip the explanations of hashing etc and concentrate on the mechanics and incentives in cryptocurrencies, which are illustrated quite nicely.

[1] https://www.coursera.org/learn/cryptocurrency

Jimbabwe 1 day ago 0 replies      
This demo/primer on the blockchain itself is fantastic, if you're looking to understand the underlying technology: https://anders.com/blockchain/
jgalvez 1 day ago 1 reply      
I read this back to back and vouch for it:http://chimera.labs.oreilly.com/books/1234000001802

Bitcoin-centric, but covers a lot of ground.

jmeyers44 1 day ago 0 replies      
Nader Theory has a post "The Ultimate Layman's Guide to Bitcoin" that is great: http://www.nadertheory.com/#!/main/articles/post-08-the-ulti...

Since you will no longer be a layman, you can then follow that up with his post "The Intelligent Cryptocurrency Investor" : http://www.nadertheory.com/#!/main/articles/post-09-the-inte...

Edit: include article titles

ivan_ah 1 day ago 0 replies      
I found this to be a good overview paper. Research Perspectives and Challenges for Bitcoin and Cryptocurrencieshttp://www.jbonneau.com/doc/BMCNKF15-IEEESP-bitcoin.pdf
Temasik 1 day ago 1 reply      
If your looking for a cryptocurrency that doesn't use a blockchain but Directed Acyclic Graph


aml183 1 day ago 0 replies      
satanic_pope 1 day ago 2 replies      
Cryptocurrencies with Tim Ferriss, Nick Szabo and Naval Ravikant [Podcast]


Dnguyen 1 day ago 0 replies      
azophy 1 day ago 0 replies      
Aside from many 'theoritical' reading suggested by others here, I found that this tutorial is incredibly helpful: https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co...

I myself have also made the PHP version of the code implemented there. You could see it here: https://github.com/azophy/naivechain-php

Hope it helps

avery111 1 day ago 1 reply      
I recently read the white papers of both bitcoin and ethereum. I would definitely read bitcoin's white paper first. I actually read the annotated versions from Fermat's Library:

- http://fermatslibrary.com/s/bitcoin

- http://fermatslibrary.com/s/ethereum-a-next-generation-smart...

aaronhoffman 1 day ago 0 replies      
Bob Murphy's free ebook http://understandingbitcoin.us/
delhanty 1 day ago 0 replies      
Four days ago I asked [1] for technical references on the differences between the Bitcoin and Ethereum blockchain length function, and @DennisP replied with 4 links [2] - Satoshi's classic paper and 3 good links on Ethereum.

[1] https://news.ycombinator.com/item?id=14624714

[2] https://news.ycombinator.com/item?id=14625430

sudshekhar 1 day ago 1 reply      
Any good resources to understand the economics/finance impact of cryptocurrency and the broader scale implications of blockchains? Usage in different fields etc.
criddell 1 day ago 0 replies      
I first learned about Bitcoin when Steve Gibson did an episode of his podcast Security Now on the topic:


If you have an understanding of basic cryptography primitives, then I think it's an excellent introduction, especially if you learn well via audio.

adim86 1 day ago 0 replies      
This is a funny post, but it will give you the very basics on cryptocurrencies and set you up to understand the more complex parts as you read more technical documents:http://blog.adimofunne.com/crypto-in-the-hood/
thisisit 1 day ago 0 replies      
I am no expert on this but it depends on what is your interest? Is it from a use case perspective or a technical one?

Technical perspective, people tend to conflate crypto currency with blockchain and vice-versa. Both are not the same. Crypto currencies are an implementation of the blockchain concept with their own twist on how to leverage blockchain.

A good primer on blockchain is - https://anders.com/blockchain/

Then there is the bitcoin paper which not only introduces blockchain but also explains bitcoin:http://fermatslibrary.com/s/bitcoin

The white papers of various currencies also provide the technical perspective and details on their implementation.

Use case perspective, you will have to rely on white papers by the specific coins. They will delve into how they look at blockchain to solve their problems. Beware these papers tend to be verbose and full of marketing fluff. So unless, as Warren Buffett puts it[1], within your area of competence there is nothing to be gained.

One thing I have realized over time is that many people writing stuff on cryptocurrency tend to be very verbose. Case in point:https://www.igvita.com/2014/05/05/minimum-viable-block-chain...

This in my opinion, and I am known to be very wrong most of the time, is because it takes the technical route to explain things than standard expressions.

Basic stuff like - what is a block is elongated with many technical terms. The simplest answer is "block is a public ledger and contains all transactions". Ledger is a legit word and you can find tons of articles explaining what is a ledger. But then you have tons of articles which skip this simple explanation in favor of a elongated explanation using technical terms and putting their own versions of what constitutes a transaction.

[1] http://www.businessinsider.in/The-Circle-Of-Competence-Theor...

mlla 1 day ago 0 replies      
One good resource for understanding on how Bitcoin works on a lower level is this article: http://www.samlewis.me/2017/06/a-peek-under-bitcoins-hood/

It goes through the details of creating a tiny Bitcoin client that can send transactions so that they will get included in the blockchain.

djohnston 1 day ago 0 replies      
Read and reread the Bitcoin white paper. As you read it, ask yourself questions like, "what if I do x, could I then double spend?" I've read it 3 times over the course of a year or two and it's always served as a good conceptual foundation.
bootsz 1 day ago 0 replies      
+1 to the Coursera course by Princeton that others have mentioned. Just finished it and really feel like I came away with a pretty thorough understanding of the fundamentals. Got exactly what I was looking for.
FullMtlAlcoholc 1 day ago 0 replies      
This may be a more comprehensive resource in you're looking for but Princeton is offering a course on bitcoin via Coursera:


kumartanmay 1 day ago 0 replies      
Cryptocurrency explained in plain english: https://www.linkedin.com/pulse/blockchain-plain-english-mike...
shiado 1 day ago 1 reply      
I definitely suggest reading mastering bitcoin. The second edition appears to have recently been released. http://shop.oreilly.com/product/0636920049524.do
s_dev 1 day ago 1 reply      
corv 1 day ago 1 reply      
Andreas Antonopoulos' 'Mastering Bitcoin' book.

In my opinion the best technical resource on Bitcoin.


His book on Ethereum is still work-in-progress.

elorm 1 day ago 0 replies      
There's a ton of resources here as well


kerkeslager 1 day ago 1 reply      
I'd love to understand how zcash shielded-address-to-shielded-address transactions work. Any good technical explanations of that algorithm?
kumartanmay 1 day ago 0 replies      
I find the pictorial explanation of www.blockgeeks.com very very much interesting for a beginner. If anyone gets serious about it, the paper at bitcoin.org that started it all is a must read.
fiatjaf 1 day ago 0 replies      
First try to imagine a way to have decentralized money on the internet by yourself.
wousser 1 day ago 1 reply      
While on a similar topic, what would be a good primer on blockchain?
Ask HN: Security tools used to test AWS infrastructure
13 points by ionutC  23 hours ago   2 comments top 2
toomuchtodo 16 hours ago 0 replies      
Evident.io. We're using it to monitor hundreds of AWS accounts in our org.
Ask HN: What are the best books on modern computer graphics?
285 points by BigJono  2 days ago   76 comments top 23
Jare 2 days ago 5 replies      
I would not advise anyone to try to get into computer graphics directly with the Vulkan or DX12 APIs. Start with DX11, modern OpenGL and/or WebGL, and work through your computer graphics theory (and a lot of practice) using those. Geometry, illumination, shaders, tools and GPU computation will take a lot of time to master. When you decide you want to go into low level APIs, if you are comfortable with Apple systems, Metal will likely be easier than Vulkan/DX12.

A lot of the theory from classic books is still valid, so even a copy of Computer Graphics: Principles and Practice will look fine on your desk. "Real Time Rendering" by Moller/Haines and "Physically Based Rendering" by Pharr are excellent. "Game Engine Architecture" by Gregory and "Mathematics for 3D Game Programming and Computer Graphics" by Lengyel will probably prove very useful and relevant to you as well.

Online resources, the free https://learnopengl.com/ and the $10 http://graphicscodex.com/ are both fantastic. Make sure to read https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-..., and also study the techniques used for the craziest entries in https://www.shadertoy.com/

And then, lots and lots of papers and presentations from the past 5 or 10 years of Game Developers Cconference and Siggraph.

jacobparker 2 days ago 1 reply      
If you're interested in something that's not strictly real-time a good book is physically based rendering http://www.pbrt.org/ . It uses a literate-programming style which is neat. It's about path-tracing which is similar to ray-tracing but can give an unbiased approximation to the rendering equation (which is a reasonably accurate model of "everyday" optics.) Here is a JS+WebGL (mostly WebGL ;) ) interactive path-tracer: http://madebyevan.com/webgl-path-tracing/


Vulkan is pretty boring to be honest. I'm very doubtful that you want to bother with it if you're just starting. Using these APIs is like filling out tax forms, but Vulkan is a lot more effort than OpenGL (but, OpenGL is weird...) Learning shaders in OpenGL will be pretty transferable knowledge. Vulkan uses a lower-level assembly-like language, SPIR-V that doesn't pretend to be C (like GLSL) but there are GLSL to SPIR-V compilers. I can't comment on DX (I haven't used it.)

Here's a tutorial on drawing you first triangle: https://software.intel.com/en-us/articles/api-without-secret... . Note that there is a lottttt of code to do this (this is part 3...) I really think you could learn more about modern graphics with glBegin(GL_TRIANGLES) and writing GLSL shaders than boring yourself with Vulkan.

If you do want to play with Vulkan there is this book (piggy-backing off the rep from the old "OpenGL Bible") https://www.amazon.com/Vulkan-Programming-Guide-Official-Lea... . I can't give it an honest review because I got bored; I plan to pick it up again later...

gregorburger 2 days ago 0 replies      
- As a starter Realtime Rendering [0]

- The siggraph courses on shading [1]. The 2017 course will be on 30th of July [2]. Current techniques from AAA engines.

- Papers from JCGT [3].

- Plus the paper collection from Ke-Sen Huang linking all graphics related conferences [4]

have fun reading

[0] http://www.realtimerendering.com/book.html

[1] http://blog.selfshadow.com/publications/s2016-shading-course

[2] http://blog.selfshadow.com/publications/s2017-shading-course...

[3] http://jcgt.org/read.html?reload=1

[4] http://kesen.realtimerendering.com/

davidwparker 2 days ago 1 reply      
If you have any interest in WebGL (1), I've been publishing screencasts on YouTube for a while now- I'm up to nearly 100.

The playlist for WebGL is https://www.youtube.com/playlist?list=PLPqKsyEGhUnaOdIFLKvdk...

I'm also covering 3D Math fundamentals now.

My channel https://www.youtube.com/user/iamdavidwparker

Guyag 2 days ago 0 replies      
I can't recommend Scratchapixel enough for diving deep into the concepts behind CG (although it seems to be down for me at the moment ironically). I can't remember how much it goes into libraries or if it sticks to implementing things from scratch, but I find knowing the concepts behind something makes learning the libraries much easier anyway.


nikivi 2 days ago 0 replies      
We made a mind map for learning computer graphics :


The basics node has the best resources for learning the subject.

escapetech 2 days ago 1 reply      
What many people fail to realize is that the older and fixed pipeline legacy API's in modern graphics cards are emulated with thin layers directly on top of the modern stacks. On today's iOS devices, OpenGL ES 1.0 is emulated with the OpenGL ES 3.0 API, which very likely in turn is emulated with the Metal API.

If there was a genuine interest in helping the transition to the newer API's, the different parties writing and implementing today's API's would publicly make available the code for emulation layers to the older API's.

samlittlewood 2 days ago 0 replies      
Whilst not realtime rendering - Physically Based Rendering (Pharr, Jakob & Humphreys) http://www.pbrt.org/ is great for understanding what people are trying to achieve, without being distracted by very detailed optimisation etc.
open_bear 2 days ago 0 replies      
Fabien Sanglard's bookshelf has all you need: http://fabiensanglard.net/Computer_Graphics_Principles_and_P...
Mathnerd314 2 days ago 0 replies      
It's not a book, but if you poke around the Unreal Engine source code you can learn quite a bit:


You need to join the org first, https://github.com/EpicGames/Signup

dahart 2 days ago 1 reply      
@BigJono - it would help to hear a little more about your overall idea or goal of what you might want to do. Like are you thinking maybe game engine programming? Mentioning Vulkan/DX12 implies you might want to get into real time engine/shader programming, but that's only a small slice of "modern computer graphics".

If you're interested in computer graphics in general, and googling "modern computer graphics", then the Vulkan/DX12 APIs aren't super important, the fundamentals of CG have not changed at all. The paradigm shift with those APIs is centered on performance, not on new concepts. You can learn vast amounts of computer graphics by writing a ray tracer or animation program or using off the shelf renderers, and never touch Vulkan or DX12.

There are definitely lots of great suggestions here, but it's a wide variety, because it all depends on what you envision or hope to do. It doesn't have to be fully formed or thought out, but if you had some inking like 'hey I saw this awesome procedural animation on Vimeo and I want to learn how to do that' or 'I'd love to work for Valve someday... what steps do I have to start taking?' or 'I was thinking I should add some 3d to my website' or 'I want to be a film animator', if we had a little more insight on what you're hoping, we can definitely get answers that will be more focused and helpful.

bhouston 2 days ago 0 replies      
I sort of know this area.... There two separate paths -- realtime or non-real-time.

For non-real-time there is: http://www.pbrt.org/

For real-time there is this: http://www.realtimerendering.com/

Neither book gets into the details of the specific API, they are theoretical.

Real-time techniques change nearly complete about every 10 years because GPUs get faster and render more techniques possible and obsolete the older less good looking techniques.

honestoHeminway 2 days ago 1 reply      
To be honest, the books in GFX programming are usually about old consolidated methods. The new stuff is - everywhere, in blogs, in papers, in shader-toys.
gavanwoolery 2 days ago 0 replies      
IMO you should step back and ask: what is your end goal?

1) To make games (commercial games) or other realtime graphics application?

2) To make 3D rendering software or other semi-non-realtime software?

3) To have fun / learn?

4) Etc.

If you just want to learn/have fun, my personal recommendation is to write your own software, from the ground up. Ignore DirectX and OpenGL (unless you need them for a context to get pixels on the screen).Use a fast, native language like C/C++.

Teaching yourself and exploring is 100x more fun than reading a book, IMO (at the same time, you may learn faster using a book).

Try working with a naive projection algorithm to get 3d points on the screen. Like y' = y +/- z (Zelda-esque bird's eye view). When you are comfortable with matrices and vectors, learn "real" projection algorithms.

auggierose 2 days ago 0 replies      
I am picking up on computer graphics again now, too, after dabbling a bit in it well over 18 years ago (and for a small iOS game 8 years ago). I am restricting myself to Apples platform currently, this might not be what you want, but maybe others prefer it. They have great SceneKit WWDC videos dating back all the way to 2012. I recommend watching them from 2012 to 2017 in historical order. Also I am learning Blender, a free 3D authoring tool. I can recommend the free wiki book athttps://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro .
CyberDildonics 2 days ago 0 replies      
I would recommend starting with things like touch designer and/or houdini. Jumping into the programming side right away can be done, but understanding things visually should give a much better foundation. From there you can write shaders in real time in touch designer or put them together with nodes in houdini. Simple expressions and small python fragments can help understand what certain manipulations look like. From there the programming side will make a lot more sense.
nkg 2 days ago 3 replies      
Slightly off-topic, I am looking for resources about geometry applied to computer graphics (because I have forgotten everything I learned at school). Any advice ?
kobeya 1 day ago 0 replies      
Real Time Rendering is particularly good at explaining the underlying concepts of modern GPU rendering pipelines.
mi_lk 2 days ago 1 reply      
Does anyone have comments on Ray Tracing Minibooks --Ray Tracing in One Weekend, Ray Tracing: the Next Week and Ray Tracing: The Rest of Your Life?


hyperpallium 2 days ago 0 replies      
I understand that Vulkan is more efficient for the CPU, not the GPU. However, because it's low-level, giving more control over the hardware, it can enable new techniques that weren't possible before.

Do any of these new Vulkan (or Metal or DX12) techniques actually exist yet?

sciguy77 2 days ago 0 replies      
I'm actually trying to learn compute shaders specifically. I've followed all the tuts and guides I could find and have made some neat things, but I still want more depth than I can just find through Google. If anyone has any recs for further study I'd really appreciate it :)
vram22 2 days ago 0 replies      
There was a book written by a US college CS professor that I saw a while ago online. I think it was free to read online, maybe other versions were paid. Unfortunately don't remember the professor or book name now. It covered OGL and HTML Canvas. I remember thinking it looked good. Maybe someone else here can say what the book name is.

Edit: Maybe covered WebGL too.

Ask HN: DevOps learning resources
273 points by durian89  2 days ago   62 comments top 34
oblio 2 days ago 7 replies      
Well, the best way to learn is to actually do something. Create a small service in your favourite framework. Something really small, an echo service will probably suffice.

Then stop "developing" and switch on "Ops mode".


- builds (build & packaging scripts)

- deployments - try all 3 major approaches:

 - push deployment: running a command on a central server that orchestrates everything (Ansible, Salt, chef-solo, ...) - pull deployment: agents running on your target server, that pull the latest changes (Chef, Puppet, ...) - immutable infrastructure: VMs or containers that are never modified, only recreated (CloudFormation, Docker, ...) include database updates in your deployment orchestration and possibly include even environment pre-warming/pre-caching
- functional tests, especially fast smoke tests


- high availability/load balancing (Nginx, HAProxy, Apache, Elastic Load Balancer)

- detailed technical monitoring and graphing (Nagios, Zabbix, Cloudwatch)

- availability monitoring (Pingdom)

- a status page (can't give you a decent example; you can build your own, but host it somewhere else than your main "app")

- log collection and shipping (Splunk, Graylog)

Basically, for almost everything I listed google options and pick an "Ops stack". Then implement that as best you can.

Oh, and by the way, while working on the "Ops stack", only "develop" things in support of this Ops work in your "app".

organsnyder 2 days ago 1 reply      
The first thing to realize is that DevOps is an ambiguous term (at least partly by design, it seems).

My beliefshaped by many at the forefront of the DevOps movementis that it is a cultural focus rather than a technical one. In many ways, it's an extension of agile philosophies, with a focus on fast feedback, transparency, heightened interactions between teams, etc. There is also a heavy focus on automation (CICD), but the automation is there to serve the cultural goals. Just because you do CICD doesn't mean you're necessarily doing DevOps, and you can adopt a lot of DevOps principles without doing full CICD.


* The Phoenix Project introduces a lot of concepts (such as lean principles) that are foundational to the movement

* Effective DevOps (Oreilly)

* The DevOps Handbook


* Arrested DevOps

* DevOps Cafe


* IT Revolution


* DevOpsDays conferences

* Local meetups

* Velocity conferences

* DevOps Enterprise Summit

Having a good grasp of both development and operations skills is helpful. But it's far from complete. If you solely focus on the technical aspects without examining the cultural, you're missing the foundation of the movement.

beaker52 2 days ago 0 replies      
The Phoenix Project is a really inspirational novel, good for 'getting' the devops mindset and also as a tool to get other people in your organisation on board.


The DevOps Handbook is a sister book to The Phoenix Project which is more technically oriented around the practicalities of closer integration between Dev and Ops.


digitalsushi 2 days ago 0 replies      
I work at one of the large insurance companies as a DevOps role wherein I convert the various product build processes into a CI pipeline. We use Jenkins (we use all of them, but our department uses Jenkins). Everyone has roughly the same process in general - you store some code in SCM, and then something checks it out, runs various "Quality Gates" (corporate speek for tests), and then you eventually build the product and commit it to some secure artifact repository. You put some logs on there that you're somewhat convinced employees can't modify or delete, and call that an audit trail.

Ok, so that said, I would say that for an open source core like Jenkins, the source code is hands down the only documentation you can trust. And that's very, very frustrating at first. Trusting what's in a wiki is the easiest way to burn a day, believing something that was once (possibly) true to still be true. Most interfaces are not documented at all, beyond system generated documentation. A certain class of developers are fine with that, but many of us need a little push up the hill in order to script our way around these ecosystems effectively.

After accepting that the source code is the single source of truth, the job got a lot easier (and made me come across as far more of an expert). But it's a difficult sell to get other people interested in sharing this work.

didip 2 days ago 0 replies      
Have you written a webapp as a side project before? If yes, then great:

1. Find a bare VM provider, e.g. Linode or Digital Ocean or EC2.

2. Figure out a way to get your code up there, even if it's ghetto. e.g. git pull from github. Get the app server running.

3. Figure out how to expose your app to the internet. Buy a domain name, get it to point to your IP addr. Soon enough you will realize that DNS load balancing is terrible...

4. Then you should install Nginx or HA proxy and put your app behind it. Run your app on localhost, only nginx should be exposed.

5. Once everything is up, iptables is your next concern, expose only ports you want and disable everything else.

6. Repeat 1-5 on a second instance.

7. Soon enough you will find that repeating the same thing sucks, so you will write Python script using Fabric library. But then you realized someone else have done this already, after a quick googling, you will find Ansible or Salt. Use those instead.

8. Rinse and repeat for other networked things. e.g. databases, mail relays, cache servers, etc.

9. Evolve your approaches, rewrite ghetto stuff, make your artifact as immutable as possible with very few network dependencies...

That's pretty much the entire devops evolution up until 3 years ago. Once you got good in these...

1. Start reading about Linux container and why they are useful.

2. Install docker and try to get your toy project in a dockerfile.

3. Repeat the learning exercise again on deploying Docker containers.

Hope that helps :)

nikivi 2 days ago 4 replies      
I made a mind map for learning DevOps :


Clicking on nodes with a map will go to other mind maps with resources.

ransom1538 2 days ago 3 replies      

One word of caution. The future really will be having a docker file and finding a place to run code (docker swarm, ecs, etc). When you commit code it will be ran through a ci system (unit tested, staged) then updated.

The salts, puppets, chefs, Vaults, running your own Kubernetes (wtf), VMs, Nagios, sendmails, vpcs and all this other drama will be latin in a few years.

The future will be running the code on your macbook (with container of choice), then commiting. The end.

perlgeek 2 days ago 0 replies      
For the build/test/integration/deployment cycle, there's "Continuous Delivery" by Humble and Farley: https://smile.amazon.com/Continuous-Delivery-Deployment-Auto...

I found that very good for understanding the principles and reasons. Implementing it was a very frustrating experience for me, which is why I wrote a (much shorter) book on how to do it practically, with worked examples: https://leanpub.com/deploy

Juliate 2 days ago 1 reply      
Also, if you can afford it, the Site Reliability Engineering book is an excellent comprehensive resource on practices, theory, return from experience: https://landing.google.com/sre/book.html (and you can read it online for free, too).
richardknop 1 day ago 0 replies      
Do you have a website / blog or any other hobby project?

You can learn basics by automating its deployment.

Let's say you will go with public cloud: Amazon or Google.

Create a small basic infrastructure with some automation tool such as terraform.

For example a VPC with private subnets and two small instances in different availability zones. Another instance for NAT and a load balancer.

Then use Ansible / Puppet / Chef to automate deployment of your application, make sure you can deploy without any outage to the service (set up some health check to verify your app is always up).

Perhaps deploy the app in a container. Automate security settings to lock down ports. Automate SSL certificate renewal with let's encrypt.

You can even take it a step further and automate deployment of a PaaS like Kubernetes or CloudFoundry and deploy your blog / website there.

Next task would be setting up CI pipeline and continuous deployments. Integrate it with PaaS.

Where do you store all secrets and credentials? Look at solutions such as Vault from hachicorp or Ansible Vault.

There's a lot to learn by just automating everything about a simple hobby project or blog.

Of course after you're done with this scale down all this crazy infrastructure so you don't pay $200 for a blog.

wyclif 2 days ago 0 replies      
This is a less general answer, but if you want to work with AWS and you have a Kindle, download the manuals for free and read them during down time. I did this and it helped me a lot.
colemorrison 15 hours ago 0 replies      
Shameless plug - I've got a 15 hour course on building a full infrastructure on AWS:


We go from zero to fully scalable/loadbalanced etc. infrastructure on AWS. :D

eeZah7Ux 2 days ago 0 replies      
kellet 2 days ago 0 replies      
Over at DZone, we have big community of developers sharing tutorials and content that could help introduce you to DevOps.

For starters, we have an entire web portal with thousands of free community-written articles about DevOps-related topics:https://dzone.com/devops

We also have several Refcardz (cheatsheets) on a variety of DevOps related topics:

Deployment Automation Patterns https://dzone.com/refcardz/deployment-automation-patterns

Continuous Integration Servershttps://dzone.com/refcardz/continuous-integration-servers

Continuous Delivery Patternshttps://dzone.com/refcardz/continuous-delivery-patterns

And for an introductory overview, we provide topical research and best practices Guides. Here is our latest 2017 DevOps Guide:https://dzone.com/guides/devops-continuous-delivery-and-auto...

gshakir 2 days ago 0 replies      
DevOps is a such a broad term and can mean lot of things. If you are looking for something related to orchestration, I am putting together some Ansible recipes specific to AWS. It is here at https://github.com/gshakir/ansible-recipes
jjmiv 1 day ago 0 replies      
devops is more of a principle than a job. that's my opinion though.

i've been reading through this book and it does a decent job of covering the principles for CICD, builds, tests releases: https://www.amazon.com/Continuous-Delivery-Deployment-Automa...

you'll run across various "thought leaders" in devops and its important to remember that a) each employer treats devops and cicd differently and you'll want to learn their practices as you bring about your own ideas to the culture and b) form your own opinions, just b/c thought leaders and books are out there its important to learn what you like to do and improve how you like to do it.

imperialWicket 2 days ago 0 replies      
DevOps is a moving target right now, and a lot of great fundamentals are linked here already. I'd also recommend subscribing to, and reading old issues of:


The last two are fairly young, but have good content so far. I wouldn't call it a well-curated list, but there are tons and tons of great posts are linked (in loosely chronological order, as weekly mail blasts tend to be).

atsaloli 1 day ago 0 replies      
Check out my "Training program to make a Novice System Administrator": http://verticalsysadmin.com/blog/training-program-to-make-a-...
1ba9115454 2 days ago 0 replies      
I just searched "list of curated devops github", this is what I got.

Awesome Devops. A curated list of resources for DevOps


badri 1 day ago 0 replies      
Like most comments here, I'd suggest you get started by deploying your side project to any of the cloud providers out there. This process alone will teach you a lot about deployment.Also, I find https://serversforhackers.com/ and https://sysadmincasts.com/ very useful.
garysieling 2 days ago 0 replies      
rb808 2 days ago 0 replies      
The new cloud space has changed a lot in the last few years. A short time ago I'd say you should learn about creating VMs, using ansible, scripting etc, now Kubernetes and Docker has changed much of that. Its worth looking at which space you want - with Kubernetes etc you barely need to know any Linux or scripting.

People learn differently - but I'd recommend starting there. Get the generous Google Compute intro special and write some apps. There is a bunch of free resources on the web - I can't point to anything specific. Linux academy, Safari books online are huge but not cheap.

jpzisme 2 days ago 0 replies      
Work through all of these tutorials on containerization and orchestration found here: https://github.com/docker-training/orchestration-workshop

When running the Dockercoins example, how can you scale it up to mine as many coins as possible? How would you set up alerts for if one of the services went down? How would you diagnose the problem? What other tools might you use?

Play around and see what tools you like and don't like. Have fun!

mpdehaan2 2 days ago 0 replies      
(In case the handle is missed, I created Ansible and I'm a little opinionated on this)

DevOps isn't really a thing, but an amalgam of things. Some people think it's about culture or something, which I think is too obvious to be a thing. In the beginning when many people were using the word lightly, most people really just used it to mean automated systems administration, which is more likely called "Operations" now. That's fine. Some people use it to mean groups of people who make ops tools to allow developers to self-deploy their own stuff. That's also fine.

Most likely what you are looking for is to learn how to do IT Operations stuff they way people are currently doing it.

Reading a lot of articles is fine, trying lots of tools is fine. Talking to people at your company that DO ops is huge. Make friends with the guys who run the build systems, do security, or anything like that for starters and they can show you lots. Plus I strangely find that ops guys are much better to go to lunch with than developers. Don't know why :)

You should read up on AWS lots, as it will likely be across your career path at some time. Try a configuration management tool (or two). Learn about monitoring systems and logfile collection/analysis systems. Do a little bit of reading on computer security. Vagrant is probably useful, but optional, though you should at least get going on a virtualized Linux box. Reading up on Immutable Systems is worthwhile. Pick up either CloudFormation or Terraform, or both if on AWS. I don't know Google as well, but it has a lot of similar things.

DevOps Days conferences can be good sometimes but often they are too cultural to get down into technical bits. But they are cheap and usually close by, so they are things.

If you have a local meetup group that can be absolutely great.

The really nice thing about AWS now is there are tons of parts and it is pretty cheap to try things out, where before you probably couldn't get your IT guy to let you play with a load balancer or get you your own database instance. Now you can, so that makes it a lot easier to learn than it was before.

IMHO I don't like books because they are often written by people who don't DO things (DevOps has an unfortunate "thought leader" problem, which impacts conferences and tries to get everyone to believe the same things), and podcasts/videos are too slow for me, and my brain is a lot more random access.

Don't get caught up in assuming you must do any one particular thing. For instance, Continuous Deployment is a spectrum, it's not appropriate for everyone.

And at most people's scale, you have no need for something like Docker or Kubernetes when basic AWS instances require a lot less to keep going in your head.

gmjosack 2 days ago 1 reply      
Few resources I haven't seen mentioned yet:


If you're looking for a community of people to interact with I've found the following Slack teams to be very active with lots of helpful people:



ajmarsh 2 days ago 1 reply      
Linux Academy. Not free but has a very nice DevOps learning track.


ozkatz 2 days ago 0 replies      
I use pocket to collect (and tag) links related to the field. I hacked together a small UI around it that lets you filter them by tags. There's a lot of good content there IMHO.

You can check it out here: http://links.ozkatz.com/

samstave 2 days ago 0 replies      
Where do you live? If you'd like to meet up, I'd be happy to braindump as much as possible on you.
iDemonix 2 days ago 0 replies      
I'm trying to build up the effort to finish writing my book on monitoring, let me know if you'd like to read it and it might encourage me to push on.
mehzer 2 days ago 0 replies      
Vendor specific but a lot of good tutorials http://learn.chef.io
southpawflo 2 days ago 0 replies      
get a digital ocean account and a domain name. start a lamp server (or equivalent), use the excellent (imo) documentation to get things running. add services as you go along. I learned a lot from just that, now I have my own webserver, source control (git server with gitea) and other things running. tons of fun and learning
atsaloli 2 days ago 0 replies      
Check out:- The DevOps Handbook- State of DevOps Report 2017- Guide to Sysadmin Body of Knowledge www.sabok.org
Ask HN: What was impossible earlier that is easy in the BTC and ETH blockchains?
52 points by noloblo  4 hours ago   59 comments top 20
Meekro 2 hours ago 4 replies      
Despite the blockchain hype, "money" is the killer app for bitcoin and ethereum.

Before bitcoin, an online business would be taking a huge risk if it accepted a credit card payment from someone in Latvia. The fraud rate on such payments is probably 50%. With bitcoin, it's safe and fast. I own such a business (a VPS hosting company) and Bitcoin really has been a great solution for us.

Before bitcoin, a legal pot shop would have to deal with cash because no bank would give it an account. Having all this cash around creates a danger for the employees, not to mention the armored car drivers. Bitcoin is a tool that can be used to solve the problem.

vosper 3 hours ago 2 replies      
By no means impossible before, but now much easier: Dark net markets, money laundering, unregulated securities offerings, ponzi schemes, scams, ransomware, and, to a lesser extent, gambling.

Since you asked about rebuilding web apps, I'll link you to patio11's comment, which leads with "Blockchain is the world's worst database"


udsloiwdaa 2 hours ago 1 reply      
Investing in crypto-currency is investing in blackhats, password lists, botnets, spam servers, click farms and M(alware)aaS. in currency collapse of struggling small countries and tax evasion in larger ones. it's investing in money laundering, corruption, opinion manipulation, corporate and political espionage and election tampering. in ransomware and plain-old ransom. in child pornography and drug, weapon and organ sales. investing in CC is investing in the ugliest side of humanity, and business.is.booming.investing in human misery used to be elite exclusive, but now even you can do it!
KaiserPro 1 hour ago 1 reply      
>"When inflation is at the target rate of 3% that means that the central bank will default on 3% of the amount of debt it guarantees within a year."

Thats patently false. Government debt is sold in the form of bonds. They make up the bed rock of the whole economy. Precisely because they can "print money" they don't default on debt. Government bonds are considered "zero risk"

Yes, a central bank can default on foreign debt, or if they can't print their own money (see greek banking problem.)

however this underscored the fundemental misunderstanding of how money works.

>"By offering short term credit to each other market participants will be able to engage in economic exchange without having to pay the cost of money.

>Because market participants will effectively be creating new money with every transaction they will be expanding the money supply and increasing economic growth with every transaction."

Thats litrally how the entire banking system works now. Thats how credit cards work too. Thats how B2B credit works. What is not tackled here is risk. Sure free credit is great, but how do you know if someone can settle the debt? In this (unrealistic) world, the credit ratings agency becomes the dominant force.

Speaking of which, there is no reason why a small buisness can't offer its own line of credit, without using a bank. However the reason why credit cost money is because there is risk. Interest is a function of risk and supply. Sure a coffee shop _could_ settle bills at the end of the week, but the cost of administering that system is non trivial. The risk of loss is also non trivial.

Bitcoin or Etherium does nothing to stop that.

In short, this article is flawed.

gitpusher 1 hour ago 0 replies      
Previously it would've been very difficult to convince complete strangers to hand over millions of dollars in a matter of minutes.
klodolph 3 hours ago 0 replies      
This is not a judgment of BTC/ethereum, but any service which wants to transmit value and protect against repudiation but avoid government scrutiny is vastly easier with BTC/ethereum. This includes Silk Road and most modern ransomware.
Pilfer 3 hours ago 2 replies      
It wasn't impossible before, but with BTC/ETH it's far easier to launder money. With a Cryptocurrency tumbler [1] it's almost untraceable.

Previously, you had to carry the cash yourself, or use a service to transfer the wealth for you (through falsified business transfers, casinos, diplomats, flight attendants, etc.) Now you don't need all that, you can practically do it yourself. There are less people involved and it's harder to trace.

[1] https://en.wikipedia.org/wiki/Cryptocurrency_tumbler

cjbprime 2 hours ago 2 replies      
Decentralized naming -- Bitcoin solves Zooko's triangle.


Hrr, I see the Wikipedia page says that Bitcoin doesn't provide "human-readable". But I think it does. You can register names on the blockchain and assign them to bitcoin addresses using OP_RETURN comments, with every party agreeing on who knows which human-readable name, despite having no centralization.

lubujackson 2 hours ago 1 reply      
I think it is less about what you can do and more about what it prevents. Blockchains are really an example of triple entry accounting. A transaction is local to you, local to the party you deal with, and public and (more or less) immutable to the public. If we used, for instance, a government-run blockchain to record all business transactions making "cooking the books" much less possible (no Enron).

So it is useful for no fraud payments (guaranteed payment) and no trickery transaction/accounting, which is literally all blockchains are when you get down to it. The downside is that the transactions are all public knowledge to anyone contributing transactions. But it could immediately be used to track government spending (yeah right) or non-profit spending which should both be more or less open books.

jamespitts 2 hours ago 0 replies      
If I had the resources, I would rebuild all of the consumer-facing web apps using blockchain-based smart contracts. I expect that all web apps will be rebuilt in this way to an extent, either from within or by way of competition.

So "impossible" is a charged word, as is "easy". I would say that it was previously far more costly and difficult to implement the following:

- programmable, highly-reliable, do-it-yourself financial instruments

- services that cannot feasibly be shut down

- verifiably revocable authentication

- data that cannot be modified or deleted

- functionality that cannot be modified or deleted

- complex business interactions involving numerous parties that can be verifiably traced, from start to finish

Disclaimer, because everyone loves to bring up The DAO incident: the above capabilities hold true unless the community decides otherwise after a ridiculously onerous debate. Even then, the unaltered data/code can still live on.

z3usH44mr 1 hour ago 1 reply      
It is a very common mistake to look at btc and other cryptocurrencies through the lense of what you know money is right now, in the context of the infrastructure that exists around it. The real possibilities lie in the infrastructures that can emerge around this new technologies. Consider the fact that crypto is inherently agnostic about who or what holds it. You can be a person, an institution, a script, or an object (think self-driving, self-owning, self repairing cars), or think trafficlights you can pay to turn green for you :).

then there is the possibility of true microtransactions. What are the fundamental parameters of internet commerce in our day and age. I would argue that there is roughly three kinds of dominant transaction. One of purchases of goods/services (Amazon etc), software as a service (Spotify), and then there is the vast space of businesses that basically live of the advertising they sell through brokers such as facebook and google. There is really no alternative for this lower limit of transactions. With bitcoin you can imagine a world where people offer content online (say music) and offer consumers the choice of a microtransaction/listen or to consume the same content with ads, without having to give up control over their content to third parties such as spotify. The possibilities are really quite endless.

norswap 3 hours ago 1 reply      
Excellent question, I'd really like to know as well, to see what's beneath the hype.

What I do know: anonymous money transactions. Of course, you'll still have the anonymity loss when converting to/from dollars. While the parties are anonymous, all transactions are visible. In many cases that means that people can end up associating your bitcoin address with your identity (assuming they manage to puzzle out the patterns of your transactions and cross-check that with known addresses). Mechanisms like CoinJoin allow you to mix your transactions with those of others, in order to obscure them, but then the CoinJoin provider still sees your transactions.

hustlechris 3 hours ago 0 replies      

ICO is Ethereum's killer app - and that's ok for now.

pmyymgf 3 hours ago 2 replies      
Escrow with shared programmable ownership, global value transfers completed in less than a hour, immutable public timestamps, self-owned online identity etc All impossible pre-blockchain
maesho 2 hours ago 0 replies      
Bitcoin demonstrated that is is possible to dis-intermediate the storage and transmission of value, an area that is the mainstay of the banking industry.

Ethereum allows for open experimentation, and has brought about the emergence of arbitrary tokens.

Decred has demonstrated that is it possible to dis-intermediate the process of political decision-making for a cryptocurrency.

tinkerrr 2 hours ago 2 replies      
Does Bitcoin's simple use case of a scarce digital commodity count? It's not that useful in the US/Western Europe but is genuinely useful in certain countries like Venezuela where inflation is in the triple-digit percent a year.
Mc_Big_G 2 hours ago 1 reply      

An online store with:

No Transaction Fees

No Monthly Fees

No Listing Fees

No Bank / CC Required

Live Chat with Customers

Store Customization

Peer to Peer (no middleman)

wheelerwj 2 hours ago 0 replies      
tokenization of assets of any variety. some people will say ICO but its bigger than that.

People tend to miss the bigger picture when it comes to digital currencies. Bitcoin and the blockchain are communication protocols. They allow anyone and everyone to communicate and transact in a single unified language, making it easy for people to put something out into the world. Wether its a purchase or a remittance or a smart contract executed ICO. the currency themselves are just tools for make global statements.

djbraski 2 hours ago 0 replies      
The problem it solves is offering both anonymity and security.
phaser 2 hours ago 0 replies      
proving that some data existed prior to some point in time using blockchain timestamps.


Ask HN: How did you architect your web application that uses machine learning?
11 points by wuliwong  1 day ago   6 comments top 5
ganeshkrishnan 1 hour ago 0 replies      
We use big data and ML for our project. The training happens on a separate machine running Scala, spark and deeplearning4j. This app reads from our database creates the model and then saves it to a network drive. This happens every Sunday night.

The web application reloads the ml model and then makes predictions based on real time data.

There are also plenty of predictions that do not require real time prediction for example inventory levels, sales for next few days etc. In this case we train on the training machine and write the results back to the DB using spark jdbc. The web just displays this data.

We have scaled up pretty well however in the future we will move to Apache Kafka to real time data transfer and prediction

CabSauce 1 day ago 0 replies      
I've only built relatively small, POC applications, but I've been using flask to host an API that gets called by whatever application.

It depends on how often you want to update your model, how complex it is, how much data it requires to infer, etc. I think splitting up the services/code will be helpful if we get to the point where there are multiple teams working on this stuff.

mtmail 21 hours ago 0 replies      
Before ML we used https://en.wikipedia.org/wiki/Genetic_programming to find better parameters to match millions of objects (about 30 attributes) against a list of 1000s of human verified (positive and negative) matches. It ran every night and would email us every couple of days a list of parameter better than the previous. We added those to a configuration file.
chudi 23 hours ago 1 reply      
We have a number of batch jobs that updates the models every night then a separate api to serve the main app that draws de ui.

Sometimes your ml model doesn't need a cronjob and you can update your results near real-time, but the principle still holds, an API separate from the main app.

chudi 23 hours ago 0 replies      
There was also this great ask hn some months ago:


Ask HN: How soon will electric cars replace gasoline cars?
5 points by badrealam  13 hours ago   4 comments top 4
dangrossman 5 hours ago 0 replies      
The battery pack in a long-range electric car still costs more than an entire traditional car sells for.

Assembled battery pack cost to the auto manufacturer is around $190/kWh right now, so the 60 kWh battery in a 2017 Chevy Bolt for example costs GM $11,400 at least. The 100 kWh battery in a 2017 Tesla Model S is a roughly $19,000 part.

Electric motors, inverters, DC-DC converters, AC-DC chargers, etc are also costly parts, but contribute less to the cost than the huge battery packs.

There's no way to take cars that retail for $15,000 -- swap a $3,000 traditional powertrain for a $15,000 electric one -- and not double the selling price. If you double the selling price, you're either in a new vehicle segment or you're not going to sell many units.

Until or unless the cost of batteries comes down significantly, electric cars can't move into the vehicle segments with the most new car buyers. It's not going to happen in 2018; even if there's a revolutionary discovery that allows cheaper and higher density batteries, it would take years to commercialize that discovery, then start manufacturing it at scale.

My prediction: EVs don't become a large portion of non-luxury car sales until the mid-2020s at earliest. Luxury car makers are going to start converting first.

Broken_Hippo 12 hours ago 0 replies      
I think the best you can do with facts is to simply watch what is currently happening and compare it to what has happened in the past few years. Any prediction is going to be theory, albeit educated theory from some.

Mostly because there are sooo many factors at play and a lot of it is difficult to predict. Infrastructure needs built and it is possible subsidies of different sorts are needed. We still need a robust used electric car market, and it simply hasn't been long enough. We probably also need an easy way to upgrade gasoline cars to electric (I'd look to something that is adapatable across a few sizes/styles of cars or something relying on 3d printing).

That said, I do think the folks reporting replacement by 2018 or 2020 are a bit too hopeful. 1-3 years is all they are giving, and I highly doubt this turnout. Even where I am - electric cars are quite popular in Norway. 2032 seems more likely, especially if you limit the query to new cars being produced or make sure to have enough monetary intervention so that everyone can afford them.

sky_projektor 12 hours ago 0 replies      
Very soon! Though not a researched opinion, but still a calculated guess! AI would play a role as most people would not be rich enough to go for fossil cars in the near future. Second, battery packs manufacturers would soon be replacing car engines with electric components. Third, crude oil politics would fade soon, though the price of crude had never been a hindrance in the acceptance of the electric tech, but it did play a role. Fourth, a wild guess, people would feel the need to travel less as tech would help them to do work from home.
smt88 13 hours ago 0 replies      
> Any expert or researcher here who can say with facts and not just theory.

It's impossible to predict the future. No one can tell you what's going to happen with facts.

Using the same set of facts (current state of the market and regulations), researchers come up with some wildly different projections. That's why you've seen so many different years (as have I).

The real answer is that no one knows.

One thing to note is that India and China have very aggressive electric car requirements. One (or both, I can't remember) of those countries have mandated that all cars be electric by a certain date.

Ask HN: What are the best resources to learn computer vision?
208 points by ameyades  2 days ago   54 comments top 31
wyc 2 days ago 0 replies      
This is pretty old school, but I recommend Multiple View Geometry by Hartley and Zisserman (http://www.robots.ox.ac.uk/~vgg/hzbook/) to get through the fundamentals...it's really good to understand the geometric foundations for the past 4 decades. Along the same lines, you have Introductory Techniques for 3-D Computer Vision by Trucco and Verri (https://www.amazon.com/Introductory-Techniques-3-D-Computer-...), which also goes over the geometry and the fundamental problems that computer vision algorithms try to solve. It often does come down to just applying simple geometry; getting good enough data to run that model is challenging.

If you just throw everything into a neural network, then you won't really understand the breadth of the problems you're solving, and you'll be therefore ignorant of the limitations of your hammer. While NNs are incredibly useful, I think a deep understanding of the core problems is essential to know how to use NNs effectively in a particular domain.

After getting a grip on those concepts, Szeliski's Computer Vision: Algorithms and Applications (http://szeliski.org/Book/) had some really amazing coverage of CV in practice. Mastering OpenCV (https://www.amazon.com/Mastering-OpenCV-Daniel-Lelis-Baggio/...) was very useful when actually implementing some algorithms.

rsp1984 2 days ago 2 replies      
I think the question is a little too unspecific for there to be a good answer. The field is vast and depending on which thing in computer vision you want to tackle the best learning paths may vary greatly. Just to give a bit of an overview:

Before the Deep Learning Craze started in 2011 more classical Machine Learning techniques were used in CV: Support Vector Machines, Boosting, Decision Trees, etc..

These were (and still are!) used as a high level component in areas like recognition, retrieval, segmentation, object tracking.

But there's also a whole field of CV that doesn't require Machine Learning learning at all (although it can benefit from it in some cases). This is typically the area of geometrical CV, like SLAM, 3D reconstruction, Structure from Motion and (Multi-View) Stereo, anything generally where you can write a (differentiable) model of reality yourself using hand-coded formulas and heuristics and then use standard solvers to obtain the model parameters given the data.

Whenever it's too hard to do that (for example trying to recognize many different things in images) you need a data-driven / machine learning approach where the computer comes up with the model itself after seeing lots of training examples.

As for resources the other answers are already giving a great overview. Use Karpathy's course for an intro to Deep Learning for CV but don't expect it to be comprehensive in terms of giving you an overview of CV.

Learn OpenCV for more low level, non-ML and generally more "old-school" Computer Vision.

A personal recommendation of mine is http://www.computervisionblog.com/ by Tomasz Malisiewicz. It's an excellent resource if you want to get an overview of what's happening in the field.

stared 2 days ago 1 reply      
For a full course, Nothing beats CS231n: Convolutional Neural Networks for Visual Recognition http://cs231n.stanford.edu/ by Andrej Karpathy et al.

Also, for a general and high level introduction to neural networks, I wrote a Learning Deep Learning in Keras http://p.migdal.pl/2017/04/30/teaching-deep-learning.html, focusing on visual tasks.

rjdagost 2 days ago 0 replies      
A lot of real world computer vision is implemented on embedded devices with limited computational resources (ARMs, DSPs, etc.) so understanding how a lot of commonly used algorithms can be efficiently implemented in embedded systems is important. It is possibly a way for you to jump the gap from "embedded software developer" to "computer vision engineer". Also keep in mind that in many companies a "computer vision engineer" is fundamentally a different beast from a "software developer". A CV engineer creates software but the emphasis tends to be more on systems and is not 100% about software. This will vary a lot by company but if you're working with prototype hardware you will need to get at least a working knowledge of optics.

Fun and trendy though it may be, I would not focus on deep learning / convolutional neural networks to start off. Deep learning is a small subset of computer vision. I would focus more on understanding the basics of image processing, camera projection geometry, how to calibrate cameras, stereo vision, and machine learning in general (not just deep learning). Working with OpenCV is a good place to start for all of these topics. Set yourself a project with tangible goals and get to work.

lightbyte 2 days ago 2 replies      
Surprised nobody has posted http://course.fast.ai/ yet. I've been following along with it so far for the first 4 lessons and it has been extremely helpful in understanding how deep learning works from the perspective of someone who did not have much of any related baseline knowledge except how to program. Jeremy is an excellent practical teacher.
abhinai 2 days ago 0 replies      
I once created a list of 20 problems in CV. If you solve them in order, you will know basic CV. Here goes: https://gist.github.com/abhinai/b6eebecb4d19c57cfb1ee64c2b53...

A good online reference is: http://opencv-python-tutroals.readthedocs.io/en/latest/py_tu...

sphix0r 2 days ago 3 replies      
OpenCV and http://www.pyimagesearch.com/

disclaimer: not related to any of these

maffydub 2 days ago 1 reply      
I found Computer Vision: Algorithms and Applications really good. You can download it for free (for personal use) at http://szeliski.org/Book/.
fest 2 days ago 0 replies      
I started by getting a webcam or two and trying out various projects: marker tracking (made an optical IR pass filter and tracked an IR LED with two cameras), object segmentation (e.g measure geometry of certain-colored objects).

Measure the speed or count the number of cars passing by your street. Try to implement an OCR for utility meter. There are lot's of applications you can train yourself in, and I guarantee that you will learn a ton from each and every one of them.

indescions_2017 2 days ago 0 replies      
Grad-level CV courses, all recently offered:

Princeton CS598F Deep Learning for Graphics and Vision


Stanford CS331B: Representation Learning in Computer Vision


UVa CS 6501: Deep Learning for Computer Graphics


GaTech CS 7476 Advanced Computer Vision


Berkeley CS294 Understanding Deep Neural Networks


Washington CSE 590V: Computer vision seminar


UT Austin CS 395T - Deep learning seminar


Berkeley CS294-43: Visual Object and Activity Recognition


UT Austin CS381V: Visual Recognition


And best of luck to you!

mattfrommars 2 days ago 1 reply      
Does anyone know if tech like OpenCV is used at companies developing their own "computer vision" product, maybe at Tesla? Or do they build their own technology from scratch which isn't available to public domain? Or do they say fork OpenCV and build upon it and heavily modify as OpenCV could be seen as 'outdated' technology.

Disclaimer: Never worked with any technology related to Computer Vision, just a bloodboy beginner Python programmer.

RobertDeNiro 2 days ago 0 replies      
Suprised no one has mentionned it, but Udacity has a very good very course on computer vision.


trwoway 2 days ago 2 replies      
cs231n by Andrej Karpathy : http://cs231n.github.io
visarga 2 days ago 0 replies      
You don't specialize in surgery before learning biology. Similarly, you don't specialize in CV before learning basic ML and DL. The fundamental concepts are the same no matter if the modality is text, image or video (for example: regularization, loss, cross validation, bias, variance, activation functions, KL divergence, embeddings, sparsity - all are non-trivial concepts that can't be grasped in a few minutes, and are not specific to CV alone).
zelon88 2 days ago 1 reply      
PyImageSearch by Adrian Rosebrock. http://www.pyimagesearch.com/
gmiller123456 2 days ago 0 replies      
It's a really broad field, so don't expect to get up to speed very quickly. A lot of people have recommended a lot of books already, and I could add to that list. One thing you might think about is Safari Books Online. You'll notice a lot of the recommended books are there, and even though it's a bit pricey, I think you'll find you'd save money by the time you get enough of the books that seem useful to you. You'll also loose nothing by jumping from book to book because they're too advanced/not advanced enough until you find one that's at your level.

I would recommend starting with one of the many OpenCV tutorial books, and maybe work your way through a few of those. Then move into books that cover more of the algorithms behind the library like "Multiple View Geometry" by Hartley and "Machine Vision" by Davies, among many others.

lauritz 2 days ago 0 replies      
I learned OpenCV using the O'Reilly book by Bradski and Kaehler (back when it was OpenCV 2). I found it well-structured and it worked for me. They have an updated version for OpenCV 3.

However, I can't tell you if OpenCV is still the framework of choice and/or widely used in the field you want to go into.

nikivi 2 days ago 0 replies      
We made a mind map for learning computer vision :


Nodes with a map will go to other mind maps with resources. :)

supernumerary 2 days ago 0 replies      
There is a processing library with opencv bindings here:https://github.com/atduskgreg/opencv-processing
peter_retief 2 days ago 0 replies      
https://github.com/biometrics/openbr these guys are amazing, see what they are doing and you will have a good start
KaiserPro 2 days ago 0 replies      
OpenCv is a great start, and is where I began.

this book: http://shop.oreilly.com/product/9780596516130.do has a number of worked examples that explain things well.

It does touch on Machine Learning, but it focuses much more on the fundamentals of computer vision, like feature detection, that allows things like SLAM to exist.

madhadron 2 days ago 0 replies      
For classical (non-machine learning) material, there's the nice text by Ballard and Brown: http://homepages.inf.ed.ac.uk/rbf/BOOKS/BANDB/bandb.htm

Even if you end up using neural nets, understanding how to think about the problems is useful.

a_d 2 days ago 2 replies      
Is OpenCV (traditional CV technique) better to use or Deep Learning based approach? Has anyone done a comparison of the two approaches? The obvious flaw with deep learning is that it requires large labeled data sets - but assuming that is available, which one is more accurate at object detection (hotdog or not), detecting features on an image (faces, manufacturing defects)?
graeham 2 days ago 0 replies      
I learned mostly from MATLAB documentation. Good if you want theory and implementation, and most capabilities can be done with open source equivalents if you don't have MATLAB.


nurettin 2 days ago 0 replies      
Try reading the samples that come with the predominantly used programming library/framework. Works with pretty much everything. I know a thing or two about statistics because I study R examples at night. I know a decent chunk of winapi and windows ipc because of delphi, I know some CV because I studied samples from opencv and tried to solve problems with it, etc.
nycode 2 days ago 0 replies      
ux 2 days ago 0 replies      
coursera has some; I typically have locally the images-2012 one, but you also have things like dsp-001 which is a bit more advanced. Generally speaking, coursera has some good material in many related domains.
mendeza 2 days ago 0 replies      
Here is a guide I have developed over 6 years when I dove into copmuter vision around 2011. My path has been self taught until recently I took a graduate course.

I started from wanting to develop AR apps during my undergrad, Here are the best resources I have found to date:

Computer Vision is very theoretical and experimental, so the more hands on, the better! My approach has been to go top-down, overview the landscape and slowly progress deeper.

Begin with the best library for CV in my opinion: OpenCV. The tutorials are amazing!

Python tutorials: http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorial...

C++ tutorials: http://docs.opencv.org/3.0-beta/doc/tutorials/tutorials.html

Immerse yourself in these and build any apps you think of!

Then go into: pyimagesearch tutorials http://www.pyimagesearch.com/ and aishack.in http://aishack.in/,

tons of great tutorials to learn different topics of vision with coding walkthroughs. Understand the examples and rewrite applications.

Then Dive Deep:

Get the new OpenCV3 book, a nice deep overview of many topics in computer vision. https://www.amazon.com/Learning-OpenCV-Computer-Vision-Libra...

And watch this course on youtube:


I feel like then, you will have so much exposure that when you dive into formal classes and textbooks, you will really understand and be enlightened.

This was the general way I learned computer vision, and recently I completed a cv internship for nanit.com . I was not hired for my formal knowledge, but they were impressed by all the various projects ive done and knowledge I had on many vision topics.

I also recently took a formal course of vision at Cornell: http://www.cs.cornell.edu/courses/cs5670/2017sp/

All the assignments have starter code in python and opencv.This was an amazing class as it dove deep into 3D computer vision, which is so relevant to augmented reality!

Also, here is a link opencv examples for iOS: https://github.com/Itseez/opencv_for_ios_book_samples

here are links for opencv example for Android: https://web.stanford.edu/class/ee368/Android/

Hope this helps! Shoot me a dm if you or anyone has more questions!

rhlala 2 days ago 0 replies      
Opencv documentation
tanilama 2 days ago 0 replies      
Tensorflow tutorial
Ask HN: Good online issue tracker with CLI
8 points by TokenDiversity  1 day ago   4 comments top 3
fundamental 21 hours ago 0 replies      
Taiga has a pretty nice looking command line client for their issue tracking https://github.com/taigaio/taiga-ncurses
jobvandervoort 1 day ago 0 replies      
We don't maintain our own, but there are a number of GitLab API CLI tools and wrappers. Have a look here: https://about.gitlab.com/applications/#cli-clients
xyzxyz998 1 day ago 1 reply      
Not what you're asking but something similar to BE: https://github.com/travisb-ca/nitpick

Also, your be usage experience may depend on how you're using it. In-branch/separate-branch/without-vcs? As a single user, I use it outside vcs and am reasonably happy with it.

Ask HN: Growth hackers, how do you organize your outreach?
5 points by sk24iam  1 day ago   1 comment top
pryelluw 17 hours ago 0 replies      
Im not a GH, but I developed my own dashboard for this kind of things. Just a basic Django app admin panel CRUD.
Ask HN: As an employee of a company, how do you assess its health?
263 points by dpflan  2 days ago   187 comments top 75
tiredwired 2 days ago 3 replies      
They suddenly decide to inventory equipment (determine company value or collateral). Cutting back on benefits like 401k matching. Delays buying new equipment. People quitting and not being replaced. Senior management having all-day private meetings. They request your background information as if to determine if you are qualified for current or new positions (if company is discussing being acquired). Hackathons with a theme completely off target from current products. Multiple sets of men in suits touring the office. Managers stop downloading latest version of the beta-test app. Managers stop showing up for meetings. Managers stop caring about product quality. You look up from your desk and realize the office is empty when it should be busy - either those people are being terminated or you are being terminated.
fnbr 2 days ago 1 reply      
There's a great article on this topic from Steve Blank:


He argues that a leading indicator is when free food/drinks are removed, as it's a sign that the company is moving from a growth, "we're all in it together" mentality to a cost-cutting one.

I, personally, focus on who's getting promoted and who's leaving. If a company is promoting internally and retaining people, then it's typically in a good place; if a lot of people are getting hired above others, and new employees aren't staying long, then it's in poor health.

shimon 2 days ago 4 replies      
One simple thing missing in most of these replies: ask questions. Ask your boss, ask your peers, ask the CEO now and then.

 - How is the company doing against its goals for the year? - What does our runway look like? - What signs of product success are we expecting? What are we seeing?
Note that in any company, and especially in a startup, all of these questions are rife with uncertainty and stress. You should expect these to touch a nerve, and request brutally honest answers. Leaders experience existential fear on these topics frequently, even in great companies.

In the responses, be wary of blithe positivity more than bad news. Bad news is normal; a healthy organization learns from it and improves. Optimism disconnected from reality is either an attempt to mislead you or a sign of blindness to results.

corobo 2 days ago 1 reply      
I generally work for smaller companies, < 50 total staff. Most of my variables and data pieces others have said. My main "rats, sinking ship" is in regards to others working there;

Health note: Employee churn when churn is not the norm.

Health warning: Certain people leaving with enough business knowledge it's noticeable they're gone

Health crisis: Multiple health warnings in quick succession (within 2 years).

At warning level I make sure my CV is updated and start setting up job alerts. At crisis I'm actively applying for jobs to keep my options wide open.

Edit: Ooh reading another comment - I watch the public docs of the company I'm working for. It's a year or so out financials-wise but you can get some info from it.

pgt 2 days ago 2 replies      
Cutting of catered lunches is a strong signal that the company is in a cash crunch. You can try to propose a weekly catered lunch at your company to "encourage communication" and watch it is a signal. In the past I instituted weekly catered lunches at a company, which were halved from weekly to bi-weekly the moment finance knew there was trouble.

Other indicators: delayed salary reviews, senior staff leaving (and not being replaced, because money) or minority shareholders trying to sell their stakes.

VLM 2 days ago 2 replies      
Many answers are negative assuming decline, or provide an extremely complicated answer to a simple problem. I'd propose based on decades of observation that you model the behavior and personality of all of management as if it was one person. Now is that imaginary merged individual person a lunatic deep in cocaine addiction psychosis? That might be a bad sign. Is that imaginary merged person a reasonable good leader? Sounds like a good sign. Is that one merged person in a civil war with its large number of multiple personalities? Run like hell.

This is what "real" culture fit actually is, whereas what culture fit means in 2017 as currently deployed is "we only hire young white ivy-league(-ish) males" which is a totally different concept or problem.

gwbas1c 2 days ago 3 replies      
TLDR: You assess health by if you're getting paid what you think it's worth to stay in the job. If you're okay with the pay, and you like the job, be a pro and stay as long as the pay comes in.

A big warning sign was that my employer interview great candidates, make offers, and then the candidate didn't accept. The problem was that we weren't paying competitively.

I tried to express this to upper management, and then instead of fixing the problem, they just gave me a raise. (From below market rate to below market rate but able to start putting money in the newly-offered 401k.)

Shortly afterwards, I interviewed at one of our major competitors. The next day I looked at one of the founders and said, "if there's a chance to exit via acquisition, we need to take it."

Turns out there was an acquisition deal in the works, but we couldn't know due to how US law works. One of the higher-ups asked me to investigate "a bug," and when I looked at her logs, all I saw were references to an upcoming acquisition. I then knew to stick around and give the new owners a chance.

There's a lot to be said for sticking through a few months of uncertainty when it works out to be a great job in the long run.

pawelkomarnicki 2 days ago 0 replies      
My dad used to say: "Son, when assessing the company's health, look for two things: coffee, and toilet paper. If the coffee is not refilled, it means nobody cares, and the company soon will start having serious trouble. If the toilet paper is not refilled, it means there's no money whatsoever, and you should nope out". Worked for me ever since.
angelofthe0dd 2 days ago 0 replies      
A key indicator I've seen in past companies was when "top skill" or "top manager" level people suddenly submit their resignation and then spend two weeks calmly walking around the office with an ear-to-ear grin. Not too long after that, whisperings of "Why?" start circulating. And shortly after that, I got an upbeat email from HR about "Exciting new company direction" and "Rethinking our core strategies for better customer alignment." In all seriousness, shake-ups and re-alignments are frightening and kill everyone's morale with fears of uncertainty.
draz 2 days ago 1 reply      
- Employee turnover: a large layoff- Retention: some many know something you don't, especially at the high levels. - Restructuring/reorging: there are companies that view this method as a panacea for all ailments (rather than treating the underlying issue(s)).- Projects funded: a concentrated focus on projects that "reduce cost" or "introduce efficiencies" rather than on growth and R&D may be indicative of either a contraction to make a company more palatable for a buy-out, or a simple general state of the money in the bank.
scarface74 2 days ago 3 replies      
I've given another answer, but on the meta level, it shouldn't matter to you if a company is doing well. The only thing that should matter is are you learning skills for which there is a market? Getting in the mindset that your "job" does not determine your well being but your skills do.

That mindset presupposes a few things:

A) that you always have your finger on the market and the skills that are in demand

B) your network is strong - including recruiters.

C) You live below your means and have enough in liquid savings to survive a job loss and getting a new job.

blowski 2 days ago 0 replies      
It's a bit subjective, and the more general the statement, the less meaning it would have.

Say a company is becoming corporate and dull, but at the same time becoming more profitable. Are they in good or bad health? As a short-term shareholder you might see them in good health, but as an employee you might see them in bad health.

That said, my experience is to look at team meetings. If they are full of conflict that is resolved respectfully by the end of the meeting, that's usually a good sign. If the same person is dominating and everyone else is quiet, that's a bad sign. If the same arguments keep repeating themselves, that's a bad sign. If there is no conflict at all, and people just stare out of the window while others are talking, that's a bad sign.

At bad companies, everyone knows the real story, but nobody says it out loud. Good people leave, bad people stay, and the problem gets worse.

erikb 2 days ago 1 reply      
Also relevant should be the question how to act in different phases. An unhealthy company is not necessarily dying. And even a dying company is not necessarily bad for you. It's like with real people. When someone dies some others start to check out the valuables to get the best for themselves. If you are working in a brilliant team inside a dying company, you may all get picked up, get a raise, and be welcomed into new arms. That's one way to get into Google for instance.

For figuring out the current health status, I'd check:

the product line - is it understandable? is it modern? is it efficient?

the customer base - do they have customers that wouldn't easily change to alternative options?

the management team - do they have visions? are they cooperating? are they lying psychopaths, ambitious inventors, calm survivors (thinking Merkel here), idiotic burocrats?

HR - HR is managements comm channel to the employees. Does the promo material look good? How close is the promo material to the actual day-to-day work?

People - are there smart people you like to work with? How many of them are currently joining? How many of them are currently leaving?

Hiring - you are either new and just got hired or there for a long time and probably at least hear things about the hiring process at the water cooler. how reasonable does it sound? does it filter out idiots? does it assess quality attributes like culture? Does the feedback from the interviewers have influence on the hiring decision (more often than you think they actually just hire anybody, if they are hiring at all).

logingone 2 days ago 0 replies      
Employee experience. The biggest problem at the company I recently left was inexperience. The company thought they could hire cheap and simply cross train and up-skill everyone. A FTSE 100 company. Eg a dev manager was a js dev now managing half the 200 odd dev dept. Hired mostly PHP devs who were all going to be cross trained as Go devs. My last manager had no management experience and was also the dept's Go tech lead, with no Go experience - a PHP dev, now starting at amazon, should be entertaining. Another Go dev on the team an ex-lawyer with two years dev experience as a ruby dev. The place was disorganised, frustrating, and not delivering. Toward the end of last year people started leaving, then more, then more - exodus. The dept has effectively collapsed as it's now a fraction of the size and a significant proportion of the remaining devs are new. It won't absolutely collapse because like all big corps they'll just keep hiring replacements and eventually paper over the cracks. They're now "restructuring", but the same rookies are still running the show so they're probably just going to botch it all over again, just in a different way.
kevinmannix 2 days ago 2 replies      
When growth numbers are consistently not hit. Always push for transparency at a smaller company - if there isn't one already, attempt to implement an all-hands meeting at least bi-weekly that reviews goals for the quarter / year and the company's progress. If direction is constantly changing at a 1 or 2 month cadence, it's likely that there may be a shakeup coming sooner rather than later.

It's wise to have a bit of cynicism when discussing company goals, progress, outcomes - things may not always be as bright as they seem. It's a good exercise to take these numbers and reduce them by a certain percentage, and see if those numbers are still good for company growth & stability.

booleandilemma 2 days ago 4 replies      
I've read that a good way to get an early indicator of future health is to pay attention to the spending on the small things.

Does your company have paid lunches?

Does it have a snack vending machine or something similar?

A coffee machine with k-cups?

Other little perks that seem insignificant but are nice to have.

If these things start to go away, the company is experiencing financial stress.

ryankennedyio 2 days ago 0 replies      
This is a handy pocket guide. Quite seriously, start looking around if your gut is telling you to.


beaker52 2 days ago 0 replies      
I look at a few things. Company structure is quite telling. The relationship between teams, how teams work together. I usually get a good feel for any potential dysfunction in an organisation by this. The more splitting up and dividing there is going on, the more unhealthy it usually is. If the company is small enough, it should be self organising to some degree of success.

Other questions to consider:

- Are staff able to be honest?

- Is the company able to be honest with itself?

- Does the company have a vision that actually sells itself?

- Is the company actually pursuing that vision with it's actions?

- Does the company leverage the intelligence of it's employees, or does it just hand them work to perform?

Taylor_OD 2 days ago 0 replies      
When the CFO or high performing sales guys leave. They know what they money situation looks like and are going to be the first to leave when it get's rough.
awinter-py 2 days ago 0 replies      
If you can't get a straight answer from your manager, or your manager doesn't know, then the company isn't healthy.

Managers (a) love to brag about success and (b) it's their job to retain you, and part of retention is informing you about the company's financials.

It's totally okay to ask questions like 'how long can we survive if we don't grow' and 'how long does this continue before we close our doors or fire people'.

The good news is if you don't know about the health of the company you're probably too junior to be first on the chopping block.

If you're asking the harder question of 'are we going to be #3 in our sector in 5 years', you can't trust your managers on that one. They're too optimistic. Do serious competitive market research like you'd do when starting a company -- find a way to measure comparative sales, marketing activity, team strength. Read the linkedin pages of the leadership and key players and look for missing skillsets.

jdavis703 2 days ago 0 replies      
* Late payments to employees (checks, expense reports etc)

* Banker-looking people coming by

* Drawn out fund raising periods with promises every month that next month something will be announced.

* Churn in the C-suite or at VP level.

* Plants being carted away

bennyp101 2 days ago 2 replies      
The last company I worked at before it was acquired went through a phase of making everything 'legit' - which looking back on it now makes sense.

- Making sure that everybody had their work laptops/phones properly secured, requiring RSA tags for VPN access etc.

- Lots of new policies, mainly things that we did anyway, but just fully documented and meetings to make sure that everybody understood their roles in them.

- Lots more focus on 'customer satisfaction' and making sure that deadlines were met

- Rewards for helping to clear the backlog of things that needed doing

Basically, a lot of dotting the I's and crossing the T's. Oh, and a lot more visits from the head guys over in the US.

Edit: Not a startup, just a company doing well.

jasode 2 days ago 0 replies      
Availability of information to analyze will depend on whether it's a public vs private company.

If it's a public company, an employee can look at the health in many of the same ways that Warren Buffet would look at it. Look at it's profit & loss statements for the last few years. If it took on debt, try to find out what the debt was used for. Look at the credit agencies' bond rating for the company. If it's not AAA, research why. Look at the company's major customers. Is it a growing marketplace?

If it's a private company, intelligence gathering is going to be harder and you often won't have good info until you actually work there. You can try to synthesize information from glassdoor, Google News (e.g. lawsuits, settlements, etc), and other sources.

>I mainly meant "startup" (i.e. not Fortune 500)

In this case, I would ask the hiring manager (often the founder) if the company is cash-flow positive. If not, ask how much "runway" is left before the company runs out of money. Some founders may push back with "I can't disclose financials, yada yada" ... maybe because of his paranoia about competitor espionage. You then have to ask yourself if you're willing to join a company with limited information. You can join a not-yet-profitable company because sometimes, it all works out. That said, the idea of concrete financial dialogue is to make the risks transparent to the employee.

golergka 2 days ago 0 replies      
If you're moving to a new open space office that looks for a visitor to be fantastic but is a pain to actually work in; if your company hires like crazy without a good idea of what new people will actually be working on; if a CTO that has been on-hands becomes distant and hires a level of middle technical managers all that means that the company is trying to inflate it's value and be bought. Not necessarily a bad thing, but you can count on the culture shift pretty soon.
robhunter 2 days ago 1 reply      
"Company" is a broad word, and can include a wide variety of different types of organizations - but if you're talking specifically about startups, look at the following:

Cash in the Bank / Burn Rate - How much cash does the company have? How much of that cash is it spending each month? How long until the company reaches profitability? Could the company be profitable now if it wanted to be?

Headcount - LinkedIn actually tracks this now. How has the total headcount of the company changed over time, particularly recently? Headcount is certainly not a measure of success, but a significant decrease in headcount may be a red flag.

Growth Rate - How fast is the company growing? Ideally you're looking at this in terms of revenue.

Unit Economics - Even if the company is growing, is it making money from every sale? Or is it "spending $1 to earn $0.95" ? Getting a handle on the bottoms-up unit economics of whatever the company is selling is important to really getting a picture of its overall health.

Grit of the Founders - This may be more important than everything else on the list! Every startup is going to feel - frequently - like it's in "bad health." Founders with determination, grit, and the ability to fight through the tough times will overcome a lot of the problems presented by other items on this list.

bsvalley 2 days ago 0 replies      
It's all about the money. Cost cutting such as layoffs, no annual bonus, no more free snacks, shutting down promising projects.

When a company is doing well, it's usually the opposite.

indigochill 2 days ago 2 replies      
My company's CEO says he looks at the survey answers to "Would you recommend Company X as a good place to work" as a health indicator of how the company's doing. Which makes sense to me, since if the employees overall would recommend it as a place to work, it's probably reasonably stable and rewarding, has reasonably trusted managers, etc.

I've never delved deep into actual statistics on this, though, so consider this just an anecdote.

michaelgburton 2 days ago 0 replies      
One tip I have from years in a company that was undergoing major changes in its business model is to pay attention to other workers. In my case, the shop floor guys at an automation company smelled the shift in the wind long before anyone else, and weren't afraid to call it out. When the vast majority (maybe 500-1k machinists) were let go in rapid succession, it was shocking...except if you'd paid attention.
alex440440 2 days ago 0 replies      
Me and people close to me been a witness to a startup demise several times. In a startup it's really easy to tell - the product falls short of revenues/active users expectations, the funding starts to run out, the management starts to act frantic and invents all kinds of "creative" ways to "revive" the product, core team members start departing :)
champagnepapi 2 days ago 0 replies      
I guess it would depend on the size and status of the company. What I mean by that, you would judge a startup 1-10 people that is privately held substantially differently than 1000+ employee publicly traded company. These indicators that you are looking for are going to be vastly different along the size spectrum of companies.
dreamcompiler 1 day ago 0 replies      
One indicator I use is the bullshit level and its derivatives. You can define bullshit any way you like; my definition is "activity that adds no value to the company, or (worse) actively impedes people who are adding value to the company."

If the bullshit level is high, I think about leaving. If the first derivative of the bullshit level is also positive (bullshit is increasing) I lean heavily toward leaving. (If the first derivative is negative, the company might be healthy and pivoting after a setback.)

If both the first and the second derivatives of bullshit are positive (bullshit is not only increasing but accelerating) it's time to leave immediately.

wolfi1 2 days ago 0 replies      
it does not directly state the health but it indicates if it is a good employer: number of interns : if the ratio is roughly 1:1 I would quickly look for another company
chrismealy 1 day ago 1 reply      
I'm reading a lot of these answers and they could be describing companies that are hugely profitable and growing. Profitable companies cut back on coffee, have high turnover, cynical employees etc.

It really doesn't matter. Any company can blow up at any time due to fraud or mergers or whatever. You might get fired because your boss might want to replace you with their old college roommate. Or the CEO decides to kill your whole division because they're chasing some dumb fad.

ethbro 2 days ago 0 replies      
I think employees are a lagging indicator. If the product is being offered at all, look at customers.

If you're not customer-facing, talk to a customer-facing engineer or even account manager. "How's the X account?" "Tell me about a customer we've made successful." Don't accept "The account is fine." Drill down and ask for details; they're the only things that matter.

You're internal, so unless your company is really $&#+ed up and silo'd, you shouldn't have a problem getting a feel with a modicum of social skills.

If you're not making customers happy, and management is proceeding with business as usual, start looking for a new job.

le-mark 2 days ago 1 reply      
One company I was at shipped a hardware product. The hardware would come in from the manufacturer, the techs on site would flash the firmware, apply stickers, and ship to customers. When I started they were shipping 10-15 boxes a day (this was easy to judge, they sat by the entrance and the UPS guy would come in and get them). Then a few month later, the senior sales guy left, and a new vp of sales was brought in. Over the course of a year, outgoing devices went to near zero. That's when I started looking. A year later the company was still alive, but limping with a skeleton crew of devs and techs. Most who stayed were fired.
acesubido 2 days ago 0 replies      
I do a simple version of a balanced scorecard:

1) Financial/Stakeholders - Are we raking in revenue? What type of revenue (high-touch, low-touch. high-volume/low-margin or low-volume/high-margin)? Are we consistently making this or is it totally dependent on the connections of 1-2 people? Can it be recreated? A bad sign is if people are being shifted to different projects all the time without one being totally completed/closed.

2) Customer/External Relationships - #1 is dependent on this. You can't make money with people giving you money. Do we have sufficient customers/market to provide the type of revenue needed? Do customers like us? What's the market feedback? A bad sign is if sales is overcommitting through the teeth about the products/services just to get them onboard.

3) Activities/Internal processes - #2 is dependent on this. You cant continually create things to sell and build customer relationships without a proper cycle of operations. Do we have processes? Does the process last long enough to get feedback? Or are the activities fickle and do not have solid implementations? A fishy sign is if there seems to be a totally new sales/engineering process every month, or isn't implemented rigidly and the org chart changes every 2 quarters.

4) Learning and growth (People-aspect) - Most important. #1, #2, #3 is dependent on this. You can't have processes/services/products without people. Based on the product/value that the company is providing to customers, are they valuing the people that creates this value? (training, leadership roles, ownership of product/services, etc.). Is there career growth for people that create this value? A fishy example would be: leadership positions in a product-based tech startup where there isn't at least one person with a history of software-engineering/operations and is instead filled with a group of salesmen. That startup would probably best be a consulting business, since the way things would be led hampers any kind of effort in building an effective product development pipeline/operation. Another bad sign for that type of startup is when key staff engineers are leaving, their positions are left empty and more managers are hired instead.

perlgeek 2 days ago 0 replies      

If there's none at all, then people likely are afraid to talk openly. When there's cynicism about everything (revenue goals, vision, hiring, retention, ...), that's a sign that most everybody has lost hope.

NirDremer 1 day ago 0 replies      
When evaluating startups there are few key matrices- financial stability - most notably runway. Taking funding and # of employees can give you a rough sense of things

- key people churn

- business traction graph - depending on the market you are in you can get some sense through similarweb and the likes

We took it to the next level at Yodas and provide detailed analysis. We help individuals make better, more informed career decisions.

danpalmer 2 days ago 0 replies      
We have a weekly all-hands where major issues (good or bad) would be mentioned, and where we get an overview of all core metrics. We have a monthly all-hands where we go into detail on all the metrics and how each team's metrics build up to the overall company performance. We know how much we're targeting/getting in funding rounds. We can ask questions about any of this in one-to-ones with managers that happen fortnightly.

Basically we're pretty good at transparency, so most people just know all of this. It's a nice environment to work in!

awshepard 2 days ago 0 replies      
Some other warning signs:

- When you get rid of your QA team in the name of "quality" with everyone being responsible for testing, but then never provide adequate testing resources or environments. And when quality and velocity inevitably drop, and everyone claims they want to improve quality, but it's never actually prioritized.

- More generally, when your company is saying one thing and doing another.

- When your executive team flat out lies, and doesn't even blink when questioned about it.

JensRantil 1 day ago 0 replies      
I work at a startup and every second week we run an anonymous https://www.menti.com where all emplyees get to vote between 1-9 how happy they are at work. It's a simple metric that gives management some insight about how the company is going.
31415 2 days ago 0 replies      
Treat it as a learning opportunity. Three buckets to triage employees into: (o) the oblivious employees, (i) employees who step up and show initiative, and (ii) employees who decide to goof off and do nothing since some of the management chain is likely missing and not being replaced.

Companies that are successful are often unwilling to risk any element of their success and can be rigid/inflexible.

Maro 2 days ago 0 replies      
A simple one is growth. If you're at a startup, it needs to grow. If growth isn't what it should be, it's decelerating, or it's zero, that's trouble. Wait for 6-12 months (depending on size and stability of company), if it's not improving, start looking for other options.
blahyawnblah 2 days ago 0 replies      
At my last couple of jobs my raises and bonuses were getting smaller over the last year or two I was there even though the company was supposedly taking in more revenue. We weren't expanding or hiring anyone so I started looking for new jobs. Both went under within a year of me leaving.
TuringNYC 1 day ago 0 replies      
For public companies, it can be an easier task:

- If executive insiders are buying stock: a good sign!

- If executive insiders are selling stock: could be a good or bad sign (e.g., they might sell because they are purchasing a house.)

- If executive insiders are selling everything: very bad sign

jaymzcampbell 2 days ago 0 replies      
My main thing is are they at all organised as a whole - if everything is in disarray and departments have no idea (or interest in) what the others are doing then it's likely going to be very painful. A company that is pulling in one direction is an exciting place.
0x4f3759df 2 days ago 0 replies      
How fragmented is the industry? A fragmented industry is waiting for a well capitalized player to consolidate small companies into a industry leader. How close the founder is to retirement... As the founder approaches age 65, he might be looking to cash out.
tmaly 2 days ago 0 replies      
Communication, how well are groups within the company communicating? Do groups tend to re-invent the wheel because they do not know about what other groups are doing?

Learning, what types of opportunities are employees given to develop skills and learn new skills?

goatcurious 2 days ago 0 replies      
The free-food patterns don't apply on a company which is frugal by nature, e.g. Amazon
HeyLaughingBoy 2 days ago 0 replies      
Generally, when a paycheck bounces, it's a bad sign. Now, in my experience, the company didn't die for another year after the bounced paychecks, but it was definitely writing on the wall!
tyingq 2 days ago 1 reply      
Make friends with whoever does accounts payable. In many companies, paying vendors later than agreed terms would be the first sign of trouble. Companies will often do that before anything directly visible to employees.
coldcode 2 days ago 0 replies      
One company I worked for (international) had the new CIO visit our office. He said "don't worry there will be no layoffs". Two week later they started and shortly the whole office was gone.
BurningFrog 1 day ago 0 replies      
No news is bad news. If you stop hearing about new developments, the reality is almost certainly bad.

Looking back to a few layoffs, that was a common sign. I think I can spot it next time.

a3n 2 days ago 0 replies      
When senior people that you have a personal relationship with, who are no higher than first level managers and not necessarily managers at all, tell you that the company is dying. Been there twice.
swalsh 2 days ago 1 reply      
The usually open CEO suddenly starts having closed door meetings.
bpyne 2 days ago 0 replies      
A good bellwether for a startup is the sales force. They leave when there is no more money-making opportunity.

(Of course, a startup can still pivot to uncover opportunity.)

Apocryphon 1 day ago 0 replies      
Cutting vacation days was mentioned. I'm wondering if switching from fixed vacation days to unlimited is also a sign of penny-pinching.
just4themoney 2 days ago 0 replies      
Usually the biggest indication is cutting salary and benefits, I'm including not giving raises as a salary cut. Cutting vacation days is definitely a salary cut.
vimarshk 2 days ago 0 replies      
Sales = Company healthWhen the company is not able to make $$ due to bad product, employee turnaround, Sales or culture it is in bad health.
Spearchucker 2 days ago 0 replies      
Look at churn (staff turnover). It's actually a question I ask in interviews. If churn is either extraordinarily high or low I want to know why.
INTPenis 2 days ago 0 replies      
In my case:

 * Stock price * Attitude of employees * Attitude of management * Statements and sometimes rumors heard around the office

dgcoffman 2 days ago 0 replies      
Users and revenue.

User and revenue growth rate.

One bad sign is if the CEO is replaced. Another bad sign is if the company can't figure out how to make money.

throwawayJPHK 2 days ago 0 replies      
I work for a fairly large manufacturing company in Japan (about 15k employees). I don't think it will go bankrupt, but I think it is unhealthy and will eventually be automated with most people being made to leave, or it will lose a fairly large chunk of its market share and be dismembered and rebuilt by the American office.

Some things I observed that led me to doing a job search.

> Insurmountable Recruiting difficulties

I was promised a team of 5 junior devs under myself, but that never happened. There was always a new process, or a new form that had to be filled out; they got filled in and nothing happened.

Eventually the company started projects to hire people with disadvantaged career histories (Chinese / Korean residents, women who had left their previous job after pregnancy, et cetra). I felt this was a great policy but I was eventually clued into the real origin of the policy and why I never got the team I was promised.

Apparently, we had (and still have) an excessively poor reputation. Not criminal; just in terms of leadership (at all levels), salary and work load. Successful mid-career job seekers could not be expected to join. As such, disadvantaged workers and the lowest level of university graduate comes (the kind who has "Tennis Club" as a prominent part of their university "experience"). My lack of experience at large Japanese corporations is also why I didn't have the foresight to check 2chan or Vorkers (glassdoor-like company in Japan)

> New Emmanuel Goldsteins on a regular basis.

"We would be great but... is terrible" is a constant refrain at these sorts of companies. You can fill in the blank with a C-Level executive, a new employee, or a clique in the office. If you are assigning real people in a capitalist enterprise the role of "villain", then the environment is not going to improve. It is like saving a marriage after you tell friends to take sides.

> Inappropriate focus on loyalty

I have literally experienced a C-level officer making these statements in a work environment, about people who are so low in rank so as to be below his level of concern. If a junior accountant leaves for a better position at another company, one with less stress and better pay, it is the obvious and correct decision, not an act of "disloyalty".

> No objective source of truth or success

While I ran a business previously, I could be convinced by objective measures of truth (profit being #1). At my current office, there is no single source of truth, nor a single measure of success. This creates a difficult spiral of wasted time and effort when starting projects; in the end, calling in "outsiders" to resolve the issue (by giving them superuser access over the project structure) simply delays the hard questions (who is in charge / gets credit & blame / by what measure are we doing something), and further infantilizes the office.

> Senior people left and were never replaced

Literally the second most senior person in my part of the org left and wasn't replaced for more than 2 years. Junior managers reported straight to the C-suite. His eventual replacement lacked his depth of knowledge and greatly damaged the collegial atmosphere that existed within the Japanese team before her hire.

> Easy things are difficult

There are X (where X is a number greater than 5) different approval processes for me to pay a vendor who has already finished the work.

afdfabdcfaadfcc 2 days ago 0 replies      
Glassdoor reviews.
inthewoods 2 days ago 0 replies      
Status of accounts payable - is the company stretching out payments to vendors? Are vendors getting angry or lawyering up?
if_by_whisky 2 days ago 1 reply      
Quality of snacks
wiz21c 2 days ago 0 replies      
marketing team slices its customers pool into : customer-we'll-soon-contact, potential customers, potential leads, short-list-customers, customers with who we have very good relationships, customers who'll introduces to even bigger customers. You get it, many types of customers except the paying-type...
hammock 2 days ago 0 replies      
Executive engagement, number of open job reqs, revenue goals (not necessarily growth or metrics of past)
peterkelly 2 days ago 1 reply      
If you find yourself asking questions like this, that's a sign something might be awry.
dev360 2 days ago 0 replies      
I would look at Culture and Financial. A lot of other things are fixable.
gagabity 1 day ago 0 replies      
They ask you for a list of all the passwords you control.
afdfabdcfaadfcc 2 days ago 0 replies      
Glassdoor reviews
SFJulie 1 day ago 0 replies      
turn over.

A "normal turn over" in IT is 10%

In normal companies it is less.

If more, flee.

scarface74 2 days ago 0 replies      
Simple answer: Any startup that isn't profitable isn't healthy.

More importantly, any company that has negative marginal profit, is definitely not healthy (i.e. Uber)

UseofWeapons1 2 days ago 2 replies      
The easist method is by trend in employee count. If headcount is rising, that's a good indicator, if it's falling, that's generally bad. Stable can be perfectly fine, or bad, depending on the company. You may have concerns about the magnitude of growth, or claim lay-offs were justified or turnover is natural, but the trend generally holds.

You should also pay attention to other employees; ask yourself why folks who leave are leaving. This seems easy, but I know one start-up well where a small trickle of occasional high-level departures turned into an eventual flood and bankruptcy.

Beyond that, it's the usual. Anything you can tell about sales growth, competitive intensity, leadership, etc. are all helpful and good data points.

Ask HN: What do you think will the future of education look like?
7 points by nshr  1 day ago   5 comments top 5
ghjkl1 5 hours ago 0 replies      
Hands on instruction with good student-teacher ratios for the elite, MOOCs for the poor.

Also, the MOOCs will sell user data and serve ads.

arikr 23 hours ago 0 replies      
First question to ask: What will be cheap enough to scale to billions of users? This question is important because the future of education will look like what most people use to get educated, and most people will be in India/China/Africa.

The biggest education providers today are Google/YouTube/Quora/Reddit/Stack Exchange.

I don't think this will change. These things scale, people want to use them, and they seem to work.

[This question is subjective depending on your definition of what education is and what goals it serves]

maximus999 6 hours ago 0 replies      
students can choose what topic they want to learn and lecturers
swah 21 hours ago 0 replies      
Like Youtube right now + some ways to assess your skills.
pcunite 21 hours ago 0 replies      
It will have distributed and virtual aspects.
Ask HN: Who's an AirBnB host?
14 points by tixocloud  1 day ago   14 comments top 5
jaykwal 1 hour ago 1 reply      
I've been hosting for almost two years. The hardest part is definitely getting reliable cleaners/scheduling cleaners. I wrote some software to auto send emails to the guest, remind the cleaners, and remind me to reprogram the door code etc. So now I spend about 15 minutes per week answering random questions with everything else semi-automated.
haney 1 day ago 1 reply      
I'm an Airbnb Super Host, I own my home and my girlfriend does too. We eventually decided to move in together so my place is fully converted into a rental unit, I've taken everything that I care about out of the unit except for one closet which I added a locking handle to.

I also purchased a two sets of white linens that I bleach between rentals, having twice as many as I need for a stay and having the ability to bleach out stains has made dealing with linens easier. I have a professional cleaning crew that handles everything else.

I have an August lock that integrates with AirBnB that automatically sets up access during the guest's stay. I also have a backup lock box for when guests have trouble with that. In general it's been pretty good.

I have had a few issues where guests are expecting a townhouse to have hotel style amenities, different people have different expectations of what AirBnB is supposed to provide and for what price (I'm significantly cheaper than hotels in the area). For the most part I feel like people read the descriptions and reviews on places to find somewhere that meets their expectations but it would be helpful if there was some kind of "service level" ranking that had a policy associated with it or something.

1812Overture 1 day ago 1 reply      
I'm an Airbnb host. I rent out the guest house behind my house. I have one of those realtor keyboxes so I don't have to be around for guests to check in and out. My Airbnb calendar is setup to sync with my cleaner's ical. I pay my cleaner over PayPal. I use Handy to fix problems as they come up (they can use the keybox to get in too). I use BeyondPricing's dynamic pricing as it's better than Airbnb's dynamic pricing. It ends up being not much more work than having a regular tenant for quite a bit more money.
davidkohcw 1 day ago 3 replies      
I'm an Airbnb host who has been doing it for close to 6 months now. I'm currently renting out a studio apartment unit (around 550 sq feet) with an annualized rental yield close to 10% (one reason the yield is so high is because I bought the place 3-4 years ago while it was still under construction).

Airbnb is relatively straight forward. Check-in and check-out can be done via a key drop (typically the mailbox with a combination lock). The main thing you have to worry about is cleaning up after every guest... some guests don't know how to clean up after themselves. Get second hand furniture to save costs.

I really recommend that you try it. The business model behind Airbnb is quite brilliant.

treyhuffine 21 hours ago 1 reply      
I was a host for a few months. It's a great way to make some extra cash but fatigue pretty quickly set in. Eventually I moved in with my significant other, and that was a great decision. Be prepared to be paranoid about regulations and taxes. When it comes to guests, expect the unexpected and be prepared for worst-case scenarios. Most guests are great, but some bad apples really make it challenging. Always have a spare of everything and be ready random for requests 24/7.
Ask HN: Good sources to find part-time contract work?
16 points by ccdev  1 day ago   5 comments top 3
pcunite 1 day ago 1 reply      
At the end of this contract, can you ask your current contractor for leads? Depending on the area you live in, nature of the work, perhaps you could visit a local chamber of commerce meeting and find opportunities to start conversations about how you can help.
SirLJ 1 day ago 1 reply      
I have found good developers for small projects on upwork.com in the past and was quite happy as a customer, not sure about the other side tough... One thing I can tell you, I never took the lowest offer but had quick chats with every developer to see what knowledge they had on the subject - stock trading in my case, before hiring them... For me what was important was a quick and quality work, not to save few thousand dollars...
HN is my new Facebook
58 points by herve76  1 day ago   41 comments top 24
pssst 1 day ago 0 replies      
This is my first post so here it goes:

I'm a 30 yo self-taught programmer from Romania and I've found this page a couple of months ago... since then this is my point of entry to the WWW, this is really adictive! :D

Great job maintining this!

amorroxic 1 day ago 0 replies      
Been a HN user for 6+ years and after all these years HN is still pretty much the only feed I check on a daily basis.(not on Facebook so my example may not be very relevant)

The thing I love about the experience can be summed up as:- no click bait headlines- no endless "engagement", notifications, round navigation and noise (incredible quality of content curation)- amazing community (comments are often more insightful than the source)

Basically there comes a moment when you're up to date - reading done - and can carry on with life afterwards.

notadoc 1 day ago 0 replies      
I stopped using Facebook years ago and the quality of my life improved notably, I would highly recommend it based on my own experience. I personally found it to be a huge waste of time, and also full of useless information that amounts to brain pollution. Do you really care what an excoworker from an old job ate for breakfast? Do you really want to know a grade school classmates political opinions? Do you really want to see vacation photos of someone you sort of once knew? How much time, energy, brain power, do you devote to any of this? Does it give you any value in your life? Does it make you feel good? etc etc etc

You might think "oh but I like it to stay in touch with people!" but eh... pick up the phone and call someone, or send them a text message. Actually communicate with the people you want to keep in touch with. Casually observing what someone is doing via internet voyeurism is not staying in touch.

lproven 1 day ago 5 replies      
Beware of echo-chambers.


marsRoverDev 1 day ago 1 reply      
This only works until it gets too popular. Reddit was pretty awesome back in the day too, specifically because it had an HN-like crowd.
arximboldi 1 day ago 0 replies      
It is also like Facebook for me. Indeed, these are two first lines of my /etc/hosts and only comment them from time to time:

matthberg 1 day ago 1 reply      
I find that it's a near perfect niche for news. It's slim and dead-simple: there's one feed (two if you count new, then the subdivisions show and ask), no following or friends, direct messaging is even excluded. It was built into a niche, and it expanded to fill it perfectly.
COil 1 day ago 1 reply      
Same here. Facebook will just make you loose your time and fill your brain with useless data.
chippy 1 day ago 0 replies      
I'm thinking that both Facebook and Twitter has lost that early adopter, frontier mindset that initially drew us to it. Reddit had it for a few years but has lost it now and HS has some of it in a niche way.

I think that there's a huge space, a huge potential for a new social network which we, early adopters, will jump in and love.

thatwebdude 1 day ago 0 replies      
It would be a lot better without karma.
slang800 1 day ago 1 reply      
Yeah, same here. Just don't start posting cat photos or what you ate today.
zabana 1 day ago 1 reply      
HN sounds very similar to the FFF forum in Gibson's pattern recognition novel. And I mean it in a good way. Also, if it's not on Hacker News, then it's not news.
manoj_venkat92 1 day ago 0 replies      
I think wherever there's sizable amount of devs, engineers & creators are in a group. Things get pretty meta and discussions run deep in subject and quality. Good to be on HN. May people post really good tech and exciting world happenings and create a multicultural world-view among the users.

Like they say in Canada : "Peace Ooooot"

luord 20 hours ago 0 replies      
Apples and oranges for me.

I use Facebook to keep up with friends and family.I use HN, among others, to keep up with technology.

I see no reason for dropping one or the other, they don't even intersect for me.

parski 1 day ago 0 replies      
Pipe yourself to /dev/null.
companyhen 1 day ago 0 replies      
I've been getting into Crypto a lot lately.
dirtylowprofile 1 day ago 1 reply      
I just hope HN will have an official app in the near future.
tnone 1 day ago 2 replies      
Strange, I'm absolutely jaded on the technologies of today's world. The web and mobile phones have locked us into a shitty content consuming culture. Almost nobody is writing real novel software, they're just gluing together premade parts and managing the plumbing. I don't even blame them, the amount of effort required to just get people to look at something that doesn't open with 1 click is immense.

But shunting data in and out of sql databases and making REST APIs is not novel tech work, it's just a very fragile way of describing and maintaining policy. The tech sites of old had more interesting and novel implementations in a handful of articles than passes through HN in a week, and it wasn't stuck behind a SaaS wall either.

As for VR or AI, one is stuck in a rut of uninspired arcade shovelware and the other is being used for terrifying totalitarian purposes. Welcome to cyberpunk dystopia, population you.

danielharrison 1 day ago 0 replies      
I find medium is my new FB.
chinmayv 1 day ago 0 replies      
I use Block site plugin for chrome which redirects facebook to HN :D
mrnutella 1 day ago 0 replies      
I don't have Facebook. All the cool people are on HN.
fadolf 1 day ago 0 replies      
same here, opens automatically.
allenleein 1 day ago 0 replies      
Same here.
angersock 1 day ago 0 replies      
You...do realize that all the news articles are basically product and startup propaganda, right?

Go read some n-gate to put things in perspective.

Ask HN: What's your process for building a community around your product?
34 points by scapecast  2 days ago   7 comments top 7
19eightyfour 2 days ago 0 replies      
Go read Tribes. The following is my advice, not from that book.

Same as with creating a community around anything.

1. Define a group of outsiders, explicitly (politics) or implicitly (privilege).

2. This scaffolding sets up the emotional payoff necessary to motivate people to be involved and belong. The nature of community is also the essence of how you create it. Tap into people's reward circuitry. Their tribalistic instincts. If you find such notions repellant, you could be in the wrong business.

3. Apply optimizations, such as letting people advertise recognition and status (reputation), develop mastery ("my skills are improving"), and act autonomously ("I got this").

4. Make a safe space for them to congregate. You need boarder control / bouncing / moderation. You can take an editorial stance yourself, or work with the community to develop it collaboratively.

5. Let them communicate.

Do you really want to do this? A community is like a ginormous multiheaded baby. It will suck you dry and lay waste too all your other plans. But maybe it will also be among the most beautiful and amazing things you've ever helped create. Your call, buster.

KanyeBest 14 hours ago 0 replies      
Platzi has a series of videos on this topic.


Edit: Apparently it's no longer free. The course isn't really worth $100 in my opinion, so here's a short writeup of the videos http://cmxhub.com/article/product-hunt-erik-torenberg-commun...

mattbgates 2 days ago 0 replies      
I started a website, http://www.confessionsoftheprofessions.com, years ago. It now gets a few thousand visitors a day so usually I'm able to market my products there or whatever I have. I don't have success or fail numbers, but I've had plenty of repeat contributors, so something must be working.

As far as putting my own products on there, I did put a link up which is on every page of the website, and I do get clicks that lead to it. For my more prominent products, I tend to write an article about the product or find similar products and write comparisons. Pretty much rather than selling.. I'm just trying to "make known" that this product is here for you.

alazoral 2 days ago 0 replies      
Wrong question.

Community is your market, and crucially, you.

You should have found the community first. Then, if you're truly part of it, you'll know what your product should be.

If you're asking the question you're asking, it means you built a product without a market which is going to be... challenging.

tmaly 2 days ago 0 replies      
Right now, I am just going person to person telling them about my food project. I enlisted a dining club to help me test. I have not really found product market fit, so its hard to say if my methods will ultimately be successful.
philippz 2 days ago 0 replies      
Building a community mostly consists of three parts:

1. Creating value for a specific target group. An early product/market fit lets word-of-mouth spread.

2. Let people participate. Giving people the feeling to be heard is crucial. A proper feedback management / cycle, helps.

3. Inform people what is happening. Let's call it "content marketing".

4. Start becoming an expert / create a personal brand

For step 1) you need to reach out to those people. Do things that don't scale. Go to meetups or wherever you find your target group. Talk to them, build relationships, ask for feedback, identify influencers. Try to understand the market, their problems, identify their needs, build relationships and build on that.

For step 2) have a proper feedback solution in place. Facebook Groups, an on forum are some options. We developed a platform exactly for this part. It's called STOMT (disclosure: i'm the founder). But we used our own product to build our own community. We invited anyone to checkout the product and leave us feedback on our profile: https://www.stomt.com/stomt - That way you can easily collect wishes, discuss, vote, manage and react on them.It works great and from time to time more and more people started using us. Have a public dialog and people get a community feeling. The question is which tool you are using and if you can efficiently combine it with feedback management. As this can create a huge overhead. Another example which works even better than ours: https://www.stomt.com/empires-of-the-undergrowth - just check out the stomt/reaction ratio. And those guys are not on the market with their game yet.

For step 3) This costs time. But to get feedback/engagement/participation and to get people excited you need to share your status on certain aspects from time to time. I like how Taylor Otwell (Laravel Founder) does it on Twitter. Bloggig is great.

For step 4) Share your knowledge, use your relationships to speak on a stage, be the expert. This works great for me => for us and let people follow you.

Edit: It is important to mention to start early. Be the expect (step 4) from the first second on. Talk to your customers (step 1) from the first second on. Invite them to a place you define (step 2) as soon as possible. And share if you have something to share (step 3).

dahoramanodoceu 2 days ago 0 replies      
That is the big question, isn't it.

It depends on so many things it's hard to define specific things, as each combination is distinct. It's like striking up and holding a conversation. How do you do that? That is what you are doing with the community.

Find out who they are.Find out what they want.Find out what they likeFind out what they need.Try a bunch of combinations of these 4 observations that makes them happy enough with you to engage.

When and why do you prefer renting vs. buying things?
7 points by abakker  23 hours ago   6 comments top 5
e59d134d 7 hours ago 0 replies      
I prefer to buy. But whenever I buy toys, I assume one day I will get bored with them. So I estimate resale value. If resale value is too low, then I prefer to rent.

For example, when I bought my DSLR, I looked at various camera rental sites and used prices of year old models. It showed me that I should buy the camera because even if I sell it after couple of years, my overall cost of camera would be only couple of weekends rent.

So generally I buy cars, books, video games, furniture, music CD (yes still buy CDs) etc. Selling is really easy. (Lately, books have no resale value but there is no book rental service other than library. Also I like to gift books so it evens out.)

Only thing I rent because of above math is movies.

Then there are a few things I rent just because it is convenient to rent or cost too much to own for short time period. So I pay for gym because I don't want gym equipment at home. Or rent cars when traveling.

richardknop 23 hours ago 0 replies      
Major reason for renting is you are very mobile and travel a lot. For example I have traveled around and worked in several countries over last couple of years.

If I had a mortgage somewhere I couldn't live like I do now when I can freely move to another country for a year for a gig, then move again. So renting gives you flexibility to move after jobs quite easily and travel the world while you're young, gain international experience and see other cultures.

Of course, once I settle down in one place where I'd like to stay I will buy a property instead. But I haven't decided where I want to live yet.

Once you buy a house somewhere you pretty much have to stay in that area for next 20 years and are limited to jobs in your local area. Of course, you can sell, but 1) that's a hassle and takes time 2) there might be a down market when selling for good price is difficult and then you're stuck in your place until market turns around. If you're renting you can move whereever economy is booming or there is some interesting niche job.

Long story short, if you rent, relocating for jobs or expatriating to a different country is easy. So I'd recommend renting while you're very young (<30-35) and buy a property later once you are more settled down.

pattrn 23 hours ago 1 reply      
Despite the occasional disadvantage of buying over renting, I always prefer to buy. Renting makes me question the extent to which I can use something, and it makes me fear the consequences of breaking it. Rather than investigate and remember the details of everything I choose to rent, I'd rather just own it in order to reduce cognitive load.
paktek123 23 hours ago 0 replies      
If I can't afford to buy it, I rent it :)
twobyfour 21 hours ago 0 replies      
Considerations are somewhat different for personal vs business use.

For personal use:

I prefer to rent things I don't intend to reuse indefinitely (movies, for instance). But I'm very careful about recurring subscription fees. They add up quickly. Netflix is my one non-utility subscription - mostly because it costs so much less than a cable TV subscription while offering such a better experience.

I prefer to purchase anything that might inhibit my access to data I intend to use in the long term (basically, any software for creating/editing non-ephemeral data). Also, a lot of software is ridiculously overpriced at rental prices.

I rent my apartment because purchasing an equivalent home would cost multiples of my rent every month - I basically couldn't afford it. Also, real estate is already overpriced where I live and thus a poor investment, I don't want the responsibility for upkeep, and I don't intend to stay in this location for more than a few years.

I rent cars because I only need one once or twice a year. I don't even take cabs more than about once a month.

Basically everything else I buy. Or don't need and thus don't buy OR rent.

For business, cash flow and spending money to make money flip some of the considerations on their head.

Renting software for collaboration makes more sense than self hosting as long as the costs are less than the value of the time you'd spend maintaining it. Other software is worth renting or buying (whatever the business model the producers use) simply because you need its features and you don't get a choice of how to pay. The increased productivity of the right package over the wrong one for an employee's core function is easily worth hundreds, often thousands per year.

Office space: rental is a no-brainer unless you're Apple or Google.

Furniture: if you expect your company to exist for more than a few years, buy. Furniture lasts a long time.

Computers: Buy Macs, rent Windows. Your engineers and designers need the latest and greatest once every couple years, sure. But the rest of the company will do fine with their hand me downs. However, the build quality on windows computers is a race to the bottom, and I've seen too many laptops fall apart within 18 months. Whereas probably 80% of Mac laptops are just fine 5 years in, if a little cosmetically blemished.

Appliances: rent. Rental companies seem to have fewer qualms about replacing your appliance and taking the old one back to repair, instead of stringing you along scheduling repairman visit after repairman visit. And you just don't want to be without a coffee machine or dishwasher for three weeks.

YC grads: Benefits of YC experience? for story with deadline tomorrow
4 points by todddsto  23 hours ago   1 comment top
the-dude 23 hours ago 0 replies      
Proper planning.
       cached 30 June 2017 20:05:02 GMT