hacker news with inline top comments    .. more ..    23 Aug 2017 Ask
home   ask   best   2 years ago   
Ask HN: Do any of you do data science as a hobby?
18 points by RealAnalysis  6 hours ago   5 comments top 3
cuchoi 3 hours ago 1 reply      
With a team of data-scientists-as-a-hobby, we are building www.17-56.cl, which displays insights from data about Chile. It is in Spanish, but feel free to look around. For example, I created a map that displays the votation in the Chilean primary elections: http://fernandoi.cl/mapascomunales/primarias/primarias.html. Simple, but informative and fun.

Probably as a hobby you will not be able to write an analysis that will get published in a paper, but there is a lot of descriptive analysis out there that can be very interesting.

RealAnalysis 1 hour ago 0 replies      
I'm really just wanting to do my own self research on topics and datasets that seem interesting, but also want to ensure the analysis im doing is sound.
minimaxir 3 hours ago 1 reply      
While working as a Software QA Engineer at Apple, I wrote a large amount of statistical blog posts to get a breadth of skills outside of my role (story: http://minimaxir.com/2017/05/leaving-apple/)

I did have a statistical background before starting at Apple however. Most of my projects were self-taught and done as self-research (I am not a fan of the take-a-million-MOOCs strategy everyone likes).

Ask HN: What is the best HN like site for crypto currencies?
7 points by scottkclark  6 hours ago   5 comments top 4
nicklo 2 hours ago 0 replies      
Check out http://reddit.com/r/cryptomarkets. Lots of good discussion (just ignore the HODL/moon trolls).
scottkclark 5 hours ago 1 reply      
What are the best resources, web sites, blogs etc for understanding what is happening in the crypto-currency world?
dabockster 5 hours ago 0 replies      
None at the moment...

Brb, building HN for crypto.

imaginenore 6 hours ago 0 replies      
Various Reddit subs.
Ask HN: What does deliberate practice look like for computer programming?
71 points by tim_sw  1 day ago   31 comments top 21
taf2 16 hours ago 0 replies      
I think you can divide programming up into a few areas.

1. Mechanics, how well can you navigate and type using the tools you have available. To practice this an easy thing to do is formatting your code without any automatic formatting. In vim for example, this helps you learn the commands.

2. Reasoning/problem solving. This one is harder to practice and really requires experience. Always have a project and spend time trying different solutions. A nice characteristic of software is you can usually just undo if something was wrong, so don't be afraid to experiment.

3. Research- it's safe to assume someone else already solved a problem. Use google to find their solution and read how they solved the problem. Never be afraid to open up someone else's code.

whatismybrowser 21 hours ago 2 replies      
This is more of a technique for learning than for practice... but one thing that I make a habit of when learning a new programming framework is deliberately typing out sample code that I've found in books or online instead of just copying and pasting it.

It's the equivalent of writing out notes by hand from a school textbook instead of just photocopying the pages... some how the process of actually re-typing it out causes it to stick in my mind better. And then later, when you're really "in the zone", you don't break your focus by needing to keep referring back to the book, it's already embedded in your muscle memory and you just keep plowing away.

jerf 1 day ago 0 replies      
Doing things you've not done before that stretch you, then generally moving on after you've done the first 10% that teaches you 90% of what there is to know. (Numbers may not be precise.)

An incomplete lost: 3D graphics programming, write a compiler or interpreter, write an emulator (Gameboy is popular), write a web server starting from a socket, learn a new language paradigm, grab a raspberry pi and do something with gpio, find a friendly open source project and close some bugs, and so on.

I'm an advocate of the "T shape", where you are deep in one or two things ("pi shaped") but have dabbled in lots of things.

I would not that while katas as others suggest are not bad, they are usually count for just one skill. You may learn a lot of clever tricks and some useful math, but what you get out of them will plateau before you get to the end of the katas set.

subwayclub 1 day ago 0 replies      
Programming more skillfully is primarily about making decisions on which feedback loops you pay attention to, and not getting stuck on ideas about feedback that seem momentarily fashionable or convenient, but lead to bad outcomes later.

Write prototyping code that solves an existing problem as nearly as you can manage, and then figure out how to improve it on one or more metrics:

* smaller SLOC (automatic programming, data abstractions, etc)

* better portability, fewer dependencies, simpler build processes

* better throughput, latency, or resource usage(memory, storage, bandwidth, energy)

* eliminate one or more classes of errors(e.g. off by ones, null dereferences)

* better user interfaces, better documentation and accessibility

* more efficient development of the prototype

* better working environment (workflow, tools and knowledge of the tools, automations for convenience)

Oftentimes, you can make one change and improve several metrics. Other times you sacrifice one to get others. There are bad tradeoffs like code golfing or premature optimization. Having the prototype already in hand is crucial in all cases since it gives you a spec to bump up against when you're at risk of falling off track. If you're more daring this can take the form of an existing shipping codebase.

neurocline 1 day ago 2 replies      
Deliberate practice in a nutshell - pick something that has a measurable outcome, have a target that is just slightly harder than is possible for you at the moment ("outside your comfort zone"), do it, then compare your measured results against your target, and then iterate.

I am not entirely sure deliberate practice works for programming. I've been following Anders Eriksson's work for 10+ years, and it seems most applicable when applied to domains that have a history of training. Want to learn how to sing really well? You can probably do it. Want to be the best basketball free-thrower in the world? Probably.

It's the lack of a body of trainers and training that hurt, because deliberate practice talks about having quantifiable goals and the ability to compare how you did it versus how it's supposed to be done. E.g. have a trainer in golf means the trainer can critique your strike.

If I ever figure out deliberate practice for programming, you can bet for damn sure I'll write a book.

andreasgonewild 1 day ago 0 replies      
It looks like, and is often accused of reinventing wheels. Forgetting that it's not about the wheels but what the designers learned from going through the motions. Writing code that you've never written before on a daily basis is a good start. The key is to keep raising the bar, keep questioning tools, frameworks and best practices; to never get stuck on auto-pilot. Solve problems you care deeply about; or if that isn't possible yet; practice on the road-blocks, divide and conquer. At least that's what it's like for me.
dmux 1 day ago 0 replies      
I posted a link to a paper [0] about "Deliberate Performance" the other day that some may find useful. In that paper -- along with making the distinction between practice and performance -- they describe deliberate performance as:

>the effort to increase domain expertise while engaged in routine work activity.

They then go on to give four types of exercises to focus on:repetition, timely feedback, task variety, and progressive difficulty.

[0] http://peterfadde.com/Research/Deliberate_Performance-PI-101...

segmondy 14 hours ago 0 replies      
Code jam & katas are fine. But they are not deliberate practice. They are just exercises.

Deliberate practice is about working on your weak area till you're no longer weak in that area.

You MUST perform a retrospective on all your projects. Ask yourself what you struggle with often, what are your pain points? Identify them, then work on them. The mistake I often see is that most developers create more problems for themselves by attacking multiple problems at once. If you have XYZ problem, and you decide to use a new language, a new framework, a new cloud service/API, a new DB and a new design style you have never used before. You will never be sure your pain point.

What you must do in this world of too many choices is LEARN TO CONSTRAIN. Pick a language, DB, framework, etc that you know. Nothing should be new to you but the problem. Yes, it's true that your existing tools might not have everything you need. LEARN TO BE RESOURCEFUL. With that said, attack the problem, if you have any issues, it will be obvious and apparent.

Let's say you have a great project you understand through and through and you wish to learn a new DB. Keep all things constant, rewrite your old project and the only thing that should be new is the DB. Repeat till you master the DB.

You must limit your problem to ONE and ONLY ONE at a time. This allows you to measure and correct faster if on the wrong course.

indescions_2017 1 day ago 0 replies      
Attempt one Google Code Jam problem per day. Allocate one hour of intense focus to get as far as you can. Solutions and winning code examples are also there if you get stuck!


siegecraft 1 day ago 1 reply      
You could try TDD katas (see http://osherove.com/tdd-kata-1/ for a starting point). For me, the value in this practice is becoming hyper-proficient with your chosen development environment, not neccesarily learning TDD well. TDD is just a good problem domain that enforces the rest. I think of it in terms of "mechanics" practice. How quickly can you add a new file to your project? How quickly can you integrate it into your workflow? Do you have a tightly focused write/run/debug loop? Are you proficient with keyboard shortcuts and templates or whatever else will accelerate your speed. It's about being able to keep up with your mind when you get into flow and are ready to crank out code.
reading-at-work 10 hours ago 0 replies      
Not sure if linking to reddit is frowned upon here, but there's a great subreddit called r/dailyprogrammer which has fun coding challenges ranging from beginner to difficult. I've found they are great for practice because they have defined "success" states, they really make you think, and you can compare solutions with others in the comments. And you can use any language you want.
auganov 5 hours ago 0 replies      
I have this tendency to get stuck in an incrementalist mode of coding where I'll unnecessarily "test" little changes before it really makes sense. Forcing myself to write out as much code as possible before running it, is a form of deliberate practice for me.
jwilliams 1 day ago 0 replies      
I use a painting/art metaphor for my practice. Usually when i want to develop a new major function or approach - or adopt a new technology - I do a "sketch".

The sketch is a standalone project that embodies what I want to understand. It could be React with a basic router and a test framework. I'll iterate on that. Sometimes several times. Then I integrate into the projects I'm working on.

Usually this is verifiable in some form. Being reliably testable is one. But others could be micro-benchmark performance. Occasionally the aim is just to re-write in a different language.

In the future, if I wanted to make a structural change (e.g. a different router) - I'll go back to the sketch and make the change. Sometimes I also do a sketch from scratch. However, I find working on the original sketch informs changing the production code a lot better.

In "deliberate practice" terms that's a very macro-level approach, but it's a balance that's worked for me.

stephengillie 1 day ago 0 replies      
Code is both math and language.

- Deliberate literature practice involves as much (or more) reading as it does writing. Tangentially, code review is an important way to both learn how other people express ideas in other ways, and to learn new features and tricks to express yourself in a given language.

- Deliberate practice in mathematics begins with rote memorization, and later with repeated application of algorithms. So practice could first involve typing common algorithms, including brackets and other grammar, until they (e.g. a FOR loop) can be typed from memory. Or possibly automating this step, and practicing using the automation. Later practice could involve repeated application of algorithms - possibly algorithms of your own making.

kleer001 1 day ago 0 replies      
Working through a new programming book?

Answering questions on Stack Exchange?

Watching marginally related recorded talks at conventions?

Focusing on the thing for an extended period of time while exploring new territory?

The muscles you're wanted to exercise are pattern recognition and lateral thinking, all in the problem solving family.

So, find a problem, them solve it.

gdubs 13 hours ago 0 replies      
Get a copy of SICP and do all the exercises (and or follow along with the MIT course videos on YouTube)
OtterCoder 1 day ago 0 replies      
Excellent answers already. It also involves some time problem solving on the craft at large. Take some time reading the words of people who have innovated in the field and argued with their peers. See if you can work out where the champions of OOP pushed our understanding and where they failed. See if you can understand the functional programmers have created beauty out of chaos, and where they've drunk a little too much Kool-Ade. Once you've understood, write a few example programs in those styles and languages.

In understanding the radical designs and patterns that great coders have used and argued about, you'll see you own code style change, even unconsciously.

throwaway2016a 1 day ago 0 replies      
Hacker Rank practice problems
williamle8300 1 day ago 0 replies      
Believe yourself to be competent. Never believe yourself to be wise.
lhuser123 1 day ago 1 reply      
Excellent question. Looking forward to read all the answers.
zaptheimpaler 1 day ago 1 reply      
Deliberate practice for X literally means do thing X.. i think that is simple - the best way to get better at X is do X. So it really depends on what you want to get better at.

Practice for algorithms could mean doing a lot of leetcode/interview style algo problems.

Practice for working with large codebases means practicing reading/understanding code quickly. So maybe picking a large scary open source project and trying to make a contribution.

Reinventing wheels like andreasgonewild is the most useful and fun kind of practice IMO. Pick a cool technology and make it yourself from scratch. Maybe in a new area you know nothing about. A distributed KV store? A stack-based programming language? A code formatter?

If you develop something big like that, you will surely exercise all the muscles it takes to develop something. Reading too many tutorials or watching too many videos is narrowly exercising the "learning" muscle. Solving algorithmic puzzles is narrowly exercising the "CS fundamentals" muscle. But the best workout to prepare to chop wood is to chop wood.

Ask HN: How did you get your first paying customers?
16 points by designerlye  11 hours ago   8 comments top 7
RedneckBob 22 minutes ago 0 replies      
You should have customers before launch. Read the first four chapters of: https://www.amazon.com/Four-Steps-Epiphany-Steve-Blank/dp/09...
jwilliams 2 hours ago 0 replies      
B2B SaaS - Used networks, cold emails and showing up (cities, events, conferences). For everyone you meet, ask for a referral to someone else at the end. When you have an idea that has some level of product-market fit, that should be enough to get traction.
brianwawok 57 minutes ago 0 replies      
Met a guy on a relevant reddit :)
malux85 4 hours ago 0 replies      
My very first startup I was naive and just did cold calling. Got a huge number of no's (200+) before getting a yes.

Next time I'm much smarter, seek partnerships and even better if your product is an upsell, then you can have others sell it for you

fairpx 11 hours ago 1 reply      
For my latest business (a productised service that provides unlimited UI design for software teams http://fairpixels.pro) I simply contacted my previous customers.

It's surprising how many of us are always looking for new customers, when sometimes, contacting people who you already have a relationship with works best.

Even if it's your first business. Maybe you know a few folks from your previous job, an internship. These people already trust you, know you and interacted with you before... the easiest way to get your first customer, I think, is through the network you already have.

Browse through your phone and email contacts. Your first customers and users might be sitting in your pocket as we speak :)

AznHisoka 7 hours ago 0 replies      
I used social media to find influencers who could help promote my product using tools like CrowdTangle and Followerwonk
graystevens 11 hours ago 0 replies      
A recent HN discussion which may help:https://news.ycombinator.com/item?id=14191161
Ask HN: What is the future of browsers?
10 points by skdjksjdksjdk  6 hours ago   13 comments top 11
erikpukinskis 4 hours ago 1 reply      
To some extent, you can look at mobile app platforms for guidance:

- identity service

- payment services

- 3D positioning data, including 6DOF

- hand tracking and object tracking (AR)

In terms of future-y stuff, I can see some sort of blockchain integration, like CloudStorage as an IPFS version of LocalStorage. That would potentially need to dovetail with the identity and payment stuff.

I suspect as we get deeper into AR times, some kind of device-relative geo services will need to be necessary. Like, give me a list of services that are within 1 foot, 20 feet, and 1000 feet respectively.

Personally, I also think the browser is ready to make the leap to a kind of raw metal relationship with hardware. ChromeOS is an example of this, Firefox OS was an attempt. I'd like to see more specialized OS's that can boot hardware directly to the web. The security models on Mac and Windows are slowly approaching something more like the web anyway, where apps run in a sandbox. Web pages have been doing that forever, so it seems like a good fit for a security-conscious OS.

A mobile headset would be a good opportunity for such an OS to differentiate itself. Which leads me to...

The other huge opportunity I think is in web "filters". We've gotten to the point now that there's just a lot of crap out there, and with ad blockers and readability filters we've started to dabble in a meta layer. I think a future web browser will go full meta, where by default you don't see the actual web page, you see a thumbnail and a bunch of views on the data in that web page, and you only dip down into the giant messy interactive ad-riddled view if you want to.

Past endeavors include the whole space of web annotation, semantic web, etc. Not sure why none of that has taken off, but seems like something that will find product market fit eventually.

One of those "filters" could be an AR filter. Take a web page and map it into AR space. Also VR. Add avatars of other people around the content. But there should be a whole marketplace of filters, language translation, low power filter, etc. Opera was doing some version of that. You could have political filters too. "Block all misogyny", "Add Fox News' take", "Keep everything tidy and German" etc.

A lot of this marks a general transition from a site POV to a user POV for the browser.

If anyone wants consultation on any of these ideas, I'm available for hire. :)

dabockster 5 hours ago 0 replies      
Hopefully there will be more browsers/engines than just 2-3 large ones. I know that will make web dev difficult, but it will encourage the most innovation online.

I'm sick of having to choose between either Firefox, Edge, or a thousand Chrome knockoffs. There needs to be more diversity.

osrec 4 hours ago 0 replies      
I think the main browsers will continue to dominate (it's tough work to launch and maintain a browser, so there's a high bar to entry). I feel native features will continue to be exposed via the browser, and eventually, I can see web apps eventually replacing their native counterparts. I am personally a big fan of web apps, and prefer them to native downloads that highjack my phone or computer - browsers just need to be careful to manage permissions to intrusive APIs in a sensible manner.
srcmap 5 hours ago 0 replies      
Love to the Servo from Mozilla take over the world soon.
llccbb 4 hours ago 0 replies      
I have been enjoying using selenium as a programmatic interface with the browser. Hopefully more of that!
NikolaeVarius 6 hours ago 0 replies      
I would love a browser that didn't take 100mb of memory per tab. Though I'm not sure how much of that is to blame on the browser/plugins or the webpage.
TomMarius 5 hours ago 1 reply      
I would love a way to ditch HTMl/CSS and use a thin abstraction on top of native GUI toolkits (WinAPI, Qt, Gtk, Cocoa...) instead.
fairpx 6 hours ago 0 replies      
I think the best part of the browser are the extensions and plugins people make.
imaginenore 6 hours ago 0 replies      
Browsers seem to be converging.

It's quite obvious that they will all implement next JS standards, with some experiments here and there.

They will add API access to more hardware like VR helmets, controllers, maybe even USB devices (which would be great for web hardware based security, like 2FA).

Probably voice control and typing (like on Android).

Probably automatic translation (not just by Google).

Built-in free VPN (limited obviously) and TOR would be nice.

trentmb 5 hours ago 0 replies      
maxk42 6 hours ago 0 replies      
Ask HN: Who have the best paying (tech related) affiliate programs?
18 points by softwareqrafter  14 hours ago   2 comments top 2
fairpx 11 hours ago 0 replies      
I think OP is asking for products/businesses who are providing an affiliate program. The word 'best' should probably be translated to: "who pays the highest commission".
cm2012 11 hours ago 0 replies      
You're not going to find a successful affiliate marketer willing to share his or her niche.
Ask HN: Why companies look for full stack developers instead of specialists?
25 points by r34  15 hours ago   38 comments top 24
dagw 14 hours ago 2 replies      
Early on you don't know the distribution of work. If it turns out that your workload doesn't split 50/50 front end/back end then half your team will be overworked and half your team will be waiting for stuff to do. Once you get going it might turn out that the back end wasn't that hard after all and that your true USP is your world class front end (or vice versa).

Once things settle down into familiar pattern and you actually have a good idea of what your workload will look like down the road and what specialists you actually need (as oppose to imagine that you might need), then you can start hiring specialists.

Edit: That being said you should have someone responsible for each part and you can split your team into primary front-end and primary back-end based on their relative strength and preferences. However it's important that everybody has the necessary skills to work on all parts of the product in the beginning.

BjoernKW 11 hours ago 1 reply      
Front-end / back-end isn't a particularly useful distinction in my opinion. Differentiating between those 2 is just another way of creating information silos.

I'm old enough to have experienced at least 2 full thin-client-fat-client cycles and I'm certain the current one won't be the last (at least it seems to have been a recurring pattern since the beginning of modern computer science).

While the front-end / back-end paradigm might make some sense right now because the technologies used for each of those layers conceptually seem to be quite different from each other I doubt it's really that much of a benefit. On the contrary, it might even be detrimental to effective software development:

I'm not in the business of creating either front-end or back-end code. Neither is useful without the other. I'm in the business of creating value and solving problems with software. Depending on the problem at hand this can involve different tools at varying degrees.

Focusing on just one tool or layer can lead to a potentially harmful mindset. A mindset in which you just throw your part of the work over the wall thinking that it's not your problem anymore.

The arguable benefit of having specialists churn out stuff in their respective layer more quickly than a generalist would quite likely is offset by communication and interface overhead: The difficult problems in business applications nowadays mostly arise at their boundaries. Software development for the most part means communication.

PaulHoule 15 hours ago 0 replies      
I have seen separate teams designing a protocol often end up in tears.

One mistake that gets repeated over and over again is the protocol that is too chatty because the people involved like the idea that, like subroutines, operations should be composed out of smaller operations. Trouble is that distributed calls take 1000x or more longer than subroutine calls and are billions of times less reliable.

Without somebody looking at the big picture, what you'll learn the hard way is that performance, reliability, and security are holistic properties of the system which you won't find localized in any one place.

busterarm 13 hours ago 4 replies      
Odd. I'm a full stack developer and I find my experience to be the opposite...or at least it doesn't matter what your other skills are if don't have 2 years experience in hot-javascript-framework-X (right now, React). I'm probably just a bad salesman though, but I just don't feel like I'm very in demand.

Doesn't matter that I rolled our whole architecture and infrastructure, did all of the ETL work, can handle security, web accessibility & design, and basically run point on all projects. I use basic, unsexy, reliable tools.

chuck32 14 hours ago 1 reply      
I don't think its a good idea because in reality most devs are one or the other.

My theory is that most backend developers claim to be "full-stack" in order to get the job even though they really are much more focused on backend stuff. This is because its very hard to learn ruby/python/php/java for web development without learning html/css. Project Managers like having full stack jobs only because they think that can just get somebody to "do everything".

This is also probably a bit of a legacy thing, ~15 years ago the difference between backend and frontend web developement was not as well defined as it is now. A web developer would "make the page look like this with a text field there and a button here" (frontend - html/css/javascript) and then make the form on the page "save the form input to a database" (backend - a php script possibly embedded in the page).

These days development is more like "make the site be a single page app with a responsive mobile-friendly design" (frontend - angular/react/ember...) and make it process data from the user and send it off to external apis and integrate third party libraries (backend - rails/django/.net...) and have a version controlled and automatic way of deploying the code to a multiple servers behind a load balancer (dev ops - chef/puppet for example).

As with any technology, the more advanced it gets, the more need there is for practitioners to specialise.

kharazi 14 hours ago 0 replies      
As a co-founder of a software company, I have an experience of 15 teammates for 4 years. Generally, our projects need a lot of expertise like backend and frontend but in all times, the weight of our requirements are not equal. In this situation that we have full-stack developers, we can do various projects often we do heavy-backend projects and having full-stack developers can help us to find proper tasks to everyone.

In principle, the world needs more between disciplines experts and you can see it as a universal trend.

dasmoth 14 hours ago 0 replies      
Having at least some knowledge of all the pertainant tiers is pretty helpful when sketching out an architecture for others to follow. When combining specialists, there's a lot of merit in having someone in a senior position who can speak everyone else's language.

At smaller scale, strong full stack developers can get quite a bit done in "team of one" mode -- perhaps more than two specialists who have to spend a fair amount of time thrashing out interfaces.

thehardsphere 13 hours ago 1 reply      
The main problem with specializing in this way is that it presumes that "frontend" and "backend" are the correct criteria to start specializing on, and that they're equally valuable. For many applications this is simply not the case; usually one is more valuable than the other, and if specialization is necessary it needs to start within one of those two categories instead of between them.

A secondary problem is that any time you have an interface and people who can't clearly understand what happens on both sides of it, you end up having integration problems. And meetings to discuss the problems. And proposals to solve the problems. And disagreement on who should solve the problems. And future arguments if the solutions are wrong. "Communicate with an appropriate formalism" is the probably the hardest part of software; why would you introduce that if you don't actually have to?

niftich 7 hours ago 0 replies      
Expending the effort on designing formal, hard system boundaries (within the same organization) tends to work less well in practice than it does in theory. The 'full-stack' trend serves to compensate for this deficiency by making individual devs feel ownership of a higher proportion of the overall product up and down the stack. As a related effect, it allows the firm to shuffle the devs where they're needed the most, theoretically not limited by their specialization in a particular area.

This is a less cynical take than a popular post of mine a year back [1], in which I say:

> The 'full-stack' trend is a reflection of rising, dare-I-say unrealistic expectations, one which the author supports by their recommendations in their blog post. By perpetuating the notion that the only 'true way' to be a good developer is to structure their lifestyle around understanding implementation details behind all the layers of a modern tech stack, they place an unnatural reverence on the mythos of hackerdom while ignoring that software development is not solely a creative pursuit.

> As it stands now, 'full-stack developer' is a euphemism, which in hip new places means 'we want you to live and breathe code, because you will be given vague requirements and expected to deliver the entirety of the solution from the bits moving across the wire to the UI espousing the latest visual design language in less than a month', and in established places means 'we want an infusion of new blood to bring sanity to some legacy code and we're counting on you to debug and fix everything by yourself'.

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

edpichler 10 hours ago 0 replies      
I think because software engineering is not very mature yet, everybody knows how low is the rate of projects that ends on time successfully. So, the process of construction software is always changing, and to deal with this problem, companies sometimes tends to look for generalist than specialists.

Technology also evolves too fast, and a company formed just by specialists will face problems with technology and software engineering processes changes. Having just specialists on a such ever change area is not a good deal. The best is to have a mixed team, formed by specialists and generalists, and in a perfect world, a good organization should be made of men, women, young and old people, natives, foreigns, etc. It's like a sailing crew, everyone is (or should be) really good doing something.

In this ever change world of software building, when hiring a specialist you always think: "If tomorrow this job doesn't need to be done more, what this specialist will do to stay with us?"

All of this is just my opinion, my personal theory. I made it up working 10 years with software engineering and development, and recently bootstrapped 3 companies, and the last years I'm studying administration.

geebee 11 hours ago 0 replies      
I think it depends greatly on the kind of application you're designing. A lot of web apps have a pretty simple backend, mainly persistence. If that's the case, for some small apps a pure back end or front end dev might not have enough to do.

The problem, I think, is that the front end is getting specialized, with enough churn, that it's getting difficult to maintain that specialty along with serious expertise on the back end. In the days of rails and html/css, with a bit of javascript, one dev could handle it all (and honestly, I think integrated systems like rails would be a far better choice for a lot of apps that are going full SPA).

But the interesting apps I've worked on? I remember writing a manufacturing and logistics app that had a lot of linear and quadratic programming, and some fairly complicated database design and SQL, and a more elaborate front end for analysis (applets back then, believe it or not). I was pretty happy to stay away from the front end, really, and I can't see how I could have kept up with what's going on with javascript/SPA frameworks anyway.

ptasci67 14 hours ago 0 replies      
I have always found that the most difficult aspect of any application is nearly always the integration points. Hiring only specialists would probably only make that more pronounced.

That isn't to say this isn't a necessary evil sometimes. Security and mobile development are two simple examples that come to mind of dedicated specialists that many organizations have.

When it comes to generic development, it is beneficial for one person/team to own the entire stack because often the domain specific problems are where the complexity arises, not in the frontend/backend split.

hakikosan 8 hours ago 0 replies      
Because, companies want these "full stack" devs to do all the stuff if they want them to do, whether it's front end or back end or operations, etc. Also when devs specialize in some area and become experts they cost more, so full stack devs are probably cheaper than specialists. I feel like "full stack" is another B.S. like the "devops" thing that's made up recently (~2008 I guess).
Blackstone4 14 hours ago 0 replies      
Because it sounds good in theory and on paper but reality is another thing
iLemming 14 hours ago 0 replies      
Companies (should) try to hire people who are willing to work at either side. Fungibility of the team is more important than an individual's level of expertise. "Experts" have tendency of having one-sided opinions that in a long term may delay building successful ecosystem of software projects.
DeonPenny 11 hours ago 0 replies      
Well the big issue is that in practice people and especially programmer suck a communicating, especially at the borders. If two people work in parallel to build one thing the issue is that both people need to know how the connection works before starting. A fullstack engineer typically is going to be as good as both the frontend and backend engineer with the benefit of the entire context of the project.

I don't know why' you be an either when if you had just learned both you can always work in a company that silos people off. Even though I've always seen it as way less effective.

Jemmeh 13 hours ago 0 replies      
Better to know how all the pieces work together even if just a bit, your overall decisions will work better with the entire program as a whole.

Also I think our job is often just 75% "here's a bunch of information, figure it out" so it doesn't matter what the material is because you're constantly seeing new stuff. Know a lot about a little, and a little about a lot. It's good to have a focus on something but you should be able to navigate every step of the process, even if more slowly than the person who usually does it.

kjullien 12 hours ago 0 replies      
The way I've always seen and understood it is that there's two types of companies :

- starting businesses/(relatively) small businesses that look for someone with the broadest skills possible, this way you employ fewer people to get the job done and have a MVP

- established/historical/corporate companies that already have an established stack that you are not going to reinvent (because of the scale or simply because they wont even let you try) and these companies tend to know exactly what their weaknesses are and they search for way more specialized people to fill those gaps. they also look for "fullstack" devs but way more skilleld, akin to "tech gurus" that act more as lead devs/team supervisors to help out anyone that might run into trouble, so in this case you'd better have some nice work experience.

Anyways, frontend/backend/fullstack, in the end, the pay potential and employability is all about how you sell yourself and nothing more.

Klockan 13 hours ago 0 replies      
"Full stack developer" is just another way of saying "T-shaped web developer" and T-shaped employees are generally considered ideal.
sipjca 8 hours ago 0 replies      
My thought is that you understand the 'system' better and if you can do that you will probably be a more efficient programmer for them.
codegladiator 13 hours ago 0 replies      

1. A lot many experts are totally unaware of the other side of tech.

2. Experts charge much more even if the requirement wasn't huge (if freelanced expert)

3. Communication is hard. Communicating with four experts about new systems is much more hard then communicating with four full stack devs.

dabockster 6 hours ago 0 replies      
Because they can pay one body instead of 3-4.
rokhayakebe 12 hours ago 0 replies      
It depends on the product being built.
j45 12 hours ago 0 replies      
Full-stack devs are normal, experienced, and a good practice for a lot of reasons.

Its curious how the work that full-stack developers could accomplish on the server/hosting, load balancing, database, backend, and front end, has been broken into 6 different jobs.

It's true that they have different skillsets, but you also develop software quite differently knowing how load balancing or other pieces work.

My observation has been a shortage of experienced full stack developers resulted in accepting junior developers who only work on the front or back end while their skills broaden, or deepen.

Many experienced (more than 2-5 years) developers I know have spent a few years at a time working deeply in front-end, back-end, or infrastructure solutions as it might relate to their current work.

Front-end and back-end development focus can be seen as a path to growing one's skills. A developer might grow towards the other, or broader in their existing area.

Ask HN: Where do backlink checking services get their data from?
6 points by maurtinshkreli  7 hours ago   2 comments top 2
sebst 6 hours ago 0 replies      
There is a comment which was voted dead which actually answered the question. These services have their own crawlers. If you ever spot for example MajesticBot in your access logs you have found one of the biggest.
tconaugh 7 hours ago 0 replies      
They use distributed web crawlers to crawl 100s of billions of web pages. Probably one of the following options:

1) Built their own crawlers.

2) Using an Apache Nutch/Heritrix cluster in a colo facility.

3) Use 3rd party services like mixnode.

Ask HN: Who is working on services?
28 points by tylerdiaz  19 hours ago   8 comments top 5
onli 18 hours ago 1 reply      
Doesn't that happen very often, that people work on such services?

I'm part of a small team that works on portier[0], which is what one could see as open source alternative to Auth0 (it's not the same thing, and it is more inspired by Mozilla Persona, but close enough). It's a service, as we run a broker online for everyone who wants using it, and the whole concept is having self-hostable brokers that handle the login of users (via email or Openid).

But: While that broker has a proper and simple API one can use to use the service with every language, it is still so much easier to just include a library/module that does that for you. Interpreting the jwt, fetching the jwk to check the signature, packing the request to the broker properly. We currently have one for Python, node, php and ruby/sinatra. They are not all at the same level, the one for sinatra does almost all the work for you, while the the python library is more a set of helpers.

And I don't think that's something weird we're doing, look at services like stripe or superfeedr, they all have language specific libraries to make calling their web part easier.

So what I'm saying: If you run a service that targets devs you might still end up writing language-specific libraries. And I don' think there is much keeping language-agnostic services from happening, as there are a lot of them.

Edit: Though open source there is less, right. I think that's a mixture of the skills you need (having a proper server online and programming the software, not every team can both), the popularity of self-hosting in that community, and that it might cost money to run the online service.

[0]: https://portier.github.io/

pavlov 18 hours ago 1 reply      
Libraries offer tight integration with the language. A generic service that provides a HTTP API doesn't.

If you are currently using a library that operates synchronously on in-memory objects and offers an idiomatic API in the language of your choice, switching to a web service may feel like a bucket of cold water because suddenly you're dealing with an async-only interface that sits behind a slow socket and requires serializing everything to a lowest common denominator API. It's a huge tradeoff that requires serious justification.

Back in 1990, there was an industry standard called CORBA that attempted to turn libraries into services:https://en.wikipedia.org/wiki/Common_Object_Request_Broker_A...

There's a reason why we're not using any CORBA-based software. (Well, the GNOME desktop was based on it for some time, but they gave up eventually.)

herbst 18 hours ago 0 replies      
The thing about containers is that they tend to make everything more complicated and resource hungry. Devise is a very good example for 'it Barely could be easier at this point'
mdekkers 18 hours ago 0 replies      
What are some of the problems keeping that from happening?

Here's one: Money.

A service will cost me (more) money. A library I can deploy on already-existing infrastructure. Keeping in mind that "Cloud" is 3x to 6x more expensive over running in house, this is a significant drawback.

warren46 19 hours ago 0 replies      
Open standards are such, but in a heterogeneous software landscape one will always have challenges integrating vendor specific implementations of such and such services.
Ask HN: What feature does your dream note taking app have?
6 points by ZaninAndrea  10 hours ago   13 comments top 8
agitator 10 hours ago 0 replies      
I use Evernote a lot, for all sorts of things. Here are some improvements I would love and frustrations I've experienced.

- A clever and clean way for tracking changes and additions for hand written notes.

- Evernote allows adding hand written notes, but they go page by page, which is frustrating when notes or designs span longer lengths. Allowing a continuous stream of hand writing would be great.

- Better merge resolution. When you happen to make a change on the web (clip a web page for example) while writing notes on the iPad, I often lose notes.

chauhankiran 9 hours ago 0 replies      
Following I like to see ( If possible ):

Many app are stop, if issue with net connection or send a big notification about my internet connection issue. Why I have to see it? Can app not manage sync & net issue with local storage or something. I mean I am just taking a note and for taking a note, a real time internet connection is not needed., Right? it's not email app where connection is more important.

fosco 9 hours ago 0 replies      
I want to merge org-mode with workflowy in a gnu free locally hosted instance. That is my dream.

For now I settle with org-mode in terminal because I avoid the cloud.

tbirrell 10 hours ago 1 reply      
Pagedown integration. I use Stack Overflow on a daily basis, so if I could write and save my questions and answers in an editor while preserving the syntax (especially the key commands I'm use to), I'd get behind that.
sjs382 7 hours ago 0 replies      
Ability to take photos on a mobile, mark them up (with a pen), and have full-text search of the contents of the photos and the notes.
kerrsclyde 10 hours ago 0 replies      
Search by image, so show notes containing similar images.

I am a very heavy Evernote user but it has nothing like this.

abawany 10 hours ago 1 reply      
I use OneNote. The features that make it indispensable for me are as follows:

* Excellent synchronization across devices

* Support for handwriting

* Web viewer

fairpx 10 hours ago 1 reply      
Auto calculate writte equations
Employer gave me a conference budget for next year. Can I get suggestions?
3 points by Justen  10 hours ago   4 comments top 3
BjoernKW 8 hours ago 1 reply      
I like to recommend going to conferences that broaden your horizons or give you a different perspective.

Going to a developer conference as a developer might seem like an obvious choice but going to an event with a slightly different though still adjacent topic might provide a better learning experience and allow you to get to know people from outside your usual circle of interest.

Design conferences are particularly intriguing for developers. I can highly recommend both Reasons to: (https://reasons.to) and beyond tellerrand (https://beyondtellerrand.com/). Both have a similar background and deal with design and web topics as overarching themes with talks ranging from front-end technology in general, data visualisation, to typography and art (as of lately including quite a bit of generative art).

Events like that can be very inspiring and they can provide you with insights from other subject areas that you would've never thought to have an impact on your daily work.

levthedev 6 hours ago 0 replies      
You should definitely check out !!con. They have really fascinating and weird talks about all sorts of interesting CS and design topics. Plus, it's pay what you can and is located in New York, so there's lots of interesting stuff to do nearby.

My favorite talk from this year was about implementing an algorithm for HDR photography purely in Microsoft Excel - https://www.youtube.com/watch?v=bkQJdaGGVM8

Jeremy1026 8 hours ago 0 replies      
What is your budget? As that might affect what you should go for to maximize your benefit.
Ask HN: Where is there so much cryptocurrency skepticism on HN?
6 points by rloomba  11 hours ago   9 comments top 5
schoen 10 hours ago 1 reply      
I'll guess the following, as someone who generally appreciates cryptocurrency:

1. People who speculatively hold an asset have an incentive to talk it up, even misrepresenting their own beliefs about its merits and future value. Thorstein Veblen wrote a whole thing about how this happened with real estate in the U.S., where people felt immense social pressure to persuade the broader public that a particular town was great because their assets and their friends' assets were tied up in land in that town and they all wanted their property values to rise. It's annoying for people if they feel that they're getting a pitch that's ultimately inspired more by someone's (possibly undisclosed) market position than by someone's honest assessment of the situation.

2. Altcoin creators and early investors stand to become rich, possibly at other people's expense, if there is sufficient interest and enthusiasm for an altcoin, even briefly, regardless of the altcoin's level of technical or economic innovation.

3. There's a lot of disagreement about economic ideology and policy issues around cryptocurrencies, familiar examples including Bitcoin's intentionally deflationary monetary policy and Monero and Zcash's privacy. This can add an extra level of contention and disagreement in this area, sometimes in the background, and people may be upset by the particular choices or policy goals that others have adopted. (And a lot of people have diametrically opposed beliefs about whether governments should have more or less power than they do today to set monetary policy, to monitor transactions, and to prevent particular entities from receiving payments.)

4. We've seen with the DAO and the current Bitcoin forks that there's also uncertainty about governance, including a conflict between people who want to see purely code-based rules set at the outset and enforced forever, and people who want some kind of community to have a way to amend the rules. To some people, the failure of meta-consensus about governance and decisionmaking is a long-term fatal flaw in cryptocurrency communities, and a way of glossing over something really necessary.

5. Cryptocurrencies have experienced high rates of frauds, scams, and theft that suggest to some people that they can't be taken seriously as a real part of the financial system, since the risks seem unacceptably high and there aren't straightforward ways to insure against them. Most new projects don't directly change this situation.

6. We've also seen tons of projects adopting blockchains that obviously don't need them because the participants in the system already trust each other or at least already trust a common authority that they agree is allowed to adjudicate disputes. In that case, the common authority can maintain a central database, or the participants can maintain a simpler distributed database and appeal to the authority to resolve any disagreements. (Maybe there are some cases where something blockchain-like is ultimately cheaper because it simply reduces the frequency of disputes that need to be adjudicated, but in any case a lot of people adopting blockchains seem to miss the point about trust and decentralization.) So there is a skepticism that says that most often when someone used a blockchain it was probably for buzzword-compliance.

PaulHoule 11 hours ago 1 reply      
A little more than a year ago I went to a conference on blockchains. [it makes my blood boil how IBM has gotten people to say "cloud", "blockchain", etc. Even people who think IBM is pants will still talk like babies when these subjects come around]

One clear thing to me was that Ethereum had no security story.

Well, it has a story for the security of the base challenge, an actually interesting story that if you have five different implementations that are evenly used, a hole in one of them won't affect the whole system (unless it reaches 50% adoption.)

However there is no security story for applications built on Ethereum. Thus the DAO hack, the ICO hacks, etc. Experience shows that you can't trust the run-of-the-mill programmer to get that kind of thing right, and you certainly can't trust bankers, traders, and fin-tech brogrammers!

There are also interesting reasons why blockchains were only developed lately. If you went to a distributed computing conference and presented a paper about a distributed system which did not improve it's ability to handle workload at all when you add more nodes, you'd get laughed out of the room.

And then there are the people who talk about "fiat currency" and who think that Bitcoin is like gold. Bitcoin is not like gold. People wanted gold 4000 years ago and they will want it 4000 years from now unless we are extinct or unless we find an asteroid which is made of solid gold. No way are people going to want Bitcoin 4000 years from now.

Nokinside 10 hours ago 1 reply      
There in nothing wrong with block-chain technology. It's good idea that will find uses.

The reason why I would came out at skeptic is because its proponents are full of shit, political and naive to the extreme and they are against government by default. Alternatively they are cynical businessmen riding with hype.

Proponents can't distinguish different roles of money. They have never heard of basic things like: optimal currency region, connection between balance of payments and exchange rate, smurfing ... They think they have discovered something else than just new payment and transaction method.

nxsynonym 11 hours ago 0 replies      
Partly due to the fact that a majority of the crypto "articles" posted are 90% speculation, ICO buzz pieces, or "is it too late?" lazy question threads.

Also partly due to the fact that the technology is being overshadowed by the fin-tech bros looking to make a quick buck, and it's reflected in the quality and quantity of crypto related articles that are being written in the first place.

There are still some good discussions, but for the most part people are sick of seeing the same crap repeated daily with no critical thought or real news to speak of.

dozzie 8 hours ago 0 replies      
> Whenever anything cryptocurrency or blockchain is posted, nearly all the comments label it as a "scam" fueled by "greed".

When it's another blockchain-as-a-cloud-serverless-service, it's usuallymade by cryptographic dilettantes who don't understand what is theblockchain's function and just want to join the hype bandwagon.

Ask HN: Which remote-first company has the most revenue?
9 points by syedkarim  11 hours ago   2 comments top 2
TommyBombadil 9 hours ago 0 replies      
No idea about their revenue, but Automattic (wordpress.com, etc...) might be a good candidate with 584 employees:



AznHisoka 7 hours ago 0 replies      
Buffer - $12M annual revenue (although they did have offices originally, I believe). BuzzSumo - $5M annual revenue. CrowdTangle - before they got acquired by FB.
Ask HN: Where to start with CSS?
19 points by xenopticon  1 day ago   8 comments top 7
dyeje 14 hours ago 0 replies      
I attended both of these talks and found them very enlightening. My team hired a CSS expert to do some part time implementation work and evaluate our practices. I was pleasantly surprised when his analysis of our codebase was very positive.

To me, the key is to think of everything in your app as a component. You should be able to drop the component into more or less any context and it should 'just work'. Following the ideas in the videos will help you accomplish that on the CSS side.

CSS is a Mess - Jonathan Snooks (ex-Lead Frontend Developer Shopify)https://www.youtube.com/watch?v=fAcW-wOFYjw

CSS for Engineers - Keith J Grant (NYSE Engineer, author of CSS in Depth)https://www.youtube.com/watch?v=J-9Tn6AetYA

codegeek 1 day ago 0 replies      
I really like http://cssreference.io

They have a visual guide which shows you what it looks like along with code on side.

ninjaofawesome 15 hours ago 0 replies      
You may want to look into Sass (SCSS). It makes your code reusable and extendable via variables, mixins, loops, if/else statements- its quite robust.

Another suggestion, such as SMACSS is BEM (my personal favorite), as it flattens out your styling to prevent over specificity and makes everything clean and neat. (Check it out here: http://getbem.com/)

Ultimately though, what I've found reduces messes is to think of the end product before beginning. If you have the luxury of starting with a fresh codebase, think of the end product and its styling before starting- much like you would with any other set of features in any other language.

If you're walking in to legacy code, try to avoid the "one-offs". Sure, they solve the problem now, but its making a mess for future you to clean up as well as being a potential code smell. Leave your code a little better than when you came in and you'll be thanking yourself later.

Good luck!

LarryMade2 1 day ago 0 replies      
One trick I just learned is you can combine classes - when setting class in a property put in multiple classes by separating the names with a space. i.e. <div class="manny moe jack">web stuff</div> Now you can pull apart the unique bits from the reusable ones.

Other than that a lot of my CSS cleanup happens in refactoring the layout

cag_ii 1 day ago 1 reply      
I think the SMACSS doc is worth a read:


maxharris 1 day ago 0 replies      
Bing/yahoo/duckduckgo are gaining on Google?
18 points by elid1979  1 day ago   26 comments top 4
ajc-sorin 1 day ago 2 replies      
I know most people on this aren't a fan of the subreddit /r/The_Donald, but there is a tremendous push on that sub for people to use alternatives to major tech giants.

Google, Facebook, and Amazon (due to the connection with Washington Post) are vilified, and multiple posts reach the top each week outlining alternatives - Duckduckgo is a major one, firefox/brave are suggested browsers, and in general people on that sub talk about completely disconnecting from facebook, or minimizing use to messenger only.

I can see a pretty sizeable opportunity for platforms to come out that are truly tolerant of all speech/perspectives. I'm not criticizing, nor expressing favor towards, any of the services I've mentioned, but it seems like someone could make a solid earning in a lifestyle company aimed at servicing individuals who want privacy and uninhibited freedom of speech.

For reference, T_D is in the top 125 of subreddits by subscriber base and activity. If you exclude default subreddits, they're probably in the top 50 subs. Considering they probably have even more penetration through the amount of lurkers (like me), I wouldn't be surprised if they drove a sizeable chunk of users away from Big-Tech.

Edit (for personal reasons): I'm not on T_D because I support Trump. I go there to get a perspective of people who I don't completely understand, in order to better understand their needs/fears. Also, their memes are dank.

kpwags 1 day ago 4 replies      
About 2 months ago I switched to DuckDuckGo and have been happy with the results I get back
gesman 1 day ago 3 replies      
For a fact I was able to pull competitive docs from website with the help of Duck that Goog won't provide.

Name kinda sucks - i always typing duckgogo and ending up at spammy site. WTF is duckduckgo?

Can't we do a brandy shortcut or so?

s3r3nity 1 day ago 0 replies      
Isn't Yahoo still powered by Bing? Or did they move back to their own engine?
Ask HN: Can I release code from employment that had an ISC license?
5 points by opensrcthrow12  1 day ago   3 comments top 3
drallison 21 hours ago 0 replies      
This is a good time to visit a skilled copyright and licensing lawyer and get an opinion letter and not a good time to depend on random opinions.
sigjuice 1 day ago 0 replies      

Unless you are the copyright holder, I don't think it is up to you to release the code.

SamReidHughes 23 hours ago 0 replies      
Ask HN: Your startup struggle and how did you overcome?
16 points by wasi0013  1 day ago   2 comments top 2
muzani 14 hours ago 0 replies      
The whole thing is a struggle. Building a product, revenue, marketing, investors. Being stuck in a shitty situation, with no money, no food, no clear way out, only choosing between one risk or another.

It's no surprise the topic makes for good HBO drama.

There's no shortcut. Just stay calm in the chaos. Focus on one thing after another, especially when it's tempting to do many things. Don't outsource core stuff early on; it's tempting when time is always short, but it often makes things worse.

Be honest, completely, brutally honest to yourself. Startups are the last place to lie to yourself. You don't have 'hope', you have plans and hypotheses.

Startups are this long march. You either die or you make it rich. If you can simply avoid dying, you will be rich.

markfer 7 hours ago 0 replies      
Definitely getting the first few paying customers. Luckily I have a vast network of potential users from previous jobs, but asking them to pay feels weird when it's an MVP (mostly).
Ask HN: What is the HN for quantitative finance?
23 points by onecooldev24  2 days ago   8 comments top 6
whatok 16 hours ago 0 replies      
For obvious reasons, there really isn't anything great out there for non-beginner stuff. http://www.nuclearphynance.com/default.aspx is probably the best out there but not very active. Very deep archives though.
indescions_2017 1 day ago 0 replies      
Not a news river exactly, but I also learn a lot from the Stack Overflow sites:



The NYC FinTech Meetup is also usually a good place to network:


scrappyjoe 2 days ago 0 replies      
sunstone 2 days ago 1 reply      
Amazon advertised my search items on my wife's Facebook
15 points by cogs  1 day ago   16 comments top 10
Jemaclus 1 day ago 0 replies      
I've noticed this phenomenon as well, but one thing you can do is watch the network traffic on your router, and you'll see that they aren't snooping in on your conversations. What's likely happening is that Facebook knows that you're married to her, and since spouses/friends/close relationships tend to have the same general interests, it's a good way to narrow down the scope of advertisements for you and your social graph. If you search for a coffee machine, then your wife is also likely to search for a coffee machine, therefore, it follows that Amazon would show an ad for a coffee machine to your local network.

Like I said, I've definitely observed this phenomenon before. I've also observed that it's likely confirmation bias: I don't remember all the OTHER things Facebook advertises to me. The only reason that ad for the coffee machine jumps out at me is because I was just talking about it, but who knows how many times it showed up on my feed and I just glossed over it because I tend to gloss over ads?

Posts like this come up quite often, and I definitely think it's dodgy and suspicious, but ultimately, I think it's just clever marketing tactics by Facebook to determine what to advertise to you.

askafriend 1 day ago 0 replies      
It's not that crazy, they have several signals that they can use to make that determination. It's not black magic or anything "dodgy".

It's probably some combination of your IP, cookies, location, account relationships, credit cards, etc etc. There's a lot of pretty simple data they can use to make the decision to show her Ads on Facebook's Ad platform.

NumberCruncher 16 hours ago 0 replies      
What happens if Amazon uses the lookalike audience feature of FB? He uses the contact details of customers who was looking up the coffee machine and automatically defines a group of FB users who look alike them. In this case your wife looks alike you. Or if I would have developed the lookalike audience feature I would say she looks alike you. That is why she gets ads for the coffee machine.

[edit:] This may be considered as dodgy. In Germany it is forbidden to use the lookalike audience feature of FB and companies are fined if they admit using it.

samblr 1 day ago 1 reply      
Below are the scenarios:

1. Amazon passed your [IP address + SKU browsed] to facebook ad platform. And facebook knows from there on.

2. Facebook snoops on your audio and its ad platform pulled SKU from amazon.

3. You have various extensions on your browser which can "read all websites data you visit" - which have sold your browse information with IP to facebook.

Third is most likely.

+ I have noticed - "somehow" my facebook learns what I watch in youtube and vice-versa. Only way this could happen is via one of my "trusted" browser extension!

demygale 1 day ago 1 reply      
Facebook tracks your browsing history even if you log out. I suspect Amazon is the same way. Does it bother you to know that these sites can track almost every site you visit? If not, why does it concern you that it can link your account to your wife's.

Clear all cookies between browser sessions.

Paulods 1 day ago 0 replies      
I often search for things at home on my personal laptop only to see them on my facebook at work on a different location/machine.

I assume its due to the fact your amazon has been linked to her facebook account at one point or another as you were logged in to both at some point.

bsvalley 1 day ago 0 replies      
Meanwhile people don't hesitate to upload photos of their homes, kids, trips, places they go everyday, to some random FB and google servers.

I mean, we're talking basic product advertisement from the largest store in the world...

drKarl 1 day ago 1 reply      
Same IP address? Same computer? Same browser? Did that browser had maybe cookies that tracked your amazon searches?
quickthrower2 1 day ago 0 replies      
Welcome to cookies
GrumpyNl 1 day ago 0 replies      
Same happens when your friends are looking for something, they are in your network so you might be interested to. Second, you share a house / ip addressess so easy to link those together.
Ask HN: How to decide if someone is a right partner?
24 points by blacksoil  2 days ago   15 comments top 11
hwoolery 2 days ago 3 replies      
Let me give you three examples from 3 companies I started as the technical founder:

Company 1: Started by myself, partnered with a sales guy 50/50 after a few months. Company took off after the sales guy because he was able to close large contracts.

Company 2: Started with two other people I knew well (doctors) who were in the field but non-technical. I ended up leaving company after 3 years. This was in part because they couldn't put in the same amount of work (never partner unless they can contribute full time).

Company 3: Started by myself, raised money by myself.

Moral of the story: Partner with a sales guy if you have something to sell, and make sure they have a proven sales track record. If you're building a product that won't be ready for a long time, work on it alone and test the markets as soon as you can, then partner. There is no right answer, but don't partner with somebody simply because they are on the business side. It's also much easier to pitch with a sales guy. And don't partner simply because the business guy has an idea.

muzani 2 days ago 0 replies      
I've gone through the process many times. Most partnerships were failures. The only startup that succeeded was with this guy who added me on Facebook after I bought his book.

But by far, I find that the strongest indicator of a good partner is whether you're adding them on Facebook.

For one thing, partners that avoid you on social media are a little dodgy. Some would even see you as an adversary - this guy they negotiate against, that they're going to leave when business is over, that we're splitting equity with.

And often there's some subconscious disgust to people you're not willing to add to your friends list. The reason for this disgust often becomes clear in about 3 months. But we have years of experience with people - if something is off about them, we'll know.

The best partners to work with are the ones who you want to get closer to. The ones who match with you on an ideological level. The ones you feel that you can learn a lot from. And more importantly, the ones who you consider a real friend, or truly want to be friends with, and are willing to go to long extents to help.

If you feel the need to test this person just because they have a nice business model, I'd suggest that they've already failed the test.

sage76 2 days ago 1 reply      
> A year has passed and I'm thinking of partnering with another two business guys. These guys came to me and explained their idea. I'm pretty impressed with it, but not yet sure if they'd make great partners.

The 2 business guys thing is something to be wary of. I can't think of any tech startups that had 2 business founders.

The biggest problem is that it's tough for you to judge their output initially, since there is no product to sell. If they can get customers lined up without a product, that would be a good sign.

If they can raise funding on their own, and THE MONEY IS IN THE BANK, that's a good sign.

The worst ones are those who have "connections" and will sell only when the product is fully fleshed out. They just keep asking for feature after feature while sitting there, twiddling their thumbs.

If they are cagey about paperwork or details, it's a bad sign.

It's hard. I have been burnt once already. Sales is hard. REALLY hard. If you do decide to try it out, make sure they too have targets to hit.

brianwawok 2 days ago 0 replies      
I would avoid the business guy trap. Find another tech guy or go solo and make a startup.

Ideas are cheap, tech is the hard part. Why waste 66% if your equity on two guys with an idea? If their idea is good they can hire developers or raise VC to makd their MVP.

Have been on both sides of this. In most cases i dont think the random business guy is worth hooking up with.

mchannon 2 days ago 0 replies      
The only way you're truly going to know if these guys are worth partnering with (aside from some huge red flags you didn't mention) is by partnering with them.

If they can't develop product and they can't sell, they're useless to a startup. That won't take long to suss out.

Go all out, full marriage, full honeymoon. Have meetings as necessary. Work at it. The biggest problem with business guys is failure to close- either they don't put the time in or just can't sell.

Give it three months, and either pat yourself on the back or throw in the towel. Repeat until you find a successful venture or have to get a job.

One other warning about "two business guys". They tend to turn on each other more often than they turn on the tech guy. It's often sudden and unpredictable. Make sure you have that contingency covered in your formation documents.

samallan 1 day ago 0 replies      
If youre unwilling to introduce the person youre dating at appropriate junctures to the most important people in your life, thats usually a bright, flapping red flag.

In general, if you have a good thing going, you cant wait for him or her to meet your friends, siblings, parents, the guy at the deli, and you wouldnt have any qualms about presenting this person to professional acquaintances, people you knew in college, family friends, even your ex.

soneca 2 days ago 0 replies      
I like the idea of 1.

As a non-tech sole founder I hired two developers in this mode. I called "freelancer as a test to CTO/co-founder". They both were interested in building a new web app from scratch using the stack they wanted so this allowed them to charge a discounted price.

I paid them by the hour totally trusting them on how many hours they had worked each week.

The startup ended up failing, but this arrangement was great for both parts.

If the startup had been a success, I believe the arrangement would be around the lines of some below market salary with large equity (but not co-founder level). Probably from 20% to 30% before any funding

jwilliams 2 days ago 0 replies      
I'm a big, big fan of equity in the broadest sense. All co-founders get equal equity, pay, etc. The effort required to succeed is substantial, so you need everyone to be all in. It'll ebb and flow, but that's the way it should even out.

Today, being a technical co-founder gives you an advantage. However, that advantage is really a broader pool of people and ideas that you can work with. When you get a match -- that's it -- you're now all in this together. Choose wisely, then commit strongly. Personally I'd be uncomfortable with a situation where I was getting paid and my co-founders weren't.

If it's early days, or you've just met, stress test the partnership. What sort of exits are you after? Ask some hard questions. What if we couldn't fundraise? What if we need to to layoffs? What is we get a generous, but not massive, offer in the first couple of years? Some of those questions will feel churlish when you've not even got any runs on the board (and they are), but they're essential to finding out if this is a work dynamic that will make you successful.

Really push it. You should (must) have some really uncomfortable conversations early on. You'll have them eventually, so better to know who you are together before investing too much more time.

The good thing about the above is that you can do that pretty quickly. Start with an afternoon, a weekend, a few working days. Then go from there.

pcmaffey 2 days ago 0 replies      
Get paid now. Build a prototype. Test the viability of the product and the business partnership at the same time. If you're excited to double down on it all after initial experiments, then talk about a partnership / equity. (The conversation should start at split equally)

If you make a deal with some small portion of equity now, you set your price too soon. Making it harder to get equal partnership. Better to explore the relationship first with a easy and fair exchange of value (work for $).

Adrig 2 days ago 0 replies      
Requirement : do you literally admire your potentiel partners ?

Step 1 : go cross the atlantic on a boat just the 3 of you.Step 2 : you didn't wanted to kill eachothers ? Good. Now give them all your credit card numbers and keys to your house.Step 3 : You trust them enough ? Alright you're good to go.

toptalkedbooks 2 days ago 0 replies      
We are a team and building our side project now.

I think the most advantage, that my partner impress me is he is really initiative, includes (not only) use our product, find bugs, fix UI, marketing, and everything.

I'm glad to work with him, and proud of our work. We got friendships first. I think i got my answer.

You can re-register deleted Outlook accounts without security checks
16 points by mnbghj  1 day ago   5 comments top 4
jaclaz 1 day ago 1 reply      
As often happens, I don't see the "scandal".

How does it work in the "real world"?

You get a P.O. Box.

You leave that address, the Post Office re-rents it to someone else.

I would guess that should be your care to make all people that know that address to not send anything to it and/or change all references to it.

By the same token it is your responsibility to change all your current subscriptions/whatever updating the e-mail address to a new, valid one, the sheer moment you delete the "old" account.

Mz 1 day ago 0 replies      
You knew a lot of insider info about yourself. Brute forcing registration of outlook accounts in no way guarantees they will be connected to a pay pal account etc.

I imagine there are easier ways to extract money from people. There are too many unknown unknowns here.

Andrenid 1 day ago 0 replies      
Same goes for a lot of services I've found .. but it doesn't seem to be talked about much.

The fact it happens for a service as massive as Outlook is unforgiveable though.

Ask HN: Why HN logo not in SVG?
10 points by crehn  2 days ago   15 comments top 7
CM30 1 day ago 1 reply      
Probably because it's so small that the benefits of making it an SVG would be almost nil. I mean, look at this thing:


It's 0.1KB. It's so small that any SVG version of it would actually be a larger file (seriously, I tested it with an SVG converter script online, and the SVG came back at 0.6KB).

There's no practical reason to convert it, at least not as far as file size is concerned.

malux85 1 day ago 1 reply      
Being a hacker is about knowing when something is good enough.

It's about focusing on interesting content rather than pixel perfection.

It's about shipping on Tuesday rather than shipping on Friday.

It's about optimising the things that are important.

I like it, even if it's a big pixel-y on hi def displays, it's a reminder that done is better than perfect

maxraz 10 hours ago 0 replies      
It could be in .svg for a sharper look on smartphones
fairpx 12 hours ago 0 replies      
What would improve for the end user, when it was in SVG?
muzani 1 day ago 0 replies      
Because it's not about optimizing every little thing. It's about getting it good enough. And even when something sounds better in theory, it might not be that way in practice.
shoo 2 days ago 3 replies      
Make a business case for it
balazsdavid987 2 days ago 2 replies      
Explain the performance benefits
Ask HN: Should I start blogging when my startup is still early?
7 points by thomasttvo  1 day ago   11 comments top 8
tedmiston 1 day ago 1 reply      
Everything is ROI.

My company has heavily invested in blogging [1] which has helped us become influential in the product space (enterprise ETL around Apache Airflow). As an engineer, every time I write a post I try to balance time vs ROI. I think it's more valuable to pump out a good post that takes 5-10 hours of effort (not counting writing the code etc) vs tons of very low effort posts when you're first getting started. Occasionally, you can find time for a high investment post like 20+ hours but this is pretty difficult and probably not worth your time at the early stages.

If 10 hours invested into writing a good post turns into thousands of page views turns into a small number of conversions, this can be very beneficial in growth.

One trick you can do is recycle ideas across blog posts, meetup talks, and conference talks.

Another thing to think about is that not every engineer enjoys investing in writing. If it's not something you enjoy, I wouldn't force yourself to do it. Some people are much better at formats like podcasts or videos (personally I'm the opposite though).

Happy to answer more specific questions if interested (email in profile). Feel free to reach out.

[1]: https://www.astronomer.io/blog

Scirra_Tom 1 day ago 0 replies      
You need to weigh up your perceived benefits of blogging against lost progress of other aspects of your business.

In the early stage, focus should be on generating money so you become self sustainable. If blogging is part of that strategy, so be it. But blogging for bloggings sake isn't probably a good spend of your time.

However, the relationship between doing something here = an equal loss somewhere else is rarely true - so if it's something you enjoy doing as something different to your normal routine then why not.

We've written a fair few blog posts in the past and always focused on keeping them high quality and is has paid off in some ways - I would say though that writing a good quality blog post easily can take 1 full days work. If you're looking to outsource it, you're doing it wrong.

CM30 1 day ago 0 replies      
Yes. In fact, you should generally start marketing anything while it's still fairly early in development. Build up a fanbase and supporters before your product or service is released so it gets a lot of users on day 1.

This will also get you more press coverage too, which is much easier to come by when journalists know they've got a guaranteed audience for stories about your startup than if it's a completely untested idea with no existing audience.

hluska 1 day ago 0 replies      
Do you have spare time to blog? If yes, blog. If no, what will you avoid doing in order to blog and will that other thing have a higher immediate ROI than blogging?

When your startup is young, your job is to keep it alive (which usually means to get it growing). Blogging can help, but don't blog if there are other higher value things that you can do.

freelancercdf 14 hours ago 0 replies      
Yes, to start introducing your business. It will help determine your market range. Just be consistent with your brand and content.
muzani 1 day ago 0 replies      
Yes, it also attracts talent to your startup, especially at a time you can't afford to pay more. Assuming you write intelligently.
crispytx 1 day ago 1 reply      
I started blogging recently to document my experience starting a startup. In my posts I just make sure to mention where I'm at so people know that I don't necessarily know what I'm talking about yet :)
codegladiator 1 day ago 0 replies      
Yes. Audience to your blog will build over time.
Ask HN: What Does a Customer Success Manager Do?
3 points by chirau  1 day ago   2 comments top 2
apohn 13 hours ago 0 replies      
This depends heavily on the size of the customer success team. I used to work at a place with only one customer success person who managed and tracked content on an external facing community site (basically the combination of a FAQ and Forum). For questions that were unanswered, they would request somebody from the appropriate team (e.g. PreSales, Services, Tech Support, Education, etc) to answer the question.

The plan was for that team to grow so they were also doing the following 1) Developing tutorials and videos for frequently asked questions 2) Tips & Tricks - blogs, tutorials, videos 3) Better Routing of customers to the right group (e.g. tech support). Basically a second layer of defense after the account executive. This was really important for new customers who didn't understand the correct channel to reach out to for help.4) Have scheduled public sessions (e.g. 2 hour chat sessions) where customers could get tech help, demos, etc. Typically this would involve one person from the customer success team and one from some other team with more expertise in the product(s).

On the one person team, the "manager" didn't manage any people. The managed the customer questions and site. As the team grew, there was a plan to have somebody who actually managed the team.

leahcim 1 day ago 0 replies      
They handle clients requests such as onboarding and customer support.
Ask HN: Writing my own Relational Database
7 points by tosh  2 days ago   4 comments top 4
andreasgonewild 2 days ago 0 replies      
If you really mean relational, and not SQL; then all you need is columns, tables and records. Just do it, once you have a stupid implementation of your ideas running you'll know what information to look for. I've been cooking my own relational persistence engines for quite a while now, here is the latest incarnation if anyone is interested in seeing the idea cut down to its core with optional encryption on top:


jwilliams 2 days ago 0 replies      
This is a really great idea. I wrote my own (very domain-specific database) 7-8 years ago and it was a really fulfilling project.

Good luck with it. If you do find anything or start your own, please report back.

gjvc 2 days ago 0 replies      
Try reading the SQLite source and tests. The postgres source is also surprisingly accessible.
It seems that GitHub is down
18 points by kiberstranier  1 day ago   7 comments top 7
sschueller 1 day ago 0 replies      
I can't get to it from Zrich, London or Atlanta. Newark, NJ and Fremont, CA works.
akaralar 1 day ago 0 replies      
Status page reports elevated error rates: https://status.github.com I can't pull and push from terminal either
geerlingguy 1 day ago 0 replies      

> We are investigating reports of elevated error rates.

zb3 1 day ago 0 replies      
Can confirm (Poland), albeit it's not completely down for me, some requests are served.
nik736 1 day ago 0 replies      
For me it's down as well. This seems to happen every week now.
reubinoff 1 day ago 0 replies      
Ask HN: When and why did you give up on starting a company?
6 points by sp527  3 hours ago   6 comments top 3
dayve 2 hours ago 1 reply      
Once upon a time I set out to just build a startup fueled by ambition. I designed and strategized, e.t.c basics of the product, but I always found it hard to find a (technical) cofounder despite talking to friends.After learning to code and realizing how much work (& burnout) I'd have to put in before this takes off, I opted out knowing I wasn't trying to make a product users want. A proof of that was the difficulty in finding a cofounder despite having skilled enough friends.I got into depression. As I opted out, started learning the process of creating products that actually have real users wanting. I read carefully all of PG's essays, used Headspace for meditating & focused on good diet.The most important lesson was about fixing broken problems in your daily life. Now, I'm working on a new startup with 2 other cofounders who are actually passionate about what we're building. We have alot of feedback/subscribed users and safe to say, we're on the right track.

I guess the idea of 'think big' is just wrong. Young folks get pressured into 'making it' that they believe thinking big would solve your problems/make you great. That's what I experienced. Don't think big, focus on discovering the tiny little things - the ones broken, and fix them. That's joy enough for a Hacker.

ARothfusz 2 hours ago 1 reply      
I started a company (LLC) to develop something I was trying to patent (utility patent). I kept things going as a side business for about 5 years while I worked a full time job, wrangled the patent, and put money and time into manufacturing, designs, and marketing. I hoped to build up a customer base to show the value of the patent and then license the patent to other manufacturers.

When the patent application failed, I decided to close the business. Without the IP, the more I built the market, the more likely someone else would come in to compete, and an established manufacturer could definitely beat me on price.

I learned a lot about how difficult marketing is (I come from a mathematics and software background) and how much footwork goes into sales. I also made some mistakes in the patent process I won't make again.

It sucked to give up, but was also a relief. I wasn't betting my future on it, so it wasn't a huge hurdle to make the call. No patent == no business.

I'll probably try again some day.

twobyfour 2 hours ago 1 reply      
I haven't 100% given up, but I've postponed it indefinitely.

When? For the past 4 years.

Why? For several reasons.

I started a company before (3 times actually).

The solo business was a slog, spending a lot of time doing things I hated to for barely enough money to feed myself, and with little outlook for growth.

The first VC-funded startup burned me out big-time. I'm not cut out for years on end of 60-plus hour weeks for a tiny chance at a large payout and a 98% chance at nothing. Especially given the opportunity cost of a senior engineer's salary.

The second startup I almost didn't do, but I was super passionate about the topic. Unfortunately, the team fell apart, but not before the stress impacted my health (permanently) - and the other things I learned from that experience informed the other major reason I'm not doing that again any time soon.

Which is that ideas are a dime a dozen, but good ones are rare, and marketing is HARD.

If I were to stumble across an idea I couldn't pass up, that would make a solid lifestyle business (no way I do the VC dance again) and that I could build in my spare time... ok, I might try again.

But starting a company and hitting it big areno longer part of my dream.

Instead I'm working on moving to a place I want to live, finding a 20-30 hour/week gig (be it contract or salaried work), and living a life that I can actually enjoy day to day, spending time with people I care about.

       cached 23 August 2017 04:05:01 GMT