hacker news with inline top comments    .. more ..    24 Jul 2017 Ask
home   ask   best   2 months ago   
Ask HN: HNers who got their Show HNs on homepage, how is your site doing now?
122 points by superasn  4 hours ago   73 comments top 44
espitia 0 minutes ago 0 replies      
1124 days ago I submitted my first app - Habit Streaks.

Over time I got 60k+ downloads and sold it for $8.5k :)!

Original link: https://news.ycombinator.com/item?id=7950866Story: http://www.germanespitia.com/habit-streaks

iambrakes 1 minute ago 0 replies      
I released SoundKit (soundkit.io), a library of UI sounds a few years back. At the time, there weren't really people marketing sounds for UI, so people were interested in discussing. I learned a lot from the feedback (some good, some bad) and saw a lot of traffic in the first few weeks from it.

I still get a regular stream of traffic now, and there are tons of others making sounds for UI. So, hopefully it helped kickstart that market a little.

I'm in the process of creating a second set of sounds now to try and keep the interest alive.

Original Posthttps://news.ycombinator.com/item?id=8527861

rwieruch 48 minutes ago 0 replies      
222 Days Ago - Show HN: The Road to learn React Build a Hacker News App on the Way [0]

The book [1] was downloaded by 9600+ people by now. It is an open source book that gets continuously improved. You build an application along the way and transition smoothly from JavaScript ES5 to JavaScript ES6. It teaches the fundamentals of React without any tooling or Redux. Afterward you are ready to go to build your own React applications.

- [0] https://news.ycombinator.com/item?id=13170837

- [1] https://www.robinwieruch.de/the-road-to-learn-react/

endymi0n 6 minutes ago 0 replies      
899 days ago - Show HN: JustWatch Choose your favorite streaming providers and see whats new

By now largest streaming search engine in the world at Alexa/Similarweb Top ~#4700 global with around 12 million unique visits per month. Not too shabby all around.

Launch post: https://news.ycombinator.com/item?id=9005641

bwang29 3 hours ago 2 replies      
Submitted my Show HN 1075 days ago (https://photoeditor.polarr.co/), for a WebGL photo editing tool, now has turned into a startup with more than 10M users.
jastr 1 hour ago 0 replies      
CSV Explorer, 4 months ago (https://news.ycombinator.com/item?id=14043527). It's a tool to open CSVs that are too big for Excel. It hit the homepage, but many comments were "I would never trust my data in the cloud" or "Why doesn't everyone use Python/Pandas/SQL".

Paying customers now include consultants, journalists, realtors, insurance companies, and others! There are few developers who use it because it saves them time, but they're the exception.

errozero 41 minutes ago 0 replies      
I submitted my Acid Machine site in 2015, it's a web based synth and drum machine app. I didn't expect much to happen, just wanted to get a bit of feedback. It ended up featuring on a few high profile music sites and for the next week it got 70,000 users a day. I didn't post it anywhere else so it all originated from HN in some way.

Since then I have released version 2 which has the ability to add fx to the instruments, use MIDI devices and lots more. It gets a few sales a week with traffic still coming from those music sites.


wheresvic1 10 minutes ago 0 replies      
I recently had my Show HN make it to the front page: https://ewolo.fitness/

It was up for a nice 24 hours and while I got a huge amount of traffic (10,000 page views) it resulted in only 100 accounts.

I'm not giving up though - I'm still constantly improving it and it has come quite far since the first Show HN version :)

gkoberger 2 hours ago 1 reply      
Great! I launched ReadMe 2.5 years ago as a Show HN (https://news.ycombinator.com/item?id=8422408), then did a Product Hunt launch (https://blog.readme.io/product-hunter-becomes-the-hunted/), and got into YC a few weeks later. Having a good launch was something we could point VCs to.

We got some awesome customers (including some big names) from our HN launch, and it kickstarted out growth. If I remember correctly, we finished out the week at about $4k MRR... nothing compared to now, but at the time it felt awesome to be making money.

We've come a long way since then, but our Show HN was a great way to kick things off!

westoncb 3 hours ago 1 reply      
I messed up my wrists from typing/mousing too much a number of years ago, so I spent a couple years working at a grocery store while building a new kind of text editor meant for efficiently writing code with motion sensors (e.g. Leap Motion, Kinect). It made it to the front page here, which was an interesting experience, but my end game with the project was basically, "get far enough, post to HN and the world will see how cool this is, and somehow you'll be able to continue working on it"and that did not materialize.

Project: http://symbolflux.com/projects/tiledtext [video]

Original Show HN: https://news.ycombinator.com/item?id=5306155

bbx 3 hours ago 3 replies      
I had 3 of my "Show HN" hit the front page. I have stats about 2 of them. They had a huge spike at the start, but the current traffic is more correlated with SEO and backlinks rather than the initial influx of visitors.

My actual most visited website is one that has hit the front page, but not because of my "Show HN".

[1] http://jgthms.com/web-design-in-4-minutes/

[2] http://cssreference.io/

[3] http://htmlreference.io/

[4] http://bulma.io/

archildress 3 hours ago 0 replies      
A project I'm working on, Gridmaster, hit the frontpage of HN back in November. The traffic and mailing list signups were nice, but the product feedback we got was way more valuable.

It helped us realize that a web-based version of our "CodeAcademy for Excel" product wasn't going to cut it. We built an integrated version that actually lives inside of Excel and won a contest with Microsoft.

I talk a little more about what happened here:


mmathias 49 minutes ago 0 replies      
My project "UrlRoulette" was on the HN homepage for about 24 hours. I received a huge traffic spike at the start. Since then traffic came from other sources such as Reddit, some blog posts and articles that were written - and of course some search engines. After being on HN, UrlRoulette was featured in the german C'T magazine and received a lot of traffic from their website and their print edition. Also, being featured on some more sites certainly helped pushing the site's page rank on Google.

The project: https://urlroulette.net/

I actually wrote a post about being on the HN front page: https://hackernoon.com/urlroulette-24-hours-on-hacker-news-e...

soheil 11 minutes ago 0 replies      
We got netin.co on the front page a few months ago. The post was about hiring a team as opposed to individual candidates. We are still doing well, although don't expect the visibility to have a long term effect. Think of it more as a sugar rush without the crash, no pun intended.
llamataboot 1 hour ago 0 replies      
My very first side project, a real-time API for the World Cup built on a scraper, went to the frontpage. Obviously it hasn't seen as much traffic since then as it was a very time limited thing, but it was fun to have a side project on the front page.


I submitted a Show HN the other day for a natural language chatbot that gives harm reduction info about drugs and it pretty much went nowhere fast. Got way more traffic from being on the front page of reddit r/drugs (and arguably a more useful demographic)


To the people asking, I definitely think there is a high amount of luck getting anything on the front page of HN. Just has to be right time, right place, but it's inspiring to read about people who have seen their businesses launch, in part, from that brief exposure.

ransom1538 14 minutes ago 0 replies      
Submitted a week ago or so: https://www.opendoctor.io/opioid/highest/

When it was first posted it hit front page, then hit reddit, melted my machine. I started moving to static files, but not in time! HN removed it from the homepage.

kamranahmed_se 40 minutes ago 1 reply      
I had about five of my submissions hit the front page. All of them were mostly projects on github and articles on my blog. For how they helped me:

- They got me around ~3000 subscribers for hugobots.com which I have been promoting through my repositories (it would have been much more; unfortunately, I forgot to put the link on the first day while the repository was on the first page. I put it on the third day and the emails that I got were mostly from the traffic from the people sharing the post on twitter/facebook/reddit etc)

- One of the project (developer roadmap) got me two sponsors paying me around ~1000$ each every 6 months for just putting their links in the project readme.

- Follower count on my github profile was around ~100 at that time; now it is about 2.3k

- Had been approached for freelancing gigs and was able to make connections.






titel 1 hour ago 5 replies      
Submitted a Show HN two days ago: https://news.ycombinator.com/item?id=14822897

Not even one upvote though. Do any of these posts get on the homepage organically?

LE: 2nd (and last) try: https://news.ycombinator.com/item?id=14841172

sv123 2 hours ago 0 replies      
My show HN was posted 2555 days ago (https://news.ycombinator.com/item?id=1548584), roughly one month after the site was launched.

Led to a large traffic spike, and attention from a company that would acquire it roughly 18 months later. The team has grown from 3 to 100+, with over 1m registered users. Although the domain has changed and it looks like nobody bothered to keep the original registered ()

git-pull 1 hour ago 0 replies      
The Tao of tmux (https://leanpub.com/the-tao-of-tmux) gained initial exposure and eventually became highly cited throughout the tmux community.

It's also available to read for free online (https://leanpub.com/the-tao-of-tmux/read).

tmuxp (https://tmuxp.git-pull.com), a tmux session manager, gained over 1k stars over the years.

vcspull (https://vcspull.git-pull.com), a repo sync tool, compare to myrepos. Received a lot of valuable feedback on documentation that I ported to other projects.

dangrossman 42 minutes ago 0 replies      
1. Show HN: HN Replies Get notified of replies to your comments ( http://hnreplies.com )

933 HN users are signed up and have received 38109 email notifications so far.

Comments: https://news.ycombinator.com/item?id=11080539

Stats: https://www.w3counter.com/stats/98986/dashboard


2. Show HN: A date range picker for Twitter Bootstrap ( http://daterangepicker.com )

5-year-old open source code that averages 3000 visits per day and 750 git clones per day.

Comments: https://news.ycombinator.com/item?id=4408070

Stats: https://www.w3counter.com/stats/90840/dashboard

welder 2 hours ago 0 replies      
Project 1: https://wakatime.com/

Show HN Link: https://news.ycombinator.com/item?id=6046227

Status: Still growing, almost 100k users, vibrant leaderboards

Project 2: CLMapper Chrome Extension (https://chrome.google.com/webstore/detail/clmapper/omonmigal...)

Show HN Link: https://news.ycombinator.com/item?id=4324884

Status: Unmaintained. Reached peak of over 4k users, now under 2k and decreasing

oldboyFX 34 minutes ago 1 reply      
995 Days Ago - Show HN: A database for browsing and discovering movies (https://news.ycombinator.com/item?id=8547351)

It was on the homepage for around 24 hours I think. We had ~500,000 unique sessions during the first month after the launch. Hacker News played a big part in that.

We stopped actively working on the project, but it's still being used by more than 100,000 people every month.

I wrote a little case study about the whole thing here - http://codetree.co/case-studies/movieo

rsoto 1 hour ago 0 replies      
Not exactly the home page, but PullToRefresh.js[1] was on HN's front page last december and since we've basically doubled our traffic, altough sales haven't been affected by it, since we are offering a product only for Mexico.

Besides the traffic increase, the repo trended on Github and now we have +1,400 stars.

1: https://www.boxfactura.com/pulltorefresh.js/

makaimc 3 hours ago 1 reply      
My open source side project Full Stack Python (https://www.fullstackpython.com/) hit front page over July 4th weekend in 2014 (https://news.ycombinator.com/item?id=7985692). I've continued to write and grow the site from ~5k users per month to over 100k/month now.

The traffic bump and feedback was motivating and helpful to know I was on the right track with my content. I also learned there are some comments you just need to ignore and focus on your own vision :)

edit: my traffic was lower than I originally remembered, it was ~5k per month, not 25k in mid-2014

taxicabjesus 2 hours ago 0 replies      
Show HN: Taxi Wars Stories from the front line - https://news.ycombinator.com/item?id=12193273 (359 days ago - HN submission links directly to http://taxiwars.org/)

tl/dr: HN provided a nice boost, but websites don't grow if you don't feed them.

Backstory: ~5 years ago I started driving a taxi, for fun & adventure & freedom. And to support myself, while trying to figure out how to finish recovering from a head injury [1]. After 8 days I made an account on kuro5hin.org (k5) & started blogging about my experiences.

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

At first I was just trolling k5 user "Zombie Jesus Christ", who had grand ambitions to help people, but was handicapped by a history of mercury poisoning -> mental illness. My point in being 'TaxiCabJesus' on k5 was to show that it's the little things that count. After a 3.5 years I'd learned a lot about what people actually experience (which I hadn't appreciated due to my upper-middle-class upbringing), and was forced into retiring from the taxi driving gig...

One day kuro5hin.org went away. K5's absentee founder Rusty hadn't prepared for a datacenter move, and the site was lost. I posted in HN submission RIP kuro5hin that my story "Electronic Taxi Dispatch, v1.0" was last to post [2], and one of you responded that you appreciated my k5 submissions & encouraged me to re-post them at a site of my own.

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

I still intend to write a Taxi Wars trilogy: A New Hope, The Vultures Strike Back, and Return of the Drivers. I also have some other stories to tell. Retrospectively I realized that I was learning about the various 'predicaments' that people find themselves experiencing. Draft titles include:

The Predicament of 'old people' / Ordinary Rendition: The Public Servants' Quagmire / the predicaments of doctors and patients

I joined Toastmasters several months ago. Recently I gave a speech that's based the 'predicaments of doctors and patients'. It went over pretty well, which was motivation to work on my little site...

nikivi 1 hour ago 0 replies      
We submitted our search engine a few days ago (https://learn-anything.xyz/) and it has been pretty well received. We got quite a bit of valuable feedback on it which we used in turn to improve the engine.

Here is the HN post :


garysieling 1 hour ago 0 replies      
My site gets 50-100 users a day (https://www.findlectures.com). I got a ton of great feedback, which I'm slowly working through, e.g. bug reports, requests for more content, and one $20 sponsorship. I've also got a conference talk coming up at a Solr conference in September.

I have just under 900 people signed up for an email list of hand-picked talk recommendations - about 200 of these were from HN, and a couple people sign up every day.

Based on the feedback I got, I'm working on an add-on to send email alerts with talks based on people's interests (if you want in, contact me, I need a few beta users)

abhas9 3 hours ago 0 replies      
My Show HN (https://news.ycombinator.com/item?id=14782936) made it to the front page 7 days ago and stayed there for a couple of hours. We got 70 downloads and some very good feedback.

We are consistently getting a good rating in Play Store [1] and thanks to HN we now have around 50 daily active users playing 75-100 games. Meanwhile, we are developing the features that were suggested in the comments and we felt are required.

[1] https://play.google.com/store/apps/details?id=com.buildmyvoc... - Two-Player Vocabulary Game

austincheney 2 hours ago 0 replies      
Project: http://prettydiff.com/guide/unrelated_diff.xhtml

Show HN Link: https://news.ycombinator.com/item?id=13983085

Summary: A new diff algorithm

Result: About 50,000 visits to the web site, which then averaged about 1000 visits a day. Not much repeat traffic from those visits, but the daily traffic is now about 1200 visits a day.

dmjio 3 hours ago 0 replies      
Project: https://haskell-miso.org, https://github.com/dmjio/miso

Synopsis: Elm arch. in Haskell, but supports isomorphic js

Show HN link: https://news.ycombinator.com/item?id=14685677

Status: Still kickin', ~17k views, top 15 repo globally on GH (for a day)

ThomPete 2 hours ago 2 replies      
I submitted 4 which all got on the frontpage.


I still make good money on Ghostnote and is working on new features plus a new SAAS service.


This one is alive but not really active. Around 8K users on a mailing list. If anyone want to take over this project pm me.



This was fun to do but just a project we did for fun.

Scirra_Tom 2 hours ago 0 replies      
Construct 3 - Game editor in the browser:



Subscribers increasing slowly but steadily. ShowHN didn't lead to any direct sales as far as our reporting shows but doing a "ShowHN" is something of an internal milestone for us and the comments have been interesting a good motivational boost. Hopefully have more to Show HN in the future!

vivekseth 3 hours ago 0 replies      
What kinds of Show HNs are you asking about? What do you mean by how is a site doing?

My Show HN (https://news.ycombinator.com/item?id=14778497) made it to the homepage, but I don't think its what you're asking about. My site is just a personal site with random content so its no different than before my post.

adzicg 3 hours ago 0 replies      
Two things my team announced on Show HN appeared on the home page for a day or so.

MindMup (https://www.mindmup.com), an online mind mapping tool appeared in 2013, and got a nice traffic bump that day, it took about two years to reach that level of regular traffic. the site now gets between 400 and 500k visits monthly during busy school periods (seems to be mostly used by educational users), and grows around 5% per month.

ClaudiaJS (https://claudiajs.com) is an open source tool that helps deploy Node.js projects to AWS Lambda and API Gateway easily. Originally built for MindMup, we decided to spin it off as a separate open source tool. It appeared on HN about a year ago, and according to NPM stats now has roughly 85K downloads.

chuhnk 1 hour ago 0 replies      
Project evolved from a small framework with a couple hundred stars to something now used by a number of billion dollar enterprise companies. Still a long road ahead.


aml183 3 hours ago 0 replies      
We closed. Company was called Koalah.
mcjiggerlog 1 hour ago 0 replies      
Artpip was on the front page for a while 3 weeks ago [1].

I had around a 30% increase in users and around $500 in sales over the following couple of weeks, which was pretty great.

krptos 2 hours ago 0 replies      
My Show HN (https://news.ycombinator.com/item?id=13857137) HexoPress earned 200 signups in a span of couple of days.

The traffic spike, remained a spike and didn't continue long. But it gained a few regular users. I run my own blog with HexoPress (http://hexopress.com).

StriverGuy 2 hours ago 0 replies      

Posted in November 2016. Got a ton of traffic for about three days (~20k users/day). Now DAU is around 10-15. More a side-project type site, never was intended as a business.

grimmdude 2 hours ago 0 replies      
Submitted MidiWriterJS about a year and a half ago (https://github.com/grimmdude/MidiWriterJS). I think the majority of the stars and usage it gets came because of that.
herbst 2 hours ago 0 replies      
I had a few i think. One for example ascii.li which front paged twice. It's just a stupid content site so traffic died again but for a week or more I got thousands of users and plenty backlinks.
cantbecool 2 hours ago 0 replies      
I posted http://moviemagnet.co (movie torrent search engine) awhile back, it was removed from Google search results and still receive a steady 2k+ visitors a day.
dang 1 hour ago 2 replies      
I've been meaning to publish the tips that we send to people who email us asking for Show HN advice. Anybody want to add anything? or see anything incorrect?


Read https://news.ycombinator.com/showhn.html. Point users to something they can try out for themselves. Don't require signups or permissions that aren't obviously needed. Avoid popups. Avoid overly slick website design and (especially) marketing language: HN users tune all that out and in fact it hurts you. Text and text-based layouts are good. Information density is good. Avoid super-large fonts and excessive pictures, they make you look lightweight. Put intellectually interesting details up front. If you're launching a company, corporate branding is fine; otherwise it's a negative, so tune it down.

Add a first comment to the thread with the backstory of how you came to work on this and explaining what's different about it. This tends to seed better discussion.

Make it easy to tell what the product/project is; otherwise the discussion will consist of "I can't tell what this is". Link to any relevant past threads.

Your primary mission is to engage intellectual curiosity. If you try to sell HN readers on your stuff, you'll evoke objections. Engage their curiosity and they will sell themselves.

Mention areas you'd like feedback about or open questions. Surprising or whimsical things that came up during the work are also good--they are unpredictable and that makes them interesting.

A little humor is ok; more than a little feels presumptuous. Don't be chummy, just answer straightforwardly. Don't address other users by their usernames (it's not the convention on HN and feels out of place). Don't introduce yourself more than once.

Don't say nice things about yourself or your work. It invites comeuppance. Instead, be humble or even mildly self-critical; then readers will look for nice things to say, and even when finding fault, won't make as big a deal about it.

Don't ask for upvotes. Our software ignores most promo-votes, plus HN users notice them and get mad. Especially make sure that your friends don't post booster comments or softball questions. HN users sniff that out a mile away and then we have to kill the thread.

Email us a link to your submission when it's up and we might be able to give you some help or make sure it doesn't get flagged.


This originated as advice for YC startups but I always liked the pg/yc tradition of giving the same advice to everybody.

Ask HN: Best-architected open-source business applications worth studying?
258 points by ghosthamlet  14 hours ago   73 comments top 31
berns 6 hours ago 3 replies      
Meta: So far (23 top level answers) we have: Nginx, Git, Guava, Photoshop (?!), Discourse, OpenBSD (and: other BSDs, Plan9, BSD tools, Linux, LLVM/Clang, WebKit, Chrome, Firefox, Quake 1-3, Doom 3, CPython, TensorFlow), Hashicorp's tools, Redis, Mysql, Postgresql, Apache HTTP server.

Wasn't the question about business applications?

Redeeming answers: ERPNext, Odoo, OpenERP, OpenERM

elorm 13 hours ago 3 replies      
Nginx and Git.

Nginx has a lot of respect on the market for handling high concurrency as well as exhibiting high performance and efficiency.

I don't even have to speak about the Git architecture. It speaks plainly for itself.

There's a series of books called The Architecture of Open Source Applications that does justice to this topic


rushabh 8 hours ago 0 replies      
Checkout ERPNext (https://GitHub.com/frappe/erpnext). It is based on a metadata framework (Frappe) that lets you build by configuration, so complexity can be handled much better.

Frappe also lets you build extensions (apps), add hooks to standard events, has a built in RESTAPI and more. Here is a quick overview https://www.slideshare.net/mobile/rushabh_mehta/frapp-framew...

Disclaimer: see my bio

yodon 14 hours ago 3 replies      
There's been a good deal of academic work on architectural differences between open source and closed source applications (basically resulting from the differences in the organizational structures that designed/built/grew them ala Conway's Law). Observations for example include reports that closed source applications tend to have more large scale API classes/layers, because there is a management structure in the designing organization that can herd them into existence, while open source projects of the same size and complexity tend to have a less centralized architecture, again reflecting the organizing characteristics of the developers involved[0].

None of this is arguing that one or the other style of architecture is "better" per se, but rather the architectures are different because they were in the end optimized for different kinds of development organizations.

Most business applications remain fundamentally a three-tiered architecture, with the interesting stuff today tending to happen in how you slice that up into microservices, how you manage the front end views (PHP and static web apps are pretty different evolutionary branches), and critically how you orchestrate the release and synchronization/discovery of all those microservices.

(None of which is directly an answer to your question, but is more meant to say that lots of the most interesting stuff is getting harder to spot in a conventional github repository because much of it is moving much closer to the ops side of devOps)

[0] http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e5...

ctrlrsf 5 hours ago 0 replies      
For an OSS business application, Rundeck (http://rundeck.org/) is very polished and has a clean architecture. The concepts for setting up jobs, schedules, ACLs, etc, is clearly thought out and flexible.
jph 14 hours ago 1 reply      
Spree is an open source e-commerce solution. IMHO has good architecture for learning.

Spree has a clean API, clear models, front end and back end, extensions, and command line tools.


Especially take a look at the models:


neves 8 hours ago 0 replies      
There is a nice site site about this subject:The Architecture of Open Source Applicationshttp://aosabook.org/en/index.html
pixelmonkey 4 hours ago 2 replies      
One of my favorite "open source architecture" essays is on Graphite:


It's part of the book, "Architecture of Open Source Applications", which has many such essays. This one is freely available -- and quite good.

Graphite is used for the business purpose of simple & fast real-time analytics for custom metrics inside an organization. It was built inside Orbitz and is now widely used at many startups, including my own.

Graphite is now a vibrant open source project with a community around it here:


austinl 3 hours ago 0 replies      
For iOS engineers, I'd recommend reading over the Kickstarter iOS application (https://github.com/kickstarter/ios-oss).

They use a lot of interesting stuff, like FRP, lenses, etc.

nXqd 13 hours ago 1 reply      
dustingetz 5 hours ago 0 replies      
http://www.aosabook.org/ - I actually did not get much out of this book, i felt my time was more efficiently spent studying languages and databases.

But this chapter is great: http://www.aosabook.org/en/500L/an-archaeology-inspired-data...

taude 7 hours ago 0 replies      
By business app, I'm interpreting as something that might be a a basis for writing an enterprise application or an application that might be used by enterprise and not the infrastructure-type of stuff I see posted below like NGINX, Git, etc...

Something that's expandable by multiple departments, expandable business-specific logic, modular, plug-in infrastructure, the ability to work with multiple authentication schemes, etc....

Take a look at Liferay Portal: https://github.com/liferay/liferay-portal/

Edit: fixed all my typos.

bradgnar 4 hours ago 0 replies      
Applications dont really need to be well architected until they are hitting scale. Then the parts of their system that need to relieve pressure will need to be re-architected. This is almost like a case study and there are a lot of good talks on youtube from places like dropbox and facebook that explain the problem and solution. Example: https://www.youtube.com/watch?v=PE4gwstWhmc

If you dont want to do youtube case studies there are also books to read about distributed systems. Also reading about cloud architecture can help.

albertzeyer 12 hours ago 2 replies      
I'm not exactly sure what is meant by business. Commercial successful?

Anyway, here are some projects which I can recommend by its source code:

* OpenBSD. Also the other BSDs. Plan9. And the BSD tools. Linux is a bit bloated but maybe it has to be. I don't recommend the GNU tools.

* LLVM/Clang.

* WebKit. Also Chrome. Firefox not so much, although maybe it improved.

* Quake 1-3, as well as other earlier id games. Really elegant and clean. Also not that big in total. Doom 3 has become much bigger in comparison but again maybe it has to be.

* CPython. Anyway interesting also for educational purpose.

* TensorFlow. Very much not Theano.

I really enjoy reading the source code of most projects which I used at some point. Some code is nicer, some not so nice, mostly judged by how easy it is to understand and how elegant it seems to be. In any case it really is rewarding to look at it as you will gain a much better understanding of the software and often you will also learn something new.

Top19 14 hours ago 0 replies      
Two I am familiar with are OpenERP and OpenEMR.

OpenERP, now Odoo, is written in Python.

OpenEMR is written in PHP. It dates from a while ago, but has been mostly updated to the latest PSR standards.

Might also try OrangeHCM, but not sure what those guys are doing these days.

scarface74 8 hours ago 0 replies      
From a usability and installation experience, Hashicorp's tools. One very small executable for each of their products that work as the client or server, a simple command to join them in a cluster, and reasonable defaults and the ones I've used work well together.

The learning curve to go from I've never heard of them to reading about them, to installing them and using them was very small at least for Consul, Nomad, and Vault.

steedsofwar 8 hours ago 0 replies      
Amongst the other great suggestions you could also have a look at Redis (https://redis.io)
NKCSS 13 hours ago 0 replies      
As far as I know sqlite has the reputation of being great (mostly for the test coverage and sheer amount of unit tests).
kfk 4 hours ago 0 replies      
Airbnb Superset. It's not mature yet, but it's enterprisey enough and the code is clean.
rrmmedia 13 hours ago 0 replies      
Check out ERPNext written in python https://erpnext.com
slackingoff2017 6 hours ago 0 replies      
If libraries count, Google Guava has some of the most impressive code quality I've ever seen
chw9e 13 hours ago 0 replies      
Artsy has a bunch of Open Source applications that are interesting to check out, especially for those interested in mobile apps https://github.com/artsy
kawera 12 hours ago 0 replies      
PostgreSQL and Apache HTTP server.
williape 7 hours ago 0 replies      
Photoshop: http://www.computerhistory.org/atchm/adobe-photoshop-source-... Not open source but one of the most commercially successful and one of the best architected. Original source code now available via Computer History Museum.
unixhero 3 hours ago 0 replies      
I would say:


jackmott 6 hours ago 0 replies      
patwalls 7 hours ago 0 replies      
marknote 10 hours ago 0 replies      
Has anyone mentioned SQLite?
sidcool 14 hours ago 0 replies      
Shameless plug, but Bahmni and the Go CD open source projects.
alfiedotwtf 9 hours ago 0 replies      

"On January 16, 2008, MySQL AB announced that it had agreed to be acquired by Sun Microsystems for approximately $1 billion"


Edit: sorry, missed the question entirely. I thought OP said "open-source businesses worth studying"

Ask HN: In what creative ways are you using Makefiles?
70 points by kamranahmed_se  13 hours ago   71 comments top 36
mauvehaus 4 hours ago 0 replies      
Teradata contributes the Facebook open-source project Presto. Presto uses Docker to run tests against Presto. Since the tests require Hadoop to do much of anything useful, we install Hadoop in docker containers.

And we run tests on 3 flavors of Hadoop (HDP, CDH, and IOP), each of which is broken down into a flavor-base image with most of the packages installed, and various other images derived from that, which means we have a dependency chain that looks like:

base-image -> base-image-with-java -> flavor-base => several other images.

Enter make, to make sure that all of these get rebuilt in the correct order and that at the end, you have a consistent set of images.


But wait, there's more. Docker LABEL information is contained in a layer. Our LABEL data currently includes the git hash of the repo. Which means any time you commit, the LABEL data on base-with-java changes, and invalidates everything downstream. This is terrible, because downloading the hadoop packages can take a while. So I have a WIP branch that builds the images from an unlabelled layer.


As an added bonus, there's a graph target that automatically creates an image of the dependency graph of the images using graphviz.

Arguably, all of the above is a pretty serious misuse of both docker and make :-)

I can answer complaints about the sins I've committed with make, but the sins we've committed with Docker are (mostly) not my doing.

rv77ax 27 minutes ago 0 replies      
I use makefile as the library package dependency [1], maybe like what package.json was in node environment.

The idea is if you want to use the library, you just include the makefile inside your project makefile, define a TARGET values and you will automatically have tasks for build, debug, etc.

The key is a hack on .SECONDEXPANSION pragma of GNU make, which means it's only work in GNU/Linux environment.

[1] https://GitHub.com/shuLhan/libvos

Edit: ah, turn out I write some documentation about it here: http://kilabit.info/projects/libvos/doc/index.html

richardknop 10 hours ago 4 replies      
I use Makefile as a wrapper for build / test bash commands. For example I often define these targets:

- make test : run the entire test suite on local environment

- make ci : run the whole test suite (using docker compose so this can easily be executed by any CI server without having to install anything other than docker and docker-compose) and generate code coverage report, use linter tools to check code standards

- make install-deps : installs dependencies for current project

- make update-deps : will check if there is a newer version of dependencies available and install it

- make fmt : formats the code (replace spaces for tabs or vice-versa, remove additional whitespaces from beginning/end of files etc)

- make build : would compile and build a binary for current platform, I would also defined platform specific sub commands like make build-linux or make build-windows

gopalv 26 minutes ago 0 replies      
To generate 100 Terabytes of data in parallel ... on Hadoop


The shell script generates a Makefile and the Makefile runs the hadoop commands, so that the parallel dep handling is entirely handed off to Make.

This make it super easy to run 2 parallel workloads at all times - unlike xargs -P 2, this is much more friendly towards complex before/after deps and failure handling.

new299 11 hours ago 4 replies      
My favorite use was during my PhD. My thesis could be regenerated from the source data, through to creating plots with gnuplot/GRI and finally assembled from the Latex and eps files into the final pdf.

It was quite simple really, but really powerful to be able to tweak/replace a dataset hit make, and have a fully updated version of my thesis ready to go.

privong 4 hours ago 0 replies      
I use Makefiles for two components of my research:

- Compilation of papers I am writing (in LaTeX). The Makefile processes the .tex and .bib files, and produces a final pdf. Fairly simple makefile

- Creation of initial conditions for galaxy merger simulations. This I obtained from a collaborator. We do idealized galaxy merger simulations and my collaborator has developed a scheme to create galaxies with multiple dynamical components (dark matter halos, stellar disks, stellar spheroids, etc.) very near equilibrium. We have makefiles that generate galaxy models, place those galaxies on initial orbits, and then numerically evolve the system.

Figs 10 hours ago 1 reply      
I once implemented FizzBuzz in Make: https://www.reddit.com/r/programming/comments/412kqz/a_criti...

Even though Make does not have built-in support for arithmetic (as far as I know), it's possible to implement it by way of string manipulation.

I don't recommend ever doing this in production code, but it was a fun challenge!

chubot 10 hours ago 1 reply      
Not particularly creative, but I'm using it to generate this blog:

http://www.oilshell.org/blog/ (Makefile not available)

and build a Python program into a single file (stripped-down Python interpreter + embedded bytecode):


Although generally I prefer shell to Make. I just use Make for the graph, while shell has most of the logic. Although honestly Make is pretty poor at specifying a build graph.

cmcginty 2 hours ago 0 replies      
I used a Makefile for managing a large number of SSL certificates, private keys and trust stores. This was for an app that needed certs for IIS, Java, Apache and they all expect certificates to be presented in different formats.

Using a Makefile allowed someone to quickly drop in new keys/certs and have all of the output formats built in a single command. Converting and packaging a single certificate requires one or more intermediate commands and Makefile is setup to directly handle this type of workflow.

voltagex_ 8 hours ago 1 reply      
To set up my dotfiles, although I'm not in enough of a routine for it to be truly useful.

 tmux: ln -s $(CURDIR)/.tmux.conf $(HOME)/.tmux.conf tmux source-file ~/.tmux.conf reload-tmux: tmux source-file ~/.tmux.conf gitconfig: ln -s $(CURDIR)/.gitconfig $(HOME)/.gitconfig
cd ~/configs then make whatever. ~/configs itself is a git repository.

Someone 3 hours ago 0 replies      
I don't use it, but your question made me think of one: I would like to see it (mis)used as a way to bring up an operating system.

It probably will require quite a few changes, but if the /proc file system exposed running processes by name, and contained a file for each port that something listened to, one _could_ run make on that 'directory' with a makefile that describes the dependencies between components of the system.

Useful? Unlikely, as the makefile would have to describe all hardware and their dependencies, and it is quite unlikely nowadays that that is even possible (although, come to think of it, a true hacker with too much time in hand and a bit of a masochistic tendencies could probably use autotools to creative use)

grymoire1 7 hours ago 0 replies      
I've used it when I was doing a pentest - searching a network for leaks of information. I wrote dozens of shell scripts that scanned the network for .html files, then extracted URL's from them, downloaded all of the files referenced in them, and searched those files (.doc, *.pdf, etc.) for metadata that contained sensitive information. This involved eliminating redundant URL's and files, using scripts to extract information which was piped into other scripts, and a dozen different ways of extracting metadata from from various file types. I wrote a lot of scripts that where long, single-use and complicated, and I used a Makefile to document and save these so I could re-do them if there was an update, or make variations of them if I had a new ideas.
sannee 4 hours ago 0 replies      
Not something I have personal experience with, but I have heard a story about a Makefile-operated tokamak at the local university. Apparently, the operator would do something like "make shot PARA=X PARB=Y ..." and it would control the tokamak and produce the output data using a bunch of shell scripts.
INTPenis 11 hours ago 2 replies      
Not exactly creative but KISS. I use only Makefile for a C project that compiles on both Linux, BSD and Mac OS.

Point being that autoconf is often overkill for smaller C projects.

xemoka 3 hours ago 0 replies      
I haven't, but one of the cool uses that I've seen lately is how OpenResty's folks are using it for their own website, they convert markdown -> html, then with metadata to TSV, finally loading it into a postgres db. They then use OpenResty to interface with the DB etc. But all the documentation is originally authored in markdown files.

Makefile: https://github.com/openresty/openresty.org/blob/master/v2/Ma...

DanHulton 4 hours ago 0 replies      
I use Ansible for deployment and Ansible Vault for storing encrypted config files in the repo. Of course, it's always a bit of a nightmare scenario that you accidentally commit unencrypted files, right?

Well, I have "make encrypt" and "make decrypt" commands that will iterate over the files in an ".encrypted-files" file. Decrypt will also add a pre-commit hook that will reject any commit with a warning.

This is tons easier than trying to remember the ansible-vault commands, and I never have to worry about trying to remember how to permanently delete a commit from GitHub.

alexatkeplar 10 hours ago 0 replies      
Until recently we used them at Snowplow for orchestrating data processing pipelines, per this blog post:


We gradually swapped them out in favour of our own DAG-runner written in Rust, called Factotum:


natebrennand 3 hours ago 0 replies      
We use Makefile "libraries" to reduce the amount of boilerplate each of our microservices have to contain. This then allows us to change our testing practices in bulk throughout all our repos.


haspok 4 hours ago 0 replies      
https://erlang.mk/ - need I say more? :)
rrobukef 10 hours ago 0 replies      
I use it to setup my programming environment. One Makefile per project, semi-transferable to other pcs. It contains

 * a source code download, * copying IDE project files not included in the source, * creating a build folders for multiple builds (debug/release/converage/benchmark, clang & gcc), * building and installing a specific branch, * copying to a remote server for benchmark tests.

cperciva 3 hours ago 0 replies      
I have "make Makefiles", which uses BSD make logic to create portable POSIX-compliant Makefiles.
peterbraden 8 hours ago 0 replies      
I have a makefile that sets up a brand new computer with the software I need. It means I can be up and running on a new machine in a few minutes.
stephenr 11 hours ago 0 replies      
I guess it depends what you consider creative?

I use one to build my company's Debian Vagrant boxes: https://app.vagrantup.com/koalephant

I use one to build a PHP library into a .phar archive and upload it to BitBucket

My static-ish site generator can create a self-updating Makefile: https://news.ycombinator.com/item?id=14836706

I use them as a standard part of most project setup

shakna 10 hours ago 0 replies      
Lisp in make [0] is probably the most creative project I've seen. For myself, in some tightly controlled environments I've resorted to it to create a template language, as something like pandoc was forbidden. It was awful, but worked.

[0] https://github.com/kanaka/mal/tree/master/make

dvfjsdhgfv 11 hours ago 0 replies      
The main question to ask if you really need to use make. If you do, there practically no limit of what you can do with it these days, including deployment to different servers, starting containers/dedicated instances etc. But unless you are already using make or are forced to, it's better to check one of newer build systems. I personally like CMake (it actually generates Makefiles).
a3n 8 hours ago 0 replies      
Miki: Makefile Wiki https://github.com/a3n/miki

A personal wiki and resource catalog. The only thing delivered is the makefile, which uses existing tools, and a small convenience script to run it.

accatyyc 10 hours ago 0 replies      
One "creative" use is project setup. Sometimes, less technical colleagues need to run our application, and explaining git and recursive submodules takes a lot of time, so I usually create a Makefile with a "setup" target that checks out submodules and generates some required files to run the project.
Da_Blitz 10 hours ago 1 reply      
i use it to solve dependency graphs for me in my program language of choice, at the moment this involves setting up containers and container networking but i throw it at anything graph based

make seems to be easier to install/get running than the myriad of non packaged, github only projects i have found.

unmole 10 hours ago 0 replies      
Not mine but here's a Lisp interpreter written in Make: https://github.com/kanaka/mal/tree/master/make
johnny_1010 10 hours ago 0 replies      
I use makefile to gen my static website.Also my CV, latex and make works well together.
matt4077 11 hours ago 1 reply      
I'm using ruby's rake in almost every project, even when it's not ruby otherwise.

It has much of the same functionality, but I already know (and love) ruby, whereas make comes with its own syntax that isn't useful anywhere else.

You can easily create workflows, and get parallelism and caching of intermediate results for free. Even if you're not using ruby and/or rails, it's almost no work to still throw together the data model and use it for data administration as well (although the file-based semantics unfortunately do not extend to the database, something I've been meaning to try to implement).

Lately, I've been using it for machine learning data pipelines: spidering, image resizing, backups, data cleanup etc.

tripa 9 hours ago 0 replies      
I use make as a poor man's substitute for rsync (well, local rsync. Like cp -r), when I need to add some filtering in between.
tmaly 8 hours ago 0 replies      
I use it to build all my Go micro services, run test suite, compile SaSS, minify css, minify js
yabadabadoo 12 hours ago 2 replies      
I use make to pre-compile markdown into HTML for a static website.
rurban 11 hours ago 0 replies      
I'm creating a config.inc makefile during make to store config settings, analog to the config.hhttps://github.com/perl11/potion/blob/master/config.mak#L275

Instead of bloated autotools I also call a config.sh from make to fill some config.inc or config.h values, which even works fine for cross-compiling.

jmurphyau 12 hours ago 0 replies      
I use make to make things
Ask HN: What do people use to prevent crawlers?
112 points by jongi_ct  1 day ago   113 comments top 31
wrath 1 day ago 7 replies      
I've built crawlers that retrieve billions of web pages every month. We had a whole team working modifying the crawlers to resolve website changes, to reverse engineer ajax requests and solve complex problems like captcha solvers. Bottom line, if someone wants to crawl your website they will.

What you can do, however, is make it hard so that the vast majority of developers can't do it (e.g. My tech crawl billions of pages, but there was a whole team dedicated to keeping it going). If you have money to spend, there's Distill Networks or Incapsula that have good solutions. They block PhantomJS and browsers that use Selenium to navigate websites, as well as rate limit the bots.

What I found really affective that some websites do is tarpit bots. That is, slowly increase the number of seconds it takes to return the http request. So after a certain amount of request to your site it takes 30+ seconds for the bot to get the HTML back. The downside is that your web servers need to accept many more incoming connections but the benefit is you'll throttle the bots to an acceptable level.

I currently run a website that gets crawled a lot, deadheat.ca. I've written a simple algorithm that tarpits bots. I also throw a captcha every now and then when I see an IP address hits too often over a span of a few minutes. The website is not super popular and, in my case, it's pretty simple to differentiate between a human or bot.

Hope this helps...

Rjevski 1 day ago 1 reply      
Don't prevent them. The same data you let humans access for free should be accessible via bots. If you only want to give out a "reasonable" amount of data, that humans wouldn't usually exceed but bots would, then define a rate-limit that wouldn't inconvenience humans and then apply it for everyone - bot or not. That way you're discriminating based on the amount of data instead of whether it's a bot or not. It will thwart people simply paying humans to scrape the data (which would happen if you magically found a way to block bots) while not inconveniencing humans who use a bot to make their job easier while scraping a reasonable amount of data.
monodeldiablo 1 day ago 9 replies      
"How do I stop all these dinner guests from eating this lovely pie I set out on the table?"

I remember working hard on a project for a year, then releasing the data and visualizations online. I was very proud. It was very cool. Almost immediately, we saw grad students and research assistants across the globe scraping our site. I started brainstorming clever ways to fend off the scrapers with a colleague when my boss interrupted.

Him: "WTF are you doing?"

Me: "We're trying to figure out how to prevent people from scraping our data."

Him: "WTF do you want to do that for?"

Me: "Uh... to prevent them from stealing our data."

Him: "But we put it on the public Web..."

Me: "Yeah, but that data took thousands of compute hours to grind out. They're getting a valuable product for free!"

Him: "So then pull it from Web."

Me: "But then we won't get any sales from people who see that we published this new and exciting-- Oh. I see what you mean."

Him: "Yeah, just get a list of the top 20 IP addresses, figure out who's scraping, and hand it off to our sales guys. Scraping ain't free, and our prices aren't high. This is a sales tool, and it's working. Now get back to building shit to make our customers lives easier, not shittier."

Sure enough, most of the scrapers chose to pay rather than babysit web crawlers once we pointed out that our price was lower than their time cost. If your data is valuable enough to scrape, it's valuable enough to sell.

The only technological way to prevent someone crawling your website is to not put it on a publicly-facing property in the first place. If you're concerned about DoS or bandwidth charges, throttle all users. Otherwise, any attempts to restrict bots is just pissing into the wind, IMHO.

Spend your energies on generating real value. Don't engage in an arms racw you're destined to lose.

bmetz 1 day ago 2 replies      
My favorite thing was to identify bots and instead of blocking them, switch to a slightly scrambled data set to make the scrape useless but look good to the developer who stole it. It was a ton of fun as a side project. I'd also suggest you add some innocent fake data to your real site and then set up google alerts of all of the above to catch traffic. About 50% of sites would respond positively to an email when you showed them they were hosting fake data. About 90% would take my data down if that was followed up with a stronger C&D. One key is to catch them fast, while they're still a little nervous about showing off their stolen data online.
ThePhysicist 1 day ago 2 replies      
I assume you are concerned about crawlers that do not respect the robots.txt file (which is the polite way to restrict them from indexing your side, but does not provide any actual protection if crawlers chose to ignore the file). Cloudflare has a tool for doing this (now part of their core service):


There's a nice Github repo with some advice on blocking scrapers:


Finally, you could use a plugin in your Webserver to display a CAPTCHA to visitors from IP addresses that cause a lot of requests to your site.

There are many more strategies available (up to creating fake websites / content to lead crawlers astray), but the CAPTCHA solution is the most robust one. It will not be able to protect you against crawlers that use a large source IP pool to access your site though.

bad_user 1 day ago 3 replies      
The other day I've made a Chrome extension for scrapping a protected website. It worked wonderfully, as it simulated a normal user session, bypassing the JavaScript protections the website has. You can also run such scripts with a headless browser for full automation, PhantomJS being an obvious choice.

You really can't protect against this unless you start making the experience of regular visitors much worse.

mattm 1 day ago 4 replies      
One thing I've thought about but never had the chance to put into practice would be to randomize CSS classes and IDs. Most web scraping relies on these to identify the content they are looking for.

Imagine if everyday they changed? It would make things a lot more difficult.

There would be disadvantages to actual users with this method like caching wouldn't work very well but maybe this alternative site could be displayed only to bots.

The crawler could get smart about it and only use xpaths like the 6th div on the page so maybe in the daily update you could throw in some random useless empty divs and spans in various locations.

It's a lot of work to setup but I think you would make scraping almost impossible.

huffmsa 1 day ago 2 replies      
If you're getting a lot of crawler traffic, your site probably has information a lot of people find useful, so you should consider finding a way to monetize it.

Otherwise, your best bet (hardest to get around in my experience) is monitoring for actual user I/O. Like if someone starts typing in an input field, real humans have to click on it beforehand, and most bots won't.

Or if a user clicks next-page without the selector being visible or without scrolling the page at all. Not natural behavior.

Think like a human.

thinbeige 1 day ago 0 replies      
You can't prevent good crawlers. Captchas might help and what Amazon does: Erratic, unpredictable changes of the HTML structure.
laurieg 15 hours ago 1 reply      
Domain specific but if you detect a bot you can start giving it false information.

For example, a dictionary site. Someone tries to crawl your site after triggering your "This is a bot" code, serve bad data to every 20 requests. Mispell a word, Mislabel a noun as a verb, give an incorrect definition.

If you combine this with throttling then the value of scraping your site is greatly reduced. Also, most people won't come up with a super advanced crawler if they never get a "Permission denied, please stop crawling" message.

okket 1 day ago 0 replies      
A password prompt/captcha? If you do not want to get crawled, do not make it public?
inglor 1 day ago 2 replies      
We've used Incapsula (cheap and works, but awful support and service) and Distil (expensive and works, great support but steep pricing).

Both worked, both worked well with http downloads and selenium (and common techniques). Neither worked against someone dedicated enough - but there are the usual tricks for bypassing them (which we used, to test our own stuff).

We also developed something in-house, but that never helps.

danielbeeke 22 hours ago 0 replies      
The stack (https://github.com/omega8cc/boa/) I am using, uses CSF https://www.configserver.com/cp/csf.html

This is for Drupal sites. It has a strong firewall (csf) and it has a lot of crawler detections on the nginx configurations. It checks the load and when on high load it blocks the crawlers.

wcummings 1 hour ago 0 replies      
Scraping is my birthright, you'll never stop me.
timbowhite 1 day ago 0 replies      
I wrote a plugin for node.js/express that performs basic bot detection and bans bots by IP address until they pay you some Bitcoin:

project: https://github.com/timbowhite/botbouncer

simple demo: http://botbouncer.xyz/

I ran it for awhile on some medium traffic websites that were being heavily scraped. It blocked thousands of IP addresses, but IIRC only received one Bitcoin payment.

danpalmer 1 day ago 0 replies      
I encourage developers thinking of doing this to check that they aren't required to have their website be scraper-friendly first.

The company I work for does a large amount of scraping of partner websites, with whom we have contracts that allow us to do it and that someone in their company signed off, but we still get blocked and throttled by tech teams who think they are helping by blocking bots. If we can't scrape a site we just turn off the partner, and that means lost business for them.

twobyfour 1 day ago 0 replies      
For well-bahaved bots, robots.txt.

For ill-behaved ones, it depends on why you're trying to block them. Rate throttling, IP blocking, requiring login, or just gating all access to the site with HTTP Basic Auth can all work.

jeremyliew 1 day ago 0 replies      
I don't understand why you'd want to stop crawlers. If you didn't want people to see your content, it probably shouldn't be on the public web.
hollander 1 day ago 1 reply      
If it's about content, SVG and convert all text to curves. /s
digitalzombie 1 day ago 1 reply      
You can use cloudfare but it's a small roadblock. I can still crawl that.

Also you can do frontend rendering, it's a bit larger roadblock but you can use phantomJS or something to crawl that.

IIRC there is a php framework that mutate your front end code but I'm not sure if it does it enough to stop a generalized xpath...

Also I used to work for company where they employ people full time for crawling. It will even notified the company if crawler stopped working so they can update their crawler...

lazyjones 1 day ago 0 replies      
- permanently block Tor exit nodes and relays (some relays are hidden exit nodes)

- permanently block known anonymizer service IP addresses

- permanently block known server IP address ranges, such as AWS

- temporarily (short intervals, 5-15 mins) block IP addresses with typical scraping access patterns (more than 1-2 hits/sec over 30+ secs)

- add captchas

All of these will cost you a small fraction of legitimate users and are only worth it if scraping puts a strain on your server or kills your business model...

ge0 1 day ago 0 replies      
Can you give a little more context to the question? There are various ways but they would be dependent on the reasons in the first place.
ghola2k5 1 day ago 0 replies      
The best answer is probably an API.
Pica_soO 1 day ago 0 replies      
Add keywords which are likely to get the crawling company involved into a lawsuit (like the names of persons who suit google to be removed from search).
whatnotests 1 day ago 0 replies      
One cannot stop a determined thief.

One technique that bothers me quite a bit is constant random changes in class names or DOM structure, which can make it more difficult. Not impossible but more difficult.

calafrax 1 day ago 0 replies      
There are a variety of methods that can be deployed:

1) request fingerprinting - browser request headers have arbitrary patterns that depend on user agent. matching user agent strings with a database of the request header fingerprints allows you to filter out anyone who is not using a real browser who hasn't taken the time to correctly spoof the headers. this will filter out low skill low energy scrapers and create higher costs.

2) put javascript in the page that tracks mouse movement and pings back. this forces scrapers to simulate mouse movement in a js execution environment or reverse engineer your ping back script. this is a very high hurdle and once again forces much more computationally intensive scraping and also much more sophisticated engineering effort.

3) do access pattern detection. require valid refer headers. don't allow api access without page access, etc. check that assets from page are loaded. etc.

4) use maxmind database and treat as suspicious any access not from a consumer isp. block access from aws, gcp, azure, and other cloud services offering cheap ip rental.

crispytx 1 day ago 0 replies      
I think websites, in general, tend to get a lot of bot traffic. My website doesn't have anything valuable to scrape, but I still get 100 hits from bot traffic every day.
Kenji 1 day ago 1 reply      

then Zip bombs.

owebmaster 1 day ago 0 replies      
They used to use flash, for the good or the bad.
z92 1 day ago 2 replies      
I run a cronjob every 5 minutes that parses httpd access log. If there's an IP with abnormally large request number, it blocks it.

Most crawlers will make hundreds of requests in five minutes, while legitimate viewers will make be bellow 100.

Ask HN: Why am I so unhappy in spite of material success?
21 points by ta20170723  18 hours ago   32 comments top 21
davidjnelson 28 minutes ago 0 replies      
Berkeley's Greater Good Science center does fantastic research on this topic. They have a MOOC too.

This article is a great summary that may help you:


These parts specifically may provide key insight:

"Often, psychologists have distinguished between two types of well-being: hedonic well-being (a sense of happiness) and eudaimonic well-being (a sense of meaning and purpose). Although happiness and meaning overlap significantly, researchers suspected that helping others is especially crucial to developing a sense of meaning."

"A recent article published in The Journal of Positive Psychology by Daryl Van Tongeren and his colleagues sought to examine this relationship. In a preliminary study, the researchers asked over 400 participants to report on how frequently they engage in different altruistic behaviors (such as volunteering) and how meaningful their life feels. Participants who were more altruistic reported a greater sense of purpose and meaning in their lives."

hijinks 6 hours ago 1 reply      
I felt the same way 12 years ago when I was in my mid-twenties. Long story short is I ended up walking into a pet store and buying a puppy. Around 6 months later the dog started losing hair and turned out he had a mite problem and was born without an immunity system.

I ended up putting down the dog and by my gym was a normal pet store that didn't sell dogs/cats but had a dog rescue event going on. So I went there to donate what stuff I bought. I ended up talking to the founder there on why pet store dogs are so bad.

So that day I signed up to foster a dog. A few months later I was helping with events and then a group of us split from that rescue to start our own that imported dogs from the south that were surrendered up north. It changed my life doing something I felt was good.

Maybe you can try to take some of your time and donate it to some cause you might be interested in. I turned from hating work to thinking of work as a means for me to make money to help a cause I loved.

davidjnelson 52 minutes ago 0 replies      
You may enjoy the books "Happiness" and "Altruism" by Matthieu Ricard, who's been called the "happiest man alive" based on extensive brain scans. His advice is basically to help others in practical ways, as well as more abstract ways such as loving kindness meditation. Tldr: helping others takes attention off of "separate self", which is a common cause of suffering. Wish you the very best!
akulbe 5 hours ago 2 replies      
I'm going to be short and to the point, and hope you will take it well. I mean the best, as I myself have been in this place.

Based on what you wrote, it seems like you are only focused inward, on yourself. Figure out a way to focus on someone else.

Had an old, wise friend tell me, "You learn to love, by doing for..." i.e. when you tend to someone who is helpless, you are focused on them, and their needs. You gain a whole new perspective on life.

Do _for_ them. Do something that doesn't bring you any gain or benefit. Just to be a good human. Selfless.

Kids make this happen, naturally. But I'm not suggesting you go have a bunch of kids, just for that, I hope you get my drift.

jotjotzzz 1 hour ago 0 replies      
This was posted in HN as well, but it serves to repost it for this question:http://news.harvard.edu/gazette/story/2017/04/over-nearly-80...

Having material things is worthless unless you do not have any long, deep, and meaningful relationship and belong in a community. We, humans, long for deep connections. None of the material things will make you happy unless you share it.

Powerofmene 15 hours ago 0 replies      
Every item pointed out is related to work; make good money at work, short commute to work, interesting work, good benefits at work. The only non work item you mentioned is that you are in the best shape of your life (physically at least).

It appears your work/life balance is lacking. Do you have a significant other? Do you have hobbies you enjoy and/or actively pursue? I have been where you are with the dreading going to work each morning even to the point of being physically sick each morning. I had to find purpose in my work and as a result have just recently formed a startup that I hope will be accepted into Y Combinator.

I would encourage you to find someone you can talk to about the feelings you are experiencing before they become even more pronounced. Success at work is terrific but happiness is not always tied to employment success.

bsvalley 4 hours ago 0 replies      
Simple answer to your problem. Everything you mentioned about "being awesome" in your current life, aren't things that make you happy. That's it! Switch things up a little bit and I'm sure you're smart enough to make the difference between "what's good for me" and "what people think is awesome".

Try new things, break your routine. Life has a lot to offer my friend :)

k__ 6 hours ago 0 replies      
The only answer to this is, nobody knows why, just try different things and look if they make you happier.

Get into a romantic relationship or even multiple parallel if that is your thing. (I'm in non-monogamous relationships for 8 years now and started feeling much better)

Start a company or get kids. Having to care for your employees or kids can give you a purpose.

Try to help people in general. Teach some lesser fortunate people your skills, see what they make of it, maybe it helps you to get meaning by lifting others up.

Become a monk, christian or some other religion. They always search for people and the constant work and prayers gave some people meaning. Also the 100% structured daily life lets you age much slower.

djbelieny 2 hours ago 1 reply      
I will post this here at the risk of being the most down voted comment of all time but here we go: Read the bible, get to know Jesus. Not a religion or religious path, Jesus the man and the God. Pray and ask Him who you really are in your own eyes and in His eyes. Then, simply Love others as yourself and Him above all else. I personally took this journey many years ago when I was going through a very dark time. I was very unhappy with it all, despite having a good job, a great wife, an amazing daughter, family support and all. I lived religion for many years previous to that and tried to be a good man, going to church and following the do/don't routine. Not until I searched for a relationship with Jesus and asked him to show me who I really am, was I able to live a fulfilling life of purpose. If you feel like it we can talk more in depth about all this and I can tell you my story. DM me on twitter and we'll connect @djbelieny
mapster 16 minutes ago 0 replies      
what are your thought patterns when you feel at your worst? (i.e. wish I was doing x thing, or living an x life).
saluki 7 hours ago 1 reply      
Work is work . . . it's a means to provide for you (and your family/future family).

Life is about things outside of work, people, loved ones, pets, plants, hobbies.

Set some goals to connect with friends and family. Get a pet, do gardening, volunteer, read. Go hiking, go biking. Play a team sport.

Most people dread going to work, that's why they call it work, btw. Although it is nice if you can enjoy work, short commute, great pay and interesting projects can help with that.

Build other things in your life where you look forward to going to work, but you really look forward to getting off work to pursue the people/hobbies you really care about.

Exercise can help too but sounds like you have that covered. Try something new though. Hiking, Biking, Rock Gym/Climbing. Team sports.

Good luck finding the illusive 'happiness', sounds like you're on the right track.

mycat 6 hours ago 0 replies      
Maybe because you haven't truly answered these questions:

1. From where you actually came from.

2. What are you here for.

3. Where to go afterwards.

By the way, it started with your first intention, i.e. for what did you worked so hard for all these?

mod 16 hours ago 0 replies      
Maybe you need to share your life with someone else.

Maybe you need to work on something that helps people.

Maybe your work is the wrong variety. Maybe you need to do work where you shower after your shift, rather than before.

Maybe you need to work for yourself, rather than a company.

Just a few thoughts, maybe one clicks.

cmstoken 2 hours ago 0 replies      
You haven't told us enough information. What's your social life like? Do you have any close friends or acquaintances? Do you have any family members you talk to? Significant other? etc...
mattm 14 hours ago 0 replies      
Do you have any goals outside of work - not like vacations but something that is a challenge and requires skill building?

Are you dating?

I'd recommend reading "The Way of the Superior Man" [1]. One of the things that's stuck with me from the book is that no one ever feels like they've "made it". Even if you do feel like you get to the point, like you have, you suddenly become miserable as there's nothing left to strive for. We need some driver in our lives that push us forward.

The author also makes the claim where everyone should have an hour per day to focus on something they want to do. It helps give you direction and purpose. I know the times when I've done this, I've enjoyed work and life a lot more than the times where I haven't.

[1] http://amzn.com/B004A8ZWM4

thecupisblue 5 hours ago 1 reply      
Start creating, and not just writing code, start creating outside of development.Start writing, making music, painting, sewing, designing, woodworking. Try going out with friends to different events than usual and try different things - new kind of music, new kind of food, new kind of drinks.. Smoke some weed and lie in bed thinking about your life.
WheelsAtLarge 15 hours ago 0 replies      
Do you find your job meaningful? Look into that and you might find that you need to feel that you're making a difference with your work. I had a similar situation where I felt like a cog without much significance to my job. Dealing with technology day in and day out can be very dissatisfying.

Possible solutions:

1)Find out what you really want to do even if it's less money

2)Do you need to find someone to share your life with?

3) Do you need to work up the career ladder?

4) if what you want to do won't let you make a living. Use your current job to finance what you want to do. It will give your job a purpose.

5) Talk to a mental health professional.

I would take one of those long vacations and test different things. You'll have to take action. You can talk about it forever and it won't make a difference.

seekingcharlie 2 hours ago 0 replies      
It's not out there, man. The world is an illusion.

Start meditating :)

bkohlmann 16 hours ago 0 replies      
What are you doing to make others lives more meaningful and productive? My experience is that refocusing my attention away from myself, and towards others has the unanticipated benefit of lifting my own well being.

As a start, volunteer one hour every week at an organization that interests you. Do the grunt work. See what the effect is after a month and grow from a simple base.

vfulco 12 hours ago 0 replies      
Because you are a slave Neo ;-)
crypticlizard 1 hour ago 0 replies      
Imo happiness comes from our beliefs. Beliefs add up to become perspective. Once perspective aligns we garner from it our personal truths. As humans get older we tend to stabilize perspective and truth changes less. This is why suggestions to resolve inner turmoil commonly focus on stabilizing ones belief structure: it makes truths more reliably convincing. Humans find it deeply satisfying to know the truth. Unfortunately, universal truth is elusive and not likely provable so instead the pyramid paradigm we live in says: convince yourself of whatever truth conveniences you the most, and we'll sell you the means to believe it.

Something has put you near the top of the power pyramid for its own reasons. And the whole of global consumerism is here to service your happiness. Consider all that went into the wealth and influence you have as a rich person. Everywhere you go you can buy approximations of happiness, but your beliefs are preventing that from happening. You worked to get your job that provides your high status. Now you have the right to that level of buying power but your beliefs are holding you back from being a successful consumer at your place in the pyramid scheme.

Ask HN: Is there mandarin speech-to-text API with result confidence per word?
9 points by sammyjiang  16 hours ago   2 comments top 2
owens99 14 hours ago 0 replies      
aka iFly has the best. Mandarin speech to English text and vice versa.
nolite 10 hours ago 0 replies      
Google Speech API is pretty good, and has confidence results
Ask HN: What's the best business for a tinkerer?
35 points by cronjobma  1 day ago   20 comments top 9
kamphey 23 hours ago 2 replies      
Start a YouTube channel.Either learn filmmaking or find a friend to help.

Upload a video a week. Full complete projects. Post them on reddit.Reply to every comment. Ask for suggestions of next project.

After 3 months or 12 videos. Start posting 3 times a week of projects in progress.

After 3 months start live streaming twice a week.

At the 6 month mark start a Patreon. Even if you don't have any patrons immediately learn the platform and incorporate it into your videos. Set a goal that entices ppl to participate. Maybe one of your projects was a hit.

Hope that helps.

fest 7 hours ago 0 replies      
I have a friend who runs a lifestyle business of:

1) One-off mechatronics projects: museum exhibits, cable-cams for filming companies, puzzles for escape-rooms etc.

2) Regional distribution and support for a particular brand of lasercutters.

From what I see, he spends most of the time on first category but most of the revenue comes from the second.

kspaans 21 hours ago 1 reply      
Reverse Engineering and security. Every executable you reverse is like a new project!
patrickg_zill 19 hours ago 0 replies      
Are you involved in a local hacker or maker space?

Do you think you can make a kit that parents or other hackers would want to buy, like the build your own robots kits that come in pieces but include all the parts needed?

I know of one guy that got certified on shopbot and the laser cutter, and used that knowledge to get clients. He helps them go from idea to something repeatable.

mjfl 22 hours ago 1 reply      
You sound like me. If you like writing tutorials for your tinkering, I'm building a platform to support people like you: https://ocalog.com/ I'm currently tinkering with Ethereum.
rad1o 22 hours ago 1 reply      
Teaching others how to tinker. My wife and kids started this business: https://makerjunior.com
brudgers 18 hours ago 0 replies      
mchannon 23 hours ago 0 replies      
1. Make something people want.

2. Learn how to make it for a lot less than people will pay for it.

3. Partner with people who can market your projects.

SirLJ 17 hours ago 1 reply      
How about quantitative trading systems? I am really enjoying thinkering, back testing, inventing, I think this is the ultimate location independent lifestyle business...
Ask HN: What are some good tools for keeping a software project on track?
97 points by bnchrch  2 days ago   72 comments top 35
dannysu 2 days ago 3 replies      
Tools don't keep projects on track. Communication skills and project management skills keep projects on track.

I believe the most important task is to teach your team members those project management skills.

Teach them the skills to recognize unexpected events and know to communicate those bad news proactively. For example, an assigned task turned out to be much more difficult or larger scope than previously thought? Communicate. Uncertainty whether things can get done in time? Communicate. Feeling even the slightest uneasy about anything? Communicate.

Understanding of the business goals? You have to teach it and make it clear. You're not gonna have a textbox, type it in and expect the team to just get it. There's a difference between reading something, and understanding something.

Again, tools are "tools". No tool can allow your team to just be in zombie mode and not use their brain to think. Tools are there as an aid, not to fill in a hole in competencies.

Choose whichever tool that works for you. Observe how your team members are doing and teach them the necessary skills as needed.

At my company we've used simple Google doc, Asana, Trello, and now we're on JIRA. They all have pros and cons, but so far JIRA is working out alright and I think better than Trello.

boffinism 2 days ago 1 reply      
In my experience, what matters most is good communication. Whatever tool you use, what matter most is making sure your team are diligent about updating it, and about responding to updates by others. If you can get them doing that, then using a spreadsheet or a wall of post-it notes will give you 80% of the benefits of using the most advanced dashboard/kanban/IM tool. If you can't get them doing that, then even the most advanced tools won't save you.
tootie 2 days ago 0 replies      
Post-it notes are an absolutely terrible mechanism even for a small colocated team. Trello is barely sufficient. It's a digital task list, not project management. I'm sure everyone is deliberately thumbing their nose at enterprise tools like JIRA, but I consider it absolutely essential. Take the time to learn how to use it. Pick a workflow that works for you and just enforce discipline. It can do release management. Even in an automated way with Jenkins plugins. Pair it with bitbucket and you can create feature branches from the UI for each ticket. You can easily match commits to which feature they were for.

I know there's also a lot of scorn for agile, but the core tenet is really just writing well-defined stories. Make each ticket the smallest possible feature with incremental value than can be built, tested and deployed. Then stack your tickets in priority order. Everything else about the process is for communication and visibility, but if you write your stories well, they are less important.

ryandrake 2 days ago 1 reply      
Incomplete problem statement. Project size plays a big role.

A lot of solutions posted so far (post-its, E-mail, whiteboard) work well for 2 person projects, with discipline scale to 20 person projects, are problematic for 200 person projects, and are totally inappropriate for 2000 person projects.

Specialized tools are recommended when projects scale beyond 10-20 people. Formal process helps. You also need to track risks as another poster pointed out. If your project is a part of a larger whole, you need to track dependencies and their schedules (other teams at your company, vendors/suppliers, 3rd party open source dependencies, etc.)

ajax100 2 hours ago 0 replies      
You should check out Standup, it makes it easy to track what everyone in your team has been working on:


blipblop 11 hours ago 0 replies      
I have found that revisiting the same documents during regular meetings works best. First starting at a high-level overview of the projects/milestones/deadlines/customers and then drilling down in the detail.

> Know what each other are working on? (progress/blockers)

a. Gantt chart = Asana + Instagantt

- Instagantt is great. It allows you to create a Gantt chart from multiple Asana projects. I have an Asana project for each customer project with the deadlines/milestones. I also have a project for Ops/Refactoring "projects" (changing ORM, dockerizing, etc.), a project for Releases, and a project for Meetings.

- I use to think Github could do everything but business-folk seem to struggle with it, and Asana is more flexible. Assigning tasks to people in Asana is great.

b. Kanban board = Github + Zube

To actually get things built we work in loose two week sprints. We create Github Issues for tasks we are working on usually keeping them quite broad as usually a lot of details emerge once we start working on them.

We estimate time based on Planning Poker with the goal being to become better at estimating time and scoping tasks.

> Know what is currently deployed to production and staging? (heroku)

I've started keeping details of releases in Asana. Could also use Github Milestones. We feature freeze releases to a branch called `release/0.5.x`, when we ship we use a tag called `release-tag/0.5.0`, and then tag our deploys with `deploy/staging`, `deploy/prod`, or `deploy/<on-premise-customer-name>`.

> Keep track of larger goals (milestones)

We use a Gantt chart is visualise this, and usually some high-level strategy docs in Quip.

gaius 2 days ago 4 replies      
The only project management tool I've ever seen work effectively - I'm not even kidding - is a whiteboard with Post-it notes stuck to it. Everything else is snake oil.
wikwocket 2 days ago 0 replies      
One micro-solution to the "what's deployed right now" problem is to have a health-check url for your app, which includes info like what git commit was used to create the current build, when it was deployed, and some basic application health info.

You can monitor this for basic uptime monitoring and refer to it to sanity check which version is deployed. We do this at my place and it's super convenient.

smithkl42 2 days ago 0 replies      
I've successfully used Pivotal Tracker for my last three startups. It's an opinionated tool whose opinions don't always match mine, but it works well, and I've scaled it to teams up to about 15-20 participants. Beyond that, it seems to get bulky and hard to work with, but I don't know if that's so much a limitation with Pivotal, or with how I've tended to use it.
olalonde 2 days ago 1 reply      
Small team here.

1. We do all of this from Github using issues, milestones and projects. We have a GitHub Slack integration which can also give a feel of what everyone's working on. We also have a meeting every Monday where everyone says what they'll be working on this week.

2. Master branch is always in production. Staging branch is always in staging. We use CircleCI for CI/CD.

3. Milestones in GitHub.

leipert 1 day ago 0 replies      
We are using Kanban with the help of JIRA. Took it a while to set it up, but the switch from OpenProject & Sprints was totally worth it.

1. How do we know what each other is working on?

All of us (~15 people, 5 of which remote) participate in the daily at 10 o'clock. The daily takes around 15 min and it is focused on the stories and every one has a good overview on what is everyone doing. Other meetings are usually organized in the daily. Typically like

A) "I have this and that problem with X, I would like to talk with B)"

B) "Okay, let's talk after the daily."

C) "I have also interest in this"

Every day the daily is lead by another person. At the end of daily we ask questions regarding if everyone has enough/to much to do, knows what to do and so on.

2. How do we know what is currently deployed to production and staging?

Version numbers ;) And Bamboo deployments.

3. Larger Goals

Big releases every few months with planning directly after each release.

taprun 2 days ago 0 replies      
As a former pm, I sure hope you're going to track risks. Things that are (or should be) spotted early need to be tracked and managed.
ilaksh 1 day ago 0 replies      
Depends on the type of project. For small projects it mainly is about engagement and communication. They have to actually be around doing work and also have time set aside to communicate. They have to actually use the communication tools effectively. A lot of people actually are bad at online communication so you have to correct or work around that. If you are doing online everyone needs to be good at whatever online communication, or trying hard to be. And if most people are using Github issues for example, some people can't be doing their own thing on Skype if they overlap with the stuff on Github.Github.A chat tool with history.Phone calls or Skype or any voice tool.Make sure people are available for a minimum amount of time every day or few days to discuss things freely.For me I think it is counter-productive and just stressful to dump a big to-do list in any tool. Concentrate on the most important tasks for that week or two is how I do it.
foodie_ 1 day ago 1 reply      
I'm honestly surprised no one has said it yet, but you shouldn't be thinking about tools at this stage. You should start on Monday and see what they are using, identify where it's not working and propose a solution.

It's simply to early to think about the solution at this stage.

(With that said I manage a remote team and we use kanban on trello, heroku and slack. We only meet as needed)

astonex 2 days ago 0 replies      
At my job we use https://clubhouse.io which is basically Trello but with a lot more helpful features

We can see what everyone is working on just by looking at the stories in our 'in development' list which show who picked up that story.

We can also group stories into epics and milestones to track progress towards larger goals

perlgeek 2 days ago 0 replies      
Most modern software development methodologies have elements to address your point 1. For example Scrum has daily standups that specifically inform every attendant about progress and blockers. Kanban mandates that you visualize your workflow with a board.

Tracking the larger goals is often not well formalized, but I like this podcast episode about levels of planning in agile projects: http://deliveritcast.com/ep33-always-be-planning. It's often included in frameworks for scaling scrum, like SAFE of scrum of scrums.

2. is a purely technical problem. If I remember correctly, stuff deployed to heroku corresponds to git branches, so it should be pretty easy to create some visualization about what's deployed right now from looking at git repos. I could be wrong here.

eikenberry 2 days ago 1 reply      
I've worked on several remote teams and for keeping up with each other the best combo I've found is a daily chat based standup, optionally with a standup-bot. Along with a ticket tracking systems with an in-progress state + a dashboard layout that includes your teams in-progress stuff.

For example my dashboard I has a 2 column layout, on the left top is my in-progress stuff and down the left side is the other team members in progress stuff. On the right top is my assigned tasks and below is monitored tasks. This layout is useful to me for tracking my work and I get to stay aware what the others are working on. It helps a lot to keep tickets small in scope, so you can rotate them fairly often.

Of course what works depends on the nature of your teams work. Anyways, just some ideas.

dasmoth 2 days ago 0 replies      
1. Know what each other are working on? (progress/blockers)

The closest thing I've seen to a nice solution to this is to e-mail a brief report of what you've been up to to the manager at the end of the week, who collates into a summary at the start of the following week. Lightweight, avoids superfluous detail (because the coordinator can edit it out), and not so fine-grained that individuals can't sit on a problem for a day or two while thinking it over if that's their preferred style.

Obviously, this doesn't preclude talking about individual issues during the week! But daily check-ins force this too quickly in my view.

ksikka 2 days ago 0 replies      
For 1 and 3, it's the process that matters more than the tool. One process I found effective is maintaining a spreadsheet of tasks and a spreadsheet of larger milestones, updated in periodic meetings.

For the task spreadsheet, you can have a twice-a-week stand up where everyone goes around and updates their own tasks on a google sheet in turn.

For the milestone spreadsheet, a period between one month and one quarter works well.

Although meetings are often eschewed by software engineers, they really do help to keep projects on track.

Also appoint someone to be in charge of tracking the "health" of various milestones, red = needs course correction, orange = at risk, green = on track, etc.

msupr 2 days ago 0 replies      
I'm pretty surprised to see so many people recommending post it notes or a whiteboard. Even if you aren't remote, people are going to have sick days or WFH days and "can you take a picture of the whiteboard for me" requests are nonsensical.

Start with Trello. You can easily bend Trello to work with any productivity/PM system. Easy to get started and easy to evolve your process over time. Lots of great examples of how people are using it and some cool plugins to extend it.

#1 is extremely easy to implement in Trello. #3 is definitely possible but takes some time and buy in.

billdybas 2 days ago 0 replies      
I echo others: effective communication and a motivated team are more important than any tool.

I would add that visibility into what everyone else is working on is also super helpful to avoid stepping on other's toes or duplicating work.

Once you've got communication down, you might find one of these tools useful:




sirrele 1 day ago 0 replies      
1. JIRA <------ This is what you are looking for..2. Testrail <3 QA + JIRA3. Confluence <3 JIRA4. OneNote [Mac's Desktop App > Window's :( ]5. Slack + Git + JIRA + Screen Sharing + Emojis - Video Calls 6. SourceTree [Use when no one is looking]7. MySQL Workbench Crashes When Mad | Hard to let go......Write some damn scripts and automate it already!
laktek 2 days ago 0 replies      
Let me answer those with what we are currently doing in our remote startup:

1) Team members have to reply to a thread on "What are you working on?" at the end of the day. This keeps everyone informed of progress and blockers.

2) We use the CI dashboard to answer this (any changes to the master branch are auto-deployed to staging, and then staging is manually promoted to production.)

3) We use a Gantt chart to track high-level milestones (usually we go through it once a week to see where we are at).

edimaudo 2 days ago 0 replies      
If you want to keep a software project on track, tools are secondary. The most important things are proper communication, good people management and some luck.
a_imho 2 days ago 1 reply      
Individuals and interactions over processes and tools.
dreamdu5t 2 days ago 0 replies      
Lines of communication and chain of command are more important than tools. The only person who should need to know what you're doing is who you report to. And so on all the way to the top.

Trello, jira, aha, whatever won't help if you don't have clear lines of communication and a chain of command

klenwell 2 days ago 1 reply      
About a year ago, I took over a small team of 3 developers that was floundering and demoralized. This was not a remote team but I think that's incidental for the most part. I admit I'm writing this mainly as a testament to my own experience. But I think it includes some sound advice (a lot of which I collected from Hacker News discussions over the years.)

Process is key. Tools should serve the process and the team. First thing I did was to put together a basic scrum process. This had an immediate positive impact that has persisted. Some recommendations:

- Respect your team members. Give them the benefit of the doubt. There have been some good threads on HN about the distinction between being a dev and a manager.[0]

- Short daily standups: no more than 10 minutes, just the three questions: Did? Doing? Blocks? We do them in-person in the office, but I also do them over email with some of our contractors.

- Regular sprints (I like two-week sprints) with focused, structured demo, retrospective, and planning meetings.

- Retrospective meetings with developers and product owners that identify pain points but emphasize fixing the process not blaming or fixing individuals.

- One-on-one meetings every other week with members of my team and with my manager.[1]

- Weekly grooming meetings: product owners and developers together review, size, and prioritize stories.

- Projects are managed in Trello: cards are either user stories or defects with acceptance criteria.

- Issues are tracked and documented (in Github). I set an example for my team by thoroughly documenting issues and emphasizing best practices.

- Developers don't work on anything that doesn't have a Trello card (we have an action item card for small one-off tasks.)

- No burndown charts!

A lot of these practices I carried over from my previous job, where we used scrum but, because of laziness and laxity on a few points, ended up with a pretty dysfunctional team.

My only real innovation was the "No Card/No Work" rule. I think it's essential. It both stops managers and stakeholders from derailing the process. And it provides a record and reference for the team's accomplishments. Coming into an existing team, I made sure I was flexible and accommodating in implementing the new process. But this is the one point on which I told my manager I needed to be firm. We agreed to leave a little bit of room in each sprint for any urgent stories that might come up. It's worked out well.

Finally, my managers support and respect the process. Commitment was one of the keywords that was emphasized when I was first trained in Agile Scrum and I appreciate the significance of it now. Without the investment and commitment of management, this would probably all be futile. For larger goals, we created an Epic board that my manager likes to use with senior management. Trello is great because it visually reinforces the reality that priorities are a queue and if you push some urgent new job to the top, everything else in line is going to get pushed down and delayed. It's funny how easy it is for people on high or under stress to ignore that basic law of nature.

[0] https://news.ycombinator.com/item?id=3407643

[1] https://workplace.stackexchange.com/questions/32765/what-is-...

wheresvic1 1 day ago 0 replies      
If you are looking for something simple I can highly recommend Trello.

It is very flexible - you can label tickets, assign them and you even have git integration!

anotheryou 1 day ago 1 reply      
How do you guys manage large backlogs? Tiny bugs or nuances with low priority that just accumulate and are a pain to review again because you are not even sure they are still reproducable.
sAbakumoff 2 days ago 0 replies      
1. Jira is awesome for it.
speedracr 2 days ago 0 replies      
Post-its are hard to beat because they function as a backdrop and everyone walks by a couple of times per day, whether they want to or not.

For remote teams that run on Slack, give http://www.slash-done.com/ a try - a good friend of mine had this built after missing a simple way of having everyone check in once their tasks were completed.

jaequery 2 days ago 0 replies      
unfortunately, there is no one good tool. you'd have to use a combination of Asana, JIRA, and something like Productplan.

it is quite interesting to see that no one has yet created one that combines all three in a simple / minimal interface.

zwetan 2 days ago 0 replies      
simply look at the tools you can find on Github or similar: issue tracker, wiki, versioning of release, etc.
Walkman 2 days ago 1 reply      
not tools, however these are the best: your brain, your mouth and some things you can write with. Maybe a computer.
vermooten 2 days ago 0 replies      
'On track'? Really? Dude it's 2017, not 1997.
Ask HN: Ubuntu Desktop Default Apps
185 points by dustinkirkland  3 days ago   236 comments top 140
haspok 3 days ago 12 replies      
I have but one humble wish: when I want to start the calculator app I open the Dash and type "calc". However for some reason LibreOffice Calc has higher priority than the Calculator app, so I always have to select it specifically (instead of just pressing Enter) - even though I might have never used the LibreOffice Calc on this computer. Can you make the LibreOffice Calc app lower priority in the Dash please. Thank you.
johnchristopher 3 days ago 4 replies      
If I may make a suggestion:

I'd rather have a quizz at first install and user account creation that would ask what users want with sane defaults hiding behind an `I don't know` checkbox (ie: don't configure any mail client if people just use GMail). It would definitely ease the adoption from first users instead of throwing a huge pile of shortcuts to their face when they click the apps menu for the first time.

I would also make it very easy to do the most common first things users do: opening an image, browsing the web, playing music. Don't send them to players/viewers with different UI than the rest of the workspace or ask them what pic viewer they want to use among 4 different apps. First impressions matters :).

Kostic 3 days ago 2 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: Tilix[0], Gnome Terminal,

IDE: Visual Studio Code (although it's not a fully fledged IDE)

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Polari, HexChat

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: Gnome Calendar

Video Player: Totem

Music Player: Lollypop[1]

Photo Viewer: Eye of Gnome

Screen recording: Peek[2]

[0] https://github.com/gnunn1/tilix

[1] http://gnumdk.github.io/lollypop-web/

[2] https://github.com/phw/peek

hysan 3 days ago 2 replies      
I'm pretty sure anything I'd suggest would already be included in other people's lists so I'm going to request something different. Personally, I'd like a well maintained set of applications that integrates nicely into the default desktop. So things like global shortcuts (ideally having them be the same for common actions), panel and notification integrations, nicely setup default launcher icons, works well with the search bar, looks great with the default icon set, etc.

Example: whatever calendar app you include should work with the calendar in GNOME's panel.

I'd also like to emphasize on the well maintained part since I personally prefer that my core set of applications to not become stale over time or even worse, just have tons of quality of life/paper cut bugs that remain unpatched for years. Whatever is chosen as default should get continued support and help from Ubuntu itself.

If you can do that, I would definitely come back and give Ubuntu another chance.

Freak_NL 3 days ago 1 reply      
For most I would say the current defaults more than suffice.

Web Browser: Firefox. Of the two modern web browsers that are applicable (Chromium being the other), Mozilla and Firefox are more in tune with the free software mentality many users of Ubuntu adhere. It is an excellent browser as well.

Email Client: Thunderbird? Are there mature alternatives that will work for most people that use a standalone mail application?

Terminal: Keep gnome-terminal, it's perfectly fine for most.

IDE: None. Leave this to the user. An IDE need not be present by default, as it depends greatly one the language chosen. For simple scripting Gedit suffices at first, and associating code files with Gedit by default is fine too.

File manager: I take it Gnome Shell still ships with Nautilus?

Basic Text Editor: Nothing wrong with Gedit.

PDF Reader: Evince. Mature and fast.

Office Suite: LibreOffice of course.

Video Player: Something that supports everything you can throw at it.

Music Player: I'm partial to Quod Libet. :)

brudgers 3 days ago 2 replies      
What I want is no change unless there is a good reason to change. The internet voting for Browsey McBrowseface etc. is not, in my opinion, a good reason to change.

There are things Canonical does well, I think. Those things are technical. When it comes to trying to be Microsoft/Apple/Google, it misses the mark. In part because it assumes that which PDF reader it ships with matters to users.

Good luck.

Keeblo 3 days ago 1 reply      
I really like Ubuntu, but there are two things that I would recommend changing/fixing:

1. Replace the default PDF reader with something faster. It takes the default PDF viewer (in 17.04) 10+ seconds to open files that MuPDF can open in 2 seconds. MuPDF is very basic, so it might not be the best option for the default viewer, but hopefully there's something faster than the current default.

2. Allow the software center app to request sudo privileges when installing .deb files from the GUI. When I set up my most recent Ubuntu desktop I downloaded the Chrome deb from Google and then tried to install it by double clicking the file in the GUI file browser. The software center app opened and tried to install it, but instead of asking me for sudo privileges (which I had), it failed to install. My options were A) install it from the command line with sudo or B) install gdebi and use that to install the deb from the GUI.

As someone who is comfortable working in Linux, it's not a big deal for me to install a deb from the command line. The inability to install a deb by double clicking it would be a showstopper/major issue for someone who is brand new to Linux and isn't trying to "learn Linux".

P.S. There's an argument to be made that people should just learn to use the command line, but Ubuntu's slogan is "Linux for human beings". Besides, the worst way to introduce someone to the wonderful world of FOSS software is to give them a headache while they're trying to set up their computer :-)

jasonkostempski 3 days ago 1 reply      
Web Browser: Firefox unmodified (e.g. no Ubuntu start page)

Email Client: None, users still using desktop clients know what they want and how to get it.

Terminal: No preference

IDE: None, this should be chosen by the user if they want one.

File manager: No preference

Basic Text Editor: No preference

IRC/Messaging Client: None, same situation as email

PDF Reader: No preference

Office Suite: LibreOffice

Calendar: Like the calendar the clock opens (no preference) or a calendar you can add events to (does a modern desktop calendar for Linux even exist)?

Video Player: VLC

Music Player: Whatever is least bloated

Photo Viewer: Whatever is least bloated

Screen recording: None, most people don't need or want this.

sp332 3 days ago 0 replies      
Web Browser: Firefox, but consider defaulting to 52 ESR since FF57 may cause breakage in November (one month after your Ubuntu release). Whatever browser you use, don't be afraid to change the settings or extensions for security. HTTPS Everywhere or Privacy Badger or an adblocker built-in goes a long way in protecting your users.

Photo Viewer: must open quickly. If I want to manage a zillion photos I can download something else, but when I just open a file I want to see it right away.

dd9990 3 days ago 0 replies      
Web Browser: Firefox (unmodified, no pre-installed Ubuntu extensions)

Email Client: Thunderbird

Terminal: Gnome Terminal or Tilix [0]

IDE: Gnome Builder

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: N/A

PDF Reader: Okular

Office Suite: LiberOffice Fresh (preferably via a snap to keep updated)

Calendar: Gnome Calendar

Video Player: Gnome MPV with youtube-dl [1] or VLC

Music Player: VLC

Photo Viewer: Digikam

Screen recording: N/A

[0] https://github.com/gnunn1/tilix[1] https://github.com/gnome-mpv/gnome-mpv

zanny 3 days ago 1 reply      
Meta-observation: There are three primary applications everyone wants fairly uniformly. Firefox, LO, and VLC.

It is really interesting from an integration perspective to consider all three:

* Firefox pulls in gtk3 and gtk2 dependencies.

* VLC pulls in Qt and sdl1.

* LO pulls in Python.

Of note, both Firefox and VLC use ffmpeg, which is nice.

But my macro point - the most popular applications for Linux right now all use pretty much entirely different infrastructure. All three pull in at least a dozen library or package dependencies each, there is little overlap, and between them you have the entirety of GTK and Qt. On top of that, they are about 130MB, 50MB, and 400MB installed respectively.

I'm not going to make conclusions about how this relates to the desire to write composable software, or how these various monolith projects are also the most desired. It is just interesting that just from the big three staples you are looking at more space used on installation media than a CD just from them and their immediate dependencies. Qt alone is around 400MB including webengine. Gtk is another 90MB. So you are looking at over 1GB of binaries, libraries, and art assets to run 3 programs, and at runtime they will all be pulling these respective libraries into resident memory with almost no overlap.

dustinkirkland 3 days ago 0 replies      
If you'd prefer, you can fill out the survey here:


PascLeRasc 3 days ago 1 reply      
I'd love for Chromium to be included by default and for that Amazon app to be removed. I have no idea what the Amazon thing even is but it's just Windows 10-esque spamware to me.

As for IDE, it'd be really cool to have Arduino included, but some might consider that spamware \_()_/

SubiculumCode 3 days ago 1 reply      
Whatever file browser is chosen, please include the damn up button, and please no buttons replacing the address bar. Also, PLEASE 'open terminal here' as a default option on right click.
acabal 3 days ago 1 reply      
Web browser: Firefox

Email client: Thunderbird

Terminal: Gnome Terminal

File Manager: Nautilus

Basic Text Editor: Gedit (But can you patch the ridiculous "find next" shortcut key to ctrl + f/enter from ctrl + f/ctrl + g?)

PDF Reader: Gnome default

Office Suite: LibreOffice

Music Player: I always felt like Banshee was the superior Gnomish music player but it seems to unmaintained unfortunately. Rhythmbox is the next best basic one IMHO.

Photo viewer: Gnome default

Nala_Alan 8 hours ago 0 replies      
Web Browser: Chromium

Email Client: Gmail (web), Protonmail (web)

Terminal: gnome-terminal

IDE: Sublime Text 3 (non-free), Visual Studio Code

File manager: default

Basic Text Editor: nano

IRC/Messaging Client: HexChat

PDF Reader: default

Office Suite: LibreOffice

Calendar: none

Video Player: mpv

Music Player: unsure, i would go with DeaDBeeF and Spotify (non-free)

Photo Viewer: ???

Screen recording: none

Extra: KeePass, git, gpg

bsharitt 2 days ago 0 replies      
Web Browser: Firefox

Email Client: I'm pretty much all web apps, and would actually like not having evolution or thunderbird installed by default. I think email clients are something to leave up to the users to specifically install

Terminal: Gnome Terminal

IDE: Visual Studio Code. I don't care if it's installed by default, but the ability to install out of the box without a web visit and .deb download would be great.

File manager: I guess I use Nautilus by default, but don't take that as an endorsement

Basic Text Editor: I use vim, but Gedit suffices.

IRC/Messaging Client: Like email, I think this should be left out of a base install these days.

PDF Reader: Evnince it fine, but ePub support in it, or what ever PDF/document viewer is default would be wonderful(bonuse points for mobi too)

Office Suite: Libre Office seems to be the only real option and it's fine

Calendar: Gnome Calendar

Video Player: I used to install VLC day, one, but actually have kept Totem lately

Music Player: I don't think there's any good options, Rhythmbox is still much better than Gnome Music if you're tempted to go all Gnome with the default DE switch

Photo Viewer: EOG is fine, just don't make a big heavy gallery app the default opener even if one is installed by default.

SingletonIface 3 days ago 0 replies      
Web browser: Firefox, Chromium. Comment: It is important that neither Chrome nor Chromium eat too much market share in order for the web to remain healthy.

Email client: ??? Comment: I use mutt but I'm wishing for something better. mutt is too limited

Terminal: Terminology, urxvt

IDE: None; neo-vim is sufficient for programming tasks, don't need most IDE features.

File manager: What ever is the default for the selected DE.

Basic Text Editor: neo-vim

IRC/Messaging Client: irssi and Pidgin

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: Don't know

Video player: VLC

Music player: Tomahawk

Photo Viewer: What ever is default for the selected DE

Screen recording: Open Broadcast Studio

pmontra 3 days ago 1 reply      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: gnome terminal is ok

IDE: none. I'm using emacs for all the things. Which standard IDE could handle all languages well? I think this is for developers and we pick our tools. If this is a IDE for learning, I don't know if this is the right way to learn. Maybe vim.

File manager: nautilus is ok

Basic Text Editor: gedit should be ok. I never use it because I don't need a basic editor.

IRC/Messaging Client: no idea. I use my phone for messaging.

PDF Reader: evince.

Office Suite: Libreoffice from their PPA. The distro is usually way too behind. This is a general problem with many packages not in the core of the OS. Maybe it's time to give up on trying to be current and let developers package their stuff in any sensible format.

Calendar: I use the offline calendar on my phone.

Video Player: VLC, Gnome Video is just too basic.

Music Player: YouTube :-) Seriously, I use Rhythmbox and it's kinda ok, when it doesn't mess with the metadata of a full directory of files. I'm chmod 400 my mp3 to make them safe.

Photo Viewer: eog? I used shotwell and its predecessor (fspot?) and I lost all labels migrating among versions and computers. I'm not wasting my time anymore with sw that organize picture collections. If at least they had import / export to / from csv.

Screen Recording: I liked to use Green Recorder https://launchpad.net/~mhsabbagh/+archive/ubuntu/greenprojec... but how about adding a video editor too?

tombert 3 days ago 2 replies      
Web Browser: Firefox

Email Client: Evolution

Terminal: Gnome Terminal

IDE: No IDE by default. Most users aren't developers

File manager: Files/Nautilus

Basic Text Editor: Atom

IRC/Messaging Client: Nothing, let user install their own.

PDF Reader: Evince

Office Suite: I don't really like it, but LibreOffice is probably the best option right now. Personally, I'd almost prefer an option to just have LaTeX and TeXStudio pre-installed.

Calendar: No Preference

Video Player: VLC

Music Player: VLC

Photo Viewer: No preference

Screen recording: No preference

blfr 3 days ago 0 replies      
Video Player: mpv!

I had been using Ubuntu for years before realising that this amazing improvement over mplayer exists. And it has everything: GPU decoding, excellent UI, keyboard shortcuts, it's fast, and never fails. Of the software I use regularly, this one is by far the closest to perfection.

newscracker 3 days ago 0 replies      
Web browser: Firefox

Email client: Thunderbird

File Manager: Thunar File Manager

Office Suite: LibreOffice

Video Player: mpv


Completely unrelated, but having Ubuntu work well on a Mac (and retaining habits learned on a Mac) with the external Apple Magic Trackpad would be great. It's a huge source of frustration and annoyance for me for various reasons, right after the keyboard shortcuts. Native to Ubuntu, I will also miss Unity not being developed further or not being developed with the focus that existed before.

Another one, though not a desktop default app. Please add a well maintained and working VNC server (or make it available). I tried a few, gave up and went with TeamViewer (which is a commercial product, but free for personal use). Not being able to screen share with a mostly headless machine has been very frustrating.

simonvdv 2 days ago 0 replies      
First of all, thanks for getting in touch with your users!Hope you'll be able to extrapolate some useful info from it :)

My basic suggestion would be to keep it simple, so stay with the GNOME apps where you can.Also it might make sense to make a distinction between what people feel is a good choice of software and which of those should be included in the default install.

IMHO stuff like and IDE, e-mail client, IRC client, messaging client, office suite and screen recording don't have to be included in the default install as long as it's easy enough for everyone to add them later (or customize during install).

Regarding specific items:- Terminal: gnome-terminal, but if possible look into make the tabs a bit less tall and fix the search dialog so it can be closed by pressing escape

- File manager/photo viewer: nautilus, but look into fixing the preview (spacebar) so that it allows opening the preview window once and then allow navigating through all files in the chosen directory using the arrow keys

- Calendar: gnome-calender, but make sure you use gnome 3.24 or later so it support dark mode

- Screenshots: gnome-screenshot, but please fix it so it's possible to take multiple screenshots in succession. Right one has to close and open it to do so.

- Video player: Technically mpv, maybe with the gnome-mpv GUI. Though mpv might be too difficult to use for some users?

- Music player: Imho none of them is really good enough :( Elementary's noise might be at some point

markstos 3 days ago 0 replies      
===Web Browser: Chromium, Firefox

Email Client: Fastmail web, Gmail web

Terminal: konsole, terminator

File manager: Nautilus

Basic Text Editor: Gedit, Gvim

IRC/Messaging Client: Slack web, Signal web

PDF Reader: Chromium, Firefox

Office Suite: LibreOffice, GSuite web

Calendar: Google Calendar web

Music Player: Google Music web, Clementine

Photo Viewer: eog, shotwell, gimp

Screenshot tool: Shutter

Sound source switcher: indicator-sound-switcher

Clipboard Manager: glipper

PDF Annotation: xournal

Markdown Viewer: ghostwriter

Markdown Editor: ghostwriter===

j0ar 3 days ago 0 replies      

 Web Browser: Firefox, Opera Email Client: Geary, Thunderbird, pantheon-mail (when the new version is ready) Terminal: gnome-terminal, pantheon-terminal IDE: ??? File manager: Nautilus, Thunar, pantheon-files Basic Text Editor: gedit, scratch-text-editor (from elementaryOS) IRC/Messaging Client: Telegram PDF Reader: envince Office Suite: Libre Calendar: gnome-calendar (please please please with Caldav support for posteo) Video Player: totem, mpv (gnome-mpv) Music Player: audacious Photo Viewer: gnome-viewer Screen recording: ???

tradesmanhelix 3 days ago 0 replies      
Also, maybe try the Ubuntu Mate approach and let users pick their own solution. I'd love to see Ubuntu implement something like the Ubuntu Mate Welcome [1] and/or Software Boutique [2].

[1] https://github.com/ubuntu-mate/ubuntu-mate-welcome

[2] https://ubuntu-mate.community/t/ubuntu-mate-welcome-screen/1...

shock 3 days ago 1 reply      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: Tilix[0], Gnome Terminal,

IDE: IntelliJ, Eclipse

File manager: Double Commander[1]

Basic Text Editor: Vim

IRC/Messaging Client: Pidgin

PDF Reader: Evince/MuPDF

Office Suite: LibreOffice

Calendar: Gnome Calendar

Video Player: Vlc, Kodi

Music Player: Audacious

Photo Viewer: Eye of Gnome

Screen recording: Simple Screen Recorder[2]

[0] - https://github.com/gnunn1/tilix

[1] - https://doublecmd.sourceforge.io/

[2] - http://www.maartenbaert.be/simplescreenrecorder/

akerro 10 hours ago 0 replies      
Web Browser: Firefox with block Origin and https everywhere installed system-wide
petecox 2 days ago 0 replies      
Web Browser: Firefox

Chrome and Vivaldi each have their own apt repository, so why Ubuntu would bundle or package them, I'm not sure but give the option of adding an entry to sources.list. I mainly use Chrome for websites requiring flash support and letting Google manage that rather than the FOSS Chromium is simpler.

Basic Text Editor: Geany. Decent feature set and it has support in Windows and I prefer cross platform tools.Video Player, Music Player: VLC. Again it works on multiple operating systems and with few dramas.Office Suite: Libreoffice, again it's cross platform. I have written a couple of things in Lyx but it's niche.PDF Reader: NOT Okular - it's very versatile but chokes when rendering image-heavy 40 page film festival brochures. Atril or whatever the Gnome version is called are snappier.

Email Client: On linux, I use webmail. Too many hoops to jump through in getting Office365 and Gmail working seamlessly without typing in a bunch of IMAP/SMTP settings voodoo - lack in patience and too lazy in 2017 for that! Would revisit if something worked out of the box.

The rest? Well you've committed to Gnome and the default apps would suffice.

rvern 2 days ago 0 replies      
Web Browser: Firefox, not Chromium, Epiphany or anything else.

Email Client: Evolution, Thunderbird if you really don't want to pick Evolution. Do install one by default.

Terminal: GNOME Terminal.

IDE: none.

File manager: Nautilus.

Basic Text Editor: gedit.

IRC/Messaging Client: none, Pidgin, Polari, HexChat.

PDF Reader: Evince.

Office Suite: LibreOffice; LibreOffice Base should be excluded.

Calendar: GNOME Calendar.

Video Player: Totem, not VLC.

Music Player: Rhythmbox, perhaps GNOME Music in a future release.

Photo Viewer: Eye of GNOME, maybe include Shotwell too.

Screen recording: GNOME Shell's built-in recording.

Also include file-roller, gnome-calculator, gnome-characters (not gucharmap), gnome-clocks, gnome-disks, baobab, gnome-documents, gnome-font-viewer, gnome-system-monitor, yelp, gnome-logs, bijiben, seahorse, gnome-screenshot, gnome-software, and gnome-weather, and consider including gnome-boxes, devhelp, gnome-dictionary, gitg, gimp, gnome-maps, gnome-tweak-tool, and deja-dup.

This is almost exactly identical to Fedora Workstation's default apps. In general, I have a strong preference for embracing the GNOME apps and GTK+ 3. The only exceptions are Firefox instead of Epiphany and LibreOffice instead of AbiWord and Gnumeric.

nilsocket 3 days ago 0 replies      
TextEditor:- I really hate gedit, it takes around 1 to 3 seconds to save a file.

It doesn't notify user if some foreign process changed or removed file.

When ever a user types in a bracket, parentheses..., It does mean that he/she is going to close that (most probably).

Indentation, only God can understand what it means for source code files.

Only one thing which I like in gedit is, cobalt.

I don't use Ubuntu, because I need a feature-rich desktop, not the opposite.

I could've used Kubuntu, but I hate it because of apt (for being too slow)

What I like in Ubuntu is better power management.

I could've used Fedora, but I hate it's package manager, for being inconsistent, and this text like Microsoft, "please wait while your system is being updated", "reboot to update your system".

Rather than feeling the pain everyday, I take pain for few hours and install Arch Linux, with KDE.

Having the best feature-rich DE, with latest and up-to-date packages, a package manger which just works out of the box even in worst network conditions, for having every application in one place...

I literally forgot what's the name for, including those community or independent developers application, URL into main repositories, which will most probably break the system.

I don't know why you guys choosed GNOME, everything is damn slow. I accept that it provides simplicity for its users.

ubu4 6 hours ago 0 replies      
Office Suite: libreofficeVideo Player: VLCE-Mail Client: ThunderbirdWebbrowser: Firefox and Chromium
smacktoward 3 days ago 1 reply      
Web Browser: Firefox, Chromium

Email Client: Thunderbird. (Note: I'm a bit worried about the future of TB, with Mozilla cutting back its support of the project. Since it's been the default email client in Ubuntu since forever, it would be great to see Canonical pitch in to support it more.)

Terminal: GNOME Terminal

IDE: Does Ubuntu need to ship with an IDE?

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Does Ubuntu need to ship with an IRC client?

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: GNOME Calendar, Lightning

Video Player: VLC

Music Player: Clementine

Photo Viewer: No opinion

Screen recording: No opinion

someone666a 6 hours ago 0 replies      
Web Browser: Firefox/Chromium

Email Client: Thunderbird

Terminal: Whatever

IDE: No!

File manager: Nautilus

Basic Text Editor: Gnote

IRC/Messaging Client: No!

PDF Reader: Whatever

Office Suite: No!/Libreoffice

Calendar: Whatever/No!

Video Player: VLC

Music Player: VLC

Photo Viewer: Whatever

Screen recording: No!

brian_herman 3 days ago 3 replies      
Kind of offtopic but is there a linux terminal program that when you paste a bunch of commands with carriage returns asks you if you want to continue?
ameliaquining 3 days ago 0 replies      
Web browser: Chromium, Firefox

Email client: Gmail

Terminal: gnome-terminal

IDE: Atom, Emacs, Visual Studio Code

Basic text editor: Atom, gedit, nano, Emacs

PDF Reader: Chromium, evince, Adobe Acrobat (non-free)

Office Suite: Google Docs, LibreOffice

Calendar: Google Calendar

Video player: Totem, mplayer

Music player: Totem, mplayer

Photo viewer: Eye of GNOME, Shotwell

Screen recording: RecordMyDesktop

And a category that's been traditionally missing from Linux distros and really shouldn't be:

Simple raster graphics editor (like Microsoft Paint): GNU Paint

alok-g 1 day ago 0 replies      
Please make sure to honor accessibility features and select applications that do. I need dark themes because my eyes become red without. It is painful to use apps that do not honor theme colors and do not provide their own means to change colors either.
zumu 2 days ago 0 replies      
Is there an option to have none of that installed? First thing I do on any distro is uninstall that stuff
zhte415 2 days ago 0 replies      
Web Browser: Firefox

Email Client: <web>

Terminal: GNOME Terminal

IDE: none

File manager: Nautilus

Basic Text Editor: GEdit or Sublime Text

IRC/Messaging Client: none

PDF Reader: Firefox

Office Suite: LibreOffice, but in a work environment use MS Office, and even MS Office 2007 (at work) is light-years ahead of LibreOffice in terms of how I use Office. I do like the pop-out right column for editing, but find I have to go through menu after menu for simple things like formatting a text box in Impress. Calc table functions lack MS Office in all aspects.

Calendar: none

Video Player: VLC

Music Player: VLC

Photo Viewer: Whatever the default is. Is good enough to not notice what it is.

Screen recording: Ctrl+Alt+Shift+r. Mainly record screen at work (Windows) where ShareX produces nice quality and file sizes.

dillon 3 days ago 0 replies      
Web Browser: Firefox

Email: Anything simple and lightweight

Terminal: Default GNOME Term.

IDE: Shouldn't be in a default install

File Manager: Anything simple and lightweight + tabs (Nautilus)Basic Text Editor: vi

IRC/Messaging: Pidgin or Empathy

PDF: Default GNOME Viewer

Office Suite: LibreOffice

Calendar: Default GNOME Calendar

Video Player: VLC

Music Player: VLC

Photo Viewer: Default GNOME

Screen Recording: Something full featured?


Maps: Anything supporting OSM (GNOME Maps)

Software Center: GNOME's Software Center

flurdy 1 day ago 0 replies      
Web Browser: Brave, Firefox

Email Client: Gmail web

Terminal: Terminator

IDE: IntelliJ, Atom

File manager: Nautilus

Basic Text Editor: Atom, VIM

IRC/Messaging Client: Gitter, Slack non-free

Office Suite: Google Docs web

Calendar: Google Calendar web

Video Player: VLC

Music Player: Spotify non-free

Screen recording: Google Hangout non-free, Floobits non-free

Games platform: Steam non-free

Source control GUI: GitKraken

fsantucci 1 day ago 0 replies      
Web Browser: Firefox

Email Client: YahooMail, Gmail

Terminal: Tilix

IDE: Visual Studio Code, Atom

File manager: Nautilus

Basic Text Editor: Vim, Gedit

IRC/Messaging Client: Telegram

PDF Reader: Evince

Office Suite: LibreOffice, WPS Office

Calendar: Gnome Calendar

Video Player: VLC, MediaInfo

Music Player: Lollypop, Spotify, EasyTAG

Photo Viewer: Shotwell

Screen recording: Simple Screen Recorder

Shell: zsh

Bitmap Image Editor: GIMP

2D Vetorial Image Editor: Inkscape

RealityDisorder 3 days ago 0 replies      
Web Browser: Firefox, Chromium

Email Client: Thunderbird (altho would prefer a modern alternative)

Terminal: rxvt-unicode

IDE: IntelliJ family

File manager: ???

Basic Text Editor: vim

IRC/Messaging Client: irssi/pidgin

PDF Reader: Atril/xpdf

Office Suite: Abiword/Gnumeric

Calendar: Thunderbird + Lightning (altho would prefer a modern alternative)

Video Player: mpv

Music Player: deadbeef, Clementine

Photo Viewer: feh, eom

Screen recording: open broadcaster software

Theodores 3 days ago 0 replies      
A genuine long term Ubuntu fan, not used Windows since Vista. Happy with everything. Let's have a look at what I left behind:

Web Browser: IE6

Email Client: Outlook Express

Terminal: putty

IDE: MS Studio

File manager: Explorer

Basic Text Editor: Notepad

IRC/Messaging Client: Skype

PDF Reader: Adobe Acrobat

Office Suite: MS Office

Calendar: Outlook

Video Player: RealPlayer

Music Player: Winamp

Photo Viewer: Cracked copy of Photoshop

Screen recording: Print screen key

I don't use alternative programs to the above, I don't write Word docs or need to as communication has changed. I don't have an email client.

My point is that this list of defaults is stuck in the past, we use computers differently and need an updated list of default applications. There should be a default app for your phone and what happens when you plug it in. There should be built in IoT apps too, so your computer can be at the heart of gadgets you get for the home.

xiaomai 3 days ago 0 replies      
In most cases I prefer the standard gnome stuff (browser is the big exception).

Web Browser: Chromium / Firefox / EpiphanyEmail Client: Evolution / Mutt / ThunderbirdTerminal: gnome-terminalFile manager: nautilusText editor: geditIRC: weechat / polarisOffice Suite: google docs / libreofficeCalendar: google calendar / gnome calendarVideo Player: Totem / mpvPhoto Viewer: Shotwell (I wish gnome-photos would work but its reliance on Tracker makes it unusable for me (what is with tracker not following symlinks?? please fix that).Screen recording: I wish the gnome-builtin one did sound, since it doesn't I use SimpleScreenRecorder)

gremlinsinc 3 days ago 0 replies      
Web Browser : Google Chrome StableEmail: ThunderbirdTerminal : TerminatorIDE: Sublime Text3/Vs Code.File Manager: Thunar/NautilusBasic Text: GeditIRC: IrssiPDF ? (Usually just use chrome)Office Suite: LibreCalendar : (don't use)Video Player.: vlcMusic Player: A good google play music/spotify app that can stream to chromecast would be nice... Photo Viewer: N/aScreen Recording: Don't know of any.

Caveat.. not a ubuntu user here per se... But left because of some of the bloatware/opinonated stuff and it crashed a lot. Plus I like Antergos with i3-gnome better than anything I've ever used before... Much better performance, less crashes/bugs...etc..

jtolmar 3 days ago 0 replies      
I'm generally happy with all the Ubuntu default apps.

Basic text editor: gedit. Search has been a lot less usable since it moved to the top right bar. Keyboard sequences like control-f + part of a word + escape do strange things like sending you back to where you started. I'd like to be able to pilot to different parts of the code using control-f, down/enter/tab, up/shift-tab, and escape.

Also searching a huge file hangs because it stops to highlight every instance of the first character before processing the second. It should never be faster to open a terminal, find the file, and run grep. Also the entire app hangs to do syntax highlighting on giant xml files.

jacek 3 days ago 0 replies      
Web Browser: Firefox, Opera (non-free)

Email Client: Thunderbird

Terminal: Tilix, gnome-terminal

IDE: Atom, gnome-builder

File manager: Nautilus

Basic Text Editor: gedit

IRC/Messaging Client: telegram-desktop

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: gnome-calendar

Video Player: gnome-mpv, smplayer

Music Player: gnome-music, Spotify (non-free)

Photo Viewer: gnome photo viewer (don't know the name)

Screen recording: don't use

Photo editing: Darktable

Note taking: QOwnNotes

Research source organization: Zotero

43224gg252 3 days ago 0 replies      
I actually use GNOME on Fedora as my daily driver but will probably switch to ubuntu if they can create a better gnome experience. Please try to ship GNOME that way it's meant to be shipped as far as software versioning goes. Please make quarter tiling and the ability to hide windows decoration a thing.

Web Browser: Firefox

Email Client: don't care, I coded my own

Terminal: tilix (integrates better with GTK3 than GNOME-terminal)

IDE: Builder is good (I use vim)

File manager: Nautilus/ranger

Basic Text Editor: Gedit/nano/vim

IRC/Messaging Client: I use irssi

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: GNOME calendar, but update it

Video Player: mpv

Music Player: mpv

Photo Viewer: mpv

Screen recording: the one thats built into gnome, but make it better (adjust FPS/quality/convert size/etc).

Sir_Substance 3 days ago 0 replies      
I'd really like to ask for a "nothing, thanks" option.

The main reason I use xubuntu is because it offers a xubuntu-core package that comes with the desktop, apt and /nothing else/.

When I installed unity version of ubuntu, the install was always followed with about an hour of uninstalling shite I didn't care about. The new unity uninstall dialogue never worked correctly, and uninstalling 5 things in a row would cause it to lose track of what was installed and start duplicating entries. When I install a fresh system, I really want it to be fresh.

dallamaneni 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: Terminator

IRC/Messaging Client: Pidgin, Thunderbird

PDF Reader: evince

Office Suite: LibreOffice

Calendar: Thunderbird

Video Player: VLC

chavlu 1 day ago 0 replies      
Ubuntu and Google they should play as a team, Google has many tools and ubuntu many knowledge, people like both. Ubuntu should start using Google apps, and ubuntu should be easier to get in stores.
chavlu 1 day ago 0 replies      
Ubuntu y Google deberan de aliarse ambos son open source, el nuevo ubuntu debera de utilizar las aplicaciones de Google y tener ciertas funciones geniales que un dispositivo Android tiene.
petepete 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Geary

Terminal: Gnome terminal

IDE: ???

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Empathy/Polari

PDF Reader: Evince

Office Suite: Libre Office

Calendar: Gnome calendar

Video Player: Totem

Music Player: Gnome music

Photo Viewer: Shotwell (definitely not Darktable or RawTherapee, far too complicated)

Screen recording: Built in Gnome screen recorder

riffic 2 days ago 0 replies      
Give more love to Ubuntu server. Remove this update notification from the MOTD (this message encourages newbs to break their box):


further elaboration provided here: https://news.ycombinator.com/item?id=14006747

lousken 2 days ago 0 replies      
Web browser: Firefox

Email: None, Thunderbird

Terminal: xfce4-terminal

IDE: None, Qt creator, Visual studio code

File manager: Thunar, Nautilus, for terminal Midnight commander

Basic text editor: Mousepad, for terminal vim

IRC/Messaging Client: Empathy, Pidgin, none

PDF Reader: Okular, Firefox (integrated)

Office suite: LibreOffice

Calendar: Gnome native

Video player: smplayer (or any Mplayer version with GUI), for terminal ffplay

Music player: Clementine, for terminal cmus

Photo viewer: Ristretto

Screen recording: xfce4-screenshooter, OBS Studio


Shell: zsh

Password manager: Keepass, KeepassXC

Task manager: htop

Other: Numlockx, git

Basic photo editor similar to picpick/mspaint on windows: Pinta (guess is closest to that)

(currently xubuntu 16.04 user)

gkya 3 days ago 0 replies      
I'm using the latest Ubuntu GNOME, and I can say that I'm pleased with how it is. Using GNOME's own software where available is going to be better IMHO.
PleaseHelpMe 2 days ago 0 replies      
Web Browser: Firefox/ Chrome

Email Client: No Email Client.

Terminal: Terminator


File manager: Nautilus/ Thunar. (I was looking for something with dual panel view but no good solution seems to exist right now)

Basic Text Editor: Gedit/ Sublime.

IRC/Messaging Client: No IRC/MEssaging client or Hexchat.

PDF Reader: Evince/ qPdfViewer

Office Suite: Libreoffice (But do we have an alternative?)

Calendar: Gnome Calendar seems fine.

Video Player: VLC

Music Player: Clementine

Photo Viewer: gThumb

Screen recording: OBS/ Kazam.

aibara 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: gnome-terminal

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Pidgin

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: Lightning (Thunderbird add-on)

Video Player: VLC

Music Player: Audacious

Photo Viewer: gThumb

P.S. Thanks for working on autoremoving old kernels from /boot!

bitL 3 days ago 0 replies      
Autoremove old kernel from /boot - this might look nice on "paper" however I have significant issues on latest LTS with any version of kernel 4.8 and 4.10 where I can't ever get to desktop, so I have to stick with 4.4 (Broadwell Core M ultrabook). If a reliable kernel is gone, I might not be able to boot unless I prepare an emergency USB stick and carry it with me all the time...
tapper 3 days ago 0 replies      
Web Browser: FirefoxEmail Client: ThunderbirdFile manager: NemoBasic Text Editor: Geany Messaging Client: Telegram, PidginIRC client: HexchatPDF Reader: EvinceCalendar: Thunderbird's built-inVideo Player: VLCMusic Player: Spotify non-free, VLCScreen recording: SSR (ppa:maarten-baert/simplescreenrecorder)System monitor: htop, gnome-system-monitorCalculator: apcalc
gurkendoktor 2 days ago 0 replies      
I don't really care as long as the Software app is in good shape. It should find common software and maybe even have a link to software that it doesn't find (search for Spotify->show link with PPA installation instructions).

My only wish is OpenVPN (+GUI integration).

interfixus 3 days ago 0 replies      
Web Browser: Pale MoonEmail Client: ThunderbirdTerminal: [DE default]IDE: GeanyFile manager: [DE default]Basic Text Editor: ???IRC/Messaging Client: PidginPDF Reader: qpdfviewOffice Suite: [none]Calendar: Thunderbird/LightningVideo Player: SMPlayerMusic Player: ???Photo Viewer: Viewnior, [DE default]Screen recording: ???
devillius 3 days ago 0 replies      
Web Browser: Firefox, Chromium, Chrome

Email Client: Thunderbird

Terminal: gnome-terminal

IDE: Atom, VS Code

File manager: Nautilus

Basic Text Editor: gedit

IRC/Messaging Client: None

PDF Reader: None

Office Suite: Libreoffice, Openoffice

Calendar: None

Video Player: VLC

Music Player: None

Photo Viewer: None

Screen recording: Recordmydesktop (Kali recorder)

rasengan 3 days ago 0 replies      
The switch to libinput is good. I would also strongly suggest including libinput-gestures which enables multi-touch gestures. It's a fascinating feature which helps one's work flow.

Dash to Dock is another good one as are several other nice GNOME extensions.

bumblebee / gfx support would be nice :-)

Tiling Extensions as well.

The GNOME screen recorder works fine built in. :)

pdfttgz 3 days ago 0 replies      
Web Browser: ChromiumEmail Client: ThunderbirdTerminal: Gnome TerminalIDE: BuilderFile manager: NautilusBasic Text Editor: VimIRC/Messaging Client: PolariPDF Reader: ChromiumOffice Suite: LibreOfficeCalendar: Gnome CalendarVideo Player: VLCMusic Player: AudaciousPhoto Viewer: ShotwellScreen recording: No preference
jdlyga 3 days ago 0 replies      
The default apps in Ubuntu under Unity are good as-is. I don't feel the need for any changes.

But after looking at the 17.10 image, it absolutely needs dash to dock. Gnome is unusable to a lot of people without it. Ubuntu is supposed to be user friendly, remember.

Also, improving the look of GDM is a must. It looks fairly ugly by default.

sunseb 17 hours ago 0 replies      
Init: Alternative to systemd please. :)
sathackr 3 days ago 1 reply      
Native Windows user, raised on it since 3.0. Made Ubuntu 16.04 my primary OS about 14 months ago after MS tried to cram Windows 10 down my throat and insisted on packaging the Windows Store, CandyCrushSaga and Facebook apps in Server 2016 and making them essentially impossible to remove.

Every day I get more and more comfortable. It hasn't been without frustration, and often I've wanted to give up and go back, but so far I've stuck to it.


Web Browser: Google Chrome

Email client: None since I use gmail and Office 365, and not much will cooperate with O365 except OWA.

Terminal: default preinstalled app

IDE: Not a developer

File manager: default preinstalled app(Nautilus?)

Basic text editor: gedit, or the non-gui version of emacs. I know I know.....

IRC/Messaging: Google voice and Slack web pages, via Google Chrome

PDF Reader: Evince or Google Chrome. Not really because I prefer either, just the first ones I found and they were 'good enough'.

Office Suite: Preinstalled libreoffice has been 'good enough' for me. Also Google Sheets(via Chrome)

Calendar: Don't use one, probably would if O365 integration worked better.

Video Player: Default preinstalled player because it usually works, but VLC occasionally if I have something the built-in won't play.

Music Player: None -- Pandora/Soundcloud/Youtube/DI.FM/Google Play, all web, via Google Chrome.

Photo Viewer: default preinstalled has worked pretty well for me. I think I like it better than the Windows Photo viewer that MS took away from me with 8/10

Screen recording: None. I make heavy use of the preinstalled screenshot utility, though I wish it was a bit more like the windows snipping tool. It's fairly annoying to use it to grab multiple screenshots when you're trying to just select an area, though I like that you can grab a quick succession using the prt-screen and save them all.

Other apps I use often:Steam


Remmina, though I wish it had more features for RDP. Seems sessions are much slower than when using a MS rdp client.


Occasionally Gimp, though it's pretty annoying to use in 16.04 because of the way it creates multiple separate windows.

luis3380 2 days ago 0 replies      
Web Browser: chromeEmail Client: thunderbirdTerminal: IDE: codeblocksFile manager: nautilusBasic Text Editor: geditIRC/Messaging Client: ???PDF Reader: evinceVideo Player: vlcOffice Suite: libreoffice (last version)Music Player: clementine
Jackneill 3 days ago 0 replies      
Web Browser: chromium, firefox

Email Client: thunderbird

Terminal: alacritty

IDE: vscode

File manager: nemo

Basic Text Editor: gedit, sublime text 3

IRC/Messaging Client: hexchat

Office Suite: libreoffice

Video Player: mpv, vlc, smplayer

Photo Viewer: eog

Screenshot taker: shutter

nahtnam 2 days ago 0 replies      
I just want to say that the web browser should be Firefox for the sole reason that most people will install chrome and having both chrome and chromium would be confusing.
koot 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: Gnome Terminal

IDE: Emacs / Sublime Text 3 / Geany

File Manager: Thunar / PCManFM / Caja (Anything but Nautilus they stripped to many features after 2.32)

Basic Text Edtor: Gedit

IRC / Messaging Client: Hexchat / Pidgin

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: Gnome Calendar

Video Player: VLC / SMPlayer

Music Player: Deadbeef / Audacious / Rhythmbox

Photo Viewer: EOG

Screen Recording: ???

rosco18 1 day ago 0 replies      
Web Browser: Chrome

Email Client: Geary

Terminal: Gnome Terminal

IDE: Eclipse

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Messenger for desktop

PDF Reader: Default on old version

Office Suite: WPS office

Calendar: Gnome Calendar

Video Player: TOTEM

Music Player: Evince

Photo Viewer: ???

Music Player: Rhythmbox

Photo Viewer: shotwell

Screen recording: default on old version

ptr_void 3 days ago 0 replies      
Everyone default seems to be gnome nowadays, I don't understand why. One of the main reason for me to stick with Ubuntu was unity being a great DE.


Web Browser: Firefox

Email Client: ???

Terminal: Gnome terminal

IDE: VIM + plugins, Visual Studio Code

File manager: 16.0 default

Basic Text Editor: VIM

IRC/Messaging Client: ???

PDF Reader: 16.04 default

Office Suite: LibreOffice, markdown + pandoc -> pdf

Calendar: ???

Video Player: VLC

Music Player: ???

Photo Viewer: ???

Screen recording: Simple Screen Recorder


toxicbits 3 days ago 0 replies      
Web Browser: Chromium

Email Client: Geary

Terminal: Gnome Terminal

IDE: Gnome Builder

File manager: Gnome Files

Basic Text Editor: Gedit

IRC/Messaging Client: Polari

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: Gnome Calendar

Video Player: Gnome MPV

Music Player: Lollypop

Photo Viewer: Gthumb

Screen recording: Peek

billconan 3 days ago 0 replies      

Web Browser: chrome (close source)

Email Client: web gmail/web outlook

Terminal: ubuntu default (gnome terminal?) (I don't like it)

IDE: QtCreator

File manager: ubuntu default (gnome file manger?) (I don't like it)

Basic Text Editor: sublime text (close source)

IRC/Messaging Client: slack (close source)

PDF Reader: ubuntu default

Office Suite: libreoffice (hate it!)

Calendar: ubuntu default

Video Player: vlc

Music Player: ubuntu default

Photo Viewer: ubuntu default

Screen recording: shutter


Sir_Cmpwn 3 days ago 1 reply      
PDF reader: lightweight greenfield project that just puts pdf.js in a GTK3 webview

My answer to all of the other questions, though, is "nothing that's suitable for noobs". To this end, please make it easy to clean out the gunk and bring in power user tools.

ColanR 2 days ago 0 replies      
I really like the defaults that ubuntu gnome currently has. If I could make one request, it would be to include gdebi in the default install. I've found it much more convenient for adding .deb packages than software center.
c2h5oh 3 days ago 0 replies      
Web Browser: Firefox, Chromium

Email Client: Thunderbird

Terminal: Termite

Basic Text Editor: Leafpad, gedit

IRC/Messaging Client: Pidgin

Office Suite: Libre Office

Video Player: mpv

Screen recording: OBS Studio

abbiya 3 days ago 0 replies      
Web Browser: firefox

Email Client: dont include one

Terminal: stable one with wayland support

IDE: vs code

File manager: mate's

Basic Text Editor: no gedit for sure

IRC/Messaging Client: dont bother to include one

PDF Reader: smallest and stable one

Office Suite: dont include

Calendar: no good apps are there

Video Player: vlc

Music Player: Clementine

Photo Viewer: include only one, no need to photo manager

Screen recording: include the stable

lucb1e 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

File manager: Nemo

Basic Text Editor: Anything except Gedit. For example Geany is fine.

Messaging Client: Telegram, Pidgin

IRC client: Hexchat

PDF Reader: Evince

Calendar: Thunderbird's built-in

Video Player: VLC

Music Player: Spotify non-free, VLC

Screen recording: SSR (ppa:maarten-baert/simplescreenrecorder)

System monitor: htop, gnome-system-monitor

Calculator: apcalc

Shorel 2 days ago 0 replies      
Web browser: Chromium.Bittorrent client: Deluge.

I use Kodi for videos and music and sublime text to edit texts, and I don't see any reason to force complex or proprietary software as the defaults.

hd4 2 days ago 0 replies      
I don't know if this is the appropriate thread but can we have some better support for F2FS in Ubuntu please?

From what I know, we can't even install to a F2FS partition using the default installer.

mi100hael 3 days ago 0 replies      
Web Browser: FireFox, Chromium, Chrome only as last resort for media compatibility

Email Client: Thunderbird, mutt

Terminal: Gnome Terminal, Terminator

IDE: Netbeans

Basic Text Editor: vim, gVim, gedit

IRC/Messaging Client: Pigin, Hexchat

Office Suite: LibreOffice

Calendar: NextCloud web

Video Player: VLC

Music Player: VLC

Photo Viewer: Shotwell I guess

kevincox 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: gnome-terminal

IDE: neovim

File manager: nautilus

Basic Text Editor: gedit (but actually neovim)

IRC/Messaging Client: None

PDF Reader: evince

Office Suite: Libreoffice

Calendar: Lightning (thunderbird plugin)

Video Player: Totem

Music Player: Totem/None

Photo Viewer: eog

Screen recording: I don't use them frequently enough to remember one I like.

Giako 3 days ago 0 replies      
Web Browser: Chromium, Firefox, Chrome

Email Client: Thunderbird, Web GMail

Terminal: Terminix

IDE: IntelliJ IDEA Community, Eclipse

File manager: Nautilus

Basic Text Editor: GEdit

PDF Reader: evince

Office Suite: LibreOffice, Google Drive

Calendar: Thunderbird Lightning, Google Calendar

Video Player: Totem

Music Player: Spotify webapp, Spotify client non-free

wasd 3 days ago 0 replies      
One of my greatest frustrations is the default email client. It's caused a lot of headaches with mailto links. I would prefer if Ubuntu did not ship with one.
FranOntanaya 3 days ago 1 reply      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: Gnome-Terminal

IDE: None

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Whatever supports Slack and Discord I guess.

PDF Reader: Current choice is fine.

Office Suite: LibreOffice

Video Player: I prefer SMPlayer to VLC for simple playback

Music Player: Clementine

Photo Viewer: gThumb

Screen recording: Kazam

thibran 3 days ago 0 replies      
The default "simple" console text editor "nano" should be replaced by the much more intuitive editor called "ne" (a less known gem).
pksadiq 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Evolution

Terminal: gnome-terminal

IDE: gnome-builder?

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Polari/??

PDF Reader: Evince (gnome-documents?)

Office Suite: LibreOffice

Calendar: gnome-calendar

Video Player: Totem/VLC

Music Player: rhythmbox (gnome-music?)

Photo Viewer: gnome-photos/eog

Screen recording: ???

a_humean 3 days ago 0 replies      
Web Browser: Chromium, Firefox, Chrome

Email Client: Gmail web

Terminal: Gnome Terminal

IDE: VS Code

File manager: nautilus

Basic Text Editor: gedit

IRC/Messaging Client: xchat

PDF Reader: Evince

Office Suite: Office360 web, LibreOffice

Calendar: Gnome Calendar, Google Calendar web

Video Player: smplayer

Music Player: cmus, Spotify non-free

Photo Viewer: Eye of Gnome

Entangled 3 days ago 0 replies      
Sublime is all I need. I'll build everything else.
tapoxi 3 days ago 0 replies      
Remove the following:

* Email client


* IRC/Messaging Client

* Calendar

* Office Suite

Only absolute necessities in a default install. I still don't understand why Linux distributions insist on shipping so much stuff by default.

nandop 2 days ago 0 replies      
Web Browser: Chromium

Email Client: Evolution

Terminal: Gnome Teminal

IDE: Atom

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: ???

PDF Reader: Document Viewer

Office Suite: LibreOffice

Calendar: Gnome Calendar

Video Player: Totem

Music Player: Audacious

Photo Viewer: Image Viewer

Screen recording: ???

supersexman 2 days ago 0 replies      
Web Browser: Opera non-free (you can also make a commercial agreement with Opera, this would raise their market share)

Email Client:

Terminal: terminator

IDE: Atom

File manager: Nautilus

Basic Text Editor: Gedit

Office Suite: LibreOffice

Video Player: VLC

Music Player: Amarok

vkandy 2 days ago 0 replies      
Web Browser: Chrome

Email Client: Thunderbird

Terminal: Gnome Terminal, Terminator

IDE: Webstorm (several)

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: pidgin/hexchat

PDF Reader: evince

Office Suite: Libre Office

Calendar: Gnome Calendar

Video Player: VLC

Music Player: Rythmbox

Photo Viewer: Shotwell

Screen recording: Peek

Bonus: htop, KeePass2

erazor42 3 days ago 0 replies      
Web Browser: Chromium

Email Client: gmail

Terminal: terminator

IDE: Sublime / VSCode

File manager: terminator

Basic Text Editor: Sublime

IRC/Messaging Client: irssi

PDF Reader: Chromium plugin

Office Suite: Libre office (I'd prefer Microsoft one)

Calendar: Google calendar

Video Player: vlc

Music Player: YouTube :D

Photo Viewer: basic gallery

Screen recording: -

_R_ 3 days ago 0 replies      
Web Browser: Chrome, Chromium

Email Client: unity-mail

Terminal: Gnome Terminal


File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: None

PDF Reader: Evince

Office Suite: LibreOffice, Google Drive

Calendar: Gnome Calendar, Google Calendar

Video Player: VLC, YouTube

Music Player: Audacious

Photo Viewer: Gnome Image Viewer

Screen recording: None

tradesmanhelix 3 days ago 0 replies      
Web Browser: Firefox ESR, Waterfox

Email Client: Thunderbird

Terminal: Konsole

IDE: vim, emacs, Atom

File manager: Dolphin

Basic Text Editor: kwrite, gedit

IRC/Messaging Client: irssi

PDF Reader: Okular

Office Suite: LibreOffice

Calendar: Lightning Thunderbird Plugin

Video Player: VLC

Music Player: Clementine, cmus

Photo Viewer: Gwenview

Screen recording: Peek

jakobdabo 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: URXVT

IDE: Qt Creator, Eclipse, Geany

File manager: Thunar

Basic Text Editor: Mousepad

IRC/Messaging Client: Riot, Gajim

PDF Reader: Evince, Zathura

Office Suite: Libre Office

Video Player: VLC Media Player, mplayer, mpv

Music Player: DeaDBeeF

Photo Viewer: ???

Screen Recording: ???

Jackneill 3 days ago 1 reply      
Another humble wish: a subl/vscode like ctrl+shift+p multifunctional menu, where you can write commands, launch things, etc.
ajitid 2 days ago 0 replies      
Most of them are preferring VS Code as their IDE, Firefox as their web browser and VLC for playing media
brian_herman 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: gnome-terminal

IDE: vscode

File manager: nautilus

Basic Text Editor: gedit

IRC/Messaging Client: ???

PDF Reader: evince

Office Suite: libreoffice

Calendar: Thunderbird

Video Player: vlc

Music Player: vlc

Photo Viewer: evince

Screen recording: never use one so I dont really have an opinion

mrkrabo 3 days ago 0 replies      
I've removed the ones I don't use.

Web Browser: Chrome

Email Client: Evolution

Terminal: gnome-terminal


File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: HexChat

PDF Reader: Evince

Office Suite: LibreOffice

Video Player: mpv

Music Player: GTK3 frontend of Audacious

Photo Viewer: eog

mherrmann 3 days ago 1 reply      
Web Browser: Chrome

Email Client: None

File manager: fman (non-free)

Basic Text Editor: Sublime

Video Player: vlc

acidburn1995 3 days ago 1 reply      
Web Browser: palemoon

Email Client: mutt

Terminal: terminator

IDE: jetbrains stuff, vim

File manager: ranger, nautilus

Basic Text Editor: vim

IRC/Messaging Client: hexchat

PDF Reader: evince

Office Suite: libreoffice

Calendar: cal, webshit

Video Player: mplayer,vlc,totem

Music Player: clementine

Photo Viewer: feh

Screen recording: shutter

larkery 2 days ago 1 reply      
Web Browser: conkeror

Email Client: emacs

Terminal: urxvt

IDE: emacs

File manager: emacs

Basic Text Editor: emacs

IRC/Messaging Client: emacs

PDF Reader: emacs + epdftools

Office Suite: n/a

Calendar: emacs

Video Player: n/a

Music Player: emacs

Photo Viewer: feh

Screen recording: n/a

williamdclt 3 days ago 0 replies      
Web Browser: Firefox, Chromium, Chrome

Email Client: none

Terminal: gnome-terminal, terminator

IDE: none

File manager: DE default

Basic Text Editor: Gedit

IRC/Messaging Client: none

PDF Reader: Evince

Office Suite: Libre office

Calendar: ???

Video Player: VLC

Music Player: ???

Photo Viewer: DE default

Screen recording: ???

antouank 3 days ago 0 replies      

Web Browser: Chromium

Email Client: Gmail web

Terminal: xfce4 terminal

IDE: neovim

File manager: Thunar

Basic Text Editor: neovim

IRC/Messaging Client: google hangouts web

PDF Reader: evince

Office Suite: LibreOffice

Calendar: google calendar

Video Player: vlc

Music Player: vlc

Photo Viewer: ristretto

Screen recording: xfce4 Screenshooter


Kliment 3 days ago 0 replies      
Browser: Firefox

Email client: Thunderbird

Basic text editor: Geany

Office suite: LO

but allow users to select defaults at install or at any other time

mazr 3 days ago 0 replies      
Web Browser: Chromium

Email Client: None

Terminal: Gnome Terminal

IDE: None

File manager: Gnome default

Basic Text Editor: gedit

IRC/Messaging Client: None

PDF Reader: Gnome Default

Office Suite: None

Calendar: None

Video Player: VLC

Music Player: VLC

Photo Viewer: Gnome default

Screen recording: Gnome Default

w4rh4wk5 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: Terminator

IDE: none

File Manager: nemo

Basic Text Editor: Gedit

IRC/Messaging: Hex-Chat, Empathy

PDF Reader: Okular

Office Suite: Libreoffice

Calendar: Thunderbird

Video Player: VLC

Music Player: Audacious

Photo Viewer: ristretto

Screen recording: obs

type0 2 days ago 0 replies      



mpv player and SMPlayer


Geeqie image viewer

Caffeine (to turn the screensaver off)


IDE: GNOME builder

would be great to add those to the repos for Ubuntu server / command line:

micro editor


dm319 3 days ago 0 replies      
ubuntu-mate has a nice software boutique, which I think is a great idea for people new to the world of FOSS. It's a nice curated list of great FOSS software sorted by category.
NuDinNou 3 days ago 0 replies      
Web Browser: GNOME Web

Email Client: -

Terminal: Gnome Terminal

IDE: -

File manager: GNOME Files

Basic Text Editor: Gedit

IRC/Messaging Client: -

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: GNOME Calendar

Video Player: VLC

Music Player: GNOME Music

Photo Viewer: gThumb

Screen recording: -

Grue3 3 days ago 0 replies      
Browser: Firefox LTE (pre-web extensions)

Terminal: guake

IDE: Emacs

File manager: anything but default gnome manager

Music player: audacious

antihero 3 days ago 0 replies      
Web Browser: Chromium

Email Client: None

Terminal: Tilix?

IDE: vs-code

File manager: Nautilus

Basic Text Editor: vs code

IRC/Messaging Client: None

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: Gnome Calenar

Video Player: mpv

Music Player: Audacious

Photo Viewer: ???

Screen recording: ???

nitins 3 days ago 0 replies      
Web Browser: Chrome

Email Client: Geary

Terminal: Terminator

IDE: -

File manager: Nautilus

Basic Text Editor: Gedit

IRC/Messaging Client: Pidgin

PDF Reader: Evince

Office Suite: LibreOffice

Calendar: -

Video Player: SMPlayer

Music Player: Lollypop

Photo Viewer: -

Screen recording: -

pratikborsadiya 2 days ago 0 replies      
Web Browser: Chromium

Terminal: Gnome-terminal

IDE: Sublime text

File manager: Nautilus

Basic Text Editor: nano

Video Player: VLC

Music Player: VLC

edelans 3 days ago 0 replies      

Web Browser: Chrome, Firefox

Email Client: none

Terminal: default

IDE: Atom

File manager: nautilus

Basic Text Editor: nano

IRC/Messaging Client: none

PDF Reader: default

Office Suite: google apps

Calendar: none

Video Player: VLC

Music Player: Spotify, non-free

Photo Viewer: default

Screen recording: Kazam


rodolphoarruda 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

File manager: Nautilus

Basic Text Editor: GEdit

PDF Reader: Okular

Office Suite: LibreOffice

Video Player: VLC

Music Player: VLC

fatzombi_ 3 days ago 0 replies      
i switched to lubuntu last year (ubuntu had some serious unity problems), i really like unity, give gnome more unity ish design
dcintes 3 days ago 0 replies      
Web Browser: Vivaldi, Firefox

IDE: eclipse

Basic Text Editor: gedit

Office Suite: LibreOffice

Video Player: Vlc

Screen recording: Obs

itomato 3 days ago 1 reply      
Crowdsourcing at its worst.

Get with a modern Product Management philosophy, and quit begging the community for ideas.

Crossposting to Reddit, Slashdot and HN on the same day smacks of utter desperation.

ovh 3 days ago 1 reply      
Totally agree with Freak_NL.

For video player, definitely VLC.

aruggirello 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

IDE: Atom

Office Suite: LibreOffice

Calendar: Google Calendar web

cromulen 3 days ago 0 replies      
Web Browser: Chrome, Firefox

Email Client: Various web clients

Terminal: Gnome Terminal

IDE: VS Code

File manager: Nautilus

Basic Text Editor: vim

IRC/Messaging Client: Slack, Discord

PDF Reader: Chrome, Evince

Office Suite: Google drive web

Calendar: Google calendar web

Video Player: VLC

Music Player: Spotify non-free

Photo Viewer: The default one

Screen recording: None

frik 1 day ago 0 replies      
Consider giving Ubuntu MATE even more love. It's the Ubuntu as it should be with a proper shell, not this Gnome3 UI-mess but with great Gnome2 alike UI. https://en.wikipedia.org/wiki/Ubuntu_MATE
sunstone 3 days ago 0 replies      
Synaptic, geany, vlc thanks.
chauhankiran 3 days ago 0 replies      
Web Browser: Chromium

Basic Text Editor: gEdit

Video Player: VLC

neves 3 days ago 0 replies      
Music Player: Clementine
c8g 2 days ago 0 replies      
Terminal: Tilix

Video Player: vlc

stuaxo 2 days ago 0 replies      
Terminal: Terminix
khc 3 days ago 0 replies      
web browser: firefox

photo viewer: shotwell

TeMPOraL 3 days ago 1 reply      
Web Browser: Chrome non-free, Emacs

Email Client: Gmail web, Emacs

Terminal: xterm, fish shell, Emacs

IDE: Emacs

File manager: default, Emacs

Basic Text Editor: Emacs

IRC/Messaging Client: Emacs

PDF Reader: whatever that default one is, Emacs

Office Suite: LibreOffice

Calendar: Emacs

Video Player: VLC

Music Player: Spotify non-free

Photo Viewer: whatever the default is

Screen recording: OBS

I'm not joking with that Emacs thing. Please, oh please, ensure Ubuntu has always a recent Emacs version.

linopolus 3 days ago 1 reply      
Web Browser: Safari.app

Email Client: Mail.app

Terminal: Terminal.app


File manager: Finder.app

Basic Text Editor: NeoVIM

IRC/Messaging Client: Messages.app

PDF Reader: Preview.app

Office Suite: Pages.app/Numbers.app/Keynote.app

Calendar: Fantastical 2.app

Video Player: mpv

Music Player: VOX.app

Photo Viewer: Preview.app

Of course, this is for a real world usable operating system, not ubuntu utopia.. If Linux, Gentoo is nice ;)

blubberblase23 3 days ago 0 replies      
Web Browser: Firefox

Email Client: Thunderbird

Terminal: Terminator

IDE: Vim ;)

File manager: pcmanfm

Basic Text Editor: vim/gedit

IRC/Messaging Client: pidgin

PDF Reader: mupdf

Office Suite: libreoffice

Calendar: Thunderbird

Video Player: vlc

Music Player: vlc

Photo Viewer: nomacs

Screen recording: don't know

At the most important: Init System => OpenRC

dabockster 3 days ago 0 replies      
I'm really looking forward to seeing how native GNOME will look with official Ubuntu support and not as a community flavor.

Anyways, here's my request list:


Web Browser: Firefox, Vivaldi (people keep claiming it's open source, so look into it)

Email Client: Thunderbird

Terminal: GNOME default


(Serious answer is VSCode since it seems to be a nice in-between for a full IDE and a simple text editor)

File manager: Nautilus

Basic Text Editor: No preference

IRC/Messaging Client: HexChat

PDF Reader: No preference

Office Suite: LibreOffice

Calendar: Thunderbird, No preference

Video Player: VLC

Music Player: RhythmBox, Spotify (maybe just a downloader program - don't include the full install out of the box)

Photo Viewer: No preference

Screen recording: No preference

Games: Include Steam out of the box?


This list also comes with the usual stuff like dump Systemd, continue working on MESA drivers/networking drivers/drivers in general, etc.

Hope to see some great stuff in 17.10!

frik 3 days ago 0 replies      
> We asked the HackerNews community, "What do you want to see in Ubuntu 17.10?"

Yeah, and the experiment went horrible wrong :(

The last thing the community wanted was a plain Gnome 3 shell for 17.10.

The older Unity was great, the latest Unity and Gnome3 are crap! (ugly as hell (macOS UI clone for the cheap), and worse usability than older Unity and macOS) So you single handled destroyed the default Ubuntu with some weird decisions. And this systemd trainwreck is still on board.

For applications:

* Web Browser: Chromium (with sane privacy default settings)

* Email client: Gnome Evolution

* File manager: Unity 7 file manager

* Basic Text Editor: GEdit (older version with menu bar, from Ubuntu 14)

* Office Suite: LibreOffice or Callibri

* Calendar: Evolution

Ask HN: What advice would you give for breaking into top-tier companies?
9 points by peller  1 day ago   7 comments top 6
bsvalley 23 hours ago 1 reply      
If you're targeting companies like google, facebook, etc. They're looking for excellent algorithm solvers. Ideally, people who can right a complex function on a whiteboard in a very short amount of time (under 15 minutes).

That's it.

Your past experiences don't really matter. My best advise is for you to memorize as many algorithm problems as you can and to make your Resume look like you'd be someone who could easily crack a "technical" interview. They usually look if you've already worked for one of these companies in the past, if you've graduated from a prestigious institution, with an excellent GPA, if you've won a hackathon and things like that. Forget about buzz words, technologies, prior projects and open source stuff. We all do that by default. Unless you're someone like Guido van Rossum, they don't really care.

nostrademons 1 day ago 0 replies      
Get the relevant experience via working on open-source stuff.

That doesn't mean a ridiculously over-engineered side project with distributed micro-services, BTW. Most of the top-tier companies don't actually fall for the bullshit that makes up most of the tech industry hype cycle.

It could mean investigating an interesting data-science problem with publicly-available data, building a model with some predictive validity, and publishing your findings & code via blog & GitHub. Or it could mean building a side-project for some local organization of importance to you, but really going the extra mile on user-experience so it's not just a CRUD screen, and you collect data in unobtrusive ways that don't bother the user. Or it could mean working on a hobby programming language and delivering a working compiler.

EnderMB 10 hours ago 0 replies      
I've been thinking about posting something similar, but your experiences match mine, so I'll wade in with my experiences too.

I too am a developer with 7 years of experience, probably a bit more if I count freelancing during university. I studied at a not-so-great university in the UK where I studied Computer Science, and most of my experience is either in a non-tech startup or digital agencies. In terms of agency strength I currently lead projects for a big UK agency in a satellite office. I'd say I'm a decent developer. Not the greatest in the world, but typically one of the better developers in most places I've worked. I've also got some open-source work behind me, and some user group talks, although primarily to do with content management systems.

Over the past decade I've applied to Google and Microsoft a couple of times, and every time I've been quickly rejected by email. Whether it's for a college internship, grad scheme, as a recent graduate, or after a few years of experience, I've received a rejection email after a week of applying. I've had recruiters from Amazon and Microsoft contact me on LinkedIn in the past, and after sending over my CV I've heard nothing back.

My thoughts match yours, in that I think it's because I don't have the "right" experience. It's probably a mixture of me being a .NET developer (and the stigma that comes with working on Windows), and primarily working with Content Management Systems. It's been a negative at jobs I've applied to in the past, so I can only guess that it's the same for the larger companies. I have a CS degree, and a public repo full of C# implementations of various data structures and algorithms, so I doubt it's to do with a lack of knowledge. Outside of me being put on some kind of top four blacklist, I can only guess it's because neither company wants to hire a .NET dev.

Apologies if my reply isn't that helpful, but I thought I'd wade in as someone with a CS degree who feels that they are in the same position as you.

Mz 20 hours ago 0 replies      
I don't code, but I was a homemaker for a lot of years. My first full time paid job was at a Fortune 500 company. I was 41 years old and it paid better than minimum wage.

I didn't plan that. I was trying to get a different job when a relative suggested I apply. But I knew people at the job who had spent years trying to get good enough to qualify.

Get a copy of "What color is my parachute?" and read up on the section concerning informational interviews. See if you can get a few information interviews. The point is a fact finding mission to get some idea of what it really takes to get into the company in comparison to where you currently are.

Do some googling online and start a folder to compile information on your target companies. Try to get some insight into what they are looking for.

Try to find out what the application and interview process is like. Big companies tend to have very formal processes. Insider connections will generally be less useful to you than in small shops like you have been working at.

I would do some basic legwork before asking further questions of this sort. I got a job at a big company and I can't really tell you how to make that happen. I had several years college and I had the math and language skills they wanted. I ended up qualifying for two positions and picking which one I wanted, this after more than a year of getting nowhere in my job search while going through a divorce. But there are people who are talented at job hunting (my sister is one such person) and my impression is they do a lot of research before applying.


dabockster 18 hours ago 0 replies      

I'm a full stacker too, so I sort of know what you're going through.


> but the response has always boiled down to "we don't think you have the relevant experience"

This has been my experience but as a guy one year out of school. And I live in the Seattle area, so you would think that I should have ample opportunities.

In my extremely limited experience, "relevant experience" can literally mean anything in this context. It might be true that they were looking for other technical knowledge. It could also mean that they were looking for another trait and wanted to let you down on a more neutral note. Basically, it's an HR term meant to avoid opening a can of worms on both sides.


>figuring I don't have the strongest resume

You have five years of full stack work. That's an incredibly strong background.

What languages did you write in? Platforms/programs/operating systems? What software patterns did you use?

Since you worked on a very broad area of software development, your resume is fine as long as you fine tune it a bit more to emphasize your knowledge on certain languages and frameworks, as well as the fact that you should have a good idea on how a software project evolves over time.


> Do I work on brushing up my algorithms and data structures knowledge in a lower-level language (and blog about it)?

You could try that. But that still doesn't guarantee that you'll get an interview. You could literally do this for a full year and still not get a code screen because someone will ask you "why did you only study this stuff for a year? where are your projects/work experience/meetup talks/OSS contributions/the holy grail/etc etc etc?!!!"


> Or do I spend time on MOOCs (and blog)?

Since you say you've graduated, I'm assuming you have a formal college degree. A MOOC would be a waste of cash at this point. You have the experience and education already. You don't need another diploma just to satisfy some HR drone.


> Or build a ridiculously over-engineered side project with distributed micro-services just to prove I can do it (and blog)?

Again, this is something that might get you in the door. It might not. Either way, I wouldn't recommend trying to write anything too specific. As the old saying goes, don't put all of your eggs in one basket.

And, once again, even if you're successful in building it, whoever replies to your application could still give you the "we don't think you have the relevant experience" jargon for literally any reason they feel like.


> move to a more opportunities-rich location, networking on the ground?

Only move once you have another job lined up. All those stories we hear of people moving for work reek of Survival Bias. We don't know how much they saved prior, if they had family/friends in the new location that could help them out, if they borrowed money, if they had their parents pay for it, etc. Moving anywhere is a huge time and money cost, so only do it if you have the cash and resources to do it. Reliable housing comes first, networking second.

But, then again, I do not know where you live.



Basically, my big points are

1. Don't do a MOOC if you already have any sort of professional programming experience (especially full stack). You already have the tools and knowledge necessary to learn almost anything related to modern programming on your own.

2. Don't move just to network. Networking won't necessarily get you a job, let alone an interview.

3. Don't read too far into those "I did it, so can you" articles. They're full of Survival Bias.

4. Companies can reject your application for any reason they feel like and get away with it by telling you something purposefully broad like "we don't think you have the relevant experience". It's total BS, but it's next to impossible to challenge it from outside the company.

5. It might be time to consider starting something new if it doesn't already exist in your town. If you know 3-5 people that have good business skills, you might want to consider talking to them.

6. There are a lot of over achievers in tech right now. Looking at them as you are right now can lead to phycological problems. You might want to consider talking to your doctor and/or a psychologist.


If you have any further questions or just want to talk/vent, feel free to give me a buzz at steven@stevenbock.me.

draw_down 21 hours ago 0 replies      
Just don't expect them to be as good as they look from the outside. Smart people do dumb things, and good businesses can be run on top of a pile of absolute garbage, technologically speaking. PR people can work wonders. Et cetera.
Is face to face dead?
4 points by greg_____ory  14 hours ago   5 comments top 5
kidmenot 7 hours ago 0 replies      
You know, we're probably doing it wrong. The Internet allows you to obtain many, many of the day-to-day answers in the blink of an eye. One would think that this is great, because theoretically, by virtue of such a shorter question-answer loop, you are freeing up more time to interact with your fellow human beings, have meaningful conversations with them, learn from them.

What I think happens is this: most people simply don't care that much about making contact. Not so much because everything can be found on the Internet, but rather because they are turning into less of a social animal than, maybe, we as a species used to be in the past.

In a way, I would argue that the fact that we can be more independent because BosnianBill on YouTube teaches you how to pick locks without you needing to ever leave the house, means that you feel like you don't need other people to be around in order to get answers or learn some cool skill.

To be completely honest, while I don't have any experience of living in any city that can be considered even remotely big, I have a hunch that, ironically enough, living in a huge city such as NYC is a bit alienating. I said "ironically" because I would guess there are more social happenings than you could partake in even if you could do it as a full-time job.

Ultimately, I think it boils down to trying not to forget that the Internet is valuable, but a good number of people are more valuable. Be it for their knowledge, for their humor or just their kindness. As with everything else, I believe one should find some sort of equilibrium between online resources and human interaction.

Easier said than done, though. The big likes are instant gratification, while maintaining a good friendship is a lot of hard, long term work. And today "long term" is a word we tend to dislike when it comes to getting gratification.

I don't know if any of this makes any sense, as I basically just jotted down my thoughts as I went.

devdevdev83 14 hours ago 0 replies      
It's not "dead", but our brains have now been trained to get its neurotransmitters differently. We used to feel the fulfillment of achieving something, learning, or friendly comfort through human interaction. Now, people can get it via screens which takes less effort both physically and psychologically (having to get over little awkwardness). We are programmed to gather the most with the least effort, so naturally people end up preferring the phone.

This is actually bad, because we are slowly losing our face-to-face interaction skills and become worse at reading expressions/reactions.

People say that it's no different from the 80's and show a photo of people reading newspapers on a bus, but I've yet to see photos of people reading them on their 1st dates.

zhte415 5 hours ago 0 replies      
Only as dead as you let it be. Keep the human touch. It is special and, depending on the industry you're in, quite rare.
tiredwired 13 hours ago 0 replies      
Physical location does not matter. Why live in NYC? Why do the big tech companies build huge headquarters and make workers commute? Why do interviewers try to determine if you are a good culture fit when all they really care about is how quickly you can produce quality code?
blocker_chain 14 hours ago 0 replies      
With the way this world is moving, unfortunately it's only going to get worse.
Ask HN: Resources for learning software design?
12 points by majewsky  1 day ago   3 comments top
dabockster 18 hours ago 1 reply      
Just study resources on MVC and some of the patterns that get lumped together with it (Adapter, Facade, etc). There are books available, but they all tend to lack in certain areas (since software design is a super broad topic). Best just to read up on some of the patterns and work on some projects. (Yes, I know that's the usual comeback for this sort of post. But practice really does make perfect for this sort of thing.)

And, if someone recommends a book called Code Complete, quietly begin to question some of their life choices.

Ask HN: What do you actually use your biohack implants for?
60 points by amingilani  1 day ago   54 comments top 10
88e282102ae2e5b 1 day ago 0 replies      
This whole concept seems like a combination of a desperate wish to be living in a better world and the need to seem interesting at parties. When there's a compelling reason to get such devices you won't have to ask people what they use them for, in the same way that you don't have to ask people why they have a cell phone.
pimeys 1 day ago 3 replies      
Does a CGM glucose monitoring sensor count? I get the values real time to my android watch and remote InfluxDB for later analysis.
thinbeige 1 day ago 3 replies      
Maybe I am clueless but why not just stick a NFC chip on the back of your smartphone or just get one with NFC?

I can't imagine any situation where you need an NFC chip and don't carry along your smartphone. Ok, there's one: You are swimming in a swimming pool and need to open the locker afterwards.

michjedi 1 day ago 5 replies      
You could easily cut an Oyster Card chip out of the card, stick it in your hand and use it to travel in London.
falcolas 1 day ago 1 reply      
I want to do this - to expand my senses and mind (what else is technology good for) - but I really don't want something that will wear out and which can't be easily replaced. I respect the pioneers in this field, and look forward to the tech becoming more advanced and mainstream.

To those who believe it will never become mainstream - the same could have been said for tattoos and piercings a mere few decades ago. I remember a time when visible tattoos were a sign of a counter culture, not a normal part of life.

Heck, Google Glass was shunned for its camera, but the Snapchat Spectacles are actively embraced only a few years later.

marklyon 1 day ago 1 reply      
I use a modified digestive tract to minimize the amount of personal space I require. Thus far, it's working well.
lordnacho 1 day ago 2 replies      
Could you possibly use it as a train ticket? A number of modern commuter systems now have swipe system that are NFC chips. Is it programmable?
cup 1 day ago 2 replies      
There are plenty of uses. Braces for teeth straightening. Cochlea implant for assisted hearing. Bionic eye to improve sight. Insulin pump to regulate blood glucose levels. Pace maker to supplement failing pacemaker cells.

Never understood why people associated "biohack implants" with sticking a magnet or NFC chip in your finger.

jackhwds 1 day ago 1 reply      
Can you not use it to pay for things? thats the whole reason I want to get one like an upgrade from apple pay
CodeWriter23 1 day ago 0 replies      
That's a hilarious parlor trick.
Bay Area for a month What to do to get back into startups
5 points by throwawaypls  17 hours ago   1 comment top
skdjksjdksjdk 15 hours ago 0 replies      
More people will want to connect/meet you if they have something interesting to gain from you. Mentioning how successful your financial services startup became or what your current startup ideas/interests/insights are may be helpful.
Ask HN: Someone registered trademark for the name of my product
5 points by roadbeats  17 hours ago   3 comments top 2
greenyoda 17 hours ago 1 reply      
Get some advice from an IP lawyer. You may want to read this first:


From my understanding (as a non-lawyer), trademarks in the US are domain-specific, so someone having a trademark for a Foobar loan company might not prevent you from getting a trademark for software called Foobar, assuming your software has nothing to do with loans or finance and there would be no confusion between the two products.

A lawyer could tell you if you should try to register a trademark for your product under the Foobar name.

Powerofmene 15 hours ago 0 replies      
Apparently they also have HR product offerings/software or are going to be going in that direction.

Is your product an HR product? If it is and they obtain the trademark registration of that product name for their HR product, they will have every right to prohibit your use in order to avoid unnecessary confusion. If it is only in the application process you can submit information to the USPTO showing that you have been using that name prior to them (the key here is proven prior use). That does not necessarily mean you will be able to prohibit their registration but if you can show prior use of the same name then the USPTO may allow you to continue to use that name, but that is not likely a wise course of action on a new product you hope to grow. You would subject your project to confusion and it does not sound like this is the type of business you would want your customers to think you are affiliated with or worse, you and that company are one in the same.

It would be wise to talk to an aiP attorney but you can do a great deal of online research regarding these types of conflicts. Unfortunately your situation is not that uncommon and the end result will probably be that you will need to change your name if you also have a HR software or a software product.

Ask HN: Are there any professionally valuable MOOCs on data science?
6 points by eauxuae  1 day ago   7 comments top 2
hackermailman 21 hours ago 1 reply      
You can take the real Masters of Data Science from Johns Hopkins online if you want https://ep.jhu.edu/admissions-and-financial-aid/admissions/i... it's about $24k, and your diploma + work exp likely satisfies entry requirements as they look at both.
DrNuke 1 day ago 1 reply      
There are a few courses and HNers will make a list for sure (Andrew Ng's, fast.ai, kaggle competitions and so on) but no magic wand, you will still need convincing someone to hire you. Therefore, your best shot imho is to have a good look locally and tailor your learning experience on the needs of your local job market, with the clear advantage of face-to-face relationships and local networking putting you ahead of unknown quantities in the employers' eye. Good luck!
Ask HN: How do you find reliable info about a virus or malware?
2 points by LCalrissian  18 hours ago   1 comment top
sas3 17 hours ago 0 replies      
You are correct in not relying on "any and all info" out there, esp., on topics that carry risk like this.

The best sources are KBs of AntiVirus vendors. The catch though is that malware "names/labels" are not standardized - so each AV vendor names it differently.

Try these to start with: 1. Symantec KB: https://www.symantec.com/security_response/landing/azlisting...2. McAfee listing: https://home.mcafee.com/VirusInfo/?ctst=1

AFAIK, VirusTotal had some way of giving out virus definitions but not sure now... I need to check.

Some legwork is needed before getting the right info - thanks to the proliferation of SEO tactics, letting marketers float to the - without necessarily any solid content in there.

Ask HN: How do you invite contributors to contribute on your project?
49 points by wasi0013  3 days ago   15 comments top 13
kbr 3 days ago 1 reply      
I usually don't invite contributors to my own project. Instead, people who are interested will naturally begin to make more and more issues and pull requests as they get more into your project.

If you get a project out there, people interested in it will start to help out. Gradually, this turns into that person becoming a contributor to a project.

wmichelin 2 days ago 0 replies      
There's a famous Chris Rock quote about him being broken down on the side of the road. When he was standing there waiting for help, nobody wanted to help. When he started pushing the car himself, people would always get out and help him. People love to see you helping yourself, and will naturally come help you if you are visible enough.
agibsonccc 20 hours ago 0 replies      
People tend to have different incentives for contributing.A ton of it is people scratching their own itch.

You still need a core team to drive a project.If you want contributors you'll need users.

People have a finite amount of time in a given day.They aren't going to contribute because you want them to.They want to get something out of it. It could be learning something, fixing a bug that affects their day job, an interesting side project for a weekend (some folks pick random projects to contribute to)

Open sourcing something also has different incentives.Many successful projects are either run by foundations or companies with the hopes of attracting talent.

Try to understand what the incentive structure is for people and contributors follow from that.

You still need to do project promotion as well.That's a whole separate topic though.

zython 3 days ago 0 replies      
Before everyone starts posting her/his own projects in this thread I'd like to pitch my idea to what I personally am looking in this situation: a board similar to https://starters.servo.org/ for open source project where I can learn a new language by fixing bugs/resolving issues that can be ranked from beginner to expert, so you can find interesting projects fix bugs and learn new languages at once.

The link I have posted only covers the mozilla servo project and I can see this concept working with multiple projects/languages/etc.

Of course one would need to heavily moderate the submissions but I think this idea is great. Anyone know if something like this exists ?

xz0r 3 days ago 0 replies      
One good example that I can point out is Homebrew's github repository[1]

The README is so clear and welcoming new contributors, by telling how exactly they can start contributing. In fact that encouraged me to start contributing to opensource. Now I'm doing Google Summer of Code under the same organization.

[1] https://github.com/homebrew/brew

afarrell 1 day ago 0 replies      
One thing to include: an explanation of how much background someone should have before contributing. You might think this is intimidating, but it is really helpful because it lets a potential contributor disambiguate whether they should

A) Just start contributing, sure in the knowledge that they aren't missing some piece of background that others would consider obvious.

B) Go off and search for a good book/course to learn about X, where X is a googlable phrase that your contributing.md just told them.

Mz 2 days ago 0 replies      
I think this is a hard problem to solve because actual invitations seem to not work well. In other words, writing to someone and asking them in specific seems to not go good places.

I think it works better to focus on a) making sure to create a welcoming or inviting atmosphere and b) leaving the door open logistically.

It needs to be apparent to other people that new contributors are welcome and it also needs to be apparent to other people where and how they can go ahead and step up to bat. These can be tricky things to pull off. It is much, much easier conceptually to just think "I know! I will actually literally invite people!" (aka ask them to contribute) and this means you may be asking people who have no interest in the project or not ability to effectively contribute or both.

I am still working on solving this piece for my own projects. Trying to be inviting without literally sending out invitations is tricky. But I think that is what works best to make it possible for those who have both interest and ability to get involved on terms that work for them.

type0 2 days ago 0 replies      
Good documentation as well as write about what can be improved and that you're open to new ideas and contributors.
cdubzzz 3 days ago 0 replies      
"Up For Grabs"[0] was posted on HN a while and it seems like a cool idea, but doesn't seem to have a ton of traction.

[0] http://up-for-grabs.net/

nikivi 3 days ago 0 replies      
We actually wrote a blog post that we link to anyone wanting to contribute to our project and we simply link that if anyone shows any interest.

Here is the project : https://learn-anything.xyz/

And here is the article we link to : https://learn-anything.github.io/2017/06/15/contributing.htm...

It saves quite a lot of time as we try to cover all the ways in which one can help with the project there.

napsterbr 3 days ago 0 replies      
I've created https://letsbuildagame.org.

Too bad I don't have the time to maintain or update such website, nor to actually keep reasonable docs at the pace things are changing.

I had the aspiration to create a truly contributor friendly project. It turned out to be way harder than I expected, at least for a small team like ours.

nithinm 2 days ago 0 replies      
im the author of pygsheets (a library for acessing google sheets from python) https://github.com/nithinmurali/pygsheets. As mentioned in other comments i think you will only get contributions if your project is useful. the project will only grow if it has some users. once you have some users you will start getting issues created. you would have to fix some issues at first. Now if your project has a good enough documentation. you will start getting some pull requests. it will go uphill from there.
FLGMwt 3 days ago 1 reply      
If you have a project looking for contributors, this question might be a good place :)
Ask HN: How do you get a job at a VC firm?
19 points by dynamic99  1 day ago   13 comments top 6
Powerofmene 1 day ago 1 reply      
It appears based on the background of the VCs currently, you need to build a product/business, grow it, sell or do an IPO (returning a tidy profit to the VCs that funded you), and then join a firm after 'retiring.'
nodesocket 1 day ago 2 replies      
The comments here make it seem like being an employee at a VC is super elite, and either requires a deep rolodex or deep pockets. While, I've thought about breaking from technology and business into the VC game, it seems like being a trader in NY would be more prestigious and probably way more lucrative in terms of compensation. Maybe I've just watch The Wolf Of Wall Street too many times.
propter_hoc 1 day ago 1 reply      
Getting a first job as a VC analyst is pretty achievable. It is pretty much a 3 years and out kinda job so any VC firm that has an analyst who's been there 2+ years will be hiring soon.

Typical background: Major in business/finance, or CS/engineering; whichever side you don't do, get some exposure to the other side - teach yourself to code or take an accounting basics class.

Get involved in the local startup ecosystem - volunteer at a demo day or a local tedx event, intern at a startup, something like that. Get to know a lot of people in this world. Maybe write a couple blog posts with insights about some upcoming markets.

Generally, you want to show that you get both tech and business pretty well, and also seem like someone who's eager to work hard to prove themselves and that lots of people seem to know.

richardknop 1 day ago 0 replies      
Why do you want to work for a VC firm? I would suggest investment bank might be better paying job with more potential.
warrenm 1 day ago 0 replies      
You know someone "important" there.


You already are "important".

Alex3917 1 day ago 0 replies      
Be well networked. With the understanding that your network isn't the list of people you know, but rather the list of people you've made at least $10M for.
Ask HN: Which companies are considered to have the best engineers in 2017?
31 points by capocannoniere  3 days ago   20 comments top 13
bsvalley 2 days ago 0 replies      
I hear terms like "developers", "coders", "resources" and all these kind of stuff when companies talk about us. So I don't think any company has brillant "engineers" per se. They maybe have excellent algorithm solvers on a whiteboard. Google, Facebook, etc.
devonkim 2 days ago 1 reply      
To be contrarian, I'll point toward financial engineering (not retail or I-banking and such) such as Renaissance. It takes some pretty crazy and smart people to dig into FPGAs and HDLs trying to write what would normally be CPU based algorithms while focusing upon latency and availability as well when so many dollars are in motion. The industry's secrecy habits make it hard to get a fair assessment, but I've never heard of anyone incompetent at such a place while I've heard gobs of stories of incompetent people at large tech companies.
rl3 2 days ago 0 replies      
My vote is Epic Games. If you look at UE4 changelogs, the amount of productivity is staggering.

Core engine programming is no joke either, let alone on a commercial engine used by half the industry.

Axsuul 3 days ago 0 replies      
There are no "best engineers". There can be, however, a "best engineer" for the specific stage the company is at. The typical higher echelon engineer that you'll find at the Big 4 will not necessary thrive at a early-stage startup.
PhrosTT 2 days ago 0 replies      
My person & abritrary list of companies I consider to be 'above' the Big 4:


Two Sigma


Maybe AirBnb & Netflix?

harrisreynolds 2 days ago 0 replies      
Joel Spolsky always seemed to have an aptitude for attracting great people to Fog Creek Software. See joelonsoftware.com for a treasure trove of knowledge if you somehow have never heard of him.
maxxxxx 2 days ago 0 replies      
I think a better question would be which company has the best environment for engineering? I see a lot of smart people with a lot of potential working on crap projects.
ravitation 3 days ago 0 replies      
Google is certainly one company that's traditionally had that reputation.
drewrv 3 days ago 1 reply      
I imagine this depends on how you define "best". The most impressive/challenging work right now is probably in AR or self driving cars. If "best" is based on code quality or productivity, well, that's kind of subjective.
sidcool 3 days ago 0 replies      
In my opinion, Google and Apple.
harrisreynolds 2 days ago 1 reply      
FYI. Big Four = Google, Facebook, Amazon and Microsoft

I'd guess Stripe, Palantir and AirBnB would be up there too.

Madmallard 3 days ago 2 replies      
blizzard valve bethesda are probably really high up there the smartest guy i knew at university went to work at blizzard he just made everyone around him look bad
j7ake 2 days ago 2 replies      
The best engineers are probably working in academia doing research.
Ask HN: What useful Linux (Ubuntu) software should more people be aware of?
39 points by deepsy  3 days ago   30 comments top 16
fphammerle 8 hours ago 0 replies      
In case you haven't yet:Set up an automatic backup system.

If you prefer a graphical user interface consider backintime.https://www.howtogeek.com/110138/how-to-back-up-your-linux-s...

Otherwise check out duplicity.https://help.ubuntu.com/community/DuplicityBackupHowto

Duplicity supports a bunch of protocols / target services (SFTP, dropbox, google drive, amazon S3 ...)

Duplicity uses asymmetric encryption (via gnupg)so the backup commands can be run unattended.(Your private key is not required for encryption during backup)

fphammerle 8 hours ago 0 replies      
If you like vim or other console applications with vi-like key bindings I'd would recommend taking a look at http://ranger.nongnu.org/

Ranger is an highly customizable file manager that can be controlled by using the keyboard only.

File management (searching, copying, moving, renaming...) takes considerably less time since I switched from windows-explorer / nautilus / nemo to ranger.

I can't imagine going back.

Getting started with ranger:https://github.com/ranger/ranger/wiki/Official-user-guide

nickmancol 2 days ago 0 replies      
GNU parallel

its a super useful tool to execute tasks using all cores of your machine. A simple example https://vidanp.wordpress.com/2016/11/04/paralelizando-en-lin...

type0 1 day ago 0 replies      
You could add PPA for VS Code on Ubuntu, you should try rsync (cli) or grsync (gui) and get Meld for diffs. Shutter for screenshots, Parcellite for clipboard history, Caffeine to inactivate the screensaver. Also you could get a lot of task specific software via so called snaps or package your tools own with snapcraft.
grover_hartmann 2 days ago 1 reply      
* systemd-nspawn - aka. chroot on steroids -- for all your container needs -- I use this a lot for all my development, for trying new programs, for games, etc.

* RetroArch - for all your emulation needs in one package.

* ripgrep - better and faster than ag (The Silver Searcher).

* mpv - very nice video player, it can also be used together with youtube-dl for streaming from various websites, including youtube, etc.

To site admins: stop marking my comments as dead for no good reasons, my suggestions are valid.

mobitar 2 days ago 2 replies      
Standard Notes :) It's an encrypted notes app I work on. Available on Linux and almost every other platform. https://standardnotes.org.
steven_braham 2 days ago 1 reply      
Franz: http://meetfranz.com/

It's a cross-platform messaging client that combines, Whatsapp, Facebook chat, Slack etc. into one application.

12s12m 10 hours ago 0 replies      
For a person who is initially starting with Linux. I'd suggest you to get familiar with the terminal. I'd also ask what your primary use case is. If you are a software developer vs code is a great editor to download.
Faaak 2 days ago 0 replies      

Its a wonderful CLI app when you calculate things with units.

Eg:You have: (1000W * 5 hour)/(24V100A)You want: min 125

Or:You have: 10 km * 6L/100km * 1.3 EUR/LYou want: USD* 0.837486

You should try it !

sharmi 3 days ago 0 replies      
Tunesviewer to access the university courses available on iTunes. It allows you to choose which videos to download and you can watch it through tunesviewer itself or your favorite media player.


manaskarekar 1 day ago 0 replies      
The following suggestion is definitely not the most useful, but really nice to have.

If you're feeling adventurous, you could experiment with different window managers, such as bspwm, awesomewm or i3.

Check out some examples in https://www.reddit.com/r/unixporn/

Here's a good demo of bspwm https://github.com/windelicato/dotfiles/blob/master/why_bspw...

Ag0s 2 days ago 1 reply      
It all depends on what you do with your computer. For one I am a stats nerd so I tend to have Conky running.

OpenOffice or Libre office; for all your Office needs, it can also output to Microsoft formats.

Screen; for multi terminal windows within one terminal. Also very handy when working remotely.

more_corn 2 days ago 3 replies      
If you don't already you should get familiar with Aptitude (apt-get). There's nothing like hopping into the command line and immediately installing the piece of software you want.

I like the Clementine music player.

Being able to hop into the command line to process text is neat. You might want to do a toutorial on grep, awk and sed.

Gimp is nice for photo manipulation, I use Inkscape for vector graphics.

Opera is a nice second browser (chrome is a memory hog) it also has built in vpn and Adblock.

jrader 2 days ago 0 replies      
Riot: End-To-End encrypted chat system the runs on Matrix. The idea behind Matrix is to connect different protocols through "bridges".

Matrix is federated (I suppose XMPP is federated too). You can send an email from Gmail to Yahoo, Outlook to Protonmail, etc.

Rjevski 1 day ago 0 replies      
"Linux" "user experience"

Good luck.

se7entime 2 days ago 0 replies      
What books can I read to improve my writing?
11 points by ssono  23 hours ago   7 comments top 4
itamarst 2 hours ago 0 replies      
The best book on understanding what style means: Clear and Simple as the Truth. Every other book just has confusing "this is The Correct Way", which is wrong, it all depends.

Once you understand style, either try for style they mostly talk about in that book (classical style), or if you want practical style then Revising Prose or Style: Toward Clarity and Grace are good.

dmullet 18 hours ago 1 reply      
"On Writing Well" by William Zinsser. Considered by many to be the best guide to non-fiction writing.
spcelzrd 6 hours ago 0 replies      
There are so many. Writing, like any other skill, can be taught and learned. Don't just practice and passively observe.

Thinking in Style, Pinker

Revising Prose, Lanham

Good Prose, Kidder

paulcole 17 hours ago 2 replies      
On Writing by Stephen King is quite good. Depending on where you'll be writing, Content Strategy for the Web by Kristina Halvorson might be useful, too.
Ask HN: How do I program with more discipline and less emotion?
16 points by muzani  2 days ago   11 comments top 5
itamarst 2 days ago 1 reply      
Productivity isn't about writing lots of code.

For example: if you spend 48 hours writing 10,000 lines of code, and then I produce same functionality in a normal 16 hours of work, with just 1,000 lines of code. Who is more productive?

So instead of focusing on writing lots of code, focus on solving problems. The less code it takes to solve a problem, the better off you are, because that's less code to maintain.

This attitude (explained in more detail here: https://codewithoutrules.com/2016/08/25/the-01x-programmer/) then leads inevitably to the idea that working long hours isn't actually useful, nor is working at 2AM a good idea. The best way to be productive is to think, and that is easier when you are well rested, and works better if you take breaks and go do something else (https://codewithoutrules.com/2016/11/10/work-life-balance-so...).

lioeters 2 days ago 1 reply      
I also used to love "binge programming", a kind of hyper-focused/obsessed productive phase, but I totally agree that it gets exhausting with age and not sustainable in the long run. In fact, for me it creates occasional but fairly regular cases of burn-out. I'm still learning to become a more disciplined programmer.

These days I'm trying to "stretch out the binge", so it's less extreme ups (and downs), rather a more long-term sustained focus and interest.

I'm in no position to give advice, but part of your solution may be emotional and intellectual engagement with the process of programming, the tasks at hand and the problems to be solved. Also, as a programmer, you might enjoy building such a system as Scrum/XP/etc. that suits your situation best.

Alacart 1 day ago 1 reply      
One of my main complaints about cs in university is that they didn't teach how to put their effort and energy into their projects in a healthy and sustainable way. Many students ended up learning the 'magic binge' approach you're talking about.

It depended on that seemingly random lightning bolt of inspiration combined with almost manic mental energy to work crazy hours to get it done. If you've ever worked through the night, met someone who _expects_ future crunch times (aka. binges), or put off working on something important because you just weren't feeling it right now, then you know what I'm talking about.

The closest analogy I've found is writing. Experienced professional authors most commonly give out the advice to work on it consistently, every day, whether you're feeling it or not. I feel like that heavily applies to programming too. If you care about a project, for work or for your self, you've got to make it part of a routine. Pick your days and time that you're going to work on it, then sit down and work whether you're super excited and have 'flow' or not. I think that after a short amount of time each session, you'll find you are creating the inspiration rather than waiting for it to find you.

jwdunne 1 day ago 0 replies      
Emotion is what makes you strive to do a good job. Caring is an emotion and caring about your work is an important quality to have.

Which would you prefer? A programmer that knocks out am untested Italian food stuff thousand line function or a programmer that takes care to structure the code such that it's well tested and factored?

gexla 2 days ago 1 reply      
You have the opposite problem. You need more emotion. It's the emotional connection to your work which enabled you to go on those binges. With no emotional connection, you wouldn't be driven to do any programming at all, let alone in binges.
Ask HN: When has switching the language/framework made an important difference?
139 points by banashark  5 days ago   145 comments top 42
dmlorenzetti 5 days ago 2 replies      
A few years ago, I rewrote an `R` script into Fortran, for better than order-of-magnitude speed increase.

The script optimized the placement of samplers in a building, in order to maximize the probability of detecting airborne pollutants, or to minimize the expected time required to detect. The rewrite cut the runtime down from 2-3 days to sub-hour.

Some of the speedup was intrinsic to the interpreted/compiled divide. However most of the speedup came from the greater control Fortran gave over how data got mapped in memory. This made it easier for the code to be explicit about memory re-use, which was a big help when we were iterating over millions of networks.

Re-using memory was helpful in two ways, I think. First, it avoided wanton creation and destruction of objects. Second, and more importantly, it allowed bootstrapping the work already invested in evaluating network `N` when it came time to evaluate a nearly-identical network `N+1`. Of course, I could have made the same algorithms work in R, but languages like C or Fortran, which put you more in the driver's seat, make it a little easier to think through the machine-level consequences of coding decisions.

That experience actually taught me something interesting about user expectations. When the Fortran version was done, my users were so accustomed to waiting a few days to get their results, that they didn't run their old problems faster. Instead, they greatly expanded the size of the problems they were willing to tackle (the size of the building, the number of uncertain parameters, and the number of samplers to place).

Rjevski 5 days ago 1 reply      
Well I'll provide a somewhat different story where the lack of change has caused quite a loss in productivity.

At my current employer's a big part of the codebase is in Perl and the boss is a fan of the language, so we keep using it. The problem is, Perl is pretty much dead, and most of the packages out there on CPAN feel like they've been built 10 years ago. Not to mention, the language itself lacks what I would call essential features like exception handling, classes, etc (which has to be tacked on by using "shims" from CPAN like Moose or Try::Tiny)

At some point I had a particular issue in one of our apps where it would be making tons of DB queries and we need to cache them. In Python land there are plenty of packages that give me transparent caching at the ORM level. In Perl land? Oh yeah this post on a mailing list from 2007 about someone having the same problem, and a bit of untested code that may or may not work.

I gave up on that particular issue and it'll probably never get fixed, but let's just say that have we been using an "alive" language things would've gone much smoother.

taurath 5 days ago 1 reply      
Developer ergonomics is underrated. Having an easy to understand system that has no magic, and in 90% of the work has no dependency chains that you have to hold in your head can really help people avoid bugs by being able to focus on the intent and execution rather than the framework quirks.
d--b 5 days ago 1 reply      
Moving a large C++ codebase to C# has helped us a lot. The legacy code had memory leaks that caused random crashes. It was also long to build, and wouldn't build in 64 bit. The C# version seemlessly let us run the code in either 32 or 64 bit. C# is also a much more readable language, and has a lot of great tools for refactoring and profiling. And C#'s performance is almost as good as C++ in many areas, so all in all it's been a great move.
thepratt 5 days ago 0 replies      
It all depends on the team, but personally the larger the team gets and the more complex your application becomes (monolith/microservice/etc independent) types are invaluable when it comes to shipping an actual product. You gain speed increases due to paths being evaluated ahead of time (compile time), but these are all secondary to developer peace-of-mind and time saved when work actually needs to get done - this includes ticket revisits due to "oh I forgot about that case", or "user did x and now this object is a string".

Yes, you should write unit tests to cover this in interpreted languages with weak or no types, but this depends on the developer a) doing it, and b) not missing any cases - PRs/code reviews are not a catch-all. Especially in the case of factoring common logic out or some other form of refactoring, a strongly typed language is my best friend.

tomohawk 5 days ago 1 reply      
Several years ago, our team refactored a large Java control system into a Ruby based one. The Ruby actually performed faster, scaled better, and was much easier to understand and maintain. The ergonomics of Ruby enabled clearer thinking about the problem, leading to the better results.

More recently, we've replaced Python, Ruby, and Java based systems with golang based ones. Not having to lug around a VM and associated other parts (jars, gems, ...) is a huge win. Performance is better across the board, and we've reduced the amount of hardware needed. There's also much better understanding of the code across the whole team.

sbov 5 days ago 0 replies      
Things like bug count and time to market seem difficult to separate from having more experience as a developer or knowing your problem space better. We use almost all Java, and we have several projects that we did major re-designs of in the same language, which increased maintainability, found bugs, etc. But if I chose a different language, I would have probably attributed it to the new language or framework.

Unless you have a problem that fits a specific technology really well, my experience is that your time to market will be minimized by using the tools you know best.

daddykotex 5 days ago 1 reply      
At work, we greatly benefited from a transition from Spring with Java to Play with Scala.

This mostly due to the inherent complexity in Spring and the fact that Spring developers are also Spring experts. When the main developer behind the application left, we struggled to add new features or even fix bugs because the team lacked the Spring expertise.

The rest of the business mostly dealt with Scala, so it was almost a no-brainer to go with Play.

The outcome has been very surprising. The application has better performance overall, is better suited for streaming and we have much more expertise in-house to add features and fix bugs.

The re-write was not without pain though. Spring is a well-supported and very rich framework. It probably does a bunch of things that the casual web developer will likely forget.

dmlorenzetti 5 days ago 1 reply      
Due to the desire to support Windows as a first-class citizen on a project, I've lately moved some support scripts from Bash to Python. These include dependency-scrapers (that assemble makefile rules), and archiving scripts (that back up selected files from selected directories).

This has been a big win in terms of the readability of the code, which has in turn made me more aggressive about adding features.

superasn 5 days ago 0 replies      
I'm a solopreneur and switching to AngularJs 1.x really made a drastic difference to my work. Before we used all sorts of hacks and jquery plugins to do the same and it was really hard to maintain our code.

After switching to AngularJs the development time became 20% and it became super easy to maintain. Not to mention programming became super fun again. I've tried react and angular 2 and vue but that just didn't click for me. We're are a small team of two so we don't follow the industry best practices, just whatever works for us and gets the site launched as quickly as possible, so i guess my comment is highly opinionated.

circlefavshape 5 days ago 0 replies      
A friend of mine is a java contractor, him and a bunch of java people got hired by a French company for a javascript project.

After a few months slogging through an unfamiliar language, the company decided to switch to java. Productivity went up, surprise!

BrandoElFollito 5 days ago 3 replies      
I am an amateur developer, mostly using python. I had from time to time to code a front-end in JS and it was a huge pain in the bottom (again, I am a real amateur).

This until I discovered Vue.js which changed my life. This and lodash made me actually like JS and front-end programming.

So this is an example what a framework did not help to improve code but actually made me choose in something else than the language I was using so far (coming from a background in C, then Perl)

sethammons 5 days ago 0 replies      
At work, our first success in this vein was migrating a Python Twisted service to Go. Due to the critical nature of this service, we strove for feature parity. We ended up with a mostly Go-like code base, but it was very similar to the original code base in basic structure. Most of the improvements we got were due to the language choice, not due to a better design.

Our main concern is concurrency, and for that Go excels. Additionally, post re-write, that code base is easier to follow, easier to extend and maintain, easier to deploy, easier to control lower level aspects, and much, much more performant. It was years ago at this point, but I believe our improvement was something like 120x.

Since then, at work, we've moved to Go as our main language for services. This has provided even more wins as we continue to move legacy Perl/AnyEvent code over. With new rewrites (and new projects), we are taking the opportunity to also redesign systems, enabling our software to scale even further. We have lots more to do and we are hiring :)

taphangum 1 day ago 0 replies      
Switching from CodeIgniter to Laravel saved me a ton of time, and ultimately made start to enjoy programming again.

I'm actually in the process of writing a book about the key differences between the two frameworks, enabling people to shorten the time it takes to get the hang of Laravel. It'll document the differences and similarities between the two frameworks so that you can use your CodeIgniter knowledge to learn Laravel.

I.e. the difference between routing methods in CodeIgniter vs. Laravel, and how migrations work in one vs the other.

Almost everything to do with migrations still has to be done manually, for the most part. I.e. having to create your own controller (https://stackoverflow.com/questions/9154065/how-do-i-run-cod...) in order to run a migration in CodeIgniter vs the more slick 'php artisan migrate' command in Laravel.

If you want to know more about it, you can add your email here: Book info (it's a google form) https://goo.gl/forms/gCAT33rl1h6JbQsw2

simontcousins 5 days ago 1 reply      
My team switched an entire application from C# (~350k loc) to F# (~30k loc). Smaller team, smaller code base, fewer bugs, complete implementation of requirements, clearer code. The whole of the F# code base was less than the number of blank lines in the C# code base and a lot more fun to read and write.


__coaxialcabal 5 days ago 0 replies      
Related post from 2013.

tl;dr: Dont build your app on top of a pile of crap in-house framework.


galimay 5 days ago 0 replies      
We included Lua in our videogame, and that help us to reduced drastically the prototyping time (screen design, FXs, transitions).Isn't exactly a switching because we still use C/C++. However porting the main logic to Lua allowed us to use the Live Coding feature (we were using ZeroBrane), so you can get rid compilation times, executions and manuals steps to reproduce whatever you are working on. We couldn't be happier with this decision. Totally worth it!
lucaspiller 5 days ago 1 reply      
I worked on a project a few years ago that was a mixture of Erlang and Ruby. Most of us were new to Erlang, coming from a Ruby background. We wanted to use Erlang to its strengths for high availability and to make the platform distributed, and Ruby (via BERT/Ernie) to its strengths for business logic.

Unfortunately Ernie didn't work as well as it advertised, had many edge cases, and in the end it was a big bottleneck (it would have been faster to ditch Erlang and use plain Ruby).

In the end we wrote everything in Erlang. It wasn't that hard in the end, and the reason why we went down the Ruby route in the first place was because the platform was over-engineered to be as generic as possible (which wasn't needed), so we didn't actually lose anything.

nickpsecurity 5 days ago 1 reply      
The SPARK people at AdaCore found a bug in the reference implementation of Skein just rewriting it in SPARK:


scardine 5 days ago 0 replies      
10 year ago the RIA (rich Internet applications) platforms were the trendy thing of the day. Microsoft had Silverlight, Adobe had Flex and so on. I made a bet on OpenLazslo, an open source contender. I made a wireframe and the snappy interface impressed a client that gave me a big project.

1 month working with OpenLazslo and PHP it became clear I would not be able to finish in time. I started searching for alternatives and was unable to finish the Rails tutorial - but after 30 minutes I had a basic CRUD app done using Django.

I ditched the RIA thing, rewrote everything in Python/Django, was able to finish that project in time and this stack is paying the rent since then.

It was really worth.

di4na 5 days ago 0 replies      
Anything long lived to elixir/erlang. Not for less bugs or better speed. But for the ability to bulkhead the errors and the debugging capabilities.

Dynamic tracing all the things has reduced the time to solve bugs by an order of magnitude for us.

bleonard 5 days ago 1 reply      
Switching to React Native allowed our team of 6 to become a team of 2 and still go twice as quickly. It's not just the cross-platform capabilities - React is also just really great.
dhd415 5 days ago 1 reply      
I was involved in the conversion of over 500k lines of Visual Basic 6 to C# motivated by Microsoft's EOL'ing of VB6. Most of it was a desktop application although part of it was a server component. We used an automated code conversion tool which did a surprisingly good job of handling the mindless parts. Some pieces such as the database interaction code had to be hand-ported. I was pretty surprised that we were able to pull the whole thing off while maintaining functional parity. In the end, there wasn't much of a change in performance, but C# proved to be a much more productive development platform than VB6 in terms of tooling, ability to refactor, use automated test tools, etc., so the team's velocity increased significantly over the next few years.
amirouche 5 days ago 0 replies      
> I'm curious about real world examples where a change has lead to a significant positive outcome in performance, code quality/maintainability, etc.

I wanted to build a database in a dynamic language. While others have succeed to do so by layering their DB on top RDBMS (like EdgeDB or Datomic) I went lower level and built a datomic like DB with GNU Guile Scheme using wiredtiger (now mongodb storage engine). The reason for that is that Guile doesn't have a Global Interpreter Lock (GIL). Using the same design in Python would simply not be possible. I did not benchmark, but I don't think it's possible for a single thread DB to be faster than multithread DB. In this chance changing language made the project possible.

dsfyu404ed 5 days ago 0 replies      
Literally every time I've switched from bash to anything else.

Usually the use prerequisite situation is "this script processes strings and is getting too big and unwieldy for bash"

amirouche 5 days ago 1 reply      
> I'm curious about real world examples where a change has lead to a significant positive outcome in performance, code quality/maintainability, etc.

Another example: same language, new framework: In a Python web app, we needed to have websockets. But at that time Django had no real websocket support. But there is future proof framework that does: aiohttp! Also one might argue that you can use old django with websocket using another process. But it leads to a more complicated architecture. We want to keep monolith the app as long as possible/sane.

wink 5 days ago 1 reply      
Yes, switching something heavy on cpu (mostly real mathy computations) from python 2 to Go - we could keep working eith current number of CPU cores/boxes and not having to like, double our expenses.
amirouche 5 days ago 1 reply      
I am not familiar with F#. I think it's a functional language, did you take advantage of immutability? What is the main difference between the F# implementation and the C# one (outside less bugs)
mamcx 5 days ago 0 replies      
Change languages is the only way so far, to step-out serious blind-spots in the previous language. Is a shame that langs are rarely fixed, only added more and more features without learning anything in the process. Devs are so change adverse that is not even funny.

I have done a lot of business/enterprise development (a very hostile space to innovation and working solo or with very small teams), and have done small-to-largeish (from my POV) rewrites in several languages.


- Fox 2.6 to Visual FoxPro. A breaking change in a lot of ways, a total win in the process. Not just because the app was native windows now.

- From Fox to Delphi. Now I discover the beauty of Pascal and improve the app and deployment scenario. Static types is a net win overall. My other love is python, probable code faster on it, but have FAR LESS trouble with strong type systems.

(However take a me some years in note how bad all languages are aside the DBase Family in talk with databases, but other wins distract me from that...)

- Visual Fox to .NET (1.0, 1.1 with both Visual Basic and C#) was a total net loss. A Massive increase in code size, yet the (desktop) apps were way slower than Visual FoxPro, even more than Delphi (but my boss not let me use Delphi).

The web was also terrible in performance and complexity. Sadly back in the day I was unaware of how do web properly and drink all the MS KoolAid on this.

This sink the project and almost the company. Only saved returning back to full FoxPro.

- To Python. I move several things to python, mainly .NET stuff. How boy, how big was the win. The net reduction in code size and the clarity of the code!

Also, (web) apps way faster. Take .NET some years in learn the way here, so...

- To RDBMS (Heck, even sqlite): Still big wins when someone else try to use a nosql/desktop datase (in my space, NOBODY is Facebook. With no exception, step-out of a RDBMS is one of the biggest mistakes)

- To F#: I return to .NET past year (because MS do a lot of the right moves to fix old mistakes!!!) and again a lot of reduction in code size, removing of problematic logic obscured by years of OO-only code. Still not happy about the way lower quality tooling, but enduring it even in Xamarin Mobile because I see the benefit.

I wish I could use swift for Android, so F#/.NET is my only sane option left...


Mainly, move from a lang to another that is not similar, help in see the problems with the old one. Learn new or better ways to solve stuff, and get access to different toolsets and mindsets. This payback when returning back to the old, too, when this ideas are migrated.

f3r3nc 5 days ago 0 replies      
As others have said earlier, if the new tools serve the problem domain better there will be significant gain.

My first game server was hand crafted with php/mysql. It did work and was able serve players, however moving to Erlang allowed two order of magnitude more players onto the same box, while the code maintainability increased as well.

cjCamel 5 days ago 0 replies      
Years ago I rewrote some liquid flow routing analysis in C# that was precisely one jillion times faster than the original code. This code was written in....a SQL stored procedure.

tl;dr Don't use SQL for recursive conditional logic.

Probably not a useful example huh?

tluyben2 5 days ago 0 replies      
Seems focus is on positive differences, but I have seen the reverse a lot; switching native to web because 'everyone is doing it', switching PHP to 'something that doesn't suck', migrating off c# because 'M$' and many others that really hurt (and killed) projects. I did see projects improve as well but that was almost always because it was code from an 'old' team where the framework and programming language was not optimal (to say it lightly) for the new team.
charlie-r 5 days ago 2 replies      
We're starting to develop greenfield APIs in Scala (with Play) rather than PHP (with Laravel) and we've noticed new developers without experience in either language have a surprisingly similar time-to-productivity. Here are some major factors:

PHP's dynamic typing combined with Laravel's magical approach makes discoverability hard. A developer can't trace through a request by starting from a controller method and navigating through a codepaths with the support of their IDE. Our application code uses typehints almost exclusively, which helps. But whenever the code you're debugging drops into the framework (or PHP), you'll need to break out your browser and spend time a great deal of time reading documentation to understand how to use the function. For example, certain functions in Laravel accept no arguments in the function signature, but the function body calls PHP methods to dynamically parse function arguments.

We spend a fair amount of time documenting all the framework and language-level magic constructs. If we've dropped the ball on documentation (which happens often) a new developer is at the mercy of coworkers to explain where the framework (or language) magic happens.

On the plus side, Laravel's batteries-included approach significantly speeds our time to MVP.

Scala's category theory approach to functional programming is not easy for new developers to understand at first glance. While most of our code (framework or otherwise) is now easily navigable with an IDE, developers now need to spend time understanding concepts such as for comprehensions, monads and ADTs. However, most functional concepts are understandable without the help of coworkers, which means a new dev can rely on Google to help understand a concept, rather than relying on a coworker.

Once knowledge of syntax has been attained, Scala's strong type system makes development far easier. We can communicate semantics through types and monads (such as Either, Future, Option and domain-specific ADTs), and incorrect code is immediately flagged by the IDE. A new developer making a change to a database schema may now change a database column name, recompile, and be presented with a list of every bit of code they've broken.

Using types to represent the semantics of our domain has been incredibly powerful, and makes potential bugs much easier to spot when reading the code. For example, rather than checking a user's subscription status inside a method, we can require a "SubscribedUser" type in our method signature. With this type in place, a new developer can no longer accidentally call that method with an "UnsubscribedUser".

Perhaps most importantly, the long term benefits of Scala's strong type system are incredibly valuable. We're a software agency, so our large projects experience development in phases. It may be 6-12 months before our team circles back to a large project for major development. In that time, we've forgotten all the quirks and gotchas of that particular framework and language, and Scala's strong static type system significantly decreases regressions during the new development effort.

In summary, new developers have a similar learning curve for each language/framework. And in the end, Scala's long term maintainability is more valuable than Laravel's speed to MVP.

carsongross 5 days ago 1 reply      
This is more than a little self serving, but when I switched us over to intercooler.js it made a huge difference in our app.

When I pulled the trigger on it I was terrified that I was screwing us over by not using Angular (which was the cool tech at the time) or some other more javascript-oriented solution. Thankfully it has worked out well, and my co-founders don't hate me any more than they already did before hand. (And maybe even a bit less.)

afarrell 5 days ago 0 replies      
This is a less dramatic change than swapping out the framework since we are still using rails, but a couple years ago my employer switched from using rails controllers to using https://github.com/gocardless/coach and it is noticeably easier to write good tests.
abeisgreat 5 days ago 4 replies      
The biggest change for me was when I switched to strictly typed languages. It doesn't matter if it's Go or Typescript or whatever. As long as it has types it dramatically improves maintainability and ease of scale.
sandGorgon 5 days ago 0 replies      
R to python/pandas - deployability
paulbjensen 5 days ago 0 replies      
When our Rails team delivered our projects and Christmas came in 2010, we peeked our heads out and discovered Node.js, CoffeeScript, and WebSockets. We created a real-time web framework from the combination of those technologies, and demoed it at the Hackernews London meetup of June 2011. It was known as SocketStream.
abritinthebay 5 days ago 0 replies      
Moving from Ruby to both Elixir and JavaScript (node) strongly improved developer productivity, performance, and time to release.

Ruby/Rails isnt bad as such, but its slow and promotes a very convoluted & interdependent monolith by default.

Very happy with the change.

jackmott 5 days ago 1 reply      
i wanted to compute perlin noise to make planet textures fast enough thay the user would not have to experience a loading screen when flying into a solar system. i could not make that happen in c# which the bulk of the game was in. c++ allowed me to compute it around 11 times quicker via SIMD intrinsics.
davidjnelson 5 days ago 0 replies      
Wow, that's awesome! Which FP constructs did you use?
lngnmn 5 days ago 0 replies      
Ask HN: Is it still doable to make money in the App Store?
12 points by cronjobma  2 days ago   4 comments top 2
WheelsAtLarge 1 day ago 0 replies      
The answer is yes but it's no longer a just post and hope it catches on fire situation. Like any online business you have to have a marketing plan along with it. There are just too many apps available and unless you have a way to let people know how good it is you are not going to get any sales.

Suggestion, if you are the programmer find a marketing partner and you'll do great.

I hate to use this as an example but look at the kim kardashian app. It make lots of money yet there's nothing really special other that the marketing power she brings along to the app. Do you think she programmed it or even that she had the initial idea? The reality is that some smart programing firm offered her some cash plus a big chunk of the apps revenue in exchange for the marketing. Brilliant!

hilti 1 day ago 1 reply      
Short answer yes.But as already mentioned doing online marketing / promotion is needed.

And I personally would suggest the iOS app store first, because people tend to spend more money there.

Finally think about splitting up your $5k goal across several apps which solve niche problems. They're easier - in my opionion - to market, maybe just make $500-$800 monthly but that adds up.

Best of luck for your journey.

Ask HN: What to do if my cofounder and I develop feelings for each other?
29 points by justswim  2 days ago   31 comments top 20
toomuchtodo 2 days ago 1 reply      
What's going to be more important on your deathbed: the success of your company or a love you shared with someone, for however long it lasts?

Edit: My wife is the cofounder of our life and family together, and I have yet to find a business opportunity that could ever compete with how she makes me feel.

Maintain perspective. Life is short. Maximize for happiness.

hluska 2 days ago 0 replies      
This exact situation happened to me. I founded a magazine with an amazing woman. In the beginning, we were just close friends, but as we went through ups and downs, our feelings for each other changed.

Like everything else, this kind of relationship has good and bad points.

The best thing was the degree of understanding. I've never been in a relationship with someone with such an incredibly innate understanding of my career. It was truly magical.

But, then there was the bad. Until you've been in this situation, you can't understand how deep the conflict of interest can get. Sometimes, co-founders need to have frank conversations about performance. When you're in a romantic relationship, frank feedback can create deep wounds. Then, in our case, once the magazine died, our relationship died too. The double whammy of a failed startup and failed relationship was unlike any other breakup I've ever experienced.

All that said, I'd do it again in a second. The relationship was so good while it lasted and Stacey is still one of my closest friends.

payne92 2 days ago 0 replies      
It's not uncommon for folks working very closely together to form emotional & romantic relationships. (Aside: raising kids is the ultimate startup, that's kind of why marriage exists).

First, make sure you have clear founder agreements, focusing on the case where one of the founders leaves (this usually implies vesting of some form). If you enter a relationship and then break up, the odds of one of you leaving at some point is increased.

Second, if you have investors, a board, and/or other key stockholders, you should consider disclosing a serious relationship (should it get to that point, for some definition of "serious").

Some will say, "it's none of their business!" but it kind of is. Most companies of any size have a policy on workplace relationships, and the minimum is usually that they must be disclosed. Even if you're too small for an HR department, the issues around potential conflicts are the same.

You never, ever, ever want to be in a situation where you date, break up, one departs, the company is compromised, and an irate investor later says, "you never told me!".

throwaway2016a 2 days ago 2 replies      
A lot of people in in the comments seems to assume you'll get married. Which, while I wish you luck, may not be the case.

With that said, while I can't speak from experience, if you are equal founders I say go for it. If one of you is in a position of authority over the other it becomes much more tricky.

The only down side I can see is if you two break up and it gets messy. In which case, having a good board of directors that can be neutral and think about what is best for the company is important.

Edit: a little bit from personal experience though. If your startup hits a rough place and you need to sacrifice things like pay, it can be helpful when your significant other has a stable job. And if you both work for the same startup that is not an option. Money is what breaks up most relationships and if there is one thing startups are good at, it is creating money problems.

justboxing 2 days ago 0 replies      
> I'm also worried that pursuing something romantic would not be good for the company.

Yes, it rarely ends well.

If you end up in a long term relationship or even get married, then the boundaries between work and home get blurred, and on top of that, if you have vested interests in the success of your work (which is your company) things could easily get out of control - clashing egos, 1 partner feeling the other is not doing enough at work, or at home, or both.

I've seen 2 of my close friends end up like that. Doesn't mean that's the norm, but things get ugly over a few years...

That doesn't mean you should not pursue the romantic relationship, just saying be cautious and don't over-commit too soon. Wait for the "honeymoon period" of the relationship (if you do end up moving forward) to pass and see how thinks look. In "normal" relationships, this period is usually anywhere from 6 months to a year or two...

muzani 2 days ago 0 replies      
I know a couple who married after founding a startup together. A VC said that they frown on it, because it meant that breakups would be very messy. But that's really the only negative. The upside is that you two would be the only ones who really understand the other's career. The current startup I work is is also run by a married couple, and the founders encouraged me to bring my wife into the company as well.

To be quite honest, I think it's difficult to avoid getting attracted to your co-founder. You'll be going a lot of places together. I've shared the same hotel & bedroom with my co-founder for months. And you tend to share all secrets together, very much like a married couple, if not more so.

ddon 2 days ago 2 replies      
Love is more important than your startup :) enjoy....
schappim 2 days ago 0 replies      
My co-founder became my wife. It was the best move ever both personally and for the company. Just do it!
Rjevski 2 days ago 1 reply      
Go for it, but make sure you have paperwork that states what happens if you break up.
Finnucane 2 days ago 0 replies      
There's no way to know how this will work out. Could be great, could be a disaster. If you give it pass, you might end up with regrets. It's a big gamble no matter which way you go. If you're certain that feelings are mutual, it would seem that there's one person whose opinion matters more than random strangers on the internet.
antaviana 2 days ago 0 replies      
Just make sure that you do not have a 50%-50% ownership arrangement (http://www.delawareonline.com/story/money/2017/07/17/transpe...)
the_arun 2 days ago 0 replies      
It is more of handling the situation than stopping relationship/company. Be yourselves and things will fall into place.
echan00 2 days ago 0 replies      
Make sure you have very strong founder agreements. This way there is a way to divide & settle if anything happens.
Jugurtha 2 days ago 0 replies      
I haven't gone through it but Sandy Lerner and Leonard Bosack cofounded Cisco while being romantically involved.
proyb2 2 days ago 0 replies      
Romance can happen to couples in the same school, workplace and community.
zhte415 1 day ago 0 replies      
Share what you typed in this Ask with her. What you have written is pretty open and reasonably stated.
NumberCruncher 1 day ago 0 replies      
Never fuck the company, even if it is your company.
kapauldo 1 day ago 0 replies      
This dear Abby stuff on hn is getting annoying.
singularity2001 1 day ago 0 replies      
Marry them
ThrustVectoring 2 days ago 0 replies      
Your pre-existing relationship as cofounders means that pursuing things will have costs on people outside the relationship itself. In particular, investors and employees. You should have a plan for how to communicate this development.

This may be a little old-fashioned, but I'd take a serious look at getting married before seriously dating. You already know each other well and trust each other, and it appropriately signals the seriousness with which you're approaching things.

Ask HN: Coping with Loneliness
138 points by muzuq  5 days ago   120 comments top 57
ultrablue 5 days ago 2 replies      
I've been dealing with just this issue. I, too, am an introvert and require time alone after socializing to 'recharge.' I had a fairly intense bout of depression recently, I realized that it was in part due to do loneliness. So I did some introspection and talked things over with a trusted advisor.

So some things to consider in no particular order:

Shame about being lonely drives people to feel more lonely. Don't let that trap engulf you.

Take steps to explore your psyche and see if the roots of your loneliness are based in issues like self-esteem. Don't take this lightly. It's easy to dismiss, but if those forces are present in your life, they'll be very difficult to see clearly.

Are you religious? Go to church (or sangha or whatever). Got an addiction? Go to a 12 step group meeting. Like board games? Find folks that like to play and hang out with them. Seek out opportunities to interact with people preferably in the flesh, but online can work too.

Get a therapist. Or a spiritual guide. Whatever, as long as they understand how the human psyche works, and that you're there to work. If that suits you.

Don't underestimate loneliness. There's a reason why our most feared punishment is isolating people. Because it's terrible.

Learn to relish solitude. Don't let an idea about solitude trick you into thinking that being alone is good.

Humans are social animals. Not being part of the herd represents an existential threat to us. This is a major cause of suffering in our species.

Humans are solitary animals. Being part of the herd can be a major stressor for us. This is a major cause of suffering in our species.

Best of luck.

zapperdapper 5 days ago 4 replies      
Go to Bangkok. Find a Starbucks. Order your drink of choice. Within 30 minutes you will be chatted up by a girl. Enjoy! p.s. This happened to me back in 2003. We were together for three years. Got addicted to the lifestyle in Thailand - eating out with friends every night, going out to the islands, beaches, diving, golf, malls etc. I worked remotely. My g/f had a lot of friends too. It was a lot of fun. Beats eating dinner alone in front of the TV - which was my life before going there. Seriously though, if you want to change your life go to Thailand.
aspyct 5 days ago 0 replies      
I find going back to nature every now and then is a nice band-aid on my solitude wound. I'm still alone, mind you, but natured is filled with amazing things you can look at, focus on.

Trekking has become a major part of my life in the recent years. It allowed me to discover myself in more details, how my mind works. I also briefly met people along the way, and slowly realised that their mind worked the same kind of way. They were travelling alone too, for most of them. Yet we were instantly friends. Didn't keep in touch, because that's life, but it's alright.

Try this: take a weekend for yourself, away from civilisation. Take a tent, go get lost in the woods (well, not actually lost), spend the night. Forget about your phone, your emails. Just tell one trustworthy person where you go, roughly, just in case.

Take that time look at the trees, the insects, the clouds, the Earth. Maybe you'll see a fox, maybe fireflies, maybe you'll only hear birds.

And if you're not willing to spend a night just yet, then wake up early, and be there at sunrise. Have a breakfast, have a lunch. Walk, or not, whatever works for you, but just take your time.

Then stop for a moment. Anchor yourself to the ground. Why not walk barefoot? Imagine your feet are rooted deep down into the earth, all the way down to the burning core. Feel the wind on your skin, hear the birds in the distance, see the trees shiver in the wind, enjoy the silence.

I'm afraid I haven't yet found a cure for loneliness myself. But this above, my friend, is what makes my life worth living!

Good luck, you'll see better days :)

ThrustVectoring 5 days ago 2 replies      
Don't cope with it - fix the problem. Emotions are designed to tell you important facts about the word. Pain tells you that there's ongoing physical harm that you ought to avoid, anger tells you that you're in an appropriate position to start or threaten to start a physical fight, grief tells you that you temporarily need to get the support of the tribe as you adjust to your loss, and so forth.

What loneliness tells you is that you haven't gotten the sort of stimuli you'd expect out of having a position in a social group. Experiencing it sucks because this is the sort of thing that is extraordinarily dangerous.

So, how do you get "I am part of a larger group that accepts me" signals? Go and do stuff. If you're not naturally inclined to stay on top of things, get organized about it. Texting/IMing your friends/acquaintances is a good choice. Volunteering somewhere could also help. Regular hobbies are great - I do social dancing. Swipe on a few Tinder profiles and see if you can strike up a conversation. It really doesn't matter what you do, so long as you use your planning faculties and organization to compensate for your lack of socialization drive.

hluska 5 days ago 2 replies      
If you're anywhere near Regina, Canada, my name is Greg and my email is in my profile. I'll take you out and introduce you to the finest people I know.

That aside, you've received some excellent advice in this thread. I won't reiterate any of it. Instead, I just want to say that you're very brave to come here and make a post like that.

I wish you the absolute best. Feel free to email me if I can be of any help.

mathgenius 5 days ago 2 replies      
Two more ideas from me:

1) Toastmasters. This is like alcoholics anonymous for people that are addicted to shyness. And very likely there will be some people there that are even more quiet and introverted than you are.

2) Social dancing. I'm guessing you are male, in which case you will be in high demand. Even if you are overweight & ugly as sin, if you can keep a beat then the girls are gonna want some. If you are as intelligent as you sound then this is also a big plus: the smart people end up being the best dancers. And it's not about talking or being interesting, it's about the mechanics of space and time (physics and music). I would recommend tango: this is where all the real nerds end up.

Getting over the fear is not going to happen on its own. Instead I would suggest finding something where you are more excited than afraid.

fern12 5 days ago 2 replies      
I'm an introvert. There's a saying, "You're never alone with a good book." For me, that's certainly the case. If you're not a bookworm, try audiobooks.

Also, I love dogs (probably more than most people). They're loyal, do not judge (unless you have a treat), and live in the moment - what more could one ask for?:) Animals can provide a lot of companionship.

monster_group 5 days ago 0 replies      
You are wise to seek out advise on this. Loneliness is a terrible thing that can have very serious consequences like depression. Lot of comments here are suggesting activities like dancing etc. There is no harm in doing these activities but you have to do them because they interest you and you enjoy doing them. If you try to do things just to meet people, you will surely meet people but they will not become your friends because you have different interests/ personalities and have less in common with them. Do things that you like (sports, music, video games etc.) and seek out people who do those things. You will make friends more easily. Also, do not disregard friends that you made in school/college. They can be lifelong friends. If you have lost contact with them, seek out contact again. If you are religious, go to your church/temple/mosque. Sense of community, belonging and socialization are some of the biggest benefits of religion. It is likely to alleviate loneliness.
navbaker 5 days ago 1 reply      
I am extremely introverted, but one of the social activities I've found that actually DOESN'T drain me is going to game nights at my local game stores. Most stores have something going on every night, ranging from standard issue board games to RPGs to miniatures tabletop games. It's amazingly easy to make friends when you're all engrossed in whatever setting you're gaming in!
pasbesoin 5 days ago 3 replies      
I've been struggling to begin rehabilitating and changing my home environment.

I went through hell with a series of offensively noisy and aggressively inconsiderate neighbors. So, I avoided home. And I didn't invite people over. And, as the months wore into years, my home took on aspects of neglect.

I was "trapped" at first by some circumstances I didn't deal with well. Then more thoroughly by the self-reinforcing nature of this decline.

Basically, if I'm not comfortable at home, I do not have people over. I lose a big part of my control over my interactions as well as my ability to reciprocate.

Further, since these circumstances stress me so, I don't feel well about myself -- including my inability to more effectively deal with the situation -- and this also causes me to engage less.

And as this is self-reinforcing, so is the attendant, resultant loneliness.

When I do get away from it, I enjoy interacting with people and seem to do reasonably well at it. Well, the "cool" people are still too self-absorbed to accept me. Fuck them -- a lesson too long in learning.

I'm not saying I have "the answer." But my intuition, of many years now, has not changed: I need to get the hell out of here and to somewhere I'm simply more happy and at peace with myself.

Otherwise, half my mind is always at least subconsciously worrying about the monster behind the door. Like neighbors with sub-woofers who would rattle my windows for hours on end.

nyrulez 5 days ago 1 reply      
Some options that I have tried and have helped:

- Try Meetup.com. Endless options there. Don't be afraid to be awkward. Read about social skills and practice them.

- Be a better friend and initiate contact with people you know - don't wait for them.

- Also make a list of all people/friends you know local or non-local. Refer to that list and keep in touch. This is harder than it looks but is important. I was surprised how many folks I had a good connection with but did a sucky job of keeping in touch with.

- Attend workshops, classes etc where you have the chance to meet others in a like minded setting. Especially overnight ones. There are always group events happening in urban environments. Seek them out.

- This is going to sound dumb - but try to interact with people via social networks. It teaches you a bit of initiative and also leads to in person quality time in some cases. But be careful that you don't get swallowed by it.

- Have something interesting at your home - like board games, gaming , good list of movies to watch. That way you can feel comfortable inviting people over to hang out at your place and have a good time. It feels nice to say "I have a really cool board game - why don't you guys come over and let's have some fun, along with some beer/drinks"

- Be interesting - if you are passionate about 1 or more interesting topics outside work, and talk about it with folks you meet, they will remember you. It could be AI, self-improvement, meditation/mindfulness, running, fitness, music and so on. But learn to talk about your passion intelligently. It leaves a mark.

scotty79 5 days ago 1 reply      
Talk about your loneliness with anonymous strangers in the chatrooms. Reiterate your pain points to them. Never reveal your identity, never meet them.

You are not looking to make a connection.

The goal is to get bored with what ails you. After telling about why you feel bad 20 times to 20 different people your brain gets bored with this narrative. Then it moves on to more interesting things and you stop feeling bad.

This strategy helped me get over post rejection loneliness in few short months.

Remember, loneliness is not being alone. It's feeling bad about it.

NHern031 5 days ago 0 replies      
I was too feeling lonely not long ago after losing my partner of many years. I had fallen into a pretty bad state and just felt more alone with ever passing day. After my grieving I knew something had to be done and I decided to choose between two things I've always wanted to do, boxing and salsa dancing. I eventually enrolled in a boxing academy and love it. My coach is a great man, my fellow sparing partners are almost like family now. I have made a connection with these people I never imagined I would have. I suggest you think of something you've always wanted to do and just DO IT.

Bonus: I also look and feel great now thanks to working out.

contingencies 5 days ago 1 reply      
I have moved a lot during my career (Oz/China/Thailand/Europe/US, 8+ cities, now 35) and frequently that meant arriving in a new country or city with zero friends, family or support network and making do, so consider myself well schooled in this problem.

The de-facto approach is drinking. Drinking is a great way to meet people but it is often skewed toward young to middle aged people without family so can get old/tired/irritating/self-destructive. The good thing is it's easily available all the time and there's a ton of venues, so if you don't like one just browse for another.

As others have said there is no substitute for social groups... there are many options here. One good one is dancing, there are quite a few cool social dance groups in many cities now, swing/salsa/tango/etc, and in general talent is firmly not required! The younger me would have said it's not my thing, but now that I'm in my mid 30s (and married with kid) I think it's an awesome scene and regret never getting in to it! Seriously, check this stuff out.

There are also a few good team water sports with big social elements .. things like sailing, rowing, outrigging, dragon boating. Sailing is good because you can do the social side but also get some self time, while being part of a wider community. If you want more team stuff, you can sail larger vessels where it's total commitment. The other options (paddling style) are pretty full on social and may be a bit much, depending on your personality.

Beamer92 5 days ago 1 reply      
Pick up a sport/hobby with a social aspect. Many cities (I'm assuming you live in a populated area) have City League sports you can simply sign up for, pay a fee, then get put on a team.

You can join a low level (or high level if you're competitive) dodgeball team, or soccer, or basically whatever strikes your fancy, then meet some new friends. It also gets you out of the house once a week or more with some new faces.

jansho 5 days ago 0 replies      
Love for solitude is a great gift, I think. I used to be stuck between introversion and extroversion; on one hand I did things better on my own, on the other I sought validation from others, all the time. Guilt only amplified this problem. It was pretty toxic, and took many years to sort out .. it's only recently that I can feel 'substantial' enough to enjoy my own company. (I feel that this is actually an illusion, but a much needed one to save my own sanity!)

But you're right; we're social animals and will never get away with complete solitude. It sounds that you do enjoy your own company, but need the occasional 'break' from yourself. You mentioned that you have a handful of friends? Focus on them, even though you may feel that it's tedious.

I know that "going out and meet new people" is cliche but it's so true that it's a great first step. Try meetup.com to find out events that you might be interested in. Don't just go for tech, try a new crazy thing, oh and hiking ;) Sunning your face and relaxing your eyes over vast expanses can do wonders to the soul, I find.

itbeho 5 days ago 0 replies      
I still struggle with loneliness from time to time. A sporting activity can help. In my case, I started sailing. I couldn't afford a boat of my own at the time (1994, I couldn't afford much of anything then to be honest), but the local yacht club is volunteer oriented and easy to join. I was able to sail club boats and that made it easy to interact with other people with a similar interest. The volunteer aspect meant I was frequently paired up with someone else helping out with club functions. Obviously it doesn't have to be sailing, but getting outdoors with an activity that involves teamwork can really help.
tixocloud 3 days ago 0 replies      
The one thing that really helped me with loneliness was when I started chanting and practicing Buddhism. It was in fact the sole reason why I started practicing in the first place. It's been a long journey and although I would still consider myself an introvert, it has broadened my social network significantly. I do spend time alone occasionally but I have a family and a network of friends.

I believe human relationships and social interaction are the key to happiness and the lack of it is a major source of suffering. However, at the same time, we also have our individual characteristics that define us. Balancing both our need to be an individual and our need to be social relates to being in harmony with life.

I try to help as many people as I can feel less lonely so I'm happy to have a chat if you'd like.

kevindeasis 5 days ago 1 reply      
Find a hobby that you want to do more frequently in a week.A hobby that allows you to have lots of people around you that you will see more frequently, but not necessarily forces you to talk to them.

This is the first few part of the friendship formula. Proximity and frequency.

tenken 5 days ago 0 replies      
a hobby, i usually do martial arts in a class environment. also for example consider getting a sociable pet such as a dog, bearded dragon, etc.

with a sociable pet you get company at home; and for instance with a dog there are usually local dog parks where fellow owners _eventually_ meet eachother and while not becoming friends always can be a social event with your peers.

hpcjoe 5 days ago 0 replies      
Also an introvert to some degree, and I've worked hard at overcoming this so I am indistinguishable from an extrovert. Working in front facing customer support, sales, marketing, management, fund raising ... yeah ... introvert is a bit harder for those things. So I had to adapt.

I've been working out at a gym for many years (semi-social, makes easy conversations possible with like minded people, though you have to worry about people with ear-buds whom don't want to be disturbed), karate (very social, good strong local friend group now ... go to dinner with them, go to events with them, all help each other).

I had in the past done various meetups (many years ago), to get conversations going.

I recommend getting a nice friendly dog; labrador breeds are great. I have a Chesapeake Bay retriever mix as as a rescue ... wonderful companion, and excellent conversation starter when I walk him. Very friendly, rarely barks ... he's a rescue, and had a terrible life before we adopted him.

The dog part is tremendously helpful BTW. When my wife and daughter are out, I can sit on my couch reading a book, and he'll hop up next to me for comfort. I'll talk to him, and happily, most of the time he doesn't answer ... though he knows enough words (treat, cheese, bone, walk, trot, outside, play), that I'm rarely really ever alone.

drakonka 4 days ago 0 replies      
I'm like you - an introvert who likes being alone, just not all the time. And sometimes I just feel like hanging out with some new friends. I think meeting people isn't the primary problem, though - I just don't put in the effort to stay in touch with the people I do meet because most of the time I don't crave outside company or conversation. So when I do feel like being social, the connection is just not there - that is on me.

I recently joined a hiking group on Meetup.com and it looks promising. Being out in nature with other people who enjoy being out in nature, being active, seems like a good way to meet new people in a more relaxed setting (that is, not a loud bar or work event). Then the onus will be on me to stay in touch with at least a couple of them, but even if I don't there will always be the next hike where we could catch up.

taternuts 4 days ago 0 replies      
I almost tried accept and live with my loneliness for years as I thought I would need practice later on in life. It actually wasn't _all_ that bad, but I'm probably not a normal person. What got me a bit out of my shell was going out on dates from tinder or other dating platforms, and really you should venture into it as "I'd love to go to {XYZ} and check it out, I just feel weird (tons of anxiety) going by myself. It'd be great to just meet someone else there and try to enjoy the place together, regardless of whether or not it'll go anywhere relationship-wise."

I find it still really hard to make male friends as a male. I've even gotten numbers from other guys who I've met at a bar and had a blast with all night, but it's still just a little bit weird to call the guy afterwards. In order to make male friends, I think it takes a shared interest in something and repetition. Maybe through a meetup or a weekly rec-league dodgeball game or something that you wouldn't hate dragging yourself to.

Making that first step _is_ tough though. Good thing is that it's usually the toughest.

mikestew 5 days ago 0 replies      
Find a hobby or pursue the ones youve got. No, not the React/node.js meetup, ya dork, something not tech related. Here are the places or hobbies I frequent where I could make new friends if I wanted to:1. Local animal shelter. They always need someone to walk dogs. Personally Im married, but were I single and looking for someone (in my case, female), oh man, it makes a great filter if you like animals. And the asshole ratio of folks Ive met at animals is pretty darned low. On a related note, many in these comments suggest a pet. Know that a pet, especially a dog, is a lot of time and responsibility, and not to be taken lightly. Where do you all those animals at the animal shelter come from? Not a child level of responsibility, but my dogs take up a substantial part of my day.

2. Bluegrass jam, or any casual music circle thing. The people you meet are also people you might spend a weekend camping with because you end up at music festivals together. Gotta learn an instrument, though. And one one will occasionally run into the gotta be better than everyone else and make sure they know it asshole, but rarely. Usually a pretty mellow bunch, and the good ones let their playing, not their mouth, speak for their skills.

3. Some kind of sport, like running or cycling, or even beach volleyball I guess. Caution: could be assholes aplenty if you get in the wrong group. I prefer runners, as theyre generally a more laid back group. Try trail running if you like it so laid back youll smell pot smoke before a race.

Those are the three things I regularly participate in where me might meet people (including a romantic partner), and generally nice people at that. Extrapolate to your own tastes and interests.

maxsavin 5 days ago 0 replies      
The big thing I've learned is that loneliness is simply your brain signaling you to go meet people - it's natural and there's nothing wrong with it. Meeting people is hard though - but there are plenty of ways to do it, especially now with internet. It does require a set of skills, though, just like everything else. I've found therapy can really help develop and tune them.
mlsarecmg 5 days ago 0 replies      
Having had a similar phase in my life, the thing that helped me was philosophy and esoteric psychology. Especially: http://gnosticteachings.org/courses/gnostic-meditation.html

People speak about thoughts, emotions and actions as if they knew what they are or how they are gestated. "I AM mad!", "Because I THOUGHT that ...", "I do FEEL alone", etc.

They think they are behind their thoughts, emotions and actions, that they ARE what they think, feel and do, and nothing could be further from the truth and it is the easiest thing in the world to evaluate it because they couldn't stop thinking for a minute even if their life depended on it.

And this is the gravest error we commit, to believe we are in conscious control and therefore solving problems seems abstract or even impossible to us. As they've said in older times "if you know not that you are asleep, you cannot wake."

See once for yourself the reality of how unconscious awareness leads to chains of thoughts running completely on their own without the involvement of will or participation, leading to mechanical emotions and mechanical action.

See this happening and something is evoked, the capacity to act against yourself or the inner urge that drives you to behave in a certain way, the unconscious machine that merely reacts to impressions outside and inside. It becomes possible to act free of constraints where otherwise you would merely re-act according to how you think or feel or are accustomed to.

Philosophy called it the paradox of free will. From there on problems actually can be solved because inner change is possible and feasible. If you understand that the outside is merely the reflection of your inner state, everything can change radically.

mixmastamyk 5 days ago 0 replies      
When I was younger and needed to get out more I took salsa dancing classes in large groups for a year or two. It's good exercise, great music, and gives you an excuse to go out and interact with real people outside the computer.

There's an interesting lesson in there as well about pair dancing, in that you can have wildly different experiences with each partner, similar to relationships.

8bitpimp 5 days ago 0 replies      
I spent around 5 years crippled by this very issue, to the point where I was so lonely I was terrified of any social contact, and close to not wanting to continue. It took just as long to 'recover' from this very real issue. You are in no way alone with this issue, and I think is really felt throughout the IT industry.

The way I am learning to overcome my loneliness and social anxiety issues, is be forcing myself to go out with people when I am invited, and to exercise (perhaps to the extreme) with cycling, climbing, swimming, running, etc.

Remember however that loneliness is not something that anyone else can solve other then yourself. You may need to change your situation, and surround yourself with people similar to yourself, and understanding kind people if possible.

As others have said loneliness is a problem of situation, and lack of contact with others. Your absolutely doing the right thing by reaching out and talking about it however!

malux85 5 days ago 1 reply      
Send me an email and I'll invite you to our "Solo Founders" slack channel, it's not super active, but if you're feeling lonely or just wanna chat, it's nice to have a few regulars to reach out to.

We all help each other, which can be handy to bounce tech problems off too

GoodDreams 4 days ago 0 replies      
I was part of a caring community for years. When Trump was nominated they decided that in order to support women men must be silent. It's been a lonely year. It's hard to make friends when you don't drink or care about sports.
lhuser123 5 days ago 1 reply      
Thanks for this question. I think many people will be curious about the comments here.

In my case, I have stopped thinking about it. Admittedly, some days it's not so easy, but the next day it's gone. What can I say. Some people like parties, others like strange things, and we like to be alone.

gaspoda 5 days ago 2 replies      
Forget about introversion vs extraversion. Its waste of time. Learn about attachement theory.
merrua 3 days ago 0 replies      
Whatever other options you take, also arrange to get a counselor / therapist. Consider it an investment in your mental health. Adjusting to meeting more people is stressful and they will support you through it. You will also improve your personality (no matter where you start with, knowing yourself helps).
kody 4 days ago 0 replies      
Use Meetup.com to find people with similar interests. Write down a list of things you enjoy doing with other people (hiking, board games, whiskey tastings), join 15-20 Meetup groups, and start attending meetups that appeal to you. This helped me find a group of hikers and discovered lesser-known hiking spots after moving to a new city.

I am an introvert, and meetups are a good way for me to control the circumstances and volume of socializing in my life.

Mz 5 days ago 0 replies      
The two easiest/best ways to establish strong social connections are 1) a shared interest and 2) being introduced by a mutual friend/acquaintance.

You could look for groups to participate in that involve some established interest of you, such as a book club. You could also put the word out that you are looking to widen your social circle and find some means to signal to existing acquaintances that you would appreciate it if they kept you in mind or pointed you in the right direction. Just letting people know you are open to introductions can help foster them. Introverts are often basically giving off "Go away!" signals without really being aware of it.

sjg007 5 days ago 0 replies      
I remember being very very lonely. It took a long time to accept the emotion as a transient feeling instead of a permanent state of being.

You have to put yourself out there and do the work. That means make friends or even friends of friends. Find a hobby? Join a coed team sport (softball?)... bowling league? meet ups? Take a cooking class... anything with other people and in some subject you would enjoy.

You can accept the emotion and recognize it for what it is as a passive observer. Take things one day at a time.

mindhash 5 days ago 1 reply      
My situation is a bit different. I work from home, it's gets really lonely at times. i focus on activities. I go out on bike, join biking groups on weekends once in a while, take long walks, go hiking with friends, play soccer on weekends, and ride a motorcycle. Through activities I have something to look forward and that's the basis of life. I do meet passing crowd through activities though only a few continue to be in touch.
guy_c 5 days ago 1 reply      
Can you give some more details of how you currently spend your time? Live in a city? How many hours do you work? How long is your commute? Do you work weekends? Live alone?
mettamage 5 days ago 0 replies      

I find it hard too.

What I do right now is:1. Suck it up. This kind of works quite well for me, since I've also done meditation retreats in which you'll be forced to learn to deal with it.2. If you don't have much time to go outside, then make it more of a point to call people.3. Find something to do. Changing your attention to something else in which you can get engrossed in is definitely a good thing :)

gcoda 5 days ago 0 replies      
I started to play games, with voice. Join clans, talk to strangers. After some time I was hanging out in raidcall room just to talk.
csallen 5 days ago 0 replies      
This is generic advice, I know but go out and attend a planned activity that requires strangers to interact with each other. It can be salsa dancing, it can be Toastmasters, it can be poker, or anything in between. Just find some sort of time-bounded activity where you interact with people by default and can attend on a set schedule. Good luck!
AndrewKemendo 5 days ago 0 replies      
I don't think there is a solution to this other than a significant lifestyle or personality change.

Some people are personable and extroverted and are surrounded by people that want to be around them. For the rest of us it doesn't come naturally. I would suggest just becoming comfortable with it.

napsterbr 5 days ago 0 replies      
Here's something that worked for me: all of a sudden I got this crazy interest in airsoft. Bought a gun and joined locals who get together every week to shoot at themselves. This is just an example, but the concept is great: find a hobby. You'll then find people with very similar interest, and hanging out with them is a lot easier.
RUG3Y 5 days ago 0 replies      
I joined a car club and met some acquaintances that way, hopefully some of them become friends. There's got to be something you like to do that other people like to do.
Fej 5 days ago 0 replies      

Just kidding. One thing I've learned to avoid depression: keep yourself occupied. While you're finding your solution it'll help you stop getting any worse.

tdb7893 5 days ago 0 replies      
For me the simplest is to find hobbies that I like. I do martial arts or board games. They are both pretty social and easy to start for new people
yulaow 5 days ago 0 replies      
You can try joining a no-profit local community. Also if you are in a tech city you can probably find a lot of tech-related meetups full of friendly people
SirLJ 5 days ago 0 replies      
You need a hobby outside the computer world, something you cannot automate, like fishing or sailing, to meet different people and share the passion
40something 1 day ago 0 replies      
Start a family.
darepublic 5 days ago 0 replies      
I remember taking adderall and working 16 hour days for a few weeks at a time. Every once in a while I would message my friends with the word "helllppp" but I was too high generally to care about my predicament. That is how I dealt with loneliness in the aftermath of about failed wedding engagement
nxsynonym 5 days ago 1 reply      
Loneliness is more widespread than you could imagine, and it effects every person differently.

The easiest way to develop friendships or make connections with people is to show up regularly to a scheduled event. Even if you are the shyest, most social awkward person in the world, if you keep showing up to a regular event you will help combat loneliness.

My first suggestion is physical activities. If you're not already doing something active start there. Doing something physical will wear you out and help keep your mind from focusing on being alone. It is also a great way to meet new people and have something to talk about. Join a gym, a running club, start going to a rock-climbing gym, join a hiking Meetup group, find someone at work or a neighbor that likes to bike and go for rides, join a sports club or team, play airsoft/paintball, go geocaching, etc. There is something physical for everyone of all body types and abilities. Lets say you like lifting weights. Start going to the gym 3 times a week. Maybe after a few weeks you see a free yoga class and are interested, take it. Say hi to someone. Later on that person may need a spotter, or have a question. Boom, you've made a (sort of) friend.

Once you have a physical activity built into your routine, find one or two non-work (and non-video game!) hobbies that you enjoy. Chess, tabletop games, fishing, walking around the city, going to museums, fixing cars/machines, restoring furniture, painting, drawing, old electronic restoration, going to bookstores, -- literally anything you could see yourself spending 1 or 2 hours of free time on per day or every few days. Start doing this regularly. Don't worry if it's alone. Being occupied with something you like will make your mind too busy too care. PLUS once you need to drum up small talk with a friend/co-worker/whoever you will have something to talk about.

Don't be afraid of "looking lonely". If you enjoy going to bars/coffee shops/dinner/whatever once in a while, go to one! If you can invite someone great, if not, go anyway. You'd be surprised how many people do things alone. If you have the gift of gab, chat them up. Maybe you won't have a new friend, but it will be some interaction. Sometimes all you need is to physically be present around people to help cure the loneliness.

Also, and this one was the biggest change that affected me, say yes to things! If you are lucky enough to get invited to do stuff (by family, coworkers, anyone), say yes. Even if you can only show up or do the activity for 30 mins, go. Saying yes has a snowball effect, the more you say yes the more you will be invited. If you absolutely need to say no, have no interest, etc, offer a counter-invite to a separate activity and then follow up. Also, invite people to do things. Even if it sounds boring/lame/mundane. Have errands after work? Invite someone. People are more willing to do boring stuff then you would think.

thebigspacefuck 5 days ago 1 reply      
You could take up smoking. Every day I drive to work it's like the smokers are having a social get together. If you're worried about getting addicted you could start vaping 0% nicotine. The vapers are in the smoking circle too.
maa5444 5 days ago 0 replies      
change your diet first... again... change it meet ppl in your free time and be prepared to fail when trying to mingle, but enjoy the little moment of happiness that soon or later will come.
pryelluw 5 days ago 0 replies      
Email me if you ever want to talk. pryelluw@gmail.com :-)
eternalban 5 days ago 0 replies      
Have you tried therapy?

You mentioned "fear" in context of reflecting on your situation but it is possible that it is some sort of "fear" that is keeping you from extending your social wings.

nicky0 5 days ago 0 replies      
Join a local running club. Worked for me.
XbrWtgXfkSTNCf 4 days ago 0 replies      
When I moved to a new city where I knew literally no one I spent a lot of time thinking about, and working on this problem. I generally have a pretty small circle of people I consider friends and for me friendship with a new person doesnt just happen I have to interact with someone repeatedly (I dont think its a revolutionary observation to point this out but it is worth noting that repeated interaction is key). At the same time though, Im introverted and sometimes I just do not want to interact. So I thought about the types of interactions that I feel more comfortable in so even on days that I dont want to interact I can still usually handle them.

For me that means meeting people via activities. Ive additionally found Im happier when Im a bit active so a lot of the specific examples lean that way but the general principle is the same.

Structured activities where the whole group is 20 people or less I can almost always handle especially if the activity itself is solo and the group socialization part can be dropped into and out of easily. My favorite activities like this are target shooting or archery: cant handle people for a bit? Go shoot targets no one will disturb you. Feel like interacting? take a break and go to the water cooler ask for a tip on your form, compliment someones grouping etc and a conversation naturally starts up. But as soon as you are getting overstimulated its easy to go I should really go practice see you in a few rounds and drop out of the conversation.

Classes where we have to partner up so Im interacting with a person or several people within the class, but one on one, with a known end time, work really really well for me. On days I can handle more interaction the door to chat a little during class and usually there is some conversation that happens just after. On days I dont feel up to socializing there isnt an obligation though. And because the interaction is structured around a skill I dont ever have to stress out about carrying a conversation. For me boxing worked well, as did dance classes (which after I had done for a while so I felt comfortable and less like I was going to step on my partners feet led to social dancing). Language learning classes and meet ups were tougher but still worked well.

The final thing I did took some work but Its really paid off in terms of expanding the people I know: I actively tried to turn myself into a social information hub. I have become a person who knows what is going on in my city in any given week. What are the beer festivals? What community events? What operas or plays in town? What fun runs are happening? What concerts are coming up? I dont go to 95% of the things I know about but it means I can immediately make myself valuable to a new acquaintance by going Hey you expressed an interest XYZ did you know $eventRelatedToActivity is happening? Seems like something you might be interested in which firstly shows them I listened to them which everyone likes and makes them like you more and secondly tells them Im a good person to maintain contact with because I can point them to things they enjoy.

Why is Google weather so inaccurate?
4 points by kirk211  1 day ago   1 comment top
codegladiator 1 day ago 0 replies      
Their "not providing a good API of something" doesn't mean they are/aren't investing in something.
       cached 24 July 2017 20:05:01 GMT