Red Flags Signaling That a Rebuild Will Fail - <AUTHOR> http://www.pkc.io/blog/five-red-flags-signaling-your-rebuild-will-fail/ <comment><USER2> #5 has a converse - oftentimes, the only way to get a rebuild to _succeed_ is to drop features, and it's a major red flag if management insists on 100% feature parity.

The way to distinguish this from the #5 situation in the article is to ask if you're dropping features _because they 're hard_ or _because nobody uses them_. The former is a red flag; the latter is a green flag. Before you embark on a rebuild, you should have solid data (ideally backed up by logs) about which features your users are using, which ones they care about, which ones are "nice to haves", which ones were very necessary to get to the stage you're at now but have lost their importance in the current business environment, and which ones were outright mistakes. And you should be able to identify at least half a dozen features in the last 3 categories that you can commit to cutting. Otherwise it's likely that the rewrite will contain all the complexity of the original system, but without the institutional knowledge built up on how to manage that complexity.

<comment><USER3> > Before you embark on a rebuild, you should have solid data (ideally backed > up by logs) about which features your users are using, which ones they care > about, which ones are "nice to haves", which ones were very necessary to get > to the stage you're at now but have lost their importance in the current > business environment, and which ones were outright mistakes.

This is so important. I've been on many a project where, 3 months in, we wish we had historical tracking data on user activity to back up our instincts to cut a particular feature that seems worthless. The worst part? Even if you add it immediately, you'll have to wait 2-4 weeks to get a sufficient amount of data.

<comment><USER4> Also important to realise that a feature that is rarely used (view history, remove user) might be more important than one used more often (dashboard widget that nobody pays attention to)

<comment><USER5> Yup; statistics are only part of the picture and value of a story. Compliancy is another one for example; sure, few people will use the 'download all my data' and 'delete my account' options, but they're mandatory for GDPR compliance and not offering them may cause a huge fine. There's a lot of these compliancy features.

</comment></comment></comment></comment><comment><USER6> "Red Flag #4: You aren't working with people who were experts in the old system."

I think this is most important. A lot of people want to rewrite because they don't understand the current system and don't want to bother learning. Before you rewrite you really should understand the current state deeply.

<comment><USER7> This strikes me as dangerous. Didn't the experts build the first system? Don't you want to deliver a fresher system? Won't the experts be attached to the old way of doing things?

<comment><USER8> > Didn't the experts build the first system? Don't you want to deliver a > fresher system? Won't the experts be attached to the old way of doing > things?

With all respect, that means you should not be in a position to rewrite legacy code, or to commit others to such a rewrite.

If all the experts you have worked with have been, in your eyes, overly attached to the old way of doing things, you have one of two issues:

\- You have not had enough experience in the field, and have not worked with experts that _actually have perspective_ about when/how to rewrite, abandon, or rework their code.

\- You have dogmatically condemned people who think that the latest-and- greatest tech may not be a good solution to the problems at hand to the "old fogey" bin.

Either issue means you're not ready to make decisions at this level. Learn more. Research more. Watch more. Listen more.

Weirdly, gaining this perspective has less to do (in my experience) with years on the job, and more with diversity of team/business environments worked in.

</comment></comment></comment><comment><USER9> I've carved a career out of rebuilds. I'm working on a rebuild right now. There's a ton of companies out there who've done very well with their home grown antiquated systems from the late 90's and early 00's that are now facing stiff competition from young upstarts who had feature parity from day one and are knocking out new features at break neck pace because they're leveraging the latest and greatest in tools, technology, and thinking.

I've always been a big believer in rebuilding your product from the ground up. I think it's something you should always have going on in the background. Just a couple of devs whose job it is to try and rebuild your thing from scratch. Maybe you'll never use the new version. But I think it's a great way to better understand your product and make sure there's no dark corners that no one dare touch because they don't understand what it does, how it does it, or why it does it the way it does.

And I've always believed that if you don't want to rebuild your app from scratch, then don't worry, a competitor will do it for you.

So I agree with every point raised in this article. And I think it does a great job of articulating the issues that often go unspoken. But I'd like to add one more. And for me, this is the biggest issue for any company wanting to rebuild it's product.

If your sales team has more clout than your designers and developers, then you're fucked. And in the enterprise software world, this is the norm. An uncheked sales team that get's whatever it wants has already killed your product and made it impossible to rebuild. Their demands are ad-hoc, nonsensical, and always urgent. So urgent that proper testing and documentation are not valid reasons to prevent a release. Their demands are driven by their sales targets, and the promises they make to clients are born out of ignorance of what what your product does, and how it does it.

This is not true of all companies. Many companies find a reasonable balance between the insatiable demands of a sales force and the weary cautiousness of their engineers. But if your company submits to every wish and whim of your sales team, and you attempt to rebuild your product, then you're screwed.

<comment><USER10> > I've carved a career out of rebuilds

What's your learning process? If you don't do maintenance how do you know your rebuilds aren't creating the same problems that lead to the systems needing replacement?

I've got a very well founded distrust of people that only work on green field projects, they're generally responsible for the system's that need rebuilding.

<comment><USER11> I have also come to believe that people who jump to rebuilds also tend to have very shallow technical skills and are not keen or capable of studying and analyzing a system at depth.

<comment><USER9> Complete nonsense.

</comment></comment></comment></comment><comment><USER12> Red Flag #6: Key stake holders keep moving the goal posts.

If your goal moves from feature comparable but on a modern platform, to new features, to a complete reinventing of the product all without actually shipping ... you might be in trouble.

I had a rebuild go 6 months over. In the heated executive meeting at t+3 months I was called to defend my team and pointed out that the VP Product had just delivered "final" specs literally the day before. How could we be on track with development if PM is 3 months past "end of development" with design specifications. The fact that the specs were changing weekly because "we're agile" is a whole other issue.

<comment><USER5> > The fact that the specs were changing weekly because "we're agile" is a > whole other issue.

The article touches on that too; simplified it's stating that if you're not live within 6 months, you're doing waterfall.

<comment><USER12> That's not waterfall. Waterfall you don't _start_ dev before specs are final.

Waterfall isn't just a synonym for "the wrong way to do it" :-)

</comment></comment></comment><comment><USER13> The truth I think is more often that the legacy system is too old and brittle to improve, and customers are demanding ever more complicated features from it.

So you rebuild as a new system as a gamble, because even though it shows all the traits described, the new system is at least one that anyone is willing to develop, and one where features can be added, and to which people can be recruited.

We know big rebuilds have small chances of sucess. But that doesn't mean you shouldn't do big rewrites. You are in a bad place if you even consider. Maybe the big rewrite means the company has an 80% risk of going under. Still could be that safe bet.

</comment><comment><USER14> This is yet another article where there's a clear managerial-only approach. Sorry, but I dont dig this.

As a developer you're constantly fighting managers who want to rush things to get them out and who will eventually blame you for a bug/non-defined behavior once you hit a certain milestone.

To me it seems the author of the article doesn't understand the tech debt. If you've ever worked in a startup you'd know that the requirements are ever- changing, thus that if a certain payment system is put in place, it might evolve to the point where you really need to refactor it and in order to enable the refactor you have to refactor the whole business flow as well. If there's more than 2-3 features affected by a new feature, a big refactor is definitely needed.

Only one solution offered, which I dont think is adequate because why would I leave something in that was only meant to provide value for short term and then build on top of it till I kill the old system?

<comment><USER15> His argument is against rewriting a whole codebase. Refactoring is surely an alternative.

</comment></comment><comment><USER16> Missing the biggest red flag of all, engineers wanting to just play with new toys and pad their CVs. Ask the engineers why they want to rebuild and listen carefully to the answer and if it's vague handwaving and buzzwords (microservices! Containers! New JS framework!) and no hard numbers to justify it, just say no.

For example "we spend X/year on AWS but if we spend Y to rewrite in C++ we need fewer VMs and can cut that to Z/year" is simple calculations. If your engineers can't even do that, their motives are suspect.

<comment><USER17> On the other hand, "we cannot hire anyone to work in COBOL/Perl 5.8/Tcl/other outdated language" is a very real problem. It turns out that 2018, developers are judged for working too long in old technologies even when we know as in industry that a developer can learn a new language.

<comment><USER16> I wonder if that's really true. I bet loads of people would be delighted for the chance to go on using their old favourites.

<comment><USER18> It's absolutely true. People with enough experience to have "old favorites" tend to be very senior and expensive or retired.

New grads and junior engineers can end up trapped in a career dead end if their first job is on seriously old legacy tech.

[https://medium.com/@csixty4/pick-was-post-relational- before-...](https://medium.com/@csixty4/pick-was-post-relational-before-it- was-cool-ed610c9d0f14)

I almost fell in the same trap, but quit a similar job to go back to grad school and get my Master's in CS.

</comment></comment></comment></comment><comment><USER19> I think people also deeply underestimate the time it will take. We've undergone an incremental rewrite for ~4 years at Asana.

<comment><USER20> Used your software once before. Loved it! You guys should do a blog post about your rewrite experience. Would love to know what your tech stack was and what your new one looks like.

<comment><USER21> This could be relevant: [https://blog.asana.com/2017/08/performance-asana-app- rewrite...](https://blog.asana.com/2017/08/performance-asana-app-rewrite/)

<comment><USER19> That is definitely the best out there. I'm hoping to write another about what our current stack is.

</comment></comment></comment></comment><comment><USER22> With this good article I think I have a good question.

The reference to Martin Fowler's strangler pattern ([https://www.martinfowler.com/bliki/StranglerApplication.html](https://www.martinfowler.com/bliki/StranglerApplication.html)) was mentioned in the article to grow the new system in the same codebase until the old system is strangled. In my case (Ionic 1 to 2) however, both the entire framework and the language are different. How should the strangler pattern work in this case?

<comment><USER23> For webapps you would use a reverse proxy such as nginx or haproxy and replace your application page by page. Then configure the reverse proxy to send all requests to /home to go to the new stack and all other requests go to the old stack. Then flip the switch for every page you finish converting. For backend work, it's similar. You can have an api built in a new stack and it can just have a different endpoint or use a reverse proxy. Backend workers can pick up work from a different queue or you can switch the old job worker off and turn on the new one, and then monitor that everything is working as planned. The really important thing about the strangler pattern is that you need some easy way to turn on bits of functionality while turning off the corresponding old parts. It can be feature flags, it can be routing middleware. You can rip out the guts of the angular routing mechanism and use that to flip the switch.

<comment><USER24> Seconded. Took part in a moderately big rewrite with this strategy and it worked pretty well.

Identify key components and subsystems and rewrite them one by one. From the outside you seem to be switching over one REST endpoint after the other, but of course internally it's a bit more difficult, but applications often enough have enough parts that are not SO intertwined that you can do stuff like this. It's a bit related to how you break up a monolith. Find bigger, less coupled parts and shave them off and just touch the glue code.

</comment></comment></comment><comment><USER25> This article really captures the risks of a rebuild. I've been through a number of them, all but 1 abject failures. The one success was driven by the executive understanding that the company would fail without a rebounds, and it was still 6 months late, resulted in one of the cofounders being fired, an extremely painful rollout, and the company still failed, due to other problems.

My firm belief is that when you need a rebuild, you are already well into a fail state as a company. Not to stay there can be no recovery, but it is an indication of some deep problems for the company, beyond anything the engineering department alone can resolve... and if the rebuild is not coming from the executive leadership, it is an even bigger issue as it will more likely lead to bigger problems than it will solve.

</comment><comment><USER26> This is gold.

I've become a member of a team the company scrambled to deal with a `legacy` python/SQL - based ingestion/storage system in an effort to 'harden' it. Despite my best efforts, we are going for a full rewrite into java/spring/avro/mongo/es. We have internal users talking SQL and utilising the system at the moment, a fair amount of data is relational.

I have run out of ideas how to convince the team and stakeholders, will have a one-shot chance to talk to VP. Any ideas how to voice the concerns about the full re-design (perhaps I'm just being difficult)?

<comment><USER27> 1\. Given the risk, cost and limited upside, the onus is on the refactor team to prove that it needs to be done. Where is the ROI, factor in the risk. Where is this in the stack of things to do? Are there better ROI things?

2\. Consider 'what the point' is in the first place, because the entire world could be run on python/SQL and it would be 'hard'. I don't think anyone would consider 'Mongo' to be 'hard' usually people use it because it's fast and easy, not hard. Consider maybe only replacing one part at a time, i.e. Java- SQL.

3\. Consider a simple clean up or refactor. No need to learn no languages and tools when maybe you just need a house clean.

4\. People seem to be going back to SQL because of it's inherent standardization - so many reporting and analysis systems use SQL as an interface, to the point where even NoSQLs are starting to use SQL.

<comment><USER28> I'm a big supporter of "replacing one part at a time", and wish I had done that on a rebuild I'm just completing.

In fact, I thought I was. We split our app into 3 parts, rebuilt part 1, then part 2, but part 1 couldn't be released to customers until part 2 was done, and we kept our legacy system supporting the majority of our users until we are done with part 3, which is nearing completion now.

I thought that was "replacing one piece at a time", but it isn't most users aren't touching it until part 3 is done, and at that point, they are experiencing a new system from scratch.

</comment></comment></comment><comment><USER29> Is "rebuild" new jargon for "rewrite", or does it mean something different? I thought the article was going to be about builds failing.

<comment><USER30> Yeah, I did too until I started reading the article.

Using the normal sense of "rebuild" didn't make sense.

</comment></comment><comment><USER31> Red Flag #1 should be that you're doing a rebuild.

<comment><USER32> I'm potentially looking at a situation like this right now at work. We're on a NoSQL DB and it's just not working too well for us anymore, so we would like to transition to something that provides more relational semantics (PostGres, Spanner, something like that). Migrating the backend between one kind of DB and another is non-trivial, especially because the whole ORM needs to be ripped out as well. It's not a full rebuild of the application but it's definitely substantial in effort level.

Sometimes a rebuild is just necessary, because you are on a tech stack that is no longer working for you, for whatever reason. How would you solve that kind of problem?

<comment> grey-area I'd definitely vote for PostgreSQL, it can handle large loads effortlessly, it's reliable, and yet they keep adding great features.

It could also function pretty much like a nosql db initially, to ease your transition, then you could migrate gradually to using it as a relational db. You need strong checks on data integrity before you start - you could consider double writing (to old orm using nosql + new orm using psql), and comparing data stored to be sure you don't miss anything at first, before you switch?

</comment></comment></comment><comment><USER33> Firefox seems to be doing pretty well with their incremental rewrite into rust. I do wonder how long it will take to complete the transition versus doing a complete rewrite instead.

</comment><comment><USER34> Another red flag not mentioned here: the old system doesn't have an end-to-end suite of functional test cases you can rely on.

</comment><comment><USER35> I recently left a project that demonstrated most of these traits. Usually these things are the top of the ice-burg.

<comment><USER36> Know your burgs and bergs. A "burg" (or burgh) is a fortification, or more usually refers to a city built around (or inside) that fortification. A "berg" is a mountain, or a large hill. Therefore, an iceberg is an "ice mountain", and a "burgermeister" is a "city master"; i.e. a mayor.

<comment><USER37> You forgot to mention that you should use "tip" instead of "top" in this idiom.

Here is a video with more detail: [https://www.youtube.com/watch?v=dQw4w9WgXcQ](https://www.youtube.com/watch?v=dQw4w9WgXcQ)

</comment></comment></comment><comment><USER38> ¯\\_(ツ)_/¯:'Dual commits' to the rescue! -pun intended

</comment><comment><USER39> The rewrite is usually when it is too late for the project. Need for re-write mean that project maintenance was ignored and technical debt reached critical levels.

I would start by firing people that led to this situation.

<comment><USER6> " I would start by firing people that led to this situation."

You are one of those blessed people who can architect a system and the architecture holds up for decades. From my experience most systems will end up in a big mess over time if features get added. There is almost no way around it.

<comment><USER10> > You are one of those blessed people who can architect a system and the > architecture holds up for decades.

This is exactly why maintenance is needed. Proper maintenance that includes things like updating the architecture and gradually migrating the whole system to that architecture, rebuilding small unwieldy components, updating and migrating database schemas as the product evolves, removing unused features.

If a product is just getting bugs patched and nothing else then it isn't really being maintained, it's being deprecated. Unfortunately as an industry we still think that there are distinct build and maintenance phases and that the latter can be done with less resources.</comment></comment></comment>


What Michael Jordan teaches me as a software engineer - <AUTHOR> https://blog.phuaxueyong.com/post/2020-05-30-6-things-michael-jordan-taught-me/ <comment><AUTHOR> learning every day even from your basketball idol</comment>


Physicist Richard Feynman explains how a train stays on the tracks. - <AUTHOR> http://www.youtube.com/watch?v=y7h4OtFDnYE <comment><USER2> This clip (and the others posted by 'ChristopherJSykes') are from the BBC show "Fun to Imagine". Been a few months, but I remember the 'Magnets (and 'Why?' questions...)' segment being particularly worthwhile if you're looking for good bang-for-buck timewise.

Incidentally, the guy releasing this also directed it.

Also in case you prefer text: <http://varatek.com/scott/feynman_problems.html>

</comment><comment><USER3> Wow, neat. I'm not sure I should attribute all my amazement to Feynman, but it sure is lovely hearing that man explain things.

</comment><comment><USER4> So now all I need to do is figure out what determines the angle of the taper on the wheels...

<comment><USER5> The difference between the circumferences would have to be such that the train could round the sharpest bend on the track.

That should approximate to a maximum angular change (in direction of travel) per metre:

angle per metre = tan( 2 PI (R-r) / inner track gauge ) x 2 PI r

where R is the largest contact circumference of the wheel and r the smallest.

?

<comment><USER6> What I don't get is how the train rounds a variety of curve radii. How do they control the part of the wheel that is riding the rail precisely enough to allow the train to turn at differing angles depending on the radius of the curve?

<comment><USER6> Hmm, sorry for the double post, not sure what happened there.</comment></comment></comment></comment>


Going for a seven-year walk - <AUTHOR> http://www.bbc.co.uk/news/magazine-20902355

<comment><USER2> His route takes him through hundreds of miles of Arctic tundra. As someone who has spent time in the far north:

 _Walking on tundra is like walking on a head of cabbage that is sitting on a four-inch sponge that is floating in four inches of water. The cabbage heads are all about eight inches apart. When you step on them, they are going to twist in some unknown direction and slide your foot onto the sponge, or into the four inches of water. The really bad tundra, known as bottom, is about eight inches deep and is sitting on top of sucking mud._ \--[http://whiterick.wordpress.com/2010/08/30/dalton-highway- car...](http://whiterick.wordpress.com/2010/08/30/dalton-highway-caribou-hunt- tundra-torture/)

 _Stepping on a tussock is like stepping on a toothbrush, Toolik scientists like to say. You try to avoid it. So tundra walking is like treading on the jostling shoulders of a million people_ \--<http://discovermagazine.com/1996/jun/runningontundra787>

 _Tundra comes in three exciting flavors: bog tundra, high alpine tundra, and original tundra. They say walking on tundra is like walking on bowling balls covered in something squishy_ \--[http://mattylite.blogspot.com/2010/07/alaska-fact-or- fiction...](http://mattylite.blogspot.com/2010/07/alaska-fact-or-fiction.html)

 _hiking on tundra forces you into a gait that is not like walking on pavement (straight up and down)... tundra is more liking walking on a waterbed... you are using lots of the accessory muscles just to keep upright_ \--[http://forums.outdoorsdirectory.com/showthread.php/72728-Boo...](http://forums.outdoorsdirectory.com/showthread.php/72728-Boot- recommendations-for-September-Caribou-in-Kotz)

 _"Walking on tundra is like, is like,--tell him what it's like, Magee." "It's like walking over slippery footballs half-sunk in slime," said the Irishman promptly._ \--[http://www.freefictionbooks.org/books/b/23082-the-boy- with-t...](http://www.freefictionbooks.org/books/b/23082-the-boy-with-the-u-s- survey-by-rolt-wheeler?start=110)

 _For those of you who haven't walked across the tundra it is a giant sponge. When you walk your foot sinks and you have to lift it really high to get the next step, as some put it..walking on tundra is like walking on a giant stair stepper._ \--[http://nicholiepoki03.blogspot.com/2011/09/week-to- remember....](http://nicholiepoki03.blogspot.com/2011/09/week-to- remember.html)

 _walking on the tundra can be a miserable experience. extremely uneven (kinda like walking on basketballs), wet, and full of holes. make sure you have good waterproof footwear with good ankle support rolling an ankle is very easy on this stuff._ \--[http://forums.outdoorsdirectory.com/showthread.php/115323-Tr...](http://forums.outdoorsdirectory.com/showthread.php/115323-Trekking- Poles-on-the-Tundra)

<comment><USER3> I was going to disagree with you, because there are obviously walkable roads in Siberia. However, the route as shown on the map goes straight through absolute no man's land. There is no road along the eastern coast. A sensible route would be Yakutsk - Magadan, then take a boat or plane to the US.

I would love to read the story of someone who walked from Siberia to Alaska via the shortest sea crossing possible. But above Magadan, there are no more roads. And the Kolyma highway to Magadan is considered a major adventure already, with only a small window where the rivers are low enough to be crossed by motorcycle (and therefore, man).

I'm not saying this can't be done, but it looks like a serious arctic expedition to me. Which I kind of doubt he will do. This is probably going to end like usual. Helpful Russian truck drivers take him with them for as far as they can go, then (Mommy!!) a helicopter shows up...

<comment><USER4> I had the privilege of seeing Salopek announce the project at the Knight Civic Media conference, and based on his presentation I can tell you that he is not taking this lightly. This isn't a project that he decided to do on a whim without evaluating the risks. This is a very well-planned, calculated project that desires to not only be fascinating, but also to make a statement on journalism itself. He won't compromise the integrity of it. Of course, there will be people aiding him along the way out of necessity (translators, guides, etc), but I guarantee you there won't be a helicopter or truck involved.

<comment><USER3> Out of curiosity, I skipped through his talk. He says he will leave Vladivostok on a research vessel and cross the North Pacific that way.

If that is not the proverbial "truck", I don't know what is. I don't blame him, but National Geographic/BBC should really know better than publish such misleading maps.

</comment></comment></comment></comment><comment><USER5> _"There is an actual neurological basis to what I am talking about...You can make a pretty good evolutionary argument that this was how we were designed to absorb information at about 5km an hour (3mph)"_

For me walking is more conducive to careful thinking than any other activity, and taking a walk has frequently proven to be the best way to work on my hardest problems, deepest mysteries, and most stressful situations. Do others walk to think?

Having worked with several startups over the past 16 years, I'll make the observation that I've been in a tiny minority on this count, and I find myself wondering what kind of situational & cultural biases in the startup world work against walking as a way of thinking. Keyboards, cars, commutes, an obsession with faster-is-better, craving novelty, fear of "missing the window." What else?

<comment><USER6> I saw that same quote, and thought about my walk a few years back, across the breadth of the UK (Wales to London). I do feel like I have a better intuitive grasp of the size of it now -- much better than you get from driving or taking the train.

<comment><USER5> Serious walking definitely changes one's perspective. I don't feel comfortable in a place until I've learned to get around on foot.

</comment></comment></comment><comment><USER7> Hopefully he'll be more lucky with the russian visa than Karl Bushby [1], who's been hiking in the other direction. Unfortunately most information on his site has been removed.

[1] <http://www.odysseyxxi.com/>

</comment><comment><USER8> Maybe we should all make such a pilgrimage during our lifetimes. It's bound to be an amazing eye-opener.

<comment><USER9> Or a seven-year tour through a library (before they are all gone).

</comment></comment><comment><USER10> I've always dreamed of taking a year or more to walk the back-roads of the US and visit all 48 contiguous states on foot. The technical challenge of plotting a route to traverse each state exactly once is appealing in its own right.

<comment><USER11> I rode a bicycle 14,000 miles around the perimeter of North America in my twenties. It was one of the defining experiences in my life. Everyone was pushing me towards graduate school, but I chose that trip instead. It was the right decision.

<comment><USER12> This sounds fascinating. How did you prepare? What did you do for food and shelter?

<comment><USER11> That's a funny question. The preparation started when I turned 16, and kept bicycling even after I got a driver's license. I moved to NYC, and started bicycle commuting 5 miles each way from Manhattan to the Bronx. I became very comfortable in traffic.

I teach, so one summer I decided to ride cross-country. I did that two summers in a row; WA-ME one year, and CA-GA the next year.

I had thought of doing the Alaska-Tierra del Fuego trip, but a friend wanted to do another cross country ride. I did that ride, WA to ME again via northern Canada, and then continued on to FL, CA, and AK.

Most of the preparation for each trip was just a bit of extra riding in the months building up. These months-long trips are actually easier to get ready for physically than week-long trips, because you can take the first few weeks easy and use the first part of your trip as training.

I slept outside in a tent. There are places to hide a tent and a bicycle everywhere, and if you're stuck you can almost always find someone willing to let you pitch a tent in their yard for the night. Although that gets interesting sometimes...

<comment><USER12> Thanks for the response. This really does sound like it could make for a good book. :)

</comment></comment></comment></comment></comment><comment><USER13> As cool as this is, the original humans probably did most of this route by boat along the coast. They had to have done the hop to Australia by boat circa 45,000 years ago; they probably crossed the Red Sea by boat; and why else would the diaspora have been so fast along thousands of miles of coast relative to expansion inland?

</comment><comment><USER14> There's something appealing (romantic, even) about a project with such a long time horizon when the focus today seems to be on speeding up.

</comment><comment><USER15> It's fun reading about other trips across the world, even if they weren't all done on foot.

Journalist Nellie Bly held the world record for fastest time in 1890, traveling the world unchaperoned in 72 days <http://en.wikipedia.org/wiki/Nellie_Bly>

<comment><USER16> Thomas Stevens rode a penny-farthing bicycle west-to-east around the world in 1884-86, followed by Frank Lenz's east-to-west attempt on a two-wheeled bicycle in the early 1890's - <http://en.wikipedia.org/wiki/Thomas_Stevens_(cyclist)> <http://en.wikipedia.org/wiki/Frank_Lenz_(cyclist)>

</comment></comment><comment><USER17> Who is this guy? This trip is going to be more challenging than ascending Mt Everest. Unless this guy is an extreme adventure hiker, this is going to end badly or he is going to quit. I hope for his sake he gives up early.

If this were a trip planned by someone like Andrew Skurka, then I'd believe it, but this is a journalist with a crazy plan.</comment>


Prince – Modern password guessing algorithm [pdf] - <AUTHOR> http://hashcat.net/tools/princeprocessor/prince-attack.pdf

<comment><USER5> Looks like a distant relative of the American Fuzzy Lop.

I remember the go-go years of the early 1990s, when shadow passwords weren't the norm and cracking was easy.

Back then I'd consistently find machines in academic environments had a password same as username or an empty password. In fact, in non-technical areas, this could be the account of the "person in charge". I'd see 50% as many with a password involving things seen in the /etc/passwd line and then maybe 10% as many of that by running a word list I got out of PHRACK.

<comment><USER6> Ditto. One of my first dialup accounts I used was from a hacked passwd file, it was oreo:cookie :P

</comment></comment><comment><USER7> Looks pretty sweet. From TFA:

      PRINCEPROCESSOR V0.10 RELEASE

      Download from: https://hashcat.net/tools/princeprocessor/
      - <USER2>
      - <USER3>
      - <USER4>

</comment><comment><USER8> Interesting. I am new to the world of password guessing. Is there any significant benefit of using this attack vector? Is use of personal data alone able to offer a remarkable advantage?

<comment><USER9> Personal data unfortunately offers a huge advantage. [https://arstechnica.com/security/2013/05/how-crackers- make-m...](https://arstechnica.com/security/2013/05/how-crackers-make-minced- meat-out-of-your-passwords/)</comment></comment>


Three Americans Share Nobel Prize for Medicine (for the discovery of telomerase) - <AUTHOR> http://www.nytimes.com/2009/10/06/science/06nobel.html?ref=science

<comment><USER2> More info: <http://en.wikipedia.org/wiki/Telomerase>

As the future brings as things like tissue engineering and organs on demand and new cancer therapies, telomeres and telomerase will be at the center of it all.

I'm not sure if I am remembering this correctly, but I think telomerase is not stable in blood and thus it can not be added to it and get to and enter inside cells?

</comment><comment><USER3> interestingly 2 out of 3 were born outside of USA: <http://nobelprize.org/nobel_prizes/medicine/laureates/2009/>

<comment><USER4> Actually I find the nationalities of the winners to be the least interesting part of Nobel Prize season. Apart from opportunities for nationalist chest- thumping, brow-beating and/or hand-wringing, who cares?

On the other hand, I bet if you were to go to the newspapers of the home countries of the two researchers not born in the US you wouldn't find the headline "Three Americans win Nobel Prize". Hmm, let me check...

Yup! The Age (Melbourne) currently has the headline "Our Beautiful Mind: Scientist Australia's first woman Nobel laureate". (Can't find an equivalent in the UK just now -- there are enough British Nobel laureates that they don't need to get excited over each one.)

<comment><USER3> yes, I was not trying to stress their nationality (one has dual anyway).</comment></comment></comment>


Ask HN: I'm about to hire the 1st employee for my startup. What should I know? - <AUTHOR>

I'm very close to hiring a first employee for my tech startup. This potential first employee has a legal background (as an attorney) and is a friend. I want to bring this person on as an important assistant and CFO (an executive position). How should I determine salary and stock options? What dangers or common pitfalls should I be aware of? What should a job offer look like exactly (written letter, email, etc)? <comment><USER3> \+ Have a 4 year vesting schedule with a 1 year cliff, so if they don't work out they're not a shareholder anymore.

\+ Offer them multiple options of equity/salary and let them pick what works best for their situation. Once you've agreed verbally write it up in an email as a non-binding offer letter, then have your lawyer make it legal.

\+ Don't let them push you around. Lawyers are bred to be intimidating - <USER2> that in mind. Don't get dazzled with bullshit. Do research and follow Silicon Valley best practices (like vesting). You'll regret it forever if they convince you to agree to something stupid.

\+ Absolutely do not let them handle the equity/financing/control documents for the company. Get an external firm to do it for you, despite the cost. Having someone with a conflict of interest handle your legal documents is Officially Stupid.

\+ Do a trial period first. Pay them $N to work for a couple weeks or a month. Don't even talk about it being for a long term gig. Just make it about the project and make it as well defined as possible. It'll be much easier to simply not continue after that then to fire them once they're officially hired.

<comment><AUTHOR> Great suggestions, I especially think the trial period idea is interesting. There's a few things that complicate it a bit though...this person will have to move to a different city to work, so the compensation will have to be higher to account for the uncertainty. Also, if it does work out, I don't want to the person to line something else up before the 6 months are out....I suppose there'll need to a "buffertime" between when a permanent job is offered and the end of the temporary phase.

</comment></comment><comment><USER4> Perhaps, you should reverse the questions. If your potential CFO doesn't ask the following don't hire them: 1) Why do you want me as the CFO to manage the hiring of technical people? Isn't that what a CTO should be doing? 2) Why are you looking for a CFO, when what you describe really is an executive assistant or office manager? 3) Why are you looking to hire me as CFO, but not provide any substantive decision making influence like a cofounder? 4) Why aren't you hiring an outsourced, third-party that can act like a CFO combined with a little part time temp work to do your assistant stuff? 5) Are you legit?

</comment><comment><USER5> Why are you hiring a CFO/executive manager if you don't have any employees? Who is your CFO going to manage? Shouldn't you be hiring engineers first?

Sounds like this person should be a cofounder, not an employee.

<comment><AUTHOR> They're not a manager. The position calls for a great organizer who will help with general business administration, including the next round of hiring which will include engineers. Right now my most pressing concern is addressing my current skill shortfall, which is in finance and general administration. My engineering skills are solid and are able to keep the product shipping at the moment, but I need someone to take on general business duties. I'm aware that engineers are the heart of any tech startup, so I'm not taking this decision lightly. I'm confident this is the right position I need filled presently, but I need help putting together an job offer package and understanding the implications of all the details therein.

</comment></comment><comment><AUTHOR> If any admins are reading this, I'm not sure if this question got in the right category...its suppose to be an Ask HN question but I don't see it showing up there.</comment>


Apple Tablet "confirmed" by Asus - <AUTHOR> http://www.engadget.com/2007/11/06/apple-tablet-confirmed-by-asus/ <comment><USER2> That would be a great replacement for the classic MacBooks, however I'm assuming the price tag will go around two to three grand...

<comment><USER3> Exclusively multi-touch interfaces have only limited applications at sizes much bigger than an iPhone. Something the size of a piece of paper doesn't seem big, but it'll certainly feel big if you've been moving your hands all over it for a couple hours.

Most people set up their mouse so that a few inches of hand movement will take the cursor from one side of the screen to the other. Having the size of a movement scale 1:1 to its on-screen representation would get tiring pretty quickly.

</comment></comment><comment><USER4> In other news, Asus stock rises inexplicably. Asus CEO now being questioned for stock manipulation.</comment>


ASk HN: What is the best Webbased Project management software? - <AUTHOR>

Looking for something that integrates well with existing mac, pc and mobile apps?<p>team collaboration would be nice but not a must as there may be better option for that. <comment><USER2> You'll probably like <http://www.redmine.org/>

From the website: Overview

        * Multiple projects support
        * Flexible role based access control
        * Flexible issue tracking system
        * Gantt chart and calendar
        * News, documents & files management
        * Feeds & email notifications
        * Per project wiki
        * Per project forums
        * Time tracking
        * Custom fields for issues, time-entries, projects and users
        * SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
        * Issue creation via email
        * Multiple LDAP authentication support
        * User self-registration support
        * Multilanguage support
        * Multiple databases support

<comment><USER3> I started using Redmine at the beginning of my latest startup (March 2010) and love it!

</comment></comment><comment><USER4> 37 Signals BaseCamp is an obvious choice, but it is costly for a start up.

I also was interested in project management software and wanted to find something comparable to base camp that was free. I ended up finding one, it's called <http://www.teamlab.com/>. They seem to have everything base camp does at the same quality level, except it is free. I'm going to be using it for my projects.

Has anyone else used this?</comment>


When Proxies Lie: Verifying Locations of Proxies with Active Geolocation (2018) [pdf] - <AUTHOR> https://conferences.sigcomm.org/imc/2018/papers/imc18-final122.pdf <comment><USER2> So if the VPN providers are not entirely honest about where their servers actually are, what about their other claims, such as no logging?

<comment><USER3> They can submit to independent audit. ExpressVPN and IVPN have been audited by Cure53.[0,1]

0) [https://www.expressvpn.com/blog/browser-extension-audit- and-...](https://www.expressvpn.com/blog/browser-extension-audit-and-open- sourcing/)

1) [https://www.ivpn.net/blog/ivpn-no-logging-claim-verified- by-...](https://www.ivpn.net/blog/ivpn-no-logging-claim-verified-by- independent-audit)

<comment><USER4> Devils advocate. A VPN provider competent enough could make it appear they _aren 't_ logging during the time of an audit and then go "back to normal" afterwards.

<comment><USER3> True, but I've known Nick Pestell (IVPN CEO) for several years, and am confident about his integrity.

</comment></comment></comment></comment><comment><USER5> I would be interested to see on the ones that don't match the continent to see a traceroute on them. While it's far from accurate I have had good success at geolocating IPs based on rdns of transit/ISPs

</comment><comment><USER6> Very interesting. I always assume VPN providers are dishonest at best and hostile at worst.

Does anyone know which VPN/proxy provider is the one labeled "A" (with claimed proxies in almost every country)?

<comment><USER3> I played with this approach last year.[0] HMA was the worst. At most half of their servers could possibly be where claimed. So they could well be "A".

0) [https://www.ivpn.net/privacy-guides/how-to-verify- physical-l...](https://www.ivpn.net/privacy-guides/how-to-verify-physical- locations-of-internet-servers)

<comment><USER6> It must be HMA. They list two servers in the Vatican. No chance they have two servers in the Vatican.

<comment><USER7> Pitcairn Island is even more of a tipoff. The nation's Internet access is provided through a 5 Mbps satellite link, and the electricity shuts off at 10 PM. [1] There's no way a company has colocated a VPN server there.

[1]: [http://visitpitcairn.pn/already_booked/](http://visitpitcairn.pn/already_booked/)

</comment></comment></comment></comment><comment><USER8> We've stressed the importance of using a no-log VPN service countless times here at Cogipas. If a VPN provider logs your data, it creates a vulnerability that could later come back to bite you. Unfortunately, while most VPN providers claim they don't log, it's not always true. That's why these independent audits are so valuable in establishing which services can be trusted. Here is a list of VPNs that have been audited multiple times and are true to their words.

Nord VPN Private VPN Ivacy VPN Ghost VPN</comment>


Thank HN: My SaaS paid my rent this month - <AUTHOR> Running a profitable SAAS has been my dream from the moment I wrote my first line of code.
Here on HN and IndieHackers I've always looked up to the people who pay their bills with recurring revenue from their tools.
I've tried, many times, to do the same, without much success. A couple of rather successful HN pitches, but none of my projects ever even paid me a beer (let alone my rent).
Until this month! Last year I built myself and my girlfriend a tool. Even though I did build it for other people to use it, I had never thought someone actually would. Long story short, half a year later I provide my service to more than 5000 (fully organic) users.
This month is the first month in which revenue is high enough to pay my rent with it. Disclaimer: I share my rent with my girlfriend, but it does sound cool to say.
Looking back at the proces, it does match with a lot of other success stories I read over the years in the HN community. The main lesson which I can now confirm: build something that scratches your own itch.
So... Thanks you guys, for keeping me motivated and inspired. <comment><USER2> congrats! mind sharing your story?

<comment><AUTHOR> Sure.

Last year June, I built a small online tool for me and my girlfriend to manage our IPTV playlist. I bought a domain name and put it online because our IPTV player needed to access it through a URL. A couple of months later, and 7 users found the tool and were actually using it (keep in mind that that's pretty impressive for a tool as not-user-focused as it was back then).

So I then decided to spend more time refining it. Building more features, introducing paid plans, and making sure everything worked as user-friendly as possible.

It basically all started growing organically from there. This month so far I have a Stripe balance of €620 (roughly 687USD) after fees, which is my 5th full month of running with pricing plans.

As you can imagine, I'm super excited to see if it can keep growing like this!

<comment><USER3> So it's software people pay for to make managing their pirated tv content easier to browse?

<comment><USER4> IPTV is not necessarily pirated content. Many countries have commercial offerings although I don't know of any company doing so in North America.

</comment></comment></comment></comment><comment><USER5> Pardon my complete speculation, but I bet your success factor is "I built ... my girlfriend a tool."

My only successful product to this date is an app I built because my wife asked me to. It is in an non-technical domain which I knew nothing about. I thought it was rather non-promising, but, since it was a pet-peeve of hers, I gave it a try.

It was an awesome (and very bonding) experience - she explained me the problem(s), and I tried to simplify and structure it (didn't think gardening could be so complicated). Both of us were in their respective element, and from back and forth an app was forged.

To this day I only half-jokingly call her my product manager. The app has brought in 5 digits last year and is rising.

Last week, she briefly mentioned another problem, in another hobby domain of hers...

<comment><USER6> Lucky you. I tried to make a game with my (then-girlfriend, now-) wife and it kinda fizzled out. Sure, took on too much, I'm not the best with bringing projects to launch, but whatever.

I really can't say who spent more time (she did graphics, I wrote code) but to this day it's a bit of a sore point to talk about, just that we were both absolutely not happy with the outcome and see it as completely wasted time.

<comment><USER5> Thanks for the sobering counterpoint to my perfect formula for success :)

A game is really a tough one though.

<comment><USER7> a game seems less about solving a problem though. Educational games can semi help with solving the problem of learning specific topics, but often hard to pull off well.

</comment></comment></comment></comment><comment><USER8> I guess this is the tool, from OPs submission history: [https://m3u-editor.com/](https://m3u-editor.com/)

<comment><USER9> I might be living under a rock, but what is IPTV? Even a Google search on it makes me scratch my head. I use Netflix, Hulu, etc but those have always been referred to as 'Streaming Services' , are those somehow categorized in the IPTV umbrella?

<comment><USER10> The ones called IPTV are the ones with really questionable sources, in my experience. I'm not sure how the term IPTV became synonymous with that.

<comment><USER11> Well, in short, it's "normal" TV over IP, so I think it makes sense. I'm pretty sure providers around in Europe, when it first launched, also called it IPTV, and the "pirates" were quick to copy that naming.

</comment></comment></comment></comment><comment><USER12> Have you thought about increasing your prices by a lot? I'm not the target market but $1 per month for the cheapest plan and $5 per month for the most expensive one sounds insanely cheap to me.

<comment><USER13> Seconded. Just make sure you increase them for new customers but not existing ones. You can even try A/B testing price levels and the likes!

<comment><USER14> Price elasticity experiments are the lowest hanging fruits for optimizing revenue!

We found doing it per country had a huge impact on rest-of-world LTVs.

<comment><USER15> Please bear in mind that there is a regulation in EU that prices of the same product should not differ based on the country you are coming from (source: [https://europa.eu/youreurope/citizens/consumers/unfair- treat...](https://europa.eu/youreurope/citizens/consumers/unfair- treatment/unfair-pricing/index_en.htm), "Price discrimination is not allowed" section).

<comment><USER16> In Poland almost everything is 1/3 of the price compared to the rest of the EU for the same "stuff", arguably most have Polish branding but there are common products(Nestle, Coca Cola, etc) that are significantly cheaper.

<comment><USER17> Disclaim: I'm American and I'm mostly guessing here,

I know that sometimes companies create multiple SKUs of products to get around certain restrictions. For example, if the Coca-Cola in Poland is only sold in Poland, and is different from what's sold in France (let's pretend your flag is on the can) - then they're technically "different products" and don't have to follow the same regulations.

I know the WD easy stores sold at best buy are best buy specific so that they don't have to price match them with competitors, even though what the competitors sell have identical internals.

<comment><USER18> Oh yes,the famous brand products with less good stuff in them. Essentially,there are 3 unofficial markets in Europe: local market, western countries and the rest... Obviously the rest get it worse. European commission were investigating this couple of years ago,not sure where they are with it now. [http://www.europarl.europa.eu/RegData/etudes/STUD/2018/60884...](http://www.europarl.europa.eu/RegData/etudes/STUD/2018/608840/IPOL_STU\(2018\)608840_EN.pdf&ved=2ahUKEwium4_6_ZLnAhUsUBUIHUyHCUUQFjAAegQIARAB&usg=AOvVaw3S9Wa9o8n_onUTAn9qTmIN)

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> First thing I thought when reading "M3U Editor" was music playlists for local music... Man, definitions sure changed. I don't personally like conflating terms very much, but that happens a lot nowadays.

The following isn't feedback, just personal rambling: Also I can't feel but somehow I would be unable to make a software that has that kind of "playlist protection" as a feature that needs a higher tier of monthly payment. I seem to come from times where things like this sure warranted a one time payment but not an ongoing one. Though it might be that I have my head stuck up my, well, you know and I need to get with the times of SAAS

<comment><USER20> It's the same list format from back in the WinAmp days afaik, but the reference points are video streams instead of audio.

</comment></comment><comment><USER21> Fellow solo SaaS founder here. Congratulations! This is a fantastic milestone to reach, and not an easy one, in spite what many people think.

I am doubly impressed, because your product is B2C. I honestly don't know how to make money on B2C, it always turns out to be a money-losing proposition unless you have a huge market. I hope you will be able to make it work!

</comment><comment><USER22> Congrats for getting from zero to one! It seems like you have some product market fit, that's really great.

As others have pointed out, I'd recommend:

\- please rename "amateur" to something more positive. no customer wants to be called an amateur

\- Increase prices for the pro tier

\- Improve your "pricing plan" page, take a look at other (more successful) SaaS products and change button labels accordingly. Just take the best things from their landing pages!

\- create a proper comparison matrix / table for all the plans

\- visually de-emphasize the free tier, and focus on the 3 paid plans in your comparison table. people will always buy the middle option, so you can increase the price of the "best" option by a lot in order to anchor your value

\- add features which are available only in "pro" and "pro plus", e.g. support, direct email to developer, etc!

\- maybe build a mobile app for this? it seems like something that could be nicely integrated into a mobile-first experience. you could make it exclusive for pro users

<comment><USER23> Amateur has no negative connotations to me (as a native English speaker from the Midwest US). It's comparable to "hobbyist" or "enthusiast", basically meaning "someone who can do X but doesn't get paid for it". I think a lot of people would be proud to be amateur musicians or amateur athletes, for example, and would have said that no (non-professional) customer would not want to be called an amateur. Just shows you have to be careful!

And the pricing page ([https://m3u-editor.com/#pricing](https://m3u-editor.com/#pricing)) looks pretty good to me - nice horizontal feature matrix, easy to locate buttons...not sure OP wants to use dark patterns like de-emphasizing the free tier. I do agree that the top plan should probably be more than $5/mo.

<comment><USER24> Agreed, "amateur" has pretty positive connotations for me in this context (native English speaker from New York).

<comment><USER25> As a native english speaker from Maryland while it doesnt have any negative connotations, I do feel a word like hobbyist would be better

<comment><USER26> "Hobbyist" doesn't really make sense, as it's not my _hobby_ to make MP3 playlists.

"Amateur" is good as an antonym to "Pro".

<comment><USER27> I agree with Amateur as well. The Olympics (until the 90s [think USA Dream Team]) were only open to AMATEUR athletes. No one would argue that Olympians weren't skilled, and Olympians never felt slighted by this category. It simply implied that athletes trained and participated in a sport out of love for the game rather than for profit. Amateur literally describes: 'pursuing an activity independently of their source of income', that's all.

<comment><USER28> one could a/b test the plan label and put some teeth behind the many useful assertions in this thread, if one were so inclined

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> That's so exciting and encouraging! Congratulations :)

Looking forward to your future update that says, "My SaaS paid for my yacht."

<comment><USER30> I hope he would do something more interesting than spending his money on a yacht.

<comment><USER31> There are yachts and then there are yachts.

I assume you're negative towards yachts like Larry Ellison's - giant fuel chugging beasts that the owner flies in to port to go on once or twice a year and that requires a crew the size of a small company to operate.

Then there are small craft with a sail that are completely environmentally guiltless to operate, and that can introduce kids to the joy of sailing and to the wonders of the ocean.

The second kind are awesome.

<comment><USER29> The second one sounds amazing!

</comment></comment></comment></comment><comment><USER32> Congrats, these micro (or nano ;) business success stories are the most inspiring.

</comment><comment><USER33> > The main lesson which I can now confirm: build something that scratches your > own itch.

Honestly, can we agree it is 50/50? The "Mom test" is a good way to make sure you are not wasting your time. [https://www.youtube.com/watch?v=Hla1jzhan78](https://www.youtube.com/watch?v=Hla1jzhan78) (3:16)

</comment><comment><USER34> Can I show off a bit about my project too? We make a huge database of user manuals you can check it here [https://manualsbrain.com/en/](https://manualsbrain.com/en/)

<comment><USER35> Honest suggestion: you should submit your own Show HN post for that. I reckon you are being downvoted for "hijacking" another post, not based on the merits of your project.

<comment><USER36> Should be down-voted doubly then - for hijacking another post and also for promoting copyright abuse...

<comment><USER35> I never said that had to be downvoted or upvoted. I was just advising him/her to create his own Show HN post to follow this site's rules first, and to maybe get real feedback about the site.

Regarding "copyright abuse", it depends on multiple factors IMHO, but that was not the point of my comment at all.

</comment></comment></comment></comment><comment><USER37> Congratulations!

Two small comments

\- Adjust your pricing. The difference between 1, 2.5 and 5$ is almost nothing. I'd suggest free - 5 - 20, or something along those lines. \- The buttons in the screenshot below: the ones on the second row should have some spacing above them. It's a typical responsive layout thing.

[https://m3u-editor.com/img-new/playlists.jpg](https://m3u-editor.com/img- new/playlists.jpg)

</comment><comment><USER38> Congrats! I wish we could do the same but with full time employee(s) being covered. But I'm terrible at marketing and just want to build the oss products. We have over 1k stars in multiple projects for .NET but the developer market is hard to get paying customers (we all want everything for free ;-)). It also doesn't help we have massively funded companies competing against us...

</comment><comment><USER39> Thanks for sharing. I love these stories. Very inspirational. And your public webpage looks very clean and professional.

</comment><comment><USER40> I have always been planning to do something like this. Can you share your timeline ( from inception to prod).

</comment><comment><USER41> Based on your landing page, you default to yearly subscriptions.

Does that mean you would need to get an equivalent number of new users to pay your rent next month? Or is your monthly recurring revenue now high enough to cover your rent?

Either way, an exciting day for you I'm sure. Good luck going forward!

</comment><comment><USER42> I love reading these stories, it kinda boosts my productivity. Glad life is going great for you OP.

</comment><comment><USER43> "Build something you would use" is going to be replaced by "build something a non-technical person has requested." The latter has a higher likelihood of not already existing and a proven appeal outside of the tech monoculture.

</comment><comment><USER44> You just sent me down a rabbit hole of what is IPTV....LOL! Thanks

</comment><comment><USER45> Wow! I like this kind positive post! If you have the story behind your product and how you build it, we'll definitely wanna read it!

</comment><comment><USER46> Thank you for the post!!! It made me feel like pursuing again a personal project left aside for over an year now.

</comment><comment><USER47> Nice! Congrats!

Pricing is pretty cheap imo, why don't you try doubling prices? You might double income just like that..

<comment><AUTHOR> Cheap indeed it is, but I guess that matches the target audience. IPTV is relatively cheap, and the service my tool offers is really a bonus and not a must.

More importantly, I don't think I would pay more than I am currently charging my users, so I think it's just fair. Also, I prefer a whole lot of small payments than a couple of big ones, and for now that seems to be going in the right direction.

<comment><USER48> I would consider not trusting your intuition when it comes to pricing.

<comment><USER49> I think this is good advice, but then I also think the current pricing is fair for what it does. If it did a lot more, then it could be priced higher.

I mean compare to say Spotify. Up to six people in a household can listen in their cars and any phone and any computer to any music pretty much, in fantastic quality with lots of features, for what $15 a month. Now that is worth $15 a month, as it's delivering actual content. That is a lot more value than an (admittedly compelling) editor that I just use to edit some preferences essentially.

</comment></comment></comment></comment><comment><USER50> Exciting! Reading these shares are encouraging. :). And yes, share the story (or at least the product!)

</comment><comment><USER51> Which project is this so that the rest of us can check it out and get inspired properly?

<comment><USER52> Here it is: [https://m3u-editor.com/](https://m3u-editor.com/)

</comment></comment><comment> zupa-hu Congrats! Nice website! Wondering - are people actually using the chat to get in touch?

</comment><comment><USER53> Great post! How many projects have you done before actually getting paid for your SAAS?

</comment><comment><USER54> Congratulations on your milestone!

If you don't mind then can you please share your tech stack?

Thanks

</comment><comment><USER55> Grats, sure this will motivate more than one on their path. Keep it up!

</comment><comment><USER56> So... what's the tool??

<comment><AUTHOR> It's an IPTV playlist management tool: m3u-editor.com

Posted it on HN a while back as well, but interestingly it is one of my least successful HN posts.

<comment><USER57> " _Are you an IPTV enthusiast, or simply a user which is not fully happy with the playlist given to you.._ "

Nitpick: A user _who_ is not happy; users are people, not things.

<comment> ISO-morphism To the author - congratulations on the success so far!

Additional nits from a native US English speaker, hope they're helpful:

* "$5.00 / Per Month" \- the "/" is read as "per," so it reads as "five dollars per per month." Should drop either the slash or the "per."

* "...Billed annually. Or..." \- these are dependent clauses, should be "...Billed annually, or..."

</comment></comment></comment></comment><comment><USER58> "build something that scratches your own itch."

Awesome advice.

<comment><USER59> I'm not sure this is solid advice. As a programmer it would mean I'd have to build my own compiler and editor, but the low-hanging fruit has already been taken in this area, so perhaps it's better to scratch someone else's itch in some niche area that nobody has explored yet.

<comment><USER60> The implication here is that the best way to know that someone else has an itch to scratch is to have that same itch yourself.

And "itch" is to "problem" as "scratch" is to "solve." The fact that you know or use something doesn't make it a problem to solve. But if you think you can do it better or different, then maybe someone else agrees.

</comment></comment></comment><comment><USER61> Way to go, hopefully you'll see continued success!

</comment><comment><USER62> Congratulations!

</comment><comment><USER63> How you got your customers? channels?

</comment><comment><USER64> Great job!

Your splash page looks pro.

</comment><comment><USER65> > 5000 (fully organic) users.

It'd be more newsworthy if they were like half organic, half machine. Cyborgs are an up and coming niche market!

Kidding aside, congratulations, that's impressive!

</comment><comment><USER66> Very nice! I think i will write a free open source alternative to this.

<comment><USER67> Please don't be a jerk on HN. We're trying to be kind to each other here.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER66> Is there something wrong with open source? I think it would be pretty cool to take this idea and turn it into a foss tool.

<comment><USER67> I've banned this account for trolling. If I got that wrong, please take it up with us at firstname.lastname@example.com and we'll fix it. Otherwise please stop creating accounts to break HN's guidelines with.</comment></comment></comment></comment>


Ask HN: Why should I learn to code? - <AUTHOR> It seems to me that the field is getting extremely competitive. Is it still worth it? Not for the sake of getting a job, but for the sake of eventually ending up at a cool startup, or either founding one, or working on some super cool tech <comment><USER2> This question seems to be entirely based on a false premise. If you want to be good at something, whatever field you choose, it's going to be competitive. Being good at coding in particular is in no way a prerequisite for participating in the startup scene.

</comment><comment><USER3> You should learn to code because it is fun. If you do not like coding for the sake of coding, choose another profession.</comment>


FaceTime in iOS 13 will artificially re-point your eyeballs - <AUTHOR> https://twitter.com/flyosity/status/1146145234801307650 <comment><AUTHOR> Comparison photos here: [https://twitter.com/WSig/status/1146146914985009154](https://twitter.com/WSig/status/1146146914985009154)</comment>


Microsoft Buys GitHub: The Linux Foundation's Reaction - <AUTHOR> https://www.linuxfoundation.org/blog/microsoft-buys-github-the-linux-foundations-reaction/ <comment><USER2> Open-source developers: "Microsoft should embrace open source, it's the one true way!"

Microsoft: _embraces open source_

Open-source developers: "They're trying to control us! They're trying to control us!".

<comment><USER3> This is a reaction that is both funny and frustrating. While there is enlightened self-interest for Microsoft to buy GitHub (they rely on GitHub for a lot of their open source work as well as their documentation websites) buying GitHub and saying "We're going to let it operate independently as before while we fund the project knowing it will never turn a profit -- that's how important Open Source is to us, we're willing to lose money every quarter to ensure GitHub will never implode for want of money" _STILL_ brings distrust.

And yet, the hue and cry is "Unless you open source every byte of GitHub's code and infrastructure you're just evil monopolists trying to smother us!" Given all that Microsoft has done to embrace and support open source I think the onus is now on the Open Source community to justify their distrust of Microsoft because "Duh, it's Microsoft" simply doesn't fly as a legitimate argument anymore.

<comment><USER4> Microsoft is the heart of corporate America, it's a facepalm to imagine that any dollar they spend isn't in their own long term interest to make money. It would be illegal for them not to. You can apply that to any large corporation but the problem is by definition how Microsoft makes money.

How does Microsoft make money? They make money by renting from a platform which is monopolistic and enforced. What do they do to maintain this? They deliberately force people onto their platform by abusing their market position, and try to crush any opposition by any possible tactic, including dubious legal cases designed just to bankrupt their opposition. What else do they do? EEE, and also just blatant unnecessary reinvention /ripping off and lock-in when they get the chance.

They didn't abandon some of the visible tactics and start paying open source because they had a moral revelation, it's a company with the same business model it's not possible. Those tactics were just inneffective and co-opting, more subtle EEE has to be the game plan.

Why does that make me angrier than equally evil Facebook/Apple? Well if I was a farmer driving around one of those trucks with source code preventing me from fixing it I'd be pretty personally furious. But I'm not, I'm a developer and those guys are the ones trying to make everyone drive the coding equivalent. But it's worse, because coding isn't just my livelihood, it's a lot of how I think and express my thoughts. They're not messing with my job they're trying to restrict the way I think, so their shareholders can make a buck.

"Microsoft is running Github for charity" have a word with yourself.

<comment><USER5> > Microsoft is the heart of corporate America, it's a facepalm to imagine that > any dollar they spend isn't in their own long term interest to make money. > It would be illegal for them not to. You can apply that to any large > corporation but the problem is by definition how Microsoft makes money.

Feel free to show me which part of the criminal code "not making money" falls under. You want to rant about EEE (irrelevant for decades now) or some other silly plan to undermine open source development, feel free. But expect to be called out for your pointless drivel at the same time.

I'm fine with being cautious about Microsoft. I think at this point it's no longer necessary, but sure I can understand that. But the EEE plot-line is a 20 year old joke. It's not funny anymore.

<comment><USER6> >Feel free to show me which part of the criminal code "not making money" falls under.

I don't really know anything about US laws, but I think they do have to act in the interest of their shareholders, i.e. make them more money.

<comment><USER5> Right but profit can be both long-term and short-term and often one requires sacrificing the other, which is why calling it "illegal" was completely incorrect.

</comment></comment></comment></comment></comment></comment><comment><USER7> Well, Microsoft is a Platinum Member of the Linux Foundation.

It would be really weird to see anything but a positive reaction from a consortium which receives a substantial amount of money from Microsoft.

<comment><USER8> That is a very interesting point actually. That Microsoft is a sponsor of the Linux foundation is not just a plus point in this discussion, but also a motivator for the Foundation to report positively.

<comment><USER9> The Linux Foundation is a joke. Hell, even Oracle is a 'platinum member', and there's no company on earth as aggressively hostile towards FLOSS than Oracle.

<comment><USER10> I'm really surprised this thread is so heavily upvoted here and on reddit.

The Linux Foundation is literally a lobbying agency for major coporations, why does it matter what's their opinion?

I mean The Linux Foundation president doesn't even use linux on his machine lol [1]. This should say everything you need to know about the foundation really.

[1] - [https://linux.slashdot.org/story/17/09/17/2017204/linux- foun...](https://linux.slashdot.org/story/17/09/17/2017204/linux-foundation- president-used-macos-for-presentation-at-open-source-summit)

</comment></comment></comment></comment><comment><USER8> I like his good vibe about all of it, and I agree I love to see that MS is doing more moves into the right direction. However I feel we should not trust him too quickly. Every big company tries to claim they have changed, will change and are currently in a process of change. But in reality most companies stay stuck at exactly that point in time where they were most successful. that means Microsoft is likely stuck ~10 years go, where Windows XP was at its peak.

It's not just a CEO who can change that. It needs all kinds of changes on all kinds of levels. For instance if department leader's KPIs and bonus structure hasn't changed, they will continue to actively fight open source. Even if there is now a new, fancy department with even big names from open source communities, that doesn't mean all the other departments changed.

Also what happens to the devs who are there for 20+ years now, probably quite a few of them in senior dev and architect roles. Will they drop all that they've grown up with? Can Microsoft afford to let them go for big money and hire new, unknown people instead?

If they manage to get this github integration right, I may start to think about them in a positive fashion but until now there's too much doubt and too many things that might go wrong. Compared to the size of a huge corp we've only seen fluff up till now.

<comment><USER11> _Every big company tries to claim they have changed, will change and are currently in a process of change._

This is insightful, and in addition to this, culture change can and does happen at companies.

Just because they're evil today, doesn't mean they'll be evil tomorrow.

Similarly, just because they're good today, doesn't mean they'll be good tomorrow.

We should always look with suspicion at megacorps _acting_ with what appears to be outrageous altruism. Companies don't throw around $7.5 billion without expecting to profit from it.

</comment></comment><comment><USER12> Not disclosed in this post: Microsoft is a platinum sponsor of the Linux Foundation, which has a price tag of at least $500k per year.

<comment><USER13> Is that not tax deductible ?

They get a write off and your support as well as the marketing bits.

<comment><USER14> How much is the write off on such donations? Surely can't be 100%.

</comment></comment></comment><comment><USER15> Can't really write something on the Linux foundation that'd annoy a platinum partner though, can you? :)

Though I'm in the middle on this, I'll see what microsoft does with github. The company has shown a different approach to the 'old microsoft' but it's still a company with the aim of making a profit. Github was losing money IIRC and MSFT has a lot of data on people as it is. Github might be a good way to target devs for advertisements :)

<comment><USER16> Github's aim was also making money.

<comment><USER17> Yeah Github wasn't a non-profit. It was a company that wanted to make money. They weren't giving everything they offered away for free. In fact the main reason I used Gitlab was for free private repositories. But no use arguing I guess since people will never change their mind no matter what Microsoft does.

<comment><USER16> Free private teams were the reason I first used gitlab also, but I found that I liked their CI system too.

</comment></comment></comment></comment><comment><USER3> I wonder how many companies have considered selecting GitHub as the place for their source code, wikis, process, issue tracking, etc but hesitated or went with another vendor simply because the financial future of GitHub was an open question. Now, with Microsoft making that question a moot point, I think a lot of companies will now make the move to GitHub knowing it will not go away.

Ironically... having Microsoft behind GitHub and being willing to lose money on the company forever could actually be the reasons it has a hope to turn a profit some day.

</comment><comment><USER18> this has a huge spin/politics feel to it, when you get to "it used to be easy to make fun of Microsoft, but.. I have grown up"

I call BS -- it was very grown-up of Microsoft to abuse repeatedly their clients and partners, and it is just and right to call them out on it.. that one statement is obsequious whiteash, plain and simple.

<comment><USER11> This is insightful.

The author implies that if you have a healthy skepticism when megacorps throw around billions of dollars, you're not "grown up."

</comment></comment><comment><USER19> From the OP: "Whether it's an established company or startup that's gained mass appeal like GitHub, GitLab or Stack Overflow"

Thanks for the recognition for GitLab! We hope that for many people that switched [https://twitter.com/develosysadmine/status/10050613234058731...](https://twitter.com/develosysadmine/status/1005061323405873152) was the case: "For me, I already knew GitLab was better than GitHub in a variety of ways. Microsoft just gave me the slightest nudge to actually make the switch."

</comment><comment><USER20> I seem to recall earlier, in 2016 I think, that Microsoft already acquired The Linux Foundation.

Acquired might be replaced with other euphemisms like "joined" or "became a member of".

</comment><comment><USER21> Something is missing from this reaction: AI. MS is buying a privileged access to billions lines of code with their history and corrections. In 5-10Y times most code will be produced by AI and the simplest way to train a AI system is to to have access to data. That's what they bought, data. Unfortunately this is another step towards more concentration in IT...

</comment><comment><USER22> It's not for sure but highly likely that Microsoft will do some things that are not desirable. From now on, should you believe trending repos are not filtered by Microsoft? Don't you think they might put some advertisement for their own projects / products? What will they do with the massive amount of data they have now access to, including private repositories?

Those saying there is no reason to worry are just hoping for big amount of luck. Yeah I hope so too, but let's face it, it's very unlikely they're not gonna do anything undesirable and only improve the platform.

</comment><comment><USER23> _> Most of the important projects on GitHub are licensed under an open source license, which addresses intellectual property ownership._

This can be tricky in a legally messed up environment. In US, courts sided with Oracle about copyrightability of APIs. And guess who supported Oracle in that dispute? Microsoft. So how should open source projects feel about it, especially when they let's say implement MS own APIs?

</comment><comment><USER24> I think what I don't appreciate is how many people are trying to calm peoples fears about the acquisition.

Feels like a parent chiding a kid

I guess Github was in worse shape than they looked like on the outside. Happens; the fact that the 3 founders made a fortune off of this is unfortunate.

One of those founders stepped down and yet he still won.

It's just a game; wether you play blackjack or poker or big stakes with companies.

</comment><comment><USER25> I wonder what would have happened to Microsoft's Diamond level sponsorship for the Linux Foundation if they said something different.

</comment><comment><USER26> Just don't make me use a damn Microsoft live account to login!

<comment><USER27> Nat Friedman, Future CEO of GitHub clearly stated that this wouldn't happen because GitHub's identity management is far superior to MS one.

However the opposite might very well happen: Use your GitHub account to sign into MS other services.

<comment><USER28> Far superior in what way?

<comment><USER27> Users actually like it for a start :)

You don't have to go through 3 redirections to login, handling of 3rd party apps authorization is well thought out, and GitHub is already used an auth provider for many dev servcies, Microsoft accounts are not.

</comment></comment></comment></comment><comment><USER29> Ah, a voice of reason.

I'm no MS lover; I've been off their products both at home and work for over 15+ years, at home since basically forever except for some apps that only ran on Windows.

The MS of now is a far difference MS a decade ago, even five years ago. Things change--sometimes people don't.

<comment><USER30> They are wrong and this is absolutely not good for open source. Voice of reason? More like voice of ignorance.

<comment><USER29> IMO calling a wide swath of people "ignorant" with zero content is just noise that does nothing to elevate the conversation. Most of us moved past name- calling in grade school.

</comment></comment></comment><comment><USER31> " I will own responsibility for some of that as I spent a good part of my career at the Linux Foundation poking fun at Microsoft (which, at times, prior management made way too easy). But times have changed and it's time to recognize that we have all grown up – the industry, the open source community, even me."

What is this guy talking about? Maybe he's changed but Microsoft hasn't: they're still a company doing evil things on a large scale that simply sees more value (for them) increased FOSS support. I'll especially highlight the patent suits with them pulling billions of dollars from Android vendors despite them not contributing anything to Android. They were working on displacing it with Windows Phone. Yet, they use legal threats to pull hundreds of millions a year for their "inventions" on paper from those actually building things we want to buy.

[https://www.forbes.com/sites/ewanspence/2015/11/01/microsoft...](https://www.forbes.com/sites/ewanspence/2015/11/01/microsoft- android-patent-income/#74d9f7195c6c)

Both stevelord and I had a few more examples at the link below where we last discussed it:

[https://lobste.rs/s/zknzmj/microsoft_acquire_github_for_7_5_...](https://lobste.rs/s/zknzmj/microsoft_acquire_github_for_7_5_billion#c_yskzgz)

EDIT: In case anyone wonders, I was hoping a company like Red Hat acquired them. One that is a bit less evil with more incentive to keep high investments in FOSS. Given the numbers involved, one can't hope for much more.

</comment><comment><USER32> People relax. If M$ really does go Weyland-Yutani on us with GitHub we'll just move to another git hosting service and they'll be out 7.5B. Unfortunately for them as a company they need costumers to exist, and we are those costumers, so, we just have to keep an eye out for shady stuff and act on them. Like always.

</comment><comment><USER33> Microsoft is on the board of the Linux Foundation and a Platinum sponsor. Nothing the Linux Foundation says about Microsoft can be truly objective.

I find this article distasteful and lacking integrity.

</comment><comment><USER34> Ahh yes, Jim Zemlin the man that famously Attends Linux conference using a apple mac Computer and not Linux.... (am sure that will soon be replaced with the Surface running Windows 10 with the "Linux Subsystem" ...)

The Linux Foundation... the Business Organization that rejected the individuals of the community and focus solely on its corporate sponsors one of the largest being Microsoft

It is not shocking that the Linux Foundation supports their Corporate Master Microsoft in their acquisition of Github.. To do otherwise would cost them many many thousands of dollars

</comment><comment><USER35> Question: Who works on Windows NT / low level hardware / kernel at Microsoft? Is this something they still hire for?

<comment><USER36> Talk to the wsl team on guthub, they are part of the larger kernel team

</comment></comment><comment><USER37> (previously asked and unanswered)

If you want to develop software for Microsoft's Linux distro/kernel (Azure Sphere for IoT), it appears you must use Windows 10 + Visual Studio, [https://seeedstudio.com/productDetail/3052](https://seeedstudio.com/productDetail/3052) & [https://azure.microsoft.com/en-us/blog/developing-an- azure-s...](https://azure.microsoft.com/en-us/blog/developing-an-azure-sphere- experience-with-visual-studio/)

 _> To use MT3620 Dev Board for Azure Sphere, you'll need a Windows 10 PC with the latest Windows Updates, along with the Visual Studio Tools for Azure Sphere (which will be available for download from Microsoft). These tools will include application templates, development tools and the Azure Sphere software development kit (SDK)._

Can someone clarify if Windows 10 will be a hard requirement to use the Microsoft Azure Sphere Linux SDK for IoT/embedded boards?

<comment><USER15> Does feel a bit off-topic for the discussion at hand. Unfortunately, I can't help clarify, sorry

<comment><USER37> A question about mandating Microsoft Windows to develop Microsoft Linux apps is off-topic on a Linux Foundation article about Microsoft?

<comment><USER38> > Linux Foundation article about Microsoft

*About Microsoft buying Github.

Yes, most definitely.

<comment><USER37> Github hosts many open-source Linux embedded projects that are optimized for Linux toolchains, not Visual Studio.</comment></comment></comment></comment></comment>


Show HN: Editor.js – the new open-source editor with clean JSON output - <AUTHOR> https://codex.so/editor <comment><AUTHOR> Hi!

We have been working on this project more than three years. Several large media projects help us to test and debug the Editor, to make its core more stable. At the same time we significantly improved the API.

Editor.js key features:

\- Block-styled

\- Clean data output

\- API pluggable

\- Open source

What does it mean «block-styled»

In other editors the workspace is provided by single contenteditable element in where you can create different HTML markup.

Editor.js workspace consists of separate Blocks: paragraphs, headings, images, lists, quotes, etc. Each of them is an independent contenteditable element (or more complex structure) provided by Plugin and united by Editor's Core.

At the same time, most useful features as arrow-navigation, copy & paste, cross block selection and others works almost as in the familiar editors.

About clean data

As you can see on the last screen, there are clean JSON output: list of structural Blocks with their content description.

You can use this data to easy render in Web, native mobile/desktop application, pass to Audio Readers, create templates for Facebook Instant Articles, AMP, RSS, create chat-bots and many other.

Also, clean data can be useful for backend processing: sanitizing, validation, injecting an advertising or other stuff, extracting Headings, make covers for social networks from Image Blocks and other.

About API

A key value of the Editor is the API. All main functional units of the Editor.js — Blocks, Inline Formatting Tools, Block Tunes — are provided by external plugins that uses simple and powerful API.

Editor.js is more than just an editor. It is a new born open-source community of developers and contributors.

Anyone can create new cool API features and plugins. Thanks for your interest.

Hope you enjoy Editor.js.

Peter Savchenko, CodeX

<comment><USER2> Does it support collaborative editing?

<comment><AUTHOR> Currently does not. But we really want and need this feature. It can be created in near future.</comment></comment></comment>


Ask HN: Simple but modern Python dev set-up? - <AUTHOR> Looking to do Django and Flask dev. I want something between using the system Python and a complex tool that manages many different versions.
I've heard good things about poetry, but what about actual Python? Is the homebrew (macOS) Python 3.x good enough?
Thanks! <comment><USER2> Start out with just pyenv. It's not complicated and helps a lot if you don't want system-wide updates to mess with your virtual environments (you don't). Even though pip may not be ideal, it works well enough. So far, more advanced alternatives for me created at least as many problems as they supposedly solved. See for yourself what issues you'll have (if any) and then pick the tools that solve them best. The editor/IDE is a personal thing. PyCharm is popular, but I never felt much chemistry with it. Currently enjoying VSCodium with the Python plugin. It will suggest to install some more packages for things like linting. Consider throwing in mypy. All that should get you pretty far. Better to start lean and build it out later, as needed.

<comment><USER3> Yep.

What was most important to me was predictable builds and you can roughly accomplish this by using pip-compile:

pip-compile -n --generate-hashes requirements.txt 2> requirements-compiled.txt

Update this and commit to your repository whenever you add a new project. It keeps track of the hashes that each package uses which isn't perfect but is a good stop-gap. Then install packages using requirements-compiled.txt only.

Other pure pip/python suggestion welcomed!

</comment></comment><comment><USER4> My $0.02

\--

1\. Download python3.8 (if you're on a Mac, just use brew install python3.8)

Now you have a virtualenv via `python3.8 -m venv`

Didn't have to install _any_ dependencies. This is clean.

From there just use your favorite editor (Sublime, VS Code, Vim, etc) and you're good to go.

A lot of other recommendations are saying install some other slightly more complicated things that you _absolutely do not need_. If you're doing standard Python dev, you literally just need a virtual environment and an editor.

</comment><comment><USER5> Any virtual environment will take precedence over either the system or homebrew Python. Since you want to deal with multiple versions (or Python? Or Django/Flask? Both?) you'll definitely be wanting some kind of isolated environment. It's nice to have Homebrew as a base since it'll be more recent than the system install, but it doesn't make a difference.

Miniconda/conda is pretty good. It's a lot more stable than it used to be. I use a plain old venv to run Django on a production server.

Poetry is good for packaging, I've not tried it as a virtual environment manager. It seems more fiddly to me than just running `conda create -n blah python=3.8; conda activate blah`. Sometimes I just want a system-wide "good" environment and Poetry's more suited to single folder/project configurations that you might eventually want to release as a standalone package (I may be wrong here). For easy publishing to PyPI though, Poetry is great.

</comment><comment><USER6> Venv is the simplest - it comes in the Python standard library and gives you the basic tools to manage virtual environments. You can start with it and see how far it gets you. If you need to manage multiple _versions_ of Python then try pyenv or conda.

<comment><USER7> Venv can fairly easily manage multiple python versions too. Just run "pythonX.Y -m venv" instead of "python venv" and it'll create a venv for the specified python version.

<comment><USER6> How so? If there is no pythonX.Y on path nothing will happen.

<comment><USER7> Installing any arbitrary python version is a rather simple affair on most platforms. On windows you simply run another installer, and on linux you can usually install a package for a specific version. Once you've got the right python version somewhere on your system you can start creating venvs.

Of course there are tools out there which will automagically download the right python version when creating a venv but in my opinion that's neither easier nor harder.

</comment></comment></comment></comment><comment><USER8> I plan on trying [https://jacobian.org/2019/nov/11/python- environment-2020/](https://jacobian.org/2019/nov/11/python-environment-2020/) which uses pyenv and poetry.

</comment><comment><USER9> pyenv, pyenv virtualenv (built-in to pyenv) and pip.

\- Install pyenv (curl [https://pyenv.run](https://pyenv.run) | bash)

\- Install python version(s) with pyenv (pyenv install 3.7.3)

\- Create virtualenv with pyenv virtualenv. (pyenv virtualenv <version> <name- to-give-it>)

\- Create a directory with the same name (mkdir <name-to-give-it>)

\- cd into it and do pyenv local <name-to-give-it> for auto activating virtualenvs.

\- Install packages with pip.

This isn't the most elegant solution available, but it keeps everything nice and segregated.

 __edited to add clarity

</comment><comment><USER10> Has your current Python development setup failed you yet? Are Python versions preventing you from producing useful software? Are you looking to explore and experiment with setups, or is shipping useful software what counts?

"The Hitchhiker's Guide to Python"[^1] does a tour of the tools that would be very useful. Virtual environments, testing, frameworks, etc.

[^1]: [https://docs.python-guide.org/](https://docs.python-guide.org/)

<comment><USER11> That sounds like the ultimate salesman wanketeering & I love it.

<comment><USER10> There was a phrase after the questiona inviting OP not to solve problems they don't have, as worrying about setup before building is a dead giveaway for procrastination. Let me just spend two months figuring out the perfect standing desk, two months fingering oipeoof water cooled stations, and a year mastering an editor.

I couldn't leave it at that and added one resource recommendation. Then I removed the part in the middle, and the result of removing that is straight out of an infomercial.

</comment></comment></comment><comment><USER12> I follow this guide[1] every time I need to setup python from scratch.

[1] [https://medium.com/@henriquebastos/the-definitive-guide- to-s...](https://medium.com/@henriquebastos/the-definitive-guide-to-setup-my- python-workspace-628d68552e14)

</comment><comment><USER13> PyCharm, IPython and Jupyter make writing, testing and debugging Python tolerable. Packaging has always been a pain no matter what you use, but just try to avoid pipenv.

Homebrew or XCode updates seemed to nuke my virtualenvs on macOS, whereas I've been able to use the same virtualenvs on Linux for half of a decade.

</comment><comment><USER14> I use conda through miniconda. It comes with great support for reproducible virtual environments.

</comment><comment><USER15> Virtualenv / virtualenv wrapper is what I've been using for years. I tried PyEnv at one point, didn't care for it. Sublime Text for editor, Sublime REPL plugin is nice.

<comment><USER16> Def need a REPL. Sounds dumb, I'm sure. But I've only realized this recently. Interactive speed and instant feedback can make all the difference. It's only a few seconds saved, but at every iteration. Whew! Forgetabout it.

</comment></comment><comment><USER17> My workflow is latest Python 3 installed through Homebrew, then pyenv and pyenv-virtualenv on top. Projects each get their own Python version and virtualenv independent of the Homebrew Python.

</comment><comment><USER18> pyenv and pyenv-virtualenv

</comment><comment><USER19> Homebrew python3 and no virtual environments. pip install —-user works great and keeps things simple.

</comment><comment><USER20> Just use Pycharm</comment>